知識點文本檢索常用的評價指標:MAP、nDCG、ERR、F-score/F-measure以及附加的Precision、Recall、AveP、CG、DCG、IDCG、MRR、cascade models
而ROC曲線及其度量指標AUC主要用於分類和識別
一,MAP
Precision(P):
準確率(精確度)是指檢索得到的文檔中相關文檔所佔的比例,公式如下:
precision@10表示檢索10個文檔中包含相關所佔的比例,即:|{retrieved documents}| = 10。
Recall(R):
召回率是指所有相關文檔中被檢索到的比例,公式如下:
Average precision(AveP):
由前面可知,準確率和召回率都只能衡量檢索性能的一個方面,最理想的情況肯定是準確率和召回率都比較高。當我們想提高召回率的時候,肯定會影響準確率,所以可以把準確率看做是召回率的函數,即:
其中
其中
AveP意義是在召回率從0到1逐步提高的同時,對每個R位置上的P進行相加,也即要保證準確率比較高,才能使最後的AveP比較大。
Mean average precision(MAP):
通常會用多個查詢語句來衡量檢索系統的性能,所以應該對多個查詢語句的AveP求均值(the mean of average precision scores),即公式:
二,nDCG
在MAP計算公式中,文檔只有相關不相關兩種,而在nDCG中,文檔的相關度可以分多個等級進行打分。
Cumulative Gain(CG):
表示前p個位置累計得到的效益,公式如下:
其中
Discounted cumulative gain(DCG):
由於在
另一種比較常用的,用來增加相關度影響比重的DCG計算方式是:
Ideal DCG(IDCG):
IDCG是理想情況下的DCG,即對於一個查詢語句和p來說,DCG的最大值。公式如下:
其中
Normalize DCG(nDCG):
由於每個查詢語句所能檢索到的結果文檔集合長度不一,p值的不同會對DCG的計算有較大的影響。所以不能對不同查詢語句的DCG進行求平均,需要進行歸一化處理。nDCG就是用IDCG進行歸一化處理,表示當前DCG比IDCG還差多大的距離。公式如下:
這樣每個查詢語句的
NDCG@10、NDCG@20分別表示求p爲10和20的時候的nDCG。
三,ERR
Mean reciprocal rank (MRR) :
reciprocal rank是指,第一個正確答案的排名的倒數。MRR是指多個查詢語句的排名倒數的均值。公式如下:
其中
Cascade Models :
之前的評分模型雖然考慮了位置自身的價值信息和位置上文檔的相關度信息,但是沒有考慮文檔之間的相關性信息。一種考慮是,一個文檔是否被用戶點擊和排在它前面的文檔有很大的關係,比如排在前面的文檔都是不相關文檔,那麼它被點擊的概率就高,如果排它前面的文檔都是非常相關的文檔,那麼它被點擊的概率就很低。Cascade Models假設用戶從排名由高到底依次查看文檔,一旦文檔滿足了用戶的需求,則停止查看後續的文檔。用
Expected reciprocal rank (ERR) :
區別RR是計算第一個相關文檔的位置的倒數,ERR表示用戶的需求被滿足時停止的位置的倒數的期望。首先是計算用戶在位置
其中
那麼ERR的計算公式如下:
更通用一點,ERR不一定計算用戶需求滿足時停止的位置的倒數的期望,可以是其它基於位置的函數
四,F-score/F-measure
F-score/F-measure :
一種同時考慮準確率和召回率的指標。公式如下:
可以看出F的取值範圍從0到1。另外還有一種F的變體如下所示:
常用的兩種設置是