本文主要是介绍信息检索(52):From doc2query to docTTTTTquery,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
From doc2query to docTTTTTquery
- 摘要
发布时间(2019)
摘要
Nogueira 等人 [7] 使用简单的序列到序列转换器 [9] 进行文档扩展。我们用 T5 [8] 替换转换器,并观察到效率大幅提升。
doc2query [7] 是一种文档扩展形式,其理念是训练一个模型,当给定一个输入文档时,该模型会生成该文档可能回答的问题。然后,这些预测的问题会附加到原始文档中,然后像以前一样对原始文档进行索引。
本研究中的设置遵循 doc2query,但使用 T5 [8] 作为扩展模型。T5 是一个序列到序列模型,它使用与 BERT [3] 类似的预训练目标来预训练其编码器-解码器架构。在这个模型中,所有目标任务都被转换为序列到序列任务。在我们的例子中,我们将段落作为输入,并训练模型来生成问题。我们以 10−4 的恒定学习率训练模型,进行 4k 次迭代,批次为 256,这对应于 MS MARCO 训练集的 2 个时期。我们最多使用 512 个输入标记和 64 个输出标记。在 MS MARCO 数据集中,使用这些长度时,无需截断任何输入或输出。 与 Nogueira 等人 [7] 类似,我们发现 top-k 采样解码器 [4] 比集束搜索产生更有效的查询。我们使用 k = 10。在所有实验中,我们都使用 T5-base,因为我们没有注意到大型模型在检索效果方面有任何改进。由于计算成本较高,我们没有对 T5-3B 和 T5-11B 进行实验。
然后,所有扩展文档都使用 Anserini IR 工具包 [10](v0.6.0 之后)进行索引;扩展查询将附加到原始文档中,但没有特别分隔。为了进行评估,开发/测试问题将针对索引作为“词袋”查询发出,使用 BM25 排名函数和 Anserini 的默认参数。
表 1 还提供了比较点:BM25(Anserini)基线;
doc2query 和基于 BERT 的重新排名(分数高但速度很慢),
均来自 Nogueira 等人 [7];Hofstätter 等人 [5],据我们所知,这是排行榜上最好的非集成、非 BERT 方法,并有一篇相关论文;以及 DeepCT [2],一种最近推出的基于 BERT 的文档扩展方法。
我们还根据 BLEU 值评估了模型生成的查询与真实开发查询的对比情况:docTTTTTquery 得分为 0.21 BLEU,远高于 doc2query 的 0.088 BLEU。 我们将输出质量的巨大差异归因于预训练,而不是模型本身的大小,因为即使是参数数量与 doc2query 模型相似的 T5-small 模型也达到了 0.18 BLEU。
有趣的是,doc2query 和 docTTTTTquery 产生的复制词(67%)和新词(33%)的比例与原始文档相似。对这两个模型的分析都是使用从 top-k 采样解码器中抽取的 10 个样本进行的;计算这些统计数据时不考虑停用词。正如 Nogueira 等人 [7] 所指出的,复制术语具有术语重新加权的效果,而使用新术语进行扩展可以缓解词汇不匹配问题,从而提高召回率。
这篇关于信息检索(52):From doc2query to docTTTTTquery的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!