1 简介
论文题目:A Joint Neural Model for Information Extraction with Global Features
论文来源:ACL 2020
论文链接:https://aclanthology.org/2020.acl-main.713.pdf
代码链接:http://blender.cs.illinois.edu/software/oneie/
1.1 创新
- 提出了一个端到端的IE框架,显式地建模了跨子任务合跨实例之间的依赖,以图的形式预测结果。
2 方法
整体框架如上图,主要包括编码、识别、分类、解码四个部分,给定一个句子,目标是预测一个图G=(V,E),其中每个结点
v
i
=
<
a
i
,
b
i
,
l
i
>
v_i=<a_i,b_i,l_i>
vi=<ai,bi,li>(a和b为开始和结束索引,l为结点类型标签)代表一个实体提及或者事件触发词,每个边为
e
i
j
=
<
i
,
j
,
l
i
j
>
e_{ij}=<i,j,l_{ij}>
eij=<i,j,lij>。
2.1 编码
使用BERT的倒数第三层的输出对token进行编码。
2.2 识别
使用FFN+CRF识别句子中的实体提及和事件触发词(BIO标注),标签路径的分数和Loss公式如下:
![]() |
![]() |
![]() |
2.3 分类
使用具体任务的FFN对结点(
y
^
i
t
=
F
N
N
t
(
v
i
)
\widehat{y}_i^t=FNN^t(v_i)
y
it=FNNt(vi))和边(
y
^
k
t
=
F
N
N
t
(
v
i
,
v
j
)
\widehat{y}_k^t=FNN^t(v_i,v_j)
y
kt=FNNt(vi,vj))进行分类。Loss函数为交叉熵:
如果忽视结点和边的相互依赖,一个图的分数计算公式如下:
在提出的框架中考虑两种类型的相互依赖:跨子任务交互和跨实例交互。为了捕捉这两种依赖,设计了一个全局特征模板(如下图),
给定一个图G,表示它的全局特征向量为
f
(
G
)
=
{
f
1
(
G
)
,
.
.
.
,
f
m
(
G
)
}
f(G)=\{f_1(G),...,f_m(G)\}
f(G)={f1(G),...,fm(G)},然后进行加权求和后与局部分数求和,得到图G的全局分数,假设gold图的分数最高,loss公式为两者之差,公式如下:
![]() |
![]() |
![]() |
总的loss为识别、分类和图的分数loss之和,公式如下:
2.4 解码
考虑到解码效率,提出一种基于束解码的方法,扩展每个候选包括结点步骤和边步骤:
- 结点步骤:选择一个结点
v
i
∈
V
v_i\in V
vi∈V,定义候选集为
V
i
=
{
<
a
i
,
b
i
,
l
i
(
k
)
>
∣
1
≤
k
≤
B
v
}
V_i=\{<a_i,b_i,l_i^{(k)}>|1\leq k \leq B_v\}
Vi={<ai,bi,li(k)>∣1≤k≤Bv},更新过程如下:
- 边步骤:迭代的选择结点
V
j
V_j
Vj和
V
i
V_i
Vi,j<i(不能同时为触发词),构建候选边集为
E
i
,
j
=
{
<
j
,
i
,
l
i
,
j
(
k
)
>
∣
1
≤
k
≤
B
e
}
E_{i,j}=\{<j,i,l_{i,j}^(k)>|1\leq k \leq B_e\}
Ei,j={<j,i,li,j(k)>∣1≤k≤Be},更新过程如下:
在每次边步骤结束后,如果B的大小超过 θ \theta θ,按照降序,保存分数最大的 θ \theta θ个,最后选择分数最大的图作为输出。
解码过程如下图:
3 实验
使用的数据集为ACE 2005和ERE-ES,数据集统计信息如下:
实验结果如下图:
定性分析:
模型学到的显著特征如下图:
错误分析:
移植到另一种语言的性能:
仍然存在的挑战:
- 需要背景知识
- 稀有单词
- 触发词有多种类型
- 不确定的事件和隐喻