1.7 KiB
1.7 KiB
title, type, tags, sources, last_updated
| title | type | tags | sources | last_updated | |||||
|---|---|---|---|---|---|---|---|---|---|
| Reciprocal Rank Fusion (RRF) | concept |
|
|
2026-04-22 |
Aliases
- RRF
- Reciprocal Rank Fusion
Definition
Reciprocal Rank Fusion(倒数排名融合)是一种多检索器结果融合算法,通过对各检索器返回结果的排名取倒数并进行加权求和,生成统一的融合排名。无需训练,简单高效,是混合搜索的标准融合策略。
Formula
RRF_score(d) = Σ 1 / (k + rank_i(d))
其中:
- d = 文档
- rank_i(d) = 检索器 i 对文档 d 的排名(从1开始)
- k = 平滑参数(通常 k=60,作用是减少高排名文档的压倒性优势)
Why k=60?
k=60 是一个经验值,来源于 BM25 的默认参数 k1=1.2、b=0.75 的理论推导。选择 k=60 使得排名差异在高位次(rank 1 vs rank 2)时有明显影响,但在低排名(rank 50 vs rank 51)时影响减弱,兼顾早期精确和长尾包容。
Example
假设有两个检索器对同一查询的结果:
| 文档 | 向量检索排名 | BM25 排名 |
|---|---|---|
| A | 1 | 3 |
| B | 2 | 1 |
| C | 3 | 2 |
k=60 时:
- RRF(A) = 1/(60+1) + 1/(60+3) = 0.01639 + 0.01587 = 0.03226
- RRF(B) = 1/(60+2) + 1/(60+1) = 0.01613 + 0.01639 = 0.03252
- RRF(C) = 1/(60+3) + 1/(60+2) = 0.01587 + 0.01613 = 0.03200
最终排名:B > A > C
Connections
- Hybrid Search — RRF 是混合搜索的标准融合算法
- semantic-memory-search — memsearch 使用 RRF 融合向量和 BM25 结果
- Knowledge-Base-RAG — RRF 用于提升知识库检索质量