天天看點

資訊檢索的評價名額

資訊檢索評價是對資訊檢索系統性能(主要滿足使用者資訊需求的能力)進行評估的活動。通過評估可以評價不同技術的優劣,不同因素對系統的影響,進而促進本領域研究水準的不斷提高。資訊檢索系統的目标是較少消耗情況下盡快、全面傳回準确的結果。

IR的評價名額,通常分為三個方面:

(1)效率(Efficiency)—可以采用通常的評價方法:時間開銷、空間開銷、響應速度。

(2)效果(Effectiveness):傳回的文檔中有多少相關文檔、所有相關文檔中傳回了多少、傳回得靠不靠前。

(3)其他名額:覆寫率(Coverage)、通路量、資料更新速度。

如何評價不同檢索系統的效果呢?一般是針對相同的文檔集合,相同的查詢主題集合,相同的評價名額,不同的檢索系統進行比較。相關的評測系統有:

(1)The Cranfield Experiments, Cyril W. Cleverdon, 1957 –1968 (上百篇文檔集合)

(2)SMART System,Gerald Salton, 1964-1988 (數千篇文檔集合)

(3)TREC(Text Retrieval Conference), Donna Harman, 美國标準技術研究所, 1992 -(上百萬篇文檔),資訊檢索的“奧運會”

資訊檢索的評價名額可以分為兩類:

(1)對單個查詢進行評估的名額:對單個查詢得到一個結果

(2)對多個查詢進行評估的名額(通常用于對系統的評價):求平均

一、單個查詢的評價名額

P&R

召回率(Recall)=檢出的相關文檔數/相關文檔數,也稱為查全率,R∈[0,1]

準确率(Precision)=檢出的相關文檔數/檢出文檔數,也稱為查準率,P∈[0,1]

假設:文本集中所有文獻已進行了檢查

資訊檢索的評價名額

關于召回率的計算

(1)對于大規模語料集合,列舉每個查詢的所有相關文檔是不可能的事情,是以,不可能準确地計算召回率

(2)緩沖池(Pooling)方法:對多個檢索系統的Top N個結果組成的集合進行标注,标注出的相關文檔集合作為整個相關文檔集合。這種做法被驗證是可行的,在TREC會議中被廣泛采用。

雖然Precision和Recall都很重要,但是不同的應用、不用的使用者可能會對兩者的要求不一樣。是以,實際應用中應該考慮這點。

(1)垃圾郵件過濾:甯願漏掉一些垃圾郵件,但是盡量少将正常郵件判定成垃圾郵件。

(2)有些使用者希望傳回的結果全一點,他有時間挑選;有些使用者希望傳回結果準一點,他不需要結果很全就能完成任務。

F值和E值

(1)F值:召回率R和正确率P的調和平均值,if P=0 or R=0, then F=0, else 采用下式計算:

資訊檢索的評價名額

或者公式:

資訊檢索的評價名額

F值也被稱為F1值(F1 measure),因為recall和precision的權重一樣。

更通用的公式如下:

資訊檢索的評價名額

其中F2值(更重視召回率)和F0.5值(更重視準确率)也是非常常用的名額值。

(2)E值:召回率R和正确率P的權重平均值,b>1表示更重視P

資訊檢索的評價名額

或者公式:

資訊檢索的評價名額

F和E的關系如下:

資訊檢索的評價名額

引入序的作用

R-Precision:計算序列中前R個位置文獻的準确率。R指與目前查詢相關的文獻總數。

P-R曲線

P-R曲線是正确率-召回率曲線(precision versus recall curve)。檢索結果以排序方式排列,使用者不可能馬上看到全部文檔,是以,在使用者觀察的過程中,正确率和召回率在不斷變化(vary)。可以求出在召回率分别為:0%,10%,20%,30%,…, 90%,100%上對應的正确率,然後描出圖像。

某個查詢q的标準答案集合為:Rq={d3,d5,d9,d25,d39,d44,d56,d71,d89,d123}

某個IR系統對q的檢索結果如下:

資訊檢索的評價名額

繪成曲線圖如下:

資訊檢索的評價名額

P-R曲線的插值問題,對于前面的例子,假設Rq={d3,d56,d129}

(1)3. d56 R=0.33,P=0.33;8. d129 R=0.66, P=0.25; 15. d3 R=1,P=0.2

(2)不存在10%, 20%,…,90%的召回率點,而隻存在33.3%, 66.7%, 100%三個召回率點

(3)在這種情況下,需要利用存在的召回率點對不存在的召回率點進行插值(interpolate)

(4)對于t%,如果不存在該召回率點,則定義t%為從t%到(t+10)%中最大的正确率值。

(5)對于上例,0%,10%,20%,30%上正确率為0.33,40%~60%對應0.25,70%以上對應0.2

P-R曲線的優點:簡單直覺;既考慮了檢索結果的覆寫度,又考慮了檢索結果的排序情況

