基于图卷积网络的特定方面情感分析

2022-01-01 13:19:22闫金凤邵新慧
中文信息学报 2022年10期
关键词:句法注意力语义

闫金凤, 邵新慧

(东北大学 理学院,辽宁 沈阳 110000)

0 引言

情感分析也称意见挖掘,其研究的目标是自动挖掘和分析文本中的立场、观点、看法、情绪和喜恶等主观信息。传统的情感分析主要是面向文档或者句子,也就是文档层面的情感分类,这种粗粒度的分类只考虑文档整体的情感倾向,在现实应用中是不够的。特定方面情感分析(ABSA)是一种细粒度的情感分类任务,目的是识别句子中明确给出的方面的情感极性。方面级情感分析在自然语言处理和信息检索领域受到越来越多的关注,在个性化推荐等各种应用中发挥着重要作用。

现有的研究表明,方面项和它上下文之间的相互作用对于识别给定方面的情感极性是至关重要的。此外,句法信息在方面级情感分析中也发挥着重要作用[1]。通常,研究人员使用机器学习算法对句子中给定目标的情感进行分类。一些早期的工作使用手工特征,如情感词典和语言词袋特征训练分类器来进行特定目标的情感分类[2]。这些方法高度依赖于所选特征的质量,需要耗费大量的人工特征工程。在后来的研究中,各种基于神经网络的方法开始流行。其中大多数研究是基于LSTM,部分是基于CNN[3],还有将二者相结合的研究[4]等等。许多基于神经网络的方法通过注意力机制将特定的方面信息嵌入到句子表示中[5],也有一些研究已经应用了注意力机制来生成方面特定的句子表示[6],或者根据方面单词来转换句子表示[7]。然而,这些研究依赖于作为序列编码器的复杂递归神经网络(RNN)来推断上下文的隐藏语义。这些研究存在的第一个问题是语义建模只使用RNN结合传统的注意力机制。RNN的每个输出状态都依赖于之前的状态,在语义建模中,可能会丢失长距离语义信息,无法进行输入数据的并行计算[8]。此外,传统的注意力机制由于权重值分布过于分散,容易引入过多的噪声,从而难以准确提取出足够多的与特定方面相关的上下文情感信息。这些研究存在的第二个问题是所用方法在很大程度上忽略了句子的句法结构。为了考虑依存关系树,Nguyen等人[9]采用递归神经网络对句子的二叉树建模。这种方法存在的问题是,依赖树的结构更像一个图,因为一个节点可以包含两个以上的子节点。这些模型不足以表示句法结构,它们只能处理二叉树结构。

针对以上问题,该文提出一种基于图卷积和注意力的网络模型(CA-GCN),主要工作如下:

(1) 采用卷积神经网络结合双向LSTM抽取文本中更抽象的特征以及词的位置信息和单词之间的相关语义信息。

(2) 在句子的依存关系树上利用图卷积神经网络来提取句法信息,捕获词的依存关系。

(3) 考虑到上下文对方面的影响,利用多头交互注意力通过上下文隐藏状态的平均值和方面的隐藏状态向量生成新的方面表示,将其与含句法信息的上下文表示再次利用多头交互注意力融合。之后利用多头自注意力捕捉交互信息后的句子内部关系。

1 相关工作

早期关于特定方面情感分析的工作主要集中在手工提取特征来训练情感分类器[10],例如词袋特征和情感词典特征。近年来,递归神经网络在方面级情感分析中取得了巨大的成功,因为它们可以在没有手工特征的情况下生成保留丰富语义信息的句子的低维向量[11]。此外,使用注意力机制可以增强句子表示,以便集中在给定方面的句子的关键部分[12]。ATAE-LSTM[5]结合了LSTM和注意力机制,该模型将特定方面的信息嵌入参与到注意力权重的计算中。RAM[13]改进了记忆网络,用双向LSTM表示记忆,并使用门控循环单位网络来组合句子表示的多头注意力输出。AEN[12]避免了重复,并且在上下文和特定方面之间应用了多个多头注意力。IAN[6]采用双向注意力机制分别交互学习上下文和方面词的注意权重。TNet[7]模型利用CNN来提取句子中相对重要的信息,同时对朴素CNN进行了进一步的处理使其适合该任务。GCAE[3]模型结合了CNN和门控机制,利用CNN提取句子特征,然后利用Tanh-ReLU门控单元根据给定的不同方面有选择地输出情感特征。MGAN[14]模型是一种多粒度注意力网络,结合粗粒度和细粒度注意力来捕捉方面和上下文在词级别上的交互,用方面对齐损失来描述拥有共同上下文的方面之间在方面级别上的相互影响。然而,这些研究都没有考虑句法信息,忽略了词与词之间的句法依存关系,这可能导致在识别特定方面的情感极性时出现歧义。

