论文阅读- TPLinker: Single-stage Joint Extraction of Entities and RelationsThrough Token Pair Linking

目录

摘要

1 绪论

2 相关工作

3 方法

3.1 握手标记方案

3.1.1 标记

3.1.2 解码

3.2 token对表示

3.3 握手标签

 3.4 loss function

4 实验

4.1 数据集

4.2 评价

4.3实施细节

4.4 对比模型

4.5实验结果与分析

4.5.1主要结果

4.5.2不同句子类型的分析

 4.5.3计算效率分析

5 结论


创新点: 解决关系重叠问题,不受曝光偏差影响;

论文链接:https://arxiv.org/pdf/2010.13415.pdf

摘要

        近年来,从非结构化文本中提取实体和关系引起了越来越多的关注,但仍然具有挑战性,因为识别与共享实体的重叠关系存在固有的困难。之前的研究表明,联合学习可以带来显著的性能提升。然而,它们通常涉及顺序相关的步骤,并存在曝光偏差的问题。在训练时,他们用ground truth条件进行预测,而在推理时则需要从零开始进行提取,这种差异导致了错误的积累。为了解决这一问题,本文提出了一种单阶段联合提取模型TPLinker,该模型能够发现共享一个或两个实体的重叠关系,且不受暴露偏差的影响。TPLinker将联合提取表述为一个token对链接问题,并引入了一种新的握手标记方案,该方案在每种关系类型下对齐实体对的边界token。实验结果表明,TPLinker在重叠和多重关系提取方面具有明显的优势,在两个公共数据集上都达到了最先进的性能。

曝光偏差通俗解释:

        是文本生成在训练和推断时不一致造成的;

        比如transformer, 为了在训练时能够并行训练,因此在decoder端,每次解码输入的都是真实的样本(类似于teacher forcing),但是在测试的时候,每次解码输入的时候是上一时刻的输出,因此就会存在曝光偏差的问题;

1 绪论

        从非结构化文本中提取实体和关系是自动知识库构建的关键步骤(Takanobu et al., 2019)。传统的pipeline方法首先提取实体提及,然后对候选实体对之间的关系类型进行分类。但是,由于实体检测和关系分类完全分离,这些模型忽略了两个子任务之间的相互作用和相关性,容易产生级联错误(Li and Ji, 2014)。

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

         大多数处理entitypairoverlap (EPO)和SingleEntiyOverlap (SEO)的现有模型可以分为两类:基于解码器的和基于分解的。基于解码器的模型使用编码器-解码器架构,其中解码器像机器翻译模型一样每次提取一个单词或一个元组(Zeng等人,2018;Nayak和Ng, 2020年)。基于分解的模型首先区分可能涉及目标关系的所有候选主题实体(subject entities),然后为每个提取的主题(subject)标记对应的对象实体(object entities)和关系(relation)(Li等人,2019;于等人,2020;魏等人,2020)。虽然这些方法都取得了合理的性能,但它们都面临着同样的问题:暴露偏差;在基于解码器的方法中,在训练时,将ground truth tokens作为上下文,而在推理时,整个序列由模型单独生成,模型上一时刻生成的token作为上下文提供。因此,训练和推理时的预测token来自不同的分布,即来自数据分布而不是模型分布(Zhang et al., 2019)。同样,基于分解的方法在训练过程中使用gold subject实体作为特定输入,引导模型提取对象实体和关系,而在推理时,输入头部实体由训练过的模型给出,导致训练和推理之间存在差距

        在本文中,我们提出了一种实体和重叠关系的单阶段联合提取方法,即TPLinker,它弥合了训练和推理之间的差距。TPLinker将联合提取任务转换为token对链接问题(Token Pair Linking Problem)。给定一个句子,两个位置p1, p2和一个特定的关系r, TPLinker要回答三个Yes/No伪问题:“p1和p2是否分别是单一实体的起始位置和结束位置?”、“p1和p2是否分别为两个具有r关系的实体的起始位置?”、“p1和p2是否分别是两个具有r关系的实体的结束位置?”, 为此,我们设计了一个握手标记方案,为每个关系标注三个token链接矩阵,以回答上述三个问题。然后利用这些链接矩阵对不同的标记结果进行解码,从中提取所有实体及其重叠关系。直观上,TPLinker不包含任何相互依赖的提取步骤,避免了训练时对ground truth条件的依赖,实现了训练和测试的一致性。

        我们在两个公共数据集上评估了我们的方法:NYT (Riedel等人,2010)和WebNLG (garden等人,2017)。实验结果表明,TPLinker的性能优于以往的方法,在基准数据集上达到了最先进的结果。进一步的分析表明,TPLinker显著提高了正常、SEO、EPO和多重关系提取的性能。

