信息檢索中常用的評價指標:MAP,nDCG,ERR,F-measure

知識點文本檢索常用的評價指標:MAP、nDCG、ERR、F-score/F-measure以及附加的Precision、Recall、AveP、CG、DCG、IDCG、MRR、cascade models

而ROC曲線及其度量指標AUC主要用於分類和識別

一,MAP


Precision(P):

準確率(精確度)是指檢索得到的文檔中相關文檔所佔的比例,公式如下:

precision=|{relevant documents}{retrieved documents}||{retrieved documents}|

precision@10表示檢索10個文檔中包含相關所佔的比例,即:|{retrieved documents}| = 10。

Recall(R):

召回率是指所有相關文檔中被檢索到的比例,公式如下:

recall=|{relevant documents}{retrieved documents}||{relevant documents}|

Average precision(AveP):

由前面可知,準確率和召回率都只能衡量檢索性能的一個方面,最理想的情況肯定是準確率和召回率都比較高。當我們想提高召回率的時候,肯定會影響準確率,所以可以把準確率看做是召回率的函數,即:P=f(R) ,也就是隨着召回率從0到1,準確率的變化情況。那麼就可以對函數P=f(R)R 上進行積分,可以求P 的期望均值。公式如下:

AveP=10P(r)dr=k=1nP(k)Δ(k)=nk=1(P(k)×rel(k))number of relevant documents

其中rel(k) 表示第k個文檔是否相關,若相關則爲1,否則爲0,P(k) 表示前k個文檔的準確率。 AveP 的計算方式可以簡單的認爲是:

AveP=1R×r=1Rrposition(r)

其中R 表示相關文檔的總個數,position(r) 表示,結果列表從前往後看,第r 個相關文檔在列表中的位置。比如,有三個相關文檔,位置分別爲1、3、6,那麼AveP=13×(11+23+36) 。在編程的時候需要注意,位置和第i個相關文檔,都是從1開始的,不是從0開始的。

AveP意義是在召回率從0到1逐步提高的同時,對每個R位置上的P進行相加,也即要保證準確率比較高,才能使最後的AveP比較大。

Mean average precision(MAP):

通常會用多個查詢語句來衡量檢索系統的性能,所以應該對多個查詢語句的AveP求均值(the mean of average precision scores),即公式:

MAP=Qq=1AveP(q)Q

二,nDCG


在MAP計算公式中,文檔只有相關不相關兩種,而在nDCG中,文檔的相關度可以分多個等級進行打分。

Cumulative Gain(CG):

表示前p個位置累計得到的效益,公式如下:

CGp=i=1preli

其中reli 表示第i個文檔的相關度等級,如:2表示非常相關,1表示相關,0表示無關,-1表示垃圾文件。

Discounted cumulative gain(DCG):

由於在CGp 的計算中對位置信息不敏感,比如檢索到了三個文檔相關度依次是{3,-1,1}和{-1,1,3},顯然前面的排序更優,但是它們的CG相同,所以要引入對位置信息的度量計算,既要考慮文檔的相關度等級,也要考慮它所在的位置信息。假設每個位置按照從小到大的排序,它們的價值依次遞減,如:可以假設第i個位置的價值是1log2(i+1) ,那麼排在第i個位置的文檔所產生的效益就是reli×1log2(i+1)=relilog2(i+1) 。公式如下:

DCGp=i=1prelilog2(i+1)=rel1+i=2prelilog2(i+1)

另一種比較常用的,用來增加相關度影響比重的DCG計算方式是:
DCGp=i=1p2reli1log2(i+1)

Ideal DCG(IDCG):

IDCG是理想情況下的DCG,即對於一個查詢語句和p來說,DCG的最大值。公式如下:

IDCGp=i=1|REL|2reli1log2(i+1)

其中|REL| 表示,文檔按照相關性從大到小的順序排序,取前p個文檔組成的集合。也就是按照最優的方式對文檔進行排序。

Normalize DCG(nDCG):

由於每個查詢語句所能檢索到的結果文檔集合長度不一,p值的不同會對DCG的計算有較大的影響。所以不能對不同查詢語句的DCG進行求平均,需要進行歸一化處理。nDCG就是用IDCG進行歸一化處理,表示當前DCG比IDCG還差多大的距離。公式如下:

nDCGp=DCGpIDCGp

這樣每個查詢語句的nDCGp 就是從0到1,不同查詢語句之間就可以做比較,就可以求多個查詢語句的平均nDCGp
NDCG@10、NDCG@20分別表示求p爲10和20的時候的nDCG。

三,ERR


Mean reciprocal rank (MRR) :

reciprocal rank是指,第一個正確答案的排名的倒數。MRR是指多個查詢語句的排名倒數的均值。公式如下:

MRR=1|Q|i=1|Q|1ranki

其中ranki 表示第i個查詢語句的第一個正確答案的排名。

Cascade Models :

之前的評分模型雖然考慮了位置自身的價值信息和位置上文檔的相關度信息,但是沒有考慮文檔之間的相關性信息。一種考慮是,一個文檔是否被用戶點擊和排在它前面的文檔有很大的關係,比如排在前面的文檔都是不相關文檔,那麼它被點擊的概率就高,如果排它前面的文檔都是非常相關的文檔,那麼它被點擊的概率就很低。Cascade Models假設用戶從排名由高到底依次查看文檔,一旦文檔滿足了用戶的需求,則停止查看後續的文檔。用Ri 表示用戶只看在位置i 上的文檔後就不在需要查看其它文檔的概率,顯然文檔的相關度越高,Ri 越大。那麼用戶在位置i 停止的概率公式如下:

PPr=i=1r1(1Ri)Rr

Expected reciprocal rank (ERR) :

區別RR是計算第一個相關文檔的位置的倒數,ERR表示用戶的需求被滿足時停止的位置的倒數的期望。首先是計算用戶在位置r 停止的概率PPr ,如下所示:

PPr=i=1r1(1Ri)Rr

其中Ri 是關於文檔相關度等級的函數,可以選取如下的函數:
Ri=R(gi)=2g12gmax,g{0,1,,gmax}

那麼ERR的計算公式如下:
ERR=r=1nφ(r)PPr=r=1n1rPPr=r=1n1ri=1r1(1Ri)Rr

更通用一點,ERR不一定計算用戶需求滿足時停止的位置的倒數的期望,可以是其它基於位置的函數φ(r) ,只要滿足φ(0)=1 ,且φ(r)0 隨着r 。比如DCG中的φ(r)=1log2(r+1)

四,F-score/F-measure


F-score/F-measure :

一種同時考慮準確率和召回率的指標。公式如下:

F=2×precision×recall(precision+recall)

可以看出F的取值範圍從0到1。另外還有一種F的變體如下所示:
Fβ=(1+β2)×(precision×recall)(β2×precision+recall)

常用的兩種設置是F2F0.5 ,前者中recall重要程度是precision的兩倍,後者則相反,precision重要程度是recall的兩倍。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章