多策略中文微博细粒度情绪分析研究

  • 格式:pdf
  • 大小:938.15 KB
  • 文档页数:6

67 湖南省自然科学基金项目(13JJ4076, 11JJ6047)、湖南省教育厅优秀青年项目(13B101)和衡阳市科技计划项目(2012KJ9)资助 收稿日期: 2013-07-09; 修回日期: 2013-10-11; 网络出版日期: 2013-11-08

北京大学学报(自然科学版), 第50卷, 第1期, 2014年1月 Acta Scientiarum Naturalium Universitatis Pekinensis, Vol. 50, No. 1 (Jan. 2014) doi: 10.13209/j.0479-8023.2014.028

多策略中文微博细粒度情绪分析研究 欧阳纯萍† 阳小华 雷龙艳 徐强 余颖 刘志明

南华大学计算机科学与技术学院, 衡阳421001; † E-mail: ouyangcp@126.com 摘要 针对中文微博用户的情绪分析问题, 提出一种基于多策略融合的细粒度情绪分析方法。首先采用朴素贝叶斯算法对微博的有无情绪分类问题进行研究, 然后构建有情绪微博的21维特征向量, 最后采用SVM和KNN算法对微博进行细粒度情绪分析。以新浪微博作为实验对象, 结果表明多策略集成方法好于单一分类 算法。在多策略集成方法中, “NB+SVM”方法略优于“NB+KNN”方法。 关键词 细粒度情绪分析; 中文微博; 朴素贝叶斯; SVM; KNN 中图分类号 TP391

Multi-strategy Approach for Fine-Grained Sentiment Analysis of Chinese Microblog

OUYANG Chunping†, YANG Xiaohua, LEI Longyan, XU Qiang, YU Ying, LIU Zhiming School of Comupter Science and Technology, University of South China, Hengyang 421001; † E-mail: ouyangcp@126.com Abstract Fine-grained sentiment analysis of Chinese microblog is investigated and a method of multi-strategy fusion is proposed. Firstly, the authors apply naive Bayesian to identify sentiment or non-sentiment about microblog. Secondly, based on emotion ontology, a method for how to form 21 sentiment features vectors of microblog is presented. At last, fine-grained sentiment of microblog is classified based on SVM and KNN respectively. Experiment results show that multi-strategy fusion is better than a single method, in addition, “NB+SVM” strategy is better than “NB+KNN” strategy. Key words fine-grained sentiment analysis; Chinese microblog; naive Bayesian; support vector machine (SVM); K Nearest Neighbor (KNN)

微博是Web2.0时代分享与传播信息的重要平台, 使人们能够更加方便地评论热点事件, 抒发自己的情绪。因此, 国内外学者围绕微博展开一系列研究, 微博情绪分析是研究热点之一[1]。国外学者 采用基于SVM的距离监督学习、基于语义的关联分析、基于KNN的语料强化学习以及基于情感词的语义标注等方法对 Twitter进行情感分类研究[2−5]。由于中文微博比英文微博具有更丰富的语义信息, 上述方法无法直接应用到中文微博情绪分析中[6]。 所以国内学者从中文微博的特点出发, 致力于中文微博的情感分类和情绪分析研究。谢丽星等[7]提出一种基于SVM的层次结构多策略中文微博情感分类方法, 在引入主题相关的特征后, 基于层次结构的多策略方法在正负情感分类上准确率达到67.283%。刘志明等[8]分别使用3种机器学习算法、

3种特征选取算法以及3种特征项权重计算方法对微博正负情感分类进行研究, 实验证明采用SVM、信息增益和IF-IDF三者结合的方法对微博情感分类效果较好。韩忠明等[9]以HowNet情感词典为基