2 相关工作

        研究人员提出了几种提取实体和关系的方法。传统的流水线(Zelenko等人,2003年;Chan和Roth, 2011)忽略了实体提取和关系预测的相关性。为了解决这一问题,提出了几种联合模型。基于特征的工作(Yu and Lam, 2010;Miwa and Sasaki, 2014)需要一个复杂的特征工程过程,严重依赖于NLP工具进行特征提取。最近的研究研究了联合关系提取的神经模型(Gupta等人,2016;Zheng et al., 2017),它们显示出很好的结果,但完全放弃了重叠关系。针对这一问题,提出了多种用于实体和重叠关系联合提取的神经网络。Dai等人(2019)通过位置感知的注意机制将一个句子标记n次,从而提取出三元组。Tan等人(2019)通过带有翻译机制的排名解决了这一问题。Takanobu等人(2019)首先确定关系,然后通过强化学习识别实体对。Li等人 (2019) 将联合提取作为多圈QA问题,并通过关系特定模板生成问题。Sun等人 (2019) 构造了一个实体-关系二部图来对实体类型和关系类型进行推断。Yu等 (2020) 提出了一种基于新型分解策略的统一序列标记框架。然而,这些方法只能识别句子中的SEO关系,无法提取EPO三元组;

        为了处理EPO案例,Zeng等人 (2018) 提出了一种端到端模型来解码重叠关系,但不能生成多词实体。作为改进,Nayak和Ng (2020) 采用了编码器-解码器模型,其中解码器像机器转换模型一样一次提取一个单词。此外,Wei等人 (2020) 提出了一种新颖的级联二元标记框架,该框架首先标识句子中的所有可能的主题实体(subject entities),然后标识每个主题实体的所有可能的关系(relation)和对象关系(object entities)

        实际上,这些方法将重叠关系的提取分解为几个内部依赖步骤,因为解码器需要递归解码过程,并且级联标记必须预先识别主题实体。这种分解使任务易于执行,但不可避免地导致暴露偏差问题,从而导致错误积累。在训练时,他们用ground truth标记或主题预测三元组,而在推断时,他们必须依靠预测的结果。在本文中,我们提出了一种统一的标记方法来提取实体和重叠关系。与以前的方法不同,我们的模型在一个阶段执行,并生成三元组,而训练和推理之间没有gap。

3 方法

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

3.1 握手标记方案

3.1.1 标记

        根据可以通过对齐以关系r为条件的主题实体s和对象实体o的边界token来确定三元组 (s,r,o) ,我们通过用链接标记标记来实现,我们通过用链接标签标记token对,实现一级联合提取。

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

论文阅读- TPLinker: Single-stage Joint Extraction of Entities and RelationsThrough Token Pair Linking_第1张图片

 ((最好用彩色观看。)左: 标记矩阵。为了方便说明,我们将所有标签显示在一个矩阵中,其中每种颜色对应于一种特定类型的标签。右: 握手标记方案的一个示例,阴影中的区域不包括在标记序列中。)

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

论文阅读- TPLinker: Single-stage Joint Extraction of Entities and RelationsThrough Token Pair Linking_第2张图片

 (TPLinker的框架。SH是被subject head的缩写,OH是object head的缩写,ST是subject tail的缩写,OT是object tail的缩写。通过解码,可以提取5个三元组:(New York, mayor, De Blasio), (De Blasio, born in, New York), (De Blasio, born in, New York), (De Blasio, born in, New York City), (De Blasio, live in, New York), (De Blasio, live in, New York City)。)

        图2左侧面板中的情况表明,此标记方案可以自然地解决设计中的单个实体重叠问题和嵌套实体问题。在这种情况下,“纽约市” 和 “纽约” 嵌套并共享相同的对象 “De Blasio”,这对于许多以前的方法都是一个具有挑战性的问题。但是,通过这种标记方案,可以轻松地对三个实体和两个三元组进行解码 (请参阅第3.1.2节)。但是,该方案无法处理EntityPairOverlap问题,因为无法在同一实体对的同一矩阵中一起标记不同的关系。为了解决这个问题,我们对每种关系类型执行相同的矩阵标记工作;注意,EH- to- ET 标记由所有关系共享,因为它专注于一般的实体提取,而不考虑特定的关系类型;总体而言,如图3所示,联合提取任务被解构为2N+1序列标记子任务其中N表示预定义关系类型的数量,每个子任务构建长度为(n+1)*n/2的标签序列,其中n是输入句子的长度。似乎我们的标记方案效率极低,因为标记序列的长度随句子长度的增加而增加。幸运的是,我们的实验表明,通过在编码器顶部使用轻量级标记模型,与最先进的模型相比,TPLinker可以实现具有竞争力的运行效率,由于编码器由所有标记器共享 (参见图3),并且只需要生成一次n个token表示;

