微博话题随着移动互联网的发展变得火热起来, 单个热门话题可能有数万条评论, 微博话题的立场检测是针对某话题判断发言人对该话题的态度是支持的、反对的或中立的. 本文一方面由Word2Vec训练语料库中每个词的词向量获取句子的语义信息, 另一方面使用TextRank构建主题集作为话题的立场特征, 同时结合情感词典获取句子的情感信息, 最后将特征选择后的词向量使用支持向量机对其训练和预测完成最终的立场检测模型. 实验表明基于主题词及情感词相结合的立场特征可以获得不错的立场检测效果.
With the development of the mobile Internet, Microblog topic has become popular. A single hot topic may have tens of thousands of comments. The stance detection of Microblog topic aims to automatically determine whether the author of a text is in favor of the given target, against the given target, or neither. Firstly, Word2Vec trains out each word of the corpus of vector to extract semantics information from sentence. Then, TextRank keywords extracted method is used to construct the thematic words set as the stance’s feature, meanwhile, the sentiment lexicon is used to extract the sentiment information of the sentence. Finally, the word vector of feature selection is trained and predicted by Support Vector Machine (SVM), so as to complete the model of stance detection. The experimental result shows that the stance feature based on the combination of thematic words and sentiment words can obtain good stance detection effect.
据统计, 微博客户端日活跃用户数达1.54亿, 用户不仅可以在微博平台上上传图片记录自己的生活, 也可以通过转发、点赞、评论等与其他用户进行互动, 或针对某一话题公开发表自己的立场及观点. 立场检测(stance detection)是通过微博作者针对某一话题发表的评论, 检测微博作者对该话题的立场是支持、反对或中立, 这一检测结果不仅可以帮助政府了解民情、完善法律法规, 而且可以帮助商业公司对产品功能进行改进, 提高用户体验. 近年来, 这一课题吸引了众多学术界及工业界的关注和研究, 并成为自然语言处理(Natual Language Processing, NLP)中的一个新兴热门研究领域[
微博话题的立场检测与传统的文本情感分析非常相似, 但又有着明显的区别. 单纯的使用微博的情感信息并不能把握微博作者的立场, 如微博“这些骑电车横冲直撞的人太可恶了, 上次就差点被撞到, 太危险了”, 此微博所抒发的是负面情绪, 但针对“深圳禁摩限电”这个话题表明的态度却是支持的. 通常微博作者在表达某个话题的立场倾向时, 往往会说出自己支持或反对的理由, 如针对上述话题, 支持者所表达的核心一般都是以交通安全为主题, 而反对者的理由通常是一些普通老百姓出行不方便所带来的一系列问题, 如果在该话题下能提取出到网民支持或反对的核心理由, 就能准确地判断发言人的立场倾向.
随着Bengio等人提出了神经网络语义模型之后, 文本词向量技术受到了广泛关注. 对于机器学习而言, 特征表示将直接影响模型性能的好坏, Word2Vec模型可以根据文本中词的关联性有效地学习语义特征. 本文结合话题文本构建出主题词集, 在词向量下根据主题词和情感词筛选出有价值的特征信息, 最后使用SVM (Support Vector Machine)对话题语料进行训练得到最终的立场检测模型.
微博立场的检测属于文本倾向性分析的研究领域, 文本倾向性分析又主要分为情感分析和立场分析. 常见的情感分析方法也可以适用于立场分析, 目前针对微博文本的情感分析, 近年来已取得了非常出色的研究成果. 2011年, Lu等人[
如
微博话题立场检测模型
文本预处理[
常用的主题词集构建方法有TF-IDF词频逆文档频率和TextRank算法[
TextRank提取的部分主题词
部分主题词集 |
{‘放鞭炮’, ‘鞭炮’, ‘传统’,‘大家’, ‘爆竹’,‘燃放烟花’, ‘烟花爆竹’,‘烟花’, ‘空气’, ‘市民’, ‘孩子’,‘民俗’, ‘文化’, ‘习俗’,‘倡议’, ’回家’, ‘传统节日’, ‘空气质量’,‘鞭炮声’, ‘垃圾’, ‘方式’, ’饺子’, ‘环境’, ‘环卫工人’,‘烧纸’, ‘建议’, ‘燃放鞭炮’, ‘味儿’, ‘家人’,‘绿色’, ‘放炮’, ‘问题’,‘火灾’,‘污染环境’, ‘天气’, ‘父母’,‘汽车’,‘新衣’} |
在文本分类中, 特征抽取通常根据某个特征评估函数计算每个特征的评分值, 并以此作为权重按评分值进行排序, 然后选取若干个评分最高的作为特征词. 这种类型的算法有词袋模型(Bag-of-Words-BOW)算法, N-Gram算法, 但这类算法无法提取词汇的深度语义信息. Bengio等人基于n-gram思想提出了神经网络语言模型[
Word2Vec根据语料库的词汇顺序关系, 利用CBOW模型或Skip-Gram模型将词汇转换为
如
输出层根据每个词在语料库中出现次数构造一颗Huffman树, 叶子节点分别为词典D中的每个词, 一共有
CBOW词向量模型
本文利用Gensim[
如
与“放鞭炮”词向量相近的词语
相近词语 | 词向量的余弦距离 |
春节 | 0.422 227 412 462 2345 |
环境 | 0.376 391 470 432 2815 |
雾霾 | 0.332 929 044 961 9293 |
污染 | 0.332 424 759 864 807 13 |
环保 | 0.318 536 818 027 496 34 |
情感词和主题词通常决定微博作者的情感倾向和立场倾向, 更能表明微博作者的观点. 本文分别采用情感词和主题词的特征选择方法提取其立场特征, 情感词典综合采用中国知网情感词典、清华大学李军中文褒贬义词典和台湾大学NTUSD简体中文情感词典, 主题词集由TextRank算法在该话题下提取的250个名词构成. 如
对微博文本分别采用两种特征选择的结果
预处理后的微博 | 情感词做特征选择 | 主题词做特征选择 |
{‘鞭炮声’, ‘忍耐’, ‘反对者’,
|
{‘忍耐’, ‘反对者’,
|
{‘鞭炮’, ‘鞭炮声’, ‘放鞭炮’, ‘气氛’} |
{‘空气’, ‘汽车’, ‘好’, ‘尾气’,
|
{‘好’, ‘提倡’,
|
{‘汽车’, ‘放鞭炮’, ‘尾气’, ‘空气’} |
根据以往实验表明对于文本分类支持向量机与其他分类算法相比在处理非线性及高维分类中有着较好的分类效果[
本文采用的数据集来自NLPCC2016中文微博立场检测的评测任务, 选取的话题是任务中第二个话题“春节放鞭炮”, 该话题一共有500条微博, 其中持支持和反对立场的各有250条微博数据, 训练集与测试集比例为8:2, 数据格式为微博ID, 话题, 微博文本,
立场标签, 例如:
<ID>1
<TARGET>春节放鞭炮
<TEXT>又是一年新春到, 除夕之夜少放鞭炮, 为
纯净空气做一份贡献.
<STANCE>AGAINST
常用的评价标准通常选取准确率、召回率和
为了获取更多的立场特征, 本文在对微博文本基于主题词和情感词特征选择后, 还将两种特征选择方法结合起来实验, 最后将筛选后的特征词转换为词向量求均值由SVM支持向量机对其训练及预测得到该话题下的最终立场检测模型, 实验结果如
三种特征选择方法对对比实验效果
特征提取 | 正/负类 | 准确率(%) | 召回率(%) | ||
主题词集 | 正类 | 77.77 | 84.00 | 80.76 | 79.96 |
负类 | 82.60 | 76.00 | 79.16 | ||
情感词典 | 正类 | 76.59 | 72.00 | 74.22 | 74.97 |
负类 | 73.58 | 78.00 | 75.72 | ||
{主题词集,
|
正类 | 81.64 | 83.56 | 82.60 | 82.59 |
负类 | 81.45 | 83.73 | 82.59 |
由
在使用主题词和情感词两种特征结合实验, 分类效果达到最好. 这是因为一些短微博往往无法提取到主题词, 但是它们多数含有一些情感词, 如果结合情感词做特征选择可以弥补主题词特征选择方法的弊端. 其次, 本文还针对主题词的数量做了定性实验, 在区间[100, 600]分别设置7种不同的主题词数量完成优化实验, 实验结果如
不同主题词个数的实验效果
从
从实验可以看出, 基于词向量技术和主题词特征在中文微博立场检测中可以获得不错的分类效果, 主要原因是Word2Vec训练出的词向量包含了词汇之间的语义信息, 其相对于词频特征更能表明词语的实际意义. 同时基于主题词特征的特征选择方法可以获取更多有价值的立场特征, 针对一些较短的微博, 结合情感词进一步提升了模型的性能.
本文通过使用NLPCC2016中文微博立场检测的数据集进行实验, 首先将文本进行预处理并使用词向量技术将词汇转换为高维空间的向量表示, 然后使用TextRank提取话题的关键词作为话题的主题词集, 提出了基于主题词的特征选择方法, 同时融入情感词典做辅助特征选择, 并使用支持向量机对话题微博进行训练及预测. 实验结果表明, 本文的方法在中文微博话题下具有较好的立场检测效果.
鉴于微博平台下话题众多, 如果进一步考虑话题的类别, 本文的研究方法还需做进一步扩展. 其次, 本文最后使用的文本向量是由特征选择后的词向量求均值所得, 这种方法虽然可行但丢失了词向量的顺序信息. 但是, 词向量隐含地包含了词汇间的顺序关系, 本文最后输入到SVM的特征向量是由特征选择后的词向量求均值所得, 它综合了当前微博的所有立场特征信息, 是当前微博立场的一般特征表示, 对微博立场检测的结果影响不大, 但具有研究价值. 在今后的研究中, 针对话题类别和如何获取句子的结构化信息是本文的研究重点.
刘勘, 田宁梦, 王宏宇, 等. 中文微博的立场判别研究. 知识管理论坛, 2017, 2(3): 175–185.
奠雨洁, 金琴, 吴慧敏. 基于多文本特征融合的中文微博的立场检测. 计算机工程与应用, 2017, 53(21): 77–84.
周胜臣, 瞿文婷, 石英子, 等. 中文微博情感分析研究综述. 计算机应用与软件, 2013, 30(3): 161–164, 181.
顾益军, 夏天. 融合LDA与TextRank的关键词抽取研究. 现代图书情报技术, 2014, (7–8): 41–47.
Bengio Y, Réjean D, Vincent P, et al. A neural probabilistic language model. Journal of Machine Learning Research, 2003, 3(6): 1137–1155.
Mikolov T, Chen K, Corrado G, et al. Efficient estimation of word representations in vector space. Computer Science, 2013: 1-12. (未找到卷期信息, 请补充)
郭丽娟, 孙世宇, 段修生. 支持向量机及核函数研究. 科学技术与工程, 2008, 8(2): 487–490.