iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 18
3

昨天說到使用三種統計方法來評估搜尋引擎,分別是準確率、精確率以及召回率。今天我們要接著說到幾個搜尋引擎的衡量指標。

第一個方法稱為Precision@k,它衡量一個搜尋引擎在回傳Top-K個結果時的精確率。對於現代的搜尋引擎來說是個有利的衡量標準,以Google為例,一個頁面預設取得Top-10的查詢結果,那麼我們的Precision@k就可以設定在P@10,並且計算在這十個文件中有多少文件符合了使用者的資訊需求(稱作相關)。

第二個要介紹的是Average Precision (AP)。我發現這個公式不太容易用文字敘述,因此我直接放上在維基百科上的數學公式:

https://ithelp.ithome.com.tw/upload/images/20190919/201186832Qmz9jWKCB.png

舉例來說,我們現在有一個相關文件向量,1代表相關、0代表無關:
<1, 0, 0, 0, 0, 1, 0, 1, 0, 0>
P@1 = 1/1, P@2 = 1/2, P@3 = 1/3, ..., P@6 = 2/6, P@7 = 2/7, P@8 = 3/8, ...
AP = (P@1 + P@6 + P@8) / 3 = 0.57

AP的好處就是他更看重排名了(Rank sensitive)。

我們可以進一步使用Mean Average Precision (MAP)。這個評估方法是AP的延伸,用來計算多個查詢的AP平均,用以衡量搜尋引擎整體的水準。

第三個來介紹Mean Reciprocal Rank (MRR)。首先,Reciprocal Rank (RR) = 1 / 第一個相關文件的排名

假設有兩個相關文件向量的查詢
<1, 0, 0, 0, 0>以及<0, 0, 1, 0, 1>
第一個向量的RR會是1/1,而第二個向量的RR則是1/3。

這時我們若將這兩個查詢的結果平均,(1+1/3) / 2 = 0.67,這個值也就是MRR。

除了這三個方法之外,仍有許多其他的衡量方法,例如:考慮了使用者耐心的Rank-biased precision

https://ithelp.ithome.com.tw/upload/images/20190919/20118683hxcye7sxAz.png

https://ithelp.ithome.com.tw/upload/images/20190919/20118683sC0kwu4i18.png

假如有耐心的使用者p=0.95,沒耐心的使用者p=0.5。每一次使用者瀏覽完一個頁面,會根據他的耐心程度來決定會不會看下一個頁面。設計比較好的搜尋引擎會獎勵有耐心的使用者,讓他的耐心有所回報(找到更多相關的文件或頁面),因此RBP也是一種可以採用的搜尋引擎衡量方法。


上一篇
Day 17: 透過搜尋結果評估搜尋引擎的效果(一)
下一篇
Day 19: AI能辨識專有名詞?關於命名實體辨識
系列文
深入淺出搜尋引擎和自然語言處理30

尚未有邦友留言

立即登入留言