VietASI.comVietASI
Nhận dạng giọng nói tiếng Việt

Tỷ lệ lỗi từ (WER) là gì: cách tính và đọc đúng con số với tiếng Việt

WER bằng tổng số chữ bị thay, bị mất và bị chèn chia cho số chữ của bản đúng. Tính tay ví dụ tiếng Việt, vì sao phải chuẩn hoá trước khi so, khi nào dùng CER.

Top-down view of hands holding a pencil over two blank paper sheets side by side on a wooden desk, headphones and a cup of tea nearby, soft daylight

Tỷ lệ lỗi từ (Word Error Rate, WER) là chỉ số phổ biến nhất để đo độ chính xác của máy nhận dạng giọng nói: lấy tổng số chữ bị thay sai (S), bị mất (D) và bị chèn thừa (I) so với bản chép đúng, rồi chia cho số chữ của bản đúng (N). Công thức WER = (S + D + I) / N. WER càng thấp càng tốt; 0% là khớp hoàn toàn, và vì có lỗi chèn nên WER có thể vượt 100%.

Với tiếng Việt, vì chữ viết tách âm tiết bằng dấu cách, “từ” trong WER trên thực tế thường là âm tiết: “học sinh” được tính là hai đơn vị. Điều đó làm con số WER tiếng Việt khó so trực tiếp với WER tiếng Anh. Quan trọng hơn, cùng một bản chép lời có thể cho WER chênh lệch lớn chỉ vì cách chuẩn hoá trước khi so: có tính dấu câu không, viết số bằng chữ hay chữ số, có phân biệt hoa thường không. Bài này hướng dẫn tính tay, chỉ ra các bẫy và cách đọc một con số WER người khác đưa ra.

Ba loại lỗi và cách máy căn hai chuỗi

Để đếm lỗi, trước hết phải căn bản máy chép (giả thuyết) với bản đúng (tham chiếu) sao cho số thao tác sửa ít nhất. Ba thao tác được phép là thay một chữ bằng chữ khác, xoá một chữ thừa, chèn một chữ thiếu. Số thao tác nhỏ nhất để biến chuỗi này thành chuỗi kia chính là khoảng cách Levenshtein tính theo đơn vị chữ. Phần mềm tính WER dùng quy hoạch động để tìm cách căn tối ưu, nhưng với câu ngắn có thể làm bằng tay.

Quy ước gọi tên dễ gây rối, nên nhớ theo góc nhìn bản đúng: chữ có trong bản đúng mà máy bỏ sót là lỗi xoá (D); chữ máy thêm vào mà bản đúng không có là lỗi chèn (I); chữ ở cùng vị trí nhưng khác nhau là lỗi thay (S). Mẫu số N luôn là số chữ của bản đúng, không phải của bản máy.

Vì lỗi chèn không bị giới hạn, một công cụ “ảo giác” ra cả đoạn dài khi gặp tiếng nhạc nền hay im lặng có thể cho WER trên 100%. Đây không phải lỗi tính toán, mà là tín hiệu rằng công cụ có vấn đề nghiêm trọng với đoạn âm thanh đó.

Tính tay một ví dụ tiếng Việt

Ví dụ giả định dưới đây dùng một câu ngắn để thấy từng bước. Bản đúng: “chiều nay anh Hùng gửi báo cáo tuần cho phòng kế toán” (12 âm tiết). Bản máy chép: “chiều nay anh hùng gửi bảo cáo cho phòng kế toán nhé”.

  1. Chuẩn hoá cả hai bản theo cùng một quy tắc. Ở đây chọn: chuyển hết thành chữ thường, bỏ dấu câu. “Hùng” và “hùng” khi đó trùng nhau.
  2. Căn từng âm tiết: “chiều”, “nay”, “anh”, “hùng”, “gửi” khớp. “báo” và “bảo” khác dấu, tính một lỗi thay.
  3. “cáo” khớp. Bản đúng có “tuần” mà bản máy không có, tính một lỗi xoá.
  4. “cho”, “phòng”, “kế”, “toán” khớp. Bản máy có thêm “nhé” ở cuối, tính một lỗi chèn.
  5. Cộng lại: S = 1, D = 1, I = 1, N = 12. WER = 3 / 12 = 25%.
  6. Nếu không chuẩn hoá chữ hoa, “Hùng” và “hùng” sẽ thành thêm một lỗi thay, WER tăng lên 4 / 12, khoảng 33%, dù nội dung nghe không khác gì.

