一种用于方面级情感分析的关系注意力图卷积网络

2023-04-19 05:17刘漳辉杨耀东陈羽中
小型微型计算机系统 2023年4期
关键词:注意力卷积向量

刘漳辉,杨耀东,陈羽中

(福州大学 计算机与大数据学院,福州 350116)(福建省网络计算与智能信息处理重点实验室,福州 350116) E-mail:yzchen@fzu.edu.cn

1 引 言

情感分析,又称为观点挖掘、意见挖掘,是自然语言处理领域中的一项基本任务,其基本目标是挖掘文本中的情感信息,分析其情感倾向性[1].情感分析包括文档级情感分析、句子级情感分析以及方面级情感分析.本文针对现有方面级情感分析算法存在的问题开展研究.

方面级情感分析旨在判断评论目标的具体方面所对应的情感极性.例如,句子“这家餐厅的食物很美味,但是价格有点贵”中,包含实体“食物”的两个方面“味道”和“价格”,其对应的观点分别是“美味”和“贵”.在该例子中,评论者对食物的味道方面的评价是正面,而对价格方面的评价是负面,两个评价的情感极性相反.传统的文档级或句子级情感分析模型只能识别整个句子的情感极性,对于存在多个方面且方面的情感极性不同的句子,显然无法正确解读句子中的情感信息.因此,针对给定实体方面的细粒度情感分析已经成为目前情感分析领域的主要研究目标.

近年来,深度学习在方面级情感分析任务中获得了广泛的应用.深度学习方法无需进行繁琐的人工特征工程工作,可以自动从文本中提取文本特征.方面级情感分析的深度学习模型主要基于循环神经网络、注意力机制和图神经网络.与注意力网络和循环神经网络相比,图神经网络的优势在于能够利用评论文本单词之间的句法依存关系从而提升模型学习给定方面相关情感信息的能力,但是现有的基于图神经网络的模型没有充分利用句法依赖树中的边关系,在进行图卷积融合计算时,对给定方面相连的上下文没有做出区分.此外,现有基于图神经网络的方面级情感分析模型容易受到多层图卷积网络节点过度平滑的干扰,即图神经网络层数过多导致每个单词的隐藏状态中融合了大量不相关单词的语义信息,引起自身语义信息的丢失,导致模型无法有效提取上下文中的关键情感信息.

针对上述问题,本文提出了一种融合关系注意力机制的图卷积网络(Relational Attention basedGraph Convolutional Network,RAGCN).主要贡献如下:

1)RAGCN通过两个双向长短期记忆网络分别对句子和增强后的方面建模,引导图卷积网络对向量表示进行更新,从而更好地利用方面信息进行情感分析.

2)RAGCN提出了一种关系注意力机制.该机制能充分利用句子节点间的边关系,结合双向长短期记忆网络的输出以捕获方面和上下文单词之间的关系,从而避免句子表征向量受到评论句子中其它方面的情感词的影响,使句子表征向量仅表示给定方面的情感.

3)RAGCN设计了一种门控融合机制.将图神经网络表示与关系注意力层输出经过门控机制融合,生成的最终表征向量输入softmax层进行分类,提高了模型的鲁棒性.

2 相关工作