3.1.2 解码

        在图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,“De Blasio”)。

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

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

论文阅读- TPLinker: Single-stage Joint Extraction of Entities and RelationsThrough Token Pair Linking_第3张图片

3.2 token对表示

        给定长度为n的句子 [w1,·,wn],我们首先通过基本编码器将每个令牌wi映射到低维上下文向量h_i中。然后,我们可以为token对 (w_i, w_j) 生成一个表示h_{i,j},如下所示

        其中W_h是参数矩阵,b_h是训练过程中要学习的偏置向量。等式1在图3中也表示为Handshaking Kernel 。

3.3 握手标签

        我们使用统一的架构进行ET-to-ET, SH-to-OH和ST-to-OT标记。给定token对表示 h_{i,j},token对的链接标签(w_i, w_j)由式3预测 

论文阅读- TPLinker: Single-stage Joint Extraction of Entities and RelationsThrough Token Pair Linking_第4张图片

         其中P(y_{i,j} = l)表示将 (w_i, w_j)的链接识别为类别l的概率

 3.4 loss function

         我们定义训练损失如下:

         这里,N是输入句子的长度,“\widehat{l}” 是真标记,E,H和T分别表示EH-to-ET,SH-to-OH和ST-to-OT的标记。

4 实验

4.1 数据集

        为了方便将我们的模型与以前的工作进行比较,我们遵循了数据集的流行选择: NYT (Riedel等,2010) 和WebNLG (Gardent等,2017)。根据注释标准,这两个数据集有两个版本: 1) 注释实体的最后一个单词; 2) 注释整个实体跨度。曾等人 (2018) 、曾等人 (2019) 、傅等人 (2019) 和魏等人 (2020) 使用了第一个版本,而于等人 (2020) 选择了第二个版本。为了进行公平的比较,我们在这两个设置上评估我们的模型。第一个版本的数据集表示为NYT*还有WebNLG*第二个分别表示为NYT和WebNLG。在Zeng等人 (2018) 之后,进一步研究TPLinker提取重叠和多重关系的能力,我们还通过重叠模式和三重数来拆分测试集。统计数据见表1。

论文阅读- TPLinker: Single-stage Joint Extraction of Entities and RelationsThrough Token Pair Linking_第5张图片

 (我们实验中数据集的统计。Normal集合包含没有重叠三元组的句子。SPO是单对重叠的缩写。EPO是实体对重叠的简称。请注意,WebNLG和WebNLG*的关系数在 (Wei等人,2020) 和 (Yu等人,2020) 中被误写为246,这是原始WebNLG数据集的数量,而不是它们使用的子集。我们重新计算并给出正确的数字。*标记WebNLG*的关系数)

4.2 评价

        在我们的实验中,为了与以前的作品保持一致,我们对NYT*和WebNLG*,如果主体实体和客体实体的关系和头部都正确,并且与NYT和WebNLG完全匹配,则提取的三元组被视为正确。需要匹配主体和客体的整个跨度。我们遵循流行的选择来报告标准的精度 (Prec.),召回 (Rec.),并F1-score符合所有的基线。

4.3实施细节

        我们的TPLinker是用PyTorch实现的,网络权重是用Adam优化的 (Kingma和Ba,2014)。我们在本文中尝试两个编码器。一种是300维GloVe嵌入 (Pennington等人,2014) 和2层堆叠BiLSTM的组合,2层的隐藏维度分别设置为300和600。Dropout以0.1的值应用于词嵌入和隐藏状态层。另一个是BERT,我们使用基本的英语模型。在BiLSTM/BERT的骨干中,学习率设置为1e-3/5e-5。我们还进行余弦退火重启学习速率计划 (Loshchilov和Hutter,2016)。根据先前的工作 (Zeng等人,2018; Fu等人,2019; Wei等人,2020),我们将输入句子的最大长度设置为100。批次大小在NYT/WebNLG中设置为24/6。我们使用Tesla V100训练模型最多100个时期,并在验证集上选择性能最佳的模型,以在测试集上输出结果。

