Directional Posterior Feedback Fusion for Query Reformulation in Dense Retrieval

Yiteng Tu, Qingyi Pan, Weihang Su, Jiaxin Mao, Yiqun Liu, Qingyao Ai · Tsinghua / Renmin University · arXiv 2610.29464 · 发表 2026-10-21
12 分钟阅读时长 4605字 4.40综合分 第 2 名10-23 AI Search 日报
目录 · 5 节1问题:把反馈当目标点会丢掉互补信息2方法:四步3实验4局限5实践意义
相关 5新颖 4实用 4证据 4时效 5

向量检索里,短查询常常表达不全。常见的补救办法是先拿到一些"反馈"文本,比如第一轮检索排在前面的文档,或者让大模型写一段假想答案(HyDE),再用它们修改查询向量。现有做法大多把反馈向量取平均,或者和原查询线性插值,相当于把每条反馈都当成"新查询应该长成的样子",把查询往它整体拉过去。清华这篇论文提出的 DIFF(方向式后验反馈融合)认为这样会互相干扰:一条反馈往往只支持查询在某一个方向上的修正,其他方向它没给信息,却也被它往回拉。DIFF 先算出每条反馈相对原查询多出来的方向,只要求修正后的查询在这个方向上和反馈一致,其他方向不管;再按反馈质量给每条约束加权,并用"别离原查询太远"的约束兜底。整个过程有闭式解,不训练任何模型。在 BEIR 14 个子集、3 个检索模型、4 种反馈来源上,DIFF 的平均 NDCG@10 在 12 组设置里都是最高,但用第一轮检索文档做反馈时,它相对不加反馈的原查询基本没有提升;用大模型生成的反馈时,它领先最强基线 AnchorQE 的幅度又和超参数选择带来的波动差不多大。所以这篇论文更可靠的贡献是"不被噪声反馈拖垮",而不是"显著提高检索效果"。

两种融合方式对比(论文 Figure 1)。左:逐点拟合,修正向量 δ 被拉向两条反馈 e₁、e₂ 的中间;右:方向约束,每条反馈只约束 δ 在自己那个方向上的投影,δ 可以同时满足两条。
两种融合方式对比(论文 Figure 1)。左:逐点拟合,修正向量 δ 被拉向两条反馈 e₁、e₂ 的中间;右:方向约束,每条反馈只约束 δ 在自己那个方向上的投影,δ 可以同时满足两条。

1. 问题:把反馈当目标点会丢掉互补信息

设原查询向量为 ,第 条反馈相对 提出的修正是 ,其中 是方向(单位向量), 是幅度。逐点拟合的目标是让修正 接近 ,即最小化 。作者把它拆成两项:

第一项要求 在 方向上的分量等于 ,这是想要的。第二项惩罚 在所有其他方向上的分量,而这些方向可能正是别的反馈支持的修正。举个例子:查询是"苹果 发布会",一条反馈文档讲新手机,另一条讲新电脑,逐点拟合会把查询拉到两者中间,两个方向都只走了一半。

作者在附录里证明:权重相同时,方向约束得到的修正幅度总是不小于逐点拟合,只有所有反馈方向共线时两者相等。反馈方向两两正交时差别最明显,方向约束下第 个方向的修正量是 ,逐点拟合下分母还要再加上其他所有反馈的权重之和,也就是被其他反馈稀释了。这个证明说明了方向约束"走得更远",但走得远不等于走得对,后者要靠实验检验。

2. 方法:四步

第一步是算出每条反馈的新增方向。所有向量都做 L2 归一化,位于单位球面上。对反馈向量 ,先算它和查询的相似度 ,再减掉和查询平行的部分,得到 。 的方向 就是这条反馈想把查询往哪边转,长度 等于两者夹角的正弦值,衡量这条反馈带来了多少原查询里没有的东西。作者特意把"新增多少"()和"是否可信"(由 决定)分开,避免把"和查询差得多"误当成"信息量大、值得信"。

