APP下载

基于自注意力门控图卷积网络的特定目标情感分析

2020-09-04陈佳伟王直杰

计算机应用 2020年8期
关键词:编码语义卷积

陈佳伟,韩 芳,王直杰

(东华大学信息科学与技术学院,上海201620)

0 引言

基于特定目标的情感分析(Aspect-Based Sentiment Classification,ABSC)是一种细粒度的自然语言处理任务,是情感分析领域[1]一个重要的分支。

传统的机器学习方法[2-3]主要基于特征工程,然而这类方法需要大量的人力和物力来设计特征,并且需要获得足够多的语料来构造词典。支持向量机(Support Vector Machine,SVM)[2]在该领域取得了可观的性能。然而,与大多数传统的机器学习方法类似,这种方法过于繁琐,不适合手工设计特征。另外,当数据集发生变化时,方法的性能也会受到很大影响。因此,基于传统机器学习的方法通用性差,难以应用于多种数据集。

由于基于神经网络的方法具有很强的捕获原始特征的能力,因此近年来的研究工作越来越多地与神经网络相结合。词嵌入[4]是基于深度神经网络方法的基础,它将自然语言表示为连续的低维向量,通过对向量的操作来学习自然语言的交 互 特 性 。 Word2Vec(Word to Vector)[5]、PV(Paragraph Vectors)[6]和 GloVe(Global Vectors)[7]等便是预训练好的词向量。为了将目标词融入到模型中,Tang 等[8]提出TD-LSTM(Target-Dependent Long-Short Term Memory)模型来扩展长短期记忆(Long-Short Term Memory,LSTM)模型,分别使用两个单向LSTM 对目标词的左上下文和右上下文进行建模。随着注意力机制模型成功应用于机器翻译[9],目前已经有一些研究使用注意力机制生成特定目标的句子表示[10-12],还有一些研究根据目标词转换句子表示[13]。除了基于注意力机制的模型,卷积神经网络(Convolutional Neural Network,CNN)已经被用于捕获上下文中描述特定目标的多词短语的语义特征。多注意力卷积神经网络(Multi-ATTention Convolutional Neural Network,MATT-CNN)14]将多种注意力机制与CNN 结合,能获取更深层次的情感特征信息。门控卷积网络(Gated Convolutional network with Aspect Embedding,GCAE)[15]采用CNN 和门控机制有效地选择给定目标词的情感特征,且该模型可以并行计算,提升了训练速度。

大多数之前的工作存在以下几个问题:第一,句子的建模依赖于循环神经网络(Recurrent Neural Network,RNN)(如LSTM、门控循环单元(Gated Recurrent Unit,GRU)和注意力机制。然而,RNN 很难并行化,并且需要大量的内存和计算量;另外,RNN 缺乏在长时间范围内捕获语义依赖关系的能力。第二,尽管注意力机制能关注到句子的重要部分,但是不善于捕捉句子中上下文单词和目标之间的句法依赖关系,导致模型将语义依赖关系不相关的上下文词作为给定目标的描述。例如“Its size is ideal and the weight is acceptable”,基于注意力机制的模型通常会把acceptable 作为目标size 的描述。为了解决这个问题,He 等[16]在注意力权重上施加句法约束,但没有充分发挥句法结构的作用。

基于此,本文提出基于自注意力门控图卷积网络,并在3个公开数据集上对模型的效果进行了验证,实验结果表明,本文模型能有效地解决上文所提到的问题。本文的主要工作如下:

1)采用多头自注意力机制对目标和句子编码,从而获取其隐藏语义特征和两者之间的语义关联,摒弃RNN 编码并且减少训练参数。

2)在对句子进行依存句法分析的基础上,采用两个图卷积网络(Graph Convolutional Network,GCN)分别对句子和目标抽取句法信息并且捕获词的依存关系,解决长距离词依赖机制。

3)将预训练的BERT(Bidirectional Encoder Representations from Transformers)应用到此次任务中,相比非BERT 模型获得了更好的效果。

1 相关工作

1.1 模型定义

本文提出的基于自注意力门控图卷积网络的结构如图1所示,主要包括词嵌入层、自注意力编码层、图卷积层、门控单元和输出层。

图1 自注意力门控图卷积网络Fig. 1 Self-attention gated graph convolutional network

