信息检索评价指标
信息检索评价指标可以对一个检索系统的性能进行评价,在信息检索的研究领域中,有很多的排名质量评价指标。例如 MAP,NDCG,MRR,ERR 等,其中 NDCG 和 ERR 等指标可以处理不同的相关性等级 (文档之间的相关性分等级,0,1,2,3 等);而 MAP 和 MRR 只能处理相关和不相关两种情况。
1.Precision、Recall、F1
Precision 是准确率,Recall 是召回率,F1 是准确率和召回率的调和平均,这些都是分类问题中常见的指标。在信息检索中,适用于文档只分相关和不相关的情况。
计算公式如下
Precision、Recall、F12.Average Precision (AP)
(AP) Average Precision 指平均准确率,是在不同的召回率上的准确率求平均。假设我们的检索系统找出了下面 10 篇文章,最上面的是系统认为最相关的文章,最下面的是系统认为最不相关的文章。
然后切换阈值,使每次只采用前 k 个文章作为筛选结果,可以得到不同的召回率和准确率,如下图所示,k 从 1 到 10。
top k 召回率和准确率这时对准确率求平均就是 AP 值。
AP 值除了上述方法计算 AP 值外,还可以取不同的召回率值,例如从 0, 0.1, 0.2, ..., 1 的召回率,然后计算在这种召回率下准确率的平均值。
(MAP) Mean Average Precision 是采用不同的查询,分别计算得到 AP 值,然后计算这些 AP 值的平均。
MAP 值3.Cumulative Gain (CG)
(CG) Cumulative Gain 累计效益,对于所有的文档,都有一个对应的相关度 g,如 0, 1, 2, 3, 4,相关度越高表示文章与查询越相关。假设一共检索得到 T 个文档,CG 计算的就是这 T 个文档的相关度之和。
CG 计算公式(DCG) Discounted Cumulative Gain CG 计算的时候只是简单的把 T 个文档的相关度相加,并没有考虑文档的排名顺序。
例如文档 A 相关度为 4,文档 B 相关度为 3,文档 C 相关度为 0。
两个检索系统返回的文档顺序分别是 (A,B,C) 和 (C,B,A),则这两个系统计算得到的 CG 值都是一样的,但是明显第一个系统返回的结果更加合理。
DCG 在 CG 的基础上加上了排名位置信息作为分母,排名越靠后的文章对于指标值的影响越小,DCG 有两种计算公式。
DCG 计算公式(IDCG) Ideal DCG 理想状态下的 DCG 值,把检索到的 T 个文档按照相关度从高到低排列 (即最理想的排列顺序),然后在这个顺序下计算 DCG 值。
(NDCG) Normalized DCG 归一化的 DCG 值,不同的查询返回的文档个数 T 通常是不同的,所以不能直接使用 DCG 进行比较,也不能直接对不同查询的 DCG 求均值。通过 NDCG 进行归一化之后,得到的值在 0-1 之间,此时可用于多个查询的情况。
NDCG 计算公式4.Reciprocal Rank (RR)
(RR) Reciprocal Rank 排名的倒数,文档在检索结果中有一个排名,RR 计算的是第一个相关的文档在检索结果中的排名的倒数。例如对于查询 i 来说,第一个相关的文档排名是 rank(i),则 RR 如下。
RR 计算公式(MRR) Mean RR 多个查询结果的 RR 值求均值,如下,N 为查询次数。
MRR 计算公式(ERR) Expected RR 假设用户会按照顺序查阅检索到的文档,可以计算用户点击位置 r 文档的概率 Pr,此概率是一个关于文档相关度等级 g 的函数,如下。
从上式可以看到,Ri 表示用户对文档 i 感兴趣的概率。计算 Pr,则要知道位置 r 之前的文档 i 用户不感兴趣的概率 (1-Ri)。
ERR 是对每个位置 r 的 Pr 值加权平均,和 NDCG 类似,ERR 也考虑了位置的影响,即位置越靠后权重越低。如下所示。
ERR 计算公式5.参考文献
- 《From RankNet to LambdaRank to LambdaMART: An Overview》
- 信息检索中的各项评价指标
- 信息检索评价指标NDCG、a-NDCG