【IR 论文】Google 对通过 prompt LLM 做 Query Expansion 的工作

论文:Query Expansion by Prompting Large Language Models

⭐⭐⭐

Google Research, arxiv:2305.03653

论文速读

之前我在论文笔记 Query2doc 中介绍了信息检索(IR)以及 Query Expansion 的相关背景知识。

本篇文章是 Google 发表的关于对 LLM 进行 prompt 来做 Query Expansion 的论文,所采取的思路与 Query2doc 相似,但侧重点不同。

论文的思路如下:

可以看到,也是把 user query 带上 prompt 输入给 LLM,然后拼接 user query 和 LLM 响应得到 Query Expansion 的结果,将其输入给 Retrieval System 来完成检索。

其中"concat"这个拼接过程,也是为了提高 user query 的权重,把 user query 重复了 5 遍再与 LLM response 拼接,做法与 Query2doc 十分相似:

本文工作主要研究 sparse retrieval 的场景,与之前 Query2doc 的工作的区别主要如下:

  • 不同 prompt 的研究:这篇文章研究了多种不同的 prompt 方式,包括 Q2D、Q2D/ZS、Q2D/PRF、Q2E、Q2E/ZS、Q2E/PRF、CoT 和CoT/PRF,而 Query2Doc 论文主要关注单一的少样本提示。(这几种 prompt 方法的具体含义可以参考原论文)
  • 生成查询扩展术语:这篇文章的工作重点是生成 query expansion terms,而不是像 Query2doc 论文那样生成整个 pseudo-document 作为 expansion。
  • 模型大小的多样性:这篇文章在多种不同大小的模型上测试了提示的性能,以更好地理解LLM方法在查询扩展上的实用能力和局限性。而Query2Doc论文使用的是一个更大的模型,且没有详细比较不同模型大小的性能。
  • 开源模型的使用:这篇文章完全使用开源模型进行实验,以促进研究的可复制性和开放性。相比之下,Query2Doc 论文使用的是一种只能通过第三方 API 访问的特定类型的模型。
  • 实验数据集:这篇文章在 MS-MARCO 和 BEIR 数据集上进行了实验,以验证 LLMs 在查询扩展中的有效性,而 Query2Doc 论文可能使用了不同的数据集或实验设置。
  • 性能提升:文章中提到,通过使用CoT提示,尤其是结合PRF文档的CoT/PRF提示,可以在保持召回率的同时,提高排名指标,如MRR@10和NDCG@10,而传统的查询扩展方法可能会牺牲这些排名指标来提高召回率。
  • 模型大小对性能的影响:文章还探讨了不同模型大小对查询扩展性能的影响,并发现CoT方法只需要3B参数的模型就能达到与BM25+Bo1基线相当的效果,而Q2D方法则至少需要11B参数的模型。

实验结果

本论文做了大量的实验,文中展示的实验数据对比值得一看:

每个指标的最好结果已经用黑体进行了标注,可以看到,CoT 的 prompt 下可以让 LLM 生成的 expansion 表现更好。原文作者认为,CoT 这种特殊的 prompt 指示模型通过将其答案分解为多个步骤来生成详细的解释,这种详细性的解释可能会导致生成许多潜在的有效关键字,并对查询扩展有用。

总结

文章提出了一种新的查询扩展方法,该方法利用大型语言模型(LLMs)的生成能力。通过不同的提示方式(zero-shot, few-shot, Chain-of-Thought, CoT)来指导 LLM 生成与原始查询相关的新术语,并将其对 query 进行 expansion 从而提高检索的效果。文章做了较多实验,其实验结果值得我们一看,从而让我们对 LLM 生成 Query Expansion 的不同 prompt 有了一个不同表现的认识。

但是文章也指出了该工作的一些局限性,如只研究了稀疏检索系统,未考虑密集检索系统;仅使用了 Flan 系列的LLMs,未来可以扩展到其他模型;提示模板可能还有改进空间;LLMs 的计算成本可能限制了其在实际应用中的部署。

相关推荐
ytttr87321 小时前
基于MATLAB的Relief算法特征权重选择实现
算法
新智元21 小时前
AI 教父 Hinton 末日警告!你必须失业,AI 万亿泡沫豪赌才能「赢」
人工智能·openai
新智元21 小时前
CUDA 再见了!寒武纪亮出软件全家桶
人工智能·openai
oe101921 小时前
好文与笔记分享 A Survey of Context Engineering for Large Language Models(下)
人工智能·笔记·语言模型·agent
有为少年21 小时前
告别乱码:OpenCV 中文路径(Unicode)读写的解决方案
人工智能·opencv·计算机视觉
FreeCode1 天前
LangChain1.0智能体开发:模型使用
人工智能·langchain·agent
Freshman小白1 天前
python算法打包为docker镜像(边缘端api服务)
python·算法·docker
张较瘦_1 天前
[论文阅读] AI+ | 从 “刚性科层” 到 “智能协同”:一文读懂 AI 应对国家安全风险的核心逻辑
论文阅读·人工智能
mit6.8241 天前
[VT-Refine] Simulation | Fine-Tuning | docker/run.sh
算法
anscos1 天前
庭田科技亮相成都复材盛会,以仿真技术赋能产业革新
大数据·人工智能·科技