信息检索(六):Autoregressive Search Engines: Generating Substrings as Document Identifiers

Autoregressive Search Engines: Generating Substrings as Document Identifiers


原文链接:https://proceedings.neurips.cc/paper_files/paper/2022/file/cd88d62a2063fdaf7ce6f9068fb15dcd-Paper-Conference.pdf
(2022)


摘要

知识密集型语言任务要求 NLP 系统在给定语料库中提供正确答案并检索支持证据。自回归语言模型正在成为生成答案的事实上的标准,更新、更强大的系统以惊人的速度出现。在本文中,我们认为所有这些(以及未来)的进展都可以直接应用于检索问题,而对模型架构的干预最少。之前的工作探索了将搜索空间划分为层次结构并通过自回归生成唯一标识符来检索文档的方法。在这项工作中,我们提出了一种不强制搜索空间中任何结构的替代方案:使用段落中的所有 ngram 作为其可能的标识符这种设置允许我们使用自回归模型来生成和评分独特的 ngram,然后通过高效的数据结构将其映射到完整的段落。根据经验,我们表明这不仅优于之前的自回归方法,而且与 KILT 基准上的段落级检索的更成熟的检索解决方案相比,平均提高了至少 10 个点,在某些数据集上建立了新的最先进的下游性能,同时使用比竞争系统轻得多的内存占用。代码和预训练模型可在 https://github.com/facebookresearch/SEAL 获取。
(自回归语言模型(AR),代表是GPT;自编码的语言模型(AE):代表是BERT。
KILT:知识密集型NLP任务,以维基百科作为知识库。一般来说,解决知识密集型的任务需要–甚至对人类来说–获取大量的信息。就像在信息检索(IR)中,这涉及到利用大量的文本集合来满足信息需求(Manning等人,2008)。然而,虽然IR的重点是寻找相关的材料(通常是文件),但我们所考虑的任务侧重于更精细的行为,如对查询产生具体的答案。)

1. 引言

在处理知识密集型语言任务时,从大型语料库中呈现知识是至关重要的一步[Levy et al, 2017, Dinan et al, 2019, Elsahar et al, 2018, Petroni et al, 2021],例如开放域问答[ V oorhees 等人,1999;Joshi 等人,2017;Yang 等人,2018;Kwiatkowski 等人,2019] 和事实核查 [Thorne 等人,2018]。处理此类任务的流行范例是将搜索引擎与机器阅读器组件相结合。前者通常以短文的形式检索相关上下文,然后后者对其进行检查以产生答案 [Chen et al, 2017; Lewis et al, 2020; Izacard and Grave, 2021]。

近年来,我们见证了自回归语言模型的研究和开发激增 [Radford et al, 2019, Lewis et al, 2019, Raffel et al, 2019, Brown et al, 2020, Rae et al, 2021, Artetxe et al ,2021,Smith 等人,2022],其规模和自然语言理解(NLU)能力不断增加。此类模型目前是检索-阅读器架构中机器阅读器组件的实际实现,并为各种基准测试的快速进展做出了贡献 [Joshi 等人,2017 年;Kwiatkowski 等人,2019 年;Petroni 等人,2021 年]。然而,激进建模的这些巨大进步尚未在检索方式上带来类似的变革。

将现代自回归模型的 NLU 功能转移到检索并非易事。一些工作已经证明,通过给定查询直接生成证据,可以在某种程度上检索存储在这些模型参数中的知识[Petroni et al, 2019, 2020, Robertset al., 2020]。然而,这种方法已被证明是不可靠的,因为它们容易产生非事实内容的幻觉[Massarelli et al, 2019, Metzler et al, 2021, Ji et al, 2022]。为了缓解这个问题,之前的工作建议在传统搜索引擎中仅使用生成来进行查询扩展[Mao et al, 2021],但这些解决方案没有充分利用自回归架构的潜力,例如词序敏感性和条件概率建模,并且仍然落后于基于向量的方法 [Karpukhin et al, 2020]。

