基于多粒度计算和多准则融合的情感分类
王丙坤, 黄永峰 , 李星     
清华大学 电子工程系, 北京 100084
摘要:随着在线用户生成内容的激增, 无监督情感分类方法有着广泛应用前景。现有基于情感词的无监督情感分类方法没有考虑句子类型和句间关系对情感分类的影响,分类效果较差; 基于自学习的无监督情感分类方法在生成伪标注数据集时, 又会引入较多错误。针对上述问题, 该文提出了一种基于多粒度计算和多准则融合的无监督情感分类方法。该方法通过多粒度计算, 提高现有基于情感词的无监督情感分类精度; 同时通过多准则融合来减少伪标注数据错误率。在3个真实中文数据集上的实验结果表明: 与现有无监督情感分类方法相比, 该方法平均提高了6.5%的分类精度。
关键词情感分类    无监督方法    多粒度计算    多准则融合    
Sentiment classification based on multi-granularity computing and multi-criteria fusion
WANG Bingkun, HUANG Yongfeng , LI Xing    
Department of Electronic Engineering, Tsinghua University, Beijing 100084, China
Abstract:The large amount of online user-generated content on the Web has created a need for unsupervised sentiment classification methods. Unsupervised sentiment classification methods based on sentiment words do not work well because the complex sentence structures and sentence types are seldom taken into account. Unsupervised sentiment classification methods based on self-learning have many errors when generating pseudo-labelled datasets. These limitations are reduced by the current method based on multi-granularity computing and multi-criteria fusion. The multi-granularity computing improves the accuracy of unsupervised sentiment classification methods based on sentiment words. The multi-criteria fusion reduces the number of errors in the pseudo-labelled data from the self-learning. Tests using three real Chinese review datasets show that the classification accuracy is 6.5% more accurate on average than with existing unsupervised sentiment classification methods.
Key words: sentiment classification    unsupervised methods    multi-granularity computing    multi-criteria fusion    

随着评论和社交媒体的飞速发展,用户生成内容出现爆炸式增加。如何有效挖掘用户生成内容中的观点信息,对自然语言处理和Web挖掘提出了新挑战[1]。因此,网络文本情感分类技术受到了越来越多的研究[2]

现有情感分类方法主要分为3类:有监督、无监督和半监督方法[3]。有监督方法主要采用传统文本分类器实现情感分类[4]。与传统文本分类方法不同,情感分类具有较强的领域依赖性[5]。为获得较好性能,有监督方法需要大量人工标注训练数据,同时,要求测试数据和训练数据的领域分布尽量一致[6]。为每个领域标注大量训练数据是一项费时、费力、消耗大的工作,已成为有监督方法应用的主要瓶颈。

为解决人工标注大量数据的问题,出现了只需少量标注数据的半监督方法和不需要标注数据的无监督方法。在半监督方法中,现有研究成果主要以少量人工标注数据为初始训练集,训练情感分类器; 然后基于自学习框架,通过选择可信度高的数据加入初始训练集,迭代训练分类器,最终实现情感分类[7, 8]。现有无监督方法主要有2类:一是基于种子情感词扩展或情感词典实现情感分类[9, 10, 11]; 二是以基于情感词的无监督方法为基础,采用自学习框架,生成伪标注数据集,训练自学习情感分类器,实现情感分类[3, 12]。前者很少考虑句子类型和句间关系对情感分类的影响[10, 11]; 后者在生成伪标注数据集时,会引入较多错误标注数据[3, 12]

为解决这2个问题,以自学习框架为基础,本文提出了基于多粒度计算和多准则融合的情感分类方法,实现网络文本在线高效分类。针对基于情感词的无监督方法,采用一种多粒度计算方法。通过词、短语、句子和句间关系等多个语言粒度,计算评论情感强度,提高基于情感词的无监督情感分类方法精度。针对现有在自学习框架下的无监督方法,采用一种多准则融合方法。通过多准则融合生成和更新伪标注数据,减少伪标注数据的错误率,为自学习情感分类器提供精确标注的训练数据,提升自学习情感分类器的性能。

1 基于多粒度计算和多准则融合的情感分类框架

