论文:Efficient One-Pass End-to-End Entity Linking for Questions翻译笔记(用于问题回答的高效的一次性端到端实体链接)


在这里插入图片描述

论文标题:用于问题回答的高效的一次性端到端实体链接

论文链接:https://arxiv.org/abs/2010.02413
arXiv:2010.02413v1 [cs.CL] 6 Oct 2020

注解:实体链接(EL)指的是将文本中的实体(如人名、地名、组织名等)与知识库(例如维基百科或其他数据库)中的对应实体进行匹配的过程。这个过程对于分析事实性问题(例如“谁是美国的第一任总统?”)以及构建强大的问答(QA)系统非常重要。通过实体链接,可以更好地理解文本中的实体及其关系,从而提高问答系统的准确性和可靠性。

摘要

我们介绍了一种快速的端到端实体链接模型ELQ,该模型用于问题解答,通过使用双向编码器在一次传递中联合进行提及检测和链接。在WebQSP和GraphQuestions数据集上进行评估,这些数据集具有扩展注释,每个问题涵盖多个实体。ELQ在F1得分上分别比之前的最佳结果提高了+12.7%和+19.6%。 具有非常快速的推理时间(在单个CPU上每秒1.57个示例),ELQ可以对下游问题回答系统有所帮助。
在一个概念验证实验中,我们证明使用ELQ显著提高了GraphRetriever(Min等人,2019)的下游问答性能。在一次概念验证实验中,我们证实了采用ELQ极大地提升了GraphRetriever(Min等,2019年)在下游问答任务中的表现。

1 介绍

实体链接(EL)是识别实体并将其映射到数据库中正确条目的任务,对于分析事实性问题和构建强大的问答(QA)系统至关重要。例如,问题“沙克什么时候进入NBA?”可以通过查看沙奎尔·奥尼尔的维基百科文章(Min等人,2019)或知识图谱中的属性(Yih等人,2015;Yu等人,2017)来回答。然而,现实世界中的用户问题总是嘈杂和不明确的,缺乏大小写和标点符号提供的线索,这对当前端到端实体链接系统(Yang和Chang,2015;Sorokin和Gurevych,2018)构成了挑战。尽管最近的预训练模型在实体链接(Logeswaran等人,2019年;Wu等人,2020年)方面已经证明非常有效,但它们仅设计用于实体歧义解决,并要求在输入中给出提及边界。此外,这些系统只在长篇、结构良好的文档(如新闻文章)上进行了评估(Ji等人,2010年),而没有在短小、嘈杂的文本上进行测试。此外,大多数以往的工作主要关注于提高模型预测的准确性,很大程度上忽视了效率。

在这项工作中,我们提出了ELQ,一个快速且准确的实体链接系统,专门针对问题。遵循Wikification设置(Ratinov等人,2011),ELQ旨在确定给定问题中实体的提及边界及其对应的维基百科实体。我们采用基于BERT(Devlin等人,2019)的双编码器,如图1所示。实体编码器根据维基百科中的短描述计算所有实体的实体嵌入。然后,问题编码器从输入问题中导出令牌级别的嵌入。我们使用这些嵌入来检测提及边界,并根据提及嵌入(在提及标记上平均的嵌入)和实体嵌入之间的内积来消除每个实体提及的歧义。我们的模型扩展了Wu等人(2020)的工作,但有一个主要区别:我们的系统不需要在输入中指定提及边界,并且能够在一次BERT传递中同时进行提及检测和实体消歧。因此,在推理时,我们可以有效地识别输入问题中的多个实体。
在这里插入图片描述

图1:我们的端到端实体链接系统的概述。我们分别编码问题和实体。我们使用问题表示来共同检测提及和通过内积与实体向量评分候选实体。

