基于多特征组合的在线产品评论情感挖掘研究
2017-05-31何有世王明
何有世 王明
摘要摘要:近年来,如何利用计算机自动、快速、准确地识别大量文本产品评论数据情感倾向是自然语言处理领域关注的重点话题。使用数据抓取软件,抓取亚马逊官网华为honor畅玩版4X手机在线评论进行实验,实验中按照一定的语法规则将每条完整的在线产品评论分成若干子句,识别其中有效子句,提取有效子句评论中多种特征进行组合,然后选用C4.5决策树机器学习法来识别子句的情感倾向,并对多组实验结果进行分析对比。實验结果表明,选择子句中情感词数量和否定词数量作为特征组合时,加权后模型的查准率和查全率均达到96%;程度副词和特殊符号对模型的作用比较微弱,仅有1%的影响;程度副词的作用略优于特殊符号。
关键词关键词:决策树;多特征组合;产品评论;情感分析
DOIDOI:10.11907/rjdk.162835
中图分类号:TP301
文献标识码:A文章编号文章编号:16727800(2017)005000105
0引言
计算机网络、电子商务和移动技术的飞速发展,使用户更加便捷地融入网络,成为信息的使用者和创造者。现今,人们更加习惯于在互联网上发表自己对产品、服务或事件的观点、偏好及情感倾向。CNNIC在《第37次中国互联网络发展状况统计报告》[1]中指出:截至2015年12月份,我国网民数量达到6.88亿,互联网普及率接近50.3%,庞大网民数量为生成海量互联数据提供了基础。其中,在线产品评论数据具有很大的商业价值。面对海量的碎片化、非结构化、口语化、随意化和多样化的交易评论信息,如何借助计算机提取有价值的信息,帮助企业快速定位用户偏好及喜爱和消费者快速检索所需的信息来了解产品的质量和口碑,一直是学者研究的重点和难点。
情感分析又称为意见挖掘,简言之,即从带有情感色彩的主观性文本中抽取用户对话题、产品、个人、组织和服务等的情绪、评价、喜好、情感倾向[24]。按照处理文本的内容,可分为基于新闻评论的情感分析和基于产品评论的情感分析[5]。前者主要处理网络新闻事件评论,后者研究对象主要是网购后对产品、服务等的在线评论。
目前,国内外学者对文本情感分析已经作了大量研究,常用的方法可以分为两类:基于情感词典的方法和基于机器学习的方法[67]。基于情感词典的方法使用知网Hownet、Wordnet和台湾大学情感词典NTUSD等词典[810],该方法虽然简单直观,但忽略了文本中情感单元和修饰词之间的关系。该方法在句子级情感识别上存在不足,但在词语级情感识别上可以发挥很大作用。基于机器学习的方法又可以分为有监督和无监督学习两种。常用的有监督方法有ME、NB、SVM、CRF等,无监督方法有PMI等[1113]。基于机器学习的情感分类方法是通过提取文本特征,运用数理模型,把文本特征作为输入变量,经过函数运算后输出结果,根据结果对文本进行分类。该方法不仅考虑到语句文本中的情感词语及还考虑了句法结构,词语之间修饰关系。该方法有较高的正确率和稳定性,同时方便地扩展到不同领域。但由于中文词语的一字多义、交叉歧义、表达多样性、句式的复杂性、语言结构的复杂性和词语的不间断性等,使得中文分词和情感分析工作比英语更加困难,学者们一直在寻找方案以提高中文文本情感识别的准确率。
已有研究多关注一条完整在线产品评论的情感倾向。该方法主要存在以下两个方面的不足:一是不能正确反映用户内心的情感,对于一款产品,用户可能喜欢某些方面的设计,对另一些设计感到不满,如果仅用评论的整体情感倾向代替用户对产品某一具体方面的情感倾向,显然存在误差;二是混淆评价对象,因为多数分析针对的是用户的完整评论,不能识别出用户对某个具体评价对象的情感倾向。因此,针对以上两点,本文对每条完整的评论按照一定的语法规则进行分句,识别有效子句,提取评价对象,使用C4.5决策树识别子句的情感倾向,该方法采用最大信息增益率作为决策树的属性选择标准,选择的属性作为分裂节点,最初选择的属性作为决策树的根节点,对于分裂节点的不同取值,采用递归的方法求其子树,相比于朴素贝叶斯方法,该方法在分类的稳定性上具有明显优势。
1相关工作
在线产品评论的情感分析侧重点不同于新闻评论的情感分析。在线产品评论的情感分析更加关注用户对产品属性或服务的评价,可以忽略评论中一些具有情感倾向的词语或句子。判断一条在线产品评论是否有用,关键在于文本中是否包含评价词、产品属性等。比如华为honor畅玩版4X在线产品评论:“一直在用华为的手机,这款手机挺喜欢的。”该评论就是垃圾信息,虽然文本中出现情感词“喜欢”,但是句子不包含产品属性和评价词,不能区别产品属性的好与坏。假设“喜欢”一词出现在新闻评论,该语句一定代表了评论者的一种正向的感倾向,不能视为垃圾信息。为了更准确地识别在线产品评论的情感倾向,本文做了如下相关工作:数据抓取、隐性产品属性追加、用户分词词典、评价词表、否定词表、程度副词表等的建立和预处理。
1.1数据抓取
采用八爪鱼采集器从亚马逊官网抓取华为honor畅玩版4X的在线产品评论信息。八爪鱼采集器简化了用户获取信息的流程,实现数据自动采集、编辑和规范化,降低提取信息的成本。通过设计评论信息提取规则,从亚马逊官网提取在线评论信息,得到正面在线评价500条,负面在线评价197条。
1.2隐性产品属性追加
由于用户输入网页评论具有随意性,可能导致文本评论中没有评价对象或属性值,仅有评价词。例如:“个人感觉5.5太大了,不好拿”。该评论中“个人感觉5.5太大了”隐含了评价对象屏幕。对于该类问题,本文设计了常用评价对象和评价词对应表,使用Java程序自动识别评价词,再检索评价对象,如果检索不成功,则添加对应的评价对象,否则不作任何处理。
1.3词典建立
为了更加准确地识别产品评论中的特征词语,如情感词、评价对象、否定词和程度副词等,为后面的机器学习提供可靠的数据,本文建立了相应的词表。
1.3.1用户分词词典
使用中科院张华平博士研发的中文分词软件NLPIR2016对在线产品评论进行分词处理,其主要功能包括中文分词、词性标注、命名实体识别、用户词典功能、微博分词、新词发现与关键词提取等。对于特定领域本体相关属性和常用短语不能正确进行分词,可以人工添加用户词典辅助分词。本文添加不能被正确识别的手机产品属性,形成用户词典表,如图1所示。图1中没有词性标注的词语在NLPIR軟件中默认是名词,vi表示不及物动词。
1.3.2评价词表
评价词表达了用户对评价对象的情感倾向,最能反映用户对产品属性的喜恶之情,在文本情感分析中有着举足轻重的作用。本文结合Hownet的正、负评价词表,以及从亚马逊官网抓取的评论信息,剔除与手机领域无关的评价词,如:安乐、安全等,添加新的评价词,如:高大上、物美价廉等。最终得到正向评价词表、负向评价词表。部分正、负向评价词表如图2所示。
1.3.3否定词表
否定词语的出现一般会反转语句的情感倾向,使得语句的正向情感变成负向情感,负向情感变成正向情感。本文在抓取的评论和网络资源中提取了常用否定词,形成否定词表,部分否定词表如图3所示。
1.3.4程度副词表
对于程度副词,其位置的不同会影响到文本语句的情感倾向。本文关注两种位置不同的程度副词。1)其位置在否定词和评级词之间;2)其位置在否定词之前。例如:“手机配置不是很高”,“手机配置很不高”,前者整个语句的负面情感倾向要明显弱于后者。因此本文更加关注其出现的位置而不是其语气强度,部分程度副词表如图4所示。
1.4预处理
预处理是指使用NLPIR分词软件之前对在线产品评论的处理、加工,提取有用信息,分为以下几个步骤:
(1)拆分每条完整评论。根据评论文本中的特殊标点符号把一条完整的评论分成若干子句,特殊标点符号包含逗号、句号、井号、叹号、问号和破折号。根据用户的表达习惯,一般用逗号分隔的子句已包含评价对象和评价词,所以选取逗号分割语句。在输入文本评论时,用户可能使用井号、破折号替代逗号、句号,因此特殊标点符号也包含井号和破折号。
(2)使用NLPIR API对子句进行分词处理,词性标注,去除停用词。
(3)识别有效子句。本文仅处理包含手机产品属性的文本评论。如果评价对象是客服服务、快递速度和态度等与手机产品属性无关的,则直接删除该评论;如果需要测评商城和快递服务,则需要保留,然后删除不包含手机产品属性或评价词的子句,降低干扰语句出现的概率。
最终得到有效子句3 161条。其中,正面文本评论2 119条,负面1 042条。
2模型建立
使用决策树对数据集建立模型,主要包含以下4个步骤:
(1)计算所有属性划分数据集所得的信息增益。信息熵的计算公式:
H(C)=-∑iP(ci)log2P(ci)(1)
在实际计算中,P(ci)取值是类别为ci的样本所占总样本的比例,即:
P(ci)=|ci|/|C|(2)
其中,|C|是训练集样本的总数,|ci|表示类别为ci的样本数。
假设用属性A来划分数据集S中的数据,属性A对数据集S的划分熵值为H(C|A)。如果属性A是离散型数据类型,有K个不同的取值,则属性A依据这K个不同的取值将S划分为K个子集{S1,S2,...Sk} ,属性A划分为S的信息熵为:
H(C|A)=∑kj=1CjCH(Cj)(3)
如果属性A是连续型数据类型,则按照属性A的取值递增排序,将每对相邻的中点看作可能的分裂点,计算每个可能的分裂点:
H(C|A)=|SL||S|H(CL)+|SR||S|H(CR)(4)
其中,SL和SR分别对应该分裂点划分的左右两部分子集,选择H(C|A)值最小的分裂点作为属性A的最佳分裂点。属性A的信息增益:
Gain(S,A)=H(C)-H(C|A)(5)
该值的大小代表属性A对数据集S的识别能力。
(2)计算各属性的分裂信息和信息增益率。C4.5引入了分裂信息来调节信息增益,属性A的分裂信息为:
SplitE(A)=-∑kj=1|Sj||S|log2|Sj||S|(6)
属性A的信息增益率为:
GainRatio(A)=Gain(S,A)SplitE(A)(7)
(3)选择信息增益率最大的属性作为分裂节点,信息增益率可以部分消减因属性分类数目产生的影响。
(4)把该节点作为根节点,对其属性的不同值,递归调用以上方法,求其子树,该过程还包含根据每个叶子节点包含的最少实例数量和置信因子对生产树进行修剪,克服过拟合现象。
3实验及结果分析
本文主要研究在线产品评论的情感分析,即通过机器学习的方法识别出文本的正、负面情感。首先使用网络爬虫软件八爪鱼抓取honor畅玩版4X手机在线产品评论,然后对其进行特殊处理。过滤评论中的无效语句,添加隐形产品属性,根据产品属性把在线产品评论分割成不同的简单子句。使用NLPIR2016分词工具对处理后的有效子句评论进行分词,词性标注,去除停用词,抽取文本特征,从中选择不同特征项进行组合,得到特征向量,最后使用C4.5建立模型,并检验模型的性能。
3.1在线产品评论数据抓取流程
在线产品评论数据抓取主要分为3个过程:制定数据抓取规则、运行规则,导出数据到本地计算机。①制定规则。该步骤为核心步骤,主要包括分页设置、循环设置、列表设置、提取字段设置。设置Xpath路径正则表达式,匹配评论信息对应的html标签,抓取评论数据;②运行规则。打开已经设置成功的规则,单击“启用单机采集”选项,出现采集页面后,单击“运行”按钮;③导出数据。数据采集完成后,选择“导出到Excel 2003”选项,将数据导入到本地计算机。
抓取在线产品评论的工作流程如图5所示。
3.2基于决策树的情感分析
基于决策树方法的情感分析的过程整体上分为3步:①预处理。对抓取的在线产品评论进行预处理,主要包括拆分子句、删除垃圾评论、添加隐形产品属性、识别有效子句等;②文本分词、表示。添加用户分词词典,使用NLPIR API完成分词、词性标志,去除停用词语,提取并修正文本特征,完成特殊语句处理,选择不同的特征向量进行组合;③情感分析。使用weka中的J48建立模型,选用十字交叉法拆分数据,并根据查确率、查全率和F值3个指标检验模型的性能。
本文使用NLPIR2016分词软件对处理后的在线产品评论进行分词处理,该分词软件有很高的正确率和运行效率,允许用户添加用户词典,提高了软件分词的正确率。本文中添加的用户词典是手机产品属性,其作用是降低软件分词的错误率,确保提取正确的产品属性。NLPIR完成分词后,标注词语的词性,去除停用词。停用词主要包括表示数量的数词、人称代词、带有单位的量词等。
提取文本评论中的特征项,本文选用的特征项如下:正面评价词数量、负面评价词数量、否定词、程度副词、特殊符号。其含义如表1所示。
语句中的评价词表达了用户对产品属性的态度,与语句的情感倾向存在直接关系。否定词语的出现往往会改变语句的情感倾向。大部分学者只关注程度副词的强度值,本文关注其在文本中所在的位置,其在语句中的位置影响语句的情感强度。词语中特殊符號在一定程度上也反映了评论者的情感倾向。模型中正向情感倾向标注为1,负向情感倾向标注为-1。
对于一些特殊语句、评价对象及评价词,本文作如下特殊处理:
(1)含有“除”的特殊比较句。该语句含义的侧重点一般在后半部分。因为前期预处理会把含有“除”的比较句拆分成两个子句,所以需要合并含有“除”的比较子句和与其紧挨的下一子句,使得比较句的表达意思更加完全。
(2)非评价词错误识别为评价词的特殊情况。本文采用匹配评价词表的方式来识别评价词。该方法存在不足之处,当子句中包含评价词,但该词不能表达评价词的情感倾向时,非评价词错误识别为评价词的现象就出现了。本文针对这种情况,设置了对应的检验规则,发现并删除误判的评价词,增加数据的真实性和可靠性。实验发现,对于仅包含一个汉字的评价词,其被错误识别的概率较高。
同一评价词修饰不同评价对象时表达的情感倾向有所差别。比如评价词“高”对应不同评价对象“配置”和“价格”,对于前一个评价对象来说是正面的评价词,对于后者就变成了负面情感词。本文中对于后者做了添加否定词的处理,使其变得规律化。
此外,评价词的前后出现程度副词,并导致其表示的情感倾向发生变化时,对该子句做添加否定词的处理。对于特定的评价对象,出现特定的词语,通过添加否定词处理使其规范化。
3.3实验结果
实验中选择不同的特征组合,使用十字交叉进行试验,其对应关系如表2所示。
实验中采用weka中的J48分类方法来识别文本的情感倾向。实验结果使用weka默认的评价指标,其指标包含如下:Precision表示查准率,检测搜索系统拒绝非相关信息的能力;Recall表示查全率,检测检索系统检出相关信息的能力;FMeasure是查全率和查准率的调和平均数,综合评价方法的效果;ROC Area表示接受者操作特征曲线面积,其值越接近1,表明模型的分类效果越好。其实验结果如表3所示,其中每组实验包含正向、负向情感倾向和加权后各项指标的值。
3.4结果分析
从表3的实验结果可以看出,实验1仅使用情感词的数量特征,实验结果加权后查准率为85.5%,查全率和F值也在85%以上。实验2加入程度副词,结果有所改善,查准率、查全率和F值约提升1%,但效果不是很明显。实验3与实验1对比,添加了否定词数量特征,结果发生显著变化,加权后查准率、查全率和F值均达到96%。表明否定词特征在实验中起到积极作用,否定词的出现一般会改变原有语句的情感倾向。实验4是在实验3的基础上加入了程度副词特征,加权后实验指标查准率、查全率和F值下降0.1%左右,仅ROC增加0.3%,模型性能总体略微下降,与实验2有相似之处。实验中程度副词的出现与否和子句中的否定词有关,并且程度副词不转变语句的总体情感倾向,只是改变情感的强弱,当程度副词和否定词同时出现时,程度副词不起作用或者发挥轻微地消极作用。实验5与实验4相比,增加了特殊符号特征,但实验结果中大部分指标相同,表明该特征在实验中没有起到积极作用,因为实验中包含特殊符号的子句数量很少,只有26条,这与用户的表达习惯有关,当用户表示不满情感时,用户输入问号或者语气词表示其不满情感的可能性比较低。
4结语
本文使用决策树多特征组合研究在线产品评论的情感倾向。抓取亚马逊官网的评论数据,从评论中提取特征,采用多种特征进行组合,并取得较好的实验效果,该方法的准确率达到96%。实验表明,子句中评价词的数量和否定词的数量等特征很大程度上决定了该子句的情感倾向,而实验中的程度副词和特殊符号等特征并没有产生显著的积极作用,没有显著提高实验结果。由于实验的样本数量有限,用户的表达方式和规则不能统计完全,实验还有待继续完善和改进。
通过实验发现,该实验仍有提升的空间。随着网络的发展,新词不断产生,尤其是网络热词,一些词语被赋予新的含义,如何正确识别这些词语的情感倾向也是一个亟待解决的难题;同时加上网络的普及和用户的参与,产生了海量的评论信息。如何使用云技术高效、准确地识别评论的情感倾向,需要继续深入研究。
参考文献参考文献:
[1]CNNIC.第37次中国互联网络发展状况调查统计报告[R].北京:中国互联网中心,2016.
[2]SERRANOGUERRERO J,OLIVAS J A,ROMERO F P,et al.Sentiment analysis: a review and comparative analysis of web services[J].Information Sciences,2015,311(5):1838.
[3]QI J,FU X,ZHU G.Subjective wellbeing measurement based on Chinese grassroots blog text sentiment analysis[J].Information & Management,2015,52(7):859869.
[4]张紫琼,叶强,李一军.互联网商品评论情感分析研究综述[J].管理科学学报,2010(6):8496.
[5]ZHANG L,GHOSH R,DEKHIL M,et al.Combining lexiconbased and learningbased methods for twitter sentiment analysis[J].Hp Laboratories Technical Report,2011.
[6]PANG B,LEE L,Vaithyanathan S.Thumbs up sentiment classification using machine learning techniques[J].Proceedings of Emnlp,2002(3):7986.
[7]付丽娜,肖和,姬东鸿.基于OCSVM的新情感词识别[J].计算机应用研究,2015(7):19461948,1952.
[8]KAMPS J.Using wordnet to measure semantic orientation of adjectives[C].International Conference on Language Resources and Evaluation,2004:11151118.
[9]朱嫣嵐,闵锦,周雅倩,等.基于HowNet的词汇语义倾向计算[J].中文信息学报,2006(1):1420.
[10]王振宇,吴泽衡,胡方涛.基于HowNet和PMI的词语情感极性计算[J].计算机工程,2012(15):187189,193.
[11]李婷婷,姬东鸿.基于SVM和CRF多特征组合的微博情感分析[J].计算机应用研究,2015(4):978981.
[12]TURNEY P D.Thumbs up or thumbs down:semantic orientation applied to unsupervised classification of reviews[J].Proceedings of Annual Meeting of the Association for Computational Linguistics,2010:417424.
[13]王祖辉,姜维,李一军.在线产品评论情感分析中固定搭配特征提取方法研究[J].管理工程学报,2014(4):180186.
责任编辑(责任编辑:孙娟)