MAP(Mean Average Precision):
單個主題的平均准確率是每篇相關文檔檢索出后的准確率的平均值。主集合的平均准確率(MAP)是每個主題的平均准確率的平均值。MAP 是反映系統在全部相關文檔上性能的單值指標。系統檢索出來的相關文檔越靠前(rank 越高),MAP就可能越高。如果系統沒有返回相關文檔,則准確率默認為0。
例如:假設有兩個主題,主題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。”
NDCG(Normalized Discounted Cumulative Gain):
計算相對復雜。對於排在結位置n處的NDCG的計算公式如下圖所示:
在MAP中,四個文檔和query要么相關,要么不相關,也就是相關度非0即1。NDCG中改進了下,相關度分成從0到r的r+1的等級(r可設定)。當取r=5時,等級設定如下圖所示:
(應該還有r=1那一級,原文檔有誤,不過這里不影響理解)
例如現在有一個query={abc},返回下圖左列的Ranked List(URL),當假設用戶的選擇與排序結果無關(即每一級都等概率被選中),則生成的累計增益值如下圖最右列所示:
考慮到一般情況下用戶會優先點選排在前面的搜索結果,所以應該引入一個折算因子(discounting factor): log(2)/log(1+rank)。這時將獲得DCG值(Discounted Cumulative Gain)如下如所示:
最后,為了使不同等級上的搜索結果的得分值容易比較,需要將DCG值歸一化的到NDCG值。操作如下圖所示,首先計算理想返回結果List的DCG值:
然后用DCG/MaxDCG就得到NDCG值,如下圖所示:
MRR(Mean Reciprocal Rank):
是把標准答案在被評價系統給出結果中的排序取倒數作為它的准確度,再對所有的問題取平均。相對簡單,舉個例子:有3個query如下圖所示:
(黑體為返回結果中最匹配的一項)
可計算這個系統的MRR值為:(1/3 + 1/2 + 1)/3 = 11/18=0.61。