相较于传统的机器学习方法,深度学习方法在方面级情感分析上有更好的表现.卷积神经网络(Convolutional Neural Networks,CNN)在捕获句子中潜在的语义信息方面表现良好,一些研究工作将CNN用于方面级情感分析[2,3].与CNN相比,循环神经网络(Recurrent Neural Network,RNN)可以捕获句子间的上下文依赖关系,对给定方面与上下文单词之间的相关性进行建模,这有利于分类给定方面的情感极性.因此,RNN被广泛应用于方面级情感分析任务中.方面的情感极性通常由方面周围的几个相关上下文单词确定,由于RNN无法准确计算给定方面周围的每个单词对于情感分析的重要性,于是引入了注意力机制来有效地捕捉上下文单词相对于给定方面的重要性,因此,现有模型主要将RNN和注意力机制结合以实现方面级情感分析[4-8].Wang[4]等将方面向量与输入句子的词向量串联后输入长短期记忆网络(Long Short-Term Memory,LSTM),使方面向量能够参与计算每个上下文单词的注意力权重.Ma[5]等利用LSTM和注意力机制交互学习方面及其上下文单词的注意力权重,以获得每个方面及其上下文的精确表示,从而有效地区分句子中不同方面的情感极性.Zhang[6]等利用Bi-LSTM对句子的词向量进行编码,然后用结构化注意力机制去捕获语义片段与目标的联系,采用由细到粗的语义提取框架,目的是降低噪音,提高分类精度.Chen[7]等将文本序列切片成多个子序列,输入到双向门控循环网络(Gated Recurrent Unit,GRU),然后利用注意力机制对每个子序列隐藏状态进行加权计算得到目标情感的序列信息.Chen[8]等利用BiGRU网络对文本进行编码,然后通过自注意力机制对文本和表情符号的向量表示进行特征提取,来提高分类精度.

近年来,随着图神经网络(Graph Neural Networks,GNNs)[9]的兴起,一些研究者将GNN引入方面级情感分析任务中[10-16].GNN能够学习和利用句法依存信息.句法依存信息代表了句子中单词之间的依赖关系,对于正确判断方面的情感极性至关重要.Hang[10]等使用Bi-LSTM对句子编码,然后利用图注意力网络(Graph Attention Network,GAT)提取上下文单词之间的依赖关系.Zhang[11]等将图卷积网络(Graph Convolutional Network,GCN)与注意力机制相结合,以获取上下文单词与给定方面之间的语义相关性.Zhou[12]等使用外部构造的知识图谱嵌入与句法依存关系,利用两种不同结构的GCN得到上下文词节点与给定方面之间的语义关系.Zhang[13]等提出一种结合全局词汇图和句法依赖图的图卷积结构模型,根据语料库层面词语的共现信息作为节点的边关系,最后通过一个双层交互图卷积网络来充分利用两种图结构,以获取评论文本更准确的特征表示.Zhao[14]在Bi-LSTM对文本编码后使用了具有位置编码的双向注意力机制,以建模每个方面及其上下文词之间的语义关系,然后采用GCN捕获相同句子中不同方面之间的情感依赖性.

3 模 型

3.1 问题定义

3.2 模型框架

本文所提出的RAGCN模型的总体架构如图1所示,包括词表示层、文本编码层、图卷积层、关系注意力层、方面特征提取层、门控融合层以及情感分类层7个模块.词表示层采用预训练的词向量将句子中的每个单词映射到连续的低维向量空间中.文本编码层提取评论句子和方面中的语义关系.图卷积层利用评论句子的句法依存关系.关系注意力层根据句法依赖树对上下文做出区分,提取句子与方面语义上的相关情感信息.方面特征提取层进一步提升模型的信息提取能力,捕获关键情感单词.门控融合层融合图卷积网络输出和关系注意力层输出,提高模型鲁棒性.情感分类层则通过Softmax生成3个类标签上的概率分布.

3.3 词表示层

词表示层采用预训练的词向量将评论句子的每个单词映射到连续的低维向量空间中.设L∈d×|V|是由所有的预训练词向量组成的向量矩阵,对于评论句子s,通过预训练词向量矩阵L获得其对应的输入评论句子向量x={x1,x2,…,xn},其中n表示输入的评论句子s的长度,xn∈d表示第n个单词wn对应的词向量,其中d是词向量的维度,|V|是词向量表的大小.

经研究发现同一个方面词在不同的语境中的情感可能不同,对方面词使用Bi-LSTM网络建模得到语义信息仅与自身相关,针对此问题,本文提出了方面增强向量,给定一条评论句子,将方面词和与其有句法关联的上下文词结合,目的是缩短方面词与情感词的距离,更好的确定方面词在此语境的语义信息.

图2 方面增强向量Fig.2 Enhanced aspect vector

