【论文阅读 WSDM‘21】PROP: Pre-training with Representative Words Prediction for Ad-hoc Retrieval

前言

  • 本文发表在WSDM'21
  • 核心思想:是针对ad-hoc任务的。对一个文档采样一对词集(词集其实可以看做查询,通过文档生成的,但是不在文档中删除,这和ICT是不一样的),通过文档语言模型来计算二者生成的概率,概率高的被认为更有代表性。然后,我们预训练模型来预测这对词集之间的成对偏好,以学习 ad-hoc 任务查询与文档间相关关系。
  • 新颖的点:个人觉得带有传统IR检索的理论基础(通过文档生成模型来计算词集的unigram概率),很有意思
  • 原文链接:[2010.10137] PROP: Pre-training with Representative Words Prediction for Ad-hoc Retrieval (arxiv.org)

Abs

为 ad-hoc 检索定制的预训练目标还没被很好地探索。我们为ad-hoc检索提出 Pre-training with Representative words Prediction(PROP)。PROP的灵感来自于IR的经典统计语言模型,尤其是查询似然模型,其假定:文档作为“理想”文档的代表文本片段被生成。

给定一个输入文档,我们根据文档语言模型采样一对词集,其中可能性较高的词集被认为更具有文档的代表性。然后,我们对Transformer模型进行预训练,以预测两个词集之间的成对偏好,并结合掩码语言模型(MLM)目标。通过进一步在多种有代表性的下游 ad-hoc 检索任务上进行 fine-tune,PROP在不进行预训练或使用其他预训练方法的情况下,比 baseline 取得了显著的提升。我们还展示了PROP在零资源和低资源IR设置下都可以达到令人兴奋的性能。

1.Intro

尽管预训练模型在IR上有很好的的性能,但是为 ad-hoc 检索定制的预训练目标还没有很多研究。

一方面大部分源于NLP的预训练目标可以分成两类:

  • Sequence-based 预训练任务,比如掩码语言建模(MLM)和 Permuted Language Modeling(PLM),致力于基于 sequence-level 的同时出现信息来为一个词学习上下文表达。
  • Sentence pair-based 预训练任务,比如Next Sentence Prediction(NSP),Sentence Order Prediction(SOP),尝试教模型更好地理解句间连贯关系。

另一方面,IR任务比如 ad-hoc 检索通常处理短查询和长文档,不只是需要理解查询和文档的文本内容,还需要对二者的相关关系进行建模。

当我们从IR的角度来看这些现有的预训练目标时,我们可能会发现:

  • 1)基于序列的预训练任务通常有助于为查询和文档构建良好的上下文表示
  • 2)Sentence pair-based任务的学习目标,与IR的需求有比较大的差异,不仅是因为输入类型(sentence-pair vs query-document),还因为关系类型(连贯性 vs 相关性)

一般假设使用更接近下游任务的预训练目标可以获得更好的微调性能。

前面也有过针对 ad-hoc 类似的工作,在这一方向上最相关的工作关注QA中的段落检索,其中提出的三种预训练任务都是尝试模拟自然语言问题与回答片段之间的相关关系

本文,我们希望提出一个为 IR 定制的新颖的预训练目标,更接近在ad-hoc检索中的查询与文档间的相关关系。想法受传统统计语言模型启发,尤其是查询似然模型。查询似然模型假设查询作为“理想”文档的代表文本片段被生成。基于贝叶斯定理,在给定的文档语言模型下,在一定的先验假设下,查询与文档之间的关联关系可以用查询似然近似表示。给定一个输入文档,我们根据文档语言模型采样一对词集,该文档语言模型由一个流行的多项式unigram语言模型定义,使用了Dirichlet prior smoothing。高可能性的词集被认为对文档更有代表性。之后我们训练 Transformer 模型来在两个词集间预测成对的偏好,同时也使用MLM目标。PROP核心优点是:立足与一个IR很好的理论基础,不需要任何特殊的文档结构(超链接等)就可以在大规模的文本语料库上进行普遍训练

本文贡献:

  • 提出PROP,一个ad-hoc检索新的预训练目标,它有好的理论IR基础并且不需要任何特殊的文档结构,就可以在大规模的文本语料库上进行普遍训练
  • 我们在各种下游 ad-hoc 检索任务上评估PROP,并证明我们的模型可以超越目前最先进的方法
  • 通过对PROP模型进行微调,我们展示了如何在很少的监督下跨不同的数据集实现良好的 ad-hoc 检索性能

2.Background

查询似然模型:给一个查询 Q = q 1 , ⋯   , q m Q=q_1,\cdots,q_m Q=q1,,qm 和文档 D = w 1 , ⋯   , w n D=w1,\cdots,w_n D=w1,,wn,我们有

在这里插入图片描述

  • θ D \theta_D θD 是对每个文档的文档语言模型, p ( D ) p(D) p(D) 通常认为是均匀的,可以忽略。因此,上式可以简化为

