其他分享
首页 > 其他分享> > 笔记:UNIRE: A Unified Label Space for Entity Relation Extraction

笔记:UNIRE: A Unified Label Space for Entity Relation Extraction

作者:互联网

UNIRE: A Unified Label Space for Entity Relation Extraction

作者:Wang et al., ACL 2021

目录

1 简介

以往的联合抽取无论是pipeline也好还是联合训练也好包括之前的table filling方法,即便是联合处理但两个子任务的label space仍然是独立的即实体类型和实体对关系类型没有交互,本文就是为了突破这一点,使用table filling方法在训练过程中增加两个限制将实体关系标签在同一概率空间中建模,同时配合编码提出对应高效的解码方案抽取三元组。

2 方法

此部分首先说明填表方法,之后介绍两种限制使两个子任务能够交互,最后针对以上的编码结果介绍对应的解码方案。

2.1 Table Filling

使用Biaffine Model(Dozat and Manning, 2016)核心为双仿射attention机制(没看过这篇可以理解为一种编码器吧),以如BERT初步编码后的contextual token表示作为输入,先过两次MLP得到分别作为头token和尾token的token序列再喂给Biaff,得到每个token pair的得分向量。

最后,将得分向量过softmax变换得到每个token pair所对应的针对标签空间\(\mathcal{Y}\)的类别概率分布向量,其中\(\mathcal{Y} = \mathcal{Y}_e + \mathcal{Y}_r + \perp\), 分别为实体类别、关系类别以及无关系,损失函数如下公式1,其中gold label \(y_{i,j}\)依赖于具体数据集中的标注,如图1上面箭头指向的实体关系标签。

2.2 Constraints

以往的table filling方法基本差不多,就是具体实现比如编码不一样,但其目标函数都差不多类似公式1,公式1其实就可以看作是一个类似序列标注多分类任务,但它用在table filling方法上就没有考虑到结构信息,比如图1中我们实体标签都是在主对角线的正方形快,关系标签在其余部分的矩形块这种结构信息,又比如(Wang and Lu.2020)使用MD-RNN考虑table中每个cell的东西南北的cell的信息,公式1中各个标签之前都是独立的,因此考虑到这个结构化信息,加入两个限制损失函数,进而一定程度实现两个子任务之间的交互。

引入一个新的符号,\(\mathcal{P} \in \mathbb{R}^{|s| \times |s| \times |\mathcal{Y}|}\),其中s为sequence token的个数。

Symmetry

故名思意对称信息,观察图1我们可以发现对于表中主对角线附近的正方形实体标签都是对称的如David Perkins,同时对于无向关系即(e1,r,e2)(e2,r,e1)对应的关系都是相同的,那么这种情况下两个矩形关系标签也是沿着主对角线对称的如(“his”,“wife”,PER-SOC )(“wife”,“his”,PER-SOC )或(“David Perkins”,“wife”,PER-SOC)(“wife”,“David Perkins”,PER-SOC)。我们将\(\mathcal{Y}\)分成两个部分即对称的和不对称的,因此对于属于\(\mathcal{Y}_{sym}\)的标签,矩阵\(\mathcal{P}_{:.:.t}\)应该是对称的,对于此tag-level的限制,我们通过symetric loss的方式实现。

Implication

如果存在某个关系则此关系所在的三元组的两个实体也必然是存在的,反过来,即便存在两个实体,但之间不一定存在关系,那么如果将实体和关系标签都放在一块判断当前token pair为那个标签的话,对于一个三元组来说其为关系标签的概率必然要小于等于实体标签概率,这是显而易见的比较合理这个推论,所以本文正好都是在一个标签空间\(\mathcal{Y}\)里,那么对于这点实现就会容易些,对应到本文的table中如何将这个限制加上?即在训练过程中迫使对角线上的针对\(\mathcal{Y}_e\)标签空间的标签的最大概率不低于当前cell同行同列其他位置针对\(\mathcal{Y}_r\)标签空间的标签的最大概率,对应的损失函数如下。

最终的损失函数即为\(\mathcal{L=L_{entry}+L_{sym}+L_{imp}}\).

2.3 Decoding

讲过以上步骤table filling后我们得到的其实就是一个三维向量\(\mathcal{P} \in \mathbb{R}^{|s| \times |s| \times |\mathcal{Y}|}\)就可以理解为一个table,表中每个单元格都是一个维度为\(\mathcal{Y}\)的向量维度即总类别数,解码的目的就是根据这个表抽取三元组输出,如下图3为解码的整个流程,大致分为三步:Span Decoding、Entity Type Decoding、Relation Type Decoding。

Span Decoding

第一步先确定实体的span,根据图1我们可以看到其实对于同一个实体来说它所对应的行或列都是相同的,如”David Perkins”实体第一行和第二行都是一样的,同理第一列和第二列也是。那么我们就可以据此确定实体span边界即如果两行(列)不同就是一个span的分界点,具体实现就是计算两行(列)这两个高维向量之间的欧氏距离,大于某个阈值(超参)即是做两行(列)不同。

Entity Type Decoding

经过span Decoding后我们就要对每个实体判断它的类型,给定一个span \((i,j)\)其中i、j分别表示entity span的头尾token的位置,如图三\((x_1,x_2)\)对应)(David Perkins)实体。通过对此正方块区域的向量取均值后概率最大的类别即为尸体类别,具体根据\(\hat{t}=\mathsf{arg \space max}_{t \in \mathcal{Y}_e \cup\{\bot\}} \mathsf{Avg}(\mathcal{P}_{i:j,i:j,t})\)判断当前实体为类别\(\hat{t}\),其中Avg平均操作,是将如\((x_1,x_2)\)正方形块内的所有向量按类别维度求和取均值,最后得到的是一个维度为\(\mathcal{Y}\)的一维向量,再取此向量\(\mathcal{Y}_e\)类别中概率最大的作为当前实体类别。

Relation Type Decoding

类似尸体类别解码,关系类别解码给定两个span的位置\((i,j)(m,n)\)如图3中\(x_3\)第一个矩形可对应图1中(David Perkins)(wife)两个实体的关系,类似实体类别的操作判断关系类别,\(\hat{l}=\mathsf{arg\space max}_{l\in \mathcal{Y}_r\cup \{\bot\}}\mathsf{Avg}(\mathcal{P}_{i:j,m:n,l})\)取矩形区域所有向量均值得到一维向量,取最大概率的类别作为当前几个cell的标签。

3 实验

数据集ACE04、ACE05、SciERC,两个子任务的性能对比baseline如PURE差不多,有的甚至达到sota且速度更快了因为参数要少很多相比PURE。

4 总结

这两个限制考虑的角度说明作者对table filling理解的挺深的,对应的解码方案设计的挺不错的,相比其他table filling解码方案多了一步span解码再据此解码实体和关系设计的挺好的。

参考

[1] Yijun Wang∗1, 2, Changzhi Sun∗4, Yuanbin Wu3, Hao Zhou4, Lei Li4, and Junchi Yan†1, 2.UNIRE: A Unified Label Space for Entity Relation Extraction.ACL 2021.

标签:Unified,Space,标签,实体,Entity,table,类别,mathcal,向量
来源: https://www.cnblogs.com/n-ooo/p/16328777.html