用于商业舆情监控系统的观点词典建立方法

商业舆情监控平台SliceProfile实现了语句级观点分类和倾向性分析。实现观点分类的前提是建立观点词典。

观点词也叫极性词或情感词,英文可以是polar word, sentiment word, opinion word,在英语里面,极性词可以分成两类

  • 基本类:base type
  • 比较类:comparative type,例如,better, worse, best, worst

中文里面似乎这样分类是没有必要的,可以通过识别一些作为比较的词确定比较句,例如,“比”,“同什么相比”。判定比较句的观点的褒贬倾向有些麻烦,因为即使人从实际语义上也难判断对某个特性是贬还是褒,因为只是相对的贬和褒,所以,可以采用这两种判断方法:

  • 比较句涉及两个对象或者特性(feature),相比较而言,观点更正面的那个划为褒类,另一个划为贬类
  • 从语义上理解,将两个对象的观点都划为中性也说得过去,因为某人说A比B强,不见得该人就是想表达A强。

极性词典的建立方法可以归纳为:

  • 手工方法(manual approach)
  • 基于词典的方法(dictionary-based approach)
  • 基于语料集的方法(corpus-based approach)


基于词典的方法

先收集小量的极性词,然后用程序自动的查WordNet等语义词典,查找同义词和反义词进行扩展。缺点是难于将词典的建立限定在特定领域。《Sentiment Analysis and Subjectivity》一文举了一个例子,quiet用于描述speakerphone和car的褒贬是不一样的。实际上,这不仅是领域问题,而且深入到上下文语义的层面,下一节将再次讨论这个问题。



基于语料集的方法

这三种极性词典的建立方法的目的都是一致的:怎样扩充词典。基于语料库的方法也是使用少量的极性词作为种子,利用句法或者词语的共现模式(co-occurence pattern)识别更多的极性词。同上节方法相比,更容易限定在特定领域。方法可以是:

  • 识别并利用连接词AND:在一个句子中,如果多个形容词用and连接起来描述同一个对象特征,那么这些形容词很有可能都是极性相同的。在英语里面,还可以使用的连接词有or, but, either...or, neither...nor等。这叫做观点连贯性(sentiment consistency)。用同一个连接词连接在一起的不一定都是极性一致,据说用log-linear model进行辨别,暂未验证。
  • 扩展上述方法,分成句内连贯性(intra-sentential consistency)和句间连贯性(inter-sentential consistency)
  • 从句法上观察,观点词和被描述的对象特征词是关联在一起的。所以,通过识别特征词可以提取更多观点词,另一方面,通过识别观点词可以提取更多特征词。这被称作双向传播(double propagation)
  • 即使在同一个领域内,同一个观点词的褒贬也会变化,例如,“电池待机时间长”和“镜头聚焦时间长”分别是褒和贬,因此必须和特征词进行关联,这称为观点上下文或者观点语境(opinion context)。据说条件随机场(Conditional Random Fields,CRF)能够用于这种情况的观点词提取,SliceProfile采用的算法同样可以高效且满意地实现语境识别。