信息检索评价指标总结

参考: 参考博客

MAP(Mean Average Precision):

         单个主题的平均准确率是每篇相关文档检索出后的准确率平均值。主集合的平均准确率(MAP)是每个主题的平均准确率的平均值。MAP 是反映系统在全部相关文档上性能的单值指标。系统检索出来的相关文档越靠前(rank 越高)MAP就可能越高。如果系统没有返回相关文档,则准确率默认为0。

NDCG(Normalized Discounted CumulativeGain):

分为四步:

  1. 设定相关性等级(2^5-1, 2^4-1…)
  2. 计算累计增益值
  3. 计算折算因子log(2)/log(1+rank) (越靠前的,越容易被点击)
  4. 归一化到NDCG,为了不同等级上的搜索结果的得分值容易比较 
    4.1. 首先计算理想list的MaxDCG 
    4.2 相除即可

计算相对复杂。对于排在结位置n处的NDCG的计算公式如下图所示:


(1)在MAP中,四个文档和query要么相关,要么不相关,也就是相关度非0即1。NDCG中改进了下,相关度分成从0rr+1的等级(r可设定)。当取r=5时,等级设定如下图所示:

(应该还有r=1那一级,原文档有误,不过这里不影响理解)

(2)例如现在有一个query={abc},返回下图左列的RankedList(URL),当假设用户的选择与排序结果无关(即每一级都等概率被选中),则生成的累计增益值如下图最右列所示:

(3)考虑到一般情况下用户会优先点选排在前面的搜索结果,所以应该引入一个折算因子(discountingfactor): log(2)/log(1+rank)。(从上往下,依次为1,0.63,0.50...)这时将获得DCG值(Discounted Cumulative Gain)如下如所示:

(4)最后,为了使不同等级上的搜索结果的得分值容易比较,需要将DCG值归一化的到NDCG值。操作如下图所示,首先计算理想返回结果ListDCG(即第一个为perfect,其余为excellent):

然后用DCG/MaxDCG就得到NDCG值,如下图所示:

猜你喜欢

转载自blog.csdn.net/qq_41058526/article/details/80250926
今日推荐