欢迎访问一起赢论文辅导网
本站动态
联系我们
 
 
 
 
 
 
 
 
 
 
 
QQ:3949358033

工作时间:9:00-24:00
SCI期刊论文
当前位置:首页 > SCI期刊论文
一种基于用户评论自动分析的APP维护和演化方法_肖建茂
来源:一起赢论文网     日期:2022-02-20     浏览数:784     【 字体:

 第43 第11 2020 年1 1月计 算机 学 报CHINESEJOURNALOFCOMPUTERSVoi.43No.1 1Nov.2020一种基于用户评论自动分析的APP维护和演化方法肖建茂 陈世展 冯志勇 刘朋立 薛 霄( 天津市认知计算与应用重点实验室 天津 300350)( 天津大学智能与计算学部 天津 300350)摘 要 应用程序分发平台(如GooglePlayStore或AppleAppStore) 允许用户以评分或者评论等形式向下载的应用程序提交反馈. 这些反馈信息可以直接或者间接地反映用户意图, 及时准确地挖掘用户意图可以极大地帮助移动开发人员持续维护和改善他们的aPP, 从而更好地满足用户期望. 然而, 对于很多流行的应用来说, 由于其用户评论数据量大、 非结构化以及评论质量不一致等, 使得识别其中有价值的信息成为一项极具挑战的任务. 因此, 将用户评论进行自动化分析以减缓人工分析工作量成为app评论挖掘的新思路. 本文我们提出了一种自动化用户评论分析方法ARICA(AutomaticRevi ewIntenti onClassificationAnalysis ). 首先, ARICA根据用户的评论反馈, 自动将评论信息进行意图分类, 并使用LDA主题模型对每个分类意图下评论进行主题划分; 其次, 在每个主题下对表达语义相似的评论进行聚类, 进一步, ARICA使用情感分析工具SentiStrength 获取用户情感, 然后对用户评论的情感分布进行分析来识别用户的重要意图; 最后, 综合考虑用户意图和用户情感偏好等多维度信息计算用户评论得分并以此划分评论优先级, 从而为开发者进行用户评论意见推荐.我们使用GooglePlay 中真实的app 评论数据来验证ARICA的评论意图分类和句子聚类的性能. 实验结果表明, ARICA在用户评论意图分类过程中准确度达到80%, 和现有的基于卷积神经网络的方法TextCNN的相比, ARICA的F-Measure提髙了19.1%? 同时, 评论句子聚类过程中获得86%的准确率. 另外, 为了验证ARICA推荐用户评论的有效性, 我们使用官方的aPP 更新日志来实证分析ARICA推荐的用户评论建议是否可以真实地被开发者釆用. 结果表明, ARICA可以高效为开发者推荐具有价值信息的评论, 这对于开发者进行后续的app 维护和演化任务具有重要意义.关键词 用户评论; 意图分类; 情感分析; 维护和演化; 意见推荐中图法分类号TP311DOI号10.1 1897/SP.J.1016.2020. 02184AnAutomaticAnalysisofUserReviewsMethodforAPPEvolutionandMaintenanceXIAOJian-MaoCHENShi-ZhanFENGZhi-YongLIUPeng-LiXUE-Xiao( Tianjin KeyLaboratoryofCognitiveComputingandApplication*Tianjin300350)(. Coll egeofIntelligenceandComputing?TianjinUniversity?Tianjin300350)AbstractApplicationdistributi onplatformssuchasGooglePl ayStoreorAppleAppStoreal lowuserstosubmitfeedbackstodownloadapplicati onsintheformofrati ngsorreviews.Thesefeedbackscandirectlyori ndirectlyreflectusers?i ntention,andi tcangreatlyhelpmobi ledevelopers( orappprovider)toconti nuouslymaintainandi mprovethei rappl i cations,suchasfi xtheexi sti ngbugs,addorrefini ngtheappfeatures*etc.andsoastobettersati sfyi nguserexpectati onsconti nuously.Apprevi ewsprovideanopportunitytoproacti velycol lectusercomplaintsand收稿日期: 2019-11-1 9; 在线发布日期: 2020-05-13. 本课题得到国家自然科学基金重点基金( 61832014) 、 国家自然科学基金(61572350)、国家重点研发计划( 2017YFB1401201)资助. 肖建茂, 博士研究生, 中国计算机学会( CCF) 学生会员, 主要研究方向为服务计算、智能化软件工程. E-mail :zt_xj m@tju.edu. cn. 陈世展,博士, 副教授, 中国计算机学会(CCF)会员, 主要研究方向为服务计算、 面向服务的体系架构.冯志勇, 博士, 教授, 中国计算机学会(CCF)会员, 主要研究领域为知识工程、服务计算、计算机认知. 刘朋立,硕士研究生, 主要研究方向为服务计算、 软件工程. 薛 霄(通信作者), 博士, 教授, 中国计算机学会(CCF)会员, 主要研究领域为服务计算、 计算实验. E-mail :jZXUexia〇@tju. edu. cn.肖建茂等:一种基于用户评论自动分析的APP维护和演化方法 2185 11 期promptlyi mproveapps^userexperience,i ntermsofbugfi xi ngandfeaturerefi nement.However,formanypopularapplications>sincethelargeamountofuserreviewdata,unstructuredreviewdata, andi nconsistentreviewquality, i dentifyi ngthevaluabl ereviewinformati onbecomesachal lengi ngtask.Therefore, classificati onofuserrevi ewsi ntospeci fictopicsandautomatedanalysi storeducetheworkloadofmanualanalysishasbecomeanewi deaforapprevi ewmi ni nganalysis.Inthispaper,weproposeamethodnamedARICA( AutomaticReviewIntentionClassificati onAnalysis)toautomati cal lyanalyzecrowduserreviewstoefficientlyprovi dedeveloperswithsoftwaremai ntenanceandevol uti onsuggesti ons.Firstly,ARICAclassifiesthereviewsi ntodifferentcategoriesaccordingtotheuser?sfeedbacks,andthenusestheLDAtopicmodeltoclassi fytherevi ewsundereachuser’si ntentcategory.Thi sal l owsaprel i minaryscreeningofuserreviewstoobtainreviewi nformationundereachi ntentcategory.Secondly,ARICAcl ustersuserviewswit hsimilarsemanticexpressi onsundereachrevi ewtopictofurtherfiltertheredundanti nformationi nreviews, sothatcaneasierandi ntui tivetounderstandtheuser’sorigi nalfeedbackandcapturetheuser’struei ntenti onmoreaccurately.Afterwards,ARICAusesthesentimentanalysi stoolcal l edSenti Strengthtoobtai nusersenti ment ,andthenanalyzesthesentimentdistributionofuserreviewstoidenti fytheuser’ssigni fi canti ntentions.Fi nal ly,themul tidi mensionali nformationsuchasuserintentionsandsentimentpreferencesareconsi deredcomprehensi velyforcalculatingthereviewscoreandthenARICAprioritizesreviewsforrealizi ngtheopinionsrecommendationforthedevelopers.WeuserealappreviewdatafromGooglePlaytoverifytheperformanceofreviewintentcl assificationandsentenceclusteri ngofARICA.Theexperimentalresul tsshowthatARICAhasprecisionof80%i ntheprocessofuserrevi ewi ntenti onclassifi cation,comparedwiththestate-of-the-artexi sti ngautomaticuseri ntentionsmi ni ngmethodTextCNNwhichbasedonConvol utional NeuralNetworks( CNN) ,theF-MeasureofARICAi simprovedby19.1%.Meanwhi le,ARICAachieves86%ofthepreci si onduri ngthecl usteri ngofreviewsentences,whichprovideseffecti vesupportforsubsequentdevel operstorecommendappupdatetasks.Further, weusetheoffici alappchangelogasagroundtruth, andempirical lyanalyzedwhetherourrecommendeduserreviewscanbetrulyadoptedbydevelopers, theresultsshowthatARICAcanefficientlyhelpdevelopersbetterunderstandtheuser?srealrequi rements,whichisofgreatsigni ficancefordeveloperstoperformsubsequentappmai ntenanceandevoluti ontasks.Inaddi ti on, wealsopubli shtheorigi naldataset ,themanual lylabeleddatasetandthesourcecodeofARICAongithubwhichprovi demateri al sforotherrel evantresearchers.Keywordsuserreviews;i ntentclassificati on;senti mentanalysis;mai ntenanceandevol uti on;opi nionrecommendationsi 引 言移动用户可以在应用程序分发平台( 如Apple的AppStore 和谷歌的GooglePl ay) 获取他们想要的应用程序并分享他们对应用程序的意见和反馈[1]. 这些反馈信息可以作为用户和开发者进行沟通的一个重要渠道, 用户使用app后的反馈信息可以指导app开发者完成多项软件维护和演化任务:比如修复相关的bugs 或issues、或者改进app 现有的特性或功能[2]. 然而, 去处理、 分析和找出这些有价值的用户评论信息存在诸多挑战. 首先, 应用平台每天都会产生大量的用户评论. Pagano等人M通过实证研究发现手机应用程序每天大约收到23 条评论, 而像Facebook这样的热门应用程序每天会在GooglePlay上收到超过1 万条评论?, 如果人工进CDAppAnni e, ht tps: //www.appanni e.com/en/2186 计 算机 学 报 2020年行分析将耗时耗力. 其次, 用户评论中夹杂大量的噪声数据, 比如拼写错误的单词、重复的单词和非英语的单词, 并且大多数app评论文本长度较短, 并且不遵循语法规则的特点, 导致没有足够的信息量来进行统计推理[1]. 再次, 用户评论的质量差别很大, 从提供改进想法的有用评论, 到一般性的表扬以及用户的投诉抱怨( 比如“Accounthasn’tbeenhacked,pleaseHxthi s!”,“il ovei t , ijustl ovei t”,“thi sisaverybadapp! !!”) 都大量散布在app评论中? 对于这些评论, 如果采用人工阅读的方式进行处理将会消耗大量的时间[5]. 因此, 对用户评论信息进行自动化分析, 系统地过滤、聚合和分类具有十分重要的意义.自动化评论分析方法主要是根据特定的主题( 例如: bug修复、功能改善等) 对用户评论进行分类( 或者优先级排序)[6 1 1].Maal ej 等人W结合文本分类、 自然语言处理和情感分析等技术来实现对应用评论的分类, 将应用评论分为错误报告, 特征请求,用户体验和评级四个大类, Panichella 等人[8“2]同样采用自然语言处理、 文本分析和情感分析技术组合的方式将评论分为寻求信息、 信息搜寻、 功能要求、问题发现等有限的几个类别. 虽然这些工作可以从冗余的移动应用评论中自动提取部分有效的信息.但对一些流行的app来说, 由于其评论数据庞大, 用上述方法分析得到的结果对开发者进行具体的维护任务仍然是不够的, 这些研究工作都是根据非常有限的一组类别对评论进行分类, 并产生一个非结构化评论集群列表, 最后仍然需要手动分析才能理解他们讨论的主题, 而用户真正关心app哪一方面具体的信息仍不够准确.据我们查阅目前所发表的文献发现, 只有DiSorbo等人[13提出的SURF方法结合了用户评论主题提取、 用户意图分类以及系统地定义了围绕app具体某些方面( 比如: UI、下载信息等) 需要进行维护的工作, 并可以有效帮助开发人员规划下一步的aPP更新任务. 但我们认为这个方法还是不够自动化, SURF的主题分类需要自定义概念词典, 然后人工去验证, 同时随着新的用户评论产生, 字典的有效性会受到限制; 另一方面, SURF推荐建议时没有考虑用户评论的真实情感倾向, 评论时间等维度信息. 事实上, 这些信息对于帮助反应真实的用户意图具有重要作用, 可以更准确地帮助开发者高效地识别用户的真实需求. 因此, 本文我们提出一种更加自动化的用户评论挖掘分析方法ARICA.ARICA首先利用NLP最新的BERT[1 5]模型将用户评论意图进行自动分类; 其次, 在意图分类的基础上, 利用主题模型LDA技术和词向量技术结合实现评论主题聚类; 并进一步将各个评论主题下的评论进行聚类分析, 得到最能表达用户意图的语句; 最后, 将聚类后的评论, 结合用户情感倾向, 评论时间信息以及用户评论点赞数等信息综合进行开发者建议推荐. 这样可以实现自动化高效的用户评论信息挖掘, 从而为开发者推荐关于app 维护更新最相关的评论内容. 本文的贡献如下:(1) 提出了一种利用最新的自然语言处理技术BERT模型来实现的用户评论意图自动分类的方法, 大大的提高了用户意图分类的准确性. 和现有的最好基于卷积神经网络( Convol uti onalNeuralNetworks, CNN) 方法TextCNN[1 6: 1的用户意图自动挖掘相比, ARICA的F-Measure 提高了19. 1%.(2) 综合考虑了用户评论的情感、评论意图、评论时间等多维度等的信息对用户评论进行优先级排序, 为开发人员推荐用户真实需求, 为后续app的版本演化和维护提供高效建议.(3) 我们公开了本文方法使用到的原始数据集和人工标注的数据集( 用于复现以及未来的研究),以及该方法实现的源代码?.(4) 我们使用官方的app 更新日志来进行详细的案例分析, 验证了ARICA为开发者进行评论意见推荐的高效性.本文第2 节介绍本文的相关工作; 第3 节阐述我们方法的整体思路和使用到的相关技术; 第4 节阐述我们设计的实验和分析方法; 第5 节展示和讨论实验结果; 第6 节描述可能影响我们工作有效性的威胁; 第7 节总结论文并概述了下一步的研究工作.2相关工作对于人类而言, 理解应用评论十分简单, 这是因为人能够根据积累的知识做出判断. 例如“Il ikethisapplicati on”和“thisapplicationisgood, likeit”. 人类可以清楚的知道这两句话表达的意思是相似的.然而对应用评论进行理解和自动化分析则是一项充①https:/ /github.com/xuanhui01 29/ARICA肖建茂等:一种基于用户评论自动分析的APP维护和演化方法 218711 期满挑战的任务. APP 评论数据和长文本数据不同,大多数app评论具有短小并且不遵循语法规则的特点, 因此没有足够的信息量来进行统计推理W. 传统对评论的分析方法主要是检查评论中是否包含某个关键字并手动定义关键字列表, 然后检查文本中是否包含关键字来挖掘评论的价值[1 7], 如Baki u 等人D8]提出一种基于评论分析用户情感的方法, 他们将用户评论中经常出现的关键词识别为特征, 并将提取的特征与用户情感关联, 然后使用主题建模进行分组, 最后将提取的功能相关的评论分类为与可用性和用户体验相关的需求类别来进行评论挖掘.Dabrowski 等人[1 9]针对用户评论分类的类别, 提出了一种对用户感兴趣的特定功能检索工具, 从而能够进一步支持需求工程师了解用户针对app特定功能的需求, 以更好地维护对应的app.近年来, 已经有相关学者对用户评论自动分类方法进行了研究. Chen等人[6]对大量的app评论进行研究, 发现在评论中有很多用户单纯的表达喜恶,如“good, Ilikei t”等, 这些评论无论对于开发者还是其他的用户来说, 都没有提供有效的信息. 基于此现象, 他们开发了一种工具可以将评论分为信息性和非信息性, 并过滤无用的信息, 从而提取评论中有效的信息. Ci urumelea等人[2°]基于用户评论定义了一个包含移动应用特定类别( 例如性能、资源、电池、内存等) 的高级和低级分类, 并基于此构建了用户请求引用器( URR) 原型, 然后使用机器学习和信息检索技术进行评论自动分类. Guzman等人[2]应用NLTK工具对应用评论进行特征提取并使用SentiStrength工具进行情感分析, 从而挖掘用户评论中的细粒度特征. 为了使挖掘得到评论更好的方便开发人员进行开发, 在文献[2]的基础上, Guzman等人[1 °]进一步提出了一种以用户评论特征和情感为中心的检索方法DIVERSE, 它可以自动为开发人员提供一个多样化的用户评论样本, 这些样本代表着整个评论集中用户提到的不同意见和体验.Dhinakaran等人[21]提出了一种结合主动学习以减少app评论分析中涉及到的人工操作的方法, 其将评论分为功能请求、 错误、 评级和用户体验几个类别, 并使用主动学习相关策略应用到评论分类中进行分析. Messaoud等人[22]针对开发人员难以手动分析用户评论并将它们归类到适当的评论类别中,提出了一种使用多标签主动学习方法来实现用户评论的分类问题, 从而更好地保证评论的快速准确挖掘. Khalid 等人[23]重点研究了20 个免费下载的i 〇S应用程序的低评级用户评论, 他们发现了12 种类型的用户投诉以及它们的频率和影响, 这可以帮助开发者更好地优先考虑利用现有的资源来保证app的质量. Li u等人[24]通过提取app 描述中的特征词的方法来指导评论的分析, 并建立了用户情感和主题特征词之间的关联, 该方法将贡献最大的词作为主题名, 并通过时间、评论的评分及评论的客观与否来设置评论优先级, 从而实现评论推荐. 但是,他们忽略了同一个问题可能会被多个用户提起, 也忽略了其他有贡献的主题词的作用. Scalabri no等人[2 5]提出了用DBSCAN聚类算法来实现对评论的聚类, 从而挖掘用户评论的意见. Gao 等人[2S]基于在线app评论数据, 提出了一种自动化框架IDEA来自动分析用户评论,IDEA分别使用了LDA主题模型检测和推断分析来识别评论中的紧急问题, 并通过app 官方更新日志验证了IDEA的有效性? 除此之外, 也有一些比较新颖的工作来进行app评论数据分析挖掘用户需求, 比如Dalpiaz 等人[27]提出来一个工具RESWOT, 用于通过对应用程序商店中竞争对手app 的评论分析中挖掘用户需求. 上述方法都可以在某种程度上缓解人工分析用户评论的工作, 但不能细粒度让开发者理解用户的真实意图,从而难以指导开发者直接进行后续app维护和演化任务.为了更好地理解用户细粒度需求, DiSorbo 等人[28]提出了意图挖掘的概念. 具体来说, 他们提出了一种意图分类法, 将开发人员讨论中的句子从邮件列表中分为六类: 特征请求、意见询问、问题发现、解决方案建议、 信息寻求和信息提供. Guzman等人?提出了用于将应用程序评论分类为与软件维护相关类别的方法. 具体来讲, 他们将用户评论分为错误报告、功能优势、 功能缺陷、 用户请求, 好评、 投诉和使用情况这几个类别, 这可以为开发人提供细致的用户评论建议. Maalej 等人[7]结合文本分类、 自然语言处理和情感分析等技术来实现对应用评论的分类, 将应用评论分为错误报告, 特征请求, 用户体验和评级四个大类. Panichel la 等人M同样采用自然语言处理、文本分析和情感分析技术组合的方式将评论分为信息提供、 信息搜寻、 特征请求、 解决方案以及问题发现等几个类别[1 1], 并公开了一个基于这个分类的评论数据集[29]. 在文献[8]工作的基础上, Huang 等人[16]基于卷积神经网络( CNN) 的基础上提出了TextCNN用于评论意图的分类, 该工作将文献[8]中的用户意图增加了方面评估和无意2188 计 算机 学 报 2020年义这2 个类别, 然后用标记的文本进行训练, 和直接基于CNN[3°]、Li bSVM[31]等分类算法相比, 获得了当前意图分类最好的效果. 相比于直接进行用户评论主题提取或聚类, 上述这些方法都将用户评论信息数据进行了进一步的细化.经过我们调研大量的文献发现. 目前只有Di Sorbo等人[ 13]研究工作不仅将用户评论意图进行了细粒度分类, 同时重点考虑开发者关注的app 多个方面相关的主题信息. 但他们的主题分类需要自定义概念字典, 然后人工去验证, 这将导致评论推荐的效果受到字典的丰富性影响, 且分类的自动化程度不够.综上, 无论是基于传统的关键词提取用户评论信息还是基于用户意图分类进行自动用户评论分析, 最重要的是用户意图划分的合理性以及意图分类的准确性, 同时需要考虑多维度因素实现综合的评论优先级推荐, 这是挖掘用户评论中的蕴含的价值信息的核心内容, 也是开发者能否顺利实施后续app 维护和演化任务的关键.3ARICA整体框架我们的目的是为了给开发者在其更新维护应用时提供高效的参考意见. 为了实现这一目标, 我们将用户评论分析定位到句子级别, 因为在原始用户评论中, 有些句子与软件开发和维护相关, 而有些则与之无关. ARICA可以自动实现: (1) 对用户评论进行意图分类, 分类成和app 更新和维护方面相关的类别以2) 对各个意图下用户评论进行主题分类, 从而进一步提高评论的内聚性, 同时将各个主题下用户评论进行句子聚类, 得到和用户评论意图最相关的句子; (3) 重点分析用户评论的情感分布并识别用户重要意图d4) 综合考虑用户意图、 情感倾向以及评论时间等多维度信息计算用户评论综合得分,并制定评论优先级规则进行用户评论推荐. 图1 展示了方法的整体框架处理流程, 下面我们进行逐一介绍."ca"WordMapperLDA+Word2vecA) 评论主题分类WordMapper + Word2vec,一、'Z. J丨 DBSCANB) 评论句子聚类②主题分类和句子聚类Vvw用户情感获取0用户情感分布③情感分析■■■■■:)评论优先级④综合意见推荐图 1AR1CA整体框架3. 1 数据预处理移动用户通过终端( 比如智能手机)提交的评论一般包含许多噪声数据, 比如随意的单词, 重复的单词以及非英文的单词等, 这些会影响对数据处理的结果. 因此, 我们首先需要对评论数据进行数据预处理. 本文我们使用NLP相关技术实现评论的数据预处理, 具体包括过滤掉非英文词汇, 无用的表情符号等, 同时使用正则表达式过滤掉网址、 邮箱等干扰信息. 另一方面, 由于用户通常在移动设备上提交他们的评论, 而这些移动设备通常尺寸比较小, 没有实体键盘, 因此打字既困难又耗时. 很容易会产生错误.这种情况导致在用户对这些移动应用的评论中经常出现拼写错误( 即拼错单词)、 缩略词和缩写, 比如单词“useful l”, 显然用户是想要表达的是“useful”,“friends”缩写成了“fmds”. 这样就会导致我们在进行评论分析时将他们当成不同的词来处理, 这会对数据分析结果造成不良的影响, 产生噪声数据. 因此需要将拼写错误、 缩略词和缩写的词进行还原. 本文肖建茂等:一种基于用户评论自动分析的APP维护和演化方法 2189 11 期我们基于文献[32] 自定义的词典wordMapper?,一个手工整理了近300000和app评论相关的词汇字典, 其中包含了在用户评论中常见的拼写错误、缩写和缩略的单词及其校正后的单词. 在该字典的基础上. 我们进一步往字典中增加app评论相关的更细致词汇, 比如“you’re—youare”等? 最后利用完善后的字典可以很好地将常见的容易拼写错误或者缩略的单词进行校正还原.3. 2 评论意图分类为了帮助开发人员更容易地理解用户在应用市场的评论反馈, E)iSorbo等人[14]提出用户评论反馈分类方法SURF, 旨在从软件维护和演化的角度对应用程序评论中包含的信息段落进行建模. 如表1所示. 他们把用户的评论意图分为5 类, 分别为信息提供、信息搜寻、 特征请求、问题发现以及其他, 并且证明这种分类可以很好地被开发者所理解并进行后续app维护和演化任务. 本文我们使用的也是这种意图分类方法, 因为这些意图可以很好表达用户对app的真实诉求, 同时也可以让开发者容易理解.表】 用户评论意图分类类别类别 描述信息提供 告知其他用户或者开发者APP某方面信息的句子信息搜寻描述试图从其他用户或开发人员获取信息或帮助的句子特征请求 表达用户观点、 建议或APP某些方面需要增强的句子问题发现 报告异常行为或问题的句子其他 不属于任何以上类别的句子传统的文本分类通常使用TF-IDF方法来提取特征进行分类, 但这种方法忽略了同一语义的不同表达方式. 因此, Huang 等人 基于CNN进行句子意图的分类, 该方法将句子进行向量化表示, 向量间的距离代表了句子的相似度, 与TF-IDF相比, 该方法考虑了词与词之间的关系, 有效地提高了分类效率, 但他们的方法的效率还是不够的, 因为他们只是考虑了词与词之间的关系, 并没有考虑词上下文之间的关系. 因此, 本文我们采用了最新的自然处理模型BERT进行自动的用户意图分类, BERT是一种基于transformer 架构的双向模型, 它在进行评论句子向量化后包含了上下文的信息, 可以有效地弥补基于CNN方法的不足.BERT的输入表7K(inputrepresentati on) 能够在一个词(token) 序列中明确地表示单个文本句子或一对文本句子( 例如,[Question, Answer]). 对于给定词, 其输人表示通过对相应的词嵌人( tokenembeddi ngs) 、分割嵌人( segmentembeddings) 和位置嵌人(positi onembeddi ng) 进行求和来构造. 图2展示了一个基于BERT进行评论意图分类的例子,输人的评论句子“Weneednightmode”作为一?个句子整体输人到BERT模型中, 第一个词是一个特殊的符号[CLS], 表示为分类, 然后经过词、 分割和位置嵌入进行求和操作, 每个位置对应的输出为一个维度为hidden_si ze ( BERTBase中为768) 的向量?. 本文我们执行的是评论句子意图分类任务, 因此我们只关注第一个位置的输出(也就是被我们用[CLS]符号代替的位置) 向量. 输出的这个向量作为我们前馈神经网络( Feed-forwardneuralnetwork)分类器的输入, 最后得到用户评论句子的意图分类结果. 图中句子的分类结果为特征请求.评论句子[CLS]WeTokennbeddi ngInentPosi ti ondding Embeddi ng^[ CLS]ea E〇^weeaneednight!〇+EAe2Ebe3ebE,[SEP:输入Eb EsBERTASASERVICE分类器( Feed-forwardneural network+softmax )|分类结果信息给予|信息搜寻U特?!请求问题发现其他输出图2 基于BERT的评论意图分类示例3. 3 主题分类及句子聚类用户的意图分类只能在宏观层面表示用户的想法, 开发者并不能直接基于这个意图分类进行app维护任务. 因此, 需要进一步对各个意图分类下的评论信息进一步进行提取, 从而实现更加细粒度的用户评论挖掘. 这里主要包含评论的主题分类和每个主题下句子聚类.3. 3.1 评论主题分类单从句子意图分类这个维度对充分利用评论中的信息是不够的. 比如, 当信息搜寻类别中存在大量的评论句子时, 开发者要从中找到和app 维护相关信息仍然费时费力. 因此, 我们需要进一步提取出每个意图下用户评论隐藏的主题, 这些主题可以表达出该意图类别下用户关心的内容, 这可以帮助开发者更直接地了解用户的具体意图.①ht tps: / /git hub.com/xuanhui0129/ARICA/bl ob/master/file/wordMapper.txt②ht tps: //git hub. com/google- resea rch/bert2190 计 算机 学 报 2020年LDA[ M]是一种经典的主题建模算法, 可以用来识别大规模文档集或语料库中潜藏的主题信息. 本文我们使用LDA主题模型来实现用户评论主题分类, 并采用w〇rd2vec[34]词向量实现用户评论的向量化. 同时, 为了保证LDA模型能够对新产生的用户评论进行主题划分, 我们取每个主题下概率最大的前N个词进行加权求和作为该主题的中心向量, 对于新产生的用户评论, 我们计算它和各个主题中心距离, 并把距离主题最近的评论划分为该评论的主题. 这样可以使得用户新产生的评论及时地进行主题自动划分. 这里向量距离为余弦距离, 计算公式如式(1) 所示:nReview一Sim=—f——(1)其中, a?, 和y, 分别表示为主题中心向量和新产生的评论句子向量. 的取值范围为( 0,1) ,取值越大, 距离越近. 句子主题分类过程的伪代码如算法1 所示?算法1. 用户评论主题分类.输人: 

[返回]
上一篇:智能合约的合约安全和隐私安全研究综述
下一篇:面向Flink迭代计算的高效容错处理技术_郭文鹏