1.一种面向中文微博的情感倾向分析方法,其特征在于包括如下模块:(1)欠采样技术模块,利用Affinity Propagation算法来减少训练集中多数类样本的数量从而平衡训练集,以降低数据集情感倾向分布的不平衡性对分类效果的影响;
(2)微博文本预处理模块,对微博文本进行清洗,并进行分词、词性标注和停用词处理等操作;
(3)利用Word2vec扩展微博模块,通过利用Word2vec来求微博中每个词的前K个相似词从而扩展微博;
(4)特征提取模块;加载相关词典,对前面预处理过的微博进行特征提取;
(5)情感分析模型训练模块,在上面已经平衡和扩展后的训练集上训练AWCRF模型;
(6)情感倾向性判别模块,利用训练好的AWCRF模型对待预测的微博进行情感倾向判别。
2.根据权利要求1所述的方法,其特征在于,在所述模块步骤1之后,还包括如下步骤:(2-1)给定一个训练集t1,将它分为多数类maj1和少数类min1;
(2-2)对于多数类maj1,利用Affinity Propagation聚类算法将它聚成几个类,可以表示为C={c1,c2,...cn};
(2-3)为了构建平衡的数据集,按比例从C的各个子类中随机挑选样本得到maj2,使得maj2的样本数量与min1的样本数量相近;
(2-4)数据集maj2和min1将被集中在一起得到一个平衡训练集t2;
(2-5)将已经平衡后的训练集t2代替t1作为最终的训练集。
3.根据权利要求1所述的方法,其特征在于,在步骤3之后,还包括如下步骤:(3-1)训练词向量,我们从新浪微博API收集了大量的微博语料,过滤掉一些没用符号和网址,最后剩下5G的微博数据用来当训练集。然后利用Word2vec中的Skip-gram模型来训练词向量,最后通过该词向量来求微博中每个词的相似词;
(3-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所述的方法,其特征在于,在所述步骤5之后,还包括如下步骤:(4-1)将CRF模型应用在经过本文欠采样技术和Word2vec技术处理后的数据上从而得到AWCRF模型;
(4-2)将特征提取模块从微博中提取出来的特征向量作为输入,使用L-BFGS算法来训练AWCRF模型。
5.根据权利要求1所述的方法,其特征在于,在所述步骤6之后,还包括如下步骤:(5-1)对待预测的数据进行文本预处理、利用Word2vec扩展、特征提取等操作,从而得到测数据的特征向量;
(5-2)将预测数据的特征向量作为AWCRF模型输入,利用训练好的AWCRF模型对待预测的微博进行情感倾向判别。