无监督情感分类方法不需要人工标注训练数据集,具有很好的跨领域移植性并支持在线分类。但当前无监督情感分类方法存在着分类精度低和伪标注数据错误多等问题,针对这些问题,本文建立了一种基于多粒度计算和多准则融合的情感分类方法。该方法的整体框架见图 1,其中rm为评论。

图 1 基于多粒度计算和多准则融合的情感分类框架

框架主要由2部分组成:

1) 多粒度计算方法。现有基于情感词的无监督方法主要通过计算评论中情感词和情感短语来实现情感分类,很少考虑句子类型和句间关系对情感分类的影响。针对以上问题,框架中提出了一种多粒度计算方法。该方法综合考虑情感词、情感短语、情感句子和句间关系等多个粒度的信息,通过多粒度综合来计算评论的情感强度,提高现有基于情感词的无监督方法情感分类性能。

2) 多准则融合方法。现有基于自学习的无监督方法在生成伪标注数据集时主要采用可信度准则选取伪标注数据,只考虑了伪标注数据的可信度,但可信度高的伪标注数据可能不具有代表性,从而影响自学习情感分类器的性能,造成在迭代自学习过程中引入较多错误数据。针对上述问题,框架中提出了一种多准则融合方法,通过情感类别可信度准则和情感类别代表度准则的融合,选取情感类别可信度和情感类别代表度都高的评论生成伪标注评论集,训练自学习情感分类器。

2 多粒度计算方法

现有基于情感词的无监督方法主要基于情感词和情感短语实现情感分类,很少考虑句子类型和句间关系对情感分类的影响。而相同句子内容使用不同句式可能表达完全相反的情感。例如,在评论“这屏幕真是好啊!色彩柔和,很棒!”和“这屏幕真是好啊?在阳光下完全看不清。”中,相同的句子内容“这屏幕真是好啊”分别表达了完全相反的情感。为此,本文提出了多粒度计算方法,从词、短语和句子等多个粒度依次计算情感强度,最终计算评论rm的情感强度si(rm),实现情感分类。

2.1 情感词情感强度计算方法

现有情感词情感强度计算方法主要采用情感词典或种子情感词扩展,没有对情感词进行区分。但有些情感词在不同的上下文语境下可能表达完全相反的情感。例如,情感词“大”在“噪声大”这个上下文中表现出负的情感倾向,而在“容量大”这个上下文中表现出正的情感倾向。为此,在本文中情感词区分为静态情感词和动态情感词。静态情感词情感强度的计算采用文[13]中的方法。对在情感词典中的静态情感词,采用查词典的方法计算情感强度; 对不在情感词典中的静态情感词,采用基于情感字典的方法计算情感强度。对动态情感词,采用定长滑动窗口,依据滑动窗内最近邻情感词和情感一致性原则来计算动态情感词的情感强度。具体计算方法如下:

1) 对每一个动态情感词wk,用其在情感词典中的情感作为初始化情感强度siinitial(wk)。

2) 以动态情感词wk为中心,使用长度为5的滑动窗向前寻找最近的情感词wnearest

3) 依据最近情感词的情感强度si(wnearest),计算动态情感词wk的情感强度。

si(wk)=sign(si(wnearest))siinitial(wk). 其中,