4.4 对比模型

        为了进行比较,我们采用以下模型作为基线 :

        ( 1) NovelTagging(Zheng等人,2017) 应用了一种新的标记策略,该策略结合了实体和关系角色,因此联合提取任务被转换为序列标记问题。该模型未能解决重叠问题;

         (2) CopyRE (Zeng等,2018) 首先探索了该任务的编码器-解码器架构,试图通过生成句子中的所有三元组来面对重叠问题。该模型只能复制实体的最后一个单词;

        (3) MultiHead(Bekoulis等,2018) 首先识别所有候选实体,然后将任务公式化为多头选择问题;

        (4) GraphRel(Fu等,2019) 利用图卷积网络,通过将实体提及对拆分为若干词对,并考虑所有对进行预测,提取重叠关系;

        (5) OrderCopyRE(Zeng等人,2019) 是CopyRE的扩展,将强化学习应用到编码器-解码器模型中,生成多个三重态;

        (6) etl-span (Yu等人,2020) 应用基于Span的标记策略,并分层解码三联体来建模内部依赖关系;

        (7) WDec(Nayak和Ng,2020) 是对CopyRE的改进,它在每个时间步提取一个单词,可以提取具有多令牌实体的重叠关系和三胞胎;

        (8) CasRel(Wei等人,2020) 是基于BERT骨干的NYT和WebNLG数据集上的最先进方法,它首先标识句子中所有可能的头部实体,然后标识每个头部实体的所有可能的关系和相应的尾部实体。

4.5实验结果与分析

4.5.1主要结果

        表2报告了我们的模型在所有数据集上与其他基线方法的结果。我们可以观察到TPLinker在F1-score方面优于所有基线。特别是,TPLinkerBERT在最先进的模型上提高了NYT* 的2.3百分比,NYT的14.0和WebNLG的3.6。为了验证我们握手标记方案的效用,我们消融了BERT,并使用BiLSTM作为从属编码器来输出结果。可以看出,TPLinkerBiLSTM仍然对现有的最先进模型CasRelBERT具有很强的竞争力。此外,TPLinkerBiLSTM在WebNLG*上的表现比CasRelBiLSTM高6.8个百分比,这表明我们的方案具有优越性。尽管两个SOTA模型CasRel和etl-span取得了令人鼓舞的成绩,但它们仍然存在一些问题。对于CasRel,它本质上是一种两阶段方法,它同时受到曝光偏差和误差传播的影响。对于etl-span,它与CasRel存在相同的问题,并且无法处理EPO问题。TPLinker解决了所有这些问题,并提供了一种奖励功能,它可以提取带有嵌套实体的三元组。据我们所知,CasRel和etl-span无法提取嵌套的主题实体。

论文阅读- TPLinker: Single-stage Joint Extraction of Entities and RelationsThrough Token Pair Linking_第6张图片

         TPLinker在注释最后一个单词和注释整个跨度的数据集上都表现良好。支持这一点,TPLinker在NYT和NYT*上获得了几乎相同的分数,这也表明仅注释最后一个单词的数据集并不总是比注释整个跨度的数据集更容易。甚至相反,这可能会更加困难,因为不同的实体可能共享相同的最后一句话,这使得重叠案例的数量增加。当然,我们发现WebNLG和WebNLG*的性能之间存在很大差距,这可能会反驳上述观点。但是,我们还发现WebNLG中存在127错误的三元组,其中包含一个无意义的空实体。另外,WebNLG有216关系,但WebNLG*只有171。因此,我们将性能差距归因于这两个原因。为了与该数据集上的最新模型进行公平比较,我们没有在实验中解决这些问题。

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

4.5.2不同句子类型的分析

        为了验证我们的模型处理重叠问题和提取多个关系的能力,我们对NYT*的不同子集进行了进一步的实验。还有WebNLG*。

        结果表明TPLinker在处理具有重叠关系或多个关系的句子方面具有优势。如表3所示,随着句子复杂性的增加,大多数基线呈现出明显的下降趋势。但是,TPLinker对较硬的句子,具有重叠关系或两个以上关系的句子有了显着的改进。即使CasRel也呈增长趋势,但TPLinker在所有子集上都优于CasRel,除了一些较简单的子集而没有重叠或关系少于三个。特别是,在关系大于或等于5的句子中,TPLinker比CasRel高出6.3个百分比。

(具有不同重叠模式和不同三元组态数的句子的F1得分。除etl-span外,基线的结果均直接引用自 (Wei等人,2020),其结果由官方实施重现。)

论文阅读- TPLinker: Single-stage Joint Extraction of Entities and RelationsThrough Token Pair Linking_第7张图片

 4.5.3计算效率分析

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

5 结论

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

你可能感兴趣的:(知识图谱,ICCL,论文阅读,人工智能)