【论文阅读笔记|coling2020】TPLinker: Single-stage Joint Extraction of Entities and RelationsThrough Token P

论文题目:TPLinker: Single-stage Joint Extraction of Entities and Relations Through Token Pair Linking(单阶段联合提取通过token对连接的实体和关系)

论文来源:coling2020

论文链接:https://aclanthology.org/2020.coling-main.138.pdf

代码链接:https://github.com/131250208/TPlinker-joint-extraction

0 摘要

虽然从非结构化文本中提取出实体和关系受到了越来越多的关注,但由于识别共享实体的重叠关系仍很困难,所以此任务仍然具有挑战性。 已有的研究表明,联合学习可以获得明显的性能增益。 然而,这通常涉及顺序的相互关联的步骤,并遭受暴露偏差的问题。 在训练时,他们根据真值条件进行预测,而在推理时,他们必须从头开始提取。 这种差异导致错误积累

为了缓解这一问题,本文提出了一个单阶段联合提取模型TPLinker,它能够发现共享一个或两个实体的重叠关系,同时不受暴露偏差的影响。 TPLinker将联合抽取问题描述为token对链接问题,并提出了一种新的握手标记方案,该方案在每种关系类型下对齐实体对的边界token。 实验结果表明,TPLINKER在重叠关系和多重关系抽取方面有明显的优势,在两个公共数据集上都达到了SOTA。

1 引言

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

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

【论文阅读笔记|coling2020】TPLinker: Single-stage Joint Extraction of Entities and RelationsThrough Token P_第1张图片

现有的处理EntityPairOverlap(EPO)和SingleEntiyOverlap(SEO)的模型可以分为两类:基于解码器的模型和基于分解的模型。 基于解码器的模型使用编码器-解码器架构,解码器一次提取一个单词或一个元组,就像机器翻译模型一样(Zeng et al.2018;Nayak and Ng.2020)。

基于分解的模型首先区分所有可能涉及目标关系的候选主体实体,然后为每个提取的主体标记相应的客体实体和关系(Li et al.2019;Yu et al.2020;Wei et al.2020)。 尽管这些方法都取得了合理的性能,但它们都遭受着同样的问题:曝光偏差

基于解码器的方法,在训练时,真值tokens被用作上下文,而在推理时,整个序列由最终模型自己生成,因此由模型生成的先前tokens被送去作为上下文。 结果,在训练和推理中预测的tokens是从不同的分布中提取的,即,从与模型分布相对的数据分布中提取的(Zhang et al.2019)。 类似地,基于分解的方法在训练过程中使用Gold主体实体作为特定的输入来指导模型提取客体实体和关系,而在推理过程中,输入的头实体是由经过训练的模型给出的,导致了训练和推理之间的差距。

本文提出了一种用于实体和重叠关系联合提取的one-stage方法,即TPLinker,它弥补了训练和推理之间的差距。 TPLinker将联合抽取任务转换为token对链接问题。 给定一个句子、两个位置p1、p2和一个特定关系r,TPLinker要回答三个是/否伪问题:“p1和p2是否分别是同一个实体的开始和结束位置”、“p1和p2是否分别是两个具有r关系的实体的开始位置”和“p1和p2是否分别是两个具有r关系的实体的结束位置”。为此,我们设计了一个握手标注方案,为每个关系标注三个token链接矩阵来回答上述三个问题。 然后利用这些链接矩阵对不同的标注结果进行解码,从中提取所有实体及其重叠关系。 直观上,TPLinker不包含任何相互依赖的提取步骤,避免了训练时对真值条件的依赖,实现了训练和测试的一致性。 我们在两个公共数据集上评估我们的方法:NYT和WebNLG。 实验结果表明,TPLinker在基准数据集上的性能优于前人的工作,达到了SOTA。 进一步的分析表明,TPLinker在Normal、SEO、EPO和多重关系抽取方面都有显著的提高。

2 相关工作

研究人员提出了几种提取实体和关系的方法。传统的pipeline方法忽略了实体提取和关系预测的相关性。为了解决这一问题,人们提出了几种联合模型。基于特征的方法需要一个复杂的特征工程过程,并且在很大程度上依赖于NLP工具进行特征提取。最近的研究用于联合关系提取的神经模型,它们显示了可观的结果,但完全放弃了重叠关系。Dai等人(2019)用位置感知注意力机制对一个句子进行N次标记,提取出三元组。Tan等人(2019)通过有翻译机制的排名解决了这一任务。Takanobu等人(2019)首先通过强化学习确定关系,然后识别实体对。Li等人(2019)通过特定关系模板将联合抽取作为一个多轮QA和生成问题。 Sun等人(2019)构造了一个实体-关系二分图,对实体类型和关系类型进行推理。Yu等人(2020)提出了一种基于新分解策略的统一序列标记框架。但是,这些方法只能识别句子中的SEO关系,不能提取EPO三元组。