$sign(si({\omega _{nearest}})) = \left\{ \begin{array}{l} 1,si({\omega _{nearest}}) \ge 0;\\ - 1,si({\omega _{nearest}}) \lt 0. \end{array} \right.$

2.2 情感短语情感强度计算方法

以候选情感词为中心,使用一个固定长度的滑动窗口和语法规则构建情感短语结构。依据滑动窗口内副词的修饰情况,计算情感短语的情感强度。具体方法是:以情感词为中心,采用长度为5的滑动窗口来限定情感短语的距离,以具体规则发现情感短语。具体规则如表 1所示。

表 1 情感短语的构造规则
情感词类型情感短语构造规则
形容词副词+形容词+副词
动词副词+动词+副词

以si(wk)为基准,考虑情感短语中副词对情感词情感强度的影响,计算情感短语pk的情感强度si(pk)。

$\begin{array}{l} si({p_k}) = f(class(adv))si({\omega _k}),\\ f(class(adv)) = \left\{ \begin{array}{l} - 1,\quad class(adv) = na;\\ \alpha ,\qquad class(adv) = da. \end{array} \right. \end{array}$

其中:class(adv)是副词的类型,α是程度副词的加权系数,na为否定副词,da为程度副词。知网词典(http://www.keenage.com/html/c_bulletin_2007.htm)把程度副词分为5类,对5类程度副词,采用表 2的加权系数进行加权。

表 2 不同程度副词的加权系数
程度副词类型不够
加权系数21.61.20.80.4
2.3 句子和评论情感强度计算方法

基于语言学理论,本文依据标点符号把句子分成陈述句、疑问句和感叹句这3种类型。首先综合句子中情感词和情感短语的情感强度,得到句子的情感强度。然后,对不同句子类型采用不同的处理方法,如表 3所示。

表 3 不同句子类型的处理方法
句子类型处理方法
陈述句直接计算句子的情感强度
疑问句对句子的情感强度取反
感叹句对句子的情感强度加权,加权系数为2

依据句子间的连接副词,把句间关系分为转折和总结这2种关系。对不同句间关系,采用不同的处理策略,如表 4所示。

表 4 句子间关系的处理方法
句子关系处理方法
转折关系比较两个句子的情感强度是否相反,如不相反,则对正向情感强度的句子取反。
总结关系对总结句子的情感强度加权,加权系数为2。

基于句子情感强度,把评论rm中全部句子的情感强度相加,得到评论的情感强度si(rm)。

3 多准则融合方法

现有基于自学习框架的无监督方法主要采用可信度准则选取伪标注评论,只考虑了伪标注评论的正确性,没有考虑伪标注评论的代表性,造成在自学习中会引入较多错误标注数据。为此,本文提出了多准则融合方法。通过情感类别可信度准则和情感类别代表度准则的融合,选取正确性高且具有代表性的评论生成伪标注评论,从而减少伪标注数据的错误率,提升自学习情感分类器的性能。为量化伪标注评论的代表性和正确性,本文定义了评论情感类别代表度和评论情感类别可信度。

3.1 情感类别代表度计算方法

评论情感类别代表度的具体计算方法如下:

1) 基于评论情感强度si(rm),按si(rm)从小到大顺序对全部N个评论进行排序,得到排序后的评论集合RD={rm|m=1,2,…,N}。

2) 对RD中的任意评论rm,进行分词和词性标注,以词为特征构建评论rm的L维空间向量模型rm=wl,w2,…,wL

3) 对RD中任意2个评论rm和 ri,用余弦相似度计算评论间相似度sim(rm,ri)。

$sim({r_m},{r_i}) = \frac{{{r_m}{r_i}}}{{||{r_m}||\quad ||{r_i}||}}$

4) 对RD中的任意评论rm,按sim(rm,ri)从大到小顺序排序N个相似度,通过前K个相似度的算术平均,计算评论rm的代表度R(rm)。

$R({r_m}) = \frac{{\sum\limits_{i = 1}^K {sim({r_m},{r_i})} }}{K}$

5) 对RD,依据每个评论的代表度R(rm),计算RD的平均代表度Rav

${R_{av}} = \frac{{\sum\limits_{m = 1}^N {R({r_m})} }}{N}.$

3.2 多准则融合方法

现有方法主要基于自学习情感分类器计算评论的情感类别可信度,然后按照评论可信度从大到小顺序,选取一定数量的伪标注评论添加到初始伪标注评论数据集中[3]。与这些方法不同,本文首先定义了情感类别代表度准则,在计算情感类别代表度的基础上,分别基于多粒度计算方法来计算评论情感类别可信度CMGC(rm)和基于自学习情感分类器来计算评论情感类别可信度CSVM(ri),然后对这2类可信度进行投票加权,计算评论整体情感类别可信度C(rm)。最后,通过C(rm)准则和R(rm)准则的融合,选取C(rm)和R(rm)都高的伪标注评论添加到初始伪标注评论数据集中。评论情感类别可信度计算和多准则融合方法具体流程如下:

1) 对评论集合RD={rm|m=1,2,…,N}中的任意rm,用式(1)计算CMGC(rm)。

${C_{MGC}}({r_m}) = \left\{ \begin{array}{l} \frac{{si({r_m})}}{{si({r_N})}},si({r_m}) \ge 0;\\ - \frac{{si({r_m})}}{{si({r_1})}},si({r_m}) \lt 0 \end{array} \right..$ (1)

2) 从RD两端,选取一定数量CMGC(rm)的绝对值高且R(rm)大于Rav的评论生成初始伪标注评论集(本文中初始伪标注评论集的大小选取RD的40%)。

