TPLinker: Single-stage Joint Extraction of Entities and Relations Through Token Pair Linking 论文解读

TPLinker: Single-stage Joint Extraction of Entities and Relations Through Token Pair Linking

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HejP3BFz-1670035222260)(TPLinker Single-stage Joint Extraction of Entities and Relations Through Token Pair Linking.assets/image-20221202152726268.png)]

paper:TPLinker: Single-stage Joint Extraction of Entities and Relations Through Token Pair Linking (aclanthology.org)

code:131250208/TPlinker-joint-extraction (github.com)

期刊/会议:COLING 2020

摘要

近年来,从非结构化文本中提取实体和关系引起了越来越多的关注,但由于识别共享实体的重叠关系存在内在困难,因此仍然具有挑战性。先前的研究表明,联合学习可以显著提高性能。然而,它们通常涉及连续的相互关联的步骤,并存在暴露偏差的问题。在训练时,他们根据实际情况进行预测,而在推断时则必须从头开始提取。这种差异会导致误差累积。为了缓解这一问题,我们在本文中提出了一个单阶段联合提取模型,即TPLinker,它能够发现共享一个或两个实体的重叠关系,同时不受暴露偏差的影响。TPLinker将联合提取表述为token对链接问题(token pair linking problem),并引入了一种新的握手标记方案(handshaking tagging scheme),该方案在每个关系类型下对齐实体对的边界token。实验结果表明,TPLinker在重叠和多关系提取方面表现得明显更好,并在两个公共数据集上实现了最先进的性能。

1、简介

从非结构化文本中提取实体和关系是自动知识库构建的重要步骤。传统的流水线方法首先提取实体提及,然后对候选实体对之间的关系类型进行分类。然而,由于实体检测和关系分类完全分离,这些模型忽略了两个子任务之间的交互和相关性,容易出现级联错误。

在过去几年中,人们对建立联合模型以同时提取实体和关系的研究兴趣越来越大。最近的研究表明,联合学习方法可以有效地整合实体和关系的信息,从而在两个子任务中实现更好的性能。Zheng等人提出了一种统一的标记方案,将联合提取转换为序列标记问题,但缺乏识别重叠关系的优雅性:一个实体可能参与同一文本中的多个关系(图1)。

在这里插入图片描述

处理EntityPairOverlap(EPO)和SingleEntiyOverlap(SEO)案例的大多数现有模型可以分为两类:基于解码器的和基于分解的。基于解码器的模型使用编码器-解码器架构,其中解码器像机器翻译模型一样一次提取一个单词或一个元组。基于分解的模型首先区分可能涉及目标关系的所有候选主体实体,然后为每个提取的主体标记相应的对象实体和关系。尽管这些方法取得了合理的性能,但它们都面临着同样的问题:暴露偏差。对于基于解码器的方法,在训练时,真实标注的token被用作上下文,而在推断时,整个序列由结果模型自己生成,因此由模型生成的先前token被作为上下文输入。因此,训练和推断时的预测token来自不同的分布,即来自数据分布,而不是模型分布。类似地,基于分解的方法使用正确头实体(gold subject entity)作为特定输入,以指导模型在训练过程中提取尾实体(object entity)和关系,而在推断时,输入头实体由训练的模型给出,导致训练和推断之间的差距。

在本文中,我们提出了一种用于实体和重叠关系联合提取的单阶段方法,即TPLinker,它弥补了训练和推理之间的差距。TPLinker将联合提取任务转换为令牌对链接问题。给定一个句子,两个位置 p 1 , p 2 p_1, p_2 p1,p2和一个特定关系 r r r,TPLinker将回答三个 是/否 伪问题: p 1 p_1 p1 p 2 p_2 p2是否分别是同一实体的起始位置和结束位置?”,“ p 1 p_1 p1 p 2 p_2 p2是否分别是具有 r r r关系的两个实体的起始位置?”以及“ p 1 p_1 p1 p 2 p_2 p2是否分别是具有 r r r关系的两个实体的结束位置?”为此,我们设计了一个握手标记方案,为每个关系标注三个token链接矩阵,以回答上述三个问题。然后,这些链接矩阵被用于解码不同的标记结果,我们可以从中提取所有实体及其重叠关系。直观地说,TPLinker不包含任何相关性提取步骤,因此避免了训练时对真实标注情况的依赖,实现了训练和测试的一致性。

