原文地址:https://arxiv.org/abs/2111.13853,本文是对其前6部分的翻译,后面有关数据集,未来发展方向的暂时没有翻译。文中涉及的相关文献请根据引用到原文对应寻找!
(一次成稿未免有疏漏,有问题欢迎在评论区讨论)
ABSTRACT
IR的核心问题是要根据用户的信息需求(information need),从大规模的语料中找到相关的文档,并且在排序之后返回给用户。近来由于深度学习的崛起,出现了比较火的研究方向NeuIR(即 neural information retrieval),特别是采用预训练的方法。受益于高难度的训练目标以及巨大的模型容量,预训练模型模型可以从大量的文本中学习到通用的语言表示,这对于IR中的排序任务是有极大帮助的。鉴于有许多工作致力于预训练模型(PTM)在IR领域的应用,本文将PTM的现有工作进行整理,得到对未来发展的一些看法。本综述对预训练模型在IR系统中各个阶段任务的应用均有涉及,比如retrieval部分,re-ranking部分以及其他部分。另外,本文还专门介绍用于IR 的PTM,并总结了相关的数据集,benchmark以及leaderboards。最后,我们对未来的挑战以及发展方向进行展望,并希望以此启发未来更多的相关研究。
1. INTRODUCTION
IR是现实世界很多应用的基础,比如数字图书馆,搜索引擎,问答系统等。IR的核心问题是从大规模的文档集合中检索回满足用户意图的资源。由于满足用户意图的资源可能很多,最后返回的应该是根据资源(文档)与用户意图的相关度排序过的列表。这种排序的属性使得IR任务与其他任务有别,使得研究者致力于各种各样排序模型的探索。
再过去的几十年中,有许多不同的模型出现,包括vector space models (Salton et al., 1975), probabilistic models (Robertson and Jones, 1976b)以及learning to rank模型(Li, 2011)。这些方法被成功地应用在了不同的IR应用中,诸如Google的网页搜索引擎,头条的推荐系统,Quora的社区问答系统等。最近,各种各样的neural ranking model被提出,引发了关于NeuIR的研究浪潮。不同于过去依赖人工特征和统计方法的non-neural models,neural ranking model能够自动地从数据中学习到低维连续向量,用于作为排序的特征,从而摆脱了复杂的特征工程。尽管neural models在IR中取得了成功,但大规模高质量的标注数据限制了模型的性能,因为这些neural model需要这些数据来学习大量的参数。
近年来,预训练模型(PTMs)流行起来并变革了NLP任务的研究范式。这个方法首先要通过自监督(self-supervised)训练的方式在大规模的语料上对模型做预训练,随后在下游任务上对模型做微调(fine-tune)从而达到SOTA的效果。相关工作表明,这些与训练模型可以捕捉到一些词法知识和常识类知识,这些知识有益于下游任务,并且在fine-tune过程中不需要从零学起。另外,随着硬件算力的提升以及Transformers模型结构的出现,预训练模型的参数规模可以有效且大规模地提升,从million级别到billion级别(BERT, GPT-3)甚至trillion级别(Switch-Transformers),这些都对IR的排序模型有提升。一方面,预训练模型是在大规模语料上通过自监督的方式训练得到的,它可以更好地理解查询的意图以及文档的语义;另一方面,经过堆叠的深层Transformers结构可以学习到查询与文档之间复杂的相关模式(即如何理解相关,这是一个比较抽象的概念)。由于这些潜在的优势以及对PTMs在IR上应该取得同其他NLP任务一样的成功的预期,我们见证了大量开发PTMs在IR上应用的工作。在本篇综述中,我们只关注PTMs在文本检索上的应用。关注PTMs在基于内容的图像检索上的应用可以参考(Dubey, 2020),或多模态检索上的应用可以关注(Fei et al., 2021)。
迄今为止,许多工作致力于PTMs在IR上的引用。学术上,研究者们提出了很多创新的方法。比如早起的工作尝试直接将通用预训练模型中学习到的知识迁移到排序模型中来,并取得了一定的效果(Nogueira and Cho, 2019; Dai and Callan, 2019b)。 再往后一些的工作提出增强已有的预训练模型,比如通过改变模型结构(MacAvaney et al., 2020; Khattab and Zaharia, 2020; Gao and Callan, 2021a),或者设计新的更适用于IR需求的预训练目标(Chang et al., 2019; Ma et al., 2021b; Ma et al., 2021c)。同时,在工业界,Google 2019年10月的技术博客以及Bing 2019年11月的技术博客都表明预训练的排序模型(比如基于BERT的模型)可以更好地理解查询意图并给搜索引擎提供更有用的结果。另外,观察到排序任务的leaderboard,可以发现排在前面的模型都是基于PTM构建的。考虑到关于PTMs在IR上研究的快速增加,我们认为现在要梳理一下该方向的发展现状,并获取一些未来发展的思路。
本篇综述中我们致力于提供一个关于PTMs在IR领域上系统且全面的总结,包括在一些顶会上(如SIGIR, TheWebConf, CIKM, WSDM, ICLR, AAAI, ACL, EMNLP和ECIR)以及期刊(TOIS, TKDE, TIST, IP&M和TACL)上发表的关于PTMs在深度学习,NLP以及IR领域上从2018到2021年的文章。也有一些以前的相关研究,比如Onal et al. (2018b)和Guo et al. (2020b)回顾了nueral IR相关研究,但没有涉及PTMs在IR上的研究。Yates et al. (2021)提供了早期的关于PTM在IR上应用的综述,但主要聚焦于BERT在文本排序上的应用。Cai et al. (2021b)回顾了统一框架下针对第一阶段retrieval任务的语义模型,包括早期的semantic retrieval模型,neural retrieval模型以及基于PTMs的retrieval模型。与之不同的是本篇针对的是IR任务中涉及到的各个阶段,包括第一阶段retrieval, re-ranking以及其他组件。我们还描述了专门设计用于IR任务的PTMs,以及用于排序模型预训练和微调的资源。另外,我们还介绍了一些对未来工作的挑战和建议。
整篇综述组织的结构如下。首先在第2部分做一个系统性的总结。在第3到第5部分分别介绍PTMs在retrieval部分,re-ranking部分和其他部分的工作。在第6部分介绍为IR任务专门设计的PTMs模型。在第7部分介绍大规模的数据集,常用的benchmark leaderboards。最后在第8部分做总结并提出一些未来的发展方向。
2. BACKGROUND
本章节采用分层的方式介绍IR的一些基本概念和定义,并简要回顾一下PTMs在IR的应用。这个背景介绍可以帮助读者理解IR的基本思想,并能够更好地理解PTMs如何提升IR。
如图2.1所示,我们通过将搜索的过程分层来介绍,从核心问题,到框架再到系统。具体地,我们使用大写字母Q,D,F来表示查询集合,文档集合和retrieval函数集合,用小写的q,d,f来分别表示一个具体的实例。R知道相关性预测模型,r表示关于一个给定query返回的搜索结果。
2.1 从核心问题角度看IR
IR系统最基本的目标就是提供给用户与之需求相关的信息,因此,最基本的问题就是评估一个查询q和一个文档d之间的相关性。实际上,搜索的过程始于用户向搜索引擎提交一个查询,一定程度上,这个查询就代表了他的查询意图。随后搜索引擎的目标就是返回一个与该查询意图最相关的结果,并将这些结果以有序列表的形式呈现。因此,将查询q与文档d之间的相关性度量越好,用户的满意程度就越高。为了评估q和d的相关的分,已有的工作根据不同的策略来考虑q与d的相关性,总共可以分成三类:
- 传统检索模型:这类模型的核心想法是利用精确匹配信号(exact matching signals)来设计相关性分数计算方式。具体地,这些模型只考虑易于计算的统计量,比如q与d公共词的词频,文档长度,你文档频率(idf)。最终相关性的分数是通过将所有公共词的贡献加在一起得到的。其中BM25(Robertson et al., 1995)模型具有很好的性能,至今仍然是很强的基线模型。除了BM25以外还有一些它的变体,比如源自vector space model的PIV模型(Singhal et al., 2017),受language modeling方法启发的DIR模型(Zhai and Lafferty, 2004),基于随机性框架分布的PL2模型(Amati and Van Rijsbergen, 2002)等。然而这些模型可能会遇到词汇不匹配(vocabbulary mismatch)问题,因为使用的是精确匹配。
- Learning to Rank (LTR) 模型:LTR模型的核心思想是利用有监督机器学习算法通过人工设计的特征来解决排序问题。一些有效的特征包括基于查询的特征(比如查询类型,查询长度),基于文档的特征(比如PageRank,文档长度,内链数量以及点击次数),查询文档的匹配特征(比如共现次数,BM25分数,N-gram BM25分数以及编辑距离)。根据损失函数中包含的文档数量,LTR模型可以被分为三类:1)Pointwise方法,只考虑一个单独的文档,将排序问题视作分类问题或者回归问题。代表模型包括PRank (Perceptron Ranking) (Crammer, Singer, et al., 2001)和McRank (Li et al., 2007)。2)Pairwise方法,考虑一对文档,根据标注构造偏序对。代表模型包括使用交叉熵作为损失函数的RankNet (Burges et al., 2005b),以及RankSVM (Herbrich et al., 1999),该模型把分类问题变成偏序对的分类问题,使用SVM来学习。3)Listwise方法,该方法直接考虑整个文档列表中所有的文档。代表模型包括LambdaMart (Burges et al., 2006),该模型直接对listwise损失函数使用梯度下降的方式进行优化。更多细节可以参考另一篇有关LTR for IR的综述 (Li, 2014)。
- 神经网络检索模型:这类模型采用神经网络来抽取相关性特征用于评估。这些模型使用q和d的嵌入表示作为输入和相关性标注来做端到端的训练。相比于非神经网络模型,这些模型不需要人工设计的特征。这些模型可以被分为三类:基于表示的模型,基于交互的模型和混合模型。1)基于表示的模型分别给查询和文档学习一个表示,然后使用类似预先相似度或者内积的方式来计算两个表示的距离,从而衡量查询和文档的相关性得分。这类模型包括DSSM (Huang et al., 2013)和CDSSM(Shen et al., 2014)。2)基于交互的模型主要刻画文档和查询之间的交互,这类模型首先计算一个交互矩阵,这个交互矩阵中的每个元素表示查询和文档中某两个词之间的相似度,随后从这个交互矩阵中采用不同的方式提取出用于分析q-d相关性的特征。这类模型包括DRMM(Guo et al., 2016b)和convKNRM(Xiong et al. 2017b)。3)混合模型,将基于表示的模型和基于交互的模型综合在一起。比如Duet (Mitra et al., 2017)和CEDR(MacAvaney et al., 2019b)。更多的细节可以参考更早的关于NeuIR的综述(Onal et al., 2018a;Guo et al., 2020a)。
由于BERT在NLP领域取得了巨大的成功,大部分用于IR的PTMs模型也都是在Transformers结构的基础上来计算q-d相似度的。这些模型也有不同的上层结构,比如基于表示的如DPR(Karpukhin et al., 2020), ColBERT (Khattab and Zaharia, 2020)以及ME-BERT(Luan et al., 2020),以及基于交互的如MonoBERT(Nogueira and Cho, 2019),CEDR(MacAvaney et al., 2019b)以及duoBERT(Pradeep et al., 2021)。具体举例来,DPR(基于表示)使用BERT-based的encoder学习到文档的表示,随后使用另一个BERT-based的encoder学习到查询的表示,最后通过直接计算这两个表示的相似度来表示相关性分数。MonoBERT(基于交互)将查询和文档拼接在一起作为输入,经过BERT之后输出的[CLS]再经过一个前馈网络获取相关度分数。更多细节可以看文章后面的章节。
2.2 从整体框架角度看IR
给定一个文档集合D,IR的目标是返回一个根据与查询相关度排序的文档列表r。由于整个文档集合很大,除了考虑质量以外,实际的IR系统还需要考虑效率。在传统的检索框架中,包括若干不同的阶段,不同阶段注重不同的目标。我们在图2.2中描述了一个检索框架(即图2.1中的f)。如图2.2所表示的,系统中初始的retriever用于从大规模的文档集合中召回相关的结果,这个初始的retriever得到的分数用于形成一个初始的排序列表。这个初始排序列表被传给后面n个re-ranker来得到最终的排序列表并返回给用户。每个re-ranker将retriever返回的结果重新排序之后返回一个同样大小或者更小的结果列表。尽管retriever和re-ranker的目标都是衡量查询和文档的相关性,但它们通常采用不同类型的模型。因为retriever需要从一个大的文档集合召回相关的文档,最关注的是效率,可以采用传统模型比如BM25。而对于re-ranker,根据不同的阶段,可以被分为early-stage rerankers和latter stage re-ranker。相比于latter-stage reranker,early-stage reranker更多关注效率,但相比retriever更多关注排序质量。由于latter-stage reranker只需要考虑很少的文档,所以它可以重点关注排序质量,传统的re-ranking模型包括LTR模型比如RankNet和LambdaMart以及neural models如DRMM和Duet。根据re-rankers的数量,检索阶段可以被定义成以下几种方式:
- Single-stage Retrieval (n=0):直接使用retriever返回的列表作为最终结果返回给用户。
- Two-stage Retrieval (n=1):相比于第一阶段的检索,已有的IR框架也会额外使用一个re-ranker来提升排序列表的质量。在第二阶段的re-ranker中,通常一会使用一些第一阶段不包括的特征,如多模态的特征,知识图谱特征等。这些特征在大规模文档集中不容易收集。
- Multi-stage Retrieval (n>=2):采用多个re-ranker,不同的re-ranker采用不同的结构,利用不同的信息。每个re-ranker的功能通常是互补的。
在将PTMs应用在IR中时,同样需要考虑效率与质量的权衡,这个权衡的依据是PTMs具体应用在哪个阶段。具体地,对于更关注效率的第一阶段检索,PTMs可以用于提升模型的表现,比如ColBERT,通过基于BERT的dual-encoder获取文档和查询中融合了上下文的term embeddings,与其它基线模型相比快了两个量级。而在re-ranking阶段,PTMs只需要处理小规模的文档集合,可以捕捉到更多细粒度的相关信息。例如CEDR利用通过BERT得到的融合上下文的word embedding来获得一个相似度矩阵,输入到基于交互的neural ranking模型中比如DRMM和KNRM。此外[CLS]也用到增强模型的表达能力。
2.3 从系统角度看IR
实际上的搜索系统在帮助用户完成IR任务的同时,不仅仅要考虑到效率和质量这两个问题,还要对用户足够友好,即要能够解决各种用户使用过程中容易出现的问题。我们在图2.3中列举了一个传统搜索系统的结构。在系统中用户提出的查询可能很短,很模糊甚至有拼写错误。这种情况下,需要使用一个query parser来将原始的查询转换成能够反映真实用户意图的查询表示。query parser要做的操作包括rewriting, expansion等。在doc端,由于不同的网页可能有不同的页面结构和组织形式,因此需要一个document paser & encoder来处理文档或者建立索引,从而保障真正相关的文档能够被快速找到,因为如果没有文档的索引,搜索引擎需要遍历语料中所有的文档,这会大大增加时间开销。除了query parser和document parser & encoder以外,还有上文提到的retrieval和ranking组件用于计算q-d的相关性。深入研究文档索引的发展历史,我们可以发现系统从symbolic search system过渡到neural search system。下面我们简单介绍这两种文档索引如何工作以及它们的优缺点:
- Symbolic search system:在symbolic search system中,需要通过规则来构建一个document parser,这个parser需要根据这些规则构建索引,过滤文档并给文档排序,随后将数据翻译成系统能够理解的符号。具体地,symbolic search系统构建文档的倒排索引包括两个部分:dictionary和postings。dictionary包括文档集中出现的所有词。对词典中的每个词,通过一个倒排列表记录这个词出现在哪些文档中。倒排列表中的每一个item被称作一个posting。这个倒排列表也被叫做posting list。symbolic search系统的优点是可以快速检索,并且结果具有可解释性。缺点是这些系统只能使用一种语言同时需要很高的维护成本。
- Neural search system:相比于symbolic search system更多关注精确匹配,neural search system刻画的是语义匹配。相比于设计一个规则集合,neural search系统使用训练好的模型获取文档的低维表示,用于相关性的计算。用这些文档表示构建的索引被称作向量索引。相比于sy