础, 构建一个计算短文本情感倾向性的自动机, 在短文本的正负情感分类上较SVM方法有非常大的优势。文献[10−12]均采用朴素贝叶斯分类器(NB)北京大学学报(自然科学版) 第50卷 68对微博的正负情感和主客观分类问题进行研究。 从上述研究可以发现, 粗粒度的中文微博情感分类是目前关注的热点。粗粒度情感分类是从positive (积极)和negative (消极)两类对中文微博的情感进行分析。但在实际应用中, 微博的细粒度情绪往往更能展示用户对于事物的态度。细粒度情绪实际上是对粗粒度情绪的进一步分类, 把“积极”和“消极”两类再划分为“欢乐”、“高兴”、“哀伤”、“厌恶”等更贴近人们真实情绪的类别。例如“话说大约十年前, 十块钱炸肉岗尖一盘, 加一瓶啤酒, 就是我一顿饱饱的午餐。现在呢, 图中这寥寥十数根, 就是十块钱的肉, 算开胃菜么? 通胀的猪肉伤不起啊”这条微博, 很难判别属于积极还是消极的情感, 原因是它包含的情绪太多。其中, “话说大约十年前, 十块钱炸肉岗尖一盘, 加一瓶啤酒, 就是我一顿饱饱的午餐。”表达作者的欢喜情绪。“现在呢, 图中这寥寥十数根, 就是十块钱的肉, 算开胃菜么?”表达作者的惊讶情绪。“通胀的猪肉伤不起啊”则表达作者悲伤的情绪。从这条微博的细粒度情绪中可以发现, 作者对于十年前的物价表现出积极正面的情感, 对于现在的物价则是展示消极负面的情感。所以对微博的细粒度情绪进行分析, 可以避免单纯从正负情绪两类对微博进行划分的笼统性, 更细致的分类也能有效提高微博情绪识别的准确度。 本文针对中文微博的细粒度情绪分析进行研究, 提出一种基于情感词汇本体的多策略集成分析法。首先采用朴素贝叶斯分类器对微博进行有无情绪分类, 为微博的细粒度情绪分析提供预分类基础。然后利用情感词汇本体对有情绪微博进行特征选择及特征值权重计算, 最后分别采用SVM和KNN分类器对其进行7类(anger愤怒、disgust厌 恶、fear恐惧、happiness高兴、like喜好、sadness悲伤、surprise惊讶)细粒度的情绪分析。研究结果表明, 基于多策略融合的分析方法好于单一分类算法。在多策略融合分析方法中, “NB+SVM”方法又略优于“NB+KNN”方法。 1 中文微博的有无情绪分类 对中文微博的细粒度情绪分析建立在此微博是一条含有情绪的文本基础上, 例如“《变形金刚3》港澳6月29日上映, 大陆REAL.D.3D及IMAX 3D上映时间尚不明确。”这条微博只是客观阐述一个事实, 并不包含任何情绪, 所以不需要进行细粒度的情绪分析。因此, 在进行微博的细粒度情绪分析之前, 需要先对微博进行粗粒度划分, 即把微博分为有情绪和无情绪两类。本文采用朴素贝叶斯算法进行有无情绪分类。 1.1 词特征和词性特征选择 特征选择是实现朴素贝叶斯分类器的前提, 特征选择的好坏在很大程度上决定该算法的性能[13]。

微博的特征是以字词来表示, 因此首先需对微博进行分词, 然后从分词结果中进行特征选择, 选择出那些能代表有情感和无情感类别的微博特征词。我们选用张华平博士的分词工具NLPIR对中文微博进行分词, NLPIR相对于老版本新增了微博分词功能, 但是对于一些常用来在微博中表示情绪的表情词和缩略词并未收录在词典里, 所以在分词之前, 需将这些词汇加入自定义词典中。通过对NLP&CC2013评测组提供的4000条新浪微博进行分析, 共提取如NND, MLGB, TMD, [大笑], [泪], [可怜]等365个词汇构建了自定义情绪词库, 同时也把这个词库作为分词工具NLPIR的自定义词典。针对微博的分词结果, 从词和词性两个方面考虑中文微博的特征选择。 1) 词特征选择: 分别统计每个词在4000条训练集的有无情绪两类中出现的频率, 然后依据式(1)筛选特征词:

11Wordfreq&&wordfreq,0,1,Wordfreqiii

kni>>=-- (1)

i=0表示词在有情绪分类中的频率与在无情绪分类中的频率比值大于k, 并且词在有情绪分类中出现

的频率同时大于n; i=1表示词在无情绪分类中的频率与在有情绪分类中的频率比值大于k, 并且词在无情绪分类中出现的频率同时大于n。经过试验测试得到, 当k和n的初值分别为4和20时, 按这种方式筛选出的词在有无情绪微博中出现的频率有明显差别, 因此它们对有无情绪的文本分类具有表征作用, 可以作为微博文本的特征。 2) 词性特征选择: 考察剩余词的词性特征, 发现某些词性在主观表达和客观表达中出现的频率也有很大差别。统计每个一类词性(NLPIR分词器定 义的, 如[/t], [/n]等)和个别表征人称作用强的二类词性(如[/rr], [/ne]等)在有情绪和无情绪两种情况下出现的频率, 特别地, 将所有的表情符也作为一类词性进行有无情绪词频统计。 经过上述两个步骤的选择, 得到796个特征词