BLEU là một chỉ số tự động đo độ giống nhau giữa bản dịch máy và một hay nhiều bản dịch tham chiếu do người làm, bằng cách đếm tỷ lệ cụm 1, 2, 3, 4 từ liên tiếp của bản máy có xuất hiện trong bản tham chiếu, lấy trung bình nhân, rồi phạt nếu bản máy ngắn hơn bản tham chiếu. Điểm thường được ghi trên thang 0–100: càng cao càng giống bản người dịch. BLEU do Papineni và cộng sự ở IBM công bố năm 2002 và đến nay vẫn là chỉ số phổ biến nhất trong các bài báo dịch máy, kể cả với tiếng Việt.
Nhưng BLEU đo độ trùng chữ, không đo đúng nghĩa. Một bản dịch hay mà chọn từ khác bản tham chiếu bị chấm thấp; một bản dịch đổi nghĩa chỉ bằng một chữ "không" vẫn có thể được điểm cao. Với tiếng Việt còn thêm một bẫy kỹ thuật: tính theo âm tiết hay theo từ ghép cho ra số khác hẳn. Bài này giải thích cách tính từng bước bằng ví dụ giả định, cách đọc một con số BLEU trong bài báo, và những chỗ nó đánh lừa.
Cách tính BLEU từng bước
Để thấy BLEU đếm gì, đi qua một ví dụ giả định nhỏ. Bản tham chiếu: "Hôm nay trời mưa rất to". Bản máy: "Hôm nay trời mưa to lắm". Tính theo âm tiết, tách bằng dấu cách.
- Đếm cụm một từ (unigram): bản máy có sáu chữ "hôm, nay, trời, mưa, to, lắm". Năm chữ có trong bản tham chiếu, chữ "lắm" không có. Độ chính xác unigram là 5/6.
- Đếm cụm hai từ (bigram): bản máy có năm cụm "hôm nay, nay trời, trời mưa, mưa to, to lắm". Ba cụm đầu có trong tham chiếu; "mưa to" không có vì tham chiếu là "mưa rất"; "to lắm" không có. Độ chính xác bigram là 3/5.
- Đếm cụm ba từ: "hôm nay trời", "nay trời mưa" có; "trời mưa to", "mưa to lắm" không. Độ chính xác 2/4.
- Đếm cụm bốn từ: "hôm nay trời mưa" có; "nay trời mưa to", "trời mưa to lắm" không. Độ chính xác 1/3.
- Lấy trung bình nhân bốn độ chính xác: căn bậc bốn của tích 5/6 × 3/5 × 2/4 × 1/3, khoảng 0,54.
- Phạt độ ngắn: bản máy sáu chữ, tham chiếu sáu chữ, bằng nhau nên không phạt. Nếu bản máy ngắn hơn, điểm bị nhân thêm một hệ số nhỏ hơn 1.
- Nhân 100: khoảng 54 điểm cho câu này. Trong thực tế BLEU được tính gộp trên cả tập kiểm tra hàng nghìn câu, không tính trung bình từng câu.
Hai bản cùng nghĩa, người Việt đọc thấy như nhau, mà điểm chỉ khoảng một nửa. Ví dụ này cho thấy bản chất của BLEU: nó thưởng cho việc dùng đúng chữ của người dịch tham chiếu, không phải cho việc dịch đúng. Một chi tiết khác: khi đếm, mỗi cụm chỉ được tính trùng tối đa bằng số lần nó xuất hiện trong tham chiếu, để chặn bản máy lặp một từ phổ biến nhiều lần mà vẫn được điểm cao.
Vì sao cần phạt độ ngắn
BLEU tính độ chính xác, tức tỷ lệ phần bản máy có trong tham chiếu, chứ không tính độ phủ, tức tỷ lệ phần tham chiếu có trong bản máy. Nếu chỉ có độ chính xác, một hệ thống gian có thể chỉ dịch ba chữ chắc chắn nhất, "hôm nay trời", và đạt độ chính xác tuyệt đối. Hệ số phạt độ ngắn (brevity penalty) sinh ra để chặn chiêu đó: tổng độ dài bản máy trên toàn tập ngắn hơn tổng độ dài tham chiếu bao nhiêu thì điểm bị giảm theo hàm mũ bấy nhiêu.
Với dịch máy hiện đại, phạt độ ngắn có ý nghĩa thực tế: dịch nơ-ron và mô hình ngôn ngữ lớn đôi khi bỏ sót cả một vế câu. Nếu bỏ sót nhiều, tổng độ dài giảm và BLEU tụt. Nhưng hệ số này chỉ nhìn tổng độ dài, không nhìn từng câu: một bản dịch bỏ một câu quan trọng nhưng thêm một câu thừa chỗ khác có thể không bị phạt gì.
Ngược lại, BLEU không phạt bản dịch dài hơn tham chiếu, vì phần thừa đã tự làm giảm độ chính xác. Mô hình ngôn ngữ lớn có thói quen thêm lời giải thích hay câu chuyển ý; phần này kéo BLEU xuống, đôi khi làm một bản dịch thực chất tốt bị đánh giá kém hơn hệ chuyên dụng ít lời.
Bẫy riêng của tiếng Việt: âm tiết hay từ
Chữ Việt viết cách nhau theo âm tiết, không theo từ. "Học sinh" là một từ hai âm tiết. Nếu tính BLEU theo dấu cách, mỗi âm tiết là một đơn vị, và cụm bốn đơn vị thường chỉ tương ứng hai từ ghép. Nếu tách từ trước (bằng công cụ tách từ tiếng Việt như VnCoreNLP), "học_sinh" thành một đơn vị, cụm bốn đơn vị dài hơn hẳn, khó trùng hơn, nên điểm thường thấp hơn. Cùng một hệ thống, cùng tập kiểm tra, hai cách tách cho hai con số khác nhau đáng kể.
Bẫy thứ hai là chuẩn hoá. Bản tham chiếu viết "hoà", bản máy viết "hòa"; tham chiếu dùng Unicode dựng sẵn, bản máy ra Unicode tổ hợp; một bên viết hoa đầu câu, một bên không; dấu câu dính liền chữ hay tách rời. Mỗi khác biệt này đều bị BLEU tính là sai, dù người đọc thấy y hệt. Trước khi tính, cả bản máy và tham chiếu phải được chuẩn hoá về một kiểu, và quy tắc chuẩn hoá phải được ghi rõ.
Vì các bẫy này, cộng đồng nghiên cứu khuyến nghị dùng công cụ tính chuẩn như sacreBLEU (Post, 2018), công cụ in kèm một "chữ ký" ghi cách tách chữ, chuẩn hoá, có phân biệt hoa thường không. Với tiếng Việt, nên ghi thêm đã chuẩn hoá Unicode về dạng nào và có thống nhất kiểu đặt dấu thanh (hoà hay hòa) trước khi tính hay không, vì riêng khác biệt kiểu đặt dấu giữa hai nguồn văn bản đã đủ kéo điểm xuống mà không liên quan gì đến chất lượng dịch. Khi đọc một bài báo về dịch máy tiếng Việt, hãy tìm xem họ ghi chữ ký hay cách tách không; thiếu thông tin này thì con số của họ không so được với bài khác.
Đọc một con số BLEU: nên và không nên
Người mới thường muốn có một ngưỡng kiểu "BLEU trên bao nhiêu là tốt". Không có ngưỡng chung, và bảng dưới giải thích vì sao.
| Câu hỏi | Câu trả lời ngắn | Giải thích |
|---|---|---|
| So BLEU của hai hệ trên cùng tập kiểm tra, cùng cách tính? | được, có ý nghĩa | đây là cách dùng BLEU đúng nhất, nhất là khi chênh lệch lớn |
| So BLEU Anh–Việt với BLEU Anh–Đức? | không | mỗi cặp ngôn ngữ, mỗi cách tách chữ cho thang điểm khác nhau |
| So BLEU giữa hai bài báo dùng tập kiểm tra khác nhau? | không | văn bản tin tức, phụ đề, y khoa cho mức điểm rất khác |
| Chênh nhau một hai điểm có nghĩa là hệ này tốt hơn? | chưa chắc | cần kiểm định thống kê, và chênh nhỏ thường không thấy được bằng mắt người |
| BLEU câu từng câu có đáng tin? | không mấy | BLEU thiết kế để tính trên cả tập, điểm từng câu rất nhiễu |
| Có nhiều bản tham chiếu thì sao? | điểm cao hơn, công bằng hơn | bản máy có thêm cơ hội trùng với một trong các cách dịch hợp lệ |
Điểm đáng nhớ nhất: BLEU là thước so sánh tương đối trong cùng điều kiện, không phải nhiệt kế đo chất lượng tuyệt đối. Một bài viết quảng bá ghi "đạt BLEU X" mà không nói tập nào, cách tính nào, so với cái gì thì con số đó gần như không mang thông tin.
Những lúc BLEU đánh lừa
Đổi nghĩa bằng một chữ. Ví dụ giả định: tham chiếu "Không dùng thuốc này cho trẻ dưới hai tuổi", bản máy "Dùng thuốc này cho trẻ dưới hai tuổi". Bản máy trùng gần hết, BLEU cao, nhưng nghĩa ngược và nguy hiểm. Lỗi phủ định, lỗi số, lỗi tên riêng là những lỗi nặng nhất mà BLEU gần như không thấy.
Dịch hay nhưng khác chữ. Bản dịch tự nhiên dùng "mưa như trút nước" trong khi tham chiếu là "mưa rất to" sẽ bị chấm thấp. Hệ thống càng diễn đạt linh hoạt, như mô hình ngôn ngữ lớn, càng dễ bị BLEU đánh giá thấp hơn thực tế.
Bản tham chiếu kém. Nếu bản dịch tham chiếu là văn dịch cứng, hoặc chính nó được tạo từ dịch máy rồi sửa sơ, BLEU sẽ thưởng cho hệ thống bắt chước được văn cứng đó. Tập kiểm tra lẫn bản dịch máy là vấn đề đã được ghi nhận ở nhiều bộ dữ liệu song ngữ thu từ web.
Tối ưu cho điểm thay vì cho người đọc. Khi một nhóm chỉnh hệ thống liên tục để tăng BLEU trên một tập cố định, hệ thống có thể học thói quen của tập đó thay vì dịch tốt hơn. Đây là một dạng của định luật Goodhart: chỉ số bị biến thành mục tiêu thì thôi phản ánh đúng thứ nó đo.
BLEU vẫn có chỗ dùng, và những gì nên đi kèm
Dù nhiều giới hạn, BLEU vẫn hữu ích ở vai trò của nó: rẻ, nhanh, tái lập được, đủ nhạy để theo dõi trong quá trình phát triển xem thay đổi vừa làm có làm hệ thống tệ đi rõ rệt không. Khi chênh lệch lớn, chẳng hạn vài chục điểm giữa hai hệ trên cùng tập, BLEU thường đồng ý với người chấm. Khi chênh nhỏ, hoặc khi so các hệ đã khá tốt với nhau, mức đồng ý giảm mạnh.
Vì vậy thực hành phổ biến hiện nay là báo BLEU kèm ít nhất một chỉ số khác: chrF (đếm trùng theo ký tự, ít nhạy với cách tách chữ hơn, hợp với tiếng Việt), và một chỉ số học được như COMET, dùng mô hình đã huấn luyện trên điểm chấm của người để đánh giá theo nghĩa. Các đợt đánh giá chung lớn còn dùng người chấm theo khung lỗi chi tiết. Bài về COMET và chấm bằng người trong cùng chuyên mục đi sâu vào phần này.
Với người làm sản phẩm không phải nhà nghiên cứu, lời khuyên thực tế là: nếu nhà cung cấp chỉ đưa BLEU, hãy hỏi thêm tập kiểm tra là văn bản gì, có gần văn bản của bạn không, có kết quả chấm bằng người không. Và tự làm một tập thử nhỏ vài trăm câu từ chính tài liệu của mình, có bản dịch tham chiếu do người dịch có chuyên môn làm, để so các phương án trong đúng hoàn cảnh sẽ dùng.
Câu hỏi thường gặp
BLEU bao nhiêu điểm thì bản dịch dùng được?
Không có ngưỡng chung. Điểm phụ thuộc cặp ngôn ngữ, loại văn bản, số bản tham chiếu, cách tách chữ và chuẩn hoá. Cùng một hệ thống có thể được điểm rất khác trên tin tức và trên hội thoại. BLEU chỉ nên dùng để so các hệ trong cùng điều kiện, còn "dùng được hay không" phải do người đọc thử quyết định.
Tính BLEU tiếng Việt nên tách theo âm tiết hay theo từ?
Cả hai đều gặp trong nghiên cứu, quan trọng là ghi rõ và giữ nhất quán khi so. Tính theo âm tiết đơn giản, tái lập dễ, không phụ thuộc công cụ tách từ. Tính theo từ sát ngữ nghĩa hơn nhưng kết quả phụ thuộc công cụ tách. Dùng sacreBLEU và in chữ ký giúp người khác tái lập đúng.
Vì sao bản dịch mô hình ngôn ngữ lớn có khi được BLEU thấp hơn mà người đọc thích hơn?
Vì mô hình ngôn ngữ lớn diễn đạt linh hoạt, chọn từ khác bản tham chiếu, đôi khi thêm từ nối cho tự nhiên. BLEU chỉ thưởng chữ trùng nên chấm thấp các cách nói khác mà vẫn đúng. Đây là một lý do các đợt đánh giá gần đây dựa nhiều hơn vào chỉ số học được và người chấm.
sacreBLEU khác BLEU thế nào?
sacreBLEU không phải chỉ số mới mà là công cụ tính BLEU theo cách chuẩn hoá, do Matt Post công bố năm 2018. Nó tự xử lý tách chữ theo quy ước cố định và in chữ ký cấu hình, giúp con số ở các bài báo khác nhau so được với nhau nếu cùng tập kiểm tra.
Có nên dùng BLEU để chọn công cụ dịch cho công ty không?
Có thể dùng làm một tín hiệu, không nên dùng làm tiêu chí duy nhất. Hãy tạo tập thử từ chính tài liệu của công ty, có bản dịch tham chiếu tốt, tính thêm chrF hoặc COMET, và quan trọng nhất là cho người có chuyên môn đọc mù một mẫu bản dịch của các công cụ, ghi lỗi nặng như sai số, sai phủ định, sai thuật ngữ.
BLEU có dùng cho việc khác ngoài dịch máy không?
Có, BLEU từng được mượn để đánh giá tóm tắt, sinh mô tả ảnh, sinh mã nguồn, nhưng cũng bị phê phán ở những việc này vì cùng lý do: đầu ra đúng có nhiều cách diễn đạt. Với tóm tắt, ROUGE phổ biến hơn; với nhiều tác vụ sinh văn bản, người ta chuyển dần sang chỉ số học được và chấm bằng người.