Recent approaches that leverage large language models (LLMs) for pseudo-relevance feedback (PRF) have generally not utilized well-established feedback models like Rocchio and RM3 when expanding queries for sparse retrievers like BM25. Instead, they often opt for a simple string concatenation of the query and LLM-generated expansion content. But is this optimal? To answer this question, we revisit and systematically evaluate traditional feedback models in the context of HyDE, a popular method that enriches query representations with LLM-generated hypothetical answer documents. Our experiments show that HyDE's effectiveness can be substantially improved when leveraging feedback algorithms such as Rocchio to extract and weight expansion terms, providing a simple way to further enhance the accuracy of LLM-based PRF methods.
- 论文ID: 2511.19349
- 标题: Revisiting Feedback Models for HyDE
- 作者: Nour Jedidi, Jimmy Lin (University of Waterloo)
- 分类: cs.IR (Information Retrieval)
- 发表时间: 2025年11月24日提交至arXiv
- 论文链接: https://arxiv.org/abs/2511.19349
- 代码开源: https://github.com/nourj98/hyde-feedback
近期利用大语言模型(LLMs)进行伪相关反馈(PRF)的方法通常没有采用成熟的反馈模型(如Rocchio和RM3)来为稀疏检索器(如BM25)扩展查询,而是简单地将查询与LLM生成的扩展内容进行字符串拼接。本文系统性地重新审视传统反馈模型在HyDE(一种使用LLM生成假设答案文档来丰富查询表示的流行方法)中的应用。实验表明,通过利用Rocchio等反馈算法来提取和加权扩展词项,HyDE的有效性可以得到显著提升,为增强基于LLM的PRF方法提供了一种简单而有效的途径。
本文要解决的核心问题是:当前基于LLM的查询扩展方法(如HyDE)在更新BM25查询表示时,是否充分利用了传统信息检索中成熟的反馈模型?
- HyDE的局限性:HyDE虽然有效地利用LLM生成假设文档来桥接查询与相关文档间的词汇鸿沟,但在将生成内容整合到BM25检索时采用了简单的字符串拼接策略
- 传统方法被忽视:信息检索领域在伪相关反馈方面有数十年的研究积累,包括Rocchio和RM3等经过充分验证的反馈模型,但这些方法在LLM时代被边缘化
- 优化空间未探索:尽管反馈源(从检索文档变为LLM生成文档)发生了变化,但反馈机制本身是否需要改变尚未得到系统研究
- 简单拼接策略:Query2Doc、MuGI等方法直接将查询与LLM生成文本拼接,缺乏对扩展词项的筛选和加权
- 忽略两阶段框架:传统PRF包含两个关键阶段——词项选择和权重分配,而当前LLM方法跳过了这些步骤
- 缺乏系统对比:现有研究主要关注如何改进LLM生成的扩展内容,而较少关注如何更好地利用这些内容
作者发现传统PRF与LLM反馈方法的核心差异仅在于反馈源,但查询更新机制却截然不同。这促使作者提出假设:传统反馈模型可能同样适用于LLM生成的反馈内容,并可能带来性能提升。
- 首次系统性评估:在LLM生成反馈的背景下,首次全面比较传统反馈模型(Rocchio、RM3)与现代字符串拼接方法的有效性
- 证明传统方法的价值:实验表明,将Rocchio等传统反馈算法应用于HyDE可以显著提升检索效果,平均提升1.4分(4.2%),在低资源任务上提升2.2分(6%)
- 提供实用改进方案:为HyDE提供了一种简单但有效的改进方法,无需修改LLM生成过程,只需改变反馈整合机制
- 开源实现:公开了完整的代码实现,便于社区复现和进一步研究
输入:用户查询 q
输出:更新后的查询表示 qnew,用于BM25检索
目标:通过整合LLM生成的假设答案文档来改进查询表示,提升检索召回率
- 给定查询 q,提示LLM生成假设答案文档
- 采样 n 个变体:d={d1,...,dn}
- 利用这些假设文档更新查询表示
- 使用更新后的查询进行BM25检索
本文提出的框架包含两个核心阶段:
- 生成词频向量:为每个假设文档 di 生成归一化词频向量 f(di)
- 过滤常见词:移除在超过10%语料库文档中出现的高频词
- 排序与截断:
- 按归一化词频之和对候选扩展词排序
- 保留top-k个词项(本文设置k=128)
方法1:平均向量(Average Vector)
这是HyDE原始方法在词袋空间的改编:
wt,qnew=n+11∑di∈dHyDEf(di)[t]
其中 dHyDE={q,d1,...,dn}(将查询视为额外的反馈文档)
特点:
- 对查询和反馈文档等权重平均
- 相当于带词项选择的字符串拼接
方法2:Rocchio算法
经典的向量空间反馈模型,引入参数控制查询和反馈文档的相对权重:
wt,qnew=α⋅f(q)[t]+nβ∑di∈df(di)[t]
参数设置:
- α=1.0:查询权重
- β=0.75:反馈文档权重
- 允许对查询词和扩展词进行差异化加权
方法3:RM3(Relevance Model 3)
基于语言模型的反馈方法,估计词项在相关文档中的观察概率:
wt,qnew=λP(t∣q)+(1−λ)∑di∈dP(t∣di)
参数设置:
- λ=0.5:查询-反馈插值权重
- 基于概率框架而非向量空间
字符串拼接方法:
- Naive Concat:qnew=Concat(q,d)
- Query2Doc:qnew=Concat(q×5,d1)
- 重复查询5次 + 单个假设文档(128 tokens)
- 总扩展词数约128个
- MuGI:自适应查询重复
r=len(q)⋅ϕ∑i=1nlen(di)qnew=Concat(q×r,d)
- ϕ=5:控制参数
- 根据文档长度动态调整查询重复次数
- 统一框架:将传统PRF和LLM反馈方法置于同一框架下比较,揭示了两者在机制上的差异
- 词项选择的价值:通过对比有/无词项选择的方法,量化了噪声过滤的贡献
- 参数化权重控制:Rocchio的 α 和 β 参数提供了比字符串重复更稳定的权重控制机制
- 跨反馈源评估:同时评估了传统BM25文档反馈和LLM生成文档反馈,证明了LLM反馈的优越性
MS MARCO数据集(5个Web搜索任务):
- MS MARCO v1: TREC DL19, TREC DL20
- MS MARCO v2: TREC DL21, TREC DL22, TREC DL23
BEIR数据集(9个低资源检索任务):
- 生物医学IR: TREC-Covid, NFCorpus
- 新闻检索: TREC-News, Robust04
- 金融问答: FiQA
- 实体检索: DBPedia
- 事实核查: SciFact
- 引用预测: SciDocs
- 论证检索: ArguAna
数据集特点:
- MS MARCO:资源丰富,查询相对同质
- BEIR:零样本评估,查询多样性高,领域跨度大
Recall@20:前20个检索结果中包含相关文档的比例
- 适用于评估第一阶段检索器的召回能力
- 关注能否检索到相关文档,而非排序质量
无扩展基线:
传统PRF(使用BM25检索文档):
- BM25 + Average Vector
- BM25 + RM3
- BM25 + Rocchio
LLM反馈方法(使用HyDE生成文档):
- Query2Doc
- HyDE + Naive Concat
- HyDE + MuGI Concat
- HyDE + Average Vector
- HyDE + RM3
- HyDE + Rocchio
LLM配置:
- 模型:Qwen2.5-7B-Instruct, Qwen3-14B, gpt-oss-20b
- 采样数量:n=8 个假设文档
- 文档长度:最多512 tokens
- 推理框架:vLLM
反馈模型参数:
- Rocchio: α=1.0, β=0.75
- RM3: λ=0.5
- 词项数量: k=128(与Query2Doc对齐)
- 反馈文档数:8个(匹配HyDE采样数)
检索系统:
- 实现:Pyserini(基于Lucene)
- BM25参数:默认设置
- 索引统计:通过IndexReader API获取
- 自定义查询:使用QueryBuilder API设置词项权重
最佳方法:HyDE + Rocchio在所有LLM上均表现最优
- Qwen2.5-7B: 平均Recall@20 = 34.0(全部数据集)
- Qwen3-14B: 平均Recall@20 = 34.7
- gpt-oss-20b: 平均Recall@20 = 34.7
相比最强字符串拼接基线(MuGI)的提升:
- Qwen2.5-7B: +1.1分(3.3%提升)
- Qwen3-14B: +1.3分(3.9%提升)
- gpt-oss-20b: +1.4分(4.2%提升)
MS MARCO数据集:
- 字符串拼接方法(MuGI、Query2Doc)竞争力强
- 例如gpt-oss-20b上,MuGI在所有5个MS MARCO数据集上均优于RM3
BEIR数据集(低资源任务):
- 反馈模型显著优于字符串拼接
- gpt-oss-20b + RM3:
- 在全部9个BEIR数据集上优于Query2Doc
- 在8/9数据集上优于MuGI Concat
- 平均提升(Rocchio vs MuGI):
- Qwen2.5-7B: BEIR平均 +1.9分
- Qwen3-14B: BEIR平均 +1.9分
- gpt-oss-20b: BEIR平均 +2.2分
典型案例:
- SciFact(科学事实核查):
- gpt-oss-20b + Rocchio: 91.9
- gpt-oss-20b + MuGI: 90.6
- ArguAna(论证检索):
- Qwen3-14B + Rocchio: 83.8
- Qwen3-14B + MuGI: 76.4(+7.4分)
控制反馈模型,比较反馈源:
以gpt-oss-20b为例(全数据集平均):
- Average Vector: HyDE文档(32.5) vs BM25文档(29.7) → +2.8分
- RM3: HyDE文档(33.2) vs BM25文档(30.7) → +2.5分
- Rocchio: HyDE文档(34.7) vs BM25文档(30.4) → +4.3分
结论:在相同反馈机制下,LLM生成的假设文档作为反馈源比检索文档更有效
有趣观察:
- RM3在BM25文档上优于Rocchio(30.7 vs 30.4)
- 但在HyDE文档上Rocchio更优(34.7 vs 33.2)
- 说明反馈源的性质影响最优反馈模型的选择
对比Average Vector vs Naive Concat:
性能差距(全数据集平均):
- Qwen2.5-7B: 32.2 vs 29.3 → +3.0分(10.2%)
- Qwen3-14B: 32.5 vs 30.2 → +2.3分(7.6%)
- gpt-oss-20b: 32.5 vs 29.5 → +3.1分(10.5%)
BEIR数据集上更明显:
- Qwen2.5-7B BEIR: 36.6 vs 33.3 → +3.3分
结论:过滤噪声词项(如高频词)对提升HyDE效果至关重要
Rocchio vs Average Vector:
- 核心差异:Rocchio通过 α 和 β 参数给予查询词更高权重
- Average Vector对所有文档(包括查询)等权重
性能对比(全数据集平均):
- Qwen2.5-7B: 34.0 vs 32.2 → +1.8分
- Qwen3-14B: 34.7 vs 32.5 → +2.2分
- gpt-oss-20b: 34.7 vs 32.5 → +2.2分
解释:
- HyDE的等权重平均低估了原始查询词的重要性
- Rocchio的参数化权重(α=1.0,β=0.75)提供了更好的平衡
- 相比MuGI的自适应重复,Rocchio的线性参数控制更稳定
传统PRF(无LLM)在BEIR上的竞争力:
- BM25 + Rocchio (30.4) vs Query2Doc (32.7)
- BM25 + Rocchio在BEIR平均(36.2) vs Query2Doc BEIR平均(36.7)
说明:
- 反馈模型本身在多样化查询上更鲁棒
- 即使不使用LLM,Rocchio也能在低资源任务上接近LLM方法
- 结合LLM和反馈模型可获得最佳效果
所有LLM上的趋势一致:
- Rocchio始终最优
- 词项选择带来显著提升
- BEIR上反馈模型优势更明显
LLM质量的影响:
- 更强的LLM(Qwen3-14B)带来更好的绝对性能
- 但反馈模型的相对优势在不同LLM上保持稳定
- Rocchio算法14:向量空间模型中的经典反馈方法,通过调整查询向量靠近相关文档
- Relevance Model (RM3)1, 12:基于语言模型的反馈,估计相关文档的词分布
- 反馈词选择3:研究如何从反馈文档中选择高质量扩展词
- HyDE9:使用LLM生成假设答案文档进行零样本密集检索
- Query2Doc16:生成单个假设文档并重复查询5次
- MuGI20:探索LLM查询扩展的最佳实践,提出自适应查询重复
- 继承HyDE思想:利用LLM生成假设文档作为反馈源
- 桥接传统与现代:将Rocchio、RM3等传统方法引入LLM反馈场景
- 系统性评估缺失:首次全面比较传统反馈模型与字符串拼接方法
- 传统反馈模型仍然有效:Rocchio和RM3等经典方法在LLM时代依然适用且强大
- 性能提升显著:
- 平均提升1.4分(4.2%)相比最强字符串拼接基线
- 低资源任务提升2.2分(6%)
- 两个改进来源:
- 词项过滤:移除噪声词(高频词、低权重词)
- 权重控制:通过参数(而非字符串重复)稳定控制查询-反馈权重
- 鲁棒性优势:反馈模型在查询多样化的BEIR数据集上表现更稳定
- 参数敏感性未充分探索:
- 使用文献中的默认参数(α=1.0,β=0.75,λ=0.5)
- 未系统研究参数调优的潜力
- 不同数据集可能需要不同参数
- 计算成本分析缺失:
- 反馈模型需要索引统计和词项过滤
- 与简单字符串拼接相比的额外开销未量化
- LLM选择有限:
- 仅测试3个LLM(Qwen系列和gpt-oss)
- 未覆盖GPT-4、Claude等闭源模型
- 密集检索未涉及:
- 实验仅关注BM25稀疏检索
- 对密集检索器(如ColBERT)的适用性未知
- 交互效应未探索:
- 反馈模型与LLM提示策略的交互
- 不同采样数量(n)的影响
- 自适应参数调整:
- 借鉴MuGI的自适应思想,动态调整Rocchio的 α 和 β
- 基于查询难度或文档质量自动选择参数
- 混合反馈源:
- 结合LLM生成文档和检索文档
- 探索两种反馈源的互补性
- 扩展到密集检索:
- 研究反馈模型在密集向量空间的应用
- 设计适合Transformer编码器的反馈机制
- 端到端优化:
- 联合优化LLM生成和反馈整合
- 通过强化学习训练反馈参数
- 多轮反馈:
- 问题定位精准:
- 识别了LLM查询扩展研究中被忽视的关键环节(反馈整合机制)
- 提出的问题简单但重要:"字符串拼接是否最优?"
- 方法论严谨:
- 控制变量设计合理(相同反馈源比较不同模型,相同模型比较不同反馈源)
- 跨多个LLM验证结论的一致性
- 覆盖14个数据集,包括高资源和低资源场景
- 实验充分且有洞察:
- 不仅报告整体结果,还分析MS MARCO和BEIR的差异
- 通过Average Vector vs Naive Concat量化词项选择的贡献
- 对比传统PRF和LLM反馈揭示了反馈源的重要性
- 实用价值高:
- 改进方法简单易实现(无需修改LLM)
- 开源代码促进可复现性
- 提供了即插即用的性能提升方案
- 写作清晰:
- 逻辑结构清晰(问题→方法→实验→结论)
- 技术细节描述准确
- 表格设计合理,便于比较
- 理论分析不足:
- 缺乏对"为什么Rocchio在HyDE上更有效"的深入理论解释
- 未从词分布、信息论等角度分析机制
- 对参数选择(如α=1.0,β=0.75)缺乏理论指导
- 参数敏感性研究缺失:
- 仅使用文献默认参数,未进行参数扫描
- 不清楚结论对参数变化的鲁棒性
- 未探索不同数据集的最优参数配置
- 计算成本未讨论:
- 反馈模型需要访问索引统计(IDF等)
- 词项过滤和权重计算的时间开销未量化
- 与简单拼接的效率对比缺失
- 案例分析不足:
- 未展示具体查询的扩展词示例
- 缺乏对"哪些词被保留/过滤"的定性分析
- 难以直观理解反馈模型的实际作用
- 适用范围有限:
- 仅评估BM25稀疏检索
- 对神经检索器(如ColBERT、ANCE)的适用性未知
- 未考虑多语言或跨语言场景
- 统计显著性检验缺失:
- 未报告置信区间或p值
- 不清楚观察到的提升是否具有统计显著性
对领域的贡献:
- 重新激活经典方法:提醒社区不要忽视传统IR技术
- 建立评估基准:为未来LLM查询扩展研究提供了对比基线
- 启发混合方法:鼓励结合传统和现代技术
实用价值:
- 即时可用:现有HyDE用户可直接应用Rocchio改进
- 成本效益高:无需重新训练LLM即可获得提升
- 工业适用性:BM25在工业界广泛使用,本方法易于部署
可复现性:
- ✅ 开源代码
- ✅ 使用公开数据集
- ✅ 详细的超参数说明
- ✅ 基于成熟工具(Pyserini、vLLM)
潜在引用价值:
- 预计成为LLM查询扩展研究的重要参考
- 为评估新方法提供了强基线
- 可能启发更多传统-现代混合方法
推荐使用场景:
- 低资源检索任务:BEIR类型的多样化查询场景
- BM25稀疏检索:第一阶段检索或混合检索系统
- 计算资源受限:相比训练神经检索器,反馈模型开销小
- 需要可解释性:词项权重可视化和调试
不适用场景:
- 密集检索系统:需要进一步研究适配方法
- 实时检索:索引统计访问可能增加延迟
- 极短查询:查询词太少时反馈权重难以平衡
- 需要端到端优化:反馈模型参数与LLM未联合训练
实施建议:
- 优先尝试Rocchio(α=1.0,β=0.75)
- 根据任务特点调整参数(查询重要性高时增大α)
- 结合词项选择(过滤高频词,保留top-128词)
- 监控不同数据集上的性能,必要时调参
1 Abdul-Jaleel et al., 2004. UMass at TREC 2004: Novelty and HARD
9 Gao et al., 2023. Precise Zero-Shot Dense Retrieval without Relevance Labels (ACL)
14 Rocchio, 1971. Relevance Feedback in Information Retrieval
16 Wang et al., 2023. Query2doc: Query Expansion with Large Language Models (EMNLP)
20 Zhang et al., 2024. Exploring the Best Practices of Query Expansion with Large Language Models (EMNLP)
本文是一篇问题导向明确、方法简洁有效、实验充分严谨的优质IR研究。作者敏锐地发现了LLM查询扩展研究中的一个被忽视但重要的问题,通过系统性实验证明了传统反馈模型的持续价值。论文的主要启示是:技术进步不应以抛弃经典方法为代价,传统与现代技术的结合往往能产生更优解。
虽然论文在理论深度和参数优化方面有提升空间,但其实用性强、可复现性好,预计将对LLM时代的信息检索研究产生积极影响。对于从业者而言,这是一个低成本、高回报的改进方案;对于研究者而言,这是一个值得深入探索的新方向。