陈 虹,杨 燕,杜圣东
西南交通大学 信息科学与技术学院,成都611756
在互联网使用持续深化的趋势下,人们习惯于在互联网上学习、购物、社交等,并发表自己的评论,而这些评论包含了对事物不同方面的满意度。对这些评论语句进行分析和挖掘,得到其中的情感观点,能够对决策进行有利支持。
以往,情感分析的研究对象是整篇文章、整段话或整个句子,判断这些文章、段落或句子的整体情感倾向。然而在现实生活中,人们往往在一篇文章中包含不同的观点,甚至一个句子中就有相反的观点。例如,在句子“这部手机的拍照性能很不错,但是价格太贵了”中,“拍照性能”和“价格”两方面的情感极性是相反的。因此基于方面的情感分析被学者提出来,并且近年来已成为自然语言处理(natural language processing,NLP)领域的研究热点之一[1-2]。基于方面的情感分析相较于传统的文本情感分析可以挖掘用户更细腻的情感表达,分析用户对各个目标方面的具体情感观点,能够为决策者提供更加准确的决策支撑。
与传统的机器学习算法对比,深度学习具有更强的表达能力。深度学习重点研究如何对原数据进行特征提取以及表达的相关问题。对于NLP 任务,基于深度学习的方法在如何建模、表达、解释以及模型优化等方面具有明显优势。近年来,利用深度学习技术处理情感分析任务取得了较好的表现。
随着注意力机制的广泛应用,与神经网络结合的注意力机制模型取得了比传统算法更有效的结果。与注意力机制结合的神经网络模型可以更有效地对特定方面进行模型训练,关注句子中更重要的部分。以往的研究已经意识到评价对象的重要性,并通过生成评价对象的特定表示来对上下文建模,但忽略了评价对象的单独建模,仅考虑了评价对象与上下文中词语的相关性,没有考虑评价对象本身包含的语义信息。
为解决此问题,本文提出了基于BiLSTM(bidirectional long short-term memory)的交互注意力模型(interactive attention network model based on bidirectional long short-term memory,Bi-IAN)。使用BiLSTM模型分别对目标和上下文进行建模,得到隐藏表示,并通过交互注意模块学习上下文和目标中的注意力,分别生成目标和上下文的表示。该模型能够更好地表示目标及其上下文,捕捉目标和上下文之内和之间的相关性,有助于判断情感的分类。
机器学习技术已广泛应用于情感分析任务,Pang等[3]采用朴素贝叶斯、最大熵分类和支持向量机这三种机器学习的方法来进行整篇文章的情感分类,并总结了情感分类问题中的挑战性。Liu 等[4]研究朴素贝叶斯分类器在情感分析任务上针对大数据集上的可扩展性,并设计了大数据分析系统,实验证明这个系统能分析数百万电影评论的情感极性。机器学习方法在过去的研究中取得了很大的成功,但依赖于复杂的人工规则和特征工程。Mikolov等[5]提出了段落向量,这是一种无监督的学习算法,它学习可变长度文本的向量表示,如句子、段落和文档。向量表示是通过预测从段落中采样的上下文中的周围单词来学习的。
深度学习结合注意力机制在方面级情感分析任务上有更好的分类性能。Tang 等人[6]介绍了一种用于方面级情感分类的端到端记忆网络,该网络利用一种具有外部记忆的注意力机制来捕捉每个上下文单词相对于给定目标方面的重要性。Wang等[7]提出了一种基于注意力机制的目标嵌入LSTM(long short-term memory)方法(attention-based LSTM with aspect embedding,ATAE-LSTM)。注意力机制使得模型能处理句子的重要部分,以响应特定的特征。同样地,Yang 等[8]提出了两种基于注意力的双向LSTM来提高分类性能。Liu等[9]扩展了注意力模型,将从特定目标/特征的上下文中获得的注意力区分开来。他们通过增加多个门进一步控制注意力机制的效果。Chen等[10]提出一个循环注意力网络来捕捉复杂情境的情绪。该模型使用了动态的注意力结构,并在GRU(gated recurrent unit)中学习注意力的非线性组合。曹宇等[11]提出了双向的GRU模型进行中文的情感分析。
在这些方法中,普遍使用LSTM模型来提取评论数据的上下文信息,LSTM 解决了RNN(recurrent neural network)模型的长依赖问题,结构如图1所示。
假设上一时刻的细胞状态是Ct-1,上一时刻的隐藏状态是ht-1,当前时刻的细胞状态是Ct,当前时刻的隐藏状态是ht,LSTM 的计算公式如式(1)~式(6)所示。
Fig.1 Structure of LSTM图1 长短期记忆网络模型结构
其中,i、f、o分别代表输入门、遗忘门和输出门,用于为记忆单元和环境之间相互作用进行建模。σ表示Sigmoid 函数,W、b分别代表各个门结构中的权重矩阵和偏置值。但是LSTM 只能获取单向的语义信息,BiLSTM 模型对LSTM 进一步优化,捕捉双向的语义信息,更加丰富和准确。
本文提出的Bi-IAN 模型如图2 所示,分别对目标和上下文单独进行建模,通过交互注意模块学习上下文与目标之间的注意力矩阵,并分别生成目标和上下文的表示。该模型的具体步骤如下:
(1)输入层:对评论数据样本和目标进行分词、去停用词等数据预处理,然后映射成词嵌入,得到每个词语的词向量表示。
(2)BiLSTM 层:将输入层得到的上下文和目标词嵌入分别输入BiLSTM网络,模型从两个方向上分别提取上下文和目标的语义信息,获得每个时间步上下文和目标的隐藏表示。
Fig.2 Structure of Bi-IAN model图2 Bi-IAN模型结构图
(3)交互注意力模块:分别对BiLSTM 得到的上下文和目标的隐藏表示取平均值作为上下文和目标的初始表示,初始表示与隐藏表示进行交互注意力计算,分别得到上下文和目标的注意力矩阵,注意力矩阵与隐藏表示重构上下文和目标的表示,并拼接在一起得到最终向量表示。
(4)输出层:最终向量表示通过非线性层和Softmax函数后,得到最终的分类结果。
假设一个上下文由n个词语组成一个目标有m个词语组成,w表示一个特定的词。本文提出的情感分析任务是判断输入句子中不同方面的情感极性。例如,句子c=“这家餐厅的饭菜味道一般,但服务态度不错”,其中有两个目标t1=“饭菜 味道”和t2=“服务 态度”。在“饭菜味道”方面,是消极的情感极性,在“服务态度”方面,是积极的情感极性。本文将每一个词语进行向量化表示,形成具有相同的低维度的词嵌入wk∈Rd,整个词典的大小为Mv×d。其中k表示词语在上下文或者评价对象中的位置,d为词嵌入的维度,v表示词典的大小。
文本中的词语上下文均有相关性,对序列数据双向使用LSTM 模型,能捕捉上下文信息,提供丰富和完整的序列信息和语义信息。在图3中,针对每一个输入序列,BiLSTM在前向和后向上训练LSTM模型,再将两个方向的输出结合到一起,形成最终的输出。在每个时间步长,输入序列被重复利用,得到上下文的信息,BiLSTM的结构如图3所示。
Fig.3 Structure of BiLSTM图3 BiLSTM结构图
通过将上下文和评价对象词语的隐藏表示取平均值得到上下文和评价对象词语的初始表示,如式(10)和式(11)所示。
接下来,以上下文和评价对象的初始表示为输入,采用注意机制来选择有助于判断情感极性的重要信息。同时考虑评价对象对上下文的影响和上下文对评价对象的影响,可以提供更多的线索来关注相关的情感特征。上下文的隐藏表示为通过注意力机制生成上下文对评价对象的注意力,如式(12)所示。
其中,γ如式(13)所示。在得到注意力矩阵后,通过注意力矩阵αi、βi重构上下文和评价对象的表示,如式(15)和式(16)所示。
将重构后的上下文表示cr和评价对象表示tr连接到一起得到向量d,向量d通过非线性层投影得到C种分类,如式(17)所示。
其中,Wl和bl分别代表权重矩阵和偏置值。各个带标签的文档的情感极性计算如式(18)所示。
其中,i是情感极性的分类且i∈[1,C],当某一个标签的概率最高则是其情感分类的结果。
在训练模型时,需要优化BiLSTM 神经网络层、注意力层和Softmax层的参数,使用Θ代表这些层中的权重矩阵和偏置项。使用L2正则化的交叉熵作为损失函数,如式(19)所示。
其中,gi使用one-hot向量表示真实的分类且gi∈RC。yi由式(18)计算得到,表示每个分类的预测值且yi∈RC。λr是L2正则化的系数。
在训练过程中,通过反向传播算法计算梯度,通过式(20)更新所有参数。
其中,λl表示学习率。
为了避免过度拟合,使用dropout 策略在每个训练案例中随机省略一半的特征检测器。在学习Θ之后,通过将目标与其上下文输入到Bi-IAN 模型来测试实例,并且概率最高的标签代表评价对象的预测情感极性。
本文实验数据集选用了SemEval 2014 任务4 的两个数据集和Chinese review datasets 的三个数据集。SemEval 2014 任务4 是英文数据集,Chinese review datasets是中文数据集。
SemEval 2014任务4中包含Restaurant评论数据集和Laptop评论数据集,分为训练集和测试集,训练集和测试集均包含Positive、Neutral 和Negative 三种情感极性,分别用1、0和-1表示。训练集和测试集的各个情感极性的评论数量划分如表1所示。
Table 1 English experimental data statistics表1 英文实验数据统计
Chinese review datasets 中文评论数据集来自文献[12],由Peng 等人在文献[13]的基础上完善形成。该数据集包含了Notebook、Car、Camera 和Phone 四个领域的评论数据,每条评论表达对一个方面的看法,同时提取每条评论的方面,并为每条评论进行极性标注。由于Phone 数据集标签缺失,本文使用Notebook、Car 和Camera 数据集进行实验。Chinese review datasets 包含Positive 和Negative 两种极性,分别用1 和0 表示。各个领域的数据集在两个极性上的数据数量如表2所示。
Table 2 Chinese experimental data statistics表2 中文实验数据统计
未登录词语和权重矩阵通过均匀分布U(-0.1,0.1)抽样进行初始化,所有的偏置初始化为0。在英文方面级情感分析实验中,词嵌入通过GloVe预训练词向量获得。在中文方面级情感分析实验中,三个数据集中80%的数据作为训练集,剩余20%的数据作为测试集。由于数据集较小,上下文和方面词语的词嵌入通过遍历中文预训练词向量(Chinese word vectors)[14]获得。中文预训练词向量在百度百科语料库上使用SGNS(skip-gram with negative sampling)模型训练得到。参数设置如表3所示。
Table 3 Setting of parameters表3 参数设置
将本文提出的模型与经典的情感分析模型在SemEval 2014 任务4 的两个数据集和Chinese review datasets 的三个数据集上进行对比实验,验证所提方法的有效性。
(1)Majority:Majority 方法是一种基线方法,该方法返回训练集中的多数情感极性类,并分配给测试集中的每个样本。
(2)LSTM:LSTM模型[15]用于方面级的情感分析中,将上下文的词语按照语序输入到模型中进行计算,得到最终的输出直接作为分类结果输出。
(3)Bi-LSTM:将上下文的词语按照语序输入到Bi-LSTM 模型[16]中,获得前向和后向的输出,将输出结合到一起得到最终的输出,直接作为分类结果输出。
(4)ATAE-LSTM:ATAE-LSTM 模型[7]将方面嵌入和词语表示结合起来,输入LSTM模型中得到隐藏表示,隐藏表示中包含了输入方面的语义信息。接下来,计算通过注意力机制得到注意力权重向量以及加权的隐藏表示,建模词语与输入方面之间的相互依赖关系。最终经过线性层得到分类结果。
(5)MemNet:MemNet 模型[17]对单词嵌入多次应用注意机制,并根据最后的句子表示来预测情绪。
(6)IAN:IAN 模型[18]以单词嵌入为输入,利用LSTM 网络分别为目标及其上下文获取单词级别上的隐藏状态。使用目标隐藏状态和上下文隐藏状态的平均值来生成注意力向量,并采用注意机制来捕获上下文和目标中的重要信息。最终经过非线性层得到分类结果。
3.4.1 实验评价指标
准确率:划分正确的样本数除以所有的样本数,如式(21)所示。
精度和召回率分别表示查准的概率和查全的概率,通常使用F1-score来对模型效果进行综合衡量,如式(22)所示。
3.4.2 实验结果及分析
在SemEval 2014任务4的两个数据集的实验中,将五个神经网络模型在Restaurant 和Laptop 数据集上进行三分类对比实验,以正确率和F1-score作为实验指标,实验结果如表4和表5所示。
Table 4 Accuracy of three classifications of different models on datasets表4 不同模型在数据集上的三分类结果正确率
Table 5 F1-score of three classifications of different models on datasets表5 不同模型在数据集上的三分类结果F1-score
从表4 可以看出Majority 方法是最差的,其他方法都基于LSTM 模型,并且优于Majority 方法,这表明LSTM模型能够自动生成表示,并且基于LSTM的改进算法能提高情感分类的性能。从表4 和表5 可以看出,Bi-IAN算法在Restaurant和Laptop数据集上的表现都是最好的,说明Bi-IAN 算法具有较好的方面级情感分类效果。Bi-LSTM模型前向后向捕获上下文的重要信息,生成更加完整的句子表示,提高了方面级情感分类性能。ATAE-LSTM 在目标的监督下生成方面级情感的表示,得到上下文的重要信息,通过方面嵌入进一步对目标建模,同时增强上下文词语和目标词语中间的交互,从而提升了性能。IAN模型使用交互注意网络对目标和上下文进行建模,进一步强调了目标的重要性,能很好地学习目标和上下文的表示,提升了模型性能。本文提出的Bi-IAN在IAN 的基础上,使用Bi-LSTM 捕捉更加丰富和完整的语义信息,更好地在交互建模时关注更加重要的词语,有助于进行方面级的情感分类。与IAN 模型相比,Bi-IAN模型在Restaurant和Laptop数据集上准确率分别提高了0.012 和0.008,F1-score值分别提高了0.018 和0.009,说明Bi-IAN 模型具有更好的方面级情感分类效果。
在Chinese review datasets的实验中,将五个神经网络模型在Notebook、Car 和Camera 数据集上进行二分类对比实验,以正确率和F1-score作为实验指标,实验结果如表6和表7所示。
Table 6 Accuracy of two classifications of different models on datasets表6 不同模型在数据集上的二分类结果正确率
Table 7 F1-score of two classifications of different models on datasets表7 不同模型在数据集上的二分类结果F1-score
从表6和表7可以看出,大部分情况下Bi-IAN模型分类结果是最好的。在中文方面级情感分析实验中,Chinese review datasets四个数据集的评论语句相对比较简单,且每条评论语句仅对一个评价对象进行情感倾向判别。但是四个数据集的评价对象有35%以上由多个词语组成,对目标的建模就显得尤为重要。Bi-IAN利用Bi-LSTM对评价对象和句子进行建模,不仅得到句子的语义信息,还得到了评价对象多个词语中的语义信息,再交互地对评价对象和上下文进行建模,关注评价对象和句子中最相关的词语,提高了分类效果。但是由于数据集较小,且正向和负向评论分布不均衡,以及标签有错误,导致整体F1-score值不理想。在数据集比较简单的情况下,反而LSTM模型效果比其他复杂的模型效果要好一些。
在方面级情感分析任务中,本文提出一种基于Bi-LSTM 的交互注意力模型(Bi-IAN),考虑了目标的单独建模。模型使用Bi-LSTM获取了目标和上下文丰富的语义信息,通过交互注意力模块关注句子与目标中更加重要的部分。最后,实验结果验证了提出模型的有效性。在后续的工作中,可以引入BERT(bidirectional encoder representation from transformers)等预训练模型进行词向量表示。近年来提出的transformer 结构较为复杂,但其通用性更强,可以考虑使用LSTM 与transformer 联合建模获取文本的语义信息。