郭放
摘要:本文主要研究针对手机网络评论的意见挖掘技术。为实现手机网络评论的主题提取,本文首先构建了手机领域本体;在领域本体的基础上,选取多个TF-IDF值作为阈值,每个阈值可构成一个简单的分类器,利用集成的思想将训练得到的单个分类器组合为最终的分类器,在此过程中获得文本的主题。随后对主题与手机相关的文本进行情感分析,利用FP-growth频繁项集发现算法,创建一个手机领域相关的情感词典,最终计算整体的好评率和差评率。
关键词:意见挖掘;领域本体;主题提取;情感分析
中图分类号:TP391.1 文献标识码:A 文章编号:1007-9416(2018)07-0111-04
1 综述
网络评论文本是消费者对相关产品的评价,包含正面或负面的情感倾向,反映出商品的外观、功能性价比等信息。但这些网络评论数量庞大、内容复杂、结构随意,需要对它们进行整理并分类,以满足不同群体和商家的需求。面对网络上海量、复杂的评论文本,采用人工查询和分类的方法显然不符合实际,人们希望能有一种快速高效的方法对这些信息进行分类统计。
意见挖掘(Opinion mining)技术的出现满足了这一要求[1]。根据Soo-Min Kim和Eduard Hovy提出的意见的定义,将意见描述为四元组:[Topic,Holder,Claim,Sentiment][2]。其中Topic表示意见评论的对象;Holder表示意见的发表者;Claim表示意见的内容;Sentiment表示意见的情感倾向。意见挖掘的过程就是识别网络评论文本中以上四部分内容,分析意见主观倾向性[3],过程可概括如下:(1)抓取網络上的产品评论文本,输入分词器进行分词,并过滤掉文本中的停用词;(2)对分词后的网络评论文本进行主题提取,方法主要包括基于语义分析的方法、基于统计的方法,以及基于领域本体的方法;(3)识别出评论文本中带有情感倾向的主观性表述,过滤无关内容;(4)对网络评论文本进行情感分析。本文主要对主题提取和情感分析两个方面进行了改进。以下进行详细说明。
2 面向手机网络评论的主题提取
2.1 方法概述
本文意见挖掘的对象,是手机领域的用户评论文本。在这些评论文本中,存在大量的手机领域的相关术语或概念描述,本文利用领域本体的概念构建针对手机领域的本体树,在领域本体的基础上,利用TF-IDF原理计算文本样本集中各样本的本体相关度。选取多个TF-IDF值作为阈值,每个阈值可构成一个简单的分类器,通过阈值将样本集合中文本定义为两类:判定大于阈值的为主题相关文本,小于阈值的为非相关文本,根据分类结果的错误率确定每个分类器的权重,最后将训练得到的单个分类器组合为最终的分类器,同时在此过程中获得文本的主题。
2.2 手机领域本体构建
在计算机科学与信息科学领域中,本体是指一种形式化的,对于共享概念体系的明确而又详细的说明[4]。常见的本体构成要素包括:个体、类、属性及其关系。个体或称为实体,指基础的或 “底层的”对象;类,指集合、概念、对象类型或者说事物的种类;属性,指对象和类可能具有的属性、特征、特性、特点和参数;关系,指类与个体之间的彼此关联所可能具有的方式。常用的构建方法有七步法、骨架法、、、法等。
本文基于上述本体一般结构以及构建方法,人工构建手机领域本体的术语集合或称为词表。手机领域本体部分如图1所示。
2.3 TF-IDF集成算法设计
是一种统计方法,用以评估词条对于文本集合中某篇文本的重要性。词条的重要性随着它在文本中出现的频率(Term Frequency)的增大而升高,随着它在语料库中出现频率(Inverse Document Frequency)的增大而降低。
根据上文中给定的本体概念集合,可以分为四个关键词:“三星”“电池”“的”“待机时间”。假如某篇网络评论文本d的总词数为50个,其中“三星”出现1次,“电池”出现2次,“的”出现10次,“待机时间”出现2次,那么它们的词频分别为0.02,0.04,0.2,0.04。那么指定短语“电池的待机时间”在文本d中的词频就是0.3(四个词的词频之和)。在四个词中,“的”所含的信息量最低,但词频最高,所以在实际应用中应当忽略这类停用词,过滤干扰后指定短语的词频为0.1。而在剩余的三个词中,“三星”与本文所涉及的手机领域相关性最大,因此在判断文本主题时,应当给每个词赋予权重信息,权重越大,表示相关性越大。在相关研究中,使用最多的权重是逆向文本频率IDF。
逆向文件频率IDF(Inverse Document Frequency)计算公式为,其中,为文档总数,为含有词语t的文档数目。例如,设集合中文本总数为=100,手机领域品牌名称“三星”在其中10个网页中出现过,即=10,则它的权重为 =log10=1,又假设“电池”在30个网页中出现过,“待机时间”在15个网页中出现,它们的权重分别为和;对于停用词“的”,因为每个文本中都会出现,所以其权重为。即词语“的”与指定文本的主题无关,词语“三星”对指定文本的重要性最高。
结合词频TF和文档频率IDF,短语“三星电池的待机时间”重要性度量公式为:
本文中算法过程如下:
设在准备阶段爬取到的文本集合大小为M,上一小节中构建的本体概念集合为N,
(1)计算本体概念集合中每个词条(n=1,2,···,N)在文本集合中的TF*IDF值,并存储;(2)顺序读取文本集某条评论文本(m=1,2,···,M)中所有词,判断是否包含本体概念集合中的词条;(3)若包含,则计算的在文本中的词频TF,并计算TF*IDF值;(4)读取结束时计算与本文构建的手机领域本体的相关性:
在进行以上运算时,应当考虑三个方面:首先,对于评论文本,标题位置的词语所占权重理论上应大于正文的权重,可在原有权重的基础上,对标题权重乘以1.5,即标题权重为正文权重的1.5倍;其次,手机产品名称或手机系列名称能够作为文本的确定主题,而手机组件或产品属性,只有在产品或系列名称出现的条件下,才能够作为确定的主题,如上述例7所描述。因此,手机品牌或系列名称的权重应当是其组件或属性的1.5倍;最后,公式(3.2)的计算结果表明了文本与本体概念集合的相关性,但不能明确表示是否相关,一般的方法是确定一个阈值x,当公式(3.2)的结果大于或等于阈值时,判定文本与给定的领域本体相关,若小于阈值,则无关。这种方式的局限性表现在,相关性得分小于阈值的文本,也有可能是需提取的与领域相关的评论文本。可以选取多个阈值,每个阈值可构成一个简单的分类器:判定大于阈值的为主题相关文本,小于阈值的为非相关文本,根据分类结果的错误率确定每个分类器的权重,最后将训练得到的单个分类器组合为最终的分类器。
以下为具体算法:
本文采用分类器集成算法的思想,给定已分类的文本样本集,计算每个文本的TF-IDF值,给定阈值的初始值为,设样本集合大小为M,每个样本权重D的初始值为[5],计算过程如下(接上文第(4)步):(5)计算样本集中文本的TF-IDF值,按照降序排列后存储在数组中,设初始阈值=;(6)对样本集中的文本进行分类:阈值,则属于主题相关文本集合(+1类);阈值,则属于非主题相关文本集合(-1类);(7)验证分类结果,并计算错误率:,当=0时可直接退出计算[6];(8)根据错误率为当前分类器重新分配权重:[5],错误率越大,分类器的权重越小,可以理解为性能越差的分类器,话语权越小;(9)更新每个样本的权重D:对分类正确的样本降低权重:;对未正确分类的样本增加其权重:,以此改变数据分布[5];(10)依次取得数组中的元素作为阈值,计算分类错误率,如果当前错误率较小,则存储此次运算结果并重复(8)(9);
最后,当错误率小于0或循环结束后得到n个分类器,按权重叠加获得最终结果:,其中,为符号函数,即;+1或-1,+1表示属于主题相关文本集合,-1表示属于非主题相关文本集合;为最终结果。
3 面向手机网络评论的情感分析
情感分析(Sentiment analysis),又称倾向性分析,它是对带有情感色彩的主观性文本进行分析、处理、归纳和推理的过程[7],如从评论文本中分析用户对“手机”的“机身厚度、像素、待机时间、屏幕大小、价格、运行速度”等属性的情感倾向。意见挖掘中情感分析任务的主要目的就是识别网络评论文本的情感倾向。它有三个方面的要求:(1)判斷评论文本的主客观性;(2)判断篇章、句子、词语的情感极性;(3)分析情感倾向性强弱。本文主要讨论情感极性的判断,提出了基于领域本体情感词典情感极性分类算法。
频繁项集是指那些通常在一起出现的实物集合[8],可解释为经常在手机领域评论文本集合M中出现的词典N中词语的集合。频繁项集可以用支持度来解释:支持度定义为查找项在数据集所有集合中所占比例,如在10条记录中,有2条包含{手机,耐用},则{手机,耐用}的支持度为1/5。在实际操作中,要找到大于预设支持度(假设为0.5)的所有项集,需列举出事物所有的组合,然后对所有组合统计它们出现的次数,当事物集合很大时,上述方法非常慢。于是学者们提出了Apriori原理,其主要思想可简化为频繁项集的子集也是频繁的,反过来也是成立的,即某个项集是非频繁的(如{手机,和蔼可亲}),那么所有包含它的项集也是非频繁的(如{电池,手机,和蔼可亲})。Apriori原理在一定程度上缩减了频繁项集查找时间,但在计算过程中每增加一个频繁项都需遍历整个数据集,于是研究人员提出算法:基于Apriori原理,将数据集合中的各个元素项按照支持度排序后,把每个支持度大于预设值的元素项插入到一棵以为根结点的树中,称为频繁模式树(Frequent Pattern Tree,),同时在每个结点处记录该结点的支持度[9]。
本文基于领域情感词典的情感极性分类算法具体过程如下:
(1)对第三章中获得的手机领域相关文本进行分词处理,过滤掉停用词和重复的词,剩余的词在计算机中以字典的形式存放。如表1所示。
(2)计算每个字典里词语出现的频率,去掉不满足最小支持度的元素项。过滤后,对余下的词语进行重新排列,排列的基础是词语出现的频率。如表2所示。
(3)构建树,抽取频繁项集:定义一棵树,和存储单个频繁项集的头指针字典headList:def FPTree(numTimes,minSupport=2): headList={},树的参数为词语出现的次数numTimes和最小支持度minSupport;循环执行headList[item]=headList.get(item,0) +numTimes[trans],录入每一项出现的次数;录入完成后,删除支持度小于最小支持度minSupport=2的元素:for k in headList.keys():if headList[k] (4)对每一个频繁项集,根据其前缀路径,以相同的方式构建它的条件树。如:构建频繁项集“像素”的条件树:条件模式基:{手机,电池,耐用}:1,{手机}:1最小支持度:2(手机),过滤掉:电池,耐用,重复第(3)步,构建“像素”的条件树。 (5)重复步骤(3)(4),直到所构建的条件树中没有元素为止。 (6)获得与手机领域本体概念集合中的名词经常一起出现的评价词集合,通过与基础情感词典和评价词典比较,判断中词语的极性。 实验中发现通过情感词典或评价词典对手机领域常用词进行极性分类,不能覆盖全部的词语,如“耗电”“少”在基础词典中没有出现,需要对分类后剩余的词进行人工标注。其次,虽然在有了手机领域的情感词典后,能够较准确的计算文本情感极性,但对于情感极性与上下文关联度高的词语,仍不能进行准确计算,例如把上文中两个词“耗电”和“少”归为负面评价词典,那么“手机耗电量少”这句话的情感得分为(-1)+(-1)=-2,显然结果错误。因此需要对算法一进行改进:当两个情感词连续出现时看做整体,将两个词的极性相乘后,判断极性分类,再进行同类累加,如:例句“手机耗电量少”的情感得分在改进后为(-1)*(-1)=1,为正面评价,是正确的。 4 总结和展望 4.1 工作总结 本文主要研究意见挖掘技术在手机网络评论中的应用,重点工作包括主题提取和情感分析。本文工作过程如下:(1)利用Python的urllib2模块抓取淘宝、京东等电子商城的用户评论以及各手机论坛的留言和帖子,以抓取到的文本为输入,经分词器进行分词。(2)在分词的基础上,对手机网络评论文本进行主题提取。本文引入领域本体的概念,人工构建手机领域本体,采用TF-IDF算法,计算每个评论样本与手机领域本体的相关度,并选取多个文本的TF-IDF值作为阈值,每个阈值可构成一个简单的分类器,结合集成思想将训练得到的单个分类器组合为最终的分类器。(3)随后对主题与手机相关的文本进行情感分析,抽取出对产品手机整体、某组成部分或属性的主观评价,并判断感情极性。本文在已有的基础评价词典和情感极性词典的基础上,利用FP-growth频繁项集发现算法,创建一个手机领域相关的情感词典。在此手机领域情感词典的基础上,计算每个情感词的情感极性得分,分别得出正面评价和负面评价的分值,最终计算整体的好评率和差评率。
通过实验统计得出,领域本体概念的引入能有效的提高主题提取的准确率,为用户提供更有价值的信息,同时采用TF-IDF与集成思想结合的方法能够降低阈值选择局限性所带来的主题提取错误概率,使得相关性得分较少的文本,正确提取主题的概率增大,提高了整体的正确率;采用基于领域本体情感词典的情感极性分类算法,可以有效提高针对手机组件或属性的评论文本的情感分类准确率和查全率。
4.2 工作展望
综合目前意见挖掘的研究及方法,本文工作可以在以下方面进行改进:在主题提取任务中,其主要难点有:主题提取需处理各种不规范的、复杂的评论内容,如网络热词、中英文混用以及各种同义词的使用,同时实体的命名方式也在不断的改变中;其次,同一评论文本可能包含多个主题。因此有效的主题提取方法,不应存在主题遗漏,对于针对不同产品或同一产品不同型号间比较的文本,进行主题提取时,应注意比较特征词,从而为同类产品不同品牌间对比或相同品牌不同系列间对比做准备;另外,评论文本可能存在歧义性描述。因此,应先定义相关领域的命名实体词典,以便在主题提取前的文本分词阶段,能够识别出汉字、英文、数字混合的命名实体,从而能有效提高主题提取的准确度,如本文中引入领域本体的概念,人工构造手机领域的本体概念集合,消除命名实体中的歧义性;最后,应当注意评论的实效性问题:抓取的文本源应在不断更新中,能紧随特定产品更新换代的频率。
因此,处理好产品间的比较、评论实效性问题以及复杂多变的评论内容陈述方式,对于改善主题提取的效果有很大帮助。
参考文献
[1]姚天昉,程希文,徐飞玉,等.文本意见挖掘综述[J].中文信息学报,2008,22(3),72-80.
[2]Kim S, Hovy E. Determining the Sentiment of Opinions[A].In: Proceedings of COLING conference (COLING 2004)[C].Geneva, 2004:1376-1373.
[3]沈陵峰.网上产品评价的意见挖掘模型研究[D].中国科学技术大学,2010.
[4]Gruber T R. A Translation Approach to Portable Ontology Specifications[J].Knowledge Acquisition,1993,5(2):199-221.
[5]Freund Y, Schapire R E. A decision-theoretic generalization of on-line learning and an application to boosting[D].1996:1-35.
[6]胡文静.基于语义理解与PLSA的文本情感分类研究[D].天津:天津师范大学,2012:1-59.
[7]樊兴华,吴昊.意见领袖识别中的文本倾向性研究[J].计算机应用研究,2013,(09):2613-2615+2636.
[8]李銳,李鹏,曲亚东,王斌,译.Harrington P. Machine Learning[M].北京:人民邮电出版社,2013:200-239.
[9]杨云,罗艳霞.FP-Growth 算法的改进[J].计算机工程与设计,2010,31(7):1506-1509.