自回归实体检索 《Autoregressive Entity Retrieval》

论文地址:https://arxiv.org/pdf/2010.00904.pdf

相关论文
【自然语言处理】【检索】GENER:自回归实体检索
【自然语言处理】【向量检索】面向开放域稠密检索的多视角文档表示学习
【自然语言处理】【对比学习】SimCSE:基于对比学习的句向量表示

一、简介

​ 通过自然语言来从大型知识库中检索正确实体的能力,是一些应用的基础能力。大多数的商业推荐系统都需要对文本中的实体mention进行检测和消歧。另一个例子是聊天机器人和问答系统,其通常会配备一些检索组件用来获取维持对话或者回答问题的KB\text{KB}KB条目。

​ 虽然先前有大量的实体检索工作,但是这些工作都有一个共同的设计选择:实体会被关联到唯一的标签,并且检索问题被建模为这些标签上的多分类问题。输入文本和标签的匹配是通过一个bi-encoder计算的,即输入文本的向量与实体元信息之间的点积。这样的形式可以使用现代的最大内积搜索库来达到次线性的搜索效率。

​ 但是,这样的方式也有几个缺点。首先,除非使用昂贵的cross-encoder进行re-ranking,否则点积的方式会缺少输入和实体元信息间的细粒度交互。第二,为整个KB\text{KB}KB存储向量需要大量的存储空间,并且会随着新实体的增加而线性增加。第三、在所有实体上计算一个精确的softmax是非常昂贵的,当前的解决方案都是需要对负样本进行下采样的。调优一组适当的难负样本是具有挑战且耗时的。最后,系统会遭受冷启动问题,因为其并不能表示出那些没有收集到充分信息的实体,比如实体的文本描述或者实体的一组关系。

​ 本文作者提出了GENER(Generative ENtitiy REtrieval)\text{GENER(Generative ENtitiy REtrieval)}GENER(Generative ENtitiy REtrieval)。第一个利用sequence-to-sequence架构并基于上下文自回归方式生成实体名称的实体检索器。具体地,GENER\text{GENER}GENER利用微调BART\text{BART}BART来生成实体名称。这种架构能够保留一定程度上保留事实知识和语言翻译技巧,这有助于实体检索器。当然,生成的输出可能不总是有效的实体名称。为了解决这个问题,GENER\text{GENER}GENER利用一个约束解码器来强制生成的每个名字在预定义的候选集中。

​ 自回归的形式可以直接捕获上下文和实体名称的关系,并且能够对上下文和实体名称进行有效的交互。此外,所需的存储空间也比当前的系统小好几个数量集,因为sequence-to-sequence模型的参数量与词表的大小线性相关,而不是实体数量。针对每个输出的tokensoftmax可以被高效计算,从而不需要进行负样本下采样。最后,GENER\text{GENER}GENER不需要访问实体的任何元信息,因此新实体可以通过向候选集添加无歧义的名称。

​ 作者在三种任务的20个数据集上评估了GENER\text{GENER}GENER:(1) 实体消歧;(2) 端到端实体链接;(2) 文档检索。本文的方法几乎在所有数据集上都实现了state-of-the-art或者非常有竞争力的结果。此外,相比于近期的方法,GENER\text{GENER}GENER需要更少的存储空间(平均小于20倍)。

二、实体检索

​ 假设有一个实体集合E\mathcal{E}E,其中每个实体都是一个知识库中的条目(entry)。本文要解决的问题是:给定一个文本输入源xxx,一个模型能够从E\mathcal{E}E中返回与xxx最相关的实体。假设每个e∈Ee\in\mathcal{E}e∈E会被分配一个唯一的文本表示:一个tokens序列yyy。

​ 该问题的一个实例是实体消歧(Entity Disambiguation,ED)\text{(Entity Disambiguation,ED)}(Entity Disambiguation,ED),给定一个被标注了mention的输入文本xxx,系统需要从E\mathcal{E}E中选择出mention对应的实体。另一个实例是文档检索文档检索(Document Retrieval,DR)\text{(Document Retrieval,DR)}(Document Retrieval,DR),将输入文本xxx作为query,E\mathcal{E}E是文档集合。

三、方法

