为什么稠密向量与 BM25 分数不能直接相加?
未标记
考查重点:检索分数量纲与融合偏差。BM25 与向量分数尺度、分布和方向不同,直接加会偏向数值大的一路;先校准加权或用排名融合
本题目录
参考答案
核心回答
两者都用于排序,但原始分数的含义、尺度和分布没有天然对齐:BM25取决于查询词在语料中的统计、文档词频与长度;稠密检索取决于编码模型和距离度量。直接相加会让数值较大的一路主导,距离若是越小越好,还可能把方向加反。
并非数学上不能加,而是需要先定义可比性和校准方式。工程上可以用RRF融合排名,或在代表性数据上做归一化、权重调优与学习排序,再比较真实检索和问答效果。
为什么一个权重不能自动解决
假设向量路A=0.8、B=0.7,BM25路A=2、B=4。等权求和偏向B;如果BM25实现或语料变化使同一路分数整体缩小,融合结果可能改变,而BM25内部的排名并未改变。此时权重同时承担尺度换算与通道重要性,很难直接解释。
余弦相似度通常在-1到1之间,特定模型的分数可能集中于很窄区间;内积不天然有界,欧氏距离越小越近。BM25也不是固定范围或正确概率,其数值会随查询词、索引字段和统计变化;“都归到0到1”并不自动变成同一种置信度。
有哪些处理方式
按查询候选做Min-Max简单,但受极端值和截断窗口影响,全部相同还要处理分母为零;Z-Score依赖均值方差,分布很偏或方差很小时也需兜底。跨查询统一阈值要另外验证,不能只看某次归一化后的数值。
RRF只利用候选排名,不要求原始分数校准,适合建立稳健基线,但丢失分数差距。已有足够标注时,可以用查询类型、两路分数、名次和字段特征学习排序;训练和验证需考虑领域变化,避免只拟合一批查询。
还有哪些前提不能忽略
先统一候选ID和粒度,避免一个文档被多份重复片段反复加权;限制各路候选预算并记录缺席情况。权限、生效时间和租户边界由硬条件过滤,不能变成“分数低一点但仍可能返回”的软偏好。
固定候选和上下文预算,按错误码、缩写、实体名和语义改写分桶比较Recall、MRR/NDCG及最终答案。两路都漏掉证据时,换融合公式也补不回来。
常见追问
RRF与重排是一回事吗? RRF汇总多个检索器的排名;重排通常重新判断查询与候选的相关性,可以在融合后再使用。选择RRF的详细取舍见混合检索为什么选择RRF。
参考资料
- 国内:RAG优化:候选、重排与上下文:混合检索部分说明向量与词项排序的分数不天然可比,以及归一化加权与RRF的区别。
- 国内:RAG与检索:候选已多仍答差、重排取舍:依据分数融合与 RRF 的区分,说明正文中原始分数量级、排名和候选深度的不同作用。
- 国内:阿里云:混合检索与Rerank排序:参考候选合并、统一 ID 与后续重排的链路,说明正文中融合前需对齐候选身份和粒度的原因。
- 国外:Cormack等:Reciprocal Rank Fusion:排名贡献求和公式说明为何RRF不依赖原始分数范围,同时会丢失分数间距。
- 国外:Elasticsearch:Reciprocal rank fusion:依据 RRF 的参数和窗口约定,说明正文中候选预算与截断同样会改变融合结果。