为了解决EPO问题,Zeng等人(2018)提出seq-to-seq模型来解码重叠关系但未能生成多字实体。作为改进,Nayak和Ng(2020)采用了encoder-to-decoder模型,解码器像机器翻译模型一样每次提取一个单词。此外,Wei等人(2020)提出了一种新的级联二元标记框架,该框架首先识别句子中所有可能的主体实体,然后为每个主体实体识别所有可能的关系和客体实体。由于解码器需要一个递归的解码过程,而级联标记必须事先识别主体实体,因此这些方法实际上将重叠关系的提取分解为若干个内部依赖的步骤。这样的分解使任务易于执行,但不可避免地会引起曝光偏差问题,从而导致误差积累。在训练时,他们使用真值tokens或主体来预测三元组,而在推理时,他们必须依赖预测的结果。在本文中,我们提出了一种统一的标记方法来提取实体和重叠关系。与以往的方法不同的是,我们的模型在一个阶段执行,并且在训练和推理之间没有间隙地生成三元组。

3 方法

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

3.1 Handshaking标记方案

3.1.1 标记

根据在以关系r为条件主体实体s和客体实体o的边界tokens可以确定三元组(s,r,o),通过用链接标签标记token对,实现了一步联合抽取。

如下图所示,给定一个句子,枚举所有可能的token对,并使用矩阵标记token链接。

【论文阅读笔记|coling2020】TPLinker: Single-stage Joint Extraction of Entities and RelationsThrough Token P_第2张图片

在形式上,三种链接类型定义如下:

1)实体头到实体尾(EH-to-ET)。矩阵中的紫色标记是指对应的两个位置分别是一个实体的开始和结束token。例如,“New York City”和“De Blasio”是句子中的两个实体,因此,token对(“new”,“city”)和(“De”,“Blasio”)被赋予紫色标记1。

2)主体头到客体头(SH-to-OH)。红色标签表示两个位置分别是一对主体实体和客体实体的开始token。例如,“New York City”和“De Blasio”之间存在“mayor”关系,因此token对(“New”和“De”)被分配为红色标记1。

3)主语尾到宾语尾(ST-to-OT)。蓝色标签与红色标签具有类似的逻辑,这意味着两个位置分别是一对subject实体和object实体的结束token。例如,token对(“City”、“Blasio”)被分配蓝色标记1。

从图中我们可以看到,矩阵相当稀疏,尤其是下三角区域。由于实体尾部不可能出现在实体头部之前,所以下三角区域的标签都是零,这是对内存的巨大浪费。但是,目标实体可能出现在相应的主体实体之前,这意味着直接将下三角区域放弃是不合理的。在此之前,我们将下三角区域中的所有标签1映射到上三角区域中的标签2,然后删除下三角区域。在实际操作中,为了张量计算的方便,我们将剩下的项压平成一个序列(下图中的橙色序列),并用一个映射来记住原矩阵中的位置。序列类似于所有tokens的握手,这就是我们将此方案称为握手标记方案的原因。

【论文阅读笔记|coling2020】TPLinker: Single-stage Joint Extraction of Entities and RelationsThrough Token P_第3张图片

第一个图的案例表明,这种标记方案可以很自然地解决SingleEntiyOverlap问题和设计中的嵌套实体问题。 在这种情况下,“New York City”和“New York”是嵌套的,共享同一个对象“De Blasio”,这对于以前的许多方法来说都是一个具有挑战性的问题。然而,通过这种标记方案,三个实体和两个三元组都可以很容易地解码(在3.1.2节)。但是,该方案不能处理EntityPaIrOverlap问题,因为对于同一实体对,不同的关系不能在同一矩阵中标记在一起。为了解决这个问题,我们为每种关系类型做同样的矩阵标记工作。注意,EH-to-ET标记是所有关系共享的,因为它关注一般的实体提取,而不考虑特定的关系类型。总体而言,如图3所示,联合抽取任务被解构为2N+1个序列标记任务,其中N表示预定义关系类型的数量,每个子任务建立一个长度为的标记序列,其中n表示输入句子的长度。由于标签序列的长度随着句子长度的增加而以平方数的形式增加,因此我们的标签方案似乎是非常低效的。幸运的是,我们的实验表明,通过在编码器顶部使用轻量级标记模型,TPLinker可以实现与SOTA模型具有竞争力的运行效率,因为编码器被所有标记器共享(参见图3),并且只需要一次就可以生成n个token representation。

