DocRED (Document-Level Relation Extraction Dataset):是关系抽取领域比较常见的数据集,最近几年关系抽取领域在该数据集上时有顶会级别的文章出来,本文针对该数据集相关的文章,总结了这些论文中的创新点。
文章目录
1、Entity Structure
本文重点关注了关系抽取的实体对之间的依赖关系, 将实体之间的依赖关系作为关系抽取的额为辅助特征,
如Figure 1所示是DocRED数据集的其中一个样本,其描述了文档级(多段文本)的关系抽取任务中,不同实体之间存在的依赖关系,这些实体之间的依赖性指示,为关系抽取任务提供了有效的先验信息。论文作者提出了两种实体结构,包括“共指关系结构”和“共现关系结构”:
1.1 Co-occurrence Structure: 表示两个提及mentions是否在同一个句子中 (如 “Coming Down Again” 和 “the rolling stones”)
1.2 Coreference Structure: 表示两个提及mentions是否指向同一个实体(如 “it" 和 ”Coming Down Again“)
那么任何实体之间的依赖关系可以用以下表格中的四种类型归纳:
其中,
intra+coref:表示实体对存在于同一个句子中,并且二者之间有共指关系;
intra+relate:表示实体对存在于同一个句子内, 但二者并没有指代关系;
inter+coref:表示实体对具有跨句子的指代关系;
inter+relate:表示实体对是跨句子的,但并没有指代关系;
另外除了实体提及之间的依赖关系外,该论文考虑了实体提及与其句内非实体词之间的另一种依赖关系,将其定义为intraNE; 而对于跨句的提及mentions,则不考虑实体与非实体之间是否存在依赖关系,而是将其统一归类为类型NA。
那么整个文本中任意两个词之间的依赖关系都可有这6种关系中的一种来归纳,假定有输入词序列
x
=
(
x
1
,
x
2
,
.
.
.
,
x
n
)
x = (x_1, x_2, ..., x_n)
x=(x1,x2,...,xn),则
x
i
x_i
xi 和
x
j
x_j
xj之间的依赖关系可以表示为
S
=
s
i
j
S={s_{ij}}
S=sij,其中
s
i
j
∈
{
i
n
t
r
a
+
c
o
r
e
f
,
i
n
t
r
a
+
r
e
l
a
t
e
,
i
n
t
e
r
+
c
o
r
e
f
,
i
n
t
e
r
+
r
e
l
a
t
e
,
i
n
t
r
a
N
E
,
N
A
}
s_{ij} \in \{intra+coref, intra+relate, inter+coref, inter+relate, intraNE, NA\}
sij∈{intra+coref,intra+relate,inter+coref,inter+relate,intraNE,NA}
2、SSAN(Structured Self-Attention Network)
如图2所示, 论文提出一种基于Transformer的encoder编码器结构的SSAN网络架构,将Entity Structure 作为一种辅助额外特征加入到Self-Attention的计算过程中,我们知道,普通的self-attention的计算过程是,在每一层,输入表示 x i l ∈ R d i n {x^i}_l \in R^{d_{in}} xil∈Rdin最初被映射为query, key , value 向量:
其中 W l Q , W l K , W l V ∈ R d i n × d o u t {W_l}^Q, {W_l}^K, {W_l}^V \in R^{d_{in}\times d_{out}} WlQ,WlK,WlV∈Rdin×dout, 那么未加entity structure 的普通 self-attention的 attention score 可以表示为:
那么如何引入实体提及的依赖关系特征 S S S呢, 如图2所示,该论文使用了一个额外的模块Transformation来建模基于 structral dependency 结构依赖的self-attention,其attention score 的计算过程更改为:
其中 z i l + 1 ∈ R d o u t {z_i}^{l+1} \in R^{d_{out}} zil+1∈Rdout是 x i l {x_i}^l xil的更新值。值得注意的是,本文提出了两种不同的Transformation结构,并且在实验部分就其性能做了详细的对比。这两种Transformation结构分别是Biaffine Transformation 和 Decomposed Linear Transformation。
2.1 Transformation Module
论文将 t r a n s f o r m a t i o n ( q i l , k j l , s i j ) transformation({q_i}^l, {k_j}^l, s_{ij}) transformation(qil,kjl,sij)定义为attention scores计算过程中的一个偏置项 b i a s i j l {bias_{ij}}^l biasijl, 并给出两个可选项,即:
第一种是Biaffine Transformation, 将偏置项 b i a s i j l {bias_{ij}}^l biasijl的计算定义为:
其中 A l , s i j ∈ R d o u t × 1 × d o u t A_{l,s_{ij}} \in R^{d_{out} \times 1 \times d_{out}} Al,sij∈Rdout×1×dout 是参数化依赖关系 s i j s_{ij} sij的可训练神经网络层, b l , s i j b_{l, s_{ij}} bl,sij为独立于上下文的依赖关系 s i j s_{ij} sij的先验偏差。
第二种结构是 Decomposed Linear Transformation, 将偏置项 b i a s i j l {bias_{ij}}^l biasijl的计算定义为:
同样, K l , s i j T , Q l , s i j T ∈ R d K_{l, s_{ij}}^T, Q_{l, s_{ij}}^T \in R^d Kl,sijT,Ql,sijT∈Rd也是可用于训练的神经网络层,论文作者认为,公式(7)中三个子项分别可以解释如下:
1)第一项表示取决于query 的 token表示的偏差bias;
2)第二项表示取决于key 的 token表示的偏差bias;
3)第三项仍然是 先验偏差。
经过以上表述,我们可以总结 strucre self-Attention的 attention scores的计算方式为:
3、SSAN for Relation Extraction
SSAN模型将文档级的文本作为输入, 并在整个编码阶段内在 entity structure的指导下构建上下文表示。在编码阶段之后,通过平均池化的操作为每个目标实体构建一个固定维度的表示,即 e i ∈ R d e e_i \in R^{d_e} ei∈Rde, 那么对于每个实体对,我们可以根据预先设定好的关系 schema计算其在某个关系上的概率为:
其中 W r ∈ R d e × d e W_r \in R^{d_e \times d_e} Wr∈Rde×de, 那么整个模型可以利用交叉熵作为损失函数,
其中, y ˉ \bar{y} yˉ 是 target label, 假定有N个实体和M中关系,那么公式(9)必须得计算 N × N × M N\times N \times M N×N×M次来给出所有可能的预测结果。
注: 后面实验部分就不做详细介绍了,读者可以自己参考论文理解即可。
3.1 Experiments and Results
3.2 烧蚀实验
原文链接:这里