P-R曲線的缺點:單個查詢的P-R曲線雖然直覺,但是難以明确表示兩個查詢的檢索結果的優劣。

P-R曲線如何可以轉化為單一名額呢?一般有兩種方法:

(1)Break Point:P-R曲線上P=R的那個點。這樣可以直接進行單值比較

(2)11點平均正确率(11 point average precision):在召回率分别為0,0.1,0.2,…,1.0的十一個點上的正确率求平均,等價于插值的AP。

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:在召回率分别為0,0.1,0.2,…,1.0的十一個點上的正确率求平均,等價于11點平均

(3)隻對傳回的相關文檔進行計算的AP, AP=(1/1+2/2+3/5+4/10+5/20)/5,傾向那些快速傳回結果的系統,沒有考慮召回率。

不考慮召回率情況下,單個查詢評價名額還有:

(1)[email protected]:在第N個位置上的正确率,對于搜尋引擎,考慮到大部分作者隻關注前一、兩頁的結果,[email protected], [email protected]對大規模搜尋引擎非常有效

(2)NDCG:後面詳細介紹。

(3)Bpref:Binary preference,2005年首次引入到TREC的Terabyte任務中。

NDCG

每個文檔不僅僅隻有相關和不相關兩種情況,而是有相關度級别,比如0,1,2,3。我們可以假設,對于傳回結果:相關度級别越高的結果越多越好;相關度級别越高的結果越靠前越好。

NDCG(Normalized Discounted Cumulative Gain):計算相對複雜。對于排在結位置n處的NDCG的計算公式如下圖所示:

資訊檢索的評價名額

在MAP中,四個文檔和query要麼相關,要麼不相關,也就是相關度非0即1。NDCG中改進了下,相關度分成從0到r的r+1的等級(r可設定)。當取r=5時,等級設定如下圖所示:(應該還有r=1那一級,原文檔有誤,不過這裡不影響了解。當然注意Value這一項,咱們也可以直接定義分值,如0-3分值。求了2方實際上把Value的差異變大了,便于對比評測)

資訊檢索的評價名額

例如現在有一個query={abc},傳回下圖左列的Ranked List(URL),當假設使用者的選擇與排序結果無關(即每一級都等機率被選中),則生成的累計增益值(從1到n的所有的位置上的貢獻值都被加起來作為最終的評價結果,這樣,一個一定長度的文檔序列被轉換成了一個相關分值的序列)。如下圖最右列所示:

資訊檢索的評價名額

考慮到一般情況下使用者會優先點選排在前面的搜尋結果,是以應該引入一個折算因子(discounting factor): log(2)/log(1+rank)。(也就是1/log2(1+rank))。這時将獲得DCG值(Discounted Cumulative Gain)如下如所示:

資訊檢索的評價名額

最後,為了使不同等級上的搜尋結果的得分值容易比較,需要将DCG值歸一化的到NDCG值。操作如下圖所示,首先計算理想傳回結果List的DCG值:

資訊檢索的評價名額

然後用DCG/MaxDCG就得到NDCG值,如下圖所示:

資訊檢索的評價名額

NDCG優點:圖形直覺,易解釋;支援非二值的相關度定義,比P-R曲線更精确;能夠反映使用者的行為特征(如:使用者的持續性persistence)

NDCG缺點:相關度的定義難以一緻;需要參數設定。

Bpref

Bpref(Binary preference),2005年首次引入到TREC的Terabyte任務中。隻考慮對傳回結果清單中的經過判斷後的文檔進行評價。在相關性判斷完整的情況下,bpref具有與MAP相一緻的評價結果。在測試集相關性判斷不完全的情況下,bpref依然具有很好的應用(比MAP更好)。這個評價名額主要關心不相關文檔在相關文檔之前出現的次數。具體公式為:

資訊檢索的評價名額

其中,對每個Topic,已判定結果中有R個相關結果。r 是相關文檔,n是Top R篇不相關文檔集合的子集。(n ranked higher than r是指目前相關結果項之前有n個不相關的結果)

下面舉個例子來說明bpref的性能,假設檢索結果集S為:

S ={D1 ,D2 •,D3 * ,D4 * ,D5 •,D6 ,D7 •,D8 ,D9 ,D10 }

其中D2、D5 和D7是相關文檔,D3 和D4為未經判斷的文檔。

對這個例子來說,R=3; bpref= 1/3 [(1 -1/3) + (1 -1/3) + (1 -2/3)]。

二、多個查詢的評價名額

多個查詢的評價名額,一般就是對單個查詢的評價進行求平均。平均的求法一般有兩種:

(1)宏平均(Macro Average):對每個查詢求出某個名額,然後對這些名額進行算術平均

(2)微平均(Micro Average):将所有查詢視為一個查詢,将各種情況的文檔總數求和,然後進行名額的計算

例如:Micro Precision=(對所有查詢檢出的相關文檔總數)/(對所有查詢檢出的文檔總數)

