Attention Guided Graph Convolutional Networks for Relation Extraction
前言
正式入门NLP-关系抽取研究的第一篇论文。关系抽取的目的是发现文本中不同实体之间的关系。它在知识图谱,问答系统中起着重要的作用。
现存的大多数关系抽取模型可以分为两类,基于序列和基于依赖的。基于序列的模型研究的是词序列,基于依赖的模型是将依赖树添加入模型中。后者可以捕捉到单独从表面形式上模糊的句法信息。
谨记录学习的点点滴滴。
正文
Abstract
dependency trees包含着对于关系抽取非常有用的结构信息,但是当去除不想关信息时,如何有效使用对应的信息是一个很大的挑战。现有的,为了选择对应的部分依赖架构的hard-pruning策略并不总是产生最优的结果。本文中,提出了AGGCNs模型,这个模型直接把整棵依赖树作为输入(转为全连接的权重图),区别于前者的修剪之后的输入,称之为soft-pruning策略。
模型(Attention GUided GCNs)
AGGCN由M个相同的block组成,每个block包括Attention Guided Layer和N个Densely Connected Layer以及Linear Combination Layer(如右侧所示)。每个block将node embedding和表征图的邻接矩阵作为输入。N个 attention guided adjacency matrices, A ~ ( 1 ) 到 A ~ ( n ) \tilde{A}^{(1)} 到 \tilde{A}^{(n)} A~(1)到A~(n)由multi-head attention 生成
Attention Guided Layer
这篇文章第一次引入了attention guided layer在AGGCN模型中。之前存在了一些预定义的修剪策略,它们通过构造好的邻接矩阵去将full tree 转化为 subtree,这可以看作 hard attention的一种形式,在 subtree中不存在的边在邻接矩阵对应的元素直接赋为0。在Abstract中提到,这种方式可能消除了原始的 full tree中的信息,而本文的attention guided layer 实现的soft pruning 则可以克服这一缺点。在attention guided layer 中,先将原始的图转化为邻接矩阵,然后通过 multi-head attention 转化为 全连接的 attention guided adjacency matrice
A
~
\tilde{A}
A~, 矩阵中的每个元素对应相应节点之间边的权重,从而捕捉到领域的信息,甚至是multi-hop 的信息。
A
~
(
t
)
=
s
o
f
t
m
a
x
(
Q
W
i
Q
×
(
K
W
i
K
)
T
d
1
/
2
)
V
\tilde{A}^{(t)} = softmax(\frac{QW^Q_i\times(KW^K_i)^T}{\sqrt[1/2]{d}})V
A~(t)=softmax(1/2dQWiQ×(KWiK)T)V
Q,K都等于模型在l-1层即上一层的集体表征 h ( l − 1 ) h^{(l-1)} h(l−1), W i Q W^Q_i WiQ 和 W i K W^K_i WiK是通过训练得到的参数矩阵。 A ~ ( t ) \tilde{A}^{(t)} A~(t)是第t层的对应第t个head的attention guided adjacency矩阵。在实际的训练中,由原始图得到邻接矩阵即为attention guided adjacency的初始化。Attention Guided Layer层中的N是预设参数。
Densely Connected Layer
Densely Connected Layer使得可以模型可以更加深层次,从而捕捉到丰富的局部和非局部信息,得到更佳的图表征。数学上,定义
g
j
(
l
)
g^{(l)}_j
gj(l)作为初始节点表征和之前1,…,l-1层中节点表征的连接。由于上一层的attention guided layer产生了N个不同的
A
~
\tilde{A}
A~,所以一个block中包含N个densely connected layer。
g
j
(
l
)
=
[
x
j
;
h
j
1
;
…
;
h
j
l
−
1
]
g^{(l)}_j = [x_j;h^{1}_j;…;h^{l-1}_j]
gj(l)=[xj;hj1;…;hjl−1]
实际上每个densely connected layer由L个sub layer组成,这些sub_layer的大小由L和输入特征的大小d决定,即d/L。这一点与GCN模型隐藏维数大于或者等于输入特征大小不同,它是可收缩的,有助于使参数更加有效(类似DenseNets,实际上是减少参数,不过是否节约显存就不知道了)。
第t个densely connectly layer层中,对于图中的第i个结点,第l个sub-layer层中,节点的表征
h
t
i
(
l
)
h^{(l)}_{t_i}
hti(l) 计算如下:
h
t
i
(
l
)
=
ρ
(
∑
j
=
1
n
A
~
i
j
(
t
)
W
t
(
l
)
g
j
(
l
)
+
b
t
(
l
)
)
h^{(l)}_ {t_i} = \rho(\sum_{j=1}^{n}\tilde{A}^{(t)}_{ij}W^{(l)}_tg^{(l)}_j+b^{(l)}_t)
hti(l)=ρ(j=1∑nA~ij(t)Wt(l)gj(l)+bt(l))
t = 1,…,N,选择了对应的 attention guided adjacency matrix和偏差,
A
~
i
j
(
t
)
\tilde{A}^{(t)}_{ij}
A~ij(t)代表了节点i和j之间的权重。
W
t
(
l
)
∈
R
d
h
i
d
d
e
n
×
d
l
W^{(l)}_t \in R^{d_{hidden}\times d^{l} }
Wt(l)∈Rdhidden×dl,
d
l
=
d
+
d
h
i
d
d
e
n
×
(
l
−
1
)
d^{l} = d + d_{hidden} \times (l-1)
dl=d+dhidden×(l−1)(参照
g
j
(
l
)
g^{(l)}_j
gj(l)的dimensions)
Linear Conbination Layer
通过线性混合层合并N个不同的densely connected layer,输出如下:
h
c
o
m
b
=
W
c
o
m
b
h
o
u
t
+
b
c
o
m
b
h_{comb} = W_{comb}h_{out} + b_{comb}
hcomb=Wcombhout+bcomb
Final
经过上述的AGGCN模型,我们得到所有tokens的表征,之后关是预测实体之间关系。论文中将句子的表征和实体表征合并。
首先,需要得到sentence representation:
h
s
e
n
t
=
f
(
h
m
a
s
k
)
=
f
(
A
G
G
C
N
(
x
)
)
h_{sent} = f(h_{mask}) = f(AGGCN(x))
hsent=f(hmask)=f(AGGCN(x))
这里面的mask表示我们仅仅选择了除去了实体表征之后的段落表征(不知道理解是否正确,因为之后还有 entity token representation)。f函数是一个池化函数:
以上介绍了最后通过逻辑回归进行关系的预测。
Qusetions
- 如何理解LCA和距离LCA,K步的意思
- 词性标注,关系种类
- 论文2.5不理解
补充
[卷积][https://www.zhihu.com/question/22298352]: 通俗地理解卷积
[GCN][https://www.zhihu.com/question/54504471]
[谱分解][https://baike.baidu.com/item/特征分解/12522621?fr=aladdin]
/question/54504471]
[谱分解][https://baike.baidu.com/item/特征分解/12522621?fr=aladdin]
[self-attention][https://zhuanlan.zhihu.com/p/47282410]