3.4 文本编码层

循环神经网络可以捕获句子间的上下文依赖关系,长期依赖关系是处理自然语言处理问题的关键.为了提取评论句子和方面中的长期依赖关系,模型在文本编码层通过两个不同的Bi-LSTM分别对评论句子和方面增强向量进行编码,将每个单词的词向量作为时间步输入到Bi-LSTM中进行编码学习.

3.5 图卷积层

在进行图卷积计算前,需要先对评论句子进行依赖树解析.图卷积神经网络与卷积神经网络一样,是一种特征提取器,但它能够基于句法依赖树实现卷积操作,用于对非结构化数据的本地信息进行编码.模型在数据预处理阶段对句子进行解析并生成句法依赖树,在图卷积层通过K层的GCN提取Bi-LSTM的局部信息.

研究表明,上下文单词与方面词之间的位置关系也是一种重要的特征,更接近方面的单词对方面的情感表示影响更大.使用位置权重可以减少图卷积计算过程中自然产生的噪声,还能够为同一句子的不同方面生成特定且唯一的隐藏状态.因此,文本编码层输出的隐藏状态不是直接输入GCN中,而是首先进行位置加权转换,其计算过程如下:

(1)

(2)

其中,n是评论句子中单词数量,而i是当前单词的在句中的位置,方面增强的第1个单词在句中的位置,m是方面增强的单词数量.pi是当前单词的位置权重,将位置权重pi与评论句子的Bi-LSTM隐藏状态相乘,即可得到评论句子的位置加权隐藏状态.

接下来,为了引导模型提取给定方面的关键上下文信息,由公式(3),模型首先通过平均池化操作得到方面增强的平均向量,由公式(4)和公式(5),拼接评论句子位置加权隐藏状态与给定方面增强的平均向量,得到K层GCN的初始输入向量g0:

(3)

(4)

(5)

其中,ga∈2l是给定方面增强的平均向量,4l是单词i的隐藏状态和ga连接后的向量.

对于句法依赖树,本文不考虑句法依赖关系中边的方向,将评论句子的依赖树视为一种无向图,评论句子的每个单词都对应依赖树的一个节点,长度为n的评论句子得到n×n的邻接矩阵A,从而参与图卷积操作.在邻接矩阵中,元素Aij为1表示节点i与节点j之间存在依赖关系,互为邻接节点.Aij为0则表示节点i与节点j之间不存在依赖关系.每个节点在更新过程中将汇集邻接节点的特征信息,并与自身信息进行融合.对于节点i,第K层GCN的更新过程如下:

(6)

(7)

(8)

其中,k∈[1,K]表示当前GCN层所处的位置,Wk∈4l×2l和bk∈2l是可训练的参数,2l是节点i更新后的隐藏状态,relu()是非线性激活函数,di表示节点i的度,4d是第k+1层GCN中节点i的输入.

图3 依赖树剪枝Fig.3 Reshaped syntactic dependency tree

(9)

3.6 关系注意力层

句法依存关系中节点之间的边类型也是一种重要的特征,修饰情感词的边类型对方面的情感表示影响更大.多层图卷积网络在聚合过程中,相邻节点之间的隐藏状态存在较多共享信息,导致节点的状态过度平滑,造成方面节点与邻居节点的隐藏表示无区分,致使节点分类的性能下降.针对该问题,本文提出了一种关系注意力机制,利用评论句子的句法依赖关系,为每个上下文单词分配注意力权重,对上下文单词做出区分,提取出评论句子隐藏状态与给定方面句法上相关的重要特征,从而建立方面词与相关情感的联系.

关系注意力层首先对评论句子的边关系标签序列S初始化,得到边向量e={e1,e2,…en},对边向量e和评论句子的Bi-LSTM隐藏状态h使用注意力机制,计算注意力权重βi,得到关系注意力句子表征向量eatt.具体的计算过程如下:

(10)

(11)

gi=relu(eiWm1+bm1)Wm2+bm2

(12)