图卷积网络[15]在处理包含丰富关系信息的图形数据方面是有效的。许多研究致力于将GCN扩展到与图像相关的任务。陈等人[16]利用图卷积网络建立了用于多标签图像识别的模型。图卷积网络最近在自然语言处理中也受到越来越多的关注,如语义角色标注[17]、机器翻译[18]和关系分类[19]。一些工作探索用于文本分类的图神经网络[20-21],他们将一个文档、一个句子或一个单词视为一个图形节点,并依靠节点之间的关系来构建图形。最近流行的一种学习句法感知表示的方法是在依赖树上使用图卷积神经网络模型[22-24],其允许信息以句法方式在方面术语和上下文单词之间传递。而且他们的工作表明[7],GCN能有效捕捉节点之间的关系。

2 模型

针对这一任务,我们提出CA-GCN模型,模型的框架如图1所示。接下来,我们将详细介绍模型的各个部分。

图1 模型框架

2.1 词嵌入

词嵌入是将每个单词映射到一个高维向量空间。定义L=Rdemb×|V|为预训练Glove的嵌入矩阵,demb是词向量的维度,|V|是词汇量大小,然后将每一个单词ωi∈R|V|映射到其对应的嵌入向量ei∈Rdemb×1,该嵌入向量是嵌入矩阵L的列向量。

2.2 BiLSTM神经网络

利用BiLSTM提取句子和方面词的隐含语义,并能获得句子的长依赖序列信息。其核心是利用记忆细胞来记忆长期的历史信息,并用门控的机制对其进行管理。在门控机制中,门和记忆细胞的表达式如式(1)所示。

(1)

(2)

同样,我们可以得到方面词的隐藏状态ht。

2.3 卷积神经网络

卷积神经网络的核心组成部分是卷积层。本文采用两层卷积层。

(3)

(4)

Tanh函数及其导数的图像如图2所示。

图2 Tanh函数及其导函数

2.4 获取面向方面的特征

在本研究中,我们采取面向方面的特征提取策略: 在句子的句法依存树上应用多层图卷积,然后在其顶部采用掩蔽的方法获得面向方面的特征。

2.4.1 依存树上的图卷积

图3 句子的依存关系

(5)

(6)

F(·)是分配位置权重的函数,它可以增强上下文靠近方面的词的重要性。同时,这样做可以减少依存解析过程中可能自然产生的噪声和偏差。具体的来说,函数F(·)定义为:

(7)

(8)

2.4.2 特定方面的掩码

在这一层中,我们屏蔽掉非方面词的隐藏状态向量,保持方面词的状态不变,如式(9)所示。

(9)

2.5 注意力机制

在这一部分中,我们将句法信息和语义信息进行交互,完成最后的拼接。

2.5.1 方面感知注意力

基于面向方面的特征,从隐藏状态向量Hc中检索与方面词语义相关的重要特征,并相应地为每个上下文词设置基于检索的关注权重。注意力权重的计算如式(10)所示。

(10)

这里,点积用于衡量方面组成单词和句子中的单词之间的语义相关性,使得方面特定的掩蔽发挥作用。不同的是我们在点积函数计算后加入了一层tanh激活函数,这一附加层显著提高了性能。预测的最终表示如式(11)所示。

(11)

2.5.2 多头注意力

本文定义一个键序列k={k1,k2,…,kn}和一个查询序列q={q1,q2,…,qn}。注意力值是通过用键计算注意力分布并将其附加到值来获得的。在自然语言处理领域中,键和值通常是相同的,因此这里键=值。然后用一个注意力函数将键和查询投影到一个输出序列中,如式(12)所示。

Attention(k,q)=softmax(fm(k,q))k

(12)

fm函数是用来研究qj和ki的语义关联,如式(13)所示。

fm(ki,qj)=tanh([ki;qj]·Wa)

(13)

其中,Wa∈R2dh是学习到的权重矩阵。多头注意力能够在并行子空间中学习n个头的不同分数,头之间的参数并不共享,因为q和k的值是不断变化的。将N个头的输出进行拼接并映射到特定的隐藏维度,如式(14)所示。

(14)

多头交互注意力是q不同于k的常见形式。在本文中,利用多头交互注意力进行上下文到方面的关注,根据查询向量为方面词分配注意力权重,查询向量是通过对上下文隐藏输出Hc的平均池化获得。对于一个方面的每个隐藏单词向量,注意力权重计算如式(13)所示。

在计算单词注意力权重之后,我们可以获得方面隐藏表示的加权组合作为新的方面表示,如式(15)所示。

(15)

Hgt=MHA(HL,Htc)

(16)

(17)

