Số liệu đánh giá trong xử lý ngôn ngữ tự nhiên — BLEU
![](https://post.nghiatu.com/assets/images/m/max/724/1*BK6HRk5IJuE44DckC4_LKw.jpeg)
Trong loạt bài đăng này, chúng ta sẽ thảo luận về các số liệu đánh giá dành riêng cho các trường hợp sử dụng trong lĩnh vực Xử lý ngôn ngữ tự nhiên. Các tác vụ phổ biến nhất trong NLP là tóm tắt tự động, trả lời câu hỏi, dịch máy. Mục tiêu của các số liệu này là xác định chất lượng của văn bản dự đoán dựa trên văn bản đầu vào. Văn bản dự đoán được gọi là Ứng viên và các văn bản chính xác hoặc mục tiêu có thể được gọi là Tài liệu tham khảo.
Các số liệu này dựa trên một số số liệu cơ bản như Thu hồi, Độ chính xác và Điểm F1. Nếu bạn không biết về các chỉ số này, hãy xem bài viết này đề cập đến chúng: Recall, Precision, F1-Score . Khái niệm n-gram cũng rất cần thiết để tính toán và hiểu các số liệu này.
Các chỉ số bên dưới thường được sử dụng cho Dịch máy hoặc Tóm tắt tự động nhưng chúng có thể được áp dụng cho bất kỳ tác vụ nào khác liên quan đến các cặp văn bản đầu vào và đích. Cùng với việc đánh giá các mô hình, các chỉ số này cũng có thể được sử dụng để điều chỉnh siêu tham số của các mô hình Machine Learning. Trong bài đăng đầu tiên, chúng ta sẽ thảo luận về chỉ số BLEU thường được sử dụng để đánh giá Dịch máy.
Cơ quan đánh giá song ngữ (BLEU)
Điểm BLEU đo lường chất lượng của văn bản dự đoán, được gọi là ứng cử viên, so với một tập hợp các tài liệu tham khảo. Có thể có nhiều hơn một câu trả lời đúng/tham chiếu cho một ứng cử viên trong các nhiệm vụ từ Trình tự đến Trình tự. Do đó, điều quan trọng là các tài liệu tham khảo được lựa chọn cẩn thận và bao gồm tất cả các tài liệu tham khảo có thể có. Điểm BLEU là thước đo dựa trên độ chính xác và nằm trong khoảng từ 0 đến 1. Giá trị càng gần 1 thì dự đoán càng chính xác. Không thể đạt được giá trị 1 và thông thường giá trị cao hơn 0,3 được coi là điểm tốt.
Trong phần tiếp theo, chúng ta sẽ thấy phép tính BLEU trên một câu dự đoán duy nhất để minh họa, sau đó là phép tính cho một kho văn bản.
Độ chính xác
Nếu chúng tôi nhớ lại (không có ý định chơi chữ) định nghĩa về độ chính xác từ bài viết trước của chúng tôi, thì đó là Tích cực Thực sự/(Tích cực Thực sự + Tích cực Sai). Trong ngữ cảnh này, Điểm tích cực thực sự là tất cả n-gram phù hợp giữa ứng viên và tham chiếu. Kết quả dương tính giả ở đây có thể được coi là n-gram xuất hiện trong ứng viên nhưng không có trong tài liệu tham khảo. Điều này có nghĩa là độ chính xác có thể đạt được bằng cách chia số n-gam phù hợp cho tổng số n-gam trong ứng cử viên.
Reference: "Transformers make everything quick and efficient"
Candidate: "Transformers Transformers Transformers Transformers"
Độ chính xác đã sửa đổi (MP)
Để tính toán Độ chính xác đã sửa đổi, số lượng n-gram được cắt bớt dựa trên số lần tối đa nó xuất hiện trong tham chiếu. Nó được biểu thị bằng Max_Ref_Count trong công thức hiển thị bên dưới.
![](https://post.nghiatu.com/assets/images/m/max/724/1*gqE5g9SoLddaAqE6EMmeCQ.png)
Trong ví dụ của chúng tôi ở phần trước, Transformers chỉ xuất hiện một lần trong tài liệu tham khảo và 4 lần trong ứng viên. min (4, 1) được xem xét và độ chính xác được sửa đổi bây giờ là 1/4 = 0,25. Giá trị này thấp hơn và do đó cho chúng ta ước tính tốt hơn về chất lượng của dự đoán.
Để khái quát hóa, công thức cho MP được đưa ra dưới đây. Đối với tất cả các ứng cử viên trong kho văn bản, số lượng n-gam phù hợp với các tham chiếu được tính và tổng hợp. Điều này được chia cho tổng số đếm của tất cả n-gram trong tài liệu tham khảo.
![](https://post.nghiatu.com/assets/images/m/max/724/1*pGtG8YKeNSdcJe7sEK6Q2A.png)
Hình phạt ngắn hạn(BP)
Đôi khi, đối với những câu dài hơn, các ứng viên có thể rất nhỏ và thiếu thông tin quan trọng liên quan đến tài liệu tham khảo. Hãy xem xét ví dụ dưới đây:
Reference: "Transformers make everything quick and efficient through
parallel computation of self-attention heads"
Candidate: "Transformers make everything quick and efficient"
Nhập, Hình phạt Brevity (BP). Thuật ngữ này được sử dụng để trừng phạt các dự đoán quá ngắn khi so sánh với các tài liệu tham khảo. Giá trị này là 1 nếu độ dài ứng viên lớn hơn độ dài tham chiếu. Nếu độ dài ứng cử viên nhỏ hơn tham chiếu có nghĩa là r/c > 1, (1 — (r/c)) thấp hơn và có sự phân rã theo cấp số nhân.
Giá trị trung bình hình học của tất cả các độ chính xác đã sửa đổi cho đến khi N được tính toán và nhân với BP để có điểm BLEU cuối cùng. Ở đây N là thứ tự n-gram sẽ được sử dụng để tính toán. Nói chung là 4 gam ie, uni, bi, tri, tetra đều được xét để tính toán. Chúng được tính trọng số bằng các trọng số được ký hiệu là w_1, w_2,… cộng lại thành 1 dựa trên N. Với N = 4, chúng là w_1 = w_2 = w_3 = w_4 = 1/4.
![](https://post.nghiatu.com/assets/images/m/max/724/1*Vm5DgYvNfl6hrqpVD3n7OA.png)
Đối với câu ví dụ trên, chúng ta có thể thấy rằng BP được tính là exp(1 — (reference_length/translation_length)) = exp(1 — (6/12)) = 0,37. Giá trị này nhân với MP(1, vì chúng tôi chỉ sử dụng unigram) cho điểm BLEU thấp hơn nhiều là 0,37 thay vì 1, giải thích cho n-gram bị thiếu.
Trong bài đăng này, chúng tôi đã sử dụng unigram để dễ tính toán. Tuy nhiên chúng thường không đủ để đánh giá các ứng viên vì trật tự từ bị bỏ qua ở đây. Ví dụ, thí sinh “Efficient Transformers make quick Predictions” làm thay đổi nghĩa của câu nhưng lại cho điểm MP cao (0,6) vì có từ khớp trong tham chiếu. Để tránh điều này, tốt hơn là nên đánh giá điểm số bằng 2–4 gam.
Corpus BLEU
Để dễ hiểu, chúng tôi đã sử dụng một cặp văn bản duy nhất cho đến nay nhưng điểm BLEU thường được tính cho toàn bộ kho văn bản với một hoặc nhiều tham chiếu cho mỗi ứng viên.
Bây giờ chúng ta hãy tính điểm BLEU cho kho văn bản bên dưới. Giả sử rằng các ứng cử viên là kết quả của một hệ thống dịch thuật.
import evaluate
bleu = evaluate.load('bleu')
predictions = ["Transformers Transformers are fast plus efficient",
"Good Morning", "I am waiting for new Transformers"]
references = [
["HuggingFace Transformers are quick, efficient and awesome",
"Transformers are awesome because they are fast to execute"],
["Good Morning Transformers", "Morning Transformers"],
["People are eagerly waiting for new Transformer models",
"People are very excited about new Transformers"]
]
results = bleu.compute(predictions=predictions, references=references,
max_order = 2)
print(results)
{'bleu': 0.5037930378757725,
'precisions': [0.7142857142857143, 0.5454545454545454],
'brevity_penalty': 0.8071177470053892, 'length_ratio': 0.8235294117647058,
'translation_length': 14, 'reference_length': 17}
Tương tự, tính toán độ chính xác đã sửa đổi với biggram là giá trị thứ hai trong mảng độ chính xác ở đầu ra.
Các trọng số ở đây là w_1, w_2 là 1/2 vì thứ tự tối đa chỉ là 2. Giá trị trung bình hình học của các giá trị độ chính xác sau đó được nhân với BP để có điểm số cuối cùng. Để tính HA, tổng độ dài ứng viên là 14(c) và độ dài tham chiếu hiệu quả là 17(r). Độ dài tham chiếu hiệu quả được tính bằng cách tính tổng n-gram trong các tham chiếu gần với ứng viên nhất. Ở đây, để tham khảo — 1 câu đầu tiên được chọn với 8 mã thông báo, Tham chiếu-2 và 3 có 2 và 7 mã thông báo trong câu thứ hai của chúng.
Tính toán BLEU cuối cùng,
Total MP = (0.7142857142857143)^0.5 * (0.5454545454545454)^0.5
Total MP = 0.6241878
Since c < r,
BP = exp(1 - (17/14)) = 0.8071177
BLEU = BP * Total MP = 0.8071177 * 0.6241878 = 0.503793
Rounded BLEU score = 0.5
- Điểm BLEU rất dễ tính và được sử dụng rộng rãi.
- Điểm BLEU đã được coi là có mối tương quan cao với sự đánh giá của con người về chất lượng dự đoán.
- Từ đồng nghĩa của n-gram không được xem xét cho đến khi và trừ khi chúng có mặt như một trong những tài liệu tham khảo. Điều này là do ý nghĩa của n-gram không được tính đến. Ví dụ: “Máy biến áp nhanh và hiệu quả” và “Máy biến áp có thời gian thực hiện nhanh” có ý nghĩa tương tự nhưng điểm BLEU-1 chỉ là 0,2.
- Vấn đề về trật tự từ không thể được giải quyết chỉ bằng cách sử dụng n-gram bậc cao hơn. Ví dụ: ứng viên “Máy biến áp nhanh và hiệu quả” với tham chiếu “Máy biến áp nhanh và hiệu quả” cho điểm BLEU-2 cao (0,87) nhưng bản dịch không thể được coi là đúng.
- Điểm BLEU thay đổi rất nhiều dựa trên các yếu tố như số lượng tài liệu tham khảo, kỹ thuật chuẩn hóa và mã thông báo, v.v. Vì lý do này, rất khó sử dụng chúng để so sánh giữa các bộ dữ liệu sử dụng các kỹ thuật khác nhau.
Người giới thiệu
Tôi là sinh viên Thạc sĩ Khoa học Dữ liệu @ TU Dortmund. Vui lòng kết nối với tôi trên LinkedIn để nhận bất kỳ phản hồi nào về bài đăng của tôi hoặc bất kỳ thông tin liên lạc chuyên nghiệp nào.