【论文阅读笔记|coling2020】TPLinker: Single-stage Joint Extraction of Entities and RelationsThrough Token P_第4张图片

3.1.2 Decoding

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

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

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

【论文阅读笔记|coling2020】TPLinker: Single-stage Joint Extraction of Entities and RelationsThrough Token P_第5张图片

3.2 Token Pair Representation

给定一个长度为n的句子,我们首先通过基本编码器将每个token 映射到一个低维上下文向量中。 然后,我们可以为token对生成一个表示,如下所示:

其中是参数矩阵,是在训练期间要学习的偏置向量。 方程式1在图3中也表示为握手内核(Handshaking Kernel)。

3.3 Handshaking Tagger

我们使用一个统一的架构来进行EH-to-ET、SH-to-OH和ST-to-OT标记。给定token对表示,由公式3预测token对的链接标签。

其中表示将的链接识别为的概率。

3.4 Loss Function

我们将train损失定义如下:

这里,N是输入句子的长度,是真标记,E、H和T分别表示EH-to-ET、SH-to-OH和ST-to-OT的标记器。

4. 实验

4.1 数据集

NYT 和 WebNLG,这两个数据集都给出了实体标记, 而关系包括了普通关系 Normal,Entity Pair Overlap (EPO,多个subject对单个object),Single Entity Overlap (SEO,两个实体间存在多种关系) 。

与各个baseline模型对比

4.2 评价

在我们的实验中,为了与之前的工作保持一致,我们在NYT*和WebNLG*上使用了部分匹配,如果主体实体和对象实体的关系和头都正确,则认为提取的三元组是正确的,而NYT和WebNLG的精确匹配,则主体和对象的整个跨度需要匹配。我们遵循流行的选择来报告标准的微精度(Prec.),召回率,f1的分数与所有的基线一致。

4.3 实施细节

TPLinker使用PyTorch实现,网络权值用Adam优化。我们在本文中尝试了两个编码器。

一种是300维GloVe嵌入和两层堆叠BiLSTM的组合,两层的隐藏维度分别设置为300和600。dropout应用于单词嵌入和隐藏状态,速率为0.1。

另一个是BERT,使用bert-base。在BiLSTM/BERT的backbone中,学习速率设置为1e- 3/5e-5。我们还进行了Cosine Annealing Warm Restarts学习速率。根据之前的工作,我们将输入句子的最大长度设置为100。批量大小在纽约时报/WebNLG中设置为24/6。我们使用Tesla V100对模型进行最多100个周期的训练,并在验证集上选择性能最好的模型,在测试集上输出结果。

4.4 比较模型

为了进行比较,我们采用以下模型作为基线:(1)Novel标记采用了一种新的标记策略,同时包含了实体和关系角色,从而将联合提取任务转换为序列标记问题。该模型未能解决重叠问题;(2) CopyRE首先探索了该任务的编码器-解码器架构,试图通过生成句子中的所有三元组来面对重叠问题。该模型只能复制实体的最后一个词;(3)MultiHead首先识别所有候选实体,然后将任务定义为多头选择问题;(4) GraphRel利用图卷积网络将实体提及对分割为多个词对,考虑所有词对,提取重叠关系进行预测;(5) OrderCopyRE是CopyRE的扩展,它将强化学习应用到编解码器模型中生成多个三联体;(6) ETL-Span,应用基于跨域的标记策略,并分层解码三联体来对内部依赖项进行建模

【论文阅读笔记|coling2020】TPLinker: Single-stage Joint Extraction of Entities and RelationsThrough Token P_第6张图片

4.5 实验结果及分析 

4.5.1主要结果