​ 本文通过sequence-to-sequence模型来生成实体的文本标识符,从而解决检索问题。具体来说,GENER\text{GENER}GENER通过一个自回归的形式计算一个分数,然后利用分数来排序e∈Ee\in\mathcal{E}e∈E:score(e∣x)=pθ(y∣x)=∏i=1Npθ(yi∣y<i,x)\text{score}(e|x)=p_\theta(y|x)=\prod_{i=1}^N p_\theta(y_i|y_{<i},x)score(e∣x)=pθ​(y∣x)=∏i=1N​pθ​(yi​∣y<i​,x),其中yyy是eee的标识符中NNN个token的集合,θ\thetaθ是模型参数。GENER\text{GENER}GENER利用微调的BART\text{BART}BART预训练语言模型,并使用标准的seq2seq目标函数,即最大化输出序列的似然函数、带dropout的正则化和标签平滑。具体来说 ,目标函数是典型的机器翻译,最大化log⁡pθ(y∣x)\log p_\theta(y|x)logpθ​(y∣x)。由于采用了因子分解,可以被有效的计算。

1. 基于约束Beam Search\text{Beam Search}Beam Search

​ 在测试时,可以计算E\mathcal{E}E中每个元素的评分并进行排序。不幸的是,当E\mathcal{E}E太大时其可能计算太昂贵。因此,作者利用Beam Search(BS)\text{Beam Search(BS)}Beam Search(BS),一种能够有效检索搜索空间中近似解码策略 。相比于对E\mathcal{E}E中所有实体进行精确的评分,本文使用具有kkk个beams的BS\text{BS}BS来E\mathcal{E}E中搜索出top-k\text{top-k}top-k个实体。注意,使用BS\text{BS}BS意味着检索器的时间代价不依赖于E\mathcal{E}E的大小,而是beams的尺寸和自回归生成实体表示的平均长度。通常实体表示的平均长度不太长,并且本文使用标准NMT\text{NMT}NMT设定,即kkk很小。

​ 因为需要输出E\mathcal{E}E中的实体,所以不能使用传统的BS\text{BS}BS进行解码。确实,在每个解码步骤中允许生成词表中的任意token可能会导致模型生成的字符串并不是有效的标识符。因此,这里求助于约束BS\text{BS}BS,强制仅解码出有效的标识符。在解码过程中BS\text{BS}BS仅能考虑前一步,因此只能基于上一个token来约束生成当前的token。作者使用前缀树T\mathcal{T}T来定义约束,树中的每个节点都是来自于词表。

​ 上图是一个前缀树(trie)\text{(trie)}(trie)的例子。当输出的数量可控,则trie\text{trie}trie相对较小,可以提前预计算并存储在内存中。使用约束来遮蔽无效tokens的对数概率,而不是logits

2. 自回归端到端实体链接

​ 本文扩展了自回归框架来解决端到端的实体链接(Entity Linking,EL)\text{(Entity Linking,EL)}(Entity Linking,EL)。给定一个文档,系统必须检索出实体提及,并将这些实体提及链接至知识库中的实体。在这种设定下,模型需要预测带有标注span的原始输入 ,并使用特殊的tokens来标记spans的边界。

​ 带有标注的输出空间是指数级的大。因此,预计算一个trie用于解码是十分困难的,所以改为动态计算。上图展示了一个例子 。在每个生成步骤中,解码器要么生成一个mention span、要么生成一个mention链接、要么继续输出输入源。当生成步骤处于mention或者entity之外,解码器仅有两个选择:(1) 继续从输入源拷贝下一个token;(2) 生成一个mention的开始符(例如[),其会使解码器进入mention生成阶段。当处于生成mention时,解码器可以从输入源中继续复制下一个token,或者是直接生成mention的结束符(]),这会使解码器进入实体生成阶段。最后,当处于生成实体阶段,解码器会利用trie和约束Beam Search使其能够输出有效的实体标识符。

四、实验

  • 实体消歧(Entity Disambiguation, ED)

  • 端到端实体链接(End-to-End Entity Linking, EL)

  • 页级文档检索(Page-level Document Retrieval, DR)