其中,eatt∈2l表示关系注意力的句子表征向量,βi∈表示节点i的注意力权重系数,ei∈l表示节点i和方面a的边关系向量,Wm1∈l×l、Wm2∈l是可学习的权重矩阵,bm1∈l、bm2∈l是偏置向量.

3.7 方面特征提取层

为了防止模型在多层图卷积网络的更新和掩膜操作过程中造成特征信息的丢失,方面特征提取层提出了一种单词级注意力机制,进一步提升模型的信息提取能力,捕获关键情感单词.该机制可以提取单词级的上下文关键信息,并与句子表征向量结合,从而避免评论句子中与给定方面无关的情感词的干扰,使句子表征向量仅表示给定方面的情感.

在方面特征提取层对评论句子的Bi-LSTM的隐藏状态h和图卷积层的输出hmask使用注意力机制,从隐藏状态h中提取与给定方面在语义上相关的重要特征,并因此为每个上下文单词分配注意力权重,从而实现提取单词级上下文情感信息,增强向量的情感表示.具体的计算过程如下:

(13)

(14)

(15)

其中,ew∈2l是提取了给定方面的单词级上下文情感信息的句子表征向量.αi表示方面词与句子中的其它单词之间的语义相关性分布.

3.8 门控融合层

由于评论句子的随意性,少数不规范的句子不可避免地会对模型产生噪音,为了保证模型在预测结果时的稳定性,本文设计了一种门控融合机制,融合多层图卷积网络输出表示和关系注意力层输出表示,增加模型的鲁棒性.

首先,将方面特征提取层的句子表征向量ew与关系注意力层的句子表征向量eatt拼接后输入门控函数过滤无关信息,然后输入多层感知机得到最终的句子表征向量efinal,多层感知机由线性层和激活函数组成,具体的计算过程如下:

es1={ew∶eatt}

(16)

es=gate(Wl1es1+bl1)

(17)

efinal=mlp(Wl2es+bl2)

(18)

其中,es1∈4l是方面特征提取层的句子表征向量ew∈2l和关系注意力层句子表征向量eatt∈2l拼接后的特征,Wl1∈4l×2l、Wl2∈2l×2l是可学习的权重矩阵,bl1∈2l、bl2∈2l是偏置向量,门控函数和多层感知机激活函数使用relu()函数.

3.9 情感分类层

门控融合层生成最终表征向量后efinal,通过softmax函数执行归一化操作,计算给定方面属于各个情感极性的概率:

y=softmax(Wefinal+b)

(19)

模型采用具有L2正则化项的交叉熵损失函数作为目标函数:

(20)

4 实验和结果

4.1 数据集

实验采用SemEval2014 Task4数据集[17]和Twitter数据集[18]公开数据集评估RAGCN模型的性能.SemEval2014 Task4数据集包含Rest14和Laptop14两个子数据集.Twitter每条数据对应一个用户推文.在这些数据集中,每条数据都包含一个或多个方面,每个方面具有相应的积极、消极或中性的情感极性.3个数据集的训练样本和测试样本的统计信息如表1所示.

表1 各数据集样本统计信息Table 1 Statistics of three benchmark datasets

4.2 对比算法

实验选取的对比模型包括TG-SAN,FDN[19],ATN[20],SDGCN,SK-GCN,BiGCN,RGAT和DGEDT等最新最先进模型.其中TG-SAN、FDN、ATN模型基于循环神经网络,SDGCN、SK-GCN、BiGCN、DGEDT、RGAT模型基于图神经网络.其中SK-GCN、BiGCN、DGEDT、RGAT模型利用了句法依存信息.为了保证对比实验公平,所选模型均使用GloVe[21]预训练的300维单词向量.

4.3 实验设置和评估指标