3) 用初始伪标注评论集训练自学习情感分类器(本文选取SVM分类器),用训练好的分类器计算不在初始伪标注评论集中的每个评论ri的情感类别可信度CSVM(ri):

$\left\{ \begin{array}{l} \frac{{{w^T}{r_i} + b}}{{\max ({w^T}{r_i} + b)}},\qquad {w^T}{r_i} + b > 0;\\ - \frac{{{w^T}{r_i} + b}}{{\min ({w^T}{r_i} + b)}},\qquad {w^T}{r_i} + b \lt 0. \end{array} \right.$ (2)
其中wTri+b表示评论ri到分类超平面的距离。

4) 基于CMGC(ri)和CSVM(ri),计算ri的整体可信度:

$C({r_i}) = \frac{{{C_{MGC}}\left( {{r_i}} \right) + {C_{SVM}}({r_i})}}{2}.$

5) 通过C(rm)准则和R(rm)准则的融合,选取C(rm)的绝对值高和R(rm)高的伪标注评论,生成伪标注集合:

$S = \{ {r_i}|\left| {C({r_i})} \right| \ge 0.5,R({r_i}) > {R_{av}}\} .$

6) 如S不为空,则把S中的评论填加到初始伪标注评论集中。

7) 重复步骤3—6,直到没有新的评论添加到初始伪标注评论集为止。最终得到伪标注评论集和训练好的自学习情感分类器。

4 实验评估 4.1 实验数据集和实验设定