词嵌入层把句子转换成模型的输入;自注意力编码层编码句子和目标,进行语义特征的预提取;图卷积层捕捉上下文词和目标的句法依赖关系,非目标掩码获取目标的特征表示;门控单元提取情感特征。词嵌入层有两种:GloVe 嵌入层和BERT嵌入层。

1.2 词嵌入层

1.2.1 GloVe嵌入层

定义 M ∈ Rdemb×|V|为预训练的GloVe 嵌入矩阵,其中demb是词向量的维度,|V|是单词个数。然后把每一个单词wi∈ R1×|V|映射为其相应的词向量ei∈ Rdemb×1,该词向量是词嵌入矩阵M中的列向量。

1.2.2 BERT嵌入层

BERT[17]嵌入层是一个预训练的Seq2Seq 语言理解模型,使用预训练的BERT 生成序列的词向量。BERT 层有足够的能力抓取文本的语义特征。为了获得更好的效果,模型在训练过程中进行微调,采用两个独立的BERT 嵌入层分别建模句子特征和目标特征。

1.3 自注意力编码层

为了更好地编码句子和目标的语义特征,采用Transformer结构[18]中提出的一种新的注意力机制——多头自注意力机制表示句子和目标。多头自注意力机制执行多个注意力功能来计算每个上下文单词的注意力分数。与其他自注意力机制相比,缩放点积注意(Scaled Dot product Attention,SDA)更快,而且在计算时更有效,故本文使用SDA 作为注意力函数。

假设XSDA是通过嵌入层嵌入的输入表示。SDA 定义如下:

其中:Q、K 和V 分别是上层隐状态乘以它们各自的权重矩阵这些权重矩阵在学习的过程中是可训练的。维度 dq、dk、dv等于 dh/h,其中 dh是隐状态的维度。把每个头学习到的注意力表示拼接再乘以矩阵WMH进行转换。在本文模型中,注意力头的个数h设置为12。假设Hi是每个注意力头学习到的表示,有:

其中:“;”表示向量的拼接,WMH∈ Rhdv×dh。另外,tanh 激活函数用来增强MHSA编码器语义表示的学习能力。

1.4 基于依存树的图卷积

1.4.1 依存句法分析

句法是指句子的各个组成部分的相互关系,依存句法分析是句法分析中的一种方法。依存句法分析通过分析语言单位内成分之间的依存关系揭示其句法结构,主张句子中核心动词是支配其他成分的中心成分,而它本身却不受其他任何成分的支配,所有受支配成分都以某种依存关系从属于支配者。本文使用spaCy 对句子进行依存句法分析,示意结果如图2所示。

图2 依存句法分析图Fig. 2 Dependency syntax analysis graph

1.4.2 图卷积

为了解决句法约束和长距离依赖机制,本文在对句子进行依存句法分析的基础上建立图卷积网络(GCN)[19]。具体地,同时对文本和目标采用图卷积操作以充分考虑两者的句法约束关系和长距离词依赖机制。GCN可以被认为是对传统CNN 编码非结构化数据局部信息的一种改进。具体地说,通过对给定句子构建依存树获得依存矩阵A ∈Rn×n,其中n 是图的节点个数。为了方便,定义第l 层的第i 个节点的输出为,其中代表节点i 的初始化状态。对于一个L 层的图卷积网络,l ∈ [1,2,…,L]是节点i的最终状态。为了让节点更好地了解上下文,本文把预抽取的特征作为节点的特征输入GCN,然后用归一化因子的图卷积运算[10]更新每个节点的表示,具体过程如下所示:

其中,F( · )是位置编码函数,用于减少依存句法分析过程中产生的噪声和偏差,增强目标周围词的重要性。位置编码函数如下所示:

其中,qi∈ R 是第 i 个单词的位置权重。L 层 GCN 的最终输出是

为了获取目标特征,对非目标词的隐状态向量进行掩码操作,并且保持目标词状态不变:

1.5 门控单元

带有目标嵌入的门控单元(Gated Tanh-ReLU Unit,GTRU)在每个位置t 与两个卷积神经元相连。情感特征ci的计算如下:

其中:va是图卷积层后经过非目标掩码后的目标特征向量。式(12)和(13)包含两个相同的卷积操作:特征ai通过ReLU激活函数接收目标信息va,ai∈[0,1],表示目标与该位置文本的语义相似度;si∈[ ]-1,1 为该位置卷积后的情感。