我们在两个公共数据集上评估了我们的方法:NYT和WebNLG。实验结果表明,TPLinker优于先前的工作,并在基准数据集上实现了最先进的结果。进一步的分析表明,TPLinker显著提高了Normal、SEO、EPO和多关系提取的性能。

2、相关工作

研究人员提出了几种抽取实体和关系的方法。传统的流水线方法忽略了实体抽取和关系预测的相关性。为了解决这个问题,已经提出了几个联合模型。基于特征的工作需要复杂的特征工程过程,并且严重依赖NLP工具进行特征提取。最近的研究中对联合关系提取的神经模型进行了研究,它们显示了有前景的效果,但完全放弃了重叠关系。为了解决这个问题,提出了多种用于实体和重叠关系的联合提取的神经网络。Dai等人通过使用位置感知注意机制标记一个句子 n n n次来提取三元组。Tan等人通过翻译机制排名解决了这一问题。Takanobu等人首先确定了关系,然后通过强化学习识别了实体对。Li等人将联合提取作为多回合QA问题,并通过关系特定模板生成问题。Sun等人构建了一个实体关系二分图,以对实体类型和关系类型进行推理。Yu等人提出了一种基于新分解策略的统一序列标注框架。然而,这些方法只能识别句子中的SEO关系,无法提取EPO三元组。

为了处理EPO案例,Zeng等人提出了一种seq2seq模型来解码重叠关系,但无法生成多个单词实体。作为改进,Nayak和Ng采用了编码器-解码器模型,其中解码器像机器翻译模型一样一次提取一个单词。此外,Wei等人提出了一种新颖的级联二分类标注框架,该框架首先识别句子中的所有可能头实体,然后识别每个头实体的所有可能关系和尾实体。实际上,这些方法将重叠关系的提取分解为几个内部依赖步骤,因为解码器需要递归解码过程,级联标记必须提前识别头实体。这种分解使任务易于执行,但不可避免地会导致暴露偏差问题,从而导致误差累积。在训练时,他们用正确标注的token或头实体预测三元组,而在推断时,他们必须依赖预测结果。在本文中,我们提出了一种统一的标记方法来提取实体和重叠关系。与以前的方法不同,我们的模型在一个阶段执行,并在训练和推理之间没有间隙地生成三元组。

3、方法

在本节中,我们首先介绍握手标记方案及其解码算法。然后详细介绍了TPLinker模型结构。

3.1 Handshaking Tagging Scheme

3.1.1 Tagging

根据三元组 ( s , r , o ) (s,r,o) (s,r,o)可以通过对齐以关系 r r r为条件的头实体 s s s和尾实体 o o o的边界标记来确定的观点,我们通过使用链接标签标记标记对来实现阶段联合提取。

如图2左侧面板所示,给定一个句子,我们枚举所有可能的token-pair,并使用矩阵标记token链接。形式上,三种类型的链接定义如下:1)实体头到实体尾(EH-to-ET)。矩阵中的紫色标记表示两个对应位置分别是实体的开始和结束标记。例如,“New York City”“De Blasio”是句子中的两个实体,因此,标记对(“New”,“City”)(“De”,“Blasio)被指定为紫色标记1。2) 头实体头部到尾实体头部(SH-to-OH)。红色标记表示两个位置分别是成对头实体和尾实体的开始标记。例如,“New York City”“De Blasio”之间存在“mayor 市长”关系,因此标记对(“New”和“De”)被分配了红色标记1。3)头实体尾到尾实体尾(ST-to-OT)。蓝色标记与红色标记具有相似的逻辑,这意味着两个位置分别是成对主体实体和对象实体的结束标记。例如,标记对(“City”、“Blasio”)分配了蓝色标记1。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UDyyUvRe-1670035222265)(TPLinker Single-stage Joint Extraction of Entities and Relations Through Token Pair Linking.assets/image-20221202160329173.png)]

从图2的左侧面板可以看到,矩阵非常稀疏,尤其是下三角区域。因为实体尾部不可能出现在实体头部之前,所以下三角区域中的标签都是零,这是对内存的巨大浪费。然而,对象实体可能出现在相应的主体实体之前,这意味着直接删除下三角区域是不合理的。在这样做之前,我们将下三角区域中的所有标签1映射到上三角区域的标签2,然后删除下三角区域。这样做之后,它就不再是一个完整的矩阵了,在实际操作中,为了方便张量计算,我们将其余的项展平为一个序列(图3中的橙色序列),并使用映射来记住原始矩阵中的位置。该序列类似于所有token的握手,这就是我们将此方案称为握手标记方案的原因。