最近,另一项工作研究了使用自回归语言模型为文档生成标识符字符串作为检索的中间目标,例如维基百科页面标题 [De Cao 等人,2021b],或分层集群中的根到叶路径树 [Tay 等人,2022]。使用标识符而不是直接生成证据,会在搜索空间中引入结构(即按标题或聚类树对文档进行索引),这比完整的非结构化段落更容易记忆、学习和检索。此外,使用前缀树“索引”来约束解码以便仅生成有效标识符是相对容易的。缺点是,如果没有适当的元数据(例如标题),则需要创建标识符,从而创建结构(例如,具有层次聚类),而该结构尚未在大规模基准上进行彻底评估。

在这项工作中,我们提出了一种解决方案,它不会强制搜索空间中的任何结构,而是使用文档中出现的所有 ngram 作为其标识符。具体来说,我们介绍具有自回归 LM 的搜索引擎 (SEAL),这是一种将自回归模型(即 BART [Lewis et al, 2019])与压缩全文子字符串索引(即 FM-Index [Ferragina])相结合的检索解决方案和 Manzini,2000]——参见图 1 的高级概述。这种配置有双重好处:
i) 我们可以使用 FM-Index 限制 BART 的生成,从而防止生成无效标识符(即 ngram 不会出现在任何文档中);
ii) FM-Index 提供语料库中包含特定 ngram(针对每个解码步骤)的所有文档的信息,从而允许检索它们
。此设置允许 SEAL 从语料库中的任何位置生成任何范围,而无需显式编码文档中的所有子字符串。此外,我们设计了一种新颖的评分函数,将 LM 概率与 FM 索引频率(即整个语料库中 ngram 的出现次数)相结合的多个 ngram 的结果相交。
(n-gram:n元语法是按特定顺序排列的n 个相邻符号的序列。这些符号可以是n个相邻的字母(包括标点符号和空格)、音节,或者在语言数据集中找到的很少的整个单词;或从语音记录数据集中提取的相邻音素,或从基因组中提取的相邻碱基对。)

我们的实验评估表明,SEAL 在自然问题上匹配或优于最新的检索解决方案(包括自回归解决方案)[Kwiatkowski 等人,2019],同时需要的内存大大减少(占用空间小约 2 到 7 倍)。此外,SEAL 的交叉公式在 KILT 基准上将段落级检索的最先进水平提高了 10 多个点 [Petroni 等人,2021],有助于建立新的最先进的下游结果在多个数据集与现有的阅读器技术配合使用时。

2. 相关工作

使用自回归模型进行检索的一种方法是使用唯一标识符,即指向文档的字符串指针,在某种程度上比完整文档本身更容易生成[De Cao et al, 2021b, Tay et al, 2022]。在我们的工作中,标识符是生成的 ngram,它们不一定只出现在一个文档中。请注意,使用短语来检索段落的想法已经在密集检索的背景下显示出前景[Lee et al, 2021a,b]。

我们的方法在概念上与文档 [Nogueira et al, 2019, Nogueira and Lin, 2021] 和查询扩展方法 [Mao et al, 2021] 完全不同,后者使用自回归模型来促进搜索,但仍然依赖于黑盒系统,例如BM25 [Robertson 和 Zaragoza,2009] 用于检索:在我们的工作中,生成和检索之间的界限是模糊的,因为我们直接生成真实的段落span。同样的推理也适用于为网络搜索引擎生成查询的模型 [Komeili et al, 2021, Shuster et al, 2022, Nakano et al, 2021, Lazaridou et al, 2022]。

事实上,所有基于字符串匹配的检索的现代方法都使用词袋表示。最近的许多工作提出了针对查询和文档术语的学习上下文加权[Dai and Callan, 2019, Gau et al, 2021, Lin and Ma, 2021, Mallia et al, 2021, Dai and Callan, 2020, Bai et al, 2020,赵等人,2021,Formal 等人,2021b,a]。其中许多方法还可以权衡查询中不存在的术语,解决所谓的词汇不匹配问题。相比之下,SEAL 生成(并评分)任意大小的 ngram。这些方法部分与 SEAL 正交,因为许多提出的技术可用于重新评分高阶 ngram。
(论文中的A is orthogonal(正交) to B是什么意思?意味着A与B的目标(要解决的问题)是一样的,但是方法论上并不相同。)

