『IR 信息檢索入門必看』#5 檢索系統(tǒng)評價(簡明)

訪問博客查看 本文 最新內(nèi)容,排版更美觀ヾ(?ω?`)o 如有錯誤歡迎指出~

IR 信息檢索系列筆記:

前述文章介紹了幾種基本信息檢索模型,本文將介紹如何評價一個現(xiàn)有的文檔檢索系統(tǒng)。

Evaluation in Document Retrieval

一個檢索系統(tǒng)的好壞,通常取決于其檢索結果與用戶查詢的相關性,此外還有檢索用時、檢索范圍等等。這里僅針對評價相關性展開討論。

相關性 | Relevance

如何度量相關性?考慮如下三個待實現(xiàn)的要素:

  • A benchmark document collection (基準文檔集)

  • A benchmark suite of queries (基準查詢集)

  • A usually binary assessment of either Relevant or Nonrelevant for each query and each document (對基準查詢結果打分)

當然,這個「打分標準」可能會隨每個人的信息需求而變化(the information need is translated into a query),因此這個指標不是確定的(more than binary)。

有了以上三個基本要素,我們就可以構造出一個合理的測試集:包含文檔集、查詢集和有關評價機制。

測試集 | Test collections

在制定測試集的時候,往往要先標注好相關的「查詢-文檔」對。對于小的測試,可以采用人工標注(遍歷文檔集和查詢集)。

但對于較大的測試集則不行(如 TREC 測試集)。此時,可以采用如下方法:

  • Pooling | 池化

直接用已有的幾個檢索系統(tǒng)在「總的基準文檔集」中檢索,取出每個檢索的前 n 個結果,取并集,用這個「新的集合」作為「模擬基準文檔集」進行標注,這樣就可以大大減少范圍。

  • Sampling | 抽樣

可以通過隨機抽樣估計真實相關集的大小。

  • Search-based

與其閱讀所有的文檔,不如人工用較寬泛的 Query 先得到一些檢索結果,再在這些結果中標記。

有效性度量 | Effectiveness measures

有了合理的測試集,只需要用待測試 IR 查詢「基準查詢集」的內(nèi)容,對查詢結果與「查詢-文檔」對比較,即可得到有效性度量。

以下介紹兩個在度量有效性過程中常用的變量。

精度和召回率 | Precision and Recall

在檢索結果的 Top n 中,我們定義如下變量:

Precision (精度): Proportion of a retrieved set that is relevant.

Recall (召回率): Proportion of all relevant documents in the collection included in the retrieved set.

與這兩個概念相關的還有 Miss (漏識率) 和 Fallout (誤報率)。

對應的混淆矩陣(Confusion Matrix)如下表:

/ 相關 不相關
檢索到 A B
未檢索到 C D

\text{精度}=\frac{A}{A+B}, \text{召回率}=\frac{A}{A+C}, \text{漏識率}=\frac{C}{A+C}, \text{誤報率}=\frac{B}{B+D}

這樣的計算過程沒有考慮到檢索結果的順序,事實上相關文檔排在前列的搜索引擎才是我們最需要的。

有序檢索 | Ranked retrieval

考慮搜索引擎返回的結果是有序的,取 Top n,則計算 P/R 的方法可以加以修正:

對檢索到的文檔按照 ranking 排列,順次計算 P/R,每次計算時考慮前 k 個文檔。最后會得到一組 n 個 P/R 值,再對 Top n 中的「相關文檔」對應的 Precision 取平均。

同一關鍵詞的查詢結果
平均值計算

上圖中,我們對搜索引擎 A 和搜索引擎 B 查詢了同一關鍵詞,并取了 Top 10 的查詢結果,其中各有 5 篇相關文檔,經(jīng)過計算可發(fā)現(xiàn),A 的檢索結果更優(yōu)。

但是,如果我們要對同一個搜索引擎 A 用不同的關鍵詞來查詢呢?

不同關鍵詞的查詢結果

對于不同的 query 可能 Top n 中有數(shù)量不同的相關文檔,此時的 Recall 就會不一致。如果我們要計算同一 Recall 值處的精度,則需要用到插值方法。

跨查詢平均 | Averaging across queries

僅用個別的 query 難以在數(shù)據(jù)巨大的文檔集中得到準確的 P/R 值。因此需要考慮更多的 query,并對結果再次平均。

由此,引出兩種平均的思想:

  • Micro-average (微平均): each relevant document is a point in the average. 只針對該搜索引擎下一個 query 的命中結果,求出平均精度。
  • Macro-average (宏平均): each query is a point in the average (Most Common). 針對該搜索引擎下的許多 query 的微平均精度,再求總的平均精度。

做宏平均的過程中,最重要的是將所有 query 視作平等的點。因為在微平均的過程中,我們往往只關注一些大樣本、常見樣本,而這些樣本并不能完全體現(xiàn)搜索引擎的性能。而宏平均關注其他小樣本、偏僻樣本,這些樣本的檢索結果體現(xiàn)了搜索引擎內(nèi)部的類別分布是否均勻。

這種方法也稱作 MAP (Mean Average Precision),平均之上的平均。

繪圖 | Recall/Precision graphs

如果只關注平均精度,則會隱藏檢索結果的一些有效信息。如果用圖表的形式呈現(xiàn),則更能觀察到趨勢。

如果直接把 ranked retrieval 的結果畫在圖中,會得到一條「鋸齒狀」的曲線。因為在同一個召回率下,隨著結果數(shù)的增長,精度是垂直向下的。

鋸齒狀的PR圖

此時,如果我們想要關注曲線中的:

  • 特定召回率(10%、20%等)下的精度
  • 零召回率(系統(tǒng)尚未返回結果)下的精度

由于各個 query 對應的相關文檔總數(shù)不同,觀測到的召回率點也不同。此時就需要對離散的點用 interpolate (插值),做出連續(xù)的曲線,才能確定這些點的精度。接下來討論如何選取適合的插值方法。

直接連接各點?連接最大值?連接最小值?連接平均值?

零召回率時假設為零?假設為最大精度?假設為平均精度?與起始點相等?

基本原則:從平均來看,隨著召回率的增加,精度應該是單調(diào)遞減的。

基于這個原則,可以得到
P(R)=\max \left\{P^{\prime}: \quad R^{\prime} \geq R \wedge\left(R^{\prime}, P^{\prime}\right) \in S\right\}
即:選取「當前區(qū)間」最大的精度點,再以「召回率大于該點的區(qū)間」為「新區(qū)間」,選取最大的精度點,迭代至 100%。

最后用「階梯狀」曲線連接以上各點,可以得到單調(diào)遞減的曲線。

階梯狀的PR圖

E and F

綜合考慮 P/R 值,可以計算出如下單值評價指標。

E Measure

用于強調(diào)精度或召回率中的某一個指標,同時兼顧另一個指標。

E=1-\frac{1}{\alpha \frac{1}{P}+(1-\alpha) \frac{1}{R}}
根據(jù) \alpha 的取值,增大 \alpha 代表強調(diào)精度的重要性,反之強調(diào)召回率。

\alpha =\frac{1}{\beta ^2+1} ,可以得到
E=1-\frac{\left(\beta^{2}+1\right) P R}{\beta^{2} P+R}
\beta = 1 時可得到二者相同重要性的效果,此時的 E 具有的物理意義是所有相關文檔 A+C 和所有檢索到文檔 A+B 的集合的對稱差的基數(shù)除以兩個集合的基數(shù)。

F Measure

E 取補,可以得到
F_{\beta}=1-E=\frac{\left(\beta^{2}+1\right) P R}{\beta^{2} P+R}

其中 F_1 分數(shù)則是 P/R 值的調(diào)和平均,較為平均的兼顧了二者。這是分類與信息檢索中最常用的指標之一。
F_{1}=\frac{2 P R}{P+R}=\frac{1}{\frac{1}{2}\left(\frac{1}{R}+\frac{1}{P}\right)}

之所以使用調(diào)和平均而不是算術平均,是因為在算術平均中,任何一方對數(shù)值增長的貢獻相當,任何一方對數(shù)值下降的責任也相當;而調(diào)和平均在增長的時候會偏袒較小值,也會懲罰精確率和召回率相差巨大的極端情況,很好地兼顧了精確率和召回率。

單值評價指標 | Other Single-Valued Measures

類似 EF 這樣的單值評價指標之所以重要,是因為這樣能夠更好的優(yōu)化度量。此外,在文檔評價中,我們還有如下指標:

  • 期望搜索長度 | Expected search length

定義在弱順序文檔,量化的用戶查找 K 個相關文檔所需工作量。這項指標計算預期用戶在找到第 K 個相關文檔之前,按順序瀏覽搜索結果列表將要看到的非相關文檔的數(shù)量。

  • 損益平衡點 | Breakeven point

尋找 Precision 等于 Recall 的點,通常在分類任務中用到。

  • 平均排序倒數(shù) | MRR (Mean Reciprocal Rank)

對于某些 IR 系統(tǒng)(如問答系統(tǒng)或主頁發(fā)現(xiàn)系統(tǒng)),只關心第一個標準答案返回的 rank,越前越好,這個位置的倒數(shù)稱為 Reciprocal Rank (RR) ,對問題集合求平均,則得到 MRR。即,把標準答案在被評價系統(tǒng)給出結果中的排序取倒數(shù)作為它的準確度,再對所有的問題取平均。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容