2.6 输出

(18)

得到最终特征表示u后,送入Softmax层,得到不同方面情感极性的概率分布,如式(19)所示。

(19)

2.7 模型训练

本模型采用具有交叉熵损失和L2正则化的标准梯度下降算法训练,采用反向传播算法更新权重和参数,如式(20)所示。

(20)

3 实验

3.1 数据集

为了验证模型的有效性,我们的实验在三个数据集上进行: Twitter数据集,SemEval 2014 任务中的笔记本Lap14和餐厅Rest14数据集评论数据集。选择准确率和调和平均F1值对模型进行评估。实验结果是通过三次随机初始化的平均值获得的。数据集的统计信息如表1所示。

表1 数据集的统计信息

模型中超参数的设置: Glove词嵌入维度为300,学习率为0.001,L2正则化系数为0.000 01,批量大小设为32。为了防止过拟合,Dropout的值设为0.5。卷积网络和图卷积网络的层数设为两层,多头注意力的头数设为3,模型权重均匀分布初始化,此外,模型使用Adam作为优化器。

超参数分析

(1) 卷积网络的层数

卷积网络中卷积网络的层数和卷积核的窗口高度是影响模型性能的重要参数。我们在Lap14数据集上用不同数量的CNN层、不同窗口高度的卷积核进行了测试。结果如图4、图5所示。

图4 CNN层数对模型影响

图5 CNN卷积核窗口高度对模型影响

由图可以看出,卷积网络层数为2时模型的性能最好,卷积核的窗口高度为3时模型性能最好。卷积核窗口高度设置过小会导致卷积得到的特征过少,设置过大会导致过拟合。

(2) GCN的层数

GCN层数也是影响模型性能的一个重要参数。我们在Lap14数据集上用不同数量的GCN层进行了测试。结果如图6所示。

从图6可以看出,当GCN层数为2时,模型达到最佳性能。然而,当层数大于2时,模型的性能随着GCN层数的增加而恶化。这可能是因为随着GCN层数的增加,模型参数增多,导致模型更难训练,导致过拟合。为了避免过多的训练参数和过拟合,本文将GCN层数设置为2。

图6 GCN层数对模型的影响

(3) 多头注意力的头的个数

多头注意力的头的个数也会影响模型性能。我们Lap14数据集上用不同数量的注意力头数进行了测试,结果如图7所示。

从图7可以看出,准确度和F1评分的值随着头个数的增加而波动,但当头取3时,准确率和F1值最高。然后准确率和F1的值随着头个数的升高而降低。我们推测,由于头数的增加,太多上下文单词的产生对语义信息的整合产生不必要的干扰,混淆了当前单词的表示。因此,当头的个数取3时,模型的性能更好。本文将注意力头数设置为3。

图7 多头注意力的头数对模型影响

3.2 实验结果

选择基线模型进行比较,来评估模型的有效性,实验结果如表2所示。

表2 各模型试验结果 (单位: %)

LSTM[25]模型由LSTM得到句子的隐含层输出,然后通过Softmax分类器得到情感分类。

IAN[6]模型使用两个基于注意力的LSTM网络分别生成方面术语和上下文的表示,然后将上下文表示和方面表示连接起来,用于预测方面的情感极性。

AEN[26]模型主要由嵌入层、注意编码层、特定方面注意层和输出层组成。为了避免重复,它使用基于注意力的编码器在方面和相应的上下文之间建模。

TNet-LF[7]模型提出了一种在句子中生成特定于方面的单词表示的方法,该方法结合了一种用于保存来自RNN层的原始上下文信息的机制。

GCAE[3]模型通过两个卷积层分别建模方面信息和上下文信息,两个门控单元通过给定的方面选择性地输出情感特征。

ASGCN[23]模型在句子的依存关系树上利用图卷积网络(GCN),以利用句法信息和词的依存关系。

由表2可以看出,LSTM方法的性能最差,因为其将方面与其他上下文词同等对待,并且没有充分利用方面信息。这也验证了方面的重要性[27]。IAN是基于注意力的基本模型,它考虑了方面的重要性,同时通过交互注意力机制的交互改善了上下文和方面词之间的交互,与LSTM模型相比实现了稳定的改进,说明了上下文和方面交互信息的重要性。AEN仅使用多头注意力机制对上下文和特定方面进行语义建模。不使用Bi-LSTM,可能无法充分考虑整个句子从前到后和从后到前的语境语义。与以上三种基线模型相比,TNet-LF在数据集上的表现略好是因为它很好地将特定的方面信息整合到词的表示中,而上下文保持机制能够很好地保留语义信息,但其缺点是没有考虑句法信息。由于ASGCN模型结合了句法信息,该模型的效果优于不考虑句法信息的模型。在ASGCN模型中,多层图卷积结构是在LSTM输出的基础上实现的,随后是过滤掉非方面词的屏蔽机制仅保留特定方面的特征。然而,带有句法信息的上下文表示丢失了。我们不能断定某些带有句法信息的语境词在确定特定方面的情感极性时是无用的,所以我们将所有带有句法信息的语境词通过多头交互注意力与方面信息进行交互。之后经过多头自我注意的并行计算,句法信息丰富的词会更加突出,更有利于充分利用句法信息确定特定方面的情感极性。本文很好地利用了语义信息、句法信息及其交互信息,并实现了满意的效果。

