2. 中南大学 大数据研究院, 长沙 410083
2. Big Date Institute, Central South University, Changsha 410083, China
开放科学(资源服务)标志码(OSID):
快速发展的互联网行业中涌现出大量的网络评价,一条网络评价可能包括对同一实体的多方面估量,为了给网络用户提供更全面、详细的情感信息,需要对海量网络评价中的多方面实体进行有针对性且更细粒度的情感类别分析。方面级别的文本情感分析[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]的启发,本文认为句法信息以及方面之间的信息交互至关重要,因此,提出一种融合句法信息的图注意力网络模型,该模型将文本句子作为输入,利用双向门控循环网络以共享权重的方式进行训练,将文本特征与上下文信息相结合,通过融合句法信息的图注意力网络进行处理,充分利用句法信息同时加强文本中不同节点信息之间的交互,从而提高文本情感分析的准确性。
1 相关工作 1.1 模型定义对于长度为n的句子
![]() |
Download:
|
图 1 融合句法信息的图注意力网络结构 Fig. 1 Structure of graph attention network with syntactic information |
由于计算机只能识别特定的数学符号,自然语言处理任务的第一步就是将文本句子序列转化为词向量的形式。基于Seq2Seq的语言理解模型BERT(Bidirectional Encoder Representations from Transformers)[14]采用双向编码结构,对输入的文本用注意力机制进行建模,其具有更好的文本语义特征抓取能力。本文采用BERT-base版本,在模型训练中对BERT进行微调以获取更好的初始参数向量。
1.3 编码层在自然语言处理任务中,文本上下文之间具有关联性,传统神经网络无法使文本具有上下文语义信息,RNN循环神经网络通过定向循环的方式处理文本数据,利用前后相连接的隐藏层传递信息,并将其视为当前节点输入的一部分,以达到“记忆”序列前部分信息的目的。
门控循环单元(Gate Recurrent Unit,GRU)[15]为RNN的变种网络之一,其利用更新门(update gate)
$ {z}_{t}=\sigma ({\boldsymbol{W}}_{xz}{\boldsymbol{x}}_{t}+{\boldsymbol{W}}_{hz}{\boldsymbol{h}}_{t-1}) $ | (1) |
$ {r}_{t}=\sigma ({\boldsymbol{W}}_{xr}{\boldsymbol{x}}_{t}+{\boldsymbol{W}}_{hr}{\boldsymbol{h}}_{t-1}) $ | (2) |
$ {\tilde{\boldsymbol{h}}}_{t}=\mathrm{t}\mathrm{a}\mathrm{n}\mathrm{h}(\boldsymbol{W}{\boldsymbol{x}}_{t}+U(r\cdot {\boldsymbol{h}}_{t-1}\left)\right) $ | (3) |
$ {\boldsymbol{h}}_{t}=(1-{z}_{t})\mathrm{*}{\boldsymbol{h}}_{t-1}+{z}_{t}\mathrm{*}{\tilde{\boldsymbol{h}}}_{t} $ | (4) |
![]() |
Download:
|
图 2 GRU模型结构 Fig. 2 GRU model structure |
其中:
对于文本数据而言,文本单词及其上下文都可能存在影响,单向GRU仅能利用某一向量序列中当前时刻的语义信息,难以满足本文研究的需求。为了充分利用文本的上下文语义信息,本文采用双向GRU来编码上下文语义信息,以记录当前节点的前序信息和后序信息,最终向量由前序GRU和后序GRU最后一个状态的向量相连接而成,充分融合文本的正向与反向的上下文语义信息,从而对文本上下文信息的深层特征进行提取。具体计算公式如下:
$ \overrightarrow{{\boldsymbol{h}}_{it}}=\overrightarrow{\mathrm{G}\mathrm{R}\mathrm{U}}\left({\boldsymbol{x}}_{it}\right), t\in [1, T] $ | (5) |
$ \overleftarrow{{\boldsymbol{h}}_{it}}=\overleftarrow{\mathrm{G}\mathrm{R}\mathrm{U}}\left({\boldsymbol{x}}_{it}\right), t\in [T, 1] $ | (6) |
$ {\boldsymbol{h}}_{it}=[\overrightarrow{{\boldsymbol{h}}_{it}}, \overleftarrow{{\boldsymbol{h}}_{it}}] $ | (7) |
其中:
句法分析[16]旨在揭示语言的内部依赖关系,其将一个句子转化为图形结构。句法分析大致可分为成分句法分析和依存分析2种。本文的句法分析属于后者,使用Biaffine依赖解析器[17]将句子转换为句法依存图,句子中词与词之间的逻辑关系都能清晰地在句法依存图中显示。以句子“餐厅的服务态度很好。”为例,其依存句法示意图如图 3所示。
![]() |
Download:
|
图 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的基础上采用注意力机制取代固有的标准化函数,给每个节点分配不同的权重,在更新节点隐藏层时按照权重大小聚合节点和邻域节点,具体计算方式如下:
$ {\boldsymbol{e}}_{ij}=a\left(\right[\boldsymbol{W}{\boldsymbol{h}}_{i} || \boldsymbol{W}{\boldsymbol{h}}_{j}\left]\right), j\in {N}_{i} $ | (8) |
$ {\alpha }_{ij}=\frac{\mathrm{e}\mathrm{x}\mathrm{p}\left(\mathrm{L}\mathrm{e}\mathrm{a}\mathrm{k}\mathrm{y}\mathrm{R}\mathrm{e}\mathrm{L}\mathrm{U}\right({\boldsymbol{a}}^{\mathrm{T}}\left[\boldsymbol{W}{\boldsymbol{h}}_{i}\right|\left|\boldsymbol{W}{\boldsymbol{h}}_{j}\right]\left)\right)}{\sum\limits_{k\in {N}_{i}}\mathrm{e}\mathrm{x}\mathrm{p}\left(\mathrm{L}\mathrm{e}\mathrm{a}\mathrm{k}\mathrm{y}\mathrm{R}\mathrm{e}\mathrm{L}\mathrm{U}\right({\boldsymbol{a}}^{\mathrm{T}}\left[\boldsymbol{W}{\boldsymbol{h}}_{i}\right|\left|\boldsymbol{W}{\boldsymbol{h}}_{k}\right]\left)\right)} $ | (9) |
其中:
单层注意力学习目标方面周围节点的能力较弱,因此,本文引入多头注意力(multi-head attention)机制[18],利用多个注意力机制来计算周围节点的注意力系数,使模型的学习过程更加稳定。隐藏状态更新过程如图 4所示。
![]() |
Download:
|
图 4 隐藏状态更新过程 Fig. 4 Hide status update process |
对于K个独立注意力机制下的计算结果,采用K平均来替代连接,计算公式如下:
$ {\boldsymbol{h}}_{i}^{\mathrm{\text{'}}}=\sigma \left(\frac{1}{K}\sum\limits_{k=1}^{K}\sum\limits_{j\in {N}_{i}}^{}{\alpha }_{ij}^{k}{\boldsymbol{W}}^{k}{\boldsymbol{h}}_{j}\right) $ | (10) |
其中:
本文以句法分析所得的句法信息有向图为依据,建立图注意力网络GAT。将由给定句子构建的有向图转化为矩阵
$ {\boldsymbol{h}}_{i}^{l}=\mathrm{G}\mathrm{A}\mathrm{T}({\boldsymbol{h}}_{i}^{l-1}, {\Theta }_{l-1}, \boldsymbol{A}), l\in [1, L] $ | (11) |
其中:
将经过图注意力网络层训练得到的方面节点的特征向量与经过编码层训练得到的特征向量进行聚合,得到最终的特征向量并将其送入激活层,从而获得不同的情感分类结果,具体如下:
$ {\mathit{\boldsymbol{\mathord{\buildrel{\lower3pt\hbox{$\scriptscriptstyle\frown$}} \over H} }}}=\mathrm{t}\mathrm{a}\mathrm{n}\mathrm{h}[{\boldsymbol{H}}_{\mathrm{G}\mathrm{R}\mathrm{U}}\cdot {\boldsymbol{H}}_{\mathrm{G}\mathrm{R}\mathrm{T}}] $ | (12) |
$ p\left(c\right)=\mathrm{s}\mathrm{o}\mathrm{f}\mathrm{t}\mathrm{m}\mathrm{a}\mathrm{x}({\boldsymbol{W}}_{p}{\mathit{\boldsymbol{\mathord{\buildrel{\lower3pt\hbox{$\scriptscriptstyle\frown$}} \over H} }}}+{\boldsymbol{b}}_{p}) $ | (13) |
其中:
模型使用有监督的训练方式,在嵌入层采用微调后的预训练模型BERT将单词转化为单词向量,其内部Tranformer架构需对数据集数据进行处理,即在句子头部添加标签“[CLS]”,在句子末端添加标签“[SEP]”,并以正则化
$ {L}_{\mathrm{l}\mathrm{o}\mathrm{s}\mathrm{s}}=-\sum\limits_{c\in C}{{\mathit{{\mathord{\buildrel{\lower3pt\hbox{$\scriptscriptstyle\frown$}} \over p} }}}}_{c}\cdot \mathrm{l}\mathrm{n}{p}_{c}+\lambda \sum\limits_{\theta \in {\mathit{\Theta}} }{\theta }^{2} $ | (14) |
其中:
本文实验数据来自SemEval数据集,选取SemEval-2014 Task 4的数据来验证所提方法的有效性。SemEval数据集包含笔记本电脑评论(Laptop)和餐厅评论(Restaurant),使用1、0、-1分别表示积极、中性、消极的评论。每条评论包含一个或多个方面,每个方面都有明确的情感极向,表 1所示为2个数据集的统计信息。
![]() |
下载CSV 表 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,
为了验证本文模型的有效性,在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 Attention 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模型取得了良好的效果,也从侧面体现出句法知识的重要性。
![]() |
Download:
|
图 5 基于深度学习模型性能比较结果 Fig. 5 Performance comparison results of models based on deep learning |
本次实验中的对比模型具体如下:
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%),验证了该模型在情感分析任务中的较高性能。
![]() |
Download:
|
图 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采用注意力系数逐点计算的方式,不依赖于拉普拉斯矩阵,具有更强的适应性,其能在语法依赖的基础上更好地利用注意力机制来提升模型性能。
![]() |
Download:
|
图 7 消融实验结果 Fig. 7 Results of ablation experiment |
针对现有多数文本情感分析模型未能充分利用句法信息的问题,本文提出一种改进的图注意力网络模型。该模型通过双向GRU编码上下文,确保上下文语义信息不丢失。利用句法信息构建图注意力网络以加强不同节点之间的交互,从而在文本情感分析任务中实现较高的准确率。实验结果表明,该模型在Restaurant数据集中的准确率高达83.3%,优于AS-GCN、GCAE等模型。通过研究发现,文本中可能出现上位词、近义词等关系词,通过依存句法分析所得的句法信息图没有相对应的连线来展现词语之间的关系,因此,后续将借助情感词典等工具来引入常识信息,从而提高模型对文本语法信息的提取能力。
[1] |
GAO Y, ZHANG Y, XIAO T. Implicit syntactic features for target-dependent sentiment analysis[C]//Proceedings of the 8th International Joint Conference on Natural Language Processing. Washington D.C., USA: IEEE Press, 2017: 516-524.
|
[2] |
PONTIKI M, GALANIS D, PAVLOPOULOS J, et al. SemEval-2014 Task 4: aspect based sentiment analysis[C]//Proceedings of the 8th International Workshop on Semantic Evaluation. Washington D.C., USA: IEEE Press, 2014: 27-35.
|
[3] |
KESHAVARZ H, ABADEH M S. ALGA: adaptive lexicon learning using genetic algorithm for sentiment analysis of microblogs[J]. Knowledge-Based Systems, 2017, 122: 1-16. DOI:10.1016/j.knosys.2017.01.028 |
[4] |
ZHENG L, WANG H, GAO S. Sentimental feature selection for sentiment analysis of Chinese online reviews[J]. International Journal of Machine Learning and Cybernetics, 2018, 9(1): 75-84. DOI:10.1007/s13042-015-0347-4 |
[5] |
周锦峰, 叶施仁, 王晖. 基于深度卷积神经网络模型的文本情感分类[J]. 计算机工程, 2019, 45(3): 300-308. ZHOU J F, YE S R, WANG H. Text sentiment classification based on deep convolutional neural network model[J]. Computer Engineering, 2019, 45(3): 300-308. (in Chinese) |
[6] |
AL-SMADI M, QAWASMEH O, AL-AYYOUB M, et al. Deep recurrent neural network vs.support vector machine for aspect-based sentiment analysis of Arabic hotels' reviews[J]. Journal of Computational Science, 2017, 27: 386-393. |
[7] |
TANG D, QIN B, FENG X, et al. Effective LSTMs for target dependent sentiment classification[EB/OL]. [2020-12-05]. https://aclanthology.org/C16-1311.pdf.
|
[8] |
MA D, LI S, ZHANG X, et al. Interactive attention networks for aspect-level sentiment classification[C]//Proceedings of International Joint Conference on Artificial Intelligence. Washington D.C., USA: IEEE Press, 2017: 4068-4074.
|
[9] |
ZHANG B, XIONG D, SU J, et al. Learning better discourse representation for implicit discourse relation recognition via attention networks[J]. Neurocomputing, 2018, 275: 1241-1249. DOI:10.1016/j.neucom.2017.09.074 |
[10] |
ZHANG S, TONG H, XU J, et al. Graph convolutional networks: a comprehensive review[J]. Computational Social Networks, 2019, 6(11): 1-23. |
[11] |
SUN K, ZHANG R C. Aspect-level sentiment analysis via convolution over dependency tree[C]//Proceedings of Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing. Washington D.C., USA: IEEE Press, 2019: 5683-5692.
|
[12] |
HUANG B X, CARLEY K. Syntaxaware aspect level sentiment classification with graph attention networks[C]//Proceedings of Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing. Washington D.C., USA: IEEE Press, 2019: 5472-5480.
|
[13] |
ZHANG C, LI Q, SONG D. Aspect-based sentiment classification with aspect-specific graph convolutional networks[C]//Proceedings of Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing. Washington D.C., USA: IEEE Press, 2019: 4560-4570.
|
[14] |
DEVLIN J, CHANG M W, LEE K, et al. BERT: pre-training of deep bidirectional transformers for language understanding[EB/OL]. [2020-12-05]. https://aclanthology.org/N19-1423.pdf.
|
[15] |
CHUNG J, GULCEHRE C, CHO K, et al. Empirical evaluation of gated recurrent neural networks on sequence modeling[EB/OL]. [2020-12-05]. http://pdfs.semanticscholar.org/25f0/625a92f6054b11057423111f9285c78376fe.pdf.
|
[16] |
屠可伟, 李俊. 句法分析前沿动态综述[J]. 中文信息学报, 2020, 34(7): 30-41. TU K W, LI J. A survey of recent developments in syntactic parsing[J]. Journal of Chinese Information Processing, 2020, 34(7): 30-41. (in Chinese) |
[17] |
DOZAT T, MANNING C D. Deep biaffine attention for neural dependency parsing[EB/OL]. [2020-12-05]. https://nlp.stanford.edu/pubs/dozat2017deep.pdf.
|
[18] |
VASWANI A, SHAZEER N, PARMAR N, et al. Attention is all you need[C]//Proceedings of the 31st Conference on Neural Information Processing Systems. Washington D.C., USA: IEEE Press, 2017: 5998-6010.
|
[19] |
WANG Y, HUANG M, ZHAO L, et al. Attention-based LSTM for aspect-level sentiment classification[C]//Proceedings of Conference on Empirical Methods in Natural Language Processing. Washington D.C., USA: IEEE Press, 2016: 606-615.
|
[20] |
TANG D Y, QIN B, FENG X C, et al. Effective LSTMs for target-dependent sentiment classification[C]//Proceedings of the 26th International Conference on Computational Linguistics. Washington D.C., USA: IEEE Press, 2016: 3298-3307.
|
[21] |
TANG D, QIN B, LIU T. Aspect level sentiment classification with deep memory network[C]//Proceedings of Conference on Empirical Methods in Natural Language Processing. Washington D.C., USA: IEEE Press, 2016: 214-224.
|
[22] |
CHEN P, SUN Z, BING L, et al. Recurrent attention network on memory for aspect sentiment analysis[C]//Proceedings of Conference on Empirical Methods in Natural Language Processing. Washington D.C., USA: IEEE Press, 2017: 452-461.
|
[23] |
XUE W, LI T. Aspect based sentiment analysis with gated convolutional networks[C]//Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics. Stroudsburg, USA: Association for Computational Linguistics, 2018: 2514-2523.
|