基于最大熵的情感倾向研究
2013-04-12韩卓
韩卓
【摘 要】随着电子商务的迅速发展,网络上涌现了许多购物网站和产品论坛,这些购物网站和产品论坛为消费者提供了发表评论的平台。越来越多的人在做出消费决策前喜欢到互联网上参考用户和媒体对某产品的评论和报道信息。本文利用最大熵方法对网络产品评论的情感倾向进行识别,通过实验表明最大熵方法是一种非常有前途的文本分类方法。
【关键词】用户评论;文本分类;最大熵模型;情感倾向
【Abstract】With the rapidly expand of electronic commerce, it has emerged many shopping websites and the product forum in the net,these shopping websites and the product forums provide specially the platform for the consumers to publish their reviews.More and more people like to browse the user and the media published some product reviews and the report information before making a decision.Maximum entropy model is used to Sentiment Analysis.In experiments,maximum entropy model is a promising technique for sentiment analysis.
【Key words】Customer reviews;Test classification;Maximum Entropy Model;Sentiment;Analysis
0.引言
随着电子商务的迅速发展,近年来,自有服装品牌、网站销售的购物模式得到了越来越多顾客的认可,如凡客诚品、梦芭莎等,因为是自有品牌,所以这些购物网站的商品质量相对统一。越来越多的人在做出消费决策前喜欢到互联网上参考用户和媒体对某产品的评论和报道信息。通过互联网上的产品评论,消费者可以了解其他用户对产品的态度倾向,从而做出更好的购买决策,对于销售商和生产商,可以及时获得用户对其产品和服务的反馈,了解用户对自己和对竞争对手的评价,从而改进产品,改善服务,获得竞争优势。因此,作为非结构化信息挖掘的一个新兴领域,产品评论的情感倾向研究引起了人们极大的兴趣。[1]
1.最大熵模型
最大嫡模型是用来进行概率估计的:假设是某个事件,b是事件a 发生的环境(或称上下文),我们想知道a和b的联合概率,记为p(a,b) 。更一般地,设所有可能发生的事件组成的集合为A,所有环境组成的集合为B,我们想知道,对于任意给定的a∈A b∈B,概率p(a,b)是多少?
我们把这个问题放到自然语言处理的领域来讨论,对于文本分类问题,一个文档分到某个类别可以看成一个事件,文档中出现的词可以看成这个事件发生的环境,我们想知道包含词b的文档属于某一类 a的概率。很容易想到的方法是通过训练语料进行统计。给定一个训练集,定义A=(a1,a2,···,am)是文档所属类别集,B=(b1,b2,···,bn)是文档的特征词集,num(ai,bj)为训练集中二元组(ai,bj)出现的次数,那么我们可以使用如下公式进行概率估计:
(ai,bj)= (1)
这个方法有个很大的问题,即“稀疏事件”(sparse evidence)问题,即便是很大的训练文本,很多二元组仍然没有出现,武断地认为它的概率为0,显然是不可取的。最大熵模型是这样来解决稀疏事件问题的,它使未知事件的概率分布总是尽可能均匀,即倾向于得到最大嫡[2]。例如一个军事、政治和科技的3类文本分类问题,我们得知,出现“飞机”这个词的80%的文档属子军事类别,对于“飞机”这个词在其他两类中的分布未知.根据最大嫡原则,如果给定一个包含“飞机”这个词文档,那么认为文档以0.8的概率属于军事类别,分别以0.1的概率属子其他两类;如果文档中不包含“飞机”这个词,那么认为文档分别以相同的1/3的概率属于每一个类.即在符合已知约束的情况下,使未知事件的分布尽可能均匀。
具体来说,根据Shannon[2]的定义,嫡的计算公式如下:
H(P)=-p(x)log2p(x) (2)
那么,求解满足最大嫡原则的概率分布的公式如下:
p*=arg maxH(P) (3)
如果没有其他任何先验知识,根据滴的性质,式(3)得到最大值的条件是:
p(a|b)= (4)
因为p(a|b)=1
但是,尽管训练语料中不能给出所有二元组(ai,bj)的概率值,但能够给出部分二元组的概率值,或某些概率需要满足的条件。即问题变成求部分信息下的最大滴或满足一定约束的最优解。
如何表示这些部分信息呢研究者引人了特征函数的概念(有时简称为特征).特征函数一般情况下是一个二值函数f(a,b)→[0,1],例如对于上述的文本分类问题,我们可以定义特征函数为:
f(a,b)=1,(a=事类)∧(b=飞机)
0 othersize
对于特征函数关,它相对于经验概率分布(a,b)的期望值为:
Ef=(a,b)f(a,b) (5)
特征函数f相对于模型(a|b)的期望值为:
Epf=(b)(a|b)f(a,b) (6)
我们限制在训练集中,这商个期望值相同,即
Epf=Ef (7)
我们将式(7)称为约束。显然,可以定义很多的特征函数,它们之间可以是互不相关的,甚至问题的角度也可以是完全不同的刻问题的力度也可大可小总之,特征函数很灵活地将许多散、零碎的知识组合起来完成同一个任务.给定k个特征函数f1,f2,···,fk我们可以得到所求概率布的k组约束,
Epf=Ef
其中,i=1,2,···,k。现在,我们的何题就变成了满足一组约束条件的最优解问题,即
p={p|Epf=Ef,i=1,2,···,k}
p*=arg H(p) (9)
求解这个最优解的经典方法是拉格朗日乘子算法,本文直接给出结论。式(9)要求的p*具有下面的形式:
p*(a|b)=exp(λifi(a,b) (10)
其中,π(b)是规一化因子。
π(b)=exp(λifi(a,b) (11)
λi是参数,可以看成特征函数的权值,如果通过在训练集上进行学习,知道了 的值,就得到了概率分布函数,完成了最大嫡模型的构造。设|A|是事件集的大小,k是特征函数的数目,从式(10)我们可以看到塌大嫡模型的时间复杂度是O(k|A|)。
为了构造最大嫡模型,我们必须求出参数λ,文本中我们使用了GIS算法。设N是训练样本集的大小,|A|是事件集的大小,算法经过P次迭代后收敛,则整个复杂度是O(NP|A)。
2.实验
基于网络产品评论的倾向化研究实验,我们选取了凡客诚品购物网。凡客诚品购物网网是国内著名的拥有自主品牌,网络销售的以服装类销售为主的购物网站,该网站包括数万个款式的服装,数百万个注册用户和数千万条评论数据。本文选择了包含评论最多的100款服装作为研究对象。
本文实验的结果主要有两个评价指标:召回率和准确率。召回率是模型正确判断的结果占所有正确结果的比率;准确率是模型正确判断的结果占所有判断结果的比率[3]。为了综合评价系统的性能,一般还会计算一个F值,即准确率和召回率的加权几何平均值[4]。以上三个评价指标的计算公式如下:
其中,β是召回率和准确率的相对权重,本文取β=1,即认为召回率和准确率同等重要。
主观评论一般分为三类:正面褒扬类、中立类、反面贬斥类,可以根据评论中出现的情感词进行判别[5]。本文的实验语料为用户对100款服装的评论,从中选出800条评论语句。本文首先将原始语料进行了处理,为了不破坏评论中情感词的上下文关系,更好地将评论的倾向性看作一个序列,降低数据拟合对实验结果的影响,我们抽取其中的600条评论作为训练集,200条评论作为测试集。评论的标记情况如表1所示:
利用最大熵模型对其中600条标记的评论进行训练,得到一个模板文件,然后根据此模板文件对剩余200条测试语料进行测试,实验结果如表2所示。
从下表可以看出,200条测试评论人工标注的结果为褒扬类100条,贬斥类80条,中立类20条,而模型判断的结果为:褒扬类87条,贬斥类67条,中立类46条。由于受到客观中立类冗余标记的影响,有些本身带有情感倾向的评论没有被模型正确识别出来,而是误将它们划分到了中立的类别中,同时,有些本身不包含情感倾向的中立类评论被误分到了褒扬或贬斥的类别中[5]。上表中匹配标记指的是模型判断出的结果与人工标注的结果相一致的标记,也就是指模型判断正确结果的总数。整体来看,三类标记取得的准确率和召回率不是很高,仅为61.5%,尤其是中立类的准确率不到30%,是因为在训练过程中,模型受客观冗余标记的影响,将一些褒扬或贬斥类的评论误分到了中立类别中,导致模型判断出的中立类结果总数增多,从而降低了其准确率。
3.结论
在评论中可能出现了情感词表中未能包含的情感词汇或者是出现了在否定词表和程度副词表中没有包括的否定词和程度副词,因为情感词表是我们人工标注的,由于精力有限,使得情感语料规模有限,这也使得统计不够全面。 对于评论中的一些词汇是否包含情感,是否是情感词汇,只能通过人工才能判断,无论是采用基于规则的,还是基于统计的方法,目前的机器计算都还无法判断出来的[6]。以上这两方面可能是造成我们的结果精确度不高的原因。总的来说,取得了不错的准确率和召回率,都达到了60%以上,表明使用最大熵模型做情感倾向研究是很有效的。
【参考文献】
[1]姚天昉,娄德成.汉语语句主题语义倾向分析方法的研究.中文信息学报,2007,21(05):73-79.
[2]徐琳宏,林鸿飞,杨志豪.基于语义理解的文本倾向性识别机制阴.中文信息学报,2007,21(1):96-100.
[3]周俊生,戴新宇,尹存燕,陈家骏.自然语言信息抽取中的机器学习方法研究.计算机科学,2005,32(03):186-190.
[4]Adam L.Berger,Stephen A.Della Pjetra, and Vincent J.Della Pjetra .A Maximum EntropyApproach to Natural Language Processing.Computational Linguistic,1996,22(l):39-71.
[5]姚天防,程希文,徐飞玉等.文本意见挖掘综述[J].中文信息学报,2008,Vol.22(No.3).
[6]许洪波,姚天防,黄营等等.“中文倾向性分析评测技术报告”.北京:第二届中文倾向性分析评测会议(COAE2009),2009.
[7]S.Blair-Goldensohn, K.Hannan,R.McDonald,T.Neylon,G.A.Reis,J.Reynar. Building a sentiment summarizer for local service reviews.Proceedings of NLP Challenges in the Information Explosion Era.Beijing:Academic Press,2008:1-9.