RRF 融合是什么?
一次好的检索,往往要同时问好几路「裁判」:关键词检索、向量检索、语义检索,各给出一份排名。可问题来了——三份名单各不相同,听谁的?RRF(倒数排名融合,Reciprocal Rank Fusion),就是一种把多份排名「合并成一份」的算法,而且不用任何额外训练,简单又抗干扰。它凭什么靠谱?
核心是一个分数:名次的倒数RRF 给每个文档打分的逻辑很朴素:排在第 1 名得 1/1,第 2 名得 1/2,第 3 名得 1/3……名次越靠前,分数越高。然后把同一篇文档在各个列表里的分数加起来,总分最高的排最前。
为什么不用原始相关度分数?
不同检索器的分数没法直接比较——关键词检索的 0.9 和向量检索的 0.7 不是一个「币种」。RRF 只关心名次,天然避开了这个坑,这也是它好用、易移植的原因。
它好在哪里?
零成本、零调参不需要训练数据,不需要调权重,几行代码就能落地。
对「烂列表」很鲁棒
某个检索器偶尔抽风,把某篇文档排得很靠后,倒数分也不会让它拖垮整体,抗噪能力强。
容易叠加新检索器
想再加一路检索?直接把它的名次换算成分数加进来即可,扩展性极好。
用在什么地方?
RRF 是混合检索(Hybrid Search)里的明星:把稀疏的关键词检索和稠密的向量检索结果融合,兼顾「精确匹配」和「语义理解」,是很多 RAG 系统默认的融合策略。一句话记住:RRF 融合就是「不看出身,只看名次」,用倒数把多份排名合并成一份更靠谱的榜单。
评论