论文报告

Attention Guided Graph Convolutional Networks for Relation Extraction(ACL19)

Motivation

关系抽取的目的是检测文本中实体之间的关系。他是自然语言处理中较为基础的任务,可以应用在生物医学知识发现、数据库检索等多种领域,同样也是智能问答、自然语言生成、阅读理解等领域的基础。

Related Work

现有的大多关系抽取模型可以分为两类,基于序列的和基于依赖的。基于序列的模型只对单词序列起作用,而基于依赖的模型将依赖树(语法树)合并到模型中。与基于序列的模型只能提取表面形式的局部句法关系相比,基于依赖的模型能够捕获较为深层次的非局部句法关系。

基于依赖的模型,如何构造依赖树(语法树)的结构很大程度上影响了语法树最终的性能。有人提出了基于规则的剪枝的方法去掉一些冗余的信息。然而基于规则的剪枝策略可能会消除整个树中的一些重要信息,理想情况下,模型应该学会如何在全树中包含和排除某些信息之间保持平衡。在该文中,提出了一种基于attention的图卷积网络(AGGCNs),他直接作用于全树。开发了一种软修剪的策略,将原始依赖树转换为全连接的加权图。这些权重可以被视为节点之间的关联强度,可以通过使用self-attention的机制进行端到端的方式学习。

How?

  • GCN

    对于一个n个节点的图,我们用A来表示它的邻接矩阵,如果节点i和节点j之间有边则Ai,j=1A_{i,j}=1,对于无向图Aj,i=1A_{j,i}=1,无边则为0。则节点i在第l层的卷积运算hi(l)\mathbf{h}_{i}^{(l)}定义为:
    hi(l)=ρ(j=1nAijW(l)hj(l1)+b(l)) \mathbf{h}_{i}^{(l)}=\rho\left(\sum_{j=1}^{n} \mathbf{A}_{i j} \mathbf{W}^{(l)} \mathbf{h}_{j}^{(l-1)}+\mathbf{b}^{(l)}\right)
    其中W(l)\mathbf{W}^{(l)}b(l)\mathbf{b}^{(l)}是模型中的参数,ρ\rho是**函数本文用的(RELU),hi(0)\mathbf{h}_{i}^{(0)}是初始的输入xix_i,其中xiRd\mathbf{x}_{i} \in \mathbb{R}^{d},d是输入的特征维度。

    Attention Guided Graph Convolutional Networks for Relation Extraction(ACL19) 阅读笔记

    图1
    如图一所示,AGGCN模型由M个相同的block组成,每个block包含三层,Attention Guided Layer、Densely connected layer、linear combination layer。
  • Attention Guided Layer

    如图一所示,传统的基于规则的剪枝方式边的权重只包含0或1,而AGGCN添加attention之后每个单词之间就有了关系。
    A~(t)=softmax(QWiQ×(KWiK)Td)V \tilde{\mathbf{A}}^{(\mathbf{t})}=\operatorname{softmax}\left(\frac{Q \mathbf{W}_{i}^{Q} \times\left(K \mathbf{W}_{i}^{K}\right)^{T}}{\sqrt{d}}\right) V
    其中Q,K都分别表示模型上一层的输出h(l1)h^{(l-1)}WiK\mathbf{W}_{i}^{K}WiQ\mathbf{W}_{i}^{Q}是模型的参数矩阵,WiQRd×d\mathbf{W}_{i}^{Q} \in \mathbb{R}^{d \times d},WiKRd×d\mathbf{W}_{i}^{K} \in \mathbb{R}^{d \times d},A~(t)\tilde{\mathbf{A}}^{(\mathbf{t})}是第t层的attention邻接矩阵。

    注:此处有N组不同的参数,N是一个超参数,A~(t)\tilde{\mathbf{A}}^{(\mathbf{t})}表示第t个attention矩阵

  • Densely Connected Layer

    因为attention层构造了一个完全图,为了在更大的图上捕获更多的节点信息,使我们能够训练一个更加深入的模型。引入densely connected layer。

    如图2所示,
    gj(l)=[xj;hj(1);;hj(l1)] \mathbf{g}_{j}^{(l)}=\left[\mathbf{x}_{j} ; \mathbf{h}_{j}^{(1)} ; \ldots ; \mathbf{h}_{j}^{(l-1)}\right]
    在实践中,每个Densely Connected Layer都有L个子层。这些子层的尺寸由L和输入特征尺寸d决定。在AGGCN中,使用dhidden=d/Ld_{\text {hidden}}=d / L例如如果Densely Connected Layer有3个子层,输入维度是300,则dhidden=d/L=300/3=100d_{\text {hidden}}=d / L =300/3=100。然后我们将每个子层的输出链接起来,形成新的表示。

    因为有N组不同的attention矩阵,所以需要N个不同的Densely Connected Layer。所以每层的的计算方式为:
    hti(l)=ρ(j=1nA~ij(t)Wt(l)gj(l)+bt(l)) \mathbf{h}_{t_{i}}^{(l)}=\rho\left(\sum_{j=1}^{n} \tilde{\mathbf{A}}_{i j}^{(t)} \mathbf{W}_{t}^{(l)} \mathbf{g}_{j}^{(l)}+\mathbf{b}_{t}^{(l)}\right)
    其中t=1,,Nt=1, \ldots, Nt选择对应的该组的参数。由于Densely Connected Layer,每层获取到前边层传过来的信息所以每层的W维度也逐层增加。

    Wt(l)Rdhidden×d(l)\mathbf{W}_{t}^{(l)} \in \mathbb{R}^{d_{h i d d e n} \times d^{(l)}},d(l)=d+dhidden×(l1)d^{(l)}=d+d_{h i d d e n} \times(l-1)

  • Linear Combination Layer

    最后一层用于集成来自N个不同密度连接层的表示。线性组合层的输出定义为:
    hcomb=Wcombhout+bcomb \mathbf{h}_{c o m b}=\mathbf{W}_{c o m b} \mathbf{h}_{o u t}+\mathbf{b}_{c o m b}
    其中hout=[h(1);;h(N)]Rd×N\mathbf{h}_{\text {out}}=\left[\mathbf{h}^{(1)} ; \ldots ; \mathbf{h}^{(N)}\right] \in \mathbb{R}^{d \times N},WcombR(d×N)×d\mathbf{W}_{c o m b} \in\mathbb{R}^{(d \times N) \times d}

  • AGGCNs for Relation Extraction

    首先计算出句子的表示hsent\mathbf{h}_{\text {sent}}
    hsent=f(hmask)=f( AGGCN (x)) h_{\text {sent}}=f\left(\mathbf{h}_{\text {mask}}\right)=f(\text { AGGCN }(\mathbf{x}))
    其中mask表示我们把句子中要求的实体mask掉,只选择句子中非实体的单词。f函数是max pooling函数,f:Rd×nRd×1f: \mathbb{R}^{d \times n} \rightarrow \mathbb{R}^{d \times 1}

    对于第i个实体,他的表示heih_{e_i}可以被计算为
    hei=f(hei) h_{e_{i}}=f\left(\mathbf{h}_{\mathbf{e}_{\mathbf{i}}}\right)
    将句子表示和实体表示连接起来形成新的表示,使用前馈神经网络FFNN得到最后的向量:
    hfinal=FFNN([hsent;he1;hei]) h_{\text {final}}=\operatorname{FFNN}\left(\left[h_{\text {sent}} ; h_{e_{1}} ; \ldots h_{e_{i}}\right]\right)
    最后使用逻辑回归对hfinalh_{\text {final}}进行分类。

