信息检索 DCG、NDCG、AUC、BM25、F1-Score、AP

本文深入探讨信息检索领域的核心评估指标,包括DCG、NDCG、ROC与AUC、BM25及AP等,详细解释了每个指标的计算方法及其应用场景,为理解检索系统性能提供了全面视角。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、DCG

例子: 文章库内有4个文章 d1d_1d1d2d_2d2d3d_3d3d4d_4d4。针对查询Q,每个文档的打分分别为:d1=0分d_1=0分d1=0d2=1分d_2=1分d2=1d3=2分d_3=2分d3=2d4=2分d_4=2分d4=2
查询Q在系统S中返回的结果顺序为: d3d_3d3d2d_2d2d4d_4d4d1d_1d1

:DCG公式为:DCGRF=∑scoreilog2(1+ranki)DCG_{RF}=\sum \frac{score_i}{log_2{(1+rank_i)}}DCGRF=log2(1+ranki)scorei
查询的顺序与分数为:d3(2分)d_3(2分)d3(2)d2(1分)d_2(1分)d2(1)d4(2分)d_4(2分)d4(2)d1(0分)d_1(0分)d1(0)
所以 DCGRF=2log22+1log23+2log24+0log25=4.584DCG_{RF}=\frac{2}{log_2{2}} + \frac{1}{log_2{3}} + \frac{2}{log_2{4}} + \frac{0}{log_2{5}} = 4.584DCGRF=log222+log231+log242+log250=4.584

2、NDCG

例子(同上): 文章库内有4个文章 d1d_1d1d2d_2d2d3d_3d3d4d_4d4。针对查询Q,每个文档的打分分别为:d1=0分d_1=0分d1=0d2=1分d_2=1分d2=1d3=2分d_3=2分d3=2d4=2分d_4=2分d4=2
查询Q在系统S中返回的结果顺序为: d3d_3d3d2d_2d2d4d_4d4d1d_1d1

:NDCG公式为:NDCG=DCGRFIDCGNDCG=\frac{DCG_{RF}}{IDCG}NDCG=IDCGDCGRF
DCG公式为 DCGRF=∑scoreilog2(1+ranki)DCG_{RF}=\sum \frac{score_i}{log_2{(1+rank_i)}}DCGRF=log2(1+ranki)scorei
IDCG为Grund Truth即最理想的查询结果: IDCG=∑GTilog2(1+ranki)IDCG=\sum \frac{GT_i}{log_2{(1+rank_i)}}IDCG=log2(1+ranki)GTi
查询的顺序与分数为:d3(2分)d_3(2分)d3(2)d2(1分)d_2(1分)d2(1)d4(2分)d_4(2分)d4(2)d1(0分)d_1(0分)d1(0)
所以 DCGRF=2log22+1log23+2log24+0log25=4.584DCG_{RF}=\frac{2}{log_2{2}} + \frac{1}{log_2{3}} + \frac{2}{log_2{4}} + \frac{0}{log_2{5}} = 4.584DCGRF=log222+log231+log242+log250=4.584
IDCG=2log22+2log23+1log24+0log25=7.170IDCG=\frac{2}{log_2{2}} + \frac{2}{log_2{3}} + \frac{1}{log_2{4}} + \frac{0}{log_2{5}} = 7.170IDCG=log222+log232+log241+log250=7.170
综上: NDCG=DCGRFIDCG=4.5847.170=0.639NDCG=\frac{DCG_{RF}}{IDCG}=\frac{4.584}{7.170}=0.639NDCG=IDCGDCGRF=7.1704.584=0.639

3、ROC与AUC

在这里插入图片描述
TP: 模型预测的正类是对的
FN: 模型预测的负类是错的
FP: 模型预测的正类是错的
TN: 模型预测的负类是对的
在这里插入图片描述
A为Ground-Truth B为predict
正确率 Accuracy=TP+FNTP+TN+FP+FN=U−A∩B+A∩BUAccuracy=\frac{TP+FN}{TP+TN+FP+FN}=\frac{U-A\cap{B}+A\cap{B}}{U}Accuracy=TP+TN+FP+FNTP+FN=UUAB+AB

召回率 Recall=TPTP+FN=A∩BARecall=\frac{TP}{TP+FN}=\frac{A\cap{B}}{A}Recall=TP+FNTP=AAB

精准度 Precision=TPTP+FP=A∩BBPrecision=\frac{TP}{TP+FP}=\frac{A\cap{B}}{B}Precision=TP+FPTP=BAB

F1=21Precision+1Recall=2∗Precision∗RecallPrecision+RecallF1=\frac{2}{\frac{1}{Precision}+\frac{1}{Recall}} = \frac{2*Precision*Recall}{Precision+Recall}F1=Precision1+Recall12=Precision+Recall2PrecisionRecall

(F1为 Recall和Precision的调和平均数)

假阳率(ROC曲线X轴) FPR=FPFP+TNFPR=\frac{FP}{FP+TN}FPR=FP+TNFP

真阳率(ROC曲线Y轴 ==召回率) TPR=TPTP+FNTPR=\frac{TP}{TP+FN}TPR=TP+FNTP

这里写图片描述
AUC就是曲线右下部分面积。

4、BM25

BM25公式 Score(Q,d)=∑inWi∗R(Qi,d)Score(Q, d)=\sum_{i}^{n} W_i * R(Q_i,d)Score(Q,d)=inWiR(Qi,d)

其中: Q是Query。QiQ_iQi 表示语素(切词后的语素,与词典库对应。如Q=保定驴肉火烧哪家强? Q0Q_0Q0=保定,Q1Q_1Q1=驴肉)。WiW_iWi表示: 语素QiQ_iQi的权重,通常与TF-IDF排序成正相关。

5、AP

平均正确率(Average Precision, AP):对不同召回率点上的正确率进行平均。

1) 未插值的AP:

某个查询Q共有6个相关结果,某系统排序返回了5篇相关文档,其位置分别是第1,第2,第5,第10,第20位,则AP=(1/1+2/2+3/5+4/10+5/20+0)/6。

2) 插值的AP:

只对返回的相关文档进行计算的AP, AP=(1/1+2/2+3/5+4/10+5/20)/5,倾向那些快速返回结果的系统,没有考虑召回率。

不考虑召回率情况下,单个查询评价指标还有:
(1)Precision@N:在第N个位置上的正确率,对于搜索引擎,考虑到大部分作者只关注前一、两页的结果,P@10,P@20对大规模搜索引擎非常有效
(2)NDCG
(3)Bpref:Binary preference,2005年首次引入到TREC的Terabyte任务中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值