我们扩展了Sorokin和Gurevych(2018)的实体消歧注释,以创建一个端到端的问题实体链接基准。在这个基准上进行评估,我们能够在准确性和运行时间方面都超过以前的方法。ELQ在端到端推断时间上比其他任何神经基线快得多(提高了2倍),同时比我们评估的所有先前模型更准确,这表明它对下游问答系统具有实际应用价值。我们通过概念验证实验来验证ELQ在实际问答模型中的适用性,方法是将GraphRetriever(Min等人,2019)增强为使用我们的模型,从而在三个开放领域问答数据集上提高了其下游问答性能(最高达6%)。

2 相关工作

关于实体链接的很多先前工作都集中在长篇、语法连贯的文档上,这些文档包含了许多实体。这种设置并不能准确反映在问题中进行实体链接的困难。尽管之前有一些关于问题中实体链接的工作(Sorokin和Gurevych,2018;Blanco等,2015;Chen等,2018;Tan等,2017),但这些作品(主要来自BERT出现之前的时期)采用了复杂的模型,包含许多相互作用的模块。例如,Sorokin和Gurevych(2018)提出了一种可变上下文粒度(VCG)模型来解决问题中的噪声和缺乏上下文的问题,该模型通过使用字符级、标记级和知识库级模块,从不同粒度级别中获取信号。他们还依赖外部系统作为建模流程的一部分。

在这项工作中,我们采用了一种更为简单的方法,即使用双编码器。双编码器模型已被广泛应用于各种任务中(Seo等,2019;Karpukhin等,2020;Wu等,2020)。它们通过最大内积搜索实现了快速推理时间。此外,正如我们所发现的,双编码器可以分解为可重用的问题和实体编码器,通过独立训练一个组件,我们可以大大加速训练过程。

3 问题定义和ELQ模型

我们正式定义我们的实体链接任务如下。
给定一个问题q和一组来自维基百科的实体E = {ei},每个实体都有标题t(ei)和文本描述d(ei),我们的目标是输出一个列表,(e, [ms, me]),其中e ∈ E是与问题中从ms到me的提及范围相对应的实体。实际上,我们将实体的标题和维基百科文章的前128个标记作为其标题t(ei)和描述d(ei)。

我们提出了一种端到端实体链接系统,它在一次通过BERT的情况下同时进行提及检测和实体消歧。

给定一个输入问题q = q1 ··· qn,其长度为n,我们首先基于BERT(Devlin等人,2019)获得问题标记表示:
在这里插入图片描述
在这里,每个qi都是一个h维向量。然后我们得到每个ei ∈ E的实体表示xe
在这里插入图片描述
where [CLS] 表示我们选择[CLS]标记的表示。我们将候选提及视为所有文本中的跨度[i, j](q的第i个到第j个词),长度不超过L。

提及检测 为了计算候选跨度[i, j]作为实体提及的可能性分数,我们首先为每个词作为提及的开始或结束获得分数:
在这里插入图片描述
中wstart和wend属于Rh是可学习的向量。我们还计算每个标记t作为提及部分的得分:
在这里插入图片描述
其中wmention属于Rh是一个可学习的向量。我们最终计算提及概率为:

在这里插入图片描述
实体消歧 我们为每个提及候选者[i, j]获得一个表示,通过平均qi ··· qj来计算一个相似度分数s,以此来比较提及候选者和实体候选者e ∈ E之间的相似性:
在这里插入图片描述
然后我们计算在提及[i,j]的条件下所有实体的概率分布:
在这里插入图片描述
训练 我们通过优化其损失之和来联合训练提及检测和实体消歧组件。我们使用二元交叉熵损失函数对所有提及候选进行优化:
在这里插入图片描述
其中y[i,j]表示[i, j]是否为一个黄金提及范围,如果是则为1,否则为0。N是我们考虑的总候选人数。实体消歧损失由以下给出:

在这里插入图片描述
例如,eg是对应于提及[i, j]的金实体。