第二步给每条反馈打可信度。可信度 由两层组成。单条质量 :把同一查询下所有反馈的 用中位数和中位数绝对偏差标准化,再过 sigmoid,所以和查询更接近的反馈权重更大,而且不依赖不同模型相似度的绝对数值。整组可信度 :先算所有修正向量的平均 ,记 为平均方向的强度, 为各条修正向量到 的距离平方的平均(离散程度),几何可信度 , 是反馈条数,取值在 0 到 1 之间;反馈方向一致时 高,各说各话时 低,最后再乘上整组的平均单条质量,因为一组都很弱的反馈也可能彼此一致。

第三步联合求修正量,目标函数只保留每条反馈在自己方向上的约束,外加一项惩罚修正幅度:

这个问题有闭式解,只需要解一个 的线性方程组( 是反馈条数,主实验取 5),计算量是 , 是向量维度。

第四步把修正转回球面:最终旋转角度取 和" × 最大允许角度 "中较小的一个,然后 。整组反馈不可信时 小,查询几乎不动。

3. 实验

设置:BEIR 的 14 个子集(包括论辩检索 ArguAna、事实核查 FEVER(事实抽取与核验)、多跳问答 HotpotQA、MSMARCO、谷歌搜索问答 NQ(自然问题集)、科学论断核查 SciFact、新冠文献检索 TREC-COVID 等),三个检索模型 bge-base-en-v1.5、e5-base-v2、Qwen3-Embedding-0.6B。反馈有两类:第一轮检索的前 篇文档(PRF),以及 Qwen3.8-27B 生成的三种文本(HyDE 假想文档、Q2D 查询扩写、CoT 推理过程)。所有方法共用同一个编码器、同一份反馈和同一个索引,只比较融合方式。对比方法包括向量平均(VPRF)、拼接后重新编码(Concat-P/L)、只取正交分量的 OR-PRF、按维度加权的 DIME(逐维挑选重要维度)和它的改进版 Eclipse,以及需要额外检索来估权重的 AnchorQE。

3.1 主结果

下表是 14 个子集的平均 NDCG@10,括号里是不用反馈的原查询分数:

检索模型(原查询)反馈VPRFOR-PRFAnchorQEDIFF
BGE(0.5492)PRF0.50450.53920.54660.5522
HyDE0.54100.56060.57000.5717
Q2D0.55640.56320.56980.5723
E5(0.5231)PRF0.47750.51030.52250.5252
HyDE0.50880.51890.54870.5489
Qwen(0.5492)PRF0.50660.53880.54590.5491
HyDE0.56070.57020.57200.5777

主表里有两点值得注意。第一,用检索文档做反馈时,简单平均会把分数拉到原查询以下,BGE 上从 0.5492 掉到 0.5045;DIFF 在这一栏只是没掉分。论文的显著性标记也印证了这一点:E5 和 Qwen 上 DIFF 相对原查询的变化不显著,只有 BGE 上的 +0.003 被标为显著。第二,用大模型生成的反馈时各方法都有提升,DIFF 和 AnchorQE 很接近,E5 + HyDE 上只差 0.0002,CoT 反馈下 BGE 上差 0.0004,这两格论文也没有标出显著差异。AnchorQE 要额外做检索来估权重,DIFF 不需要,这是 DIFF 在效果持平时的实际优势。

3.2 平均分下面的逐查询变化

PRF 反馈下逐查询 NDCG@10 的变化分布(论文附录 Figure 4a)。横轴是方法相对原查询的 NDCG@10 差值。蓝色 VPRF 在负半轴有大片分布;橙色 DIME 和绿色 DIFF 都集中在 0 附近,DIFF 最集中。
PRF 反馈下逐查询 NDCG@10 的变化分布(论文附录 Figure 4a)。横轴是方法相对原查询的 NDCG@10 差值。蓝色 VPRF 在负半轴有大片分布;橙色 DIME 和绿色 DIFF 都集中在 0 附近,DIFF 最集中。

这张图解释了 PRF 下平均分为什么几乎不动。VPRF 让大量查询明显变差,有一批查询掉了 0.4 到 0.6。DIFF 让绝大多数查询基本不变,变好和变差的数量差不多。原因是检索回来的文档方向分散,整组可信度 很低,第四步把旋转角度压得很小。换句话说,DIFF 在噪声反馈下的做法接近于"不动",这是稳健,但也意味着它没能从检索文档里挑出有用的那几条。作者说在 HyDE 反馈下,DIFF 变好的查询明显多于变差的,同时仍有大量查询保持不变。