3.3 消融实验

为了进一步确定CA-GCN模型中每个部分对模型性能的贡献程度和每个部分的重要性,我们对CA-GCN模型进行了消融研究,结果如表3所示。

表3 模型消融结果 (单位: %)

首先,我们去除图卷积网络,但保留位置权重和特定于方面的掩蔽,三个数据集上的准确率和F1值普遍下降,这说明句法信息对于有针对性的情感分类是很有帮助的。第二,去除方面掩码,验证了特定方面屏蔽的重要性。第三,去除卷积网络,说明进一步提取语义信息这一想法的可行性。第四,去除多头交互注意力。多头交互注意力旨在组合特征并交互学习语法信息和句法信息之间的相关性,拼接和池化可以取代多头交互注意力,但是学习过程不再是互动的,我们发现在Twitter数据集上准确率和F1值略有提升,这可能是因为Twitter数据集中的大多数句子的句法结构并不完美,句法信息的引入会干扰对特定方面情感极性的预测。另外两个数据集上的表现说明了句法和语义信息交互的重要性。第五,去除Tanh激活函数层,除模型在Rest14数据集上的性能略有提高外,其他均下降,验证了这一附加层添加的有效性。最后,去除多头自注意力,多头自注意力主要用于提取更丰富的语义信息,去除后导致模型在三个数据集上的表现都变差。这表明,模型应用多头自我注意力可有效地捕捉丰富的语义信息。

3.4 案例研究

为了更好地理解CA-GCN模型是如何工作的,我们提供了一个案例研究和几个测试示例。特别地,我们将IAN、CA-GCN提供的注意力得分在表4中可视化,以及它们对这些例子的预测和相应的真实标签。

表4 IAN,CA-GCN模型对测试例子的注意力分数的可视化,以及他们的预测和相应的标签

第一个例句:“great food but the service was dreadful!”在这个句子中包含两个方面,这可能会阻碍基于注意力的模型将这些方面与其相关的描述性词汇精确地结合起来。第二个例句“The staff should be a bit more friendly”使用了一个虚拟词“should”,给检测隐含语义带来了额外的困难。最后一个例句中包含了否定,这很容易导致模型做出错误的预测。

虽然IAN能够针对不同的方面使用不同的修饰语,但它无法对具有特殊风格的句子进行情感极性推理。我们的CA-GCN模型正确地处理了所有三个样本,这意味着GCN有效地将语法依赖信息集成到丰富的语义表示中。特别的是,CA-GCN对第二个和第三个句子的预测是正确的,但两个样本的关注点似乎都有偏差。这显示了CA-GCN捕捉远程多词特征的能力。

4 结论

本文采用卷积神经网络结合LSTM抽取文本中更抽象的特征以及词的位置信息和单词之间的相关语义信息,并在句法依赖树上建立图卷积网络来编码句法信息。然后通过多头互动注意力与语义信息互动,利用多头自注意力提取交互信息中更为丰富的语义信息。这很好地利用了语义信息、句法信息和其交互信息,并且和其他深度学习模型进行比较,证明了其有效性。

虽然目前的模型取得了良好的实验结果,但仍有大量工作需要改进。我们打算减少模型的训练参数,使我们的模型更加轻量级。第二,提取更多原始的上下文语义信息也将是我们未来工作的重要组成部分。最后,本模型可以扩展为通过捕获方面词之间的依赖性来同时判断多个方面的情感。

猜你喜欢
句法注意力语义
让注意力“飞”回来
句法与句意(外一篇)
中华诗词(2021年3期)2021-12-31 08:07:22
述谓结构与英语句法配置
语言与语义
句法二题
中华诗词(2018年3期)2018-08-01 06:40:40
诗词联句句法梳理
中华诗词(2018年11期)2018-03-26 06:41:32
“扬眼”APP:让注意力“变现”
传媒评论(2017年3期)2017-06-13 09:18:10
A Beautiful Way Of Looking At Things
“上”与“下”语义的不对称性及其认知阐释
现代语文(2016年21期)2016-05-25 13:13:44
认知范畴模糊与语义模糊