刘兴旺
摘 要 随着智能手机的迅速发展,移动应用市场的规模也越来越大,市场上涌现出数百万移动应用。对于用户来说,面对海量的应用软件,会纠结于如何选择自己想要的应用。虽然Google Play市场上提供了移动应用的分类,可是对于同样的功能,每个类别下仍旧包含大量的应用,Google Play中虽然对每个应用提供评分和下载量供用户参考,但是仅通过这些信息不足以帮用户找到自己满意的应用。因此设计一个相似应用比较工具是有意义的。本文先对现有的用户评论和情感分析的相关研究做了总结,并在此基础上,设计与实现了一个相似应用比较的用户评论挖掘工具。通过挖掘用户评论,提取了相似应用的对比信息,从而能够为用户提供更快捷的途径来找到自己想要的应用。工具的实现包括爬取应用评论信息、应用名称的简称提取、用户评论的方向分析、用户评论的情感分析等几个部分。最终本文通过一些实例测試,验证了抽取包含应用比较信息的评论的有效性。
【关键词】用户评论 移动应用 情感分析
1 研究背景
随着信息技术的迅速发展,智能手机很快占据了手机市场。智能手机的功能变得越来越全面,不同功能的移动应用也越来越多。甚至在近几年,功能相似的移动应用在应用市场上都不计其数。当然,功能相同相似的每个应用也有着各自的特点,有些在用户界面上给用户更好的体验,有些更省电给用户带来更多的方便,有些在功能上更强大。而不同的用户可能也有着不同的需求,因此用户想要某种功能的应用的时候,总会面临不知如何选择的烦恼。
应用下的用户评论是很有研究价值的数据。因此,可以考虑从用户评论下手,很多手机应用市场如Google Play的应用下都有用户的评论,用户会把自己的体验和感受写下来,如果能够挖掘出所有这样的信息,并将他们中包含的相似应用之间的关系提取出来处理并分析,那么可以很好的解决用户不知如何选择应用的问题。
2 工具的设计
2.1 应用简称提取
可以发现许多应用被大家认为的名字,可能只是他在应用市场上官方全名的一部分,很多名字可能包含free, pro等后缀,例如Calculator Plus Free,而这往往会被用户在评论时所忽略,可能用户在提到这个应用时就会Calculator Plus来表示。因此,可以认为一个应用全名的任何一个子串,都是有可能被作为用户提到的名字出现的。那么可以考虑枚举每个名字的任何一个字串,例如上述应用Calculator Plus Free,那么我们认为Calculator、Plus、Free、Calculator Plus、Plus Free、Calculator Plus Free这六种形式都是有可能作为该应用的别称。接下来,需要进一步的筛选。因为很明显,如果将Free、plus这种词作为一个应用的简称去在评论库中匹配,会发现无数的无用评论,因为这些词太过于常见。
本文用的方法是,如果发现一个有可能的别称有在不同的应用中出现太多,那么把它排除。因为数据库中有Google play应用市场的115万个应用,因此像free、plus这种词语,就能很轻松地排除了。那么剩下的虽然不那么热门,但是还是有些明显不会成为该应用的简称,例如plus free。因此还需要进一步进行筛选。可以认为,在自己应用下的评论,会有更多的提到自己应用名字的可能,因此可以在该应用自己的评论中去探索。下一步筛选的方法是,在该应用下的评论中去匹配,检查初步筛选剩下的这些词组,如果匹配到的词数超过一定值,那么认为这个词组是有可能成为该应用的别称或简称的。
2.2 用户评论方向分类
在完成对应用名字简称的提取后,接下来还需对用户评论进行方向分析,即判断每条评论是在描述应用的哪个方向。将评论方向分成十个大类,那么这一节将描述如何将评论划入这些类别中。
先对每个方面找了一些非常具有代表性的词。例如有bug、fix的词语的评论肯定是bug report。从这些精确度极高的词出发,在用这些词语找到的评论中,再从这些评论中找那些十分近似的词语,例如在许多错误报告评论中出现会出现tap这个词,因为这个词出现的地方往往是在描述屏幕没反应后,怎么点击屏幕都没反应。还有类似slow、wait的看似常见的词,实际上出现在评论里一般是用来描述应用的运行性能的词。这些词虽然精确度可能没有百分之百,但是也是很高的,并且加上这些词,覆盖的可以判断出方向的评论就大大提高了。
总结出代表性的词语后,已经可以分析出很大一部分的评论的方向。不过应该注意的是,每个词都有不同的形式,不同的语境下会有不同的变化,如过去式,第三人称等等变化。如果直接用完整的词去匹配,必然有很多词的变形的情况会导致漏掉。来自犹他州立大学的Phong等人发表的一篇文章里,总结了不同的类型的词的变形规则,他用一个很详细的表描述了这些规则,以处理词的不同形态。这里可以借用他们的规则。
有了这样的一个规则表后,接下来只需将前面处理出来的词语,全部对应这个规则来获得他们在不同情感下的形式。这样将扩展出来的词也对应原来的词的方向。然后将他们一起去在用户评论中匹配。
2.3 评论倾向分析
通过前两节的工作,已经可以找出大量带有比较信息的评论,并且已经可以获得每条评论的描述方向。接下来则需要对找到的带比较信息的评论进行情感分析,分析出评论作者的观点,对于比较的两个应用,作者认为哪个应用在描述的方面有更好的效果。
关于情感分析这一部分工作从第二章中可以看到在学术研究方面已经很成熟,本文主要用的SentiWordNet是一个开源的情感分析工具,SentiWordNet给每个同义词集分配三个情感分数:正面性、负面性以及客观性,然后围绕这三个分数,完成了对评论的情感分析。
3 实验结果分析
3.1 比较性评论抽取结果分析
首先,先看看比较性评论抽取的精确性。用应用数量比较多的图片类工具做抽取样本举例检查。在接口处输入Google Photos,返回的评论数量有390条。并且可以发现几乎所有的匹配出来的评论全都是明确直接与Google Photo相比较的。极少数的来自一些系统工具的应用中的评论是非比较评论,他们评论使用Google Photos时会出现什么样的状况,而这样的显然不是将应用和Google Photos比较的评论。
本文一共找了6个图片类型的应用来分析,并分析了他们的精确度,结果如图7所示。可以看到,对于VSCO和Google Photos这种名字简介并且比较热门的应用,比较评论的精确度十分高;而对于Snapseed和Retrica这样的应用,名字不具有完全的代表性,返回的评论数量更多,但是精确度却降低了;Afterlight属于不那么热门的应用,虽然相关的评论不太多,但是却有着较高的精确度;QuickPic Gallery應该是三星自带的图片应用,这样的应用容易与三星其他自带应用相联系,因此精确度不那么高。从返回的评论数量来看,召回率也同样是非常不错的。(之前没有这样的工作,无法在庞大数量的评论中验证召回率)当然,对于名字特别普遍的应用(如Moments,Battery),则会对返回评论的精确度大大折扣。同样,对于冷门的应用也几乎找不到比较性的评论。然而,我们认为只有热门的应用之间的比较才是真正有价值的,因为冷门的应用相对而言比较小众,用户极少将它们去和其他应用比较。
3.2 抽取评论的方向及其情感分析结果
为了对比更清晰,依然对比较热门的图片应用进行分析,我们分析图片应用Afterlight,这是另一个比较流行的图片应用。在接口输入后,从返回的结果看,方向分析的结果准确性是比较高的;但是结合上情感分析的结果后,准确性有些下滑。
整体看来,我们抽取了一百条评论做观察,发现方向性分析的准确率在应该在百分之七十到八十之间(有些评论方向性太模糊,或者太长太复杂)。而结合上情感分析后,完整结果的准确率大概在百分之六十到七十之间。
4 总结与后续工作
从实验结果来看,整体精确度在百分之六十到七十之间。这样的精确度不算很高,不过鉴于本文所研究的课题是学术界比较新的方面,这样的精确度至少证明了从评论中挖掘相似应用关系是一个可行的研究方向。并且形如“找一类应用中的某项功能最好的应用”这样的需求是十分常见的,因此这样的研究也有着很高的实际价值。
整个实验中,比较需要改善的地方是评论方向和情感分析的结合。情感分析部分应用的是现有的工具,寻找评论方向的方法是通过匹配代表词的方法,这时候当评论较长的时候,情感分析就容易找不到分析的目标:是对整个评论进行分析,还是针对代表词所在句子分析,抑或是对代表词前后的句子一起进行分析。这一部分的工作,本文做的实验和分析还不够完备,也是精确度不够高的主要原因。如果这一部分的研究能更加深入,必定能提高一定的精确度。
总而言之,本文提出的研究课题是一个比较新的方向,它以用户评论为基础细粒度地挖掘相似应用之间的信息。我们通过应用简称提取,评论方向分析,评论情感分析三个步骤完成了整个工作,并通过实验结果证明了用本文提出的工具确实可以挖掘到很多应用比较的信息。
参考文献
[1]Phong,Tam “Mining User Opining in Mobile App Reviews:A Keyword-based Approach” In proceeding of NASA ADS
[2]M.Hu and B.Liu.“Mining and summarizing customer reviews.” In Proceedings of the tenth ACM SIGKDD international conference on knowledge discovery and data mining, pages 168-177,2004
[3]B.Fu, J.Lin,L.Li,C.Faloutsos, J.Hong,and N.Sadeh. “Why people hate your app:Making sense of user feedback in a mobile app store” In proceedings of the 19th ACM SIGKDD international conference on knowledge discovery and data mining, pages 1276-1284,2013
[4]D.M.Blei,A.Y.Ng,and M.I.Jordan. “Laentdirichlet allocation” the Journal of machine Learning research, 3:993-1022
[5]L.V.GalvisCarreno and K.Winbladh. Analysis of user comments:an approach for software requirements evolution.In proceedings of the 2013 International Conference on Software Engineering,pages 582-591,2013
[6]XiaodongGu,“What parts of your apps are loved by user”In proceeding of Automated Software Engineering, IEEE/ACM International Conference. Pages 760-770.
[7]N.Chen,J.Lin,S.C.Hoi,X.Xiao,and B. Zhang.“Ar-miner:mining informative reviews for developers from mobile app marketplace”.In Proceedings of the 36th International Conference on software Engineerings,pages 767-778, 2014.
作者单位
湖南生物机电职业技术学院 湖南省长沙市 410127