为了加快训练速度,我们采用了一种简单的迁移学习技术:我们将Wu等人(2020)在维基百科上训练的实体编码器的权重固定,只在问答数据上训练问题编码器。此外,我们还挖掘了硬负样本。由于实体编码是固定的,因此可以实现实时快速搜索硬负样本。

推断 图1展示了我们的推断过程。给定一个输入问题q,我们使用我们的提及检测模型来获得我们的提及集M={[i,j]:1≤i≤j≤min(i+L-1,n),p([i,j])>γ},其中γ是我们的阈值(超参数)。然后,我们计算每个提及[i,j]∈M的p(e,[i,j])=p(e| [i,j])p([i,j]),并根据γ进行阈值处理。与先提取提及,然后对实体进行消歧的两阶段管道(F´evry等人,2020)不同,联合方法为我们提供了灵活性,可以考虑多个可能的候选提及来进行实体链接。这在问题中可能是至关重要的,因为从短小、嘈杂的文本中一次性提取提及可能会很困难。

更多实现细节可以在附录D中找到。

4 实验

4.1 数据

我们在这两个问答数据集上评估我们的方法:WebQSP(Yih等人,2016年)和GraphQuestions(Su等人,2016年),其中提供了额外的实体注释,由Sorokin和Gurevych(2018年)提供。原始数据集中并非所有提及边界标签都已标注。因此,为了评估提及检测和实体消歧,我们扩展了以前的标签并创建了新的端到端问题实体链接数据集:WebQSPEL和GraphQEL。根据我们的任务定义,每个问题中出现的所有实体都标记为(e,[ms,me]),其中e∈E是对应于q中从ms到me的标记跨度的实体。我们要求四位内部注释者在给定问题中的黄金实体的情况下确定相应的提及边界。我们排除那些链接到空或没有实体、不在维基百科中或者过于泛化或错误的例子(例如,将一个概念如结婚链接过来)。为了检查四位注释者之间的互注释一致性,我们留出一个共享的文件集(包括来自两个数据集的文件),让所有四位注释者对其进行注释。我们发现,在这个共享的文件集上,精确匹配的注释者间一致率为95%(39/41)。

表1报告了最终数据集WebQSPEL和GraphQEL的统计信息。遵循Sorokin和Gurevych(2018)的方法,我们将WebQSPEL用于训练,GraphQEL用于零次评估。
在这里插入图片描述

表1:WebQSPEL和GraphQEL的数据集统计信息。#Q和#E分别表示问题的数量和实体的数量。

评估指标 根据Carmel等人(2014)定义的规则,只有当实际实体被识别且预测提及边界与实际边界重叠时,预测才算正确。(这有时被称为“弱匹配”。)具体来说,令T为一组黄金实体-提及元组集合,T 为一组预测的实体-提及元组集合,我们定义精确度(p)、召回率(r)和F1分数(F1)如下:
在这里插入图片描述
基准方法: 我们使用以下基准方法:(1) TAGME (Ferragina 和 Scaiella, 2012),这是一个轻量级的、实时的实体链接系统,广泛应用于许多下游问答任务,速度远超大多数神经网络模型(Joshi 等人,2017;Sun 等人,2018;Min 等人,2019),(2) VCG (Sorokin 和 Gurevych, 2018),这是目前在 WebQSP 上表现最佳的实体链接系统,以及 (3) BLINK (Wu 等人,2020) 中的双编码器。 由于BLINK需要预先指定提及的边界作为输入,我们会在WebQSP上训练一个独立的基于BERT的跨度提取模型来预测提及的边界(详情请参阅附录B)。

4.2 结果

表2展示了我们的主要结果。我们发现,基于BERT的双编码器模型在两个数据集上的表现都远远超过了现有的最先进方法(VCG),并在运行时间上也有所优势。此外,ELQ在与所有其他在相似设置下训练的模型相比时,表现更优,并且比所有其他神经基线(VCG和BLINK)更加高效。ELQ还比TAGME好得多,在WebQSPEL的情况下,甚至达到了2.3倍的提升。
在这里插入图片描述

