搜索评价指标(一)

评价指标(一)

Metrix Based on Binary Judgement

  • 两个动机

    • 哪一个搜索集合更好
    • 哪一种排序方式更好
  • 查准率和查全率/ Precision / Recall

    • 查准率值指的是在检索出来的文档中, 真正的相关的文档在查询出来的文档中的比例
    • 查全率值得是在所有相关的文档中,有多少文档是被正确查询出来的
    • 在第一个比较的集合中,S1的precision和recall都是好于S2的,所以我们可以初步断言S1>S2
    • 但是在第二个比较的集合中,S3的precison较高,但是recall较低,不好判断哪个好,这时候用到调和平均数F1,整体上, 我们认为F1高的集合查询效果更好一些
    • 但是如果两个查询结果的precison和recall都一样,也就是说F1一样的话,我们怎么判断那个返回结果好呢?
    • 下面两张图表示用户查询到某个页面的点击次数,直观来说,人们通常都是从上往下来搜索想要的结果的,所以,按照这种逻辑,其实L1更好一点
  • 如果去量化L1和L2的查询效果,我们可以用AP来衡量效果

    • P@K:指的是前K个返回结果的Precision,针对L1和L2,我们可以用不同的前K个结果的Precision值取衡量效果
    • PR Curve:比如我们P@K,K取5,那么K=1,...5, 对每一个K时候的precision和recall我们记录下这个点,那么L1就有5个点,同样的L2也能画出5个点,如果L1的点都分布在L2点的上方,那么我们认为L1的结果要更好
    • AP公式中,R是所有相关文档的个数,n是所有查询到的文档总数,rel(di)指的是在所有查询结果中,和query相关或不相关,可取0,1,P@i K取i的时候precision
  • MAP指标

    • 其实就是用户给了若干个query后的平均AP,Q就代表用户查询次数
  • R-Recall 和 RR

    • R-Recall :比如说在一次查询中,有10个文档是相关的,我们取top-k个去计算recall和precision,其实就是子集的概念
    • RR: 含义:应该被排在第一的相关文档实际上被排在了第几名,计算结果取倒数
      • 比如查询,中国人民大学,我们想要在第一位就查到他,但是在第4个结果才出现,那么RR = 1/4
  • 以上便是基于Binary 的Judgement

Metrics Based on Graded Relevance(分级)在实际中被广泛使用

  • 含义:在Binary Judgement中,我们对于每一个返回的结果,要么是判断为相关,要么是不想关,这样其实是不好的,类似于对一个知识点的掌握,用掌握了和没掌握来表示其实并不合适,而Graded Relevance就是一个对返回结果分级打分策略,分为:相关,不相关,非常相关或。。

  • NDCG(Normalized disconted cumulated gain)

    • 两个假设:
      • high relevent 是要比relevent要好的,relevent是要比irrelevant要好的
      • 相关性越高,越应该被排在前面,其实相关性的定义不是绝对的
    • CG 累计的Gain:理解成每个文档能给用户带来的好处,此处用0,1,2来打分,即Gi是认为定义的
    • DCG(打折的CG)
      • 在上面的例子中,计算出来的CG是一样的,但能说两个一样好吗,其实不是,CG只满足了NDCG的第一条假设,即越相关分越高,但是还没考虑位置信息,所以要对不同的位置打折,和attention机制类似
      • b表示从b往后,文档的Gain就要Discount
    • NDCG(标准化的CG)
      • 假设有一个最好的ranking结果,计算出它的DCG作为idealDCG,标准化就是每个结果除以它,让每个结果落在0-1之间
        • 在实际中,NDCG有很多变种,上图中的DCG-k是比较常用的
    • GAP (Graded Average precision):其实就是对打分策略做了改进
  • bpref

    • 这个指标主要是解决对返回的list中,不知道是否相关的页面该如何处理的问题。、
      • 其中n是在前R个排序结果中混进来的不相关的文档个数
posted @ 2021-03-13 16:32  luobotou233  阅读(211)  评论(0)    收藏  举报