Data evaluation

Data ground truth

Review

Ở đây là Anh hiếu dùng 2 repo data hugging face.

Note

Evaluation Metrics for Information Retrieval

1. Precision@K

Precision@K đo lường tỷ lệ số lượng kết quả đúng trong K kết quả đầu tiên.

Công thức:

Precision@K=Relevant Documents in Top KK

Ví dụ:

Giả sử hệ thống trả về 5 tài liệu đầu tiên với độ liên quan như sau:

Rank Document ID Relevant (1=Yes, 0=No)
1 D1 1
2 D2 0
3 D3 1
4 D4 1
5 D5 0

Tính Precision@5:

Precision@5=35=0.6

2. Recall@K

Recall@K đo lường tỷ lệ tài liệu liên quan được tìm thấy trong K kết quả đầu tiên so với tổng số tài liệu liên quan có trong tập dữ liệu.

Công thức:

Recall@K=Relevant Documents in Top KTotal Relevant Documents

Ví dụ:

Giả sử có tổng cộng 10 tài liệu liên quan trong toàn bộ tập dữ liệu, trong đó chỉ 3 tài liệu xuất hiện trong 5 kết quả đầu tiên:

Recall@5=310=0.3

3. Mean Reciprocal Rank (MRR)

MRR đo lường vị trí của kết quả liên quan đầu tiên trong danh sách kết quả.

Công thức:

MRR=1Ni=1N1ranki

Với (rank_i) là vị trí của kết quả liên quan đầu tiên cho truy vấn thứ (i).
N là tổng số truy vấn

Ví dụ:

Giả sử ba truy vấn có kết quả liên quan đầu tiên xuất hiện ở vị trí 1, 3 và 2:

MRR=13(11+13+12)=13(1+0.333+0.5)=0.611

4. Discounted Cumulative Gain (DCG@K)

DCG@K đánh giá chất lượng của danh sách kết quả bằng cách giảm trọng số của các kết quả có vị trí thấp hơn.

Công thức:

DCG@K=i=1Krelilog2(i+1)

Với (rel_i) là mức độ liên quan của kết quả tại vị trí (i).

Ví dụ:

Giả sử danh sách kết quả có mức độ liên quan ([3, 2, 3, 0, 1]):

DCG@5=3log2(2)+2log2(3)+3log2(4)+0log2(5)+1log2(6)

Bảng tính toán chi tiết:

Rank Relevance $$(\log_2(rank+1))$$ Contribution
1 3 1.0 3.000
2 2 1.585 1.262
3 3 2.0 1.500
4 0 2.322 0.000
5 1 2.585 0.387

Tổng cộng:

DCG@5=3+1.262+1.500+0+0.387=6.149

5. Normalized DCG (NDCG@K)

NDCG@K chuẩn hóa DCG bằng cách chia cho giá trị DCG tối đa có thể đạt được (IDCG).

Công thức:

NDCG@K=DCG@KIDCG@K

Với (IDCG@K) là giá trị DCG nếu kết quả được sắp xếp theo mức độ liên quan giảm dần.

Ví dụ:

Giả sử danh sách kết quả tối ưu có mức độ liên quan ([3, 3, 2, 1, 0]), ta tính IDCG@5:

IDCG@5=3log2(2)+3log2(3)+2log2(4)+1log2(5)+0log2(6)

Bảng tính toán:

Rank Relevance $$(\log_2(rank+1))$$ Contribution
1 3 1.0 3.000
2 3 1.585 1.892
3 2 2.0 1.000
4 1 2.322 0.431
5 0 2.585 0.000

Tổng cộng:

IDCG@5=3+1.892+1.000+0.431+0=6.323

Tính NDCG@5:

NDCG@5=6.1496.323=0.973

6. Mean Average Precision (MAP)