Ví dụ cho thấy hai điều. Thứ nhất, một lỗi dấu như “báo” thành “bảo” được tính nặng ngang lỗi sai hẳn chữ, dù với người đọc nó nhẹ hơn nhiều. Thứ hai, quy tắc chuẩn hoá có thể đẩy con số lên xuống cả chục điểm phần trăm trên câu ngắn. Vì thế mọi con số WER chỉ có nghĩa khi đi kèm quy tắc chuẩn hoá.

Chuẩn hoá trước khi so: chỗ con số WER bị “làm đẹp” hoặc “làm xấu”

Hoa thường và dấu câu. Phần lớn đánh giá học thuật bỏ dấu câu và chuyển về chữ thường để đo riêng khả năng nghe. Đánh giá cho sản phẩm thực tế (biên bản, phụ đề) có khi cần tính cả, vì người dùng phải sửa tay. Hai cách cho hai con số khác nhau, cả hai đều hợp lệ nếu nói rõ.

Số, ngày giờ, đơn vị. Người nói “hai mươi lăm phần trăm”, máy chép “25%”, bản đúng viết “hai mươi lăm phần trăm”: không chuẩn hoá thì máy bị trừ bốn lỗi dù đúng hoàn toàn. Cần quy về một dạng, hoặc chữ hoặc số, trước khi so.

Dạng Unicode của chữ có dấu. Chữ “ế” có thể được lưu ở dạng dựng sẵn (một ký tự) hoặc tổ hợp (chữ e cộng dấu mũ cộng dấu sắc). Mắt người thấy giống hệt, nhưng máy so chuỗi coi là khác. Luôn đưa cả hai bản về cùng một dạng chuẩn Unicode, thường là NFC, trước khi tính.

Vị trí dấu thanh. “hoà” và “hòa”, “thuỷ” và “thủy” đều được chấp nhận trong thực tế. Nếu bản đúng và bản máy theo hai kiểu khác nhau, cần quy đổi về một kiểu, nếu không mỗi chữ như vậy thành một lỗi oan.

Từ đệm và tiếng ậm ừ. “À”, “ờ”, “ừm”, “kiểu như là” có được ghi trong bản đúng không? Quy ước phải thống nhất giữa người gán nhãn và cách chấm, nếu không công cụ chép trung thực bị trừ điểm hoặc công cụ lược bớt được cộng điểm oan.

WER, CER và các chỉ số đi kèm

WER không phải chỉ số duy nhất. Tuỳ việc, nên đọc thêm các chỉ số khác.

Chỉ sốĐo gìKhi nào hữu ích
WER (theo âm tiết)Tỷ lệ chữ sai trên số chữ bản đúngSo sánh chung, báo cáo tổng
CER (tỷ lệ lỗi ký tự)Như WER nhưng tính trên từng ký tựThấy được lỗi chỉ sai dấu nhẹ hơn lỗi sai cả chữ
WER bỏ dấuWER sau khi xoá hết dấu thanhTách phần lỗi do thanh điệu
Độ chính xác thực thểTên người, số tiền, ngày, mã đúng hay saiBiên bản, tổng đài, nơi vài chữ quan trọng hơn cả câu
Thời gian xử lý so với độ dài âm thanhMáy chạy nhanh hay chậm hơn thời gian thựcChọn giữa chạy trực tiếp và chạy theo tệp

