Sentifier情感分析系统简介与下载
谭松波
Updated
on 2010-07-15
Sentifier是中科院计算所谭松波博士研制的一种新型情感分析系统。该系统已在大规模网络舆情中得到应用。在普通PC上它的分析速度可以超过4M/秒。若用10k来估计一篇文本的长度,那么本系统每秒钟可以分析约400篇文本。
1.基本模块与算法
本系统包含两个情感分类模块与三个情感移植模块:
1.1
情感语料分析模块
我们将情感分类问题看作是一类特殊的文本分类问题,于是采用文本分类算法来解决。本模块采用Drap高性能分类算法。更多细节请参看文献[3]。
1.2
情感语义分析模块
情感词典方法是一种重要的语气分类方法。它的优点就是不需要训练集。我们对10万常用汉语词汇进行情感标注。从中标出7857个倾向最明确的情感词。比如,“下跌”这个词可能是中性,可能是积极,还可能是消极。“下跌”对开发商来说可能意味消极,但对购房者来说可能是积极。对这类词语,我们都不予收录。其中,正面情感词为3133个;负面情感词为4724个。实验结果表明,直接基于情感词典进行分类就能达到70%左右的精度。
1.3
情感语料移植分析模块
如图1所示,源领域(Old
Domain)样本分别用两个椭圆来表示,其中灰色的椭圆表示负面样本,白色的椭圆表示正面样本;目的领域(New
Domain)样本也同样分别用灰白两个椭圆来表示,灰色表示负面样本,白色表示正面样本。CON
和
COP分别是源领域负面和正面两个类别的中心向量,源领域中心线(Old
Middle Line)为连接CON
和
COP的垂直平分线。从另一角度来看,源领域中心线实际上代表了分隔源领域负面和正面两个类别的超平面。利用源领域中心线,我们可以正确区分源领域负面和正面两个类别的样本。然而,从图中我们可以看到,对于目的领域,源领域中心线就无法正确划分正负面了,中心线以下的负面样本将会被错误地划分为正面类别,这也解释了源领域分类器应用于目的领域分类性能很差的原因。解决这个问题的一种直观的方法如图2所示。首先,从目的领域中挑选一些最具有领域特点的样本,如图所示。并重新训练基本分类器;然后,计算两类样本的中心CSNN
和
CSNP,得到目的领域中心线(New
Middle Line),此时,我们可观察到,目的领域的样本基本可以被目的领域中心线正确地分类了。
更多细节请参看论文[2]。
图1
源领域分类器应用于目的领域的分类性能示意图

图2
领域移植后的分类器应用于目的领域的分类性能示意图
1.4
情感语义移植分析模块
基于监督学习的语气分类方法通常具有很高的精度。但它对每个领域都需要大量有标签的训练样本。也就是说监督方法不具备良好的移植性。相反,非监督方法(比如基于通用语气词典)的精度常常受到限制。但是它不需要训练集。因此,非监督方法具备一定的移植性。
于是,我们考虑将这两种方法融合起来。我们的基本思想就是采用非监督方法为监督方法标注少量高类别隶属信任度样本,再采用这些标注样本来训练监督方法。
算法流程:
(1)采用语气词典从目标领域中挑选部分高信任度样本;
(2)然后基于这些样本训练一个分类器;
(3)最后将训练好的分类器应用于目标领域。
更多细节请参看论文[4]。
1.5
贝叶斯移植分析模块
为了最大限度地利用源领域数据,我们提出频繁共现熵,挑选出两个领域中频繁出现且有相似发生概率的通用情感特征;为充分利用目标领域信息,我们提出自适应朴素贝叶斯算法,这是朴素贝叶斯分类器的加权移植版本。
我们把通用情感词作为源领域通向目标领域的一座桥梁。在训练过程中,我们逐步加大目标领域的权重,使分类器模型与目标领域达到最佳匹配。可见,我们的算法既利用了源领域的部分可用信息,又充分吸收了目标领域的全部信息。
1.5.1 频繁共现熵
为获得通用情感词,我们提出一个频繁共现熵算法。通用情感特征符合两个准则:(1)两个领域频繁出现;(2)有相似的出现概率。
1.5.2 自适应朴素贝叶斯算法
我们将基于期望最大化的朴素贝叶斯方法(记为EMNB)用于跨领域学习。原则上说,EMNB要求标注数据和未标注数据服从同分布。很明显我们的跨领域学习问题不满足这一要求。然而,如果使用频繁共现熵方法挑选通用特征并且只使用这些特征初始化朴素贝叶斯模型进行期望最大化迭代,即可解决此问题。另一个问题是:只使用通用特征不足以准确预测目标领域标签。为解决此问题,我们提出一个新的加权EMNB分类器:随着迭代的进行,逐渐增加目标域数据的权重,减少源领域数据的权重,同时使用所有目标领域特征,从而极大增强分类器对目标域的预测能力。
更多细节请参看论文[1]。
2. 安装与试用
本系统的核心部分采用C++编码,界面采用VB开发平台。安装包是在VB6.0环境下使用VB自身的打包工具打包而成。安装后即可使用。
安装包下载
若你在试用中遇到任何问题,请及时与我们联系。
参考文献
[1] Songbo Tan, Xueqi Cheng,
Yuefen Wang, Hongbo Xu: Adapting
Naive Bayes to Domain Adaptation for Sentiment
Analysis. ECIR 2009: 337-349
[2] Songbo Tan, Gaowei Wu, Huifeng Tang, Xueqi Cheng: A
novel scheme for domain-transfer problem in the context of
sentiment analysis. CIKM 2007: 979-982
[3] Songbo Tan, Xueqi Cheng, Moustafa Ghanem, Bin Wang, Hongbo Xu:
A
novel refinement approach for text categorization. CIKM
2005: 469-476
[4] Songbo Tan, Yuefen Wang, Xueqi Cheng: Combining learn-based
and lexicon-based techniques for sentiment detection without using
labeled examples. SIGIR 2008: 743-744.