宏平均對所有查詢一視同仁,微平均受傳回相關文檔數目比較大的查詢影響。

宏平均和微平均的例子:

兩個查詢q1、q2的标準答案數目分别為100個和50個,某系統對q1檢索出80個結果,其中正确數目為40,系統對q2檢索出30個結果,其中正确數目為24,則:

P1=40/80=0.5, R1=40/100=0.4

P2=24/30=0.8, R2=24/50=0.48

MacroP=(P1+P2)/2=0.65

MacroR=(R1+R2)/2=0.44

MicroP=(40+24)/(80+30)=0.58

MicroR=(40+24)/(100+50)=0.43

MAP

MAP(MeanAP:Mean Average Precision):對所有查詢的AP求宏平均。具體而言,單個主題的平均準确率是每篇相關文檔檢索出後的準确率的平均值。主集合的平均準确率(MAP)是每個主題的平均準确率的平均值。MAP 是反映系統在全部相關文檔上性能的單值名額。系統檢索出來的相關文檔越靠前(rank 越高),MAP就可能越高。如果系統沒有傳回相關文檔,則準确率預設為0。

多個查詢下的查準率/查全率曲線,可通過計算其平均查準率得到,公式如下(Nq為查詢的數量) :

資訊檢索的評價名額

P(r) 是指查全率為r時的平均查準率, Pi(r)指查全率為r時的第i個查詢的查準率 .

例如:假設有兩個主題,主題1有4個相關網頁,主題2有5個相關網頁。某系統對于主題1檢索出4個相關網頁,其rank分别為1, 2, 4, 7;對于主題2檢索出3個相關網頁,其rank分别為1,3,5。對于主題1,平均準确率為(1/1+2/2+3/4+4/7)/4=0.83。對于主題2,平均準确率為(1/1+2/3+3/5+0+0)/5=0.45。則MAP= (0.83+0.45)/2=0.64。”

MRR

MRR(Mean Reciprocal Rank) :對于某些IR系統(如問答系統或首頁發現系統),隻關心第一個标準答案傳回的位置(Rank),越前越好,這個位置的倒數稱為RR,對問題集合求平均,則得到MRR。(把标準答案在被評價系統給出結果中的排序取倒數作為它的準确度,再對所有的問題取平均)

例子:兩個問題,系統對第一個問題傳回的标準答案的Rank是2,對第二個問題傳回的标準答案的Rank是4,則系統的MRR為(1/2+1/4)/2=3/8

再舉個例子:有3個query如下圖所示:(黑體為傳回結果中最比對的一項)

資訊檢索的評價名額

可計算這個系統的MRR值為:(1/3 + 1/2 + 1)/3 = 11/18=0.61。

GMAP

GMAP(Geometric MAP):TREC2004 Robust 任務引進。

先看一個例子:從MAP(宏平均)來看,系統A好于系統B,但是從每個查詢來看,3個查詢中有2個Topic B比A有提高,其中一個提高的幅度達到300%。

資訊檢索的評價名額

是以,我們計算幾何平均值:

資訊檢索的評價名額

例子中:GMAPa=0.056,GMAPb=0.086。GMAPa<GMAPb

GMAP和MAP各有利弊,可以配合使用,如果存在難Topic時,GMAP更能展現細微差别。

三、面向使用者的評價名額

前面的名額都沒有考慮使用者因素。而相關不相關由使用者判定。假定使用者已知的相關文檔集合為U,檢索結果和U的交集為Ru,則可以定義覆寫率(Coverage) C=|Ru|/|U|,表示系統找到的使用者已知的相關文檔比例。假定檢索結果中傳回一些使用者以前未知的相關文檔Rk,則可以定義出新穎率(Novelty Ratio)N=|Rk|/(|Ru|+|Rk|),表示系統傳回的新相關文檔的比例。

相對查全率:檢索系統檢索出的相關文檔數量與使用者期望得到的相關文檔的數量的比例。

查全努力:使用者期望得到的相關文檔與為了得到這些相關文檔而在檢索結果中審查文檔數量的比率。

資訊檢索的評價名額

圖示覆寫率和新穎率

四、評價名額總結

最基本的評價名額:召回率、準确率

不足:

1、一些評價名額,如R-Precision,MAP,[email protected]等,都隻考慮經過Pooling技術之後判斷的相關文檔的排序。

2、對判斷不相關文檔與未經判斷的文檔的差别并沒有考慮。

3、測試集越來越大,由于相關性判斷還基本上是人工判斷,是以建立完整的相關性判斷變得越來越難。

參考資料:

http://wenku.baidu.com/view/1c6fb7d7b9f3f90f76c61b74.html

http://en.wikipedia.org/wiki/Precision_and_recall

http://www.cnblogs.com/eyeszjwang/articles/2368087.html

轉載請注明出處:網際網路旁觀者~黃言之 http://blog.sina.com.cn/netreview/

繼續閱讀