在这里插入图片描述

文档对于一个查询的相关性 P ( D ∣ Q ) P(D|Q) P(DQ) 可以通过查询似然 P ( Q ∣ θ D ) P(Q|\theta_D) P(QθD) 来估计

假设一个多项语言模型,我们可以通过独立生成每个单词来生成单词序列,查询似然可以写成:

在这里插入图片描述

  • V V V 是语料库的词汇, c ( w , Q ) c(w,Q) c(w,Q) 是词 w w w 在查询 Q Q Q 中出现的次数。

Dirichlet先验平滑(对关键词查询很有效):

在这里插入图片描述

  • c ( w , D ) c(w,D) c(w,D) 是词 w w w 在查询 D D D 中出现的次数, ∣ D ∣ |D| D 是文档长度, P ( w ∣ C ) P(w|C) P(wC) 是背景语言模型,基于正在集合中的 word counts来估计的, μ \mu μ 是平滑因子。

3.PROP

3.1.Pre-training Methods

**Representative Word Sets Sampling:**给定一个文档,我们根据文档语言模型采样一对词集,每个都当做一个生成的伪查询。为了模拟[1,3]中各种恶样的查询长度,我们首先用了一个 泊松分布来采样一个正整数 l l l 作为词集的 size,定义为:

在这里插入图片描述

然后,通过文档语言模型并行采样两个大小相同的词集 S 1 , S 2 S_1,S_2 S1,S2 l l l 个词被从语料库词汇 V = { w i } 1 N V = \{w_i\}^N_1 V={wi}1N独立采样

在这里插入图片描述

**Representative Words Prediction(ROP):**给定上面采样的一对词集,我们使用公式(2)计算每个集合的可能性,高可能性被认为对文档更有代表性。然后,预训练模型来预测两个词集之间的成对偏好。

将词集 S S S ,文档 D D D 连接成一个输入序列,添加特殊定界toke([CLS] + S + [SEP] + D + [SEP]),放入Transformer 中。序列中的每个词都被表示为 分布 embedding,segment embedding,位置 embedding 的和。[CLS] 隐藏层状态被表示为:

在这里插入图片描述

最后, P ( S ∣ D ) P(S|D) P(SD) ,代表词集对文档多具有代表性,通过在 H [ C L S ] H^{[CLS]} H[CLS] 应用 MLP 来得到。

现在,将一对词集和对应的文档作为一个三元组 ( S 1 , S 2 , D ) (S_1,S_2,D) (S1,S2,D),假设 S 1 S_1 S1 得分更高,ROP任务可以写成典型的成对 loss(hinge loss)来预训练:

在这里插入图片描述

**Masked Language Modeling(MLM):**PROP除了成对偏好预测目标外,还将 MLM 作为预训练目标之一:

在这里插入图片描述

  • x x x 代表输入句子, m ( x ) , x m ( x ) m(x),x_{m(x)} m(x),xm(x) 分别代表 x x x 中遮住的词和剩下的词

3.2.Discussion

提出的预训练模型 PROP 与IR中的弱监督方法[2,10,21]可能存在一定的混淆,这些方法也利用一些经典模型(如BM25)来训练神经排序模型。事实上,有三个主要的不同

对于弱监督方法:

  • 查询和文档都可获得,但相关性标签缺失
  • 弱监督的学习目标与最终排序目标是相同的
  • 弱监督通常是针对每个特定检索任务设计的

对于 PROP:

  • 只有文档可获得,查询和相关性标签都是缺失的
  • PROP目标语最终排序目标不同
  • 预训练 PROP 模型可以在多种下游排序任务上 fine-tune

在预训练目标中,PROP中的 ROP 目标属于基于模型的预训练目标范畴,其中标签是通过某些自动的模型生成的,而不是统建简单的 MASK。

4.Experiments

4.1.Datasets

预训练数据:用了 English Wikipedia 和 MS MARCO Document Ranking dataset,因此分别训练出了两个模型 P R O P W i k i p e d i a , P R O P M S M A R C O PROP_{Wikipedia}, PROP_{MSMARCO} PROPWikipedia,PROPMSMARCO

下游任务数据:

在这里插入图片描述

4.2.Baselines

用了三种 baseline 方法来进行比较,包括:传统检索模型,预训练模型,以前的 SOTA 神经排序模型

  • 传统检索模型:QL(查询似然模型),BM25
  • 预训练模型:BERT, T r a n s f o r m e r I C T Transformer_{ICT} TransformerICT (ICT任务是:给定上下文文本,教模型预测移走的句子)
  • SOTA 神经排序模型:CEDR-KNRM,BERT-maxP,NWT,HiNT

4.3.Evaluation Methodology

用了 5-折交叉验证来保证在不减少学习实例数量的情况下最小化过拟合

两种度量:nDCG 和 precision