3.3 分子集看:收益集中在少数数据集

附录给了 BGE 上每个子集的结果。下表选了变化最明显的几个:

子集原查询DIFF(PRF)DIFF(HyDE)AnchorQE(HyDE)
NQ0.54110.54510.59620.5872
TREC-COVID0.78020.80120.84800.8401
DBPedia0.40780.41040.44290.4424
FEVER0.86300.85410.86950.8723
Touche20200.25710.24730.26460.2580
Quora0.88740.88340.88320.8870
ArguAna0.45340.46730.45500.4592

PRF 下 DIFF 在 10 个子集上略升、4 个子集上略降,升幅最大的是 TREC-COVID 的 0.021,降幅最大的是 Touche2020 的 0.010,所以平均下来几乎不变。HyDE 下的提升主要来自 NQ、TREC-COVID、DBPedia 这类问答和实体检索任务,因为大模型写出的假想答案和目标文档的文体接近。Quora 是找重复问题,假想答案和目标的文体不一致,DIFF 反而略低于原查询。按子集比较,HyDE 下 DIFF 在 10 个子集上高于 AnchorQE,在 4 个子集上低于它。

3.4 消融

在 BGE 上每次去掉或替换一个部件:

变体PRF NDCG@10HyDE NDCG@10
DIFF 完整0.55220.5717
改回逐点拟合(直接加权求和修正向量)0.54390.5646
去掉全部可信度(τ=1)0.54540.5703
去掉单条质量(a=1)0.54620.5481
单条质量不做中位数标准化0.54870.5684
去掉整组可信度(g=1)0.54830.5565

改回逐点拟合是降幅最大的几项之一,支持论文的核心论点。不过在 PRF 下,表中各变体都低于原查询的 0.5492,只有完整的 DIFF 高出 0.003,也就是说各部件的作用主要是把损失降到零,而不是带来收益。HyDE 下去掉单条质量从 0.5717 掉到 0.5481,说明生成的假想文档质量参差,必须区别对待。

3.5 超参数和效率

DIFF 有两个超参数:拉回原查询的强度 和最大旋转角 ,作者在 3×3 的网格里搜索。PRF 下 9 组结果在 0.5452 到 0.5522 之间,只有 5 组高于原查询,最佳设置是很小的旋转角 π/12,这再次说明检索反馈下最好的策略是少动。HyDE 下 9 组在 0.5631 到 0.5717 之间,只有 2 组超过 AnchorQE 的 0.5700。论文没有说明网格搜索用的是哪部分数据,如果是直接在测试集上选,那么 DIFF 对 AnchorQE 的领先在这个波动范围之内。

效率方面,在 10 个查询上计时,DIFF 耗时 0.258 秒,和向量平均的 0.247 秒相当,AnchorQE 因为要额外检索,耗时是 DIFF 的 3.67 倍。不过 10 个查询的样本很小,只能看出数量级。

4. 局限

最主要的一点在主表和分布图里:用第一轮检索文档做反馈时,DIFF 相对原查询几乎没有收益,它的价值是"不被噪声拖垮"。其次,用生成反馈时对 AnchorQE 的领先很小,又可能受超参数选择影响,论文没有报告多次运行的方差。此外,实验只在 BEIR 上做,检索模型最大 0.6B,没有在生产规模的语料和更大的向量模型上验证。生成反馈也只用了一个大模型。

5. 实践意义

如果系统里已经在用 HyDE 或查询扩写,并把生成文本编码后和原查询取平均,可以考虑换成 DIFF:只依赖向量本身,不训练、不额外检索,每个查询多解一个 5×5 的线性方程组,就能在不增加检索次数的情况下拿到和 AnchorQE 相当的效果。上线前应按自己的查询类型分开评估,因为像 Quora 这样"找相似问题"的任务,假想答案本身就和目标不对路。如果反馈来自第一轮检索结果,这篇的结果提示收益有限,DIFF 可以作为"防止平均做法把指标拉低"的保险,而不要指望它带来提升。

读完这篇,你觉得

点一下即可,无需登录;再点一次撤回。只统计匿名次数,不记录你是谁。

讨论

欢迎补充实验细节、复现经验或不同看法。需 GitHub 登录。

正在加载讨论…