表2报告了我们的模型在所有数据集上的其他基线方法的结果。我们可以观察到,TPLinker在f1-分数方面都优于所有的基线。特别是TPLinkerBERT在纽约时报上提高了2.3%,《纽约时报》的14.0,WebNLG的最新机型的3.6。为了验证我们的握手标记方案的实用性,我们消融了BERT,并使用BiLSTM作为替代的编码器来输出结果。可以看出,TPLinkerBiLSTM与现有的最先进的模型CasRelBERT相比,仍然具有很强的竞争力。更重要的是,TPLinkerBiLSTM在WebNLG上比CasRelBiLSTM好6.8%,这说明了我们的实验具有优越性。尽管CasRel和ETL-Span取得了令人鼓舞的分数,但它们仍然存在一些问题。对于CasRel来说,它本质上是一种两阶段的方法,存在暴露偏差和误差传播的问题。对于ETL-Span,它与CasRel有相同的问题,并且无法处理EPO问题。TPLinker解决了所有这些问题,并提供了额外的功能,它可以提取具有嵌套实体的三重联体。据我们所知,CasRel和ETL-Span不能提取嵌套的主体整体

TPLinker在注释最后一个单词的数据集和注释整个跨度的数据集上都表现良好。TPLinker在NYT和NYT*上取得了几乎相同的分数,这也表明,只注释最后一个单词的数据集并不总是比注释整个跨度的数据集更容易。也可能更难,因为不同的实体可能共享相同的最后一个字,这使得重叠案例的数量增加。当然,我们发现WebNLG和WebNLG的性能之间存在显著的差距。然而,我们也发现在WebNLG中有127个错误的三联体,包含一个毫无意义的空实体。另外,WebNLG有216个关系,但是WebNLG*只有171个。因此,我们将性能差距归因于这两个原因。为了与这个数据集上的最先进的模型进行公平的比较,我们没有在实验中解决这些问题。

我们还可以观察到,TPLinkerBERT在WebNLG*上与CasRelBERT获得了相似的F1分数。我们认为这是因为(1)在WebNLG*上的表现已经饱和了,因为提取具有171个预定义关系的三联体非常困难,特别是训练数据非常小(5019个句子)。这些方法达到90+的F1分数可能已经超过了人类水平的性能。换句话说,提升的空间太有限了。(2)在WebNLG中有很多关系吗?具有相同的含义,例如领导名和领导、从属关系和从属关系,这让模型感到困惑。在许多情况下,我们的模型将同时提取它们,但通常只有其中一个在测试集中被注释。这些正确注释的缺失严重损害了TPLinkerBERT的精度,因为我们的模型在提取重叠关系方面具有更强的能力,并获得了更好的召回率。

【论文阅读笔记|coling2020】TPLinker: Single-stage Joint Extraction of Entities and RelationsThrough Token P_第7张图片

4.5.2 不同句子类型的分析 

为了验证我们的模型在处理重叠问题和提取多重关系方面的能力,我们对NYT*和WebNLG*的不同子集进行了进一步的实验。结果表明,TPLinker在处理具有重叠关系或多重关系的句子方面具有优势。如表3所示,随着句子复杂度的增加,大多数基线呈明显的下降趋势。然而,TPLinker对较困难的句子,一个有重叠关系的句子,或两个以上的关系。尽管CasRel也呈现出增长的趋势,但TPLinker在所有子集上都优于CasRel,除了一些没有重叠或关系少于三个的简单子集。特别是,TPLinker在超过或等于5个关系的句子上比CasRel表现好6.3%。

4.5.3 计算效率的分析

表4显示了CasRelBERT和TPLinkerBERT的计算效率的比较。在这个比较实验中,我们使用CasRelBERT的官方实现和默认配置来生成统计数据。在推理阶段,TPLinkerBERT的解码速度几乎是CasRelBERT的3.6倍。由于在一个给定的句子中,被试的数量是不确定的,所以CasRelBERT很难批量预测每个被试的对象。在官方实现中,CasRelBERT被限制一次处理一个话,这意味着它效率非常低下,难以部署。相反,TPLinkerBERT能够以批处理模式处理数据,因为它是一个单阶段模型。此外,即使我们将TPLinkerBERT的批处理大小设置为1,但推理速度仍然具有竞争力,这再次证实了TPLinkerBERT的效率。实际上,CasRelBERT和TPLinkerBERT都使用BERT作为基本的编码器,这是最耗时的部分,并且占用了大部分的模型参数,所以握手标记的时间成本并不显著。

【论文阅读笔记|coling2020】TPLinker: Single-stage Joint Extraction of Entities and RelationsThrough Token P_第8张图片

5 结论

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

你可能感兴趣的:(论文阅读)