4.4.Implementation Details

4.4.1. Model Architecture

用了 Transformer encoder 架构,与 B E R T b a s e BERT_{base} BERTbase 类似:12层,hidden size=768,前向层size=3072,nheads=12,总参数量 110M。

4.4.2.Pre-training Process

代表词集采样时,区间 λ \lambda λ 的期望设成 3。为了避免采样频繁词,使用 INQUERY stop list 来实施 stopwords 移除,丢弃出现次数少于50次的单词,使用 W o r d 2 V e c 6 Word2Vec^6 Word2Vec6 建议的 1 0 − 5 10^{-5} 105 采样阈值的频繁词子采样。对每个文档采样5对词集。

对于代表词预测,我们将预训练的文本小写化,不执行词干或停止单词删除。由单词集和文档连接的单个输入序列被送给PROP。

对于 masked language modeling,遵循 BERT 的设置。

4.4.3. Fine-tuning Process

为了提高计算效率,我们采用了重排序策略。初始检索先获取到前200名的文档,然后用 PROP 来 re-rank 这些候选文档。

对所有预训练模型,输入都是原始文本,原因是在微调阶段,使用标准的停止词删除和词干化将损害这些预训练模型的性能,因为它与预训练过程不一致。

4.5.Baseline Comparison

在这里插入图片描述

4.6.Impact of Pre-training Objectives

我们研究了不同预训练目标的影响。我们使用 ROP 和 MLM 在与 PROP 相同的设置下在 MS MARCO 上训练 Transformer 模型。

在这里插入图片描述

  • 使用 MLM 在 MS MARCO 预训练只比 BERT 稍微好一点,这说明通过 MLM 获得的好的表示对于 ad-hoc 检索任务来说可能是不够的
  • 使用 ROP 预训练的,在所有下游任务上都比 MLM 好很多,说明了为 IR 定制的 ROP 的有效性
  • 使用二者的结合,结果最好。这说明 MLM 目标来得到好的上下文表示,与 ROP目标来为 ad-hoc 检索任务估计相似性可以结合在一起

4.7.Impact of Sampling Strategies

我们比较了基于文档语言模型的采样策略和随机采样策略。

在这里插入图片描述

在这里插入图片描述

以上结果表明,基于文档语言模型的采样策略是一种比随机采样策略更适合生成文档代表性词集的方法。

4.8.Further Pre-training on Target Tasks

我们分析在目标任务的文档集合上进一步预训练的影响,看看性能可以提高多少。

在 Robust‘04和MQ2007上进一步训练 P R O P W i k i p e d i a PROP_{Wikipedia} PROPWikipedia,在 剩下三个数据集上进一步训练 P R O P M S M A R C O PROP_{MSMARCO} PROPMSMARCO

在这里插入图片描述

结果表明,在相关领域语料库上进行进一步的预训练可以提高PROP的能力,并在下游任务中取得更好的表现。

4.9.Zero- and Low-Resource Settings

为了模拟 low-resource IR设定,我们选了 Robust04,ClueWeb09-B,Gov2的前10,30,50,70个查询,MQ2007,MQ2008来fine-tune P R O P W i k i p e d i a PROP_{Wikipedia} PROPWikipedia

在这里插入图片描述

  • 在有限监督数据上微调的PROP在 nDCG 和 Precision 方面比得上在完全监督数据集上微调的BERT
  • 只使用10个查询对PROP进行微调,可以获得与传统检索模型相当的结果
  • zero 资源设置下,也很好

6.Conclusion

我们提出了一种新的用于 ad-hoc 的预训练方法PROP关键思想是对Transformer模型进行预训练,结合MLM目标来预测给定文档的两个词集之间的成对偏好。PROP只需要预先训练一个模型,然后对各种下游的ad-hoc任务进行微调。

一些点

  • Inverse Cloze Task(ICT):从文档中采样一个句子作为伪查询,将剩余的句子作为文档。这可能会丢失一些精确匹配,因为从文档中删除了伪查询。关注的是QA中的 passage retrieval。
  • Body First Selection(BFS):从维基百科页面的第一部分随机采样一个句子作为伪查询,文档是从同一个页面随机采样的段落
  • Wiki Link Prediction(WLP):WLP在维基百科页面的第一部分中随机选择一个句子作为伪查询,然后从另一个页面(这两个页面之间有超链接)中抽样一个文档

BFS和WLP依赖于特定的结构(多段落,超链接),阻碍他们扩展到普遍的文本语料库上。上面这些方法都想近似自然语言问题和答案段落的相关关系,但是用在ad-hoc任务上提升很少。

关于 segment embedding的问题:为什么有了分割符,还要加 segment embedding来区分句子呢?用分隔符区分不就好了吗?

  • 想法:模型是不认识分隔符的,标记了不同的句子,能够使模型认识分隔符,来区分不同的句子
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长命百岁️

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值