準備好 Query Set 之後,還不能立刻比較 BM25、Dense Retrieval 或 Reranker。評測前必須先知道每個 query 對應哪些相關文件,以及相關程度有多高。這份 query 與 document 的相關性標註,就是 qrels(query relevance judgments)。
沒有 qrels,檢索品質只能靠少數範例、主觀印象,或讓 LLM 評估自己的答案。這些方式適合探索,卻不足以支撐可重現的 Retrieval 評測。
常見的 qrels 格式包含四個欄位:query ID、保留欄位、document ID 與 relevance score。
q001 0 d017 3
q001 0 d044 2
q001 0 d093 0
以上範例表示:對 q001 而言,d017 高度相關、d044 部分相關、d093 不相關。公開或跨系統交換資料時,使用匿名 ID 能避免把查詢原文、文件名稱或內部路徑帶入評測檔案。
Binary relevance 只分相關與不相關,規則簡單,也適合答案邊界清楚的任務。若企業查詢常遇到「部分涵蓋」或「可提供背景但不能直接回答」,graded relevance 會更有辨識力。
例如可以定義四級尺度:
| 分數 | 判斷標準 |
|---|---|
| 3 | 能直接、完整支持答案,且適用條件一致 |
| 2 | 能支持主要答案,但缺少部分條件或細節 |
| 1 | 只提供相關背景、關鍵字或間接線索 |
| 0 | 無關、矛盾,或無法支持答案 |
分數本身不是重點,一致的 annotation guideline 才是。若「提到相同產品名稱」有時算 1 分、有時算 2 分,最後計算出的 NDCG 再精確也沒有意義。
標註指南至少要回答以下問題:
先用一小批 query 進行試標,收集容易產生歧義的案例,再修訂 guideline。規則穩定後才擴大標註,通常比全部完成後再返工省時。
不可能讓標註者閱讀整個 corpus。實務上通常採 pooling:把 BM25、Dense Retrieval、Hybrid Search 等多種方法的 Top-K 結果合併、去重,再交給標註者判斷。
這種方法有一項風險:若候選池只來自單一 retriever,未被取回的相關文件永遠不會進入 qrels,評測結果就會偏向原本的方法。因此,候選池應涵蓋不同檢索訊號,必要時加入人工指定的正例與隨機負例。
分歧不能直接當成雜訊丟掉,也不適合一律取平均。正確順序是:
也可以用 Cohen's kappa、Krippendorff's alpha 等指標觀察一致性,但一致性分數只能提示問題,無法取代對分歧案例的分析。
LLM 適合協助整理候選文件、預先分類、找出疑似矛盾,或標記需要人工複核的案例。不過,若同一個模型同時參與 query 生成、相關性判斷與答案評分,容易產生模型偏好,讓評測結果看起來比實際更好。
較穩妥的做法是保留人工裁決的 qrels 作為主要 ground truth,LLM 標註則另外記錄模型版本、prompt 與信心分數。兩者可以比較,但不能混成同一份無法追溯來源的標籤。
同一輪實驗中,Query Set、corpus snapshot、qrels 與評測程式都應固定。調整 retriever 之後再回頭修改標籤,會讓基準跟著實驗結果移動,失去公平比較的意義。
qrels 也需要版本管理。當文件更新、產品政策改變或標註規則修訂時,建立新版本並保留變更原因,才能解釋不同時間的分數差異。
Retrieval 評測的核心不是先選哪一個指標,而是先建立可信的相關性判斷。Qrels 把「感覺這篇比較相關」轉成可審查、可重算、可跨方法比較的 ground truth。
一份可靠的 qrels 需要明確尺度、多來源候選池、分歧裁決與版本管理。下一篇將深入討論標註者一致性,以及不同意見該如何裁決。