3. Nhóm RANK-BASED, relevance CÓ MỨC
3.1 DCG và nDCG
Phần tiêu đề “3.1 DCG và nDCG”Ba lựa chọn thiết kế, mỗi cái đều có hệ quả thật:
(1) Gain function
Phần tiêu đề “(1) Gain function”| rel | Tuyến tính: | Hàm mũ: |
|---|---|---|
| 0 | 0 | 0 |
| 1 | 1 | 1 |
| 2 | 2 | 3 |
| 3 | 3 | 7 |
| 4 | 4 | 15 |
Gain hàm mũ là mặc định trong industry (Microsoft/LETOR, mọi learning-to-rank toolkit, và LambdaMART tối ưu trực tiếp nDCG với gain hàm mũ).
Lý do định lượng để chọn hàm mũ cho RAG — so sánh “một doc rel=2 ở vị trí 1” với “hai doc rel=1 ở vị trí 1 và 2”:
| Gain | Một doc rel=2 | Hai doc rel=1 | Ai thắng |
|---|---|---|---|
| Hàm mũ | rel=2 thắng 1.84× | ||
| Tuyến tính | rel=2 thắng chỉ 1.23× |
Với gain tuyến tính, khoảng an toàn co lại và metric bắt đầu dung thứ cho việc thay tài liệu chính bằng nhiều tài liệu phụ. Với RAG đó là hành vi sai: LLM cần một đoạn có câu trả lời, không cần ba đoạn nói vòng quanh. (Ba doc rel=1 ở vị trí 1–3 với gain tuyến tính đạt 2.13 > 2.00 — tức là metric tuyến tính thích ba đoạn mơ hồ hơn một đoạn đúng. Hàm mũ thì 2.13 < 3.00, xếp đúng.)
(2) Discount function
Phần tiêu đề “(2) Discount function”là chuẩn:
| Vị trí | 1 | 2 | 3 | 5 | 10 | 20 |
|---|---|---|---|---|---|---|
| Discount | 1.000 | 0.631 | 0.500 | 0.387 | 0.289 | 0.228 |
Chú ý: discount này khá nhẹ — vị trí 10 vẫn giữ 29% giá trị của vị trí 1. Nếu ứng dụng thực tế chỉ đọc top-3, nDCG@10 sẽ lạc quan hơn thực tế. Đó là lúc dùng RBP với nhỏ, hoặc đơn giản là hạ .
Có biến thể discount tuyến tính-rồi-log của Järvelin–Kekäläinen gốc (không chia với ), nhưng là dạng phổ biến duy nhất hiện nay.
(3) Chuẩn hoá
Phần tiêu đề “(3) Chuẩn hoá”IDCG lấy từ thứ tự lý tưởng của các doc đã gán nhãn, cắt ở . Bắt buộc phải chuẩn hoá, vì nếu không thì truy vấn có nhiều doc liên quan tự nhiên có DCG cao hơn, và điểm trung bình toàn golden set trở nên vô nghĩa — bị thống trị bởi vài truy vấn “giàu” tài liệu.
Hai chi tiết dễ sai:
- Cắt IDCG ở , không phải ở . Nếu , thứ tự lý tưởng chỉ được đặt doc tốt nhất. Nếu cắt ở thì nDCG không bao giờ đạt 1.0 dù hệ hoàn hảo.
- IDCG = 0 khi truy vấn không có doc liên quan nào → phải trả 0 (hoặc loại truy vấn đó khỏi phép tính, tuỳ quy ước; loại ra thì trung thực hơn).
Các đồng nhất thức đáng nhớ
Phần tiêu đề “Các đồng nhất thức đáng nhớ”Khi chỉ có một doc liên quan và relevance nhị phân, các metric sụp về nhau:
| Metric | Giá trị (doc đúng ở vị trí , ) |
|---|---|
| Success@k | 1 |
| Recall@k | 1 |
| Precision@k | |
| RR | |
| AP | |
| nDCG@k |
→ MRR = MAP khi có đúng 1 doc liên quan/truy vấn. Và nDCG trở thành “RR với discount log” — sụt chậm hơn MRR nhiều:
| 1 | 2 | 3 | 5 | 10 | |
|---|---|---|---|---|---|
| RR | 1.00 | 0.50 | 0.33 | 0.20 | 0.10 |
| nDCG | 1.00 | 0.63 | 0.50 | 0.39 | 0.29 |
Nếu golden set của bạn có nhiều truy vấn chỉ 1 doc đúng, hai metric này đo gần như cùng một thứ với độ “khắt khe” khác nhau — báo cáo cả hai là dư thừa.
Và tại : Precision@R = Recall@R (chính là R-Precision).
3.2 ERR (Expected Reciprocal Rank)
Phần tiêu đề “3.2 ERR (Expected Reciprocal Rank)”nDCG mang một giả định ngầm: giá trị của doc ở vị trí không phụ thuộc vào những doc phía trên nó. Thực tế người dùng dừng lại khi đã thoả mãn. ERR mô hình hoá đúng điều đó:
Đọc bằng lời: = xác suất người dùng thoả mãn tại doc ; = xác suất họ chưa thoả mãn ở mọi doc trước đó nên vẫn đọc tiếp; = phần thưởng nếu dừng tại .
Hệ quả thực tế quan trọng: ERR phạt sự trùng lặp. Ba doc rel=2 giống nhau ở
top-3 → doc thứ 2 và 3 gần như vô giá trị vì đã tiến về 0. nDCG thì
vẫn cộng đủ cả ba.
Với RAG, đây thường gần với thực tế hơn nDCG: bạn không muốn 3 chunk nói cùng một điều chiếm hết context window. Nhưng lưu ý — ERR phạt trùng lặp một cách ngầm (qua mô hình dừng), nó không thực sự phát hiện được nội dung trùng nhau; nếu muốn đo đa dạng thật thì cần metric diversity riêng (α-nDCG, ERR-IA).
Dùng khi: nghi ngờ hệ trả kết quả dư thừa; hoặc mô hình hoá người dùng “chỉ cần một câu trả lời tốt”.
3.3 RBP (Rank-Biased Precision)
Phần tiêu đề “3.3 RBP (Rank-Biased Precision)”= xác suất người dùng xem tiếp doc kế. Discount hình học, dốc hơn log rõ rệt:
| Vị trí | 1 | 2 | 3 | 5 | 10 |
|---|---|---|---|---|---|
| 1.00 | 0.50 | 0.25 | 0.06 | 0.002 | |
| 1.00 | 0.80 | 0.64 | 0.41 | 0.13 | |
| 1.00 | 0.95 | 0.90 | 0.81 | 0.63 | |
| (nDCG) | 1.00 | 0.63 | 0.50 | 0.39 | 0.29 |
là tham số mô hình người dùng có thể diễn giải được — đây là ưu điểm lớn: bạn chọn theo hành vi thật đo được từ log production, không chọn theo quy ước.
Ưu điểm thứ hai, quan trọng hơn: RBP xử lý được doc chưa gán nhãn một cách trung thực. Vì tổng là chuỗi vô hạn hội tụ, phần chưa gán nhãn cho ra một residual — RBP báo cáo dạng khoảng thay vì giả định doc không nhãn là rel=0. Residual lớn = “test collection của bạn chưa đủ nhãn để kết luận”.
Với golden set 24 truy vấn / 50 doc gán nhãn kỹ thì chưa cần. Khi corpus lên hàng chục nghìn doc và không thể gán nhãn hết, đây là metric đúng đắn nhất về phương pháp.
3.4 Metrics cho nhãn không hoàn chỉnh
Phần tiêu đề “3.4 Metrics cho nhãn không hoàn chỉnh”Khi qrels thiếu (corpus lớn), ba lựa chọn chính:
| Metric | Ý tưởng |
|---|---|
| bpref (Buckley & Voorhees 2004) | Chỉ dùng doc đã gán nhãn. Với mỗi doc liên quan , đếm = số doc đã gán nhãn là không liên quan xếp trên nó: . Doc chưa gán nhãn bị bỏ qua, không bị coi là rel=0. |
| infAP (Yilmaz & Aslam 2006) | Ước lượng AP từ nhãn lấy mẫu, có tính chất thống kê tốt hơn bpref. |
| RBP với residual | Báo cáo khoảng thay vì điểm đơn (xem §3.3). |
3.5 Mọi metric rank-based là một mô hình người dùng
Phần tiêu đề “3.5 Mọi metric rank-based là một mô hình người dùng”Đây là góc nhìn thống nhất đáng giá nhất (khung C/W/L — Moffat, Bailey, Scholer, Thomas). Mọi metric ở §2–3 viết được dưới dạng tổng có trọng số:
và profile trọng số chính là mô hình người dùng ngầm — nó mã hoá “người dùng dừng ở đâu”:
| Metric | Mô hình người dùng | |
|---|---|---|
| Precision@k | cho , 0 sau đó | Xem đúng kết quả, quan tâm đều nhau, rồi dừng đột ngột |
| RR | 1 tại hit đầu, 0 mọi chỗ khác | Dừng ngay khi thoả mãn lần đầu |
| DCG | Người dùng kiên nhẫn, suy giảm chậm, không bao giờ dừng hẳn | |
| RBP | Không nhớ gì: mỗi bước tiếp tục với xác suất (memoryless) | |
| ERR | Dừng khi thoả mãn, xác suất thoả mãn tuỳ mức độ liên quan | |
| AP | phụ thuộc toàn bộ ranking | Không có mô hình người dùng tĩnh — đây là điểm yếu lý thuyết của AP |
Hệ quả thực dụng: chọn metric = chọn mô hình người dùng của bạn. Câu hỏi đúng không phải “metric nào tốt nhất” mà là “người dùng sản phẩm của tôi hành xử giống profile nào”. Với chatbot RAG đọc 5–8 chunk và không có UI để scroll, profile gần nhất là Precision@k tại đúng của prompt cho chi phí, và nDCG@k cho chất lượng thứ tự.