施荣华,金 鑫,胡 超,2
(1.中南大学 计算机学院,长沙 410083;2.中南大学 大数据研究院,长沙 410083)
快速发展的互联网行业中涌现出大量的网络评价,一条网络评价可能包括对同一实体的多方面估量,为了给网络用户提供更全面、详细的情感信息,需要对海量网络评价中的多方面实体进行有针对性且更细粒度的情感类别分析。方面级别的文本情感分析[1]旨在分析文本中不同方面所对应的情感趋向,如SemEval-2014 Task 4 数据集[2]中的文本“All the money went into the interior decoration,none of it went to the chefs”,对于“decoration”的评价是积极的,而对于“chefs”的评价却是消极的。
基于机器学习和基于情感词典的分析方法主要以人工方式标注文本特征,然后构建机器学习分类器以获取文本最终的情感趋向。KESHAVARZ 等[3]通过结合语料库与词典的方式构建自适应情感词典,以增强文本情感极性的判断能力。ZHENG 等[4]在中文评论中利用支持向量机与文本频率相结合的方式,确定评论文本的情感趋向。上述方法虽然取得了较好的效果,但是情感分析性能高度依赖人工标注的文本特征,方法的适用性远低于基于神经网络的方法。
基于深度学习的神经网络[5]通常利用词向量模型将文本转化为实体向量,构建神经网络模型并加以训练,从而得到文本的情感趋向。AL-SMADI等[6]利用循环神经网络(Recurrent Neural Network,RNN)进行本文情感分析,在相同的数据集上与基于机器学习的方法相比,其情感分析性能更为突出。RNN 虽能有效地获取文本上下文信息,但是随着隐藏层的增加,会出现梯度爆炸或梯度消失的问题。TANG 等[7]以双向长短期记忆模型拼接的形式编码上下文信息,其考虑目标的位置信息,取得了较好的分类效果。MA 等[8]基于不同的注意力网络设置上下文和目标,利用2 个注意力网络交互检测重要目标,并提出一种交互注意力机制网络模型。ZHANG等[9]将两部分注意力机制相结合,提出注意力机制融合神经网络,该网络能得到更好的上下文表示。自此之后,基于注意力机制的混合神经网络模型在文本分析任务中得到了广泛关注和应用。
基于图卷积神经网络(Graph Convolutional Network,GCN)的方法[10]在传统神经网络的基础上利用句式结构来构建网络模型。SUN 等[11]较早使用图卷积神经网络从依赖树中获取节点表示,并与其他特征一同用于情感分类。HUANG 等[12]提出图注意力网络(Graph Attention Network,GAT),将注意力机制引入GCN,建立单词之间的依赖关系。ZHANG 等[13]提出基于特定方面的图 卷积网络(Aspect-Specific Graph Convolutional Network,ASGCN),利用依赖树捕获长期的上下文语义信息,从而获得较为精确的方面情感趋向。
引入注意力机制虽有助于模型获取对目标方面影响较大的上下文信息,但也可能导致给定的方面错误地将句法不相关的词语作为描述,不足以捕捉词语和句子中方面之间的句法依赖关系,从而忽略了句子的句法信息。受文献[13]的启发,本文认为句法信息以及方面之间的信息交互至关重要,因此,提出一种融合句法信息的图注意力网络模型,该模型将文本句子作为输入,利用双向门控循环网络以共享权重的方式进行训练,将文本特征与上下文信息相结合,通过融合句法信息的图注意力网络进行处理,充分利用句法信息同时加强文本中不同节点信息之间的交互,从而提高文本情感分析的准确性。
对于长度为n的句子S=[w1,w2,…,wn],预测句子S中目标方面所对应的情感趋向是本文的研究重点。结合句法依存图和图注意力网络,本文提出一种融合句法信息的图注意力网络,其结构如图1 所示,主要包括词嵌入层、编码层、图注意力层、激活层、情感分类层:将文本句子作为输入,词嵌入层将句子转化为初始词向量序列;编码层对单词向量进行预编码,提取文本上下文信息的深层特征;根据语法依赖关系搭建图注意力层以加强目标方面节点之间的交互;激活层从最终的词向量序列中获取目标方面的情感趋向。
图1 融合句法信息的图注意力网络结构Fig.1 Structure of graph attention network with syntactic information
由于计算机只能识别特定的数学符号,自然语言处理任务的第一步就是将文本句子序列转化为词向量的形式。基于Seq2Seq的语言理解模型BERT(Bidirectional Encoder Representations from Transformers)[14]采用双向编码结构,对输入的文本用注意力机制进行建模,其具有更好的文本语义特征抓取能力。本文采用BERT-base版本,在模型训练中对BERT进行微调以获取更好的初始参数向量。
在自然语言处理任务中,文本上下文之间具有关联性,传统神经网络无法使文本具有上下文语义信息,RNN 循环神经网络通过定向循环的方式处理文本数据,利用前后相连接的隐藏层传递信息,并将其视为当前节点输入的一部分,以达到“记忆”序列前部分信息的目的。
门控循环单元(Gate Recurrent Unit,GRU)[15]为RNN 的变种网络之一,其利用更新门(update gate)zt和复位门(reset gate)rt来控制信息传递,其中:zt决定上一时刻的细胞状态对当前细胞状态的影响程度;rt控制当前输入信息对记忆神经元的影响程度。GRU 的单元结构如图2 所示,其更新公式如下:
图2 GRU 模型结构Fig.2 GRU model structure
其中:zt和rt一同决定t时刻细胞 的更新状 态;σ为sigmoid 激活函数;W是连接权重矩阵;xt为t时刻的输入向量;ht为GRU单元t时刻的细胞状态;ht-1为t-1 时刻的细胞状态;h~t为t时刻细胞的隐藏层输出。
对于文本数据而言,文本单词及其上下文都可能存在影响,单向GRU 仅能利用某一向量序列中当前时刻的语义信息,难以满足本文研究的需求。为了充分利用文本的上下文语义信息,本文采用双向GRU 来编码上下文语义信息,以记录当前节点的前序信息和后序信息,最终向量由前序GRU 和后序GRU 最后一个状态的向量相连接而成,充分融合文本的正向与反向的上下文语义信息,从而对文本上下文信息的深层特征进行提取。具体计算公式如下:
1.4.1 句法依存分析
句法分析[16]旨在揭示语言的内部依赖关系,其将一个句子转化为图形结构。句法分析大致可分为成分句法分析和依存分析2 种。本文的句法分析属于后者,使用Biaffine 依赖解析器[17]将句子转换为句法依存图,句子中词与词之间的逻辑关系都能清晰地在句法依存图中显示。以句子“餐厅的服务态度很好。”为例,其依存句法示意图如图3 所示。
图3 句法分析示例Fig.3 Example of syntactic analysis
词与词之间只要有修饰关系,就存在有向弧连接,有向弧上标注着依存关系。图3 示例中的依存关系包括:核心关系(Head,HED),其代表整个句子的核心;定中关系(Attribute,ATT),如“服务”与“态度”、“服务”与“餐厅”;右附加关系(Right Adjunct,RAD),如“餐厅”与“的”;主谓关系(Subject-Verb,SBV),如“态度”与“好”;状中结构(Adverbial,ADV),如“很”与“好”。一个词语既可以是某个依存关系对中的从属词,也可以是另一个依存关系对中的支配词。具体地,将有向弧视作有向边,将词视作对应的节点,句法依赖图可以转化成一个有向图,得到图的邻接矩阵,进而将抽象的文本信息转化为具体的文本信息。
1.4.2 图注意力网络层
图注意力网络GAT 可以看作图卷积网络GCN的变种之一。GAT 在GCN 的基础上采用注意力机制取代固有的标准化函数,给每个节点分配不同的权重,在更新节点隐藏层时按照权重大小聚合节点和邻域节点,具体计算方式如下:
其中:W为共享参数,用于特征增强;[·‖·]表示拼接顶点i、j变换后的特征向量;a(·)表示将特征映射到一个实数上;αij表示节点i到节点j的注意力系数。
单层注意力学习目标方面周围节点的能力较弱,因此,本文引入多头注意力(multi-head attention)机制[18],利用多个注意力机制来计算周围节点的注意力系数,使模型的学习过程更加稳定。隐藏状态更新过程如图4 所示。
图4 隐藏状态更新过程Fig.4 Hide status update process
对于K个独立注意力机制下的计算结果,采用K平均来替代连接,计算公式如下:
本文以句法分析所得的句法信息有向图为依据,建立图注意力网络GAT。将由给定句子构建的有向图转化为矩阵A∈ℝn×n,n为节点个数。将编码层所得的融合文本上下文语义的词向量作为对应节点的初始状态,则可得i∈[1,n]。经过L层图注意力网络训练后即可得到节点i对应的最终状态计算公式如下:
将经过图注意力网络层训练得到的方面节点的特征向量与经过编码层训练得到的特征向量进行聚合,得到最终的特征向量并将其送入激活层,从而获得不同的情感分类结果,具体如下:
其中:HGRU为编码层输出的单词特征向量;HGRT为图注意力网络层输出的方面节点特征向量;为最终的特征向量;c表示标签类别;p(·)为预测的情感类别标签。
模型使用有监督的训练方式,在嵌入层采用微调后的预训练模型BERT 将单词转化为单词向量,其内部Tranformer 架构需对数据集数据进行处理,即在句子头部添加标签“[CLS]”,在句子末端添加标签“[SEP]”,并以正则化L2的方式最小化交叉熵损失函数然后进行模型训练,计算公式如下:
本文实验数据来自SemEval 数据集,选取SemEval-2014 Task 4 的数据来验证所提方法的有效性。SemEval 数据集包含笔记本电脑评论(Laptop)和餐厅评论(Restaurant),使用1、0、-1 分别表示积极、中性、消极的评论。每条评论包含一个或多个方面,每个方面都有明确的情感极向,表1 所示为2 个数据集的统计信息。
表1 数据集中的样本标签分布Table 1 Sample label distribution in datasets
实验操作系统为Ubuntu18.04.2 LTS,GPU 为NVIDIA GeForce RTX 2070。BERT 预训练模型维度为300,以2e-5的学习率进行微调。实验优化器选择Adam,以Xavier 初始化相关参数,在训练过程中,学习率为2e-5,dropout 系数设为0.2,训练所用批大小为32,最大迭代次数为25,图注意力网络层数为2,L2正则项的系数为1e-3。
为了验证本文模型的有效性,在Laptop和Restaurant这2 个数据集中分别将融合句法信息的图注意力网络与基准方法进行比较,并采用准确率(Accuracy,ACC)和平均F1 值(Mac-F1)作为评价指标。
2.3.1 与基于深度学习模型的比较
本次实验中的对比模型具体如下:
1)SVM(Support Vector Machines),构造特征工程进行方面级别的情感分类。
2)LSTM(Long and Short Term Memory),利用标准LSTM 进行计算,将最后输出向量视作句子的特征并用于情感极性预测。
3)ATAE-LSTM(Attention-based LSTM with Aspect Embedding)[19],在引入注意力机制的情况下利用LSTM对句子建模,最后得到隐藏状态的加权和。
4)TD-LSTM(Target-Dependent LSTM)[20],利用2 个LSTM 在主题词前后提取上下文信息。
5)MemNet(Deep Persistent Memory Network)[21],利用多个注意力机制获取上下文的重要性,上层输出使得下层获取到更精确的信息。
6)RAM(Recurrent Attenti on Network on Memory)[22],利用双向LSTM 并设计多轮注意力机制用于句子表示。
7)BERT Fine-Tune,在BERT-base 的基础上进行参数微调优化。
实验结果如图5 所示,从图5 可以看出,本文模型较LSTM 及其变种模型在Laptop 以及Restaurant 数据集上至少有3%的性能提升,原因主要为:LSTM 难以记住长距离语义信息,双向LSTM 等模型在一定程度上缓解了该问题,但性能提升并不大;RAM 等模型引入注意力机制,但是注意力机制无法利用句法知识,即注意力权重可能分配给错误的方面节点,导致此类模型性能提升有限。在与BERT Fine-Tune 的对比中,本文模型均有1%的性能提升,说明双向GRU和图注意力网络能克服上述问题,利用句法知识可以得到更为精准的文本情感分类结果。传统机器学习SVM 模型取得了良好的效果,也从侧面体现出句法知识的重要性。
图5 基于深度学习模型性能比较结果Fig.5 Performance comparison results of models based on deep learning
2.3.2 与基于图卷积网络模型的比较
本次实验中的对比模型具体如下:
1)AS-GCN,在GCN 的基础上对目标方面进行编码,在一定程度上屏蔽了非目标方面的影响。
2)GCAE(Aspect-Specific Graph Convolutional Network)[23],通过2 个GCN 分别建模目标信息与情感信息,利用门控单元并依据目标的上下文给出情感趋向。
3)TD-GAT,在GCN 的基础上引入注意力机制,关注对目标影响较大的节点,最后得到目标方面的情感趋向。
实验结果如图6 所示,从图6 可以看出:在Laptop 数据集上,本文模型的精度相对除TD-GAT以外的模型约有2%的提升,但相较TD-GAT 有所下降,在反复验证分析错误的标签数据后得出,本文模型处理包含隐形关系数据的能力不高;在Restaurant数据集上,本文模型取得了最高的准确率(83.3%),验证了该模型在情感分析任务中的较高性能。
图6 基于图卷积网络模型性能比较结果Fig.6 Performance comparison results of models based on graph convolutional network
为进一步验证模型性能,在Restaurant 数据集上对所提模型进行3 组消融实验:实验1 在词嵌入层改用维度同为300 的GloVe;实验2 在编码层改用多头注意力机制进行模型训练;实验3 在图卷积层改用图卷积网络GCN。图7 所示为消融实验结果,从图7可以看出:实验1 中嵌入层采用相同维度的GloVe 模型进行词嵌入,其精度与采用预训练模型BERT 相差较大,相较于GloVe,微调后的BERT 更能有效抓取文本的上下文语义信息,即精准的上下文语义信息提取对模型性能提升具有重要作用;实验2 中采用多头注意力机制后效果并未得到提升,原因是句子包含多个方面目标时,注意力机制可能会将上下文关注到错误的方面目标上,进一步说明了语法信息在文本情感分析任务中的重要性;实验3 中采用图卷积网络GCN 替代图注意力网络GAT,但前者效果不如后者,原因是GCN 以全图计算的方式进行更新,所学参数与图结构复杂程度相关,而GAT 采用注意力系数逐点计算的方式,不依赖于拉普拉斯矩阵,具有更强的适应性,其能在语法依赖的基础上更好地利用注意力机制来提升模型性能。
图7 消融实验结果Fig.7 Results of ablation experiment
针对现有多数文本情感分析模型未能充分利用句法信息的问题,本文提出一种改进的图注意力网络模型。该模型通过双向GRU 编码上下文,确保上下文语义信息不丢失。利用句法信息构建图注意力网络以加强不同节点之间的交互,从而在文本情感分析任务中实现较高的准确率。实验结果表明,该模型在Restaurant数据集中的准确率高达83.3%,优于AS-GCN、GCAE 等模型。通过研究发现,文本中可能出现上位词、近义词等关系词,通过依存句法分析所得的句法信息图没有相对应的连线来展现词语之间的关系,因此,后续将借助情感词典等工具来引入常识信息,从而提高模型对文本语法信息的提取能力。