ACL20@结合GCN和transformer的细粒度情感分类模型DGEDT

论文信息

论文全名
Dependency Graph Enhanced Dual-transformer Structure for Aspect-based Sentiment Classification
发表会议 ACL2020
论文地址
https://www.aclweb.org/anthology/2020.acl-main.588/
论文代码
https://github.com/tomsonsgs/DGEDT-senti-master


论文背景

这篇论文的研究领域是自然语言处理(NLP)中的细粒度情感分析ATSC(aspect term sentiment category)。简单来说就是给出一个句子以及句子中的一个aspect,求这个aspect对于这个句子的情感极性。下图给出一个例子。
ACL20@结合GCN和transformer的细粒度情感分类模型DGEDT_第1张图片图中有两个aspect分别是memory和battery life,此外还给出了句子的语义依存关系。对于memory的情感极性是negative而对于battery life的情感极性是positive。
这篇论文的创新点是结合了transformer与基于语义依存关系的图神经网络GCN来进行分类。论文提出了DGEDT模型包括一种双向的transformer结构来支持“水平表示学习”与“基于图神经网络的表示学习”之间交互地学习。DGEDT在5个公开数据集上刷新了SOTA模型。


论文方法

因为Transformer和GCN是DGEDT中的两种子模块,这里先简要介绍一些Transformer和GCN。
1.Transformer介绍
假设有3个矩阵Q,K,V分别代表queries,keys,values。Attention机制的计算机制如下图所示:
ACL20@结合GCN和transformer的细粒度情感分类模型DGEDT_第2张图片
实际上,Transformer用的是multi-head attention机制,即将矩阵分成H份,分别计算attention。最后再拼接起来。之后再用layer normalization[1]与两层MLP来提取高维特征。公式如下
ACL20@结合GCN和transformer的细粒度情感分类模型DGEDT_第3张图片
在这里插入图片描述
以上是Transformer的简要介绍,更详细的介绍请移步<图解Transformer(完整版)>
2.GCN介绍
GCN可以表示为如下公式,其中Aadj是图的邻接矩阵。
在这里插入图片描述3.DGEDT模型
首先给出DGEDT的模型图,其中左部分为Transformer右部分为BiGCN(GCN的变种,之后再介绍)。
ACL20@结合GCN和transformer的细粒度情感分类模型DGEDT_第4张图片
3.1模型整体流程:对于输入的文本,首先用BiLSTM或者BERT作为aspect-based encoder来提取隐藏的上下文信息。之后将这些表示信息输入论文提出的dual-transformer模块。最后通过max-pooling与attention机制来匹配上下文单词与aspect单词。
3.2BiGCN (Bidirectional GCN)
因为句子中的语义依存关系是存在方向的(见图1),所以按照进边与出边使用了两个GCN。最后将两个GCN的结果拼接起来得到BiGCN的结果。
3.3BiAffine Module
DGEDT就是用BiAffine来共同地学习Transformer与BiGCN。BiAffine的思想是给定两个输入S1和S2,BiAffine公式如下
ACL20@结合GCN和transformer的细粒度情感分类模型DGEDT_第5张图片
3.4整个流程
首先使用aspect-based encoder得到的上下文表示初始化Transformer和BiGCN,之后利用BiAffine来交互地学习。最后用Transformer的输出(flat with graph)作为最终表示,因为BiGCN的输出非常依靠语义依存图。
3.5 aspect-based Attention Module
经过上面的步骤就会得出句子的representation,之后用aspect representation来计算句子中每个单词的attention value。这里有一个问题就是,因为ATSC任务中aspect是包含在句子中的,为了防止这些aspect单词的attention value过大,作者设计了一种mask机制,即将aspect对应的位置与-inf相加,其他位置与0相加,之后通过softmax得到attention value。
在这里插入图片描述
ACL20@结合GCN和transformer的细粒度情感分类模型DGEDT_第6张图片
3.6 loss Function
DGEDT使用的optimizer是standard gradient descent algorithm(SGD)算法,并且使用了L2正则化。
在这里插入图片描述


实验设置

ACL20@结合GCN和transformer的细粒度情感分类模型DGEDT_第7张图片
ACL20@结合GCN和transformer的细粒度情感分类模型DGEDT_第8张图片


参考文献

[1] Ba J L, Kiros J R, Hinton G E. Layer normalization[J]. arXiv preprint arXiv:1607.06450, 2016.
[2] Dependency Graph Enhanced Dual-transformer Structure for Aspect-based Sentiment Classification, https://www.aclweb.org/anthology/2020.acl-main.588/


最后欢迎大家关注我的公众号: NLP学习者,大家一起学习
ACL20@结合GCN和transformer的细粒度情感分类模型DGEDT_第9张图片

你可能感兴趣的:(自然语言处理,情感分析)