表2:在WebQSPEL和GraphQEL测试数据下的结果,共有3种训练设置。‘#Q/s’(每个问题的数量)表示在1个CPU上的推理速度。在相似设置下训练的模型被归为一类。总体最高分数用粗体标出,每种设置下的最高分数用下划线标出。
†VCG的结果与原始论文中的数字不同,因为评估集略有不同。

性能 ELQ的表现超过了BLINK,这表明可以通过从单个模型中训练表示来解决文本中所有实体的引用边界以及提及范围,而无需像BLINK那样限制模型只关注单一标记的实体。

运行时间 我们记录在CPU上的推理速度,以每秒处理的问题数量来衡量所有模型(表2)。对于BLINK,我们报告跨度提取模型和BLINK实体链接器的组合速度,以便比较端到端的速度。ELQ在一次BERT传递中同时进行检测和消歧,比BLINK快大约2倍,而BLINK需要多次传递。此外,与TAGME(Ferragina和Scaiella,2012)相比,ELQ在WebQSPEL上只慢1.5倍,在GraphQEL上只慢2.0倍,尽管TAGME是一个完全非神经网络模型(准确度低得多)。

5 QA 实验

为了展示改进的实体链接对最终问答精度的影响,我们使用GraphRetriever(GRetriever)(Min等人,2019年)进行了文本开放领域问题回答的任务实验。GRetriever利用实体链接在检索步骤中构建一个包含段落的图,并部署一个阅读器模型来回答问题。原始模型使用TAGME进行实体链接;我们用ELQ替换TAGME,并保持其他组件不变,以便隔离实体链接的影响。作为额外的基线,我们还加入了TF-IDF的结果,由陈等人(2017)实现,这是一种广泛使用的检索系统。

结果如表3所示。按照开放领域的问答文献,我们在三个数据集上评估我们的方法,包括WebQuestions(Berant等人,2013年),Natural Questions(Kwiatkowski等人,2019年)和TriviaQA(Joshi等人,2017年)。特别是WebQuestions(WQ)和Natural Questions(NQ)包含了来自网络查询的简短、嘈杂的问题,这与我们工作的动机相一致。我们发现,简单地将TAGME替换为ELQ可以显著提高性能,包括在WQ和NQ上分别获得5.9%和3.9%的绝对改进。虽然基于维基百科训练的ELQ总体上取得了良好的结果,但在WebQSPEL上的进一步微调可以在WQ上带来额外的增益。这表明,如果在同一领域的实体链接注释可用,使用它们来微调ELQ可以带来进一步的收益。
在这里插入图片描述

表3:在WebQuestions(WQ)、Natural Questions(NQ)和TriviaQA(TQA)测试集上的QA结果(精确匹配)。ELQWiki代表在维基百科数据上训练的我们的模型,而ELQQA代表在维基百科+WebQSPEL数据上训练的我们的模型。
†结果来自(Min等人,2019)。

6 分析

提及检测器与实体链接器 我们设置了实验来区分ELQ的实体链接器和提及检测器的能力。首先,为了测试仅提及检测器(MD仅),我们测量预测提及边界和实际提及边界的重叠,忽略实体标签。接下来,为了仅测试实体链接器(EL only),我们为实体链接组件提供黄金提及边界,并计算得到的F1分数。我们对ELQ和BLINK都进行了这个操作。为了可比性,我们使用在维基百科上训练的ELQ版本。结果如表4所示。令人惊讶的是,我们发现ELQ的两个组件都优于BLINK,这表明这两个任务可能从联合训练中相互受益。
在这里插入图片描述

表4:分析提别检测器和实体链接器在WebQSPEL(开发版)上的性能。我们将我们的维基百科训练模型与BLINK进行比较。MD + EL表示端到端F1分数(正常设置)。

