一种面向中文微博的情感倾向分析方法技术领域
本发明属于网络信息处理技术领域,具体涉及一种面向中文微博的情感倾向分析
方法。
背景技术
微博作为一个新的社交平台,受到很多用户的喜爱。越来越多人喜欢通过微博来
发表他们的观点,所以充分分析和挖掘用户微博中的情感是非常有意义的。情感分析的目
的是从微博文本中挖掘用户的观点和识别它的情感倾向。例如,企业可以通过微博来获取
用户对他们产品和服务的评价。与传统的情感分析工作一样,对微博的情感分析方法可以
分为两类。一类是基于情感词典和规则的方法,它们根据句子中正面情感词和负面情感词
的个数来识别情感倾向。另一类是基于机器学习的方法,它们通过挑选合适的特征来训练
分类器。
然而,以上方法都忽略了中文微博数据集中的情感倾向分布不平衡性对情感分类
的影响,也就是说当数据集中负面情感的句子和正面情感的句子的数量相差很大时,会影
响分类器的判别准确性。在实际生活中,微博中讨论的话题或者事件的本身往往带有很强
的情感倾向性,这导致很多话题的情感倾向分布不平衡,例如“#食用油涨价#”、“#皮鞋果
冻#”等话题本身具有明显的贬义情感,而“#屠呦呦获奖#”这个话题具有明显的褒义情感。
数据情感倾向分布的不平衡性恰恰是导致很多机器学习算法表现不好的重要因素,尤其是
在情感倾向中占少数的类别的识别效果上。另外,与传统的文本相比,微博的长度一般很
短,这导致传统方法很难从其中抽取出有助于情感分类的信息,而且目前还没有一个足够
大的情感词典可以覆盖所有情感词。
发明内容
为了解决上述问题,本发明提出了一种面向中文微博的情感倾向分析方法,其主
要步骤包括如下:
(1)欠采样技术模块。利用Affinity Propagation算法来减少训练集中多数类样
本的数量从而平衡训练集,以降低数据集情感倾向分布的不平衡性对分类效果的影响。
(2)微博文本预处理模块。对微博文本进行清洗,并进行分词、词性标注和停用词
处理等操作。
(3)利用Word2vec扩展微博模块。通过利用Word2vec来求微博中每个词的前K个相
似词从而扩展微博。
(4)特征提取模块。加载相关词典,对前面预处理过的微博进行特征提取。
(5)情感分析模型训练模块。在上面已经平衡和扩展后的训练集上训练AWCRF模
型;
(6)情感倾向性判别模块。利用训练好的AWCRF模型对待预测的微博进行情感倾向
判别。
附图说明
图1为本发明的分析流程图。
具体实施方式
下面结合附图对本发明做进一步的说明。本发明针对情感倾向分布不平衡的中文
微博数据集的情感倾向分类问题。图1为本发明的整体算法流程。
下面分别叙述各步骤的具体内容:
1、欠采样技术模块
本发明利用Affinity Propagation算法来减少训练集中多数类样本的数量从而
平衡训练集。
本发明的欠采样技术分为如下几步:
(1)给定一个训练集t1,将它分为多数类maj1和少数类min1;
(2)对于多数类maj1,利用Affinity Propagation聚类算法将它聚成几个类,可以
表示为C={c1,c2,...cn};
(3)为了构建平衡的数据集,按比例从C的各个子类中随机挑选样本得到maj2,使
得maj2的样本数量与min1的样本数量相近;
(4)数据集maj2和min1将被集中在一起得到一个平衡训练集t2;
(5)将已经平衡后的训练集t2代替t1作为最终的训练集。
2、微博文本预处理模块
该模块主要工作是对微博文本进行清洗,并进行分词、词性标注和停用词处理等
操作;
3、利用Word2vec扩展微博模块
本发明通过利用Word2vec来求微博中每个词的前K个相似词从而扩展微博,具体
步骤包括以下两步,分别是训练词向量和扩展微博。
(1)训练词向量。我们从新浪微博API收集了大量的微博语料,过滤掉一些没用符
号和网址,最后剩下5G的微博数据用来当训练集。然后利用Word2vec中的Skip-gram模型来
训练词向量,最后通过该词向量来求微博中每个词的相似词。
(2)扩展微博。首先,给定一个微博句子ti,对它分词之后可以得到这个句子的词
序列,表示为{w1,w2,...wn},然后,利用上面已经训练好的词向量来求微博句子ti中每个词
的前k个相似词,从而达到扩展微博的目的。扩展后的微博可以表示为{w1,w2,...wn,w11,
w12,...w1k,w21,w22,...w2k,...,wn2,...wnk},其中{w11,w12,...w1k}代表词w1的前k个相似词,
对于微博中的表情符号和标点符号直接保留在微博中,所以扩展后的微博比原微博含有更
多的信息。
4、特征提取模块
(1)加载相关词典,包括情感词典、情符号词典、流行语词典、否定词词典等,用于
特征提取。
(2)借助上面已经加载好的词典数据,对预处理后的微博文本进行预先定义特征
的抽取,将文本向量化并转化为情感分析模型训练模块能够处理的格式。
5、情感分析模型训练模块
本发明将CRF模型应用在经过本文欠采样技术和Word2vec技术处理后的数据上从
而得到AWCRF模型。然后将特征提取模块从微博中提取出来的特征向量作为输入,使用L-
BFGS算法来训练AWCRF模型。该模型不仅有可以克服训练集中情感分布不平衡的影响优点,
而且有可以增加微博句子的情感信息从而缓解了情感词典覆盖面不够的影响的优点。另
外,由于训练样本变少,所以该模型还具有训练时间少和训练效率高等特点,具有很强的实
用价值。
6、情感倾向性判别模块
首先对待预测的数据进行文本预处理、利用Word2vec扩展、特征提取等操作,从而
得到测数据的特征向量;然后将预测数据的特征向量作为AWCRF模型输入,利用训练好的
AWCRF模型对待预测的微博进行情感倾向判别。