论文部分内容阅读
近年来,各大主流移动应用程序商店(如苹果应用商店)取得了巨大的成功,全球各地的用户每天都会下载和使用数百万个移动应用。在这样的平台中发布的移动应用拥有来自世界各地的数百万潜在客户。但对于移动应用开发者而言,将应用程序发布到应用程序商店只是应用程序生命周期的开始。实际上,开发人员面临着不断提高应用程序质量的压力,为了与同类移动应用竞争,开发人员需要不断改进他们的应用程序。一方面可以通过软件测试来发现故障并及时修复。但软件测试不仅需要投入大量人力,而且很难实现数百万用户在不同环境和异构移动设备上直接使用应用程序。另一方面开发者也可以通过执行调查来获取移动应用用户的反馈,获得关于如何优化应用程序以满足用户需求的意见或建议。除上述两种方式外,移动应用商店中存在丰富的用户反馈信息:用户评论。然而人工阅读每条用户评论,并验证其是否包含有用的信息(例如对新功能的建议)对每天收到大量评论的移动应用来说会消耗相当的人力资源。从软件工程的角度,需求的获取和分析对软件成败有至关重要的作用。需求一般分为功能需求和非功能需求。其中,非功能需求对于软件项目成败和用户对软件质量是否满意起到决定性作用,对非功能需求处理不当也会导致软件开发的人力、时间和成本增加。针对以上问题,本文从非功能需求角度出发对移动应用用户评论进行自动分类,将用户评论分为六类,分别是可靠性、可用性、可移植性、性能效率、功能需求和其他。本文提出了一种利用上下文文本语义增强用户评论的方法AUR-BoW(Augmented User Reviews),以提升用户评论中非功能需求分类的性能。首先使用Word2Vec计算单词间的相似度,然后计算单词与用户评论的相似度,最后选择与用户评论相似度高的单词扩充用户评论。为了评价所提出方法的有效性,本文选择了苹果应用商店中的iBooks和谷歌应用商店中的WhatsApp的用户评论作为实验数据集,对比了四种分类技术BoW、TF-IDF、chi2、AUR-BoW(即本文提出的方法)与三种机器学习算法Naive Bayes、J48、Bagging组成的十二种组合方法的分类性能。实验过程中,首先对用户评论进行预处理,然后使用分类技术将用户评论特征化,随后使用机器学习算法构建分类模型,最后将用户评论分为六类中的一类。实验结果显示AUR-BoW是四种分类技术中分类性能最好的,其与Bagging算法组合时,分类结果的F-measure值最高(0.718)。实验结果表明利用上下文语义信息增强用户评论有助于提升用户评论中非功能需求的自动分类性能。