2022.11.16|EMNLP 2022|中国科学技术大学 |原文链接|源码链接
UniRel: Unified Representation and Interaction for Joint Relational Triple Extraction
- 解决实体和关系异构表示问题
- 解决实体-实体交互和实体-关系交互异构建模问题
- 通过一个串联的自然语言序列联合编码统一实体和关系的表示,同时使用一个交互映射系统来统一交互
过去(如CasRel、PRGC)都在关注于捕捉实体的上下文信息,但是忽略了同样重要的关系语义。文中例子:由is_capital_of可以得出,主语应该是城市,宾语应该是国家。上图的这个三元组中,也可以从【longdon-is_capital_of】和【Uk-is_capital_of】得出Uk和london是相关的。
我认为作者想表达的意思是过去把实体和关系分开来看了,但是
实际上实体和关系本质上是有关联
的,可以通过实体推断关系,通过关系推断实体,所以只捕捉实体的上下文是不够的
。
由此文章提出统一表示和交互的UniRel模型来解决上述问题。
- 将
关系和实体都编码成序列
来构造统一的表示,即联合编码
-
- 基于语义,首先将候选关系转换成文本,与输入句子构成一个连续的序列
-
- 使用BERT作为PLM预训练模型编码,并捕捉他们的信息相关性
- 通过Transformer的自注意力机制,在单个交互映射中对
实体-实体
、实体-关系
建模 - 基于WebNLG和NYT创建了一个
新的数据集
UniRel方法:
Problem Formulation
给出X,识别出T
- X = { x 1 , x 2 , … , x N } X=\{x_1,x_2,\dots,x_N\} X={x1,x2,…,xN}:有n个符号的句子
- T = [ ( s l , r l , o l ) ] l = 1 L T=[(s_l,r_l,o_l)]_{l=1} ^{L} T=[(sl,rl,ol)]l=1L:在X句子中抽取出所有的三元组集合, L L L为三元组的个数
- E = { e 1 , e 2 , … , e k } E=\{e_1,e_2,\dots,e_k\} E={e1,e2,…,ek}:X句子中的实体
- R = { R 1 , R 2 , … , R M } R=\{R_1,R_2,\dots,R_M\} R={R1,R2,…,RM}:预定义的关系集,有M个类型。
Unified Reperesentation
即对实体和关系进行联合编码
- 先将图中的关系转换为文本的形式【由一个人工的词句表达器转换】
如:/business/company/founders
的founders
。 - 将句子和关系文本组合输入到BERT模型中。
T
=
C
o
n
c
a
t
(
T
s
,
T
p
)
T=Concat(T_s,T_p)
T=Concat(Ts,Tp)(1)
- T s 和 T p T_s和T_p Ts和Tp是输入句的输入id 和 输入的关系。
- 通过在
embeding table
中搜素相应ID
,将输入转为为input embeding
。 H = E [ T ] H=E[T] H=E[T](2)- H ∈ R ( N + M ) × d h H\in\mathbb{R}^{ (N+M) \times d_h } H∈R(N+M)×dh:input embeddings(输入词向量),其中 d h d_h dh是embedding尺寸, R ( N + M ) \mathbb{R}^{ (N+M) } R(N+M)表N+M维的实数向量集合
- E E E是BERT的向量表
- 编码器捕捉每个输入词的相关性。
A t t e n t i o n ( Q , K , V ) = s o f t m a x ( Q K T d h 2 ) V Attention(Q,K,V) = softmax(\frac {QK^T} {\sqrt [2] {d_h} } )V Attention(Q,K,V)=softmax(2dhQKT)V
每层Transformer从上一层的输出中生成令牌向量, H i H_i Hi是第i层的输出。因为是将实体和关系都引入到了输入向量之中,所以编码器充分学习到了实体和关系之间丰富的内在联系
在这一步之中,解决了实体和关系之间的异构表示问题
Unified Interaction
使用实体-实体、实体-关系之间的内在联系直接提取三元组。
Entity-Entity Interaction
实体-实体:标注那些可以形成三元组的实体对(因为存在关系才能有内在联系)。进而(A,R,B)和(B,R,A)都可以识别出来,解决实体对重叠的问题。
Entity-Relation Interaction
对于关系R,
∃
\exists
∃E为主/宾语R为关系的三元组时,E-R有内在联系。但关系是具有方向性的,所以需要不对称的定义E-R关联以区分主语、宾语
Interaction Discrimination
由BERT的最后一层( H 1 1 H_11 H11)输出的Q,K,可以将所有head的Q、K的值计算平均值,然后直接使用激活函数得到结果
- I ∈ R ( N + M ) ( N + M ) I\in\mathbb{R}^{ (N+M)(N+M) } I∈R(N+M)(N+M)是相互作用矩阵
- T T T是head的数量
- W t Q W_t^Q WtQ和 W t K W_t^K WtK是权重
- 当
I
(
⋅
)
I(·)
I(⋅)超过阈值
σ
\sigma
σ则认为有关联
解决了体-实体交互和实体-关系交互异构建模问题
因为实体-实体、实体-关系都在Interation Map中建模,所以预测空间缩小到 O ( ( N + M ) 2 ) O((N+M)^2) O((N+M)2)【对于OneRel,使用了 O ( N × M × N ) O(N\times {M} \times {N} ) O(N×M×N)】
交互映射的可视化
Training and Decoding
使用二值交叉熵损失(binary cross entropy loss)进行训练
L
=
−
1
(
N
+
M
)
2
∑
i
N
+
M
∑
j
N
+
M
(
I
i
,
j
∗
l
o
g
I
i
,
j
+
(
1
−
I
i
,
j
∗
)
l
o
g
(
1
−
I
i
,
j
)
)
L=-\frac{1} { (N+M)^2 } \sum_{i} ^{N+M} \sum_{j}^ {N+M} (I_{i,j}^* logI_{i,j} + (1-I_{i,j}^*) log(1-I_{i,j} ) )
L=−(N+M)21i∑N+Mj∑N+M(Ii,j∗logIi,j+(1−Ii,j∗)log(1−Ii,j))
其中
I
∗
I^*
I∗是Interaction Map中的ground truth矩阵
- 首先从每个
实体-关系
的内在联系中识别出
所有有效的主语和宾语
- 然后枚举所有的候选实体对(存在于实体-实体之中的)
这种解码,可以解决EPO和SEO的情况,SEO:(Homes,Lives_In,UK),EPO:(Uk,Contains,London)
Experiments
WebNLG的准确率超过了人类的新能。
Effect of the Unified Representation
U n i R e l u n u s e d UniRel_{unused} UniRelunused:在微调阶段,对那些被标记成[unused]的词向量随机初始化【目的为了将词无意义化,[unused]是Bert的占位符】,可以看出准确率在下降,进而得出有意义的信息的重要性。由于WebNLG数据少关系多,所有性能下降的更多。
- 在WebNLG上不同数量样本进行训练
Effect of the Unified Interaction
U
n
i
R
e
l
s
e
p
a
r
a
t
e
UniRel_{separate}
UniRelseparate:以单独
的方式对提取到的关系序列(E-R、R-E)这两种关系进行建模。
方式:
- 由同一个BERT获得
句子的向量矩阵序列
和自然文本
。 - 然后使用两个转换层获得两个向量矩阵的
Q、K
。 - 最后Interaction Map由Q、K的点生成出来
因为对实体-关系作为独立输出,因此深层的Transformer只能独立的对实体对和关系的内部联系进行建模、可以看出性能下降。下图为F1指数
Computational Efficiencyy
- L:三元组的个数
在复杂的情况上,也超过了其他的基线模型,尤其是在SEO和EPO方面
个人心得体会
文中作者其实是使用了提示学习的方法,通过使用人工标记关系词将文章效果进行提升。