1.9 "Tốt" nghĩa là gì
Không có bước này thì mọi cải tiến chỉ là cảm giác. Bốn thước đo, giải thích bằng ẩn dụ lưới đánh cá: bạn kéo lưới lên, trong hồ có một số con cá bạn cần.
| Thước đo | Câu hỏi nó trả lời | Ẩn dụ |
|---|---|---|
| recall@k | Trong k kết quả, có đủ thứ cần không? | Bao nhiêu phần cá cần đã vào lưới? |
| precision@k | Trong k kết quả, bao nhiêu phần là hữu ích? | Trong lưới, bao nhiêu phần là cá, bao nhiêu là rác? |
| MRR | Kết quả đúng đầu tiên ở vị trí nào? | Con cá đầu tiên nằm ở đâu trong lưới? |
| nDCG@k | Thứ tự tốt đến đâu, có tính mức độ liên quan? | Cá to có nằm trên cá nhỏ không? |
Tính thật. Giả sử có 2 tài liệu liên quan: d2 rất liên quan (điểm 2),
d1 liên quan vừa (điểm 1). Hệ trả về: [d1, d3, d2, d5, d4].
recall@5 = lấy được 2/2 tài liệu liên quan = 1.000precision@5 = 2 hữu ích trong 5 kết quả = 0.400MRR = kết quả liên quan đầu tiên ở vị trí 1 = 1.000
nDCG@5: gain = 2^điểm − 1 -> d1 điểm 1 -> gain 1, d2 điểm 2 -> gain 3 DCG = 1/log2(2) + 0 + 3/log2(4) + 0 + 0 = 1 + 1.5 = 2.5000 IDCG = thứ tự lý tưởng (d2 trước d1): 3/log2(2) + 1/log2(3) = 3 + 0.6309 = 3.6309 nDCG = 2.5 / 3.6309 = 0.6885Hãy dừng ở kết quả này một chút, vì nó là bài học quan trọng nhất của mục 1.9:
recall@5 = 1.000 nhưng nDCG@5 = 0.689. Cùng một danh sách kết quả. Recall nói “lấy được hết rồi, hoàn hảo”. nDCG nói “nhưng anh xếp sai thứ tự”. Tài liệu quan trọng nhất (d2) bị đặt ở vị trí 3, dưới một tài liệu vô ích (d3).
Vì sao khác nhau: recall mù thứ tự, nó chỉ hỏi có/không. nDCG chia cho
log2(vị trí+1) nên vị trí càng sau càng bị chiết khấu. Với RAG thì thứ tự rất
quan trọng, vì bạn chỉ nhét được 5 chunk vào prompt, không phải 50.
→ Đó là lý do nDCG là thước chính trong tài liệu này, và vì sao chỉ nhìn recall là cách tự lừa mình phổ biến nhất.