运行时间 为了确认我们的双编码器的主要瓶颈是BERT前向传递,从而值得投资于减少BERT的前向传递次数,我们分别计算了ELQ在推理过程中的每个组件的时间。我们一次运行WebQSPEL测试集中的示例,并通过ELQ在1个CPU上平均运行时间。事实上,我们发现BERT前向传递是模型中最慢的部分,耗时0.683秒,比下一个最慢的模型组件(内积搜索,耗时0.107秒)慢6倍以上。其他所有部分总共耗时5.08 x 10-3秒。

定性 我们手动检查我们模型在WebQSPEL和GraphQEL开发集上的所有错误。我们识别出四个大类的错误:(1)技术上正确 - 我们的模型在技术上是正确的,但评估的局限性错误地惩罚了我们的模型(即,我们找到了一个或多或少相同的实体的更精确版本),(2)不够足够的实体 - 模型没有完全识别问题中的所有实体,(3)错误的实体 - 我们的模型链接到了错误的实体,(4)缺乏上下文 - 由于缺乏上下文(即使是合理的人也会犯的错误),模型做出了合理的错误。错误类型 详情请参阅表5。
在这里插入图片描述

表5:每个错误类型的频率在每个开发集上的细分(以该数据集上所有错误的百分比表示)。我们在这里使用在维基百科+WebQSPEL上训练的ELQ。

7 结论

我们提出了一种针对问题的端到端实体链接模型,该模型在一次通过BERT的过程中联合执行提及检测和消歧。我们证明了它具有很高的效率,并且在两个基准测试中优于以前的最先进的模型。此外,当应用于问答模型时,ELQ提高了该模型的最终问答准确性。尽管最初是为问题设计的,但我们相信ELQ也可以推广到更长、更规范的文档。

A 注释统计

我们向注释员展示一个问题和问题中的一个黄金实体,并指示他们对(即,在周围加括号)适当的提及范围进行注释。
在这里插入图片描述

表6:所有4个注释员标注的共享数据集的统计信息。我们计算精确匹配和一致同意的情况,即两个提及边界必须完全匹配,并且所有4个注释员都必须达成共识。

为了进行质量控制,我们创建了一个共享的注释集,从每个数据集中抽取一部分示例,并让所有四位注释员对那个集进行标注。表6显示了我们在共享集上的注释者间一致性的统计信息。请注意,只有2个例子没有得到所有注释者的同意。这两个有冲突的例子及其相应的注释如下:
在这里插入图片描述

B 提及边界检测的跨度提取模型

BLINK实体链接器需要在输入中标记提及边界。为了与BLINK进行端到端实体链接的评估,我们首先训练一个跨度提取模型来获取候选提及边界,然后在这些候选提及上使用BLINK。我们的跨度提取模型首先使用BERTbase为问题q中的每个令牌qi生成密集表示:
在这里插入图片描述
该模型然后计算每个标记qi的起始跨度概率ps(qi|q)和结束跨度概率pe(qi|q),使用可学习向量ws和wt分别进行计算:
在这里插入图片描述
该模型的目标是最大化WebQSP训练集中的每个正确提及[qs, qe]的ps(qs|q) × pe(qe|q)的概率。同样,在推断过程中,它输出得分最高的K个跨度。这些跨度被用作提及边界候选者,以在端到端环境中评估BLINK。

C 分析

训练剔除 表7展示了我们训练方案的每个组件对最终结果的贡献。我们在WebQSPEL(验证)上的模型性能记录在经过20个(共100个)训练周期后,只看到了20%的数据。我们发现,无论是我们的迁移学习技术还是对抗性硬负样本训练都能加速收敛。
在这里插入图片描述

表7:在经过20个周期后,对我们的训练方案进行的消融实验。同时使用预训练的候选编码器进行迁移学习和对抗性训练来加速收敛。

