【论文阅读】Graph Enhanced Dual Attention Network for Document-Level Relation Extraction

太过爱你忘了你带给我的痛 2023-01-01 10:54 249阅读 0赞

2020年11月Coling
Graph Enhanced Dual Attention Network for Document-Level Relation Extraction. Bo Li, et al. COLING 2020 [pdf]
没有代码

引入了从句子到关系S2R和从关系到句子R2S的双向注意力机制。

创新:

  • 双attention机制
  • 正则化处理
  • 引入证据支持向量作为注意力权重的监督信号
    模型架构

1.编码层

使用BILSTM对文档编码,将输入文档转化成1)词embedding 2)实体类型embedding 3)实体在docred首次出现的顺序embedding,得到H (n*2h)

  1. 使用max-pooling获得每个句子的语义表示
  2. 对于一个实体,在文档中可能有不同的实体提及。作者对于文档中位于第a到第b个词的实体提及j, 1 b − a + 1 ∑ l o c = a b H l o c \frac{1}{b-a+1}\sum^{b}_{loc = a}H_{loc} b−a+11​∑loc=ab​Hloc​

    e j e_{j} ej​就表示第j个实体的所有实体提及的平均值

  3. 对于每一对实体都使用一个双线性函数表示他们的关系,假如文档有k个实体,那就有关系表示 T ∈ k ∗ ( k − 1 ) ∗ d T\in{k*(k-1)*d} T∈k∗(k−1)∗d

2. 基于图的双向注意力机制

2.1 S2R层

输出面向关系的句子表示
获取关系权重矩阵 W S 2 R ∈ R m ∗ k ∗ ( k − 1 ) W_{S2R}\in{R^{m*k*(k-1)}} WS2R​∈Rm∗k∗(k−1)
m是句子个数,k是实体个数

2.2 GCN层

构建具有实体节点和句子节点的异构GCN。
有3种边

  • 句子-句子边: 两个句子都包含相同实体
  • 实体-实体边:两个实体同时出现在一个句子
  • 实体-句子边: 实体位于句子中

GCN
由于实体表示和句子表示的维度不同,先把维度转换一下,得到特征矩阵 X ∈ ( k + m ) ∗ d X\in{(k+m)*d} X∈(k+m)∗d
A A A是正则化的邻接矩阵,W3是一个权值矩阵
通过这样的运算:

  • L的前k行表示精炼的k个实体表示
  • L的k+1到k+m行表示精炼的m个句子表示
  • 双线性函数作用于前k行,也就是实体表示,来获得关系表示 T T T

2.3 R2S层

他正好和S2R反过来,输出面向句子的关系表示
上一步得到的关系表示 T T T用作query vector
key vector就是每个句子的表示
输出权重矩阵 W R 2 S ∈ R k ∗ ( k − 1 ) ∗ m W_{R2S}\in{R^{k*(k-1)*m}} WR2S​∈Rk∗(k−1)∗m

2. 二元attention的正则化

W R 2 S W_{R2S} WR2S​ 和 W S 2 R W_{S2R} WS2R​ 有着天然的对偶性质。用了L2正则化处理
在这里插入图片描述

3. 证据支持

在这里插入图片描述
假如一个文档有 m m m个句子,对于第 i i i类关系,如果前2个句子支持了这类关系,那么对应的支持向量 c i c_i ci​如图所示。
如果恰巧不能表示任何关系,那么对于一个有m个句子的文档来说,对于关系i,他的支持向量全部设定为 1 m \frac{1}{m} m1​

W R 2 S W_{R2S} WR2S​的第i行,称为 W i W_i Wi​,表示第i个关系实例,对于所有句子给出的注意力权重。直觉上,他应该很靠近我们刚刚说的支持向量。
这里作者使用KL散度来衡量 c i c_i ci​和 W i W_i Wi​的分布差异来作为额外损失。
KL散度

4. 分类层

前面通过R2S层求出了关系表示 T T T,vi就表示第i类关系。对于每一类关系,都通过sigmoid层进行分类。

发表评论

表情:
评论列表 (有 0 条评论,249人围观)

还没有评论,来说两句吧...

相关阅读