图2左侧面板中的案例表明,这种标记方案自然可以解决SingleEntiyOverlap问题和设计中的嵌套实体问题。在这种情况下,“纽约市”和“纽约”是嵌套的,并共享同一个实体“De Blasio”,这对于以前的许多方法来说都是一个具有挑战性的问题。然而,通过这种标记方案,三个实体和两个三元组都可以很容易地解码(见第3.1.2节)。然而,此方案无法处理EntityPairOverlap问题,因为不同的关系不能在同一矩阵中标记在一起,用于同一实体对。为了解决这个问题,我们对每个关系类型执行相同的矩阵标记工作。

注意到EH-to-ET标记由所有关系共享,因为它专注于一般实体提取,而不考虑特定的关系类型。总体而言,如图3所示,联合提取任务被分解为 2 N + 1 2N+1 2N+1个序列标注子任务,其中 N N N表示预定义关系类型的数量,每个子任务构建长度为 n 2 + n 2 \frac{n^2+n}{2} 2n2+n的标记序列,其中 N N N是输入句子的长度。我们的标记方案似乎效率极低,因为标记序列的长度随着句子长度的增加而呈平方增加。幸运的是,我们的实验表明,通过在编码器顶部使用轻量级标记模型,TPLinker可以实现与最先进的模型相比具有竞争力的运行效率,因为编码器由所有标记者共享(见图3),只需一次生成 n n n个token表示。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lAYWJQ79-1670035222279)(TPLinker Single-stage Joint Extraction of Entities and Relations Through Token Pair Linking.assets/image-20221203094058826.png)]

3.1.2 Decoding

在图3的情况下,(“New”,“York”)(“New”,“City”)(“De”,“Blasio”)在EH-to-ET序列中标记为1,这意味着“New York”“New York City”“De Blasio”是三个实体。对于关系“major”(“New”,“De”)在SH到OH序列中标记为1,这意味着以“New”开头的subject的major关系是以“De”开头的object。(“City”,“Blasio”)在ST到OT序列中标记为1,这意味着subject和object分别是以“City”“Blasio”结尾的实体。根据这三个序列所代表的信息,可以解码一个三元组:(“New York City”,mayor,“De Blasio”)

同样的逻辑适用于其他关系,但请注意,标记2与标记1具有相反的含义,标记1表示标记之间的反向链接。例如,(“York”,“Blasio”)在关系“born in”的ST-to-OT序列中标记为2,这意味着“York”“Blasio”分别是成对尾实体和头实体的尾部。结合其他两个序列,解码的三元组应该是(“De Blasio”,born in,“New York”)

形式上,解码过程总结在算法1中。对于每个关系,在开始时,我们从EH-to-ET序列中提取所有实体跨度,并通过字典 D D D将每个头部位置映射到从该位置开始的相应实体,我们首先从ST-to-OT序列解码(头实体尾部位置、尾实体尾部位置)元组并将它们添加到集合 E E E中,然后从SH到OH序列解码(头实体头部位置、尾实体头部位置)元组,并从字典 D D D中的头部位置开始查找所有可能的实体。最后,我们迭代所有候选subject-object对以检查它们的尾部位置是否在 E E E中。如果是,则提取新的三元组并将其添加到结果集 T T T中。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3SQMRBap-1670035222281)(TPLinker Single-stage Joint Extraction of Entities and Relations Through Token Pair Linking.assets/image-20221203100934421.png)]

3.2 Token pair representation

给出一个长度为 n n n的句子 [ w 1 , . . . , w n ] [w_1,...,w_n] [w1,...,wn],我们使用一个基础的编码器映射每一个token w i w_i wi进入一个低维上下文向量 h i h_i hi。然后我们对一个token对 ( w i , w j ) (w_i,w_j) (wi,wj)能生成一个表征 h i , j h_{i,j} hi,j
h i , j = t a n h ( W h ⋅ [ h i ; h j ] + b h ) , j ≥ i h_{i,j}=tanh(W_h \cdot [h_i;h_j] + b_h),j \ge i hi,j=tanh(Wh[hi;hj]+bh),ji
其中参数矩阵 W h W_h Wh和偏置 b h b_h bh是训练中可学习的参数。公式1也代表了图三中的握手核心。

3.3 Handshaking Tagger

