基于语义规则与RNN模型的在线评论情感分类研究
2019-08-05邵良杉
邵良杉,周 玉
(辽宁工程技术大学 系统工程研究所,辽宁 葫芦岛125105)
0 引言
电子商务的不断优化使网络购物成为一种重要的消费方式,越来越多的消费者通过点评网站对商品进行评价[1]。但互联网中的商品评论信息内容并不规范且夹杂大量垃圾信息,需借助技术手段对评论信息进行情感分析。因此,如何准确、高效地对评论文本进行情感分析处理,识别出消费者的情感倾向与偏好,成为自然语言处理的重要研究内容之一。
传统的情感倾向性分类采用的技术路线主要有两种: 一种是基于情感词汇语义特征的文本情感分类方法,例如,Maite等[2]提出根据一系列详细的规则算法来计算文本中单词、短语、句子的情感极性,并设置阈值以更精确地判别文本情感倾向;Mohammad等[3]基于远程标注情感极性的Twitter文本,使用PMI公式学习得到适用于社交媒体情感分析的词典;周红照等[4]提出抽取与评价对象相关的七类语义特征及与极性判定相关的五类语义特征来判定情感极性;王勤勤等[5]提出基于word2vec的跨领域情感分类方法,选取高质量的领域共同特征作为种子,并将领域专有特征扩充到种子中,减小领域间的差异以获得更高的分类精度。但该类方法利用情感色彩判断整体句子的情感倾向时,忽略了上下文语义间的相互信息,是一种浅层次的分类方式。
另一种是基于机器学习的文本情感分类方法。例如,Pang等[6]应用贝叶斯、最大熵、支持向量机等经典机器学习算法到电影评论情感极性分析中;姜杰等[7]将语义规则方法融合到机器学习模型中,结合基于朴素贝叶斯、逻辑斯特回归和支持向量机的集成学习器分析微博文本情感极性;唐晓波等[8]基于情感本体对情感词数量和情感程度进行加权,提出褒义量和贬义量的概念,并以此作为KNN算法的特征向量。机器学习模型可以较准确地判读句子整体的情感倾向,但目前常用模型的分类性能很大程度依赖于人工抽取特征。近年来,深度学习模型广泛应用于各个领域,并在情感分类方面展现出一定的优势。Tang等[9]对情感词进行研究进而有效学习情感,开发出具有选择功能的深度神经网络,将情绪评价应用到词级、句子情感分类;Stojanovski等[10]利用无监督学习获得的情感词训练深层卷积神经网络,并对Twitter文本进行情感分析,取得了优于句法特征的分类结果。从整体看,机器学习方法的分类效果优于语义规则方法,但单独使用机器学习或语义规则的方法都很难避免方法自身的局限性。
鉴于此,本文尝试将语义规则方法与深度学习方法相结合,提出一种基于语义规则和改进递归神经网络(Recurrent Neural Network, RNN)的在线评论文本情感倾向分类模型。首先改进传统规则算法以获取更有效的情感信息,扩展为多维特征向量嵌入到机器学习常用的基本特征模板中。同时,借助Fisher准则筛选出高效低维的文本特征。最后,利用长短时记忆(Long Short-Term Memory,LSTM)改进的RNN模型(LS-RNN)进行评论文本情感分类实验。
1 在线评论情感倾向分类语义规则方法
1.1 基于词典的情感倾向分类语义规则
借助情感词典可以将情感词语从在线评论文本中抽取出来,但单独对这些词语进行情感极性分析,并不能完全正确地反映文本的真实情感倾向[11]。基于情感词典的规则方法可以借助情感词典提供的先验知识,同时考虑文本上下文中改变情感倾向或强度的语义信息,精确反映文本的情感倾向。
传统的情感规则方法是对情感词得分进行累加,进而得到文本的整体情感倾向。而在线评论文本中用户情感表达方式错综复杂,所发表的评论中常常伴随着混合观点,对某一方面给出肯定评价的同时又对其他方面进行批评。故本文基于在线评论文本的情感多样、强烈等特点,在前人类似语义规则的基础上进行修改和补充,制定出更加适用于在线评论文本的语义规则。同时,基于大连理工大学中文情感词汇本体库、知网词典、知网程度词典和否定词典、网络词典构建情感词典,对在线评论文本进行中文分词。按照符号“,、”分割子句单元,根据“?!。;”分割复句单元。用集合{C1,C2,…,Cj}表示文本划分后复句的集合,Cj表示第j个复句。`针对情感分析时需要考虑的词语搭配、句型规则和句间规则,得到整段评论文本的情感得分Sen。细化后的情感分析语义规则见表1,具体计算步骤如下:
表1 情感分析语义规则
Step1各子句、复句情感得分初值设为0;
Step2根据词语搭配规则匹配子句中所出现的情感词、修饰词,计算各个子句的情感得分Seni;
Step3在各子句情感得分的基础上按照句型分析规则及句间分析规则计算各复句的情感得分C_Senj。
Step4对各复句的情感得分C_Senj进行汇总计算,得到整体评论文本的最终情感得分Sen。
规则方法中,对所有可能影响文本情感得分的规则进行分析并指定规则,计算过程的范围由小到大。首先,根据词语情感值计算分句情感值。而后,计算复句情感值。最终,得到整条评论文本的情感值。考虑范围更加全面,使文本情感得分更准确。
1.2 规则特征融合方法
机器学习方法需要将文本转换为一个合适的形式化表示方法,并在此基础上建立学习模型。向量空间模型(vector space model,VSM)将文档表示为空间向量进行运算,具有较强的可计算性和可操作性。本文采用VSM表示文本,将N-gram特征中正面、负面类概率值;符号特征(punctuation)中单个感叹号、问号,多个感叹号、问号的数量;语义特征(semantic)中主观指示词、虚拟指示词、语气词、否定词数量,三类特征串联成10维基本特征模板BFT。使用1.1节中规则抽取情感特征后,从有强度标记的情感词典,抽取出情感词得分(Em_Score)、表情得分(Ex_Score)、总得分(Su_Score)、正面/负面情感词数量(Pw_Num/Nw_Num)、正面/负面情感子句数量(Ps_Num/Ns_Num)共7维特征。对没有强度标记的情感词典,情感词强度默认为±1。
将情感词得分、表情得分及总得分三类特征分别与0值进行比较,拓展为3个四维特征向量。其中,第一维为得分值,第二至四维为对比结果标识位,依次判定是否满足大于0、等于0、小于0关系,满足条件为1,否则为0。三类特征最终共拓展得到12(3×4)维向量;同理,通过正面、负面情感词数量、正面、负面子句数量之间的相互比较,采用两两合并拓展的方式拓展为2个五维特征向量。其中,第一、二维分别为正、负面情感词数量,第三至五维为正、负面情感词数量对比结果标识。四类特征两两合并拓展为10(2×5)维拓展特征,将上述拓展后的特征按顺序排列得到22(12+10)维情感规则特征模板RFT,并嵌入到10维基本特征模板BFT中形成32维的混合特征模板MFT。具体规则得分拓展及嵌入过程如图1所示。
图1 规则得分拓展过程
2 基于RNN的在线评论文本情感分类模型
2.1 RNN相关理论
2.1.1 RNN网络模型
RNN是一种带有环结构的前馈型人工神经网络,且具有一定的记忆功能,其输入既包括当前的输入样本也包括上一时刻所获得的信息,使得信息可以在网络内部进行任意时间的循环[12]。鉴于这一性质,RNN更适合应用到文本序列的处理中,其一般结构如图2所示。
图2 递归神经网络一般结构
2.1.2 长短时记忆
RNN解决了神经网络无法解决的文本序列前后关联问题,但无法解决长时依赖问题,且训练过程中通常采用的sigmoid激励函数经过多级乘法运算极易导致梯度爆炸或消失现象。LSTM由记忆单元(Cell),遗忘门、输入门、输出门组成(见图3),这些门可以调节存储单元与外部环境间的相互作用。引入LSTM结构替换RNN中的隐含层,可以实现t到t+1时刻中存储单元的状态保持不变[13]。
图3 基于LSTM的改进递归神经网络
2.2 Fisher特征提取
则第k维特征的Fisher判别值为:
(11)
其中,F(k)值越大说明该特征项包含越多的鉴别信息,对分类的贡献率越大。
2.3 情感倾向分类过程
对在线评论原始文本进行去噪声、去停用词等预处理后得到训练语料集和测试语料集。使用基于情感词典的语义规则方法,学习得到训练语料集中的情感先验知识。而后,根据一定的规则转化、拓展为新的情感规则特征模板,与机器学习中常用的基本特征模板BFT相结合,形成既包含机器学习常用特征,又包括在线评论文本专有情感知识特征的融合特征模板MFT。计算各特征的Fisher判别值,去除Fisher值低于某一阈值的特征。最终,基于筛选后的特征,训练构建起的LS-RNN模型。将测试语料集带入训练好的模型中得到最终文本情感分类结果,模型具体训练及预测过程如图4所示。
图4 在线评论文本情感倾向性分类的总体框架
2.4 实验评测指标
在线评论文本情感倾向分类模型性能评价中常用的指标包括查准率(Precision)、召回率(Recall)、正确率(Accuracy)及F值(F-measure)。本文仅将在线评论文本分为正面评论文本和负面评论文本。正面评论文本和负面评论文本的预测情况可具体分为TP(实际正面,预测正面),FP(实际正面,预测负面),FN(实际负面,预测正面),TN(实际负面,预测负面)四种,各评价指标的计算如式(12)~式(15)所示。
3 实验与分析
3.1 数据收集及处理
本文采用Python爬虫程序从京东网站爬取有关oppoR11s手机的6 000条评论作为语料库。语料库中包括评论者、评论时间及评论内容等信息,本文仅选取评论内容作为在线评论情感分类的数据源。京东在线评论作为一个个体性较强的评论平台,评论信息无特殊限制,使得评论中存在较多的噪声数据。为保证实验质量,需对文本进行预处理。
文本预处理过程主要包括两部分内容: 一是噪声数据的过滤,二是将长文本评论变为短文本评论分句。本文采用中国科学院计算技术研究所研发的汉语分词系统(NLPIR)对文本进行自动分词,并借助VSM处理文本。首先,使用R语言编程对原始评论文本进行去噪声处理,去除垃圾评论128条,得到有效评论5 872条。从中按3∶1的比例随机抽取得到训练语料集和测试语料集,采用机器自动标注方法将训练语料集分为正面文本和负面文本两类。最终,确定训练语料集中正面评论文本为2 415条,负面评论文本为1 989条。
3.2 RNN模型参数选择
为提高LS-RNN模型的情感倾向分类效果,本次实验采用三层隐含层网络结构,优化函数选取SGD算法,目标函数使用交叉熵。模型主要有以下参数:隐层节点数n,SGD算法的学习率α。采用网格搜索的方法确定这些参数,隐含层的节点数n在{250, 500, 750, 1 000, 1 250, 1 500}中取值;SGD算法的学习率在{1, 0.5, 0.1, 0.05, 0.01}中取值,通常在此范围内取值可以取得比较好的实验结果。采用5折交叉验证的方法确定RNN网络最优参数组合,实验结果见图5。可见,在不同的学习率下,隐层节点数n为1 000时模型均具有较高的Accuracy和F-measure值,且当学习率α取0.1时,模型分类效果最优,故确定实验最优参数为n=1 000,α=0.1。
3.3 情感分类特征抽取
相关研究表明特征集合中各特征对分类准确率的贡献不同,只有小部分特征对分类具有积极意义[15]。本文借助Fisher准则来提取低维高判别性的特征,并将提取后的特征标记为F-MFT。按照式(11)计算各特征的Fisher判别值,并将其作为各特征权重。根据权重大小对特征进行降序排列,计算不同特征维数下模型的F-measure值,测试结果如图6所示。
图5 不同参数组合预测结果对比
图6 不同特征维度对应F-measure值
可以看出,当抽取前27维特征时,文本情感倾向分类结果的F-measure值达到最高,再增加维度反而会导致F-measure值的下降;另外,随着特征维度的增高,实验所消耗的时间也随之增加。综合,考虑后选取前27维特征作为F-MFT。
3.4 分类性能测试及对比试验
采用测试集文本对基于语义规则和LS-RNN的融合模型进行分类性能测试。测试集文本数量为1 468条,经机器自动标注确定正面评价为845条,负面评价为623条,正负面评价文本数量较为均衡。以下分四个实验测试模型的分类性能。
实验一验证结合语义规则方法和LS-RNN模型的融合模型的情感倾向分类效果。网络模型采用三层隐含层结构,RNN中隐层节点数为1 000,优化函数使用SGD算法,学习率α取0.1。对比情感语义规则方法、LS-RNN模型及情感分析中常用的几类深度学习方法,具体结果如表2所示。
表2 测试集分类结果(%)
模型PrecisionRecallF-measureAccuracy语义规则方法79.5377.8777.6975.20卷积神经网络80.3778.4477.8178.67循环神经网络81.0178.9178.0879.33RNN模型80.7678.5677.6478.79LS-RNN模型81.4280.5678.0080.99融合模型91.6090.4291.0189.58
由实验结果可知,单纯的机器学习方法相对于语义规则方法具有更好的分类准确率。经改进的LS-RNN模型分类准确率提高得更多,而结合情感规则方法与机器学习模型的融合模型在评论文本情感倾向分类中表现最佳,其查准率、召回率和F值都有明显的提高。主要原因是LSTM改进RNN模型后,使得网络可以充分地利用历史信息,学习到文本间的关联关系。融合模型根据语义从多个角度并结合上下文情感关系提取评论文本特征,可以实现分类模型与语义规则方法的优势互补,在整体上提升分类性能。
实验二不同特征选择方法比较。对比基本特征模板、情感规则特征模板、混合特征模板及降维特征模板应用到LS-RNN模型中的分类准确率,测试混合特征模板及降维特征模板对模型分类准确率的提升能力,实验结果如图7所示。
图7 基于不同特征模板的模型分类效果
由图7可知,基于Fisher准则的降维特征模板应用到LS-RNN模型后使得各评价指标均取得较高数值。其中,TP=774,TN=541,模型整体分类正确率为89.58%,同等条件下相对于基本特征模板、情感规则模板和混合特征模板的分类正确率分别提高了11.72%、14.85%、3.48%。特征融合后,模型的分类准确率要明显高于仅使用基本特征模板或仅使用特征规则模板,其考虑情感词词性的同时,还考虑了文本上下子句间的联系,是一种有效的特征构建方法。特征空间维数简约过程中,Fisher准则法将混合特征模板的维数由32降维至27维,其特征简约率约为28.13%。由此可知,Fisher准则可以有效地提取低维的高判别性特征向量,进而提高RNN的分类效果。是一种高效的特征降维方法。
实验三对比不同模型的情感倾向性分类效果。为深入验证本文构建的融合模型的有效性,本文设计了不同分类模型之间的对比实验,对比支持向量机(SVM)、RNN与LS-RNN三种模型的分类效果,为确保模型之间的可比性,RNN与LS-RNN模型均采用三层隐含层结构。每层包含1 000个激活单元,特征模板采用降维混合特征模板,50次重复试验后,得到各模型的平均预测正确率。如图8所示。
图8 不同模型分类效果对比图
图8中,各模型均取得较好的分类准确率,表明降维混合特征可以在一定程度上有效提高模型的分类性能。SVM在小规模训练样本的情况下可以表现出较好的预测性能,而RNN模型使得获得的信息在网络内部不断循环,在文本序列处理中表现优异,且结合语义规则方法进行特征提取,可以多角度、更好、更全面地获取到影响文本情感倾向的主要特征。与SVM相比,RNN与LS-RNN具有更高的分类准确率,进一步验证文本序列内部的关联性也是情感倾向分类的一个重要依据。而对文本中情感信息的重复利用可以克服部分商品评论较少,数据集规模小的影响,在小样本分类问题中仍表现出较好的性能;LS-RNN模型的表现是以上所有模型中最优的,验证了其对在线评论文本情感倾向分类的有效性。
实验四对比融合模型与复杂神经网络的分类效果。为验证融合模型对复杂知识的学习能力,采用训练集样本训练融合模型、基于词注意机制的多层神经网络及基于自注意机制的LS-RNN模型并对测试集样本进行预测,重复实验10次后对预测结果取均值,实验结果如表3所示。
表3 不同模型预测能力对比
由表3可见,三类模型的分类性能指标值均较高,这表明三类模型对于复杂知识的学习能力均较优。但实验过程中复杂神经网络的预测时间成本较高,多层神经网络易产生梯度扩散问题导致模型失效。10次实验中出现2次模型失效现象,且多层神经网络不含时间参数,对信息的重复利用性不高,预测性能受样本规模大小影响较大。而带有自注意机制的LS-RNN模型与融合模型分类效果相差不多。融合模型分类效果更佳的主要原因是基于自注意机制的深度学习模型中对文本中的重叠的冗余情感信息未能进行甄别,在一定程度上影响了最终的分类准确率。实验四进一步证明了本文中结合语义规则与深度学习的融合模型可以取得在限定资源下最优的分类效果。
4 结语
本文对互联网在线评论文本的情感倾向进行分析研究。在传统语义规则方法的基础上进行改进,提出一种将结合情感词典的语义规则方法与改进的RNN深度学习模型的在线评论文本情感倾向分类模型;借助Fisher准则对得到的新型混合特征模板降维,参照网格搜索思想确定RNN模型的最优参数组合为 (1000,0.1)。以网络爬取的手机评论文本作为数据源进行实验。实验结果表明,将语义规则方法与机器学习模型相融合可以从多层次全面分析文本的情感粒度,有效提升文本情感分类准确率,为在线评论文本情感分类研究提供了一种新的参考方案。
本文将语义规则方法与机器学习模型相融合应用到在线评论文本中只是初步尝试。在今后的研究中,将通过更准确、更深入的规则方法,挖掘更多的先验情感信息,并在主题挖掘方面进行深一步的研究。