最后,一个相互关联的研究链是查询似然模型,它使用自回归模型根据给定段落 p 的查询 q 的概率 P (q|p) 对段落进行(重新)排序 [Nogueira dos Santos et al, 2020 ,Zhang 和 Zuccon,2021;Lesota 等人,2021;Sachan 等人,2022]。在我们的例子中,自回归架构对给定查询的 ngram 的可能性进行建模,即 P (n|q)。

3. 背景

在检索时,自动系统需要返回文档d1,d2,… , dn 的有序列表,来自检索语料库 R,给定查询 q。查询和文档都是文本,即token列表 ⟨t1, t2, … , tN ⟩,其中每个标记 t 都是从词汇表 V 中提取的。文本中的token span称为 ngram;大小为 1 的 ngram 称为 unigram。我们用 F(n, R) 表示 R 中 ngram n 的频率,即它在整个检索语料库中出现的总次数。
(给定查询,生成文档列表/ngram)
(生成序列-----通过某种数据结构-----检索语料库
生成序列也就是唯一标识符)

3.1 FM索引

我们的方法需要一个能够支持有效识别出现的子串的数据结构,以保证所有解码的序列位于检索语料库中的某个位置。此外,为了执行检索,我们需要能够识别生成的 ngram 出现在哪些文档中。倒排索引(没有有效的方法来搜索任意长度的短语)和前缀树(这将迫使我们显式编码文档中的所有 k 后缀)都不是可行的选择。满足我们要求的核心数据结构是FM索引[Ferragina and Manzini, 2000],即一个压缩后缀数组,作为自索引,不需要额外存储原始文本。FM 索引空间要求与语料库的大小成线性关系,并且对于小词汇表(例如现代基于子词的语言模型所使用的词汇表),因此通常比未压缩语料库小得多。 FM-index 可用于在 O(|n|log|V |) 中计算任何标记 n 序列的频率,即独立于语料库本身的大小。对于受限解码,可以在 O(|V |log|V |) 中获得可能的令牌后继列表。在内部,FM 索引依赖于 Burrows-Wheeler 变换 [Burrows and Wheeler,1994] 或 BWT,这是一种可逆变换,可以对字符串进行排列以使其更容易压缩,定义如下:字符串的所有旋转都已排序按字典顺序排列并以矩阵形式排列;矩阵的最后一列是字符串的 BWT。例如,给定字符串 CABAC,相应的矩阵为:
请添加图片描述
其中 $ 是特殊的字符串结尾标记。第一列 (F) 和最后一列 (L) 是唯一显式存储在 FM 索引中的列; F 只是一个游程数组(即重复标记的序列),由于旋转是排序的,因此它可以用每个字母符号的一个计数来表示; L,字符串的 BWT,将存储在称为小波树的数据结构中 [Grossi et al, 2003],它允许高效的排名选择访问查询,同时利用转换引起的可压缩性。

(普通搜索从文档里搜索一个关键词(文档→关键词),而倒排索引是首先知道了每个关键词都出现在了哪些文档里,从关键词搜文档(关键词→文档),正好目的反过来,和“颠倒搜索”没什么关系。所以说倒排索引只能根据固定关键词进行索引,不能搜索任意长度的短语)

变成 FM-index 问题

参考资料:

【1】KILT:https://zhuanlan.zhihu.com/p/597022121
【2】自回归和自编码:https://zhuanlan.zhihu.com/p/625714067
【3】n-gram:https://en.wikipedia.org/wiki/N-gram
【4】倒排索引:https://zhuanlan.zhihu.com/p/324378430

  • 13
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值