基于情感词组合模式的情感细分类研究∗
2020-12-23卢莉马力
卢 莉 马 力
(西安邮电大学计算机学院 西安 710121)
1 引言
随着Web2.0 的飞速发展,新型社交媒体已逐渐取代了传统的社交方式,成为人们日常生活中不可或缺的一部分。人们通过一些新型社交媒体如微博、微信、论坛等交流沟通,表达自己的一些日常情感。微博成为众多的新型社交媒体中应用最广泛的互联网平台之一。并结合手机等移动终端,方便用户随时随地更新和获取信息。
在这个开放的社交平台上,通过网络把认识的和不认识的人都联系在一起,人们可以查找自己感兴趣的人或事,跟踪事情的发展动态,也可以针对时下的热点话题发表自己的看法或评论。
网络平台上的海量信息包含了日常生活中的方方面面,如社会民生、热点新闻、购物、娱乐等。出于不同的出发点和个人爱好,每个人对生活中的各种现象所表达的态度和意见都存在极大差异,这种差异蕴含着极大的商业价值和社会价值。因此,对微博文本进行情感分析具有十分重要的意义和应用价值。
2 相关研究
文本情感分析是利用自然语言处理、机器学习、数据挖掘等技术,通过对文本内容分析作者的观点、态度、情感或者情绪,分析的文本对象包括新闻、评论、微博等文本内容[15~18]。
情感分析中一个重要的环节就是情感倾向性分类的研究[12],在情感倾向性分类研究中目前研究有两类研究方向:一类是基于词典和规则的文本倾向性研究,一类是基于机器学习的文本倾向性研究。
情感词典作为一种重要的情感分类方法,能够体现文本的非结构化特征。Paltoglou等[1]采用基于情感词典的情绪分类方法,该方法利用否定词、大写字母、情感增强减弱、情感极性等多种语言学预测函数,对微博进行情感分类。此后Qiu 等[2]提出一种基于句法分析和情感词典相结合的情感分类方法,该方法利用情感词典和从广告上下文中识别情感句,根据主题和关键字提取消费者的情感态度。
在中文情感分类的研究中,Wan[3]利用机器翻译将中文商品评论翻译为英文评论,在利用英文情感分析资源对翻译后的评论进行情感极性的分类,此后,Wei 等[19]通过引入多语言模型,利用结构一致学习算法减少机器翻译的噪声,充分利用了已有的英文语料,取得了较好的成绩。
由于某些情感词在不同的领域或者语境中含义不同,有不同的情感倾向,Jo 等[4]提出一种基于“主题-句子”关系的情感分类方法。谢丽星等基于情感词典根据情感词的个数进行文本的情感极性分类任务。
随着互联网中新型词的不断涌现,基于词典和规则的分类方法在分类时灵活度不够,难以应对不断变化的词性词意,为了提高分类结果,研究者开始了基于机器学习的分类方法。
基于机器学习的分类方法是将情感分类作为一个模式分类问题,建立分类模型来判断情感极性。Pang 等[5]通过对比一元特征、二元特征、形容词打分、位置等多特征和特征权值和特征权重选择策略,着重比较SVM、朴素贝叶斯和最大熵算法的分类效果。
Dong 等[6]提出一种基于自适应递归神经网络的情感分类方法,该方法通过上下文和句法规则对词的情感标记进行自适应传播,实现了目标依赖的情感分类。
3 情感词典的构建
情感词典是进行情感分析的基础[7],要判断一个句子所包含的情感需要计算句子中所包含的各个情感单元。因此,情感词典的质量在很大程度上影响了情感分类的结果[8~10]。微博文本具有短小、口语化等特点,如何判断其情感类别,情感词典的作用就显得更加重要。情感词典的收集整理是一个持续不断的过程,本文在已有的情感词汇本体库的基础上进行扩充,整理出一个适用于微博文本的情感词典。
3.1 通用基础词典
本文基于微博文本的情感细分类使用中文情感词汇本体库作为基础情感词典,该词典分别从情感类别、强度、极性分布和词性对情感词进行了描述。
情感词汇本体库共包括情感词27466 个,将情感极性分为四类,中性用0 表示,褒义用1 表示,贬义用2表示,褒贬两性用3表示;情感类别和词语类型分别分为七类,情感强度有1、3、5、7、9 五档,数字越大,情感强度越大。
情感词汇本体库虽然包含了许多词汇,但很多都比较陈旧,如果使用此词典进行情感的细粒度分类其准确率肯定会有很大程度的影响[13],因此需要对情感词典进行扩充,以适应微博文本的特点。
本文将情感词汇本体库中所有情感词作为基准词,然后计算基准词与候选词之间的语义相似度,这里采用PMI 算法,基本思想就是统计基准词和候选词在文本中同时出现的概率,概率越大其关联性就越高。通过式(1)进行扩展:
这些扩展的基础词的情感类别为与其语义最相似的情感词的情感类别,情感强度为情感词强度与扩展词相似度的乘积。利用这种方法对通用基础词典进行扩展,得到最终通用基础词典。
3.2 辅助情感词典
基于微博文本的特殊性,若是单纯依靠情感词典进行情感分类,其分类结果不是十分精确。鉴于微博文本十分口语化并且包含很多网络新型词汇和表情符号等,这些词语通常具有很强烈的情感极性但在情感词典中是不存在的。基于此,在基础情感词典的基础上添加辅助情感词典。
1)网络情感词
网络情感词是通过网络的发展流行起来的带有情感倾向的新词,网络情感词没有固定的规律,具有多样化,形象化等特点。如:“666”,“么么哒”,“呵呵哒”等。这些情感词在基础情感词典中是没有的,但在微博文本中应用很多,对情感分类的准确度有很大程度的影响。本文搜集的网络情感词来自搜狗网络流行新词,选择当下流行的网络新词人工赋予其情感类型及其权重。
2)表情符号
微博短文本还存在大量的表情符号,微博用户喜欢在短文本中添加表情符号来直观的表述自己的感情。这些表情符号在情感本体库中并不存在,本文通过人工标注的方法对常用的表情符号进行情感相近的情感词进行代替,并赋予情感类别和情感强度。
3)程度副词
程度副词对情感强度有一定程度的影响,例如:“今天心情挺好的”和“今天心情超级好”,两句话虽然都表达了“乐”这一情感,但情感强度完全不同,引入程度副词对情感分类的准确度进行修正。
4)否定词词典
否定词的出现会对整个句子的情感类别带来很大程度的影响,特别是针对情感细分类的情况,情感迁移比较复杂。积极情感经过否定词修饰后可能会变成消极情感,而消极情感经过否定词修饰后也可能趋于积极情感。
5)特殊情感调节词典
短文本中有时存在一些特殊的符号对句子的情感产生影响,例如“”中的情感词可能取自相反的情感,感叹号(!)前的情感词往往加重了情感程度。因此对一些特殊的符号当做一种特殊的情感要素添加到情感轻度的计算当中。本文收集一些对情感计算造成影响的特殊符号组成特殊情感调节词典。
4 基于情感词组合模式的微博情感细分类
微博文本一般较短,只含有少量情感词,基于情感词典对微博文本进行情感分析时可以使用情感词语义加权的分析方法。
谢丽星等[11]使用式(2)基于情感词典根据情感词的个数进行文本的情感极性分类任务。
其中Ni表示某类情感词总数。
这种方法简单易行,在情感倾向性分类任务上取得了比较合理的分类结果,但是只计算情感词个数,忽略了情感词的情感强度。这种方法用于情感的细粒度分类任务上会存在很多的问题。
因此,在式(2)的基础上,引入情感词权重进行基于情感词典的细粒度分类。如式(3)所示。
其中Wij表示第i类情感中第j个情感词的权重。
4.1 情感词搭配模式
在对微博文本进行情感分类时,不仅要考虑情感词的权重大小,还需要考虑否定词、程度副词以及特殊符号对情感类别以及情感强度的影响。本文根据情感词(包括网络情感词及微博表情)、否定词和程度副词的组合模式,给出组合情感词的情感权重的计算方法。
通过观察发现,在微博中否定词和程度副词用来修饰情感词是通常会出现以下的组合方式。
方式一:否定词+情感词,当句子中否定词的个数为偶数时,情感类别不发生迁移,奇数则按一次迁移计算。如:“她不开心”,先取出“开心”这个情感词,然后向前查询否定词的个数,根据否定词个数进行情感迁移。
方式二:程度副词+情感词,此时句子的情感类别不变,情感强度是所修饰的情感词强度的基础上乘以程度词的情感权重,得到组合情感词的情感类别及强度。
方式三:否定词+程度副词+情感词或程度副词+否定词+情感词,由于否定词与程度副词的前后顺序不同,组合情感词的情感值也不一样。当否定词位于前程度副词后时,先根据模式二进行情感值的计算,把计算出的组合情感当成一个情感词,利用模式一计算迁移后的情感值;否定词在后时同理。
方式四:情感词+特殊符号,由于一些特殊的情感符号对文本的情感产生特殊的影响,会造成句子情感的迁移。如:我很“高兴”,情感词“高兴”通过双引号(“”)进行情感迁移,变为恶。
计算微博文本中所有情感组合模式的情感值,微博文本的总体情感类别及强度由文本中所有情感词的情感值累加得到,取情感强度最大的情感类别作为该条微博的总体情感类别。
通常否定词和程度副词是用来修饰距离最近的情感词,但是如果一个句子中存在多个修饰词和情感词,为了保证不出现修饰词和情感词互相交叉影响以确定情感词组合单元,引入滑动窗口的概念。在分词后的词表W=(w1,w2,…,wn)中,令词语wi为中心词,Lwi和Rwi分别为词wi左右两侧第i个词。滑动窗口的概念可表示为
使用分词及词性标注后的词表表示文本,滑动窗口是以中心情感词在上下词语中向前或向后取n 个词。窗口长度的确定需要一定的先验知识,如果窗口长度过大会影响分类的效率,过小则会影响分类准确率。微博文本一般比较简短,通过统计对比,将窗口大小设为3 可以得到比较好的分类效果。
4.2 情感词语义加权分类算法
通过滑动窗口和情感词组合模式,结合本文中的扩充词典提出就语义的情感强度加权计算算法:具体实现如表1所示。
表1 基于情感词典的微博情感分析算法
对于文中的每个句子,通过以上的算法,首先需要进行模式匹配后再计算所有情感词的情感类别及强度,进而得到整个文本的情感类别及强度。
5 实验结果与分析
本次实验的实验数据来源于CCF 举办的中文微博情绪识别比赛(NLP&CC2014)提供的公开数据集。该数据集内容设计广泛,并且每条微博及微博中的每个句子都进行了情感类别的标记,将14000 条微博按照情感类别不同分为了八类,分别是乐、好、怒、哀、惧、恶、惊和无情绪[14]。
本实验从14000 条微博文本中随机抽取4000条,分别使用情感词汇本体库及本文构建的微博情感词典基于情感词语义加权的情感分析方法进行对比实验,结果如表2所示。
表2 分类结果
从表中可以看出,用融合语义特征的情感词搭配模式对微博文本进行分类取得了不错的效果。说明从语义角度挖掘微博情感特征能更准确的表达微博文本的情感。
同时还发现融合了语义特征的情感分类算法对客观文本的分类准确率有较大的提高。分析原因:在实验送发现情感类别“怒”、“惧”、“哀”在发生情感词否定迁移后,均变为无情感倾向的客观文本,这也可以解释这三个情感类别在仅使用情感词进行分类时分类准确率不高的原因。同时微博文本口语化严重,情感词不明显,且存在很多反转,对使用情感词典进行分类造成困难。
6 结语
本文为了更好地对微博短文本进行分析,在基础情感词典的基础上添加了辅助词典对文博短文本的情感分类提供辅助作用,同时考虑到微博短文本的特点,采用了四种情感词组合模式,将程度副词、否定词、特殊符号以及情感词的搭配模式描述出来,利用滑动窗口在情感词的前后寻找程度副词、否定词和特殊符号,判断短文本的情感倾向并计算出情感强度。
但是由于微博短文本的语句缺失比较严重,并且口语化严重,变化多端,在分类结果上不是特别理想。接下来在句法依存、上下文环境也要多加研究,同时要时时收录网络新型词语和特殊符号。