這篇就簡單介紹一下搜索引擎的評價方法。從用戶的角度去評價一個搜索引擎的檢索效果最好的方法就是計算用戶在查到自己滿意文檔時已經瀏覽的文檔數。但是實際中,查詢千變萬化,文檔也千變萬化,所以這種方法不可行。人們便提出了下面的概念,並建立了一個評價標准。
這里面有三個常用的概念:正確率,精確率,召回率。
正確率(Precision,簡稱為P)定義為:P=返回結果中相關文檔個數/返回結果的數目。
精確率(accuracy,簡稱為A)定義為:A=判斷結果正確的文檔數目/所有文檔數目。
召回率(Recall,簡稱為R)定義為: R=返回結果中相關文檔數目/所有相關文檔數目。
實際相關文檔數 | 實際不相關文檔數 | |
返回文檔數(搜索引擎認為相關) | tp | fp |
未返回文檔數(搜索引擎認為不相關) | fn | tn |
根據正確率、精確率、召回率的定義可得:
P=tp/(tp+fp)
A=(tp+tn)/(tp+fp+fn+tn)
R=tp/(tp+fn)
大家可千萬不要把精確率和正確率混成一談,這是兩個不同的概念。
如果搜索引擎用精確率評價搜索引擎的效果會怎么樣?精確率其實用在二類分類器的評價中,對於二類判斷評價效果很好,但是用在檢索的評價上可不行。二類分類器中用這個概念來衡量分類器分對了多少,而檢索的評價上是要衡量用戶想要的占多少。由於文檔集中與查詢不相關的文檔基本在99%以上,只要簡單的認為所有文檔都與查詢不相關,就獲得了超過99%的精確率,而其中只有1%是用戶想要的,所以精確率不能用。
如果只采用召回率評價搜索引擎的效果會怎么樣?也不行。因為只要簡簡單單的把所有文檔都返回,我們就得到了100%的召回率,而用戶想要的也只有其中的1%。所以實際中,同時采用正確率和召回率兩個指標來評價搜索引擎。其中最著名的就是11點-PR曲線。
這個圖就是搜索引擎在召回率從0%~100%時結果的正確率,利用這個圖來衡量一個搜索引擎。如上圖,IR2的效果要比IR1要差。那么這個曲線如何得到的呢?
人們為此建立了一個標准測試集,這個測試集包含一定數量的文檔、查詢、查詢與文檔之間的相關性。
TEST-SET=<D,Q, R<q,d>>,TEST-SET代表測試集,D代表樣例文檔集合,Q代表查詢樣例集合,R<q,d>是每個查詢與每個文檔之間的相關性判斷,這些必須事前人工都要確定好。
之后系統處理樣例查詢,系統根據自己的檢索模型返回給用戶排好序的文檔列表。由於事先知道查詢與文檔時間的相關性,那么就可以從開始順序查看文檔,在不同的召回率處計算正確率,這樣就得到了這個曲線。
實際上,衡量搜索引擎不僅僅只有正確率、召回率這些指標,諸如搜索引擎的響應時延、界面友好程度等等也是一些衡量指標。這些指標都是從用戶的角度去考慮。還有諸如系統索引構建開銷、更新開銷等等則是從系統本身性能方面進行評價的指標,這些本文就不介紹了。