本文使用中文分词工具- ICTCLAS来对中文微博文本进行分词。基于已经构建 好的情绪词典,统计每个情绪类别的词汇在一个文本中出现的数量,然后根据文本 中出现情绪类别词最多的那一类来决定该文本的情绪标签。如果文本中不包含情绪 词汇,则该文本被标注为“无情绪”。
上述过程同样可以应用在一个句子上得到一个句子级的情绪标签。
2.基于SVM的方法 由于在之前的研究中,SVM已经充分显示出了其在情感分类方面的优越性,因此本文采用了SVM作为基于学习方法的学习模型。本次研究主要使用了台湾大学的 LIBSVM工具包来进行多重情绪分类。对于文档级情绪分类和句子级情绪分类,我 们在实验中都采用了以下三种基于文本的特征:
词汇特征,
标点符号特征,
情绪词典特征。
(二)本文使用的方法
本文主要利用句子级的分类序列规则来完成对微博文本的情感或情绪分类的任务:1)分别用基于词典和基于SVM的方法获得一条微博文本中每个句子的两个情 绪标签;2)将微博文本转化为包含句子级情感标签和连词的序列;3)从这些序列 中挖掘分类序列规则(CSR);4)从CSR中提取出特征,然后用它们对整个文本 进行基于SVM的情绪分类。在此方法中,分类序列规则体现出了句子顺序和句子间 话语关系的信息,而这些信息对于情绪分类是一种潜藏的、有用的模式。
1.从微博文本中挖掘分类序列规则在这一小节中,我们将每篇微博文本转化为一个序列,包括训练数据集和测试数据集。
构建微博文本中的序列数据库的具体步骤如下:
1)对于测试集微博中的每个句子,同时利用基于词典和基于SVM的方法来判 断句子的情绪。如果2种方法得到的结果相同,句子就得到一个情绪标签:否则的话句子就得到2个情绪标签。对于训练集微博中的每个句子,直接使用人工标注的 句子情绪标签。这里应该注意在训练集中,人工标注的每个句子可能会有一个最初的情绪和第二情绪,本文中使用句子的最初情绪作为句子的情绪标签。
2)结合每个句子的情绪标签和句首的连词来将一篇微博文本转化为一个序列。
3)在训练集中,每条微博的情绪标签和一个相关序列一起作为一个分类。
本文还采用多重最
小支持度的策略(Jindal and Liu 2006),在这个策略中,一个规则的最小支持度取决
于规则中的训练集项的最小频率和参数r的乘积。
2.微博文本的情感分类在训练集中挖掘出一些分类序列规则之后,我们用每个规则 中的序列模式X作
为一个特征。如果一条微博对应的模式(序列)包含X,那么其相应的文本特征值 设置为1,反之则设置为0。此外,我们还会用到词汇、标点符号和情绪词典特征。 最后用台湾大学的LIBSVM工具包来进行模型训练和测试。