Joint Information Extraction with Cross-Task and Cross-Instance High-Order Modeling(基于跨任务和跨实例高阶建模的联合信息抽取)
代码:JZXXX/High-order-IE (github.com)
期刊/会议:Arxiv
摘要
先前的信息抽取(IE)工作通常独立地预测不同的任务和实例(例如,事件触发词、实体、角色、关系),而忽略了它们的相互作用,导致模型效率低下。在这项工作中,我们引入了一个联合IE框架HighIE,它通过集成高阶跨任务和跨实例依赖来学习和预测多个IE任务。具体来说,我们设计了两类高阶因子:同质因子(homogeneous factors)和异质因子(heterogeneous factors)。然后利用这些因子联合预测所有实例的标签。为了解决精确高阶推理的棘手问题,我们结合了一个从平均场变分(mean-field variational)推理方法展开的高阶神经解码器。实验结果表明,与我们的基线和之前的工作相比,我们的方法在三个IE任务上取得了一致的改进。
1、简介
传统的IE方案通常有两个主要问题。首先,大多数方法分别处理不同的IE任务,而忽略了跨任务依赖关系。这种孤立的学习方案导致知识获取严重不足,模型构建效率低下。从直觉和经验上,预测不同的IE任务能够相互影响:实体类型可以提供对预测它们之间的关系或限制它们在某些事件中扮演的角色有用的信息;两个实体之间的关系将限制实体的类型。例如,在图1中,由PART-WHOLE
关系链接的两个实体更有可能共享相同的实体类型;事件Life:Die
和实体PER
的知识有利于角色Victim
的预测。
其次,尽管最近的成功证明了利用跨任务信息和多任务学习方案的显著改进,但预测方法仅基于局部分类器,而没有考虑跨实例交互(例如,事件触发词、实体、角色、关系)。例如,Luan等人(2018)提出使用多任务学习的共享编码器;Luan et al (2019a);Wadden等人(2019)根据局部特定于任务的预测更新共享跨度表示;Lin等人(2020a)设计了模板,在训练过程中生成全局特征作为约束。然而,这些工作只是在特性级别上利用交互,并没有显式地建模不同实例之间的相关性,并在推理中利用它们。最近的一些工作研究了不同IE任务的联合推理(特别是联合实体和关系抽取)或在神经网络内整合逻辑规则来约束解码(Wang and Pan, 2020,2021)。然而,这些方法是为特定的IE设置的,很难推广到其他任务。
考虑到前面提到的两个重要限制,我们提出了一个新的联合IE框架,High-Order Information Extraction(HighIE),它通过高阶交互显式地模拟IE任务和实例之间的交互。在这项工作中,术语“高阶(high-order)”通常是指在相同或不同任务中连接两个或多个相关实例的评分因素。
具体来说,我们在三个被广泛探索的IE任务上演示了我们提出的高阶框架的有效性:实体识别(EntR)、关系抽取(RelE)和事件抽取(EventE)。为了模拟这些任务之间的联合交互,我们设计了两类高阶因子:同质因子(homo)表示同一任务实例之间的相关性,异质因子(hete)表示不同任务实例之间的相关性。以EntR和EventE为例,计算了角色-角色对(homo)和触发词-角色-实体三元组(hete)的相关得分。我们利用这些分数来联合预测所有实例的标签。由于精确的高阶推理在解析上是难以处理的,我们结合了一个从近似平均场变分推理方法展开的神经解码器。
我们强调了HighIE的主要好处和贡献。首先也是最直接的,与之前最先进的模型相比,HighIE在单个IE任务上实现了更好的性能。其次,我们设计了两类高阶因子,可以在训练和推理过程中结合跨任务和跨实例交互。第三,我们提出的高阶框架可以很容易地推广到任何其他跨关系图预测任务,如框架语义解析和意见角色标记。
2、高阶信息抽取
2.1 联合信息抽取作为图预测
我们调查了三个被广泛探索的IE任务。
- EntR旨在将句子中的一些span标识为实体,并标记其实体类型。
- RelE旨在识别一些实体对之间的关系并标记它们的关系类型。
- EventE旨在标记事件类型及其触发词,将一些实体标识为事件论元并标记论元角色。
我们将这三个IE任务描述为一个图 G = ( V , E ) G = (V, E) G=(V,E)预测任务,其中 V V V表示表示预测文本实体或触发词的节点集, E E E表示表示节点依赖关系的有向边集。每个节点 v = ( a , b , l ) ∈ V v = (a, b, l)∈V v=(a,b,l)∈V是一个触发器或实体的span,其中 a a a和 b b b是span的起始词和结束词, l ∈ L e v e n t l∈\mathcal{L}^{event} l∈Levent或 l ∈ L e n t i t y l∈\mathcal{L}^{entity} l∈Lentity分别表示节点的事件类型和实体类型。每条边 e i j = ( i , j , r ) ∈ E e_{ij} = (i, j, r)∈E eij=(i,j,r)∈E表示节点对之间的关系,其中 i i i和 j j j表示头尾节点, r ∈ R r o l e r∈\mathcal{R}^{role} r∈Rrole或 r ∈ R r e l a t i o n r∈\mathcal{R}^{relation} r∈Rrelation表示边标签,当边从触发词到实体(作为论元)时是角色类型,当边从一个实体到另一个实体时是关系类型。
图2(A)描述了HighIE的整体架构。由于联合识别和分类需要将所有可能的跨度枚举为节点,在这种情况下,与节点数相关的高阶推理的计算量太大,因此我们首先使用节点识别模块将输入句子中的跨度识别为图节点。然后,我们设计了一个分类模块来预测(i)每个节点的标签和(ii)每个节点对之间的边的标签,其中我们使用一个特殊的NULL标签来表示不存在边。我们的分类模块通过设计同质和异构的高阶因子,集成了跨实例(例如,RelE上的一对关系)和跨任务(例如,EntR和EventE)相关性。注意,分类模块需要标识节点作为输入,所以我们先训练节点标识模块,然后在分类模块的后续训练中修复它。
结点识别模块:继之前的工作(Lample et al, 2016a;Lin等人,2020a),我们将节点识别制定为带有BIO方案的序列标记任务。对于单词特征,我们采用预训练的基于transformer的编码器,如BERT (Devlin et al, 2018)。我们使用从编码器中抽取的所有子词嵌入的平均值作为单词表示。解码器被表述为普通线性链条件随机场(CRF) (Lafferty et al, 2001)。具体来说,我们使用Viterbi算法(Forney, 1973)获得得分最高的序列,然后在最优输出序列中选取单词间标记为B-X和I-X的跨度作为预测节点集。更多细节可以在附录a中找到。遵循先前的工作,我们没有考虑词嵌套片段。
分类模块:该分类模块不再使用局部分类器独立预测每个节点和边缘,而是使用高阶交互和联合推理来预测节点标签和边缘标签。我们将在以下小节中描述我们的高阶分类模块。
2.2 高阶建模
图2(B)说明了我们的分类模块下的因子图。通常,我们设计三类因素:反映每个变量标签的似然分布的一元因子(unary factors)
;端点相同的边对的二元因子(binary factors)
;边的三元因子(ternary factors)
,头节点和尾节点。因子的势函数定义为对应分数的指数,即
ϕ
(
X
)
=
e
x
p
(
s
X
)
\phi (X) = exp(s_X)
ϕ(X)=exp(sX)。我们详细讨论评分函数如下。
一元得分:我们首先通过对预测跨度内所有单词的表示求平均值来获得每个节点的表示
z
z
z,其中单词的表示与识别模块中的方法相同。将
z
i
z_i
zi输入两层任务特定前馈神经网络(FNN),可得到第
i
i
i个节点标签
s
i
u
−
n
t
a
s
k
∈
R
∣
L
n
t
a
s
k
∣
s_i^{u-ntask}∈\mathbb{R}^{|L^{ntask}|}
siu−ntask∈R∣Lntask∣的一元分数:
s
i
u
−
n
s
t
a
s
k
=
F
F
N
n
t
a
s
k
(
z
i
)
s_i^{u-nstask}=FFN^{ntask}(z_i)
siu−nstask=FFNntask(zi)
L
n
t
a
s
k
L^{ntask}
Lntask是特定任务的结点标签集合,
n
t
a
s
k
∈
{
e
v
e
n
t
,
e
n
t
i
t
y
}
ntask \in \{ event,entity \}
ntask∈{event,entity}。
边
e
i
j
e_{ij}
eij从第
i
i
i个节点到第
j
j
j个节点的一元标签得分
s
i
j
u
−
e
t
a
s
k
s^{u-etask}_{ij}
siju−etask可以用分解的biaffine函数计算:
s
i
j
u
−
e
t
a
s
k
=
(
F
F
N
e
t
a
s
k
−
s
(
z
i
)
∘
F
F
N
e
t
a
s
k
−
e
(
z
j
)
)
H
u
−
e
t
a
s
k
s_{ij}^{u-etask}=(FFN^{etask-s} (z_i) \circ FFN^{etask-e}(z_j))H^{u-etask}
siju−etask=(FFNetask−s(zi)∘FFNetask−e(zj))Hu−etask
其中,两个FNN(·)表示任务特定的单层FNN,
H
u
−
e
t
a
s
k
∈
R
d
2
×
∣
R
e
t
a
s
k
∣
H^{u-etask} \in \mathbb{R}^{d_2 \times |\mathcal{R}^{etask}|}
Hu−etask∈Rd2×∣Retask∣是随机初始化的可训练矩阵,
R
e
t
a
s
k
\mathcal{R}^{etask}
Retask表示任务特定的边缘标签集,其中包含一个额外的< NULL >标签,
e
t
a
s
k
∈
{
r
e
l
a
t
i
o
n
,
r
o
l
e
}
etask∈\{relation, role\}
etask∈{relation,role},
∘
\circ
∘表示元素乘积。
二元得分:我们计算共享一个端点的每个边对的二元相关分数。如图2(A)所示,有三种类型的二元因子(Wang et al, 2019b):边
e
i
j
e_{ij}
eij和边
e
i
k
e_{ik}
eik共享头节点
v
i
v_i
vi,产生兄弟(sib);边
e
j
k
e_{jk}
ejk和边
e
i
k
e_{ik}
eik共享尾节点
v
k
v_k
vk,产生共父结点(cop);边
e
i
j
e_{ij}
eij的尾节点
v
j
v_j
vj是边
e
j
k
e_{jk}
ejk的头节点,产生祖父结点(gp)。对于每种特定类型的二元因子,我们使用不同的单层FNN,以
z
z
z作为输入,为每个节点计算头表示(-s)和尾表示(-e)。对于gp因子,我们为每个节点额外计算一个中间表示(-mid)。
g
i
t
y
p
e
−
s
=
F
F
N
t
y
p
e
−
s
(
z
i
)
,
g
i
t
y
p
e
−
e
=
F
F
N
t
y
p
e
−
e
(
z
i
)
,
g
i
t
y
p
e
−
m
i
d
=
F
F
N
t
y
p
e
−
m
(
z
i
)
,
t
y
p
e
∈
{
s
i
b
,
c
o
p
,
g
p
}
g_i^{type-s}=FFN^{type-s}(z_i),g_i^{type-e}=FFN^{type-e}(z_i),g_i^{type-mid}=FFN^{type-m}(z_i),type \in \{sib,cop,gp \}
gitype−s=FFNtype−s(zi),gitype−e=FFNtype−e(zi),gitype−mid=FFNtype−m(zi),type∈{sib,cop,gp}
sib对
{
e
i
j
,
e
i
,
k
}
\{e_{ij},e_{i,k} \}
{eij,ei,k},cop对
{
e
i
k
,
e
j
k
}
\{e_{ik},e_{jk} \}
{eik,ejk},gp对
{
e
i
j
,
e
j
k
}
\{e_{ij},e_{jk} \}
{eij,ejk},设第一个边的标签为
m
∈
R
1
m∈\mathcal{R}^1
m∈R1,第二个边的标签为
n
∈
R
2
n∈\mathcal{R}^2
n∈R2,则二元分数公式如下:
s
i
j
k
m
n
s
i
b
≡
s
i
k
j
n
m
s
i
b
,
=
∑
a
=
1
d
3
(
g
i
s
i
b
−
s
∘
g
j
s
i
b
−
e
∘
g
k
s
i
b
−
e
∘
h
m
1
∘
h
n
2
)
a
,
s
i
j
k
m
n
c
o
p
≡
s
i
k
j
n
m
c
o
p
,
=
∑
a
=
1
d
3
(
g
i
c
o
p
−
s
∘
g
j
c
o
p
−
e
∘
g
k
c
o
p
−
e
∘
h
m
1
∘
h
n
2
)
a
,
s
i
j
k
m
n
g
p
=
∑
a
=
1
d
3
(
g
i
g
p
−
s
∘
g
j
g
p
−
m
i
d
∘
g
k
g
p
−
e
∘
h
m
1
∘
h
n
2
)
a
s_{ijkmn}^{sib} \equiv s_{ikjnm}^{sib},\\ =\sum_{a=1}^{d_3}(g_i^{sib-s} \circ g_j^{sib-e} \circ g_k^{sib-e} \circ h_m^1 \circ h_n^2 )_a,\\ s_{ijkmn}^{cop} \equiv s_{ikjnm}^{cop},\\ =\sum_{a=1}^{d_3}(g_i^{cop-s} \circ g_j^{cop-e} \circ g_k^{cop-e} \circ h_m^1 \circ h_n^2 )_a,\\ s_{ijkmn}^{gp}=\sum_{a=1}^{d_3}(g_i^{gp-s} \circ g_j^{gp-mid} \circ g_k^{gp-e} \circ h_m^1 \circ h_n^2 )_a
sijkmnsib≡sikjnmsib,=a=1∑d3(gisib−s∘gjsib−e∘gksib−e∘hm1∘hn2)a,sijkmncop≡sikjnmcop,=a=1∑d3(gicop−s∘gjcop−e∘gkcop−e∘hm1∘hn2)a,sijkmngp=a=1∑d3(gigp−s∘gjgp−mid∘gkgp−e∘hm1∘hn2)a
其中,
h
m
1
h^1_m
hm1是第一个边标签
m
m
m的嵌入,
h
n
2
h^2_n
hn2是第二个边标签
n
n
n的嵌入。
g
g
g和
h
h
h都是三维的。
在本文中,我们考虑了两类同构二元因子:case (i) sib和cop表示两个论元角色( R 1 = R 2 = R r o l e \mathcal{R}^1 =\mathcal{R}^2 = \mathcal{R}^{role} R1=R2=Rrole)和case (ii) sib, cop和gp表示两个关系( R 1 = R 2 = R r e l a t i o n \mathcal{R}^1 =\mathcal{R}^2 = \mathcal{R}^{relation} R1=R2=Rrelation)。我们还考虑了一种异构二进制因素:case (iii) cop和gp,其中一个边标签是一个关系,另一个是联合EventE和RelE的角色( R 1 = R r e l a t i o n \mathcal{R}^1 = \mathcal{R}^{relation} R1=Rrelation, R 2 = R r o l e \mathcal{R}^2 = \mathcal{R}^{role} R2=Rrole或 R 1 = R r o l e \mathcal{R}^1 = \mathcal{R}^{role} R1=Rrole, R 2 = R r e l a t i o n \mathcal{R}^2 = \mathcal{R}^{relation} R2=Rrelation)。
三元得分:我们计算一条边和它的两个端点的三元相关分数。图2(B)说明了三元因子。类似于二元评分,我们使用两个新的FNN分别为每个可能的头节点和尾节点生成表示。
g
i
t
e
r
−
s
=
F
F
N
t
e
r
−
s
(
z
i
)
,
g
i
t
e
r
−
e
=
F
F
N
t
e
r
−
e
(
z
i
)
g_i^{ter-s}=FFN^{ter-s}(z_i),g_i^{ter-e}=FFN^{ter-e}(z_i)
giter−s=FFNter−s(zi),giter−e=FFNter−e(zi)
对于标记为
m
∈
R
m∈\mathcal{R}
m∈R的边,其头节点
v
i
v_i
vi标记为
p
∈
L
s
p∈\mathcal{L}^s
p∈Ls,尾节点
v
j
v_j
vj标记为
q
∈
L
e
q∈\mathcal{L}^e
q∈Le,则三元分值可计算为:
s
i
j
p
q
m
t
e
r
=
∑
a
=
1
d
4
(
g
i
t
e
r
−
s
∘
g
j
t
e
r
−
e
∘
g
p
t
e
r
−
s
∘
g
q
t
e
r
−
e
∘
h
m
t
e
r
)
a
s_{ijpqm}^{ter}=\sum_{a=1}^{d_4}(g_i^{ter-s} \circ g_j^{ter-e} \circ g_p^{ter-s} \circ g_q^{ter-e} \circ h_m^{ter} )_a
sijpqmter=a=1∑d4(giter−s∘gjter−e∘gpter−s∘gqter−e∘hmter)a
其中
h
m
t
e
r
h^{ter}_m
hmter是标签
m
m
m的嵌入,
e
p
t
e
r
−
s
e^{ter-s}_p
epter−s是标签
p
p
p的嵌入,
e
q
t
e
r
−
e
e^{ter-e}_q
eqter−e是标签
q
q
q的嵌入,
g
,
e
,
h
g, e, h
g,e,h都是d4维的。我们考虑了两种不同类型的三元因素:情况(i)一个事件,一个实体(作为可能的论元),以及它们之间的联合EventE和EntR (
L
s
=
L
e
v
e
n
t
,
R
=
R
r
o
l
e
,
L
e
=
L
e
n
t
i
t
y
\mathcal{L}^s = \mathcal{L}^{event},\mathcal{R} = \mathcal{R}^{role},\mathcal{L}^e = \mathcal{L}^{entity}
Ls=Levent,R=Rrole,Le=Lentity)和情况(ii)两个实体和它们之间的联合RelE和EntR (
L
s
=
L
e
=
L
e
n
t
i
t
y
\mathcal{L}^s = \mathcal{L}^e = \mathcal{L}^{entity}
Ls=Le=Lentity和
R
=
R
r
e
l
a
t
i
o
n
\mathcal{R} = \mathcal{R}^{relation}
R=Rrelation)之间的三元相关性。
2.3 高阶推理
与一阶推理通过最大化其一元得分来独立预测每个变量的值不同,在高阶推理中,我们联合预测所有变量的值以最大化其一元得分的和高阶得分。然而,我们的因子图上的确切联合推断通常是np难的。因此,我们使用平均场变分推理(MFVI) (Xing et al, 2012)进行近似推理。MFVI迭代更新每个变量
X
X
X的近似后验边际分布
Q
(
X
)
Q(X)
Q(X),该分布基于与之相关的所有因素的消息。由二元因子聚合的边缘变量的消息计算如下:
F
b
i
t
−
1
(
X
i
j
=
m
)
=
∑
k
≠
j
,
j
∑
n
∈
R
2
α
1
×
s
i
j
k
m
n
s
i
b
×
Q
i
k
(
t
−
1
)
(
X
i
k
=
n
)
+
α
2
×
s
i
j
k
m
n
c
o
p
×
Q
k
j
(
t
−
1
)
(
X
k
j
=
n
)
+
α
3
×
(
s
i
j
k
m
n
g
p
×
Q
j
k
(
t
−
1
)
(
X
j
k
=
n
)
+
s
k
i
j
m
n
g
p
×
Q
k
i
(
t
−
1
)
(
X
k
i
=
n
)
)
F_{bi}^{t-1}(X_{ij}=m)=\sum_{k \ne j,j}\sum_{n \in \mathcal{R}^2} \alpha_1 \times s_{ijkmn}^{sib} \times Q_{ik}^{(t-1)}(X_{ik}=n)+\alpha_2 \times s_{ijkmn}^{cop} \times Q_{kj}^{(t-1)}(X_{kj}=n)+\alpha_3\times (s_{ijkmn}^{gp} \times Q_{jk}^{(t-1)}(X_{jk}=n)+s_{kijmn}^{gp} \times Q_{ki}^{(t-1)}(X_{ki}=n))
Fbit−1(Xij=m)=k=j,j∑n∈R2∑α1×sijkmnsib×Qik(t−1)(Xik=n)+α2×sijkmncop×Qkj(t−1)(Xkj=n)+α3×(sijkmngp×Qjk(t−1)(Xjk=n)+skijmngp×Qki(t−1)(Xki=n))
由三元因子聚合的节点变量和边缘变量的消息计算如下:
F
t
e
r
(
t
−
1
)
(
X
i
j
=
m
)
=
∑
p
∈
L
s
∑
q
∈
L
e
s
i
j
p
q
m
t
e
r
×
Q
i
(
t
−
1
)
(
X
i
=
p
)
×
Q
j
(
t
−
1
)
(
X
j
=
q
)
,
F
t
e
r
(
t
−
1
)
(
X
i
=
p
)
=
∑
q
∈
L
e
∑
m
∈
R
s
i
j
p
q
m
t
e
r
×
Q
j
(
t
−
1
)
(
X
j
=
q
)
×
Q
i
j
(
t
−
1
)
(
X
i
j
=
m
)
,
F
t
e
r
(
t
−
1
)
(
X
j
=
q
)
=
∑
p
∈
L
s
∑
m
∈
R
s
i
j
p
q
m
t
e
r
×
Q
i
(
t
−
1
)
(
X
i
=
p
)
×
Q
i
j
(
t
−
1
)
(
X
i
j
=
m
)
F_{ter}^{(t-1)}(X_{ij}=m)=\sum_{ p \in \mathcal{L}^s} \sum_{q \in \mathcal{L}^e} s_{ijpqm}^{ter} \times Q_i^{(t-1)}(X_i=p) \times Q_j^{(t-1)}(X_j = q),\\ F_{ter}^{(t-1)}(X_{i}=p)=\sum_{ q \in \mathcal{L}^e} \sum_{m \in \mathcal{R}} s_{ijpqm}^{ter} \times Q_j^{(t-1)}(X_j=q) \times Q_{ij}^{(t-1)}(X_{ij} = m),\\ F_{ter}^{(t-1)}(X_{j}=q)=\sum_{ p \in \mathcal{L}^s} \sum_{m \in \mathcal{R}} s_{ijpqm}^{ter} \times Q_i^{(t-1)}(X_i=p) \times Q_{ij}^{(t-1)}(X_{ij} = m)
Fter(t−1)(Xij=m)=p∈Ls∑q∈Le∑sijpqmter×Qi(t−1)(Xi=p)×Qj(t−1)(Xj=q),Fter(t−1)(Xi=p)=q∈Le∑m∈R∑sijpqmter×Qj(t−1)(Xj=q)×Qij(t−1)(Xij=m),Fter(t−1)(Xj=q)=p∈Ls∑m∈R∑sijpqmter×Qi(t−1)(Xi=p)×Qij(t−1)(Xij=m)
后验
Q
(
X
)
Q(X)
Q(X)根据以下消息进行更新:
Q
i
j
(
t
)
(
X
i
j
=
m
)
∝
exp
s
i
j
m
u
−
e
t
a
s
k
+
α
4
F
b
i
(
t
−
1
)
(
X
i
j
=
m
)
+
α
5
F
t
e
r
(
t
−
1
)
(
X
i
j
=
m
)
,
Q
i
(
t
)
(
X
i
=
p
)
∝
exp
s
i
p
u
−
n
t
a
s
k
+
α
6
F
t
e
r
(
t
−
1
)
(
X
i
=
p
)
,
Q
j
(
t
)
(
X
j
=
q
)
∝
exp
s
j
q
u
−
n
t
a
s
k
+
α
7
F
t
e
r
(
t
−
1
)
(
X
j
=
q
)
Q_{ij}^{(t)}(X_{ij}=m) \propto \exp{s_{ijm}^{u-etask}+\alpha_4 F_{bi}^{(t-1)}(X_{ij}=m)+\alpha_5 F_{ter}^{(t-1)}(X_{ij}=m) },\\ Q_{i}^{(t)}(X_{i}=p) \propto \exp{s_{ip}^{u-ntask}+\alpha_6 F_{ter}^{(t-1)}(X_{i}=p)},\\ Q_{j}^{(t)}(X_{j}=q) \propto \exp{s_{jq}^{u-ntask}+\alpha_7 F_{ter}^{(t-1)}(X_{j}=q)}
Qij(t)(Xij=m)∝expsijmu−etask+α4Fbi(t−1)(Xij=m)+α5Fter(t−1)(Xij=m),Qi(t)(Xi=p)∝expsipu−ntask+α6Fter(t−1)(Xi=p),Qj(t)(Xj=q)∝expsjqu−ntask+α7Fter(t−1)(Xj=q)
其中所有
α
∈
[
0
,
1
]
α∈[0,1]
α∈[0,1]都是控制不同类型消息规模的超参数,
s
i
j
m
u
−
e
t
a
s
k
s^{u-etask}_{ijm}
sijmu−etask是Eq. 2中
s
i
j
u
−
e
t
a
s
k
s^{u-etask}_{ij}
siju−etask的第
m
m
m个元素,
s
i
p
u
−
n
t
a
s
k
s^{u-ntask}_{ip}
sipu−ntask是Eq. 1中
s
j
u
−
n
t
a
s
k
s^{u-ntask}_j
sju−ntask的第
p
p
p个元素,
s
j
q
u
−
n
t
a
s
k
s^{u-ntask}_{jq}
sjqu−ntask是Eq. 1中
s
j
u
−
n
t
a
s
k
s^{u-ntask}_j
sju−ntask的第
q
q
q个元素。
迭代MFVI更新有两种方式。在同步更新中,我们在每一步更新所有变量的 Q ( X ) Q(X) Q(X)。在异步更新中,我们在节点变量和边缘变量之间交替进行 Q ( X ) Q(X) Q(X)更新。我们通过经验发现,在某些情况下,使用三元因子时,异步更新比同步更新更好。
受Zheng et al(2015)的启发;Wang等(2019b),迭代更新步骤可以展开为由一元和高阶分数参数化的循环神经网络层。初始分布 Q ( 0 ) Q^{(0)} Q(0)由归一化的指数一元分数设置。在一个固定的 T T T(这是一个超参数)迭代次数之后,我们得到后验分布 Q ( T ) Q(T) Q(T)。对于每个变量,我们根据 Q ( T ) Q(T) Q(T)选择概率最高的标签作为我们的预测。
2.4 多任务训练
给定一个句子
w
=
(
w
1
,
…
,
w
k
)
w = (w_1,\ldots, w_k)
w=(w1,…,wk),为了使用统一的高阶分离关系预测框架训练多个IE任务,我们采用交叉熵损失进行多任务学习,方法如下:
L
=
−
∑
i
log
P
(
y
^
i
m
s
t
a
c
k
∣
w
)
−
∑
i
,
j
log
P
(
y
^
i
j
e
t
a
s
k
∣
w
)
\mathcal{L}=-\sum_{i} \log P(\hat y_i^{mstack}|w)-\sum_{i,j}\log P(\hat y_{ij}^{etask}|w)
L=−i∑logP(y^imstack∣w)−i,j∑logP(y^ijetask∣w)
其中,
y
^
i
n
t
a
s
k
,
y
^
i
j
e
t
a
s
k
\hat y_i^{ntask},\hat y_{ij}^{etask}
y^intask,y^ijetask指的是所有任务对应的所有结点和边的正确标注。一阶推理的节点标签和边标签的条件分布:
P
(
y
i
n
t
a
s
k
∣
w
)
=
S
o
f
t
m
a
x
(
s
i
u
−
n
t
a
s
k
)
,
P
(
y
i
j
e
t
a
s
k
∣
w
)
=
S
o
f
t
m
a
x
(
s
i
j
u
−
e
t
a
s
k
)
P(y_i^{ntask}|w)=Softmax(s_i^{u-ntask}),\\ P(y_{ij}^{etask}|w)=Softmax(s_{ij}^{u-etask})
P(yintask∣w)=Softmax(siu−ntask),P(yijetask∣w)=Softmax(siju−etask)
高阶推理是
P
(
y
i
n
t
a
s
k
=
X
i
∣
w
)
=
Q
i
(
T
)
(
X
i
)
,
P
(
y
i
j
n
t
a
s
k
=
X
i
j
∣
w
)
=
Q
i
j
(
T
)
(
X
i
j
)
P(y_i^{ntask}=X_i|w)=Q_i^{(T)}(X_i),\\ P(y_{ij}^{ntask}=X_{ij}|w)=Q_{ij}^{(T)}(X_{ij})
P(yintask=Xi∣w)=Qi(T)(Xi),P(yijntask=Xij∣w)=Qij(T)(Xij)
因此,在MFVI中计算后验的过程是完全可微的,可以被视为一个循环神经网络。我们能够实施端到端训练。
3、实验
数据集:ACE2005。
评估:F1。
4、总结
在本文中,我们提出了一个新的框架,在训练和推理过程中利用不同实例和不同IE任务之间的高阶交互。我们将IE任务表述为一个统一的图预测问题。我们的框架包括一个识别模块,将跨度识别为图节点,以及一个具有高阶建模和推理的分类模块,共同标记所有节点和边。实验结果表明,我们的高阶方法比之前的方法有了持续的改进。我们工作的局限性在于很难确定不同类型的高阶因子的最佳组合。我们将自动选择有用因素作为今后的工作方向。