为验证本文方法性能,选取中国科学院的3个评论数据集作为实验数据集(http://www.datatang.com/data/11936/),数据集的分布如表 5所示。

选择准确率P、 召回率R、 F1和精度AC这4个分类指标作为度量标准。选取基于情感词典扩展的无监督方法SLE[10]、 基于情感词典和规则的无监督方法SLR[11]、 基于自学习框架的无监督方法SLF[3]、 有监督SVM方法[4]与本文方法比较,在3个评论数据集上进行了实验。在SVM中,采用了10折交叉验证的方法来计算SVM的情感分类精度。

表 5 评论数据集的分布
评论数据集正向评论数量负向评论数量
书评2 0002 000
酒店评论2 0002 000
非平衡酒店评论7 0003 000
4.2 不同情感分类方法性能比较

不同情感分类方法实验结果如表 6所示。可以看到,与3种无监督情感分类方法相比,本文方法在4个分类指标上都有较大幅度的性能提升。本文方法不需要任何人工标注的训练数据集,是一种无监督的方法。

表 6 不同情感分类方法性能比较
方法书评酒店评论非平衡
酒店评论
平均
SLEP0.696 30.705 50.698 70.700 2
R0.760 10.745 60.747 90.751 2
F10.726 80.725 00.722 40.724 7
AC0.696 30.705 50.781 20.727 7
SLR P0.761 80.727 30.708 40.732 5
R0.792 40.732 90.776 60.767 3
F10.776 80.730 10.740 90.749 3
AC0.761 80.727 30.796 20.761 8
SLF P0.741 00.794 30.790 30.775 2
R0.767 00.801 00.785 30.784 4
F10.753 80.797 60.787 80.779 7
AC0.741 00.794 30.820 10.785 1
SVM P0.871 50.825 30.694 50.797 1
R0.871 50.830 80.841 40.847 9
F10.871 50.828 00.760 90.820 1
AC0.871 50.825 30.807 80.834 9
本文
方法
P0.874 50.836 30.774 50.828 4
R0.875 80.837 00.828 20.847 0
F10.875 20.836 70.800 50.837 5
AC0.874 50.836 30.839 60.850 1

与有监督SVM情感分类方法相比,在书评数据集上,本文方法的AC与SVM的基本相当,提升了0.3%:在酒店评论数据集上,本文方法的AC比SVM的有一定的提高,提升了1.1%:在非平衡酒店评论数据集上,本文方法的AC比SVM的有较大的提高,提升了约3.2%。这说明本文方法不但在平衡数据集上表现出了较好的性能,而且在非平衡数据集上的性能更为突出,这恰是有监督方法的劣势所在。

在不同数据集上,本文方法分类性能都表现较好且比较稳定。主要原因在于:通过多粒度模型提高了基于情感词典的无监督方法分类精度;通过多准则融合自学习框架,保证了伪标注数据既具有高的可信度,又具有高的代表度,降低了伪标注数据的错误率。

4.3 初始伪标注数据集大小对本文方法的影响

为研究初始伪标注数据集大小对本文方法的影响,分别选取评论数据集的2%、 5%、 10%、 20%、 30%、 40%、 50%、 60%、 70%和80%作为初始伪标注数据集,得到本文方法在不同大小初始伪标注数据集下的分类结果,如图 2所示。

图 2 不同大小初始伪标注数据下本文方法的性能

图 2可以看出,在3个不同的评论数据集上,在初始伪标注数据集大小为评论数据集的20%~60%时,本文方法表现出更好的性能。这说明通过选择大小合适的初始伪标注数据集,可以在初始伪标注数据集的精度和大小上有一个较好的折中,这样的选择能较好地保证本文方法在后续的迭代自学习中实现较好的性能。

5 结 论

本文提出了基于多粒度计算和多准则融合的情感分类方法。该方法通过多粒度计算来提高基于情感词的无监督方法精度:同时,通过多准则融合生成和更新伪标注数据,减少伪标注数据的错误率,提升自学习情感分类器的性能。在3个真实中文评论数据集上的结果表明:该方法比已有方法具有更好的性能。

参考文献
[1] Pang B, Lee L L. Opinion mining and sentiment analysis [J]. Foundations and Trends in Information Retrieval, 2008, 2(1-2): 1-135.
[2] LIU Bing. Sentiment analysis and opinion mining [J]. Synthesis Lectures on Human Language Technologies, 2012, 5(1): 1-167.
[3] ZHANG Pu, HE Zhongshi. A weakly supervised approach to Chinese sentiment classification using partitioned self-training [J]. Journal of Information Science, 2013, 39(6): 815-831.
[4] Pang B, Lee L L, Vaithyanathan S. Thumbs up? Sentiment classification using machine learning techniques [C]//Proceedings of Conference on Empirical Methods in Natural Language Processing. Philadelphia, USA: ACL, 2002: 79-86.
[5] XIAO Min, GUO Yuhong. Feature space independent semi-supervised domain adaptation via kernel matching [J]. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 2015, 37(1): 54-66.
[6] Pan S J, Ni X C, Sun J T, et al. Cross-domain sentiment classification via spectral feature alignment [C]//Proceedings of the 19th International Conference on World Wide Web. New York, NY, USA: ACM, 2010: 751-760.
[7] LI Shoushan, WANG Zhongqing, ZHOU Guodong. Semi-supervised learning for imbalanced sentiment classification [C]//Proceedings of the Twenty-Second international joint conference on Artificial Intelligence. Barcelona, Spanish: AAAI, 2011: 1826-1831.
[8] WAN Xiaojun. Bilingual co-training for sentiment classification of Chinese product reviews [J]. Computational Linguistics, 2011, 37(3): 587-616.
[9] Turney P D. Thumbs up or thumbs down? Semantic orientation applied to unsupervised classification of reviews [C]//The 40th annual meeting of the Association for Computational Linguistics. Philadelphia, USA: ACL, 2002: 417-424.
[10] Ku L W, Lee L Y, Chen H H. Opinion extraction, summarization and tracking in news and blog corpora [C]//Proceedings ofAAAI-CAAW-06, the Spring Symposia on Computational Approaches to Analyzing Weblogs. Stanford, USA: AAAI, 2006.
[11] Taboada M, Brooke J, Tofiloski M, et al. Lexicon-based methods for sentiment analysis [J]. Computational Linguistics, 2011, 37(2): 267-307.
[12] TAN Songbo, WANG Yuefen, CHENG Xueqi. Combining learn-based and lexicon-based techniques for sentiment detection without using labeled examples [C]//Proceedings of the SIGIR. New York, NY, USA: ACM, 2008: 743-744.
[13] WANG Bingkun, MIN Yulin, HUANG Yongfeng, et al. Chinese reviews sentiment classification based on quantified sentiment lexicon and fuzzy set [C]//2013 International Conference on Information Science and Technology. YangZhou, China: IEEE, 2013: 677-680.