Proof

在跨句的n元关系提取和句子级的关系提取上进行了实验。

  • 跨句n元关系提取

    对于跨句n元关系提取任务,数据集包含从PubMed中提取的6,987个三元关系实例和6,087个二元关系实例。大多数实例包含多个句子,每个实例都有五个标签,包括“resistance
    or nonresponse”、“sensitivity”、“response”、“resistance”和“none”。本文考虑两个具体的评价任务,即:二类n元关系提取和多类n元关系提取。如之前人们做的工作,本文同样对多类标签进行二值化,将前四个关系类分组为“yes”,将“none”分组为“no”。

    Attention Guided Graph Convolutional Networks for Relation Extraction(ACL19) 阅读笔记

    我们首先关注二元类n元关系的提取任务。对于三元关系提取(表1中的前两列),AGGCN模型分别在单个句子(single)和所有实例(Cross)中的实例上实现了87.1和87.0的准确性,这优于其他所有模型。与GCN模型相比,我们的模型比最优的修剪树模型(K=1)高1.3和1.2个百分点。对于二进制关系提取(表1中的第三和第四列),AGGCN的性能始终优于GS GLSTM和GCN。

  • 句子级的关系抽取

    Attention Guided Graph Convolutional Networks for Relation Extraction(ACL19) 阅读笔记

logistic回归分类器(LR)的精度得分最高。本文认为这是由于数据不平衡的问题。这种基于特征的方法倾向于非常频繁预测一个的标签。

Attention Guided Graph Convolutional Networks for Relation Extraction(ACL19) 阅读笔记

消融实验:

Attention Guided Graph Convolutional Networks for Relation Extraction(ACL19) 阅读笔记

不同超参数

Attention Guided Graph Convolutional Networks for Relation Extraction(ACL19) 阅读笔记

不同句子长度的F1score

Attention Guided Graph Convolutional Networks for Relation Extraction(ACL19) 阅读笔记

不同数据集大小比较两个模型

Attention Guided Graph Convolutional Networks for Relation Extraction(ACL19) 阅读笔记

Summary

将attention+GCN应用于关系抽取,学习一种“软修剪”策略,通过权重来学习如何选择和丢弃信息。再结合Densely Connected Layer,提升了关系抽取的性能。

该篇论文做的实验非常全,不仅有三个数据集,而且对各个方面都进行了实验。比如数据集的大小,不同的句子长度,不同超参数,不同的关系抽取任务等方面。

相关文章:

  • 2021-10-11
  • 2021-11-23
  • 2021-08-17
  • 2021-10-28
  • 2022-01-05
  • 2021-08-05
猜你喜欢
  • 2021-11-16
  • 2021-09-25
  • 2021-05-07
  • 2021-11-27
  • 2021-07-10
  • 2021-10-06
  • 2022-01-09
相关资源
相似解决方案