引言
今天带来一篇胆小精悍的介绍倒数排名融合的论文Reciprocal Rank Fusion outperforms Condorcet and individual Rank Learning Methods 笔记。
倒数排名融合(Reciprocal Rank Fusion,RRF)是一种简单的方法,用于结合来自多个信息检索系统的文档排名。它的结果始终优于任何单个系统,并且优于标准方法康多塞融合(Condorcet Fuse),这个作者在标题也提到了。
倒数排名融合可以用在混合检索,比如同时支持关键词检索和向量检索的重排名阶段。
1. 倒数排名融合
作者提出了倒数排名融合(RRF)作为基线,RRF在结合信息检索方法的结果时,几乎总是能改善组合结果中的最佳表现。RRF始终能够与其他方法持平或更好。
RRF简单地根据一个朴素(简单)的评分公式对文档进行排名。给定一个待排名的文档集合
D
D
D和一个排名集合
R
R
R,每个排名都是在
1...
∣
D
∣
1 ... |D|
1...∣D∣之间的一个排列,计算:
RRF
score
(
d
∈
D
)
=
∑
r
∈
R
1
k
+
r
(
d
)
\text{RRF}_\text{score}(d\in D) = \sum_{r \in R} \frac{1}{k+r(d)}
RRFscore(d∈D)=r∈R∑k+r(d)1
其中
k
=
60
k=60
k=60是固定的,并且在后续验证中未做更改。选择这个公式的直觉来自于这样一个事实:虽然排名较高的文档更为重要,但排名较低的文档的重要性并不会像使用指数函数那样消失。常数
k
k
k减轻了来自异常系统的高排名影响。
康多塞融合(Condorcet Fuse)通过根据成对关系
r
(
d
1
)
<
r
(
d
2
)
r(d_1) < r(d_2)
r(d1)<r(d2) 对文档进行排序来组合排名,这一关系是通过对输入排名每个
(
d
1
,
d
2
)
(d_1, d_2)
(d1,d2)的多数投票确定的。而CombMNZ则要求每个排名
r
r
r有一个对应的评分函数
s
r
:
D
→
R
s_r: D \rightarrow \R
sr:D→R和一个截止排名
c
c
c,它们共同构成CombMNZ分数:
CMNZ
score
(
d
∈
D
)
=
∣
{
r
∈
R
∣
r
(
d
)
≤
c
}
∣
⋅
∑
{
r
∣
r
(
d
)
≤
c
}
s
r
(
d
)
\text{CMNZ}_\text{score}(d\in D) = |\{r \in R| r(d) \leq c\} | \cdot \sum_{\{r|r(d)\leq c\}} s_r(d)
CMNZscore(d∈D)=∣{r∈R∣r(d)≤c}∣⋅{r∣r(d)≤c}∑sr(d)
作者进行了四个初步实验,每个实验结合了30种Wumpus搜索配置在四个不同TREC文档集合上的结果。第一个实验的结果(见表1)表明,k=60接近最佳,但这个选择并不关键。结果还意外地显示,RRF优于竞争方法以及那些更复杂学习方法。
用四组提交的TREC任务重复了实验;这些特定的集合之所以被选中,是因为它们曾用于之前的元排名评估。值得注意的是,虽然初步实验使用了完全相同的Wumpus配置集来生成不同数据集上的个别排名,但这些实验中的个别排名正是TREC参与者提交的结果。表2展示了RRF的结果,以及最佳个体结果、康多塞和CombMNZ的结果。所有情况下,RRF的MAP分数均超过了康多塞融合的分数,并且在除了一个例外之外也超出了CombMNZ。RRF在每个实验中均优于最好排名,唯一的例外是在TREC 9中,其中最佳排名是通过人工干预获得的。RRF的表现超越了第二好的自动排名。
初步和TREC实验表明,RRF平均优于康多塞、CombMNZ和最佳系统4%到5%。
2. 讨论
为简洁起见,将MAP作为系统性能的测量指标。P@k、R-precision和NDCG的结果也是同样可比的。RRF比康多塞融合方法更简单且更有效,同时具有一个重要特性,即在合并排名时不考虑特定排名方法返回的任意分数。RRF不需要特殊的投票算法或全局信息;可以逐个系统计算和求和排名,从而避免需要将所有排名保存在内存中的情况。
RRF之所以优于康多塞,是因为它更好地利用了个别排名中的多样性。一两个系统对某个文档的高排名可以显著提升该文档相对于更受欢迎文档的排名。而在康多塞方法中,简单的多数弱偏好可能会推翻相对强得多的偏好。
CombMNZ通过将单个系统未校准分数的总和与每个排名的二值量化总和相乘来计算分数。其结果具有较高的方差,范围从稍微好于RRF到显著差于康多塞,这一点或许并不奇怪。这一效果的原因在于,偶然之间,有些分数比其他分数更为适应。
总结
⭐ 作者提出了倒数排名融合(RRF)的简单方法,但是效果超过了逼他复杂得多的方法,仅是考虑每个系统中排名的倒数(计算倒数时先增加一个固定的偏移量k,防止异常值影响)。可以尝试用在粗牌之后精排之前,或者看是否能替代精排。