编辑 | NewBeeNLP公众号

2020实体关系联合抽取一片红海,各种SOTA方法你方唱罢我方登场,在一些数据集上也是不断刷出新高度,为信息抽取领域带来了新思路,推动了信息抽取领域的发展。本文梳理了实体关系联合抽取取得SOTA的三种方法,以做总结。

先总体对三种方法做个比较:*表示Exact Matching

以下将对上面提到的三篇文章依次进行详细解读。

CasRel

2019年的时候看到苏剑林在paperweekly上的一篇文章er图转化为关系模型,阐述了其在参加百度SPO竞赛中所使用的方法,这篇论文可以认为是之前所提方法的延伸。

论文提出级联二分标记框架CasRel方法(a novel cascade binary tagging framework),与以往把关系看着离散标签不同,这里把关系看着是一个函数fr(sub)->obj,头实体sub是自变量,尾实体obj是因变量,先抽取出头实体,然后结合各关系类型,进一步抽取出对应的尾实体。该方法可以解决实体关系中的EPO/SEO实体重叠问题。结合模型框架图更好理解:

CasRel模型可以分两部分理解:

实验结果

在NYT和WebNLG两个数据集上达到了SOTA,如下图所示,即使不使用Bert进行编码(使用LSTM)效果依然是十分显著的。实验同时对比了句子中不同三元组数目下的结果,以及Normal、EPO和SEO三种情况下的结果,实验显示CasRel方法在多三元组、EPO和SEO情况下效果提升更明显。

从er模型关系向关系模型转换_er图转化为关系模型_为某仓库的管理设计一个er模型

总结:

级联两个任务,两个任务独立解码,共享编码,这种模型架构也可以算到多任务学习的范畴,模型先抽取出sub实体,再在各个relation下去抽sub实体对应的obj实体,把relation看成函数,模型整体架构很清晰,特别是在relation纬度上做堆叠,打开了关系抽取的新思路。

TPLinker

这篇文章提出TPLinker方法(Token Pair Linking)能够end2end对实体及实体关系三元组进行联合抽取,可解决实体关系抽取中的SEO、EPO、实体嵌套等问题。其设计了一种很巧妙的数据标注方式,被称为Handshaking tagging scheme,这种标注统一了实体及实体关系的信息,同时避免了以往其他方法中普遍存在的标签曝光偏差问题(exposure bias)(训练阶段标签使用ground trueer图转化为关系模型,推断阶段标签使用predict tag)。

Handshaking tagging scheme: 个人感觉文中所给图示(下图)其实不太好理解,从具体例子出发会更方便理解的。

为长度为n的句子,构造nxn的矩阵M,行、列分别对应着句子中的token,针对句子中的实体及实体关系设计三种标注方式:

注意:EH-to-ET只会存在M的上三角,而SH-to-OH和ST-to-OT是上下三角都会存在的,为了节省存储资源,同时减少目标tag的稀疏性(还是很稀疏),将M的下三角映射到上三角上,值设置为2。(考虑上三角映射的位置上会不会不为0呢,是会存在这种可能的,但现实中概率很低,如triple (ABC, R, CDE)和(CDE, R, BC))

上面将三元组中的实体信息映射到矩阵上三角,然后将其展平为标记序列,可以得到序列的长度为n*(n+1)/2。如果有N中关系,则经过Handshaking tagging后,得到2N+1个标记序列。

解码方式:

先不用去看下面所给的解码图示,考虑上面讲到的Handshaking tagging作为模型的预测目标,实际上是2N+1个n*n的矩阵,矩阵的元素为句子各token对的关系,其值为0、1、2。其中一个矩阵标记了实体EH-to-ET,N个矩阵标记了SH-to-OH,N个矩阵标记了ST-to-OT。文章给出了一个解码的算法流程,不再贴出,简述过程如下:

相关公式:

模型编码可以是LSTM也可以是Bert,Token Pair表示为公式(1),Handshaking Tagger可以看着是多分类,公式为(2),损失函数定义为公式(4):

从er模型关系向关系模型转换_er图转化为关系模型_为某仓库的管理设计一个er模型

实验结果:

同样在NYT和WebNLG两个数据集上进行实验,延续CasRel的实验结果,TPLinker方法达到了新的SOTA,同时通过进一步细化实验分析得到以下结论:

为某仓库的管理设计一个er模型_从er模型关系向关系模型转换_er图转化为关系模型

总结:

SPN4RE

这篇文章出至中科院刘康老师团队,是目前NYT和WebNLG数据集上的最新SOTA。论文将实体关系联合抽取归纳为三种范式,分别为:

实际上,第一种也可以看着是多任务学习,第二种在TPLinker方法中已经比较好地解决了实体重叠和嵌套问题,论文认为所提出的SPN4RE属于seq2seq范畴,通读下来笔者窃以为也可将SPN4RE归为实体关系联合抽取中的多任务学习。

论文的初衷是在以往使用seq2seq解决实体关系三元组时,面临三元组生成顺序对结果产生影响,所以从生成顺序无关三元组、并行生成三元组集合出发提出新的模型SPN。

SPN(set prediction networks)包含了三个部分:

NAT结构解码:

输入m表示要解码的triple个数,N个transformer层,每层先是各triple间做self-attention,然后是和sentence的编码做inter-attention,输出解码向量为Hd,其为m*d纬度

er图转化为关系模型_为某仓库的管理设计一个er模型_从er模型关系向关系模型转换

损失函数定义:对最优匹配得到的m个三元组对计算loss,注意,如果「关系」为null,则关系中的头尾实体不参与loss计算,Loss函数定义如下:

er图转化为关系模型_从er模型关系向关系模型转换_为某仓库的管理设计一个er模型

实验结果:

在NYT和WebNLG数据集上进行实验,结果如下图,提出并回答了以下四个问题:

为某仓库的管理设计一个er模型_从er模型关系向关系模型转换_er图转化为关系模型

er图转化为关系模型_从er模型关系向关系模型转换_为某仓库的管理设计一个er模型

总结:

以上对实体关系联合抽取三篇SOTA文章进行了分析解读,在实际的工作当中,我们也已经将CasRel方法进行落地实践,并取得了一定的效果。在实体抽取任务中,也可以借鉴TPLinker的标记方法,解决嵌套实体问题。SPN作为最新的SOTA,其所涉及的NAT解码和在集合纬度上的Loss计算也值得借鉴参考。

一起交流

想和你一起学习进步!『NewBeeNLP』目前已经建立了多个不同方向交流群(机器学习 / 深度学习 / 自然语言处理 / 搜索推荐 / 面试交流 /等),名额有限,赶紧添加下方微信加入一起讨论交流吧!(注意一定要备注信息才能通过)

限时特惠:本站每日持续更新海量设计资源,一年会员只需29.9元,全站资源免费下载
站长微信:ziyuanshu688