李青松
(四川大学计算机学院,成都 610065)
文本情感分析又称意见挖掘,是自然语言处理领域的一项研究热点,目的在于从具有情感倾向的文本中提取出评论者的情感信息,并对其进行分析、处理、归纳和推理的过程。文本情感分析已经被广泛应用于商品推荐、市场分析、舆论控制等领域,具有很高的商业和社会价值。目前主流的情感分析方法可以分为三类,一类是基于情感词典的方法,这类方法主要依赖于情感词典,并通过特定的语义规则进行情感分析;第二类是基于传统机器学习的方法,这类方法首先要挖掘文本的特征,再使用支持向量机、朴素贝叶斯、最大熵等模型对文本进行情感分析;最后一类为基于深度学习的方法,首先将文本转换为文本向量,然后作为深度学习模型的输入进行训练,最后验证并保存训练好的模型。
基于情感词典的方法主要通过情感词典对文本进行情感分析。该方法通常不考虑文本中词与词间的关系,而是将文本看作多个词语或短语的集合。该方法的一般步骤是:首先根据语料等构建情感词典,然后将
在构建情感词典时,会经常用到点互信息算法(Pointwise Mutual Information,PMI)和隐含狄利克雷模型(Latent Dirichlet Allocation,LDA)。PMI可以用来判断词语的情感倾向,而LDA则用来从语料中提取情感词。
(1)点互信息算法
点互信息算法主要用于计算词语间的相似度,其基本思想是统计两个词语在文本中共现的概率PMI值。如果PMI值大于0,说明两个词语是相关的;如果等于0,说明两个词语是统计独立的;如果小于0,说明两个词语是不相关的。PMI值越大,证明两个词语的相关性越高。基于此,我们可以通过一个词语分别与文本进行分词,再使用构建好的情感词典将文本中的词语进行词性和情感强度标注,最后通过语义规则计算情感得分并得出文本的情感倾向。在构建情感词典时需要使用传统情感词典,目前传统情感词典主要有:哈佛大学的GI(General Inquirer)英文情感词典、普林斯顿大学的WordNet英文情感词典、知网HowNet中文情感词典、国立台湾大学的NTU中文情感词典、大连理工大学的中文情感词汇本体库等。正向情感词和负向情感词的PMI值,来判断这个词语的情感倾向性。
(2)隐含狄利克雷模型
隐含狄利克雷模型是一种基于贝叶斯概率的文档主题生成模型。它可以用来识别语料库中潜藏的主题信息,并提取其中的主题词。该模型包含三层结构:文档,主题和词,文档到主题服从多项式分布,主题到词服从多项式分布。利用该模型,可以从正向语料库中提取出正向情感词,从负向语料库中提取出负向情感词。
Taboada等[1]提出了一种情感倾向计算模型(SOCAL),并将其应用于情感极性二分类任务中,在书籍、汽车、电脑等多个领域的评论数据集上取得了不错的效果。Yang等[2]提出一种构建特定领域情感词典的方法。该方法使用传统情感词典作为先验知识,然后通过LDA模型从语料中提取主题词来扩展特定领域的词典。Turney等[3]通过使用PMI算法来扩展情感词典,然后使用语义极性算法来分析文本的情感倾向,处理文本数据的准确率在74%左右。周咏梅等[4]提出了一种构建中文微博情感词典的方法,利用上下文熵识别微博网络用语,再使用SO-PMI算法筛选出网络用语情感词,最后进行人工标注并加入情感词典。Zhang等[5]提出了一种基于情感词典的中文微博情感分析方法,以便更好地支持网络监管机构的工作。他们通过传统情感词典、程度副词、网络词典和微博表情词典来扩展和构建微博情感词典,然后通过语义规则计算权重来获得微博的情感值,最后得出微博的情感倾向是正面,中立还是负面的。
基于情感词典的方法可以体现文本的非结构化特征,并且在构建完情感词典后,就可以根据制定的语义规则进行情感分析。但一般构建的情感词典都是针对某些特定领域的,并不能完全覆盖到其他领域中出现的情感词。所以对于跨领域情感分析来说,基于情感词典的方法效果并不是很好。
基于传统机器学习进行情感分析也是目前主流的方法,此类方法可以对多种特征建模并进行分类,其本质上是特征工程提取,即如何从标注好的数据集中提取出不同类别的特征。通过在大量的语料库上进行训练,最终输出的模型不仅能够提取出特征词之间的关系,而且能够考虑到文本中随机词和词共现的影响。
基于传统机器学习的方法主要用到了三类机器学习方法,分别是支持向量机(Support Vector Machine,SVM)、朴素贝叶斯(Naive Bayes,NB)和最大熵(ME)。
(1)朴素贝叶斯
朴素贝叶斯是一种简单高效的分类模型,在贝叶斯定理以及特征条件独立假设的基础上进行分类。在处理训练数据时,首先使用特征条件独立假设计算出输入/输出的联合概率分布,然后结合贝叶斯定理输出后延概率最大的预测项。
(2)支持向量机
支持向量机是一种有监督的机器学习方法,经常被用到二分类任务上。它的主要思想是寻找一个保证最小分类错误率的超平面来分割二分类训练样本点。对于线性可分的情况,至少存在一个超平面将训练样本点分开,SVM的目的是找到一个超平面,使得两类样本点组成的特征空间的距离这个超平面的间隔最大,这个超平面被称为最优超平面;对于线性不可分的情况,通过使用核函数将低维空间转化为线性可分的高维空间。
(3)最大熵
熵是用来度量随机变量的不确定性,随机变量的不确定性越大,熵值越大,反之亦然。最大熵是一种选择随机变量统计特性最符合客观情况的准则,本质上是一个条件约束准则。基于最大熵原理,可以在所有满足约束的模型中选择具有最大熵模型的分类器。
Pang等[6]最早将机器学习方法用于情感分析,他们比较了支持向量机、朴素贝叶斯、最大熵与多种特征组合在电影评论领域中情感分类的效果,实验结果表明一元特征与支持向量机组合效果最好。Wikarsa等[7]将朴素贝叶斯分类器用于Twitter用户的评论文本情感分析,将情绪分为六种,即快乐、悲伤、愤怒、厌恶、恐惧和惊讶,在处理数据时考虑到了表情符号转换,实验的准确率达到了83%。Govindarajan[8]结合朴素贝叶斯和遗传算法提出了一种新的情感分类器,并且在电影评论数据集上取得了比朴素贝叶斯和遗传算法更好的效果。苏莹等[9]将朴素贝叶斯模型和潜在狄利克雷分布(LDA)相结合,提出了一种无监督的文本情感分析模型NB-LDA,该模型的正确率优于其他无监督模型。Chikersal等[10]将语义规则和SVM结合在一起对Twitter进行情感分析,实验结果表明语义规则可以改善SVM的分类效果。Kumari等[11]将支持向量机模型用于智能手机评论的情感分析,实验的准确率达到了91%。Lee等[12]将最大熵分类模型用于分析电子产品评论的情感倾向性。黄文明等[13]提出了一个基于最大熵的中文短文本的情感分析模型,该模型在时效性和冷启动两个方面具有鲁棒性,并且分类效果很好。
基于传统机器学习的方法进行情感分析时,通常采用UniRam/Bigram等语言模型构建文本特征,然后使用机器学习算法对特征进行提取和分类,在很多数据集上的实验效果都很好。但是该方法在特征提取时,可能出现特征向量稀疏、维度爆炸、特征提取困难等问题。
深度学习是一种多层表征学习算法,相较于传统机器学习算法,深度学习具有更深的网络结构,更强的表达能力。深度学习模型可以从数据中提取出深层次的特征。近年来,深度学习模型已经在情感分析中取得了许多瞩目的成果。
基于深度学习的情感分析方法一般将词嵌入(Word Embedding)训练得到的词向量作为情感分析模型的输入,通过训练后验证并保存模型。该方法常用的深度学习模型有卷积神经网络(Convolutional Neural Networks,CNN)和循环神经网络(Recurrent Neural Net⁃work,RNN)。
(1)词嵌入
词嵌入技术是一种语言建模和特征学习技术,可以将文本中的词语转换为带有语义规则的词向量。目前主流的词向量模型是谷歌提出的Word2Vec模型,其本质上是一个神经网络预测模型,可以从文本中学习得到词向量。Word2Vec包含了两种模型,一种是CBOW(Continuous Bag-of-Words)模型,和 Skip-Gram模型。CBOW模型是通过上下文来预测目标单词的概率,而Skip-Gram模型则相反,它通过目标词来预测上下文单词出现的概率。CBOW模型通过将上下文视为一个观察对象来平滑文本中单词的分布信息,它适用于较小的数据集。Skip-Gram模型则是将每个上下文与目标视为一个新的观察对象,适用于较大的数据集。
(2)卷积神经网络
卷积神经网络是一种包含卷积及其相关计算的前馈神经网络,是目前主流的神经网络模型。卷积核是该网络的基本组成单位,可以把卷积核看作是一个局部特征提取器。常见的卷积神经网络一般包含五层,分别是输入层,卷积层,池化层,全连接层和Softmax层。卷积神经网络在对文本进行建模时,通过滑动窗口对文本向量进行卷积操作,提取出的特征是局部相连词语之间的特征。卷积神经网络已经被很好地用于情感分析、机器翻译等自然语言处理任务中。
(3)循环神经网络
循环神经网络是目前主流的神经网络模型,适用于处理和与预测序列数据。该网络采用循环反馈机制来学习数据的特征,每一时刻的输入都包括上一时刻隐藏层单元的输出,通过这种机制实现记忆功能保存历史信息,并随着新数据的输入不断更新。因此循环神经网络能够有效利用数据中长距离依赖的能力,对于语言任务更具有说服力。基于这些优势RNN已经在自然语言处理领域得到成功应用,例如情感分析、机器翻译等。
长短期记忆网络(Long Short-Term Memory,LSTM)是对循环神经网络的一种改进模型,是一种时间递归神经网络,适用于预测和处理时间序列中间隔和延迟相对较长的重要事件。LSTM相较于RNN多了一个cell结构,cell结构中被放置了三扇门,分别叫做输入门、遗忘门和输出门。一个信息进入LSTM的网络当中,可以根据规则来判断哪些需要保留,哪些需要遗忘,只有算法认定的部分才能被保留,不被认定的部分会被遗忘门遗忘。
Kim等[14]将CNN与预训练的词向量相结合进行文本情感分析,实验证明通过将预训练的词向量与微调后的词向量作为双通道输入并结合不同大小的卷积核,CNN在处理情感分析任务时的效果会更好。Kal⁃chbrenner等[15]提出了动态卷积神经网络模型用来进行文本情感分析。该模型使用动态K-Max池化层,可以进行线性序列的全局池化操作,能够处理不同长度的句子,可以在句子中捕获单词之间的关系以及句子的特征。Wang等[16]通过模拟句子中词语的相互作用,将LSTM用于Twitter的情感分析,与传统的递归神经网络相比,LSTM通过增加了门结构提升了模型的灵活性。Qian等[17]提出了一种将情感极性,否定词和情感强度等信息与LSTM相结合的模型,以更准确地捕捉句子中的情感效应。Huang等[18]提出了树形LSTM来模仿句子的结构并将其用于文本情感分析。杜等[19]使用了卷积神经网络模型,采用分段池化的策略将句子结构考虑进来,分段提取句子不同结构的主要特征,并且引入Dropout算法以避免模型的过拟合并提升模型的泛化能力。Wang等[20]联合了CNN与LSTM模型,提出了CNN-LSTM模型并将其应用于文本情感分析,他们利用了CNN处理局部特征的优势和LSTM处理远程依赖性的优势。
基于深度学习的方法在建模、解释、学习和表达等方面要优于传统机器学习方法。该方法能够提取出文本的深层特征,实验中效果比传统机器学习方法要好。但是该方法易受词向量的影响,因此训练出好的词向量是该方法成功的关键,使用深度学习模型已经成为文本情感分析领域的热门研究方向。
本文对文本情感分析进行了研究,将现阶段的情感分析方法概括为基于情感词典的方法,基于传统机器学习的方法和基于深度学习的方法,并对这些方法进行了介绍。文本情感分析作为自然语言处理的一个热门研究方向,具有十分广泛的应用前景,可以应用在舆情控制、市场分析、商业决策、金融预测等领域。可以预见,未来将会涌现大量文本情感分析的相关工作。