论文:Efficient One-Pass End-to-End Entity Linking for Questions
代码:BLINK/elq at main · facebookresearch/BLINK · GitHub
ELQ是一个面向问答的端到端实体链接模型,它可以用双编码器先后实现实体提及的识别和实体链接。 ELQ可用于下游的问答系统。
模型
方法
给定一个问题 q 和一组来自维基百科的实体 (每个实体都有标题和文本描述),我们的目标是输出三元组列表。其中 是问题q中从到 之间的分词提及广度对应的实体。实践中,我们将有关实体的维基百科文章的标题和前128个分词作为该实体的标题和描述 。
本文提出了一个端到端的实体链接系统,它可以基于BERT对问题先后进行提及检测和实体消歧。
给定一个长度为n的输入问题q = q1···qn,基于BERT获取该问题的分词表示。
然后,获取每个实体 的实体表示。
识别实体提及
为了计算候选span [i, j]作为一个实体被提及的可能性得分。
① 计算每个分词作为一个提及的开始或结束的得分。
② 计算每个分词作为一个提及的中间的得分。
③ 计算实体提及可能性。
实体消歧
① 通过取qi···qj的平均值来获得每个提及候选[i, j]的提及表示法,并计算提及候选(问题中的)与实体候选(知识库中的)之间的相似度得分s。
② 基于提及[i,j] ,计算所有实体的可能性分布。
模型训练
我们通过优化它们的损失和,联合训练 识别实体提及 和 实体消歧 组件。
我们在所有的提及候选中使用二元交叉熵损失函数:
实体消歧损失函数:
为了加速训练,我们使用了一种简单的迁移学习技术。我们使用Wu等人(2020)在维基百科上训练的实体编码器,保持其权重不变,只在问答数据上训练问题编码器。此外,我们还挖掘负样例。由于实体编码是固定的,所以实时快速搜索负样例是可能的。
推理
给定一个输入问题q,我们使用 提及检测模型 来获得我们的实体提及集合
M =
其中,是一个阈值(超参数)。
然后根据,我们计算每个实体提及的可能性分布和阈值:
实验
数据集
原始数据集:WebQSP(2016) 和 GraphQuestions(2016)。
原始数据集没有注释所有提及边界标签。因此,为了评估提及检测和实体消除歧义,我们扩展了之前的标签,并创建了新的端到端问题实体链接数据集和。
Baselines
(1) TAGME(2012)
(2) VCG(2018)
(3) BLINK(2020)
实验结果
小结:
通过BERT,ELQ 可以将实体识别和实体链接放在一起实现,相比之前分开实现的模型,这很大的提高了效率,并且性能也很好。但是如果要用ELQ的话需要在对原始数据集进行处理(对实体提及的边界进行标注),感觉是比较麻烦的。当然如果直接用本文提到的数据集应该会减少很多工作量。