文章目录
- 测试集
- 无序检索结果集合的评价
- Precision & Recall
- Accuarcy?
- F值
- 有序检索结果评价方法
- 二值相关(相关/不相关)
- Precision@K(P@K)
- Mean Average Precision(MAP)
- Mean Reciprocal Rank
- 多级相关
- CG(累积增益)
- Discounted Cumulaive Gain
- Normalized Discounted Cumulaive Gain
测试集
想要评价一个信息检索模型,我们需要一个测试集,这个测试集包含三个部分
-
一个文档集
-
一组用于测试的信息需求集合(Topics,信息需求可以表示成查询,但查询可能只包含信息需求中的一些词)
-
一组相关性判定结果(topic,document,label) tuples
一般信息检索模型会有很多参数,参数调优要求在训练集上进行,在测试集上测试结果
无序检索结果集合的评价
Precision & Recall
Accuarcy?
文档集中所有判断正确的文档所占的比例
没有意义:如果对于一个查询来说,文档集中大部分文档都是不相关的,则检索到的结果对Accuarcy影响不大。什么都不返回,准确率都是 99.99%
F值
同时采用正确率和召回率两个指标来度量效果的优点:可以满足偏重其中一个指标的场景的需要
F是正确率和召回率的调和平均值 $F = \frac{1}{\alpha{\frac{1}{p}+}(1-\alpha){\frac{1}{R}}} \$。可以写成如下形式,其中 β 2 = 1 − α α \beta^2 = \frac{1-\alpha}{\alpha} β2=α1−α。 β > 1 \beta>1 β>1表示强调召回率, β < 1 \beta<1 β<1 表示强调正确率
- 若 β \beta β 很大,比如 β = 100 \beta = 100 β=100 ,那么 $F_{100} = \frac{10001PR}{10000P+R}\$,因为 10000 P 10000P 10000P 比 R R R 大很多,因此原式近似于 F 100 = 10001 P R 10000 P = R F_{100} = \frac{10001PR}{10000P} = R F100=10000P10001PR=R,所以更注重召回率
- 反之,更注重正确率
为什么不是几何平均值?:若返回所有文档,则得到 100% 召回率,平均值最小为 50%,不合理
正确率和召回率等权重的 F F F 形式。惩罚 P , R P,R P,R 之间出现小的值
有序检索结果评价方法
二值相关(相关/不相关)
Precision@K(P@K)
前 K 个返回结果的 Precision(相关文档的比例)
Mean Average Precision(MAP)
具有好的区别性和稳定性,但是对 Web 搜索来说,用处不大
实际上是在所有的召回率水平上计算正确率
AP:对于一个查询的返回结果中,P@K的平均值
MAP:不同查询之间 AP 的平均值
- 单个系统在不同信息需求上的MAP往往比较大
- 同一个信息需求在不同系统中的MAP相对小一些
- 因此测试的信息需求必须足够大,需求之间的差异也要足够大,这样系统在不同查询上体现出的效果才最有代表性
Mean Reciprocal Rank
K K K 是第一个相关文档出现的位置,$RR = \frac{1}{K} \$
MRR 就是不同查询之间 RR 的平均值
多级相关
CG(累积增益)
C G n CG_n CGn :前 n 个文档的相关度得分和
Discounted Cumulaive Gain
评价web搜索和相关工作的流行方法
两个假设:
- 相关度高的文档比相关度低的文档更有用
- 相关文档的位置越靠后,对用户来说越不重要,因为它很少被查看
用户更关注排名高的文档,因此我们将排名考后的文档的贡献减小(discount)
Normalized Discounted Cumulaive Gain
为了能使不同 D C G DCG DCG 之间能够相互比较,我们应该对 D C G DCG DCG 进行归一化,以消除文档相关度得分不同的影响
-
首先,得到 I D C G IDCG IDCG ,就是将返回的文档集按照相关度得分从大到小排序(这是理想情况,得分高的全都在前面,所以 I I I 代表 ideal)
-
这样的话,我们用 D C G DCG DCG 除以 I D C G IDCG IDCG,就能将 D C G DCG DCG 进行归一化(返回的实际结果有多接近最理想的结果)。 N D C G NDCG NDCG 可以在不同查询返回的结果之间进行比较