MAP là một chỉ số quan trọng, cung cấp một giá trị duy nhất tóm tắt chất lượng của danh sách xếp hạng.
Nó phản ánh toàn bộ precision-recall curve và nhạy với vị trí của tất cả các tài liệu liên quan trong danh sách kết quả.


Công thức

MAP được tính theo 2 bước:

  1. Tính Average Precision (AP) cho từng truy vấn.
  2. Lấy trung bình các giá trị AP đó trên toàn bộ tập truy vấn.

Average Precision (AP) cho một truy vấn:

AP=1Ri=1NPrecision@irel(i)

Trong đó:

Mean Average Precision (MAP):

MAP=1Qq=1QAPq

Trong đó:


Ví dụ minh họa

Giả sử có 1 truy vấn, hệ thống trả về 5 tài liệu đầu tiên với độ liên quan:

Rank Document Relevant (rel) Precision@i
1 D1 1 1/1 = 1.0
2 D2 0
3 D3 1 2/3 ≈ 0.667
4 D4 0
5 D5 1 3/5 = 0.6
AP=13(1.0+0.667+0.6)=0.756

Nếu ta có nhiều truy vấn, MAP sẽ là trung bình của tất cả các AP đó.


Ý nghĩa

Chuẩn rồi 👍 mình thêm luôn MAP (Mean Average Precision) vào danh sách để đủ bộ:


✅ Các chỉ số trong Information Retrieval (IR) → Càng cao càng tốt

  1. Precision@K

    • Ý nghĩa: trong K kết quả trả về, bao nhiêu % là đúng.

    • Cao hơn = ít “rác” hơn trong top-K.

  2. Recall@K

    • Ý nghĩa: trong toàn bộ tài liệu đúng, hệ thống tìm được bao nhiêu trong K kết quả.

    • Cao hơn = bao phủ nhiều kết quả đúng hơn.

  3. MRR@K (Mean Reciprocal Rank)

    • Ý nghĩa: tài liệu đúng đầu tiên xuất hiện sớm đến mức nào.

    • Cao hơn = người dùng thấy câu trả lời đúng nhanh hơn.

  4. DCG@K (Discounted Cumulative Gain)

    • Ý nghĩa: tài liệu đúng càng ở gần đầu danh sách càng được thưởng điểm.

    • Cao hơn = kết quả đúng được xếp ở vị trí ưu tiên.

  5. NDCG@K (Normalized DCG)

    • Ý nghĩa: DCG được chuẩn hóa so với cách sắp xếp “lý tưởng”.

    • Cao hơn = thứ tự trả về gần giống với tối ưu.

  6. MAP (Mean Average Precision)

    • Ý nghĩa: trung bình Precision tại tất cả các vị trí có kết quả đúng, sau đó lấy trung bình trên nhiều truy vấn.

    • Cao hơn = hệ thống ổn định chính xác trên toàn bộ danh sách kết quả, không chỉ vài vị trí đầu.


🔄 Mối quan hệ


👉 Bạn có muốn mình làm một bảng tóm tắt gọn (Tên – Ý nghĩa – Khi cao nghĩa là gì – Ưu tiên cho use-case nào) để bạn chèn thẳng vào slide không?

Đánh giá RAG với Evaluate Ragas

1. Giới thiệu về Evaluate Ragas

Evaluate Ragas là một thư viện hỗ trợ đánh giá các hệ thống Retrieval-Augmented Generation (RAG). Nó cung cấp các tiêu chí đánh giá chất lượng của truy xuất thông tin và sinh văn bản, giúp tối ưu hóa mô hình RAG.

2. Các tiêu chí đánh giá

Ragas đánh giá hệ thống RAG dựa trên các tiêu chí chính:

3. Công thức tính điểm

3.1. Context Precision

Precision=|Context relevantRetrieved context||Retrieved context|

👉 Tính tỷ lệ tài liệu truy xuất thực sự liên quan so với tổng số tài liệu truy xuất.

3.2. Faithfulness

Faithfulness=Factually correct statementsTotal statements in answer