1.6 模型训练

本文的模型包括使用GloVe 作为词嵌入和使用BERT 预训练语言模型对网络结构进行微调。对于前者,把整个句子作为模型的输入;对于后者,把“[CLS]+整个句子+[SEP]+目标+[SEP]”作为句子建模的输入,把“[CLS]+整个句子+[SEP]”作为目标建模的输入。

模型采用带交叉熵损失和L2正则化的标准梯度下降法进行训练:

2 实验与结果分析

2.1 实验环境

实验配置:CPU 为 Inteli7 8700K,RAM 为 8 GB,GPU 为Nvidia GTX 1080,GPU 加 速 库 为 CUDA 8.0.61,CUDNN6.0.21,实 验 系 统 为 ubuntu16.04,开 发 环 境 为Pytorch,开发工具为PyCharm,开发语言为Python。

2.2 数据集和超参数

本文在以下3 个数据集上进行实验:SemEval 2014 数据集[20],包括餐厅评论和笔记本电脑评论;ACL 推特评论数据集[21]。这些数据集带有三种情感标签:积极、中性和消极。每个数据集的训练集和测试集数量如表1所示。

表1 数据集信息Tab. 1 Dataset information

本文实验中,GloVe 词嵌入在训练过程中参数没有更新,但是本文使用预训练的BERT 对模型进行微调。GloVe 词嵌入维度为300,BERT维度为768,隐藏层的维度设置为300,使用Adam 作为优化器,学习率为1× 10-3,BERT 层在微调的过程中需要极小的学习率,设置为2 × 10-5。另外,图卷积的层数设置为2,门控单元中卷积核的大小设置为3、4、5,卷积核的个数为100。本文采用准确率acc 和调和平均F1 来评估模型的性能。

2.3 模型比较

为了全面评价和分析本文模型的性能,在上述3 个数据集上进行实验,并与多种基线模型进行对比。实验结果表明,本文模型MSAGCN 和MSAGCN-BERT 的准确率较高,尤其是基于BERT的MSAGCN-BERT模型。基线模型如下:

1)LSTM[22]利用最后一层隐状态向量预测情感极性。

2) ATAE-LSTM (ATtention-based LSTM with Aspect Embedding)[10]利用注意力机制帮助模型关注与目标方面更相关的上下文。同时,该模型在每一个词的嵌入中都加入了目标信息,通过学习上下文和目标之间的隐藏关系来增强模型性能。

3)IAN(Interactive Attention Networks)[11]通过两个 LSTM网络分别生成目标和上下文的表示,并利用交互注意力机制建模目标和上下文之间的关系。

4)GCAE[15]通过两个卷积层各自建模目标信息和情感信息,两个门控单元根据给定的目标控制情感的流向,最终对情感作出判别。

5)ASGCN(Aspect-Specific Graph Convolutional Network)[23]利用LSTM建模上下文信息,并以此作为节点特征输入图卷积网络抽取目标特征,并结合注意力机制获得最终上下文表示。

6)注意力编码网络(Attentional Encoder Network,AEN)[24]通过注意力机制编码上下文和目标,通过特定目标注意力层抽取带有目标信息的句子表示,并将其与上下文和目标表示拼接从而进行交互学习。

7)BERT-SPC[24]预训练 BERT 模型的句子匹配分类任务,该模型将输入序列转换为“[CLS]+句子+[SEP]+目标+[SEP]”。

2.4 结果分析

为了保证实验结果的准确性,本次实验的模型(包括基线模型)均运行在相同的实验环境下。各模型的准确率acc和F1 值的结果如表2 所示。其中,F1 为准确率和召回率的调和平均。

表2 各模型的准确率和F1值对比 单位:%Tab. 2 Comparison of accuracy and F1 value of each model unit:%

从表2 的实验结果可以看出,相较于基线模型,本文提出的模型在三个数据集上的效果都有一定程度的提升,MSAGCN-BERT 模型相较于其他基线模型效果得到了显著的提升,充分说明预训练BERT 模型在本次任务中的重要性。相较于BERT-SPC模型,MSAGCN-BERT模型在三个数据集上准确率提高了2~4个百分点,说明了针对BERT下游任务设计特定网络结构是非常重要的。但是,相较于ASGCN 模型,MSAGCN模型在笔记本数据集上的效果有所下降,经过分析,可能的原因是笔记本数据集对于句法依赖机制不是特别敏感。