定性错误分析 我们记录了我们四个错误类别(技术上正确、实体不足、错误的实体和上下文不足)的具体示例,详细情况在第6节中描述。请注意,在WebQSPEL开发中有61个总错误,在GraphQEL开发中有158个总错误。具体示例可以在表9中找到。

D 实现细节和超参数

按照Wu等人(2020年)的方法,我们使用BERTLarge(约3.4亿个参数)作为问题和实体编码器。在附录B中详细介绍了用于我们的BLINK基线的跨度提取模型,它是一个BERTBase模型(约1.1亿个参数)。

我们将所有输入到ELQ的内容在训练和推理时都转换为小写,使其不区分大小写。在训练和推理过程中,提及评分器考虑所有长度不超过L=10的跨度。

训练 训练期间,我们使用FAISS(Johnson等人,2019)进行快速内积搜索,以便挖掘困难的负样本。我们在实时环境中,在训练循环内部执行此操作。由于我们不更新实体编码器,因此可以使用单个FAISS索引来训练模型,大大提高了训练速度。为了进一步加速,我们使用了分层索引(IndexHNSWFlat),其中efConstruction=200,efSearch=256。

对于每个迭代的LED,计算s(e, [i, j])对每一个e ∈ E是难以处理的。因此,我们通过将E替换为E’来近似LED,其中E’是一个硬负实体集,具体来说,是指与提及表示具有最高10个相似度得分的负面实体。

对于我们的WebQSPEL训练模型,我们使用批处理大小为128和上下文窗口大小为20个令牌,在WebQSPEL数据上训练多达100个周期。对于我们的维基百科训练模型,我们将数据均匀划分为100个片段,并对每个片段进行训练(因此,总共对维基百科进行一次遍历)。对于维基百科,我们使用批处理大小为32,上下文窗口大小为128个标记。对于维基百科+WebQSPEL模型,我们采用在维基百科上训练的模型,并在其上进一步微调WebQSPEL,最多100个周期(使用WebQSPEL训练设置)。对于所有三个训练设置,我们使用AdamW优化器,学习率为1e-5,结合线性时间表和10%的预热。我们将梯度剪裁到最大范数1.0。

推断 在推断过程中,我们考虑所有提及候选对象[i, j],其提及得分log p([i, j]) >= gamma。如果没有任何一个提及候选对象的得分为>= gamma,我们只需采用得分最高的前50个提及对象。gamma是我们在每个数据集的开发数据上调整的一个阈值。

链接器随后检索每个提及边界附近的10个最近实体候选者。我们使用与训练过程中相同的分层FAISS索引来加快检索速度。由于搜索是近似的,我们预计会有一些性能下降。然而,在实践中,我们发现为了显著提高速度而牺牲的性能非常小。在WebQSPEL开发集上,F1得分从92.5降至91.9,但运行时间从127.0秒降至24.3秒(针对整个数据集,批量大小为64)。

由于对所有实体计算softmax在log p(e|[i, j])中是不可行的,我们只对我们的10个检索到的候选者进行softmax。 最后,我们根据γ阈值最终的联合分数log p([i, j]) + log p(e|[i, j])。

我们使用手动调整和二进制搜索来找到表现最佳的超参数阈值γ。我们在WebQSPEL和GraphQEL的开发集上优化F1分数。最好的设置如表8所示。
在这里插入图片描述

表8:基于各自开发集的最佳阈值超参数值γ。

如问题数据中不允许出现重叠提及,我们还有一个额外的全局步骤来删除重叠的提及边界。在存在多个实体的情况下,我们每次贪婪地选择得分最高的实体,并删除与之重叠的所有实体。

E 基础设施详情

我们让所有训练在8个NVIDIA TESLA V100 GPU上运行,每个GPU有32GB的内存。对于80个CPU推断,我们在两个Intel® Xeon® CPU E5-2698 v4 @ 2.20GHz芯片上运行,每个芯片有20个核心(40个线程)。对于1个CPU推断(如表2中所示),我们只在一个单核上运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值