👉 Kiểm tra câu trả lời có dựa trên bằng chứng trong ngữ cảnh không.

3.3. Answer Relevance

Relevance=Similarity(Answer,Question)

👉 Tính toán mức độ liên quan giữa câu trả lời và câu hỏi bằng cosine similarity.

3.4. Context Recall

Recall=|Context relevantRetrieved context||Relevant context|

👉 Đo lường mức độ đầy đủ của ngữ cảnh truy xuất.

3.5. Semantic Similarity

Semantic Similarity=cos(Answer,GroundTruth)

👉 Đánh giá mức độ gần nhau về mặt ngữ nghĩa giữa câu trả lời và ground truth, thường dùng embedding + cosine similarity.

3.6. Answer Correctness

Correctness=1[AnswerGroundTruth]

👉 Kiểm tra câu trả lời có trùng khớp hoặc đúng về mặt nội dung với ground truth hay không (có thể dùng exact match hoặc fuzzy matching).

4. Dataset đầu vào

Dataset thường có 4 cột chính:

question answer contexts ground_truth
Câu hỏi của người dùng Câu trả lời từ mô hình RAG Ngữ cảnh được truy xuất Câu trả lời đúng theo dữ liệu gốc

5. Cách tạo dataset

  1. Thu thập câu hỏi và câu trả lời gốc: Sử dụng dữ liệu từ nguồn đáng tin cậy.
  2. Thêm ngữ cảnh truy xuất: Tạo hoặc sử dụng mô hình RAG để lấy các đoạn văn bản phù hợp.
  3. Tạo ground truth: Gán câu trả lời đúng để so sánh.
  4. Lưu dưới dạng bảng dữ liệu: Sử dụng pandas để lưu dữ liệu dưới dạng CSV hoặc JSON.

Hay đấy 👍 — với RAGAS (Retrieval-Augmented Generation Assessment Suite), các chỉ số hơi khác so với IR truyền thống. Mình tóm gọn lại để bạn dễ đưa vào slide:


✅ Các chỉ số trong RAGAS (Càng cao càng tốt)

  1. Context Precision

    • Ý nghĩa: trong những đoạn ngữ cảnh được hệ thống lấy về, có bao nhiêu % thực sự liên quan đến câu hỏi.

    • Cao hơn = ít “ngữ cảnh rác” → hệ thống trả lời tập trung hơn.

  2. Context Recall

    • Ý nghĩa: trong tất cả ngữ cảnh liên quan, hệ thống đã lấy về được bao nhiêu.

    • Cao hơn = hệ thống thu hồi đầy đủ hơn, ít bỏ sót thông tin.

  3. Faithfulness

    • Ý nghĩa: câu trả lời có bám sát, không bịa thêm ngoài ngữ cảnh hay không.

    • Cao hơn = câu trả lời trung thực hơn, giảm “hallucination”.

  4. Answer Relevance

    • Ý nghĩa: câu trả lời có thực sự trả lời đúng trọng tâm câu hỏi không.

    • Cao hơn = câu trả lời sát nghĩa với intent của người dùng.

  5. Semantic Similarity

    • Ý nghĩa: mức độ tương đồng ngữ nghĩa giữa câu trả lời của mô hình và ground truth (câu trả lời chuẩn).

    • Cao hơn = câu trả lời gần giống với câu chuẩn hơn, ngay cả khi diễn đạt khác.

  6. Answer Correctness

    • Ý nghĩa: đánh giá tổng thể tính đúng đắn của câu trả lời (so sánh trực tiếp với ground truth).

    • Cao hơn = câu trả lời chính xác hơn về nội dung.


🔄 Mối quan hệ phản ánh


👉 Bạn có muốn mình làm một bảng so sánh gọn (Tên – Ý nghĩa – Khi cao nghĩa là gì – Ví dụ) giống như lúc mình làm cho IR, để đưa thẳng vào slide?