极性相似度计算在词汇倾向性识别中的应用
2010-07-18宋乐何婷婷王倩闻彬
宋乐,何婷婷,王倩,闻彬
(1.华中师范大学计算机科学与技术系,湖北武汉430079)
(2.国家语言资源监测与研究中心网络媒体分中心,湖北武汉430079)
1 引言
自上个世纪80年代以来,互联网信息与日俱增。如何在短时间内获取大量客体(人物、事件、产品等)的评价信息,就成了迫切需要研究的课题。
在这一背景下,文本的倾向性分析是当前自然语言文本处理领域的研究热点,并且在市场预测分析、民意调查、智能导购、大众评论等诸多领域有着广阔的应用空间和发展前景。此外,文本倾向性分析也为文本分类、信息抽取、自动摘要等自然语言处理技术提供了新的研究思路。
心理学研究[1]表明,词汇和人类情感之间的关系是可度量的,独立的词汇或短语的语义倾向对于传达人类情感是重要的。由此可见,词汇的倾向性识别是文本倾向性研究的基础。
词汇的倾向性识别主要有两类方法——统计方法和语义方法[2]。统计方法主要是基于机器学习,利用文档集中词汇间的共现关系来计算词汇的倾向性。早在 1997年,Hatzivassilog lou和 M cKeown就尝试使用连接形容词的连词的语言学约束来判断所连接的两个形容词表达的感情是否一致,然后用聚类方法来获得表示情感倾向的两个形容词类[3]。在2003年,Peter D.Turney和M ichael L.Littman[4]使用的点互信息(PM I-IR)方法利用了搜索引擎提供的“NEAR”操作,来估计词汇与具有强烈倾向意义的种子词集合的关联程度,以此作为计算该词倾向性的依据。同年,Yu和 Hatzivassiloglou[5]挑选出若干极性较强的形容词(情感词)构建一个种子词集合,通过计算新词和种子集合中的词的共现概率来判断新词的语义倾向。语义方法主要是基于一个现存的本体知识库,如英文的WordNet和中文的How Net,通过计算待估词与选定的基准词的语义距离,进而判断待估词的倾向性。2002年,Kamps等[6]正是利用WordNet的同义结构图计算待估词与所选基准词的语义距离来得到其倾向性。在中文方面,复旦大学的朱嫣岚等[7]在2006年提出的基于How Net的词汇语义倾向性计算方法,利用词语间的相似度来计算词的褒贬程度。
本文介绍了一种基于极性相似度计算的词汇倾向性识别方法,该方法首先利用 How Net中的“良”,“莠”极性义原计算出未定词与基准词间的极性相似度,然后得出词汇的极性值,从而识别出其极性倾向。我们在第一届中文倾向性分析评测比赛中使用了此方法,评测表明此方法能够有效地提高词汇倾向性识别的准确率。
2 词汇的极性相似度计算
2.1 极性相似度的引入
《知网》(How Net)[8]的结构化特点,为汉语词汇语义的相似度计算[9]提出了新的思路和方法。传统意义上的相似度主要反映的是词语语义的相似程度,也可以理解为两个词语在不同上下文环境中可以互相替换使用,而不改变句法语义结构的程度。刘群等[10]提出了一种词汇语义相似度计算方法。虽然这种语义相似度能够反映词语在句法结构上的相似程度,但却很难体现词汇在极性程度上的相似性,如表 1、2 所示。
由表1、2可以看出:词性相同而极性不同的词语相似度很大,但词性不同而极性相同的词语,相似度则非常的小。使用语义相似度计算方法来识别词汇倾向性效果很不理想,如表1中“好”和“坏”的相似度竟然接近1,而表2中“好”和“优点”的相似度却近似为0。
表1 相同词性的词汇语义相似度
表2 不同词性的词汇语义相似度
为此,我们提出了词语极性相似度的概念。所谓词语的极性相似度就是指两个词在褒贬情感强度上的相似程度。另外,在复杂的汉语词汇中有这样两类词,一类词在不同语境中可能具有情感色彩,也可能是中性的,我们称之为弱极性词。另一类词在不同语境中可能具有褒贬两极,这一类词被称为褒贬两性词。极性相似度对这两类词的识别也有一定的效果。
图1 H ow Net中弱极性词和褒贬两性词的表示
2.2 义项间极性相似度计算
在How Net中,每一个词语都用一个或多个义项组成,要计算词语间的相似度,首先要计算词语义项间的极性相似度。然后通过义项相似度得到词语间的极性相似度。
刘群等[10]将义原分成四大类:第一基本义原,其他基本义原,关系义原,符号义原,然后根据不同种类的义原分别用不同的算法求取义原间的相似度,最后得到两个义项间的相似度。
但我们发现,在H ow Net中有这样两个义原:“desired/良”和“undesired/莠”。它们对词汇的极性倾向具有重要的意义。而在传统语义相似度计算中这两个义原被作为其他基本义原组合到集合中进行相似度计算,并且只配给了一个次要权重。这就在很大程度上降低了这两个代表情感倾向的义原的重要性。为此我们提出了极性相似度计算的新方法:
首先,除了上面提到的四种义原之外,我们将“desired/良”和“undesired/莠”作为一种新的义原—极性义原。具有极性义原的义项称为极性义项。极性义原间的相似度表示为Sim*(s1,s2),我们规定相同极性义原的相似度为1,不同的为0。
其次,为了增加极性义原在相似度计算中的比重,我们将极性义原相似度和第一基本义原相似度结合起来再乘以最大权重。这样即可以扩大极性义原的作用,又可以在一定程度的保存词语间的语义相似性。
最后,我们得到了词汇义项间的极性相似度公式:
其中,Sim*(s1,s2)为极性义原相似度。Simi(s1,s2)为其他义原相似度 。β1,β2,β3,β4是通过实验得出的调整参数。
2.3 词语间的极性相似度计算
How Net词语义项可以分为三种:具有“desired/良”义原的褒极性义项、具有“undesired/莠”义原的贬极性义项、没有极性义原的义项。
如果未定词只有一种义项,我们取义项间相似度的最大值作为词语的极性相似度。
其中Sa1…ak为词Wa的多个义项,Sb1…bk为词 Wb的多个义项。
但How Net中大量的词语具有两种以上的义项,比如前面所说的弱极性词和褒贬两性词。取义项相似度的最大值作为两个词语间相似度的方法,在一定上下文中,很难具有说服性的。理想方法是利用上下文语境先进行词义排歧,确定词语所表达的准确义项,再将适合这个概念的义项极性相似度作为词语的相似度。在这里,我们采用了一种基于共现思想的方法来考虑在具体语境中的义项相似度选择,从而得出词语间的极性相似度。
首先我们假设未定词W x(至少具有两种义项)、确定极性的基准词Wb(基准词选取在How Net中只有一种极性义项的词。即Wb具有唯一极性义项Sb)。
算法步骤:
(1)将W x的多个义项分别组成两种集合:具有“desired/良”义原的褒义项集合C+x,具有“undesired/莠”义原的贬义项集合Cx-。然后分别计算这两个集合与Sb的义项间的极性相似度SimO+(,Sb)和SimO-(C-x,Sb)(集合中的多个义项间相似度取最大值)。
(2)我们选取一个长度大小为K的窗口在训练语料集的所有文档中移动。窗口中的每对词语我们都认为是共现的,其共现强度与距离成反比。这样我们就能计算出共现词语的相关度:
其中,N(W1,k,W2)为词语W1和W2在相关文档集合中K窗口内距离为k时的共现次数(k 这样,我们就能算出未定词W x与基准词Wb在训练语料中的相关度Re l(Wx,Wb)。 (3)我们取定一个相关度阈值RT。 如果Re l(Wx,Wb)>RT,我们认为在训练语料中未定词Wx与基准词Wb具有很大的相关性。那么:若Wb为褒义,则W x与Wb的词语间极性相似度取它们褒极性义项相似度:SimO+(,Sb)。若Wb为贬义,则取贬极性义项相似度:SimO-(,Sb)。 如果Re l(Wx,Wb)