從挑水果看精度與查全率如何影響搜索性能
譯文【51CTO.com快譯】是與搜精度與查全率索技術相關的兩項根本性機制。立足于一次特定查詢——利用搜索引擎查找特定文檔集(即結果集),我們可以這樣對二者做出定義:
- 精度為全部返回相關結果當中文檔所占的百分比。
- 查全率為結果集中相關文檔的百分比。
誠然,這些定義剛開始可能不太容易理解。二者看起來甚至有點是一回事——別急,下面我們就立足于實例對其加以講解。通過這樣的過程,大家也能夠理解二者為什么在設計搜索應用時會扮演如此重要的角色。
另外,我們還將探討精度與查全率之間經常出現的沖突狀況。一般來講,查全率越高、精度越差,而精度越高、查全率也就越差。這意味著搜索結果相關性中存在著一種最佳平衡點。幸運的是,我們有辦法盡可能趨近該平衡點。
精度與查全率示例
這次讓我們以水果來舉例。首先請看下圖。
搜索蘋果后獲得的文檔插圖及結果
當我們親自走向水果攤時并打算買點蘋果時,我們會首先想到“紅色的、個頭中等的水果”。通過這樣的標準,我們可能會找到上圖中的結果。在搜索結果中可以看到三個蘋果以及三種紅色、個頭中等但不是蘋果的水果(分別為西紅柿、彩椒以及石榴)。重申之前的定義,精度為獲得正確結果的百分比。在本示例中,六個結果中有三個正確,則精度則為50%。另外,對全部水果進行觀察,大家會發現總計十三種水果中共有五只蘋果。查全率指的是返回正確條目占全部正確條目的百分比。在本示例中,上圖共包含五只蘋果,而其中有三只被納入返回結果,因此查全率為60%。
在理想狀態下,精度與查全率應該都為100%。然而這幾乎是不可能的,而且更重要的是這兩項指標往往相互矛盾。如果提高查全率,那么精度將受到影響——因為搜索響應中將包含更多錯誤結果。另一方面,如果提高精度,那么查全率亦將受到影響,因為搜索響應會忽略某些正確結果。
色彩匹配要求更為寬松時的搜索結果
為了更好地理解精度與查全率間的矛盾關系,讓我們繼續來看水果示例。如果大家想提升查全率,則必須將搜索要求設定得再寬松一點。也許我們可以將水果的顏色放寬到包括黃色——畢竟有些蘋果確實是黃的。如上圖所示,這種情況下返回的蘋果數量達到四個,查全率增加到80%。但是由于大多數蘋果并非黃色,因此錯誤結果也增加了兩項,精度降低至44%。
收緊搜索要求后的搜索結果集
下面再從另一個角度進行實驗。如果我們收緊搜索要求——例如將大小的定義嚴格限定為中等,那么結果將如上圖所示。在這里精度提升到了67%,因為排除掉了兩種個頭不符的其它水果,但同時個頭比較大的一個蘋果也被排除在外,因此查全率下降到40%。
盡管精度與查全率往往有所沖突,但我們還是有辦法解決這一難題:引入更多特性。舉例來說,如果大家在搜索中添加“味道”一項,那么西紅柿可能會由于沒那么甜而被排除掉。但遺憾的是,在搜索中納入新特性往往沒那么簡單。而且在特定情況下,如果我們決定以味道作為指標從水果中搜索蘋果,那么沒準又會帶來新的、意想不到的錯誤選項。
原文標題:Precision and Recall by Example: The Two Pillars of Search Relevance
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】