Selective Attention Based Graph Convolutional Networks for Aspect-Level Sentiment Classification
-
基于选择性注意的图卷积网络用于方面级情感分类
Abstract
方面级情感分类的目的是识别句子中某一特定aspect词语的情感极性。最近的方法使用依赖树上的图卷积网络(GCN)来获得aspect terms的语法感知表示,并学习aspect和上下文词之间的交互。GCNS通常在两层的情况下获得最佳性能,更深的GCNS不会带来任何额外的收益。然而,在某些情况下,在依存关系树上的两跳内不能到达方面术语的对应意见词。因此,本文设计了一种新的基于选择性注意的GCN模型(SA-GCN)来处理方面词与观点词相距较远的情况。由于观点词是对aspect-term极性分类的直接解释,因此本文将观点抽取作为辅助任务来辅助情感分类任务。具体地说,在对依存关系树进行操作的GCN模型的基础上,使用自我注意直接为句子中的每个单词选择注意力得分最高的k个单词。然后,在生成的前k个关注度图上应用另一个GCN模型来整合来自所选上下文词的信息。
Proposed Model
Overview of the model
Encoder for Aspect Term and Context
将输入构造成:CLS + Sentence + SEP + term + SEP,馈送到BERT学习,这种格式能够使得整个句子和term之间进行显示交互,从而获得的单词表示是term相关的。得到最终的词嵌入X∈Rn×dBX\in R^{n\times d_B}X∈Rn×dB
GCN over Dependency Trees
使用GCN来捕获词语结点和其相邻结点之间的句法关系(在每个GCN层中,结点聚集来自其一跳邻居的信息并更新其表示,每个单词被看做单个结点,其表示被表示为节点特征),图上的消息传递表示为:
H(l)=σ(AH(l−1)W)H^{(l)}=\sigma(AH^{(l-1)}W)H(l)=σ(AH(l−1)W)
其中A表示邻接矩阵,HlH^{l}Hl表示第l个GCN层的输出,H0=X∈Rn×dBH^{0} = X\in R^{n\times d_B}H0=X∈Rn×dB表示第一个GCN的输入SA-GCN基于选择性注意力的GCN
上面已经通过GCN为每个词的表示带来了语法信息,但是也限制了aspect word和长距离观点词之间的交互。为了缓解这个问题,作者提出了一种基于选择注意力的GCN用于识别重要的上下文词,将它们的信息整合到aspect term的表示中。有三部分组成:多头注意力、top-K选择,GCN层。
self-attention
首先用多头自注意力矩阵Ascorei∈Rn×n(1≤i≤L)A^i_{score}\in R^{n\times n}(1 \le i \le L)Ascorei∈Rn×n(1≤i≤L),L是头的个数。
表述为:Ascorei=(Hk,iWk)(Hq,iWq)TdheadA^i_{score}=\frac{(H_{k,i}W_k)(H_{q,i}W_q)^T}{\sqrt{d_{head}}}Ascorei=dhead(Hk,iWk)(Hq,iWq)T。
其中H<em>,i=H</em>[:,:,i],∗=∈k:key,q:keyH_{<em>,i}=H_{</em>}[:,:,i],*=\in {k:key, q:key}H<em>,i=H</em>[:,:,i],∗=∈k:key,q:key,Hk∈Rn×dhead×LH_k\in R^{n\times d_{head}\times L}Hk∈Rn×dhead×L,Hq∈Rn×dhead×LH_q\in R^{n\times d_{head}\times L}Hq∈Rn×dhead×L,dh,dheadd_h,d_{head}dh,dhead分别表示为结点特征的维度,每个头部的维度。
得到的注意力矩阵可以被认为是L个完全连通图,其中每个词都与具有不同关注度的所有其他上下文词相连。
尽管关注度有助于区分不同的词,单完全图仍然会导致aspect结点直接融合所有其他词的信息,并且在GCN的特征聚合过程中经常引入噪声,进一步损害了情感预测,基于此,本文提出了一种top-K注意力选择机制来系数完全连通图,得到一种新的稀疏图用于GCN的特征聚集。Top-K Selection
选择前K个上下文词的原因:只有少数几个词足以确定一个aspect词的情感极性。
本文设计了两种top-K选择策略:Head-independent selection、Head-dependent selection
Head-independent selection首先对每个头部元素的注意分数矩阵进行求和,然后利用top-K函数生成的掩码找到钱K个上下文词。
Head-dependent selection根绝每个头部的注意力分数矩阵分别寻找前K个上下文词
从top-K选择中,根据新的关注度得分得到图,并将它们传递给下一个GCN层。GCN Layer
其中,H∧l∈Rn×dh\overset{\wedge}{H}^{l}\in R^{n\times d_h}H∧l∈Rn×dh是第lll个SA-GCN块的输入,有第iii个头部的H∧(l,i)∈Rn×dhead\overset{\wedge}{H}^{(l,i)}\in R^{n\times d_{head}}H∧(l,i)∈Rn×dhead的级联组成。H∧0∈Rn×dh\overset{\wedge}{H}^{0}\in R^{n\times d_h}H∧0∈Rn×dh是第一个SA-GCN块的输入,即来自对依赖树进行操作的GCN层。Experimental Result
启示
- top-K选择策略的应用在深度学习中的任务中应用比较广泛,可以将这种方法应用到NLP的其他领域。
- 对句子构建依赖树可以作为一个小trick应用到其他任务。
- 没有将relation work进行记录,但是这篇文章的相关工作写的真的非常好。