实体关系抽取是NLP领域的一个基础任务,在文本挖掘、信息检索、智能问答等领域广泛存在、非常重要。实体关系抽取是指在实体识别的基础上从非结构化文本中抽取出预先定义的实体关系。实体对的关系可被形式化描述为关系三元组,其中s为主体(subject),o为客体(object),r属于目标关系集R{r1,r2,r3…}。关系抽取的任务是从自然语言文本中抽取出关系三元组,从而提取文本信息。
实体关系抽取按模型结构主要可划分为管道模型(Pipeline)和联合抽取模型(Joint entity and relation extraction)。管道模型实际上是将实体关系抽取任务拆分为两个子任务,先进行实体识别,再在给定实体和句子的情况下进行完成关系分类任务。Pipeline模型的好处是易于实现,且具有比较高的灵活性,但也存在一些缺点:1.误差积累:实体抽取的错误会进一步影响关系抽取的结果;2.实体冗余:进行关系分类时需要对预先抽取出来的实体两两匹配,在一个句子具有多个实体对时,需要构造多个
联合抽取(Joint entity and relation extraction)是将实体识别与关系抽取任务进行联合建模,同时完成实体和关系的抽取。相对于管道模型,联合抽取可以利用两个任务中的潜在联系,一定程度上缓解误差积累的缺点。近年来实体关系抽取的研究主要集中于联合模型,本文后续的内容也将围绕联合抽取相关模型展开。联合抽取模型总体上又可以分为两大类:基于参数共享的联合模型和基于联合解码的联合模型。
在基于参数共享的联合抽取中,实体关系三元组不是同时被抽取出来,而是分成多步完成,存在先抽取实体再关系分类,先抽取主体再抽取关系及客体,或依次抽取关系、主体和客体等不同的抽取顺序。模型整体的loss是各个过程的loss之和,在反向传播参数更新时会更新所有子过程的参数,而pipeline的实体识别和关系分类之间则没有联系。
基于联合解码的联合抽取可以同时考虑一个句子中所有实体、实体与关系、关系与关系之间的交互,实体和关系可被同时提取出来,是更为直接的“联合”。由于关系抽取中存在实体重叠关系重叠等复杂情况,同时兼顾各种情况实现联合解码具有一定难度,不过2020年Tplinker模型[1]提出的标注方案就巧妙的解决了实体重叠和关系重叠的问题。
序列标注的解码方式通常使用CRF作为解码器,使用BIO或BIOES的标签体系进行标记,每个token只能对应一个标签。解码层的任务是确定每个token对应的tag,以CRF为解码器可对标签进行约束,获得优于Softmax的效果。
序列标注在命名实体识别任务中较为常用,但由于一个token只能对应一个标签,在关系抽取任务中难以应对实体重叠、关系重叠等特殊场景,因此经常需要设计复杂的联合标签才能完成关系三元组抽取,且复杂标签的设计并不能很好的提升关系抽取的效果。
ACL 2017的杰出论文《Joint Extraction of Entities and Relations Based on a Novel Tagging Scheme》一文[2]中就将实体和关系的联合抽取任务转化为序列标注任务。与抽取结果无关的词用“O”标记,抽取结果相关的词使用“BIES”-关系类型-角色信息表示。BIES分别表示Begin,Inside,End,Single;关系类型从预先设定的关系类型集中获得;角色信息中的“1”,“2”分别表示三元组中的subject和object。这篇论文就未能解决关系重叠的问题,当一个实体或一对实体同时存在多种关系时,单纯的序列标注便不再有效。
指针网络常用于机器阅读理解任务(MRC),用于抽取答案的开始位置和结束位置。由于序列标注不能解决实体重叠的问题,有人提出用指针网络来表示实体和关系。图中的指针网络采用了两个标签序列,一个表示实体的开始位置,一个表示实体的结束位置。在解码时采用Sigmoid代替Softmax,预测每一个token对应的标签。这种解码方式较好地解决了实体重叠问题,图中的重叠实体“New York”和“New York City”可以作为两个实体被提取出来。不过由于通常情况下目标实体词比非目标词要少得多,会出现标签1和标签0类别不均衡的情况,需要进行一些权重调整的工作。
CasRel模型[3]就是基于指针网络进行解码的,模型使用了多个指针标签序列分别表示不同关系对应的object起始位置,解决了关系重叠的问题,模型细节将在后文进行介绍。
另一种常见的解码方式为片段(span)分类,片段分类首先需要找出所有的片段组合,若一段文本长度为T,则对应的span共有T(T+1)/2 个。然后对一句话中的所有span进行表征和分类,对非实体对过滤后计算每一对实体之间的关系。如果文本过长,会产生大量的负样本,因此在实际中需要限制span长度并合理削减负样本。
2020年的SpERT模型[4]和2021年陈丹琦新作《A Frustratingly Easy Approach for Entity and Relation Extraction》[5]都是基于片段分类的实体关系抽取模型。
ACL2019 的Neural Architectures for Nested NER through Linearization为解决实体重叠问题,使用了Seq2seq方法进行实体识别[6],encoder部分用bi-lstm进行编码,decoder采用hard attention方式one-by-one的预测所有可能的label,直到结果输出(结束标志),然后进行到下一个token进行解码。
中国科学院大学在ACL2018上提出了一种基于复制机制和seq2seq框架的实体关系联合抽取模型:CopyRE 模型[7]。模型的decoder由三个步骤组成:(1)生成三元组的关系(2)从原中复制第一个实体subject (3)从原句中复制第二个实体object 不断重复这个过程,直到生成了NA三元组,“NA”类似于文本生成任务中的“eos”符号,表示停止的含义。如图所示,ot表示在t个时间步解码器的输出,当t%3=1时(即t = 1,4,7…) ,ot用来预测一个关系,也代表正在按上述步骤开始解析一个新的三元组;当t%3=2时(即t = 2,5,8…) ,ot用来从原句中复制第一个实体s;当t%3=0时(即t = 3,6,9…) ,ot用来从原句中复制第二个实体o。
序列标注 | 指针网络 | 片段分类 | Seq2seq | |
---|---|---|---|---|
优点 | 使用简单,准确率高 | 能够在解决实体重叠问题的同时保证较高的准确率 | 可以直接得到实体,不需要从标签到实体的转换过程 | 解码过程可以直接获得实体和关系,可解决实体覆盖的问题,也不必构造复杂的标签体系 |
缺点 | 无法解决实体重叠问题 | 1.容易遇到标签不平衡问题。2.在使用解码层得到指针网络的多个标签序列之后还需要专门的程序根据指针网络确定实体 | 文本过长时会大大增加计算量 | 存在曝光偏差 |
[1] Wang Y , Yu B , Zhang Y , et al. TPLinker: Single-stage Joint Extraction of Entities and Relations Through Token Pair Linking[J]. 2020.
[2] Zheng S , F Wang, Bao H , et al. Joint Extraction of Entities and Relations Based on a Novel Tagging Scheme[C]// Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2017.
[3] Wei Z , Su J , Wang Y , et al. A Novel Cascade Binary Tagging Framework for Relational Triple Extraction[C]// Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. 2020.
[4] Eberts M , Ulges A . Span-based Joint Entity and Relation Extraction with Transformer Pre-training[J]. arXiv, 2019.
[5] Zhong Z , Chen D . A Frustratingly Easy Approach for Joint Entity and Relation Extraction[J]. 2020.
[6] J Straková, Straka M , J Haji. Neural Architectures for Nested NER through Linearization[C]// 2019.
[7] Zeng X , Zeng D , He S , et al. Extracting Relational Facts by an End-to-End Neural Model with Copy Mechanism[C]// Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2018.