PRGC: Potential Relation and Global Correspondence Based Joint Relational Triple Extraction
PRGC:基于潜在关系和全局对应的联合关系三元组抽取
Abstract
本文讲关系抽取任务分解为关系判断、实体提取和subject-object对齐三个子任务,提出了一种基于
潜在关系和全局对应
的联合关系三元组抽取框架(PRGC)。具体而言,首先设计一个预测潜在关系的组件,将
后续实体提取限制在预测的关系子集上
,而不是所有的关系;然后用
特定于关系的序列标记
组件
处理subject-object之间的重叠问题
;最后设计一个
全局对应组件
来以较低的复杂度将主客体对齐成三元组。在两个公共数据集上达到了新的SOTA。
1 Introduction
关系抽取是从非结构化文本中识别(subject,relation,object)三元组。本文将其分解为三个子任务:1.关系判断:识别句子中的关系;2.实体提取:识别句子中的subject和object;3.subject-object对齐:将subject-object对齐成一个三元组
对于关系判断
:本文
通过
P
o
t
e
n
t
i
a
l
R
e
l
a
t
i
o
n
P
r
e
d
i
c
t
i
o
n
\mathcal{Potential\ Relation\ Prediction }
P
o
t
e
n
t
i
a
l
R
e
l
a
t
i
o
n
P
r
e
d
i
c
t
i
o
n
组件来预测潜在关系
,而不是保留所有的冗余关系,这降低了计算复杂度,取得了更好的性能,特别是在实体提取方面。在
实体提取方面
:本文使用了一个更健壮的
R
e
l
a
t
i
o
n
S
p
e
c
i
f
i
c
S
e
q
u
e
n
c
e
T
a
g
\mathcal{Relation\ Specific\ Sequence\ Tag}
R
e
l
a
t
i
o
n
S
p
e
c
i
f
i
c
S
e
q
u
e
n
c
e
T
a
g
组件(简称Rel-Spec Sequence Tag)来
分别提取subject和object
,以自然地处理subject和object之间的重叠。对于
subject-object对齐
:本文设计了
与一个关系无关的全局对应矩阵
来判断特定的subject-object对在三元组中是否有效。
在给定句子的情况下,PRGC首
先预测潜在关系的子集
和
包含所有subject-object之间对应分数的全局矩
阵**;然后进行序列标注,并行地提取每个潜在关系的主客体**;
最后枚举所有预测的实体对,然后通过全局对应矩阵进行剪枝
。
2 Method
2.1 Problem Definition
输入是具有n个token的句子
S
=
{
x
1
,
x
2
,
.
.
.
,
x
n
}
S=\{x_1,x_2,…,x_n\}
S
=
{
x
1
,
x
2
,
.
.
.
,
x
n
}
,期望的输出是关系三元组
T
(
S
)
=
{
(
s
,
r
,
o
)
∣
s
,
o
∈
E
,
r
∈
R
}
T(S)=\{(s,r,o)|s,o \in E, r\in R\}
T
(
S
)
=
{
(
s
,
r
,
o
)
∣
s
,
o
∈
E
,
r
∈
R
}
,其中
E
、
R
E、R
E
、
R
分别表示实体集和关系集。
2.1.1 Relation Judgement
对于给定句子
S
S
S
,
该子任务是预测它句子
S
S
S
包含的潜在关系
,输出为:
Y
r
(
s
)
=
{
r
1
,
r
2
,
.
.
.
,
r
m
∣
r
i
∈
R
}
Y_r(s)=\{r_1,r_2,…,r_m|r_i\in R\}
Y
r
(
s
)
=
{
r
1
,
r
2
,
.
.
.
,
r
m
∣
r
i
∈
R
}
,其中m为潜在关系子集的大小。
2.1.2 Entity Extraction
对于给定句子
S
S
S
和预测的潜在关系
r
i
r_i
r
i
,
该子任务是使用BIO标记方案识别每个token的tag
,其中
t
j
t_j
t
j
表示tag。输出为:
Y
e
(
S
,
r
i
∣
r
i
∈
R
)
=
{
t
1
,
t
2
,
.
.
.
,
t
n
}
Y_e(S,r_i|r_i\in R)=\{t_1,t_2,…,t_n\}
Y
e
(
S
,
r
i
∣
r
i
∈
R
)
=
{
t
1
,
t
2
,
.
.
.
,
t
n
}
。
2.1.3 Subject-object Alignment
对于给定句子
S
S
S
,该
子任务预测主语和宾语的起始tokens之间的对应分数
。即真正的三元组中的subject-object对的得分较高。输出为:
Y
s
(
S
)
=
M
∈
R
n
×
n
Y_s(S)=M \in R^{n\times n}
Y
s
(
S
)
=
M
∈
R
n
×
n
,其中
M
M
M
表示全局对应矩阵。
2.2 PRGC Encoder
通过BERT对句子S进行编码。encoder的输出:
Y
e
n
c
(
S
)
=
{
h
1
,
h
2
,
.
.
.
,
h
n
}
Y_{enc}(S)=\{h_1,h_2,…,h_n\}
Y
e
n
c
(
S
)
=
{
h
1
,
h
2
,
.
.
.
,
h
n
}
,其中n表示tokens数。
2.3 PRGC Decoder
2.3.1 Potential Relation Prediction
图中
R
p
o
t
R^{pot}
R
p
o
t
表示潜在关系
给定句子
S
S
S
,首先预测句子中可能存在的潜在关系的子集,然后只需要提取用到这些潜在关系的实体。给定n个tokens的句子嵌入
h
∈
R
n
×
d
h\in \mathbb{R}^{n\times d}
h
∈
R
n
×
d
,该潜在关系预测的每个元素为:
h
a
v
g
=
A
v
g
p
o
o
l
(
h
)
∈
R
d
×
1
P
r
e
l
=
σ
(
W
r
h
a
v
g
+
b
r
)
h^{avg}=Avgpool(h)\in \mathbb{R}^{d\times 1}\\ P_{rel}=\sigma(\mathrm{W}_rh^{avg}+b_r)
h
a
v
g
=
A
v
g
p
o
o
l
(
h
)
∈
R
d
×
1
P
r
e
l
=
σ
(
W
r
h
a
v
g
+
b
r
)
其中
A
v
g
p
o
l
l
Avgpoll
A
v
g
p
o
l
l
是平均池化操作,
W
r
∈
R
d
×
1
\mathrm{W}_r\in \mathbb{R}^{d\times 1}
W
r
∈
R
d
×
1
是可训练权重,
σ
\sigma
σ
是sigmod函数。
本文将其潜在关系预测建模为一个多标签二进制分类任务,如果概率超过某个阈值
λ
1
\lambda _1
λ
1
,则为
对应关系分配标签1
,否则将对应的关系标签置为0;接下来
只需要
将特定于关系的序列标签
应用于预测关系
,而不要预测全部关系。
2.3.2 Relation-Specific Sequence Tagging
如图1所示,通过2.3.1节中的组件获得了
描述的潜在关系的几个特定于关系的句子表示
。然后,模型执行两个序列标注操作来分别提取主体和客体。
作者之所以将主语和宾语分开提取,是为了处理一种特殊的重叠模式
,即
主语宾语重叠(SOO)
。作者放弃了传统的LSTM-CRF网络,而采用了简单的全连接神经网络进行实体关系识别。该组件对每个token的具体操作如下:
P
i
,
j
s
u
b
=
S
o
f
t
m
a
x
(
W
s
u
b
(
h
i
+
u
j
)
+
b
s
u
b
)
P
i
,
j
o
b
j
=
S
o
f
t
m
a
x
(
W
o
b
j
(
h
i
+
u
j
)
+
b
o
b
j
)
P^{sub}_{i,j}=Softmax(W_{sub}(h_i+u_j)+b_{sub})\\ P^{obj}_{i,j}=Softmax(W_{obj}(h_i+u_j)+b_{obj})
P
i
,
j
s
u
b
=
S
o
f
t
m
a
x
(
W
s
u
b
(
h
i
+
u
j
)
+
b
s
u
b
)
P
i
,
j
o
b
j
=
S
o
f
t
m
a
x
(
W
o
b
j
(
h
i
+
u
j
)
+
b
o
b
j
)
其中
u
j
∈
R
d
×
1
u_j\in \mathbb{R}^{d\times 1}
u
j
∈
R
d
×
1
是训练嵌入矩阵
U
∈
R
d
×
n
r
U\in \mathbb{R}^{d\times n_r}
U
∈
R
d
×
n
r
中第j个关系表示,
n
r
n_r
n
r
是全部关系集合的大小,
h
i
∈
R
d
×
1
h_i\in \mathbb{R}^{d\times 1}
h
i
∈
R
d
×
1
是第i个token的编码表示,
W
s
u
b
,
W
o
b
j
∈
R
d
×
3
W_{sub},W_{obj}\in \mathbb{R}^{d\times 3}
W
s
u
b
,
W
o
b
j
∈
R
d
×
3
是训练权重
2.3.3 Global Correspondence
在序列标注之后,分别获得
关于句子关系的所有可能的主语和宾语
,然后使用全局对应矩阵来确定正确的主语和宾语对。
应该注意的是,全局对应矩阵可以与潜在关系预测同时学习,因为它独立于关系
。
具体过程如下:首先枚举所有可能的subject-object对;然后在全局矩阵中检查每对subject-object对的对应分数,如果该值超过某个阈值
λ
2
\lambda _2
λ
2
,则保留该分数,否则将其过滤掉。图1中的绿色矩阵
M
∈
R
n
×
n
M\in \mathbb{R}^{n\times n}
M
∈
R
n
×
n
即是全局对应矩阵,由n个token组成的句子。矩阵中的每个元素都与subject-object对的起始位置有1关,位置代表主客体对的置信度,值越高属于三元组的置信度就越高,矩阵中每个元素的值如下所示:
P
i
s
u
b
,
j
o
b
j
=
σ
(
W
g
[
h
i
s
u
b
;
h
j
o
b
j
]
+
b
g
)
P_{i_{sub},j_{obj}}=\sigma(W_g[h_i^{sub};h_j^{obj}]+b_g)
P
i
s
u
b
,
j
o
b
j
=
σ
(
W
g
[
h
i
s
u
b
;
h
j
o
b
j
]
+
b
g
)
其中
h
i
s
u
b
,
h
j
o
b
j
∈
R
d
×
1
h_i^{sub},h_j^{obj}\in \mathbb{R}^{d\times 1}
h
i
s
u
b
,
h
j
o
b
j
∈
R
d
×
1
是形成潜在subject-object对的输入语句中的第i个token和第j个token的编码表示,
W
g
∈
R
2
d
×
1
W_g\in \mathbb{R}^{2d\times 1}
W
g
∈
R
2
d
×
1
是可训练权重,
σ
\sigma
σ
是sigmod函数。
2.4 Training Strategy
L
r
e
l
=
−
1
n
r
∑
i
=
1
n
r
(
y
i
l
o
g
P
r
e
l
+
(
1
−
y
i
)
l
o
g
(
1
−
P
r
e
l
)
)
s
e
q
=
−
1
2
×
n
×
n
r
p
o
t
∑
t
∈
{
s
u
b
,
o
b
j
}
∑
j
=
1
n
r
p
o
t
∑
i
=
1
n
y
i
,
j
t
l
o
g
P
i
,
j
t
L
g
l
o
b
a
l
=
−
1
n
2
∑
i
=
1
n
∑
j
=
1
n
(
y
i
,
j
l
o
g
P
i
s
u
b
,
j
o
b
j
)
+
(
1
−
y
i
,
j
)
l
o
g
(
1
−
P
i
s
u
b
,
j
o
b
j
)
)
\mathcal{L_{rel}}=-\frac{1}{n_r}\sum_{i=1}^{n_r}(y_ilogP_{rel}+(1-y_i)log(1-P_{rel}))\\ \mathcal{seq}=-\frac{1}{2\times n \times n_r^{pot}}\sum_{t\in \{sub,obj\}}\sum_{j=1}^{n_r^{pot}}\sum_{i=1}^{n}y_{i,j}^tlogP_{i,j}^t\\ \mathcal{L_{global}}=-\frac{1}{n^2}\sum_{i=1}^{n}\sum_{j=1}^{n}(y_{i,j}logP_{i_{sub},j_{obj}})+(1-y_{i,j})log(1-P_{i_{sub},j_{obj}}))
L
r
e
l
=
−
n
r
1
i
=
1
∑
n
r
(
y
i
l
o
g
P
r
e
l
+
(
1
−
y
i
)
l
o
g
(
1
−
P
r
e
l
)
)
s
e
q
=
−
2
×
n
×
n
r
p
o
t
1
t
∈
{
s
u
b
,
o
b
j
}
∑
j
=
1
∑
n
r
p
o
t
i
=
1
∑
n
y
i
,
j
t
l
o
g
P
i
,
j
t
L
g
l
o
b
a
l
=
−
n
2
1
i
=
1
∑
n
j
=
1
∑
n
(
y
i
,
j
l
o
g
P
i
s
u
b
,
j
o
b
j
)
+
(
1
−
y
i
,
j
)
l
o
g
(
1
−
P
i
s
u
b
,
j
o
b
j
)
)
其中
n
r
n_r
n
r
表示关系集的大小,
n
r
p
o
t
n_r^{pot}
n
r
p
o
t
表示潜在关系子集的大小,总的损失是:
L
t
o
t
a
l
=
α
L
r
e
l
+
β
L
s
e
q
+
γ
L
g
l
o
b
a
l
\mathcal{L_{total}}=\alpha\mathcal{L_{rel}}+\beta\mathcal{L_{seq}}+\gamma\mathcal{L_{global}}
L
t
o
t
a
l
=
α
L
r
e
l
+
β
L
s
e
q
+
γ
L
g
l
o
b
a
l
3 Experiments
本文通过了
P
R
G
C
R
a
n
d
o
m
PRGC_{Random}
P
R
G
C
R
a
n
d
o
m
来验证的PRGC解码器的有效性,其中编码器BERT的所有参数都是随机初始化的。
P
R
G
C
R
a
n
d
o
m
PRGC_{Random}
P
R
G
C
R
a
n
d
o
m
的性能表明,即使不利用预先训练的BERT语言模型,本文的解码器框架仍然比其他解码器框架更具竞争力和健壮性。
模型的具体参数:使用BERT-base作为编码器、句子长度设为100,V100GPU,100个epochs
4 启示
- 先抽取潜在关系再抽取与潜在关系有关的实体最后进行subject-object的对齐会提高模型的解码速度和算力资源。
-
潜在关系预测阈值
λ1
\lambda _1
λ
1
越高,模型的性能越好 - 三个损失函数的调参是一个工作量问题。
- 如果句子长度太长最后subject-object的对齐工作消耗的空间资源会很大。