【自然语言处理】【检索】GENER:自回归实体检索相关推荐

  1. 多语言互通:谷歌发布实体检索模型,涵盖超过100种语言和2000万个实体

    来源:新智元 本文约1500字,建议阅读5分钟 实体链接(Entity linking)通常在自然语言理解和知识图谱中起着关键作用.谷歌AI研究人员近期提出了一种新的技术,在这种技术中,可以将特定语言 ...

  2. 多语言互通:谷歌发布实体检索模型,涵盖超百种语言和千万个实体

    实体链接(Entity linking)通常在自然语言理解和知识图谱中起着关键作用.谷歌AI研究人员近期提出了一种新的技术,在这种技术中,可以将特定语言解析为与语言无关的知识库. 如果一段文本中提到一 ...

  3. 在计算机检索系统中常用的检索技术有,计算机检索技术有哪些

    计算机检索技术:1.布尔逻辑检索:利用布尔逻辑算符进行检索词或代码的逻辑组配.2.截词检索:截词检索是计算机检索系统中应用非常普遍的一种技术.3.位置检索.4.字段限定检索.5.加权检索.6.聚类检索 ...

  4. 计算机检索的优点,专利检索与分析系统拥有哪些优势?

    专利检索与分析系统拥有哪些优势?现在很多朋友都在了解专利检索与分析系统又有哪些优势,因为他们需要使用这些系统,不少朋友都会利用业余时间搞各种发明专利,并申请发明专利,在申请之前,人们就需要对专利进行检 ...

  5. 计算机有关的文献检索题目,文献检索第二次计算机检索实习题目(2016.4.10).doc

    文档介绍: 第二次计算机检索实****题目本次实****目的是使学生对以下三个外文数据库:PENDEX数据库.荷兰SDOS数据库.德国Springer数据库的使用方法有所了解.通过题目,使学生分别掌握 ...

  6. 计算机检索技术与技巧的检索式为,第四章计算机检索技术和数据库检索方式.ppt...

    第四章计算机检索技术和数据库检索方式 第四章 计算机信息检索的基本技术与方法 一.计算机信息检索的基本技术: 布尔逻辑.截词检索.加权检索,位置算符等. 在进行计算机检索时,有时有一些比较复杂的课题, ...

  7. 文献检索报告软件测试,文献检索报告及文献综述.doc

    文献检索报告及文献综述 报告编号:2008 文 献 检 索 报 告 项目名称:糖尿病防治研究综述 检 索 人: 检索项目中文:糖尿病防治研究综述检索项目英文:the research summary ...

  8. 网络检索技术3--文献检索

    一.文献密码搜索的方法概述 文献密码搜索的方法精要总结如下: 1.google是密码搜索的利器 2.标准检索表达式:杂志名(数据库名)+password+username 3.检索表达式的变异(pw, ...

  9. c语言检索课题报告,文献检索实验报告(一)范文 - 图文

    文献检索实验报告(一) 实验名称 中文数据库信息检索实验 姓 名 实验日期 年 月 日 学 号 专业班级 实验地点 指导老师 陈多 评 分 一. 实验目的: 1. 通过检索实验,使学生加深对课堂所讲检 ...

最新文章

  1. ZOJ 3879 Capture the Flag(模拟)
  2. 赶紧3分钟学完15分钟的内容我要出去玩(8)
  3. java处理unicode_C# JavaScript Java 与 中文 unicode 处理
  4. 计算机管理mmc无法,电脑提示mmc无法创建管理单元的问题可以这样解决
  5. Angular 自定义模块
  6. liunx中的gcc命令
  7. 【windows】修复win7便签
  8. 计算机中保留两位小数的表示方法,小数点的表示方法_计算机中表示带小数点的数有两种方法,...
  9. 01 LeNet-5论文笔记-Gradient-Based Learning Applied to Document Recognition
  10. 水经注地图发布服务的安装与卸载
  11. (已更新)娱乐微信小程序源码下载-多玩法安装简单
  12. VS code,Live Server更改默认浏览器
  13. 科研难做,何不使用Nvivo?
  14. iOS cocoapods的版本升级更新
  15. Android Things:外设I/O接口-UART
  16. 【前端三剑客三】 JavaScript
  17. isalpha()函数
  18. 2012IT公司校园招聘笔试面试题
  19. 揭秘交换机市场内幕,“准工业级”猫腻你中招了吗?
  20. vue的混入mixin拙见

热门文章

  1. C语言学习日记(2)——写个Hello,World测试一下
  2. 京冀41所医院和急救中心成为北京冬奥会定点医院
  3. 指爱打字群添雨跟打器使用教程(指爱群新手教程)-by指爱群友
  4. python一键扣图_Python实例:一键批量抠图
  5. python ccf题解 201412-3 集合竞价
  6. 全免费、保姆级Eclipse32位软件、安装、运行一条龙记录
  7. qBittorrent
  8. 2022电工(初级)上岗证题目及答案
  9. windows10电脑在哪配置DNS
  10. Android获取手机屏幕像素大小