AB
AiBoss
Wiki

什么是假设文档嵌入(Hypothetical Document Embeddings)?一种面向零样本稠密检索的查询改写方法

假设文档嵌入(HyDE)是 arXiv 论文《Precise Zero-Shot Dense Retrieval without Relevance Labels》提出的一种零样本稠密检索方法:先让指令跟随语言模型针对查询生成一篇虚构文档,再用无监督对比学习编码器把它编码成向量,用该向量在语料向量空间中检索真实文档。

假设文档嵌入(Hypothetical Document Embeddings,HyDE)是一种用于零样本稠密检索(zero-shot dense retrieval)的方法:给定一个查询,先让指令跟随语言模型生成一篇「假设文档」,再把这篇文档编码成向量,用该向量在语料库的嵌入空间中寻找邻近的真实文档。它要解决的问题是:在没有相关性标注(relevance label)的情况下,稠密检索器难以直接学会「查询与文档是否相关」这一判断,HyDE 绕开对查询本身的编码,改以生成的文档作为检索中介。

为什么重要

稠密检索(dense retrieval)把查询和文档映射到同一向量空间,用向量相似度排序,在多种任务和语言上被论文描述为有效且高效。但论文指出,当完全没有相关性标注时,构建有效的全零样本稠密检索系统仍然困难。其根源在于:零样本学习本身很难,而「相关性」这一概念更难被直接编码进查询向量——查询通常很短、信息稀疏,与文档在表述形式上差异很大。

在 HyDE 出现之前,常见的做法依赖有标注的相关性数据来微调检索器,或使用无监督对比学习得到的编码器(论文中以 Contriever 作为对照的当前最优无监督稠密检索器)。前者需要标注成本,后者在零样本条件下与微调检索器仍有差距。论文提出的思路是不去直接学习「查询到相关文档」的映射,而是把查询先「翻译」成一篇看起来像答案的文档,再在文档空间中做相似度匹配。

工作机制

按论文描述,HyDE 的流程可以拆成两个步骤:

  1. 生成假设文档。给定查询,HyDE 以零样本方式指示一个指令跟随语言模型(论文举例为 InstructGPT)生成一篇假设文档。这篇文档捕捉的是「相关性模式」,即它读起来像一篇可能回答该查询的真实文档,但它并不真实,可能包含虚假细节。
  2. 编码并检索。用一个无监督对比学习得到的编码器(论文举例为 Contriever)把这篇假设文档编码成嵌入向量。该向量在语料库嵌入空间中确定一个邻域,相似的真实文档依据向量相似度被检索出来。

论文把第二步称为对生成文档的「落地」(ground):编码器的稠密瓶颈(dense bottleneck)会过滤掉生成文档中不正确的细节,使检索结果回到真实语料上。也就是说,HyDE 并不要求生成的文档事实正确,它只要求这篇文档在向量空间中落在「相关文档聚集的区域」附近。

从信息流上看,HyDE 把「查询→文档」的匹配问题,转换为「假设文档→真实文档」的匹配问题。查询只用于触发语言模型生成,最终的检索向量来自生成文本而非原始查询,这是它与常规稠密检索最本质的区别。

典型例子

论文在摘要中给出的组件示例是:指令跟随语言模型使用 InstructGPT,编码器使用 Contriever。检索流程即上述两步:InstructGPT 依据查询写出假设文档,Contriever 将其编码,再在语料库中按向量相似度取回真实文档。

论文报告称,在多种任务(如网页搜索、问答、事实核查)和多种语言(如斯瓦希里语、韩语、日语)上,HyDE 显著优于当时最优的无监督稠密检索器 Contriever,并表现出与微调检索器相当的性能。这些结论来自该论文自身的实验设置,属于论文作者的主张,并非独立复现的行业共识。

论文的标题为《Precise Zero-Shot Dense Retrieval without Relevance Labels》,提交于 2022 年 12 月 20 日,作者为 Luyu Gao、Xueguang Ma、Jimmy Lin、Jamie Callan,主题分类为信息检索(cs.IR)与计算与语言(cs.CL)。

边界与常见误解

首先,HyDE 不是「让语言模型直接回答问题」的生成式问答,它生成的文档只是检索用的中间表示,最终返回的仍是语料库中的真实文档。生成的假设文档可能包含虚假细节,论文明确承认这一点,并依赖编码器的稠密瓶颈来削弱这些错误细节的影响;但这意味着生成质量与编码器特性都会影响最终效果。

其次,HyDE 的定位是零样本场景:它针对的是没有相关性标注时如何做稠密检索。论文并未主张它在有充足标注、可微调检索器的场景下同样占优,其对比基线主要是无监督稠密检索器 Contriever 与微调检索器。把它理解为「普遍优于所有检索方法」是过度解读。

第三,HyDE 引入了额外的生成步骤,检索链路比直接编码查询更长,代价包括生成模型的调用开销与延迟;论文摘要未给出具体的效率数字,因此不应臆测其性能收益与成本比例。此外,论文举例的 InstructGPT 与 Contriever 只是当时使用的具体组件,方法本身并不绑定于这两个模型。

最后,论文报告的跨任务、跨语言优势均出自作者自己的实验,读者在引用时应注明来源,而不宜将其表述为已被广泛验证的定论。

参考资料