1、DCG
例子: 文章库内有4个文章
d1
、
d2
、
d3
、
d4
。针对查询Q,每个文档的打分分别为:
d1=0分
、
d2=1分
、
d3=2分
、
d4=2分
。
查询Q在系统S中返回的结果顺序为:
d3
、
d2
、
d4
、
d1
。
解:DCG公式为:
DCGRF=∑scoreilog2(1+ranki)
查询的顺序与分数为:
d3(2分)
、
d2(1分)
、
d4(2分)
、
d1(0分)
所以
DCGRF=2log22+1log23+2log24+0log25=4.584
2、NDCG
例子(同上): 文章库内有4个文章
d1
、
d2
、
d3
、
d4
。针对查询Q,每个文档的打分分别为:
d1=0分
、
d2=1分
、
d3=2分
、
d4=2分
。
查询Q在系统S中返回的结果顺序为:
d3
、
d2
、
d4
、
d1
。
解:NDCG公式为:
NDCG=DCGRFIDCG
DCG公式为
DCGRF=∑scoreilog2(1+ranki)
IDCG为Grund Truth即最理想的查询结果:
IDCG=∑GTilog2(1+ranki)
查询的顺序与分数为:
d3(2分)
、
d2(1分)
、
d4(2分)
、
d1(0分)
所以
DCGRF=2log22+1log23+2log24+0log25=4.584
IDCG=2log22+2log23+1log24+0log25=7.170
综上:
NDCG=DCGRFIDCG=4.5847.170=0.639
3、ROC与AUC
正确率
Accuracy=TP+FNTP+TN+FP+FN
召回率
Recall=TPTP+TN
精准度
Precision=TPTP+FP
假阳率(ROC曲线X轴)
FPR=FPFP+TN
真阳率(ROC曲线Y轴)
TPR=TPTP+FN
AUC就是曲线右下部分面积。
4、BM25
BM25公式
Score(Q,d)=∑niWi∗R(Qi,d)
其中: Q是Query。
Qi
表示语素(切词后的语素,与词典库对应。如Q=保定驴肉火烧哪家强?
Q0
=保定,
Q1
=驴肉)。
Wi
表示: 语素
Qi
的权重,通常与TF-IDF排序成正相关。