使用循环神经网络建模句子和目标的模型(如LSTM、ATAE-LSTM、IAN)效果总体上不够理想,原因是模型很难记住长距离信息。同时,使用注意力机制的模型(如ATAELSTM、IAN)效果也没有获得明显的提升,原因是当句子包含多个目标且目标属性类似时,注意力机制可能会关注到其他目标的相关信息。使用卷积神经网络的模型(如GCAE)效果相较于循环神经网络模型效果有所提升,原因是CNN 善于捕捉语义特征,但是由于缺乏对长距离词依赖机制的考虑,模型效果同样不尽如人意。注意力编码网络(AEN)避免了递归计算,但由于没有对嵌入的隐藏语义进行建模,其整体性能并不好,最后一层注意力机制的结果本质上是单词嵌入的线性组合。

2.5 模型分析

为了进一步研究本文模型各部分对性能的影响程度,对模型进行了消融实验,结果如表3所示。

从表3 的实验结果可以看出,消融后的模型在准确率acc和F1评价指标两方面效果都不如原模型。这一结果表明,所有这些被丢弃的部分对于提高模型性能都是非常重要的。首先,在每个图卷积层前取消对句子和目标表示的位置编码(MSAGCN w/o pos),结果显示模型在三个数据集上准确率acc和F1值都有轻微下降,表明目标周围的上下文词的语义对最终的结果是重要的。另外,用LSTM 网络(MSAGCN-LSTM)取代自注意力机制编码句子和目标,结果显示模型效果在三个数据集上普遍下降。最后,对句子建模取消图卷积操作(MSAGCN w/o cgcn)以及直接利用卷积对目标抽取特征(MSAGCN w/o tgcn),结果显示模型效果相较于原模型有明显的下降;同时发现,本次的消融比前两次的效果有了进一步的下降,表明利用图卷积获取句子依存信息对最终的情感分析结果起到了关键性作用。

表3 消融实验结果对比 单位:%Tab. 3 Comparison of ablation results unit:%

为了验证本文提出的模型是否比结合注意力机制的RNN 模型更轻量级,将本文模型的大小和基线模型中结合注意力机制的RNN模型进行对比,结果如表4所示。由于BERT本身具有模型大的特性,本文提出的基于BERT 的模型大小也会相应变大。ATAE-LSTM、IAN、ASGCN 都是基于注意力的RNN模型,因为RNN编码后的句子的所有隐藏状态必须同时保存在记忆单元中才能执行注意力机制,所以这些模型的记忆优化将更加困难,模型更大。

表4 模型大小对比Tab. 4 Model size comparison

3 结语

针对RNN 结合注意力机制的网络模型所产生的训练参数多且缺少对相关句法约束和长距离词依赖机制解释的问题,本文提出了基于自注意力门控图卷积网络模型解决特定目标情感分析任务。本文的模型避免了类似RNN 结构的重复计算,利用自注意力捕获目标和其上下文词之间的交互语义,同时执行多个注意力功能捕获更加丰富的不同层面的语义信息。另外,考虑到距离目标词更近的上下文对该目标的情感重要程度更高,模型对句子采用位置编码。本文将编码后的句子作为特征并结合句子依存结构进行两次图卷积操作:一次作为句子的更深层次语义表示;另一次再通过掩码机制过滤掉非目标词特征,只保留高级别目标特征,从而捕捉到上下文词和目标的句法依赖关系。利用门控机制提取与目标词有关的情感特征。还将预训练的BERT 语言模型应用于此任务,进一步增强了模型的性能。实验和分析验证了本文模型的有效性。如何利用神经网络中大规模的情感词汇以及如何将外部常识融入神经网络获得更好的情感分析效果是我们未来的研究工作。

猜你喜欢

编码语义卷积
基于全卷积神经网络的猪背膘厚快速准确测定
真实场景水下语义分割方法及数据集
生活中的编码
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
长链非编码RNA APTR、HEIH、FAS-ASA1、FAM83H-AS1、DICER1-AS1、PR-lncRNA在肺癌中的表达
Genome and healthcare
“吃+NP”的语义生成机制研究
汉语依凭介词的语义范畴