GPU使用NVIDIA Tesla P100,模型代码通过Pytorch框架实现.在数据预处理方面,评论文本依赖树使用本地SpaCy工具.输入长度设置为当前batch中最长评论句子的长度,当句子长度小于输入长度时用0填充,词向量使用GloVe预训练的300维单词向量.所有权重矩阵使用Xavier进行初始化,并将所有偏置值初始化为零.模型使用Adam优化算法对作为优化器进行训练,初始学习率为0.001,损失函数的归一化系数设为10-5,Bi-LSTM的隐藏层单元数设置为300,多层GCN的层数K设置为2,边关系向量维度设置为300.

本文采用准确度(Accuracy)和Macro-F1作为实验中方面级情感分析模型的性能评估指标.

表2 RAGCN与基准模型的性能对比Table 2 Overall performance of RAGCN and baseline models

4.4 实验结果分析

RAGCN模型及对比模型在3个数据集上的实验结果如表2所示.可以看到,RAGCN模型在Restaurant和Laptop两个数据集上都获得了最高的Accuracy值,分别达到84.64%和77.90%,仅在Twitter数据集上低于RGAT.对于Macro-F1值,在Restaurant、Laptop和Twitter数据集上均为最佳,分别达到76.94%、73.78%和73.89%.在对比模型中,有些模型虽然在某一数据集上比较接近RAGCN的性能,但是在其它数据集上与RAGCN的差距较大.SDGCN在Rest14数据集上Accuracy为对比模型中最优,但是在Laptop数据集上Accuracy值比RAGCN低0.74%,Macro-F1值低2.27%.

表3 消融实验结果Table 3 Performance results of RAGCN and its ablation model

在对比模型中,RGAT和RAGCN模型在Laptop14数据集上性能非常接近,获得了对比模型中的最佳性能,RGAT还在Twitter数据集上均取得了对比模型中最佳的Accuracy值和Macor-F1值.但是在Rest14数据集上,RGAT与RAGCN相比,Accuracy值与Macro-F1值均相差较大.综合而言,RAGCN模型在所有数据集上均获得了最优的性能,而且整体性能稳定,鲁棒性好,可以很好地处理不同领域的评论文本.主要原因在于RAGCN模型使用GCN以提取和学习评论句子中的句法依存关系.RAGCN还对方面进行建模,加强了方面和上下文之间的语义信息交互,同时利用关系注意力机制提取与方面联系紧密的上下文情感信息,增强了表征向量对方面情感的表示.因此,RAGCN预测方面的情感极性的能力获得了较大提升.

4.5 模型分析

本节通过消融实验分析RAGCN的各模块对其整体性能的贡献程度.RAGCN的消融模型包括RAGCN w/o EA、RAGCN w/o RA、RAGCN w/o Gate.RAGCN w/o EA表示仅用方面词建模,不包含相连上下文词.RAGCN w/o RA没有使用关系注意力机制.RAGCN w/o Gate表示仅拼接子模型输出,不使用门控融合机制.实验结果如表3所示,RAGCN w/o RA的性能在所有消融模型中性能最差.这是因为RAGCN w/o RA难以避免评论句子中其他方面的情感词影响.RAGCN w/o EA的性能在所有消融模型中性能排其次,这是由于方面增强向量缩短了方面词与情感词之间的距离,对增强后的方面建模,能更好确定方面词在上下文语境中的语义信息.RAGCN w/o Gate在所有消融模型中性能最佳,表明门控融合机制能减少噪声影响,提高分类性能.

5 总 结

针对现有的方面级情感分析模型存在方面信息丢失、没有充分利用句法依存关系等问题,本文提出一种融合关系注意力机制的图卷积网络模型RAGCN,首先利用两个Bi-LSTM对评论句子和给定方面分别建模,然后对生成的隐藏状态进行拼接并输入多层GCN中和关系注意力层.通过多层GCN可以捕获和学习句法依存关系,通过关系注意力机制可以捕获与给定方面相关上下文信息.最后,使用一种门控融合机制,该机制从多层GCN和关系注意力机制的输出中捕获给定方面相关的情感信息,从而获得多更准确的句子表征向量.

猜你喜欢
注意力卷积向量
向量的分解
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
聚焦“向量与三角”创新题
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线