我们使用统一的架构进行EH-to-ET、SH-to-OH和ST-to-OT标记。给定token pair表示 h i , j h_{i,j} hi,j,token pair ( w i , w j ) (w_i,w_j) (wi,wj)的链路标签由等式3预测。
P ( y i , j ) = S o f t m a x ( W o ⋅ h i , j + b o ) P(y_{i,j})=Softmax(W_o \cdot h_{i,j}+b_o) P(yi,j)=Softmax(Wohi,j+bo)

l i n k ( w i , w j ) = a r g m a x l P ( y i , j = l ) link(w_i,w_j)={\mathop {argmax} \limits_l} P(y_{i,j}=l) link(wi,wj)=largmaxP(yi,j=l)

P ( y i , j = l ) P(y_{i,j}=l) P(yi,j=l)表示识别token-pair ( w i , w j ) (w_i,w_j) (wi,wj)之间关系为 l l l的概率。

3.4 Loss Function

L l i n k = − 1 N ∑ i = 1 , j ≥ i N ∑ ∗ ∈ { E , H , T } l o g P ( y i , j ∗ = l ^ ∗ ) L_{link}=-\frac{1}{N} \sum_{i=1,j \ge i}^N \sum_{* \in \{ E,H,T\} }logP(y_{i,j}^* =\hat l^*) Llink=N1i=1,jiN{E,H,T}logP(yi,j=l^)

N N N是输入句子的长度, l ^ \hat l l^是正确的标签, { E , H , T } \{ E,H,T\} {E,H,T}表示EH-to-ET、SH-to-OH和ST-to-OT的标注。

4、实验

4.1 数据集

作者选取了NYT和WebNLG作为测评数据集。

4.2 评估

在我们的实验中,为了与之前的工作保持一致,我们对NYT和WebNLG使用了部分匹配(Partial Match),如果头实体和尾实体的关系和头部都正确,则提取的三元组被视为正确的,并且对于NYT和WebNLG,需要匹配头实体和尾实体的整个跨度。我们遵循流行的选择报告micro precision(Prec.)、Recall(Rec.)和F1-score,与所有基线一致。

4.3 实施细节

我们的TPLinker是用PyTorch实现的,网络权重是用Adam优化。我们在本文中尝试了两种编码器。一种是300维GloVe嵌入和2层堆叠BiLSTM的组合,2层的隐藏维度分别设置为300和600。Dropout以0.1的速率应用于单词嵌入和隐藏状态。另一个是BERT,我们使用cased English model。在BiLSTM/BERT的主干网络,学习速率设置为1e3/5e-5。我们还进行了Cosine Annealing Warm Restarts learning rate schedule 。根据之前的工作,我们将输入句子的最大长度设置为100。在NYT/WebNLG中,batch_size设置为24/6。我们使用Tesla V100对模型进行最多100个阶段的训练,并选择在验证集上具有最佳性能的模型,以在测试集上输出结果。

4.4 对比模型

Baseline:

  • NovelTagging 2017
  • CopyRE 2018
  • MultiHead 2018
  • GraphRel 2019
  • OederCopyRE 2019
  • ETL-Span 2020
  • WDoc 2020
  • CasRel 2020

4.5 实验结果和分析

4.5.1 主要结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ytIGaTQV-1670035222289)(TPLinker Single-stage Joint Extraction of Entities and Relations Through Token Pair Linking.assets/image-20221203103212009.png)]

表2报告了所有数据集上我们的模型与其他基线方法的结果。我们可以观察到,TPLinker在F1得分方面优于所有基线。

4.5.2 分析不同困难程度的句子

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ueTikOmc-1670035222290)(TPLinker Single-stage Joint Extraction of Entities and Relations Through Token Pair Linking.assets/image-20221203103853621.png)]

4.5.3 分析计算的效率

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mwnynwjj-1670035222291)(TPLinker Single-stage Joint Extraction of Entities and Relations Through Token Pair Linking.assets/image-20221203103902867.png)]

5、总结

在本文中,我们基于一种新的握手标记策略,提出了一种用于实体和关系联合提取的端到端序列标记模型TPLinker,通过该模型将联合提取任务转换为token对链接任务。据我们所知,TPLinker是第一个单阶段联合提取模型,可以在不受暴露偏差影响的情况下提取所有类型的重叠关系。实验结果表明,我们的模型优于所有基线模型,并在两个公共数据集上达到了最新水平。进一步的分析特别证明了我们的模型处理具有重叠关系和多重关系的句子的能力。结果还证明,缩小训练和推理之间的差距是有益的。未来,我们将推广token链接思想,并探讨其在其他信息提取问题上的性能,如嵌套名称实体提取和事件提取。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Trouble..

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值