实体关系抽取-UniRel:Unified Representation and Interaction for Joint Relational Triple Extraction

328 阅读5分钟

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={x1,x2,,xN}X=\{x_1,x_2,\dots,x_N\}:有n个符号的句子
  • T=[(sl,rl,ol)]l=1LT=[(s_l,r_l,o_l)]_{l=1} ^{L}:在X句子中抽取出所有的三元组集合,LL为三元组的个数
  • E={e1,e2,,ek}E=\{e_1,e_2,\dots,e_k\}:X句子中的实体
  • R={R1,R2,,RM}R=\{R_1,R_2,\dots,R_M\}:==预定义的==关系集,有M个类型。

Unified Reperesentation

即对实体和关系进行联合编码

  1. 先将图中的关系转换为文本的形式【由一个人工的词句表达器转换】 如:/business/company/foundersfounders
  2. 将句子和关系文本组合输入到BERT模型中。==T=Concat(Ts,Tp)T=Concat(T_s,T_p)(1)==
    • TsTpT_s和T_p是输入句的输入id 和 输入的关系。
  3. 通过在embeding table中搜素相应ID,将输入转为为input embeding。==H=E[T]H=E[T](2)==
    • HR(N+M)×dhH\in\mathbb{R}^{ (N+M) \times d_h }:input embeddings(输入词向量),其中dhd_h是embedding尺寸,R(N+M)\mathbb{R}^{ (N+M) }表N+M维的实数向量集合
    • EE是BERT的向量表
  4. 编码器捕捉每个输入词的相关性。 Attention(Q,K,V)=softmax(QKTdh2)VAttention(Q,K,V) = softmax(\frac {QK^T} {\sqrt [2] {d_h} } )V 每层Transformer从上一层的输出中生成令牌向量,HiH_i是第i层的输出。==因为是将实体和关系都引入到了输入向量之中,所以编码器充分学习到了实体和关系之间丰富的内在联系==

在这一步之中,解决了实体和关系之间的异构表示问题

Unified Interaction

使用实体-实体、实体-关系之间的内在联系直接提取三元组。

Entity-Entity Interaction

实体-实体:标注那些可以形成三元组的实体对(因为存在关系才能有内在联系)。==进而(A,R,B)和(B,R,A)都可以识别出来,解决实体对重叠的问题。==

Entity-Relation Interaction

对于关系R,\existsE为主/宾语R为关系的三元组时,E-R有内在联系。==但关系是具有方向性的,所以需要不对称的定义E-R关联以区分主语、宾语==

Interaction Discrimination

由BERT的最后一层(H11H_11)输出的Q,K,可以将所有head的Q、K的值进行缩放点积计算平均值,然后直接使用激活函数得到结果

  • IR(N+M)(N+M)I\in\mathbb{R}^{ (N+M)(N+M) }是相互作用矩阵
  • TT是head的数量
  • WtQW_t^QWtKW_t^K是权重
  • I()I(·)超过阈值σ\sigma则认为有关联

解决了体-实体交互和实体-关系交互异构建模问题

因为实体-实体、实体-关系都在Interation Map中建模,所以预测空间缩小到O((N+M)2)O((N+M)^2)【对于OneRel,使用了O(N×M×N)O(N\times {M} \times {N} )


交互映射的可视化

Training and Decoding

使用二值交叉熵损失(binary cross entropy loss)进行训练 L=1(N+M)2iN+MjN+M(Ii,jlogIi,j+(1Ii,j)log(1Ii,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} ) ) 其中II^*是Interaction Map中的ground truth矩阵

  1. 首先从每个实体-关系的内在联系中识别出所有有效的主语和宾语
  2. 然后枚举所有的候选实体对(存在于实体-实体之中的)

==这种解码,可以解决EPO和SEO的情况,SEO:(Homes,Lives_In,UK),EPO:(Uk,Contains,London)==

Experiments

WebNLG的准确率超过了人类的新能。


Effect of the Unified Representation

UniRelunusedUniRel_{unused}:在微调阶段,对那些被标记成[unused]的词向量随机初始化【目的为了将词无意义化,[unused]是Bert的占位符】,可以看出准确率在下降,进而得出==有意义的信息的重要性==。由于WebNLG数据少关系多,所有性能下降的更多。

  • 在WebNLG上不同数量样本进行训练

Effect of the Unified Interaction

UniRelseparateUniRel_{separate}:以单独的方式对提取到的关系序列(E-R、R-E)这两种关系进行建模。 方式:

  1. 由同一个BERT获得句子的向量矩阵序列自然文本
  2. 然后使用两个转换层获得两个向量矩阵的Q、K
  3. 最后Interaction Map由Q、K的点生成出来 因为对实体-关系作为独立输出,因此深层的Transformer只能独立的对实体对和关系的内部联系进行建模、可以看出性能下降。下图为F1指数

Computational Efficiencyy

  • L:三元组的个数 在复杂的情况上,也超过了其他的基线模型,尤其是在SEO和EPO方面

个人心得体会

文中作者其实是使用了提示学习的方法,通过使用人工标记关系词将文章效果进行提升。