Với tiếng Việt, cặp WER và CER đặt cạnh nhau rất có giá trị: nếu CER thấp mà WER cao, phần lớn lỗi là sai dấu hoặc sai một ký tự trong âm tiết, người đọc vẫn hiểu được; nếu cả hai cùng cao, bản chép khó dùng.

Đọc một con số WER người khác đưa ra

Khi thấy một câu như “độ chính xác 95%” trên trang giới thiệu, hãy nhớ rằng đó thường là 100% trừ WER, đo trên một bộ dữ liệu nào đó, với một quy tắc chuẩn hoá nào đó. Ba câu cần hỏi: đo trên dữ liệu gì (đọc sách trong phòng thu hay hội thoại ồn ngoài đường), giọng vùng nào chiếm bao nhiêu, và chuẩn hoá ra sao. Không có ba thông tin đó thì con số gần như không so được với con số của công cụ khác.

Bộ dữ liệu càng giống dữ liệu huấn luyện thì WER càng thấp. Một mô hình có thể đạt WER rất thấp trên bộ đọc truyện nhưng tăng gấp nhiều lần với cuộc gọi tổng đài. Ngoài ra, nếu bộ thử đã công khai lâu, có khả năng nó đã lọt vào dữ liệu huấn luyện của một số mô hình, khiến con số đẹp hơn thực tế.

Một điểm nữa: WER đo trung bình trên tất cả chữ, nên không phản ánh tầm quan trọng. Biên bản họp sai “không đồng ý” thành “đồng ý” chỉ là một lỗi xoá, WER gần như không đổi, nhưng hậu quả lớn. Vì vậy, đánh giá cho việc thật nên cộng thêm kiểm tra thủ công các chữ quan trọng.

Những sai lầm hay gặp khi tự tính WER

Chuẩn hoá mỗi công cụ một kiểu. Công cụ A trả chữ số, công cụ B trả chữ; nếu chỉ chuẩn hoá bản của A cho khớp bản đúng mà quên B, so sánh trở nên vô nghĩa. Quy tắc chuẩn hoá phải là một hàm áp dụng y hệt cho mọi bản.

Tính trung bình WER của từng câu. Câu hai chữ sai một chữ là 50%, câu năm mươi chữ sai một chữ là 2%; lấy trung bình hai con số đó cho 26%, phóng đại sai lệch của câu ngắn. Cách chuẩn là cộng tổng lỗi của cả bộ rồi chia cho tổng số chữ của cả bộ.

Bản đúng không thật sự đúng. Bản chép tay của người cũng có lỗi, nhất là với đoạn ồn hoặc nói chồng. Nếu bản đúng sai, công cụ chép đúng bị trừ điểm oan. Nên cho hai người chép độc lập một phần bộ thử và so với nhau để biết mức sai của chính bản đúng.

Cắt âm thanh khác nhau cho từng công cụ. Một công cụ nhận cả tệp dài, công cụ kia chỉ nhận đoạn ngắn; cắt ở giữa câu làm mất chữ ở biên. Hãy cắt theo chỗ ngắt tự nhiên và dùng cùng một bộ đoạn cho mọi công cụ.

Bỏ qua đoạn im lặng và nhạc nền. Lỗi chèn khi gặp nhạc hay tiếng ồn là điểm yếu thật của nhiều công cụ. Loại các đoạn đó khỏi bộ thử là giấu mất điểm yếu đó.

Lập một bộ thử nhỏ để tự tính WER

Muốn so hai công cụ cho đội mình, không cần bộ dữ liệu khổng lồ. Một bộ thử 30 đến 60 phút, làm cẩn thận, đã nói lên nhiều điều.

  1. Chọn đoạn âm thanh giống việc thật: nếu dùng cho họp thì lấy cuộc họp thật, có đồng ý của người dự; nếu dùng cho tổng đài thì lấy cuộc gọi thật đã được thông báo ghi âm.
  2. Che thông tin cá nhân trong âm thanh hoặc chọn đoạn không chứa số tài khoản, số giấy tờ, địa chỉ nhà.
  3. Nhờ người chép lại thật kỹ làm bản đúng, nghe ít nhất hai lần, thống nhất quy ước về từ đệm, số và dấu câu từ trước.
  4. Viết quy tắc chuẩn hoá thành văn bản và áp dụng giống nhau cho mọi công cụ.
  5. Tính WER, CER và WER bỏ dấu cho từng đoạn, ghi riêng theo người nói hoặc nhóm giọng.
  6. Đọc lại 20 lỗi đầu tiên của mỗi công cụ bằng mắt. Con số cho biết bao nhiêu, đọc lỗi mới cho biết loại gì.

Có nhiều thư viện mã nguồn mở tính WER và CER; người không lập trình có thể dùng bảng tính để căn và đếm với đoạn ngắn. Quan trọng là giữ nguyên bộ thử và quy tắc qua các lần đo, để khi công cụ cập nhật phiên bản, bạn biết nó tốt lên hay kém đi với chính dữ liệu của mình.

Câu hỏi thường gặp

WER bao nhiêu thì dùng được cho biên bản họp?

Không có ngưỡng chung. Biên bản chỉ cần nắm ý thì chấp nhận được nhiều lỗi hơn biên bản pháp lý cần đúng từng chữ. Cách thực tế là đo thời gian người sửa bản chép: nếu sửa mất ít thời gian hơn nhiều so với tự gõ từ đầu thì công cụ đã có ích, còn chữ quan trọng thì vẫn phải soát tay.

Vì sao WER tiếng Việt và tiếng Anh không so trực tiếp được?

Một “từ” trong WER tiếng Anh thường là một từ trọn nghĩa, còn tiếng Việt thường tính theo âm tiết vì chữ viết tách âm tiết. Cùng nội dung, số đơn vị khác nhau, loại lỗi khác nhau (tiếng Việt có lỗi dấu). Ngoài ra dữ liệu thử của hai thứ tiếng thường khác hẳn về độ khó.

Có nên tách từ tiếng Việt trước khi tính WER không?

Có thể tính theo từ đã tách (ghép “học sinh” thành một đơn vị), nhưng kết quả phụ thuộc công cụ tách từ, mà công cụ đó cũng có lỗi. Phần lớn đánh giá nhận dạng giọng nói tiếng Việt dùng âm tiết vì đơn giản, ổn định và ai cũng tái lập được.

Công cụ báo độ tin cậy cho từng chữ có giúp gì cho việc kiểm không?

Có. Nhiều công cụ trả kèm điểm tin cậy cho từng chữ hoặc từng đoạn. Tô màu các chữ có điểm thấp giúp người sửa tập trung đúng chỗ. Tuy vậy điểm tin cậy không hoàn hảo, máy có thể rất tự tin với một chữ sai, nên không thay được việc soát chữ quan trọng.

WER thấp có nghĩa là bản chép dễ đọc không?

Chưa chắc. WER thường tính sau khi bỏ dấu câu và hoa thường, nên một bản có WER thấp vẫn có thể là một khối chữ liền không chấm phẩy, không tách đoạn, rất khó đọc. Độ dễ đọc phụ thuộc thêm bước chấm câu, viết hoa và chia đoạn sau nhận dạng.

Bao nhiêu phút âm thanh là đủ để so hai công cụ?

Với mục đích chọn công cụ cho một đội, vài chục phút âm thanh đa dạng người nói thường đủ để thấy khác biệt rõ. Nếu hai công cụ chỉ chênh nhau rất ít, cần nhiều dữ liệu hơn và nên coi như ngang nhau, rồi chọn theo tiêu chí khác như quyền riêng tư, tốc độ, khả năng chạy trên máy riêng.

Cần tư vấn cụ thể cho trường hợp của bạn?

Chúng tôi sẽ liên hệ trong vòng 24 giờ.

Đăng ký tư vấn ngay

Bài viết liên quan

Bạn cần hỗ trợ thêm?

Để lại thông tin, chúng tôi sẽ liên hệ trong 24 giờ.

hoặc
Gọi ngay 0926 138 138