1 GDPNet:用于关系提取的潜在多视图图的精炼(GDPNet: Refining Latent Multi-View Graph for Relation Extraction)
论文:GDPNet: Refining Latent Multi-View Graph for Relation Extraction,2021
1.1 引言
由于基于 BERT 等序列模型与基于图模型算法是关系抽取任务的研究前沿,这篇文献构造了利用潜在的多视图来捕获 token 之间各种可能的关系,随之对这个图进行精炼以选择重要的词进行关系预测,最后将改进的图表示和基于 BERT 模型的表示连接起来进行关系抽取。论文的重要创新点在于提出了 GDPNet (Gaussian Dynamic Time Warping Pooling Net),利用高斯图生成器 (Gaussian Graph Generator, GGG)来产生多视图的边,这个图通过 Dynamic Time Warping Pooling (DTWPool)来精炼。在dialgre和TACRED上,我们表明GDPNet在对话级RE上取得了最好的性能,在句子级RE上取得了与先进水平相当的性能
1.2 创新点
以前:许多研究依靠外部解析器将文本序列转换为依赖树来初始化图;缺点:解析工具产生的错误因此传播到图中。
现在:最近的研究直接从文本中学习潜在图
挑战:挑战在于处理长文本,如图所示,使用令牌级节点表示的长序列很难学习潜在图。
改进动机:
- 之前也有学者,通过使用预定义的规则和额外的标签简化了潜在图,但这些规则和标签在原始数据中并不容易获得
- 在基于bert的模型中,“[CLS]”标记被用作关系预测的特定于任务的表示。虽然BERT可以被看作是全连通图的特例,但它太大太复杂,无法作为任务特定图进行关系提取。更重要的是,在给定的上下文中,许多单词与关系预测任务的相关性较小。
- 提出了一个高斯图生成器(GGG),通过测量标记的不同高斯分布之间的KL发散度来初始化潜在多视图图的边缘。
- 提出了一种图形池化方法DTWPool,以灵活的池化比例细化从文本序列中学习到的潜在多视图图。据我们所知,这是关于多视图图池的第一个工作。
1.3 相关工作
1.3.1 基于RNN的关系抽取
早期的关系提取工作依赖于手工制作的特征来表示实体对,模型的有效性高度依赖于手工制作的特征的质量。目前的工作主要集中在基于学习的模型,例如RE的循环神经网络(RNN)。Zhou等人(2016)提出了双向LSTM模型,以捕获实体对之间的长期依赖性。Zhang等人(2017)提出了PALSTM对全局位置信息进行编码,以提高RE的性能。
1.3.2 基于图的关系提取
基于图的模型由于其在关系推理方面的有效性和强度,现在在RE中被广泛采用。Zhang、Qi和Manning(2018)利用图卷积网络(GCN)在依赖结构上捕获信息。Guo、Zhang和Lu(2019)提出了一种注意引导的GCN (AGGCN),通过自注意机制改进图表示。AGGCN在句子级正则方面表现良好,但它依赖于外部解析器,在生成图时可能导致错误传播。为了减少错误传播,Christopoulou、Miwa和Ananiadou(2018)和Nan等人(2020)提出以端到端方式从文本中学习潜在图,而不需要外部解析器生成的依赖树。Guo等人(2020)将依赖结构视为潜在变量,并以端到端方式从非结构化文本中归纳出依赖结构。
1.3.3 基于bert的关系提取
最近,大规模的预训练语言模型,如BERT,已经在许多任务上取得了SoTA性能。多项研究表明,基于bert的模型在很大程度上优于RNN和基于图的模型(Wu和He 2019;Joshi等2020年;Y u et al 2020)。乔希等人(2020)提出SpanBERT学习更好的表示,并在TACRED上实现SoTA性能(Zhang等2017),一个句子级RE数据集。对于对话级正则任务,Yu等人(2020)提出了一种BERTs模型,该模型考虑了说话人信息,并取得了最佳结果。在我们的解决方案中,多视图图是在BERT的令牌表示的基础上构建的。
1.3.4 Graph Pooling
图通常包含不同的子结构,图中的不同节点可能扮演不同的角色。因此,简单地应用像求和或平均这样的池操作来编码图中的全局节点表示可能会导致信息丢失(Atwood和Towsley 2016;Simonovsky和Komodakis 2017)。为了解决这个问题,提出了几种先进的图池方法,包括DiffPool (Ying等人2018)、TopKPool (Gao和Ji 2019)、SAGPool (Lee, Lee,和Kang 2019)和StructPool (Y uan和Ji 2019)。DiffPool在节点上生成一个集群分配矩阵,构造一个可微的池化层。TopKPool通过操纵一个可训练的投影向量对基本节点的子集进行采样。SAGPool进一步应用了自注意和图卷积来改进TopKPool。
StructPool提出了一种基于条件随机场的图池方法,改进了不同节点之间的关系表示。然而,所有这些方法都没有在多视图图上进行评估,多视图图可以模拟节点之间的复杂关系。在本文中,我们提出DTWPool来处理从文本序列中学习到的潜在多视图图。注意,DTWPool能够使用自适应池比率而不是固定的池比率。
1.3.5 Multi-view Graph(多视点图)
在多视图图中,一对节点之间存在多条边,每条边来自一个视图。形式上,我们可以将多视图图表示为: G = ( V , A 1 , A 2 , … , A N ) G=\left(V, A^1, A^2, \ldots, A^N\right) G=(V,A1,A2,…,AN),其中V是节点的集合,A是相邻矩阵,N是视图的数量。
在模型中,我们的目标是使用多视图图来建模给定序列中标记之间的复杂关系(例如,语法和语义)。在这个多视图图中,序列X中的每个令牌对应一个节点。注意,一个实体可能包含多个令牌,并且有多种处理实体令牌的方法(即Xs和Xo中的令牌)。为了便于表示,我们将实体中的令牌与后续讨论中序列中的其他令牌一视同仁。
1.4 GDPNet
GDPNet的总体架构显示如图所示。其中有三个关键组件:BERT模块、图模块和SoftMax分类器。BERT模块将令牌编码为相应的特性表示。如图所示,图模块接受来自BERT的令牌表示,并使用高斯图生成器(GGG)构造一个多视图图。然后通过图卷积和DTWPool的多重交互对图进行细化。最后,将改进后的潜图输入SoftMax分类器进行关系类型预测。
1.4.1 BERT Module
论文使用 BERT 作为特征编码器来提取 token 表示,将序列 映射为 BERT 的输入序列,对应的 BERT 产生的 token 表示为 H = { h 0 , h 1 , h 2 , … , h T , h T + 1 } H=\left\{h_0, h_1, h_2, \ldots, h_T, h_{T+1}\right\} H={h0,h1,h2,…,hT,hT+1} ,在GDPNet中,我们通过图形模块充分利用了整个令牌表示H。简单地说,图模块使用令牌 H = { h 0 , h 1 , h 2 , … , h T , h T + 1 } H=\left\{h_0, h_1, h_2, \ldots, h_T, h_{T+1}\right\} H={h0,h1,h2,…,hT,hT+1}学习特定于任务的图。然后将学习到的图与h0结合,作为SoftMax分类器的输入。
1.4.2 Graph Module
图模块由高斯图生成器(GGG)、多层图卷积和DTWPool组成。GGG用于生成潜在的多视图图,而图卷积层和DTWPool层用于图的细化。
Gaussian Graph Generator: h 0 h_0 h0 令牌“[CLS]”被认为是整个序列的任务特定令牌,这是第一部分。剩下的表示 { h 1 , h 2 , … , h T , h T + 1 } \left\{h_1, h_2, \ldots, h_T, h_{T+1}\right\} {h1,h2,…,hT,hT+1}构成第二部分。*我们从第二部分生成一个多视图图来建模令牌之间的关系。
我们将潜在图的初始节点表示表示为
V
0
=
{
v
1
0
,
v
2
0
,
…
,
v
T
+
1
0
}
V^0=\left\{v_1^0, v_2^0, \ldots, v_{T+1}^0\right\}
V0={v10,v20,…,vT+10},其中每个节点对应于一个token表示。然后,提出了一种基于
v
0
v_0
v0的高斯图生成器(GGG)来初始化潜在多视图图的边缘。具体来说,我们首先将每个节点v0i编码为多个高斯分布:
{
μ
i
1
,
μ
i
2
,
…
,
μ
i
N
}
=
g
θ
(
v
i
0
)
{
σ
i
1
,
σ
i
2
,
…
,
σ
i
N
}
=
ϕ
(
g
θ
′
(
v
i
0
)
)
\begin{aligned} &\left\{\mu_i^1, \mu_i^2, \ldots, \mu_i^N\right\}=g_\theta\left(v_i^0\right) \\ &\left\{\sigma_i^1, \sigma_i^2, \ldots, \sigma_i^N\right\}=\phi\left(g_\theta^{\prime}\left(v_i^0\right)\right) \end{aligned}
{μi1,μi2,…,μiN}=gθ(vi0){σi1,σi2,…,σiN}=ϕ(gθ′(vi0))
其中gθ和g0θ为两个可训练神经网络,φ为非线性激活函数,N为多视图图中的视图数。我们设激活函数φ为SoftPlus函数,因为高斯分布的标准差有界于(0,+∞),因此,我们得到了若干个高斯分布用于多视图图的第N个视图。
多视图图的目的是捕获令牌之间所有可能的关系,因此我们鼓励在语义差异较大的令牌表示之间传播消息。我们采用两个标记高斯分布之间的KL散度来建模边权。具体来说,第n个视图上第i个节点和第j个节点之间的边权计算为:
e
i
j
n
=
K
L
(
N
i
n
(
μ
i
n
,
σ
i
n
2
)
∥
N
j
n
(
μ
j
n
,
σ
j
n
2
)
)
e_{i j}^n=\mathrm{KL}\left(\mathcal{N}_i^n\left(\mu_i^n, \sigma_i^{n 2}\right) \| \mathcal{N}_j^n\left(\mu_j^n, \sigma_j^{n 2}\right)\right)
eijn=KL(Nin(μin,σin2)∥Njn(μjn,σjn2))
在计算每个视图上节点之间的边后,我们得到多个相邻矩阵
A
1
,
A
2
,
…
,
A
N
A^1, A^2, \ldots, A^N
A1,A2,…,AN,每个视图一个。因此,生成的多视图图被写成
G
=
(
V
,
A
1
,
A
2
,
…
,
A
N
)
G=\left(V, A^1, A^2, \ldots, A^N\right)
G=(V,A1,A2,…,AN)。由于KL散度的不对称性,G是一个有向多视图图。
1.4.3 Multi-view Graph Convolution
受Guo、Zhang和Lu(2019)的启发,我们进一步使用具有密集连接的多视图图卷积(Guo等人2019)来捕获图上的结构信息。通过使用密集连接,我们可以训练一个更深入的模型来捕获本地和非本地信息。多视图图卷积写为:
v
n
i
(
ℓ
)
=
ρ
(
∑
j
=
1
T
A
i
j
n
W
n
(
ℓ
)
k
j
(
ℓ
)
+
b
n
(
ℓ
)
)
v_{n_i}^{(\ell)}=\rho\left(\sum_{j=1}^T A_{i j}^n W_n^{(\ell)} k_j^{(\ell)}+b_n^{(\ell)}\right)
vni(ℓ)=ρ(j=1∑TAijnWn(ℓ)kj(ℓ)+bn(ℓ))
第一个图卷积层的输出
V
1
=
{
v
1
1
,
v
2
1
,
…
,
v
T
+
1
1
}
=
{
k
1
(
ℓ
)
,
k
2
(
ℓ
)
,
…
,
k
T
+
1
(
ℓ
)
}
V^1=\left\{v_1^1, v_2^1, \ldots, v_{T+1}^1\right\}=\left\{k_1^{(\ell)}, k_2^{(\ell)}, \ldots, k_{T+1}^{(\ell)}\right\}
V1={v11,v21,…,vT+11}={k1(ℓ),k2(ℓ),…,kT+1(ℓ)},我们建议读者参考密连通图卷积网络(Guo等人2019)了解更多细节。
1.4.4 Dynamic Time Warping Pooling
在图卷积通过消息传播更新节点表示之后,引入动态时间扭曲池(Dynamic Time Warping Pooling, DTWPool)来细化潜在的多视图图。在DTWPool中,我们首先引用SAGPool (Lee, Lee, and Kang 2019)来计算图表每个视图上的注意力得分:
s
n
i
=
α
(
∑
j
=
1
T
A
i
j
n
W
pool
v
j
+
b
pool
)
s_{n_i}=\alpha\left(\sum_{j=1}^T A_{i j}^n W_{\text {pool }} v_j+b_{\text {pool }}\right)
sni=α(j=1∑TAijnWpool vj+bpool )
对于潜在多视图中的第 n 个视角,会得到分数集 ,论文保留了 SAGPool 的节点选择方法,即使在图的大小和结构发生变化时,也保留了输入图中的一部分节点。在节点选择之后,第 个视角保留的节点是 的子集,因为潜在图通常有多个视角,所以会发现多个 不同的子集。
由于多视图的特性,DTWPool 通过从不同视图获取节点的联合集,自适应地对图进行了细化:
V
2
=
V
1
2
∪
V
2
2
∪
…
∪
V
N
2
V^2=V_1^2 \cup V_2^2 \cup \ldots \cup V_N^2
V2=V12∪V22∪…∪VN2
其中 是从所有不同视图中选择的子集的并集。在图模块中,论文对图卷积和 DTWPool 进行迭代操作,从而得到一个图序列 。
信息节点的数量在不同的文本序列中是不同的。在图的池化过程中,保持重要信息是很重要的。这个图中的节点嵌入了丰富的上下文信息,因此将上下文总结到 pooling 节点中是有益的。为了这个目的,作者提出了使用 SoftDTW 来指导图池化操作。SoftDTW 是一个可微分的损失函数,用于寻找不同长度的两个序列之间可能的最佳对齐方式:
DTW
γ
(
L
1
,
L
2
)
=
min
γ
{
⟨
M
,
Δ
(
L
1
,
L
2
)
⟩
,
M
∈
M
}
\operatorname{DTW}_\gamma\left(L_1, L_2\right)=\min ^\gamma\left\{\left\langle M, \Delta\left(L_1, L_2\right)\right\rangle, M \in \mathcal{M}\right\}
DTWγ(L1,L2)=minγ{⟨M,Δ(L1,L2)⟩,M∈M}
在 GDPNet 中,论文利用 SoftDTW 损耗最小化原始图与最后池化图之间的距离:
L
=
CSE
(
r
,
r
^
)
+
λ
D
T
W
γ
(
V
1
,
V
D
)
\mathcal{L}=\operatorname{CSE}(r, \hat{r})+\lambda \mathrm{DTW}_\gamma\left(V^1, V^D\right)
L=CSE(r,r^)+λDTWγ(V1,VD)
使用 SoftDTM 损失,DTWPool 可以在不丢失大量上下文信息的情况下细化图。
为了最小化信息损失,论文将池化过程中创建的中间图的节点表示连接起来,从而得到最终的图 ,类似于学习图的残差连接。由于池中的图具有不同的大小,论文对所有节点只连接其中的节点表示,因此,最终图 的节点与 1 相同。
1.4.5 Classifier
给定最终的图V,我们采用具有最大池化的神经网络来计算图的表示。然后将计算得到的表示与“[CLS]”标记h0的表示连接起来,形成最终表示:
h
final
=
[
h
0
;
f
(
V
)
]
h_{\text {final }}=\left[h_0 ; f(V)\right]
hfinal =[h0;f(V)]
1.5 实验
论文提出的 GDPNet 可以应用于句子级和对话级的 RE 任务。由于数据格式、适用的基线模型以及处理主体和客体实体 和 的方式的不同,论文进行了两组实验,将 GDPNets 和 SoTA 模型在两项任务上进行了比较。表 2 与表 5 总结了在 DialogRE 和 TACRED 上的结果。论文还展示了如何容易地修改 GDPNet,如表 4 所示,以便在每个任务上与 SoTA 模型进行公平比较。
Dialogue-level Relation Extraction:
Sentence-level Relation Extraction:
1.6 结论
本文提出了基于GDPNet的关系提取方法。
GDPNet设计用于从长序列(如对话)中查找指示性词,以便有效地提取关系。
我们证明了GDPNet在对话级RE上实现了最好的性能。特别是,当对话较长时,GDPNet比基于bert的模型获得了更好的性能。GDPNet的关键是构建一个潜在的多视图图来模拟长序列中令牌之间可能的关系,然后通过DTWPool对图进行细化。从对话和TACRED的结果来看,这种机制在处理长序列方面有很大的潜力。评估这一机制对其他任务的有效性,是我们今后工作的一部分。
1.7 个人点评
论文提出的方法参考了很多以前学者的方法,有点大杂烩的意思,如bert、端对端生成多个权重矩阵、密连通图卷积网络等,从文本中学习到多个潜在的矩阵的方法和动态时间polling方法是本文最大的创新点,polling方法实现了自适应,如何获取多个潜在的矩阵的方法并没有搞懂缘由,涉及到一些数学知识,并没有搞懂,不予点评。