基于注意力机制的交互式神经网络模型在细粒度情感分类中的应用
2020-07-13李志斌
杨 鹏 杨 青 李志斌 王 扬
1(国网天津市电力公司信息通信公司 天津 300010)2(国网天津市电力公司 天津 300010)
0 引 言
细粒度情感分类是情感分析领域中的一个重要任务,其目标是在给定意见句与评价方面(即评价对象)的基础上,结合句子上下文,识别评价方面的情感极性[1]。例如:给定意见句“这家餐厅饭菜很好,但是环境一般,服务很糟糕!”,以及句子中包含的三个评价方面“饭菜”、“环境”、“服务”,综合评价方面与上下文的语义可知,三个评价方面对应的情感极性分别为正向、中性、负向。
细粒度情感分类是自然语言处理领域中一项基础性的工作,近年来受到国内外学者的广泛关注[4-9]。该任务的研究成果可以进一步应用于自动问答[2]、推荐系统[3]等。传统的方法通常会构建情感词典或情感特征,并在此基础上采用SVM等机器学习方法进行情感分类[7-8]。但是,人工构建情感特征或情感词典通常需要投入大量的人力,进而导致模型的灵活性与泛化性较差,限制模型的性能。近年来,随着深度学习的发展,许多研究工作开始设计并使用神经网络结构来自动学习评价方面与上下文的低维语义表示[9-11],相关的研究工作已经在细粒度情感分类的任务中取得了可观的效果。
结合细粒度情感分类的任务目标可知,为了得到更好的分类性能,必须充分挖掘评价方面以及其上下文的语义信息。Jiang等[7]指出:40%的细粒度情感分类的错误是由于没有考虑评价方面而造成的。因此,近年来的研究工作更多地关注于如何在进行上下文语义建模的同时考虑评价方面的影响。Vo等[9]将整个意见句分成三个组成部分,即评价方面、上文和下文,然后利用情感词典和池化函数来生成与评价方面相关的上下文特征。Tang等[11]以评价方面为中心将句子分成两个部分,并使用两个长短期记忆模型(LSTM)对两部分分别进行语义建模,然后将两部分的语义表示进行组合,并用于情感分类。Wang等[10]对评价方面设计了特殊的词向量,并将其与原始的词向量进行拼接,利用LSTM网络和注意力机制生成最终的语义表示。
上述研究工作已经意识到评价方面的重要性,并在建模上下文语义表示的过程中融合评价方面的语义,但都忽略了如何在不同上下文语境下对评价方面的语义进行建模。本文认为,只有同时对评价方面和上下文进行语义建模并实现语义相互增强才能真正提升情感分类的效果。例如,给定意见句“这台显示器的分辨率很高,但是价格也很高。”,当“高”形容“分辨率”时,情感极性是正向,但形容“价格”时,情感极性则是负向。由此,如何联合建模评价方面和上下文的语义是本文主要解决的问题。一方面,考虑到评价方面和上下文的语义表示具有较强的相关性,本文分别对评价方面和上下文单独地建模语义,并结合注意力机制对两部分的语义进行交互学习;另一方面,考虑到评价方面和上下文通常由多个词语组成,而不同词语对最终的语义表示具有不同的贡献度,本文利用注意力机制,分别计算评价方面与上下文中词语的注意力权重,捕获重要词语的语义信息。
基于以上两方面的分析,本文提出了一种基于LSTM和注意力机制的交互式神经网络结构(简称:基于注意力机制的交互式神经网络模型)。首先,模型使用LSTM网络分别对评价方面和上下文分别进行语义建模;随后,利用两个注意力机制分别捕获上下文中与评价方面有关的语义,以及评价方面中与上文相关的语义;最后,模型将评价方面和上下文的语义表示进行拼接,用于判断情感极性。为了证明模型的效果,本文在SemEval 2014的数据集上进行了实验。实验结果表明,本文模型可以更准确地建模评价方面和上下文语义,并取得最优的性能。
1 相关工作
细粒度情感分类是情感分析中的一个重要分支,相关的研究方法主要可以分为两类:基于机器学习的方法和基于神经网络的方法。
在基于机器学习的方法中,细粒度情感分类通常被视为文本分类问题。因此,诸如SVM[12]等的文本分类方法可以在不考虑评价方面的情况下,进行情感极性的判断。这些方法主要关注如何提取情感词典、情感特征等来训练情感分类器[8,13]。尽管这些方法取得了一定的效果,但其性能在很大程度上依赖于手工特征的有效性,这极大地限制了模型的灵活性与泛化性。
近年来,随着神经网络的发展,递归神经网络[14]、循环神经网络[15]、层次LSTM[16]等结构在情感分析领域取得了可观的效果。然而,这些方法仅使用上下文语义进行情感分类,而没有考虑评价方面的语义对情感分类的直接影响。
针对这一问题,Jiang等[7]首次强调了评价方面在情感分类中的重要性,其认为40%的情感分类错误是由于没有考虑评价方面造成的。为考虑评价方面的语义,Tang等[15]设计了两个依赖于评价方面的LSTM分别对评价方面的上文和下文进行语义建模,进而自动考虑评价方面的语义信息。此外,Tang等[11]还设计了由多个计算层组成的深度记忆网络实现对评价方面语义信息的整合,每一层都是一个基于上下文和基于位置的注意力模型,它先学习每个上下文中词语的重要性权重,再利用这些信息计算上下文的语义表示。Wang等[10]在细粒度情感分类中探讨了评价方面与情感极性之间的潜在相关性,并设计了一种基于注意力的LSTM,在给定不同的评价方面时,捕捉上下文中最相关的语义信息。
虽然上述方法均在一定程度上考虑了评价方面对上下文语义的影响,但并未对评价方面的语义进行单独建模。因此,本文构建了一个基于注意力机制的交互式神经网络模型,同时对评价方面和上下文的语义信息进行学习。由此,本文模型可以得到更恰当的用于细粒度情感分类的语义表示。
2 基于注意力机制的交互式神经网络模型
2.1 问题介绍
给定一段长度为n的意见句C={c1,c2,…,cn},其中ci表示意见句中的第i个词,以及一个长度为k的评价方面T={t1,t2,…,tk},其中ti表示评价方面中的第i个词。细粒度情感分析的目标为根据上下文判断给定的评价方面的情感极性s。
2.2 模型结构
基于注意力机制的交互式神经网络模型的整体模型图如图1所示。
图1 基于注意力机制的交互式神经网络模型
为了获取词语的语义表示,本文首先将输入意见句和评价方面中的每个单词映射到一个低维稠密的词向量e中,具体如下式所示:
(1)
(2)
式中:M∈Rv×d表示词向量的词典,v和d分别代表词典大小与词向量维数。
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
首先,对LSTM得到的隐藏状态进行平均池化,得到上下文和评价方面的初始整体表示,分别记为cavg和tavg。
(13)
(14)
(15)
在计算注意力权重的基础上,利用下式可以得到上下文和评价方面的最终语义表示,该表示包含了有助于判断情感极性的重要信息。
(16)
(17)
最后,将评价方面向量rt和上下文向量rc进行拼接,得到向量d,并将此向量输入到上层的分类器中,用于情感极性的判断。如下式所示,本文使用非线性层将d投影到一个维度与情感极性种类数相同的向量空间中。
x=tanh(Wl·d+bl)
(18)
式中:Wl和bl分别代表权重矩阵和偏置向量。最后,通过下式计算情感极性的概率分布。
沿海岸线地理位置特殊,它一般位于海陆生态系统交替地带,脆弱并敏感,复合型的生态环境使得对该区域项目开发的要求也在不断提高。虽然海洋有自我调节、修复功能,但人为的破坏和不合理的开发超过自我修复水平时,那么该区域的生态平衡就会被打破。琅岐岛作为正在开发的岛屿,就应协调并考虑好开发与保护之间的平衡,只有做到合理规划,保护好生态环境和优化功能区分,才能保证整个岛屿可持续发展的前提。目前,琅岐海岸线景观规划能力相对比较落后,部分海岸线的开发还未经过合理的规划设计,还只是凭借原有环境下的传统景观,这样不仅会造成自然资源浪费,还会对原有的基础建筑物和生态环境造成破坏,给后期海岸线的整体规划造成阻碍。
(19)
式中:C为情感极性的类别数。在测试过程中,模型将选取概率最大的标签作为最终的结果。
2.3 模型训练
为进行模型参数优化,本文选取基于l2范式的交叉熵作为损失函数,如下式所示。
(20)
(21)
式中:λl为学习率。为了避免过拟合,本文采用dropout策略。
3 实 验
3.1 数据集
为了验证模型的有效性,本文使用SemEval 2014任务4中的数据集进行实验。该数据集包含两类评论数据,分别为:餐馆评论数据和笔记本评论数据。数据集中包含的情感极性分别为正向、负向和中性。数据集的基本统计情况如表1所示。
表1 数据集统计
3.2 实验设置
本文实验中,词向量由预训练的词向量GloVe初始化。模型中所有的权重矩阵通过对均匀U(-0.1,0.1)分布采样进行初始化,所有的偏移量均设置为0。词向量维度设置为300, LSTM隐藏层和注意力向量的维度都设置为400。在训练过程中,本文使用Momentum方法训练参数,并将损失函数中l2归一化系数设置为10-5,dropout比例设置为0.3。
3.3 对比方法
为了全面评估模型的性能,本文将提出的模型与如下对比方法进行比较:
多数法:多数法是一种基本的对比方法,它简单地将训练集中出现次数最多的情感极性分配给测试集中的每个样本。
LSTM模型[10]:模型仅使用一个LSTM网络对上下文进行建模,并获取每个单词的隐藏表示。然后将所有词隐藏状态的平均值作为最终表示,输入Softmax函数进行情感极性的分类。
TD-LSTM模型[15]:模型采用两个LSTM网络分别对评价方面的上文和下文进行建模,并将两部分的隐藏表示进行拼接,输入Softmax函数进行情感极性的预测。
AE-LSTM模型[10]:模型首先使用LSTM网络对上下文中的单词进行建模,并使用方面嵌入向量来表示评价方面。随后,模型将上下文的隐藏状态与方面嵌入向量相结合,并结合注意力机制生成面向方面的语义表示,最终将该表述输入Softmax层进行情感分类。
ATAE-LSTM模型[10]:模型是在AE-LSTM模型的基础上进行构建的,其通过将方面嵌入附加到每个单词嵌入向量中来表示上下文来进一步增强方面嵌入的效果。
3.4 评价指标
为了对情感分类的性能进行评估,本文采用准确度作为评价指标。准确度的公式定义如下:
(22)
式中:T代表预测正确的样本的数量,N代表样本的总数。准确度衡量的是所有样本中预测正确样本的百分比。一般来说,准确度越高的模型,性能越好。
3.5 实验结果
表2展示了本文模型与其他对比方法的性能比较。可见,多数法的性能最差,但该方法的结果也侧面地反映了在餐馆和笔记本的测试集中,出现次数最多的极性分别占了53.5%和65.0%。而其他方法均以LSTM模型为基础,并在性能上明显优于多数法,这说明LSTM可以自动学习句子中与情感相关的语义特征,进而为情感分类带来提升。
表2 本文模型与对比方法的性能比较
此外,LSTM方法是所有基于神经网络的方法中性能最差的一种方法,因为它同等地对待上下文和方面词,而并没有充分地考虑方面信息。由于TD-LSTM是从标准的LSTM模型发展起来的,并使用评价方面来对左右上下文进行编码,因此在两个数据集上,TD-LSTM模型的性能分别比LSTM高出1%以上。
进一步地,由于注意力机制的引入,AE-LSTM模型和ATAE-LSTM模型的性能均超过了TD-LSTM模型。它们可以在评价方面的监督下更好地捕获上下文中的重要信息,为细粒度情感分类生成更合理的上下文表示。此外,AE-LSTM和ATAE-LSTM通过引入方面嵌入进一步增强了对评价方面的建模,这也是性能提升的原因之一。与AE-LSTM相比,ATAE-LSTM通过词向量拼接增强了上下文与方面词之间的交互作用,因此具有更好的性能。
本文模型通过交互式学习评价方面和上下文表示,进一步提升了评价方面的重要性。从表2可以看到,本文模型在所有对比方法中取得了最好的性能。与ATAE-LSTM模型相比,本文模型在两个数据集上的性能分别提高了2.7%和2.9%。本文模型取得性能提升的主要原因是模型使用两个相互影响的注意力网络对评价方面和上下文进行建模,得到特定的语义表示,并将结果进行拼接用于情感分类。通过这种方法,模型可以更恰当地得到结合评价方面语义的上下文表示。
3.6 模型分析
为了进一步分析本文模型的性能,我们对LSTM隐藏层维度,以及评价方面和上下文的初步整体表示的生成方法进行分析。
表3展示了隐藏层维度对模型性能的影响。由表可见,模型的性能随着隐藏层维度的增加呈现出先上升后下降的趋势,这说明LSTM可以很好地学习句子的语义信息,并且随着隐藏层维数的增加,LSTM可学习的特征也变得更加丰富,进而使得模型性能得到提升。但是当维度增加超过一定的范围,LSTM捕获的特征会变得冗余,使得模型性能降低。
表3 LSTM维度对模型性能的影响
此外,也可以选取多种方法获取评价方面和上下文的初步整体表示。表4展示了平均池化和选取最后一个隐藏表示作为整体表示的结果。由表可见,两种方法的性能相差不多,但是平均池化的方法取得了更好的性能。总体来看,不论采用哪种方法,模型的性能总是优于对比方法。
表4 初步整体表示的生成方法比较
综上,本文模型在一定程度上提升了细粒度情感分类的性能。
4 结 语
本文针对细粒度情感分类的任务开展相关研究,并提出基于注意力机制的交互式神经网络模型。该模型主要使用了两个注意力机制来交互式地学习评价方面和上下文的语义,并捕捉两部分中与情感分类有关的重要语义。为了验证模型性能,本文在两个数据集上进行了实验。实验表明,本文方法取得了最优的性能,这很好地说明了评价方面对细粒度情感分类任务中的重要性,以及交互式地生成融合方面信息的上下文语义和融合上下文的方面语义对提升情感分类性能的重要作用。