第1章 绪论
1.1 研究背景介绍
随着智能移动终端的发展,App 软件的开发受到广泛关注。作为 App 产品的电子销售平台,App 商店集中了海量来源广泛的产品数据,截至 2017 年,Google Play 和 Apple Store 中均有超过百万的 App 产品,更是有数以亿计的用户评论,形成了一个规模巨大且快速增长的数据库。通过对 App 商店中数据的采集分析和知识抽取利用,能够支持软件开发过程中的特征分析、安全分析、版本更新等重要工作,有效提高软件开发的质量和效率[1,2]。
评论(review)作为 App 商店中的一类重要数据,是开发者了解用户感受及需求的主要途径,通过对评论的智能化分析,能够帮助开发者提升产品用户体验、增强产品竞争力。然而,由于评论存在数量巨大、冗余数据繁多且信息种类多样等特点,使得高效获取评论中的有效信息具有一定困难。为此,大量工作围绕评论分析方法的研究展开。一方面,研究者依据评论的内容及价值,定义了不同的评论分类方式并给出了相应的分类方法,如经典的二分类、四分类等,以去除评论中的冗余数据并对其中的信息进行划分[3,4]。另一方面,为快速理解评论内容,研究者利用自然语言处理、文本挖掘等技术抽取并总结分析评论中的各类信息,如产品特征、用户需求等,以支持在软件开发和升级过程中更好的迎合用户要求[5][6]。这些研究为合理使用评论数据提供了有效的方法支撑。然而,他们多从评论自身的属性和特点出发,并未考虑 App 产品信息在评论分析过程中的价值,开发者无法基于不同领域产品特点来分析评论信息。此外,由于缺少与开发者的交互,难以依据开发者要求进行针对性的信息推荐。
为解决上述问题,我们首次把 App 描述这一类数据引入到评论分析中。App 描述是由开发者给出面向用户的产品介绍,包含了产品的客观特征信息,评论中的主观用户感受往往针对这些特征给出[7,8]。通过构建二者间的联系,可以从产品的角度对评论进行分析,满足软件智能化开发的信息需求。因此,本文给出一种App 描述引导的评论分析及推荐方法。具体来说,首先,我们将 App 描述文本作为一类特殊软件开发文档,利用主题分析方法挖掘其中高层次的产品特征信息,构建模型对结果进行形式化表示;其次,基于模型信息对评论数据进行分类,利用情感挖掘方法将评论抽象为一组量化的属性值,以此建立产品特征与用户感受间的关联;最后,引入开发者偏好,定义评论的量化分析方法,对同一产品特征相关的评论进行排序总结,向开发者推荐其所需信息。
..........................
1.2 研究现状
App 作为一类以用户为中心、强调用户体验的软件系统,评论数据一直备受其开发者的关注。为了帮助开发者快速合理的使用规模巨大的评论数据,研究工作主要围绕评论分类和信息挖掘量两方面展开。
评论分类主要是依据其中内容和信息种类,对评论进行分类进而分析以迎合开发者不同的信息需求。依据对评论所分类别的不同,相关研究可以分类二分类和多分类问题。其中二分类基于评论是否具有价值对评论进行划分,如S.Panichella 等人结合自然语言处理、文本分析以及情感分析技术对评论进行筛选以获取其中有用数据[3];Ning Chen 等人设计 AR-Miner 来区分有用/无用评论[9]。多分问题则更强调基于评论中信息具体类型的评论分类:2013 年,Dennis Pagano 和 Walid Maalej 基于苹果商店的一百万条评论,总结评论数据与其对产品影响的一般关系,将评论分为 rating,user experience,requirement,community 四类[10];2014 年,Hammad Khalid 等人将用户抱怨总结为 12 类,帮助开发者深入了解用户关注的问题及其发生频率和影响,从而实现开发者有限质量管理资源的合理利用[11];2015 年,Emitza Guzman 等人从产品进化角度出发,将评论分为相关的 8 种类型[12];2016 年,为了支持开发者确定版本更新内容,Lorenzo Villarroel 等人给出 CLAP(Crowd Listener for releAse Planning)方法,利用随机森林方式将评论分为“新特征的建议”、“bug report”以及“其他”三类,进而基于密度发现簇实现每类中相关评论的聚类和优先级的自动化定义[13]。可以看出,无论将评论分为几类,上述研究都是从评论自身内容出发定义固定的待分类类别,而并未考虑评论相应领域产品信息,没有建立评论与产品特征间的联系,不能帮助开发者从产品特征角度对评论进行分析。而本文方法则从App 描述中获取领域的一般产品特征,以此为基础对评论进行分类,因此能够依据 App 领域的不同灵活的调整评论种类。
..........................
第2章 相关技术介绍
2.1 LDA算法
隐狄利克雷分布 LDA(Latent Dirichlet Allocation)[21]算法是一种文档主题生成算法,该算法在 2003 年是由 blei 提出,并且被广泛应用在主题抽取、文档特征抽取等方面。该算法将一篇文章的生成过程抽象成了两个阶段。首先是从一些主题中选择出要写的主题,然后再从这些主题中抽出要写的单词,从而组成一篇文章。其具体算法可以用如下步骤表示:
........................
2.2 文本分类技术
文本分类技术是一种通过学习已标注文本数据中的信息,来达到自动文本分类的技术。文本分类技术大体分为三个阶段:第一阶段,选择合理的待标注数据;第二阶段,选择合适的特征表示;第三阶段,选择合适的分类器进行分类。
第一阶段,该阶段主要是通过一些合理的方式,选择出一些区分度比较高的数据,从而在尽可能小的标注代价下刻画实际数据集合的数据分布。这个阶段在没有标准数据集合的情况下,是非常重要的,决定了模型所能达到的上限。同时这个阶段待标注数据的数据量与需要进行区分的标签的实际含义的复杂度也有很大的关系。在实际工程中可以采用使用弱规则或者容易混淆的关键词来进行触发待标注数据的方式进行解决。
第二阶段,该阶段主要是通过将文本数据空间映射到合理的数据空间以达到最优的分类效果。通过合理的空间映射,使得模型更容易抓住主要特征,从而达到最优的学习效果。这一阶段决定了在使用同一学习能力下的模型的下限。在这个阶段,对于文本数据而言主要处理方式有词袋模型(bag of words)、tf-idf。
第三阶段,该阶段要对于不同的文本数据分布,选择合理的模型,从而达到最优的分类结果。该阶段可以通过选择不同的模型,以及调节模型的参数,提高分类效果,逼近分类的上限。对于文本数据而言主要的分类算法有:朴素贝叶斯分类法(Naive Bayes Classifier)[22]、支持向量机分类法(Support Vector Machine Classifier)[23]。
..............................
3.1 方法框架概述 ..................................... 12
3.2 App 描述挖掘 ..................................... 14
第 4 章 基于 TBDM 的量化分析 .............................. 25
4.1 评论的价值量化及推荐 ............................. 25
4.2 基于领域主题的评论总结 ........................... 27
第 5 章 实验与结果分析 ................................... 30
5.1 实验设计 ......................................... 30
5.2 TBDM 模型的评估 .................................. 32
第 5 章 实验与结果分析
5.1 实验设计
整个实验过程分为三部分来分别回答 Q1、Q2 以及 Q3,每部分实验设计如下。
(1)基于主题的领域模型 TBDM 是对 App 描述文本挖掘结果的形式化表示,是本文方法后续过程的基础。然而,即使专业 App 开发者或者领域专家也无法准确地给出某领域软件的主要特征,我们难以直接对 TBDM 的合理性进行量化评估。因此,我们以问题调查的方式来对 Q1 进行研究。由于“social”类 App 被广泛应用的特性,普通人对其也有一定的了解,使得调查对象无需局限于专业人事,从而扩大了调查对象范围。考虑到此类 App 在年轻人群中应用更为频繁,同时调查对象最好具有一定的软件工程知识背景,故我们选取计算机和软件专业在校生作为调查对象。依据第三章所介绍建模过程,我们挖掘 Dataset 中 App 描述数据信息来自动化地构建 TBDM,并针对该模型设计调查问题。调查问题主要分为两类:① Q1.1TBDM 中各领域主题是否是可理解性?②Q1.2 TBDM 中每个领域主题是否覆盖了“social”领域中 App 的一类基本产品特征?我们针对每个问题给出具体解释并要求参与者进行从-5 到 5 的打分,其中-5 表示完全否定,5 表示完全肯定。
.......................
第 6 章 总结与展望
如何智能化的使用规模巨大的评论数据对开发者提出了新的挑战。本文将App 描述引入评论分析过程,给出一种产品描述引导的评论分析及推荐方法。该方法首先利用主题分析技术挖掘 App 描述数据中的产品特征信息并将其表示为TBDM 模型;以模型中各领域主题 DomainTopic 信息为基础,训练相应的评论分类器,并通过挖掘评论中的用户确信度、主观度以及情绪将评论表示为一组量化的属性值,构建产品特征与用户感受间关联;最后,以配置文件的方式引入开发者偏好,控制模型量化分析中评论价值计算以及评论总结过程,智能化的向开发者推荐模型中信息。实验结果表明,方法构建的 TBDM 有着良好的可理解性并能够表示相应领域的一般产品特征;同时,试验所得分类器能够有效的完成评论分类任务(F-measure 平均达到 85.90%);此外,调查统计结果证明了评论的排序及总结的合理性,能够向开发者推荐其所需的信息,以支持 App 产品开发和版本升级过程。
未来工作主要关注于以下方面:首先,在更大规模数据集上应用并改进本文方法;其次,提升评论分类器的性能并研究其他的评论与模型的关联方法;最后,进一步研究开发者偏好的内容及表示方法,提高信息推荐的针对性和准确度。
参考文献(略)