OCR tiếng Việt: vì sao độ chính xác không phải là một con số
Câu hỏi "phần mềm OCR của anh chính xác bao nhiêu phần trăm" nghe hợp lý nhưng không có câu trả lời đúng. Đây là lý do, và cách đánh giá thay thế.
- OCR
- số hóa
- đánh giá
Trong gần như mọi buổi làm việc về số hóa tài liệu, có một câu hỏi luôn xuất hiện: “Phần mềm nhận dạng của anh chính xác bao nhiêu phần trăm?”
Đây là câu hỏi hợp lý. Nhưng câu trả lời trung thực là: không có một con số dùng chung được. Bài này giải thích vì sao, và đề xuất cách đánh giá thay thế.
Cùng một phần mềm, kết quả chênh nhau rất xa
Thử hình dung ba tài liệu khác nhau đưa vào cùng một hệ thống:
Một quyết định in laser, scan 300 DPI, phông chữ chuẩn. Kết quả gần như hoàn hảo. Sai sót nếu có thường chỉ ở vài ký tự đặc biệt.
Một công văn photocopy nhiều lần, chữ hơi mờ, có dấu đóng dấu đè lên chữ. Kết quả giảm rõ rệt. Phần chữ bị dấu đè thường hỏng.
Một hồ sơ lưu trữ từ thập niên trước, giấy ố vàng, có phần điền tay. Phần chữ in vẫn đọc được, phần viết tay thì kết quả không ổn định.
Cùng một phần mềm, ba mức chất lượng khác hẳn nhau. Vậy con số nào là “độ chính xác của phần mềm”? Không con số nào cả — nó là độ chính xác của phần mềm trên loại tài liệu đó.
Vì sao tiếng Việt khó hơn
Tiếng Việt có đặc thù khiến việc nhận dạng khó hơn tiếng Anh đáng kể.
Dấu thanh và dấu phụ nằm chồng tầng. Một chữ có thể mang cả dấu mũ và dấu thanh. Khi bản scan mờ hoặc độ phân giải thấp, các dấu này dễ mất hoặc lẫn vào nhau. Mất dấu làm nghĩa của từ thay đổi hoàn toàn.
Nhiều cặp chữ chỉ khác nhau ở dấu. Nhận nhầm dấu không tạo ra một từ vô nghĩa dễ phát hiện, mà tạo ra một từ khác cũng hợp lệ. Đây là loại lỗi nguy hiểm vì nó không bị bắt bởi bộ kiểm tra chính tả thông thường.
Tài liệu hành chính có nhiều ký hiệu đặc thù. Số ký hiệu văn bản dạng “Số: 123/QĐ-UBND” chứa hỗn hợp chữ, số và dấu gạch chéo mà các mô hình nhận dạng thông dụng không được huấn luyện nhiều.
Cách đánh giá thay thế
Thay vì hỏi một con số, chúng tôi đề nghị cách làm sau.
Một, đưa mẫu thật. Chọn ra khoảng năm mươi đến một trăm trang phản ánh đúng thực tế kho tài liệu của đơn vị — nghĩa là gồm cả tài liệu đẹp lẫn tài liệu xấu, theo đúng tỷ lệ thật. Không nên chỉ đưa mẫu sạch nhất, vì kết quả đo được sẽ không phản ánh thực tế vận hành.
Hai, đo trên tập đó. Nhà cung cấp chạy thử và báo kết quả trên chính tập mẫu này, tách theo từng nhóm chất lượng tài liệu.
Ba, hỏi về cách xử lý khi không chắc. Đây mới là câu hỏi quan trọng nhất và ít người hỏi: khi hệ thống nhận dạng với độ tin cậy thấp, nó làm gì? Có hai khả năng, và chúng khác nhau rất xa.
Câu hỏi quan trọng nhất
Một hệ thống nhận dạng đúng 95% và đánh dấu rõ 5% còn lại là chưa chắc chắn thì dùng được. Cán bộ biết chỗ nào cần kiểm tra lại.
Một hệ thống nhận dạng đúng 97% nhưng trình bày cả 100% như nhau thì nguy hiểm hơn nhiều. Ba phần trăm sai lẫn vào giữa phần đúng, không ai biết chúng ở đâu, và chúng lặng lẽ đi vào kho dữ liệu để rồi được trích dẫn trong một báo cáo nào đó sau này.
Với tài liệu hành chính, khả năng tự nhận biết giới hạn của hệ thống quan trọng không kém độ chính xác thô. Vì vậy chúng tôi thiết kế theo hướng: những trang có độ tin cậy thấp được đánh dấu để cán bộ kiểm tra lại, thay vì âm thầm chấp nhận.
Chuẩn bị tài liệu trước khi số hóa
Vài việc đơn giản cải thiện kết quả đáng kể, và làm trước khi scan thì rẻ hơn nhiều so với sửa sau:
- Scan ở 300 DPI trở lên. Dưới mức đó, dấu tiếng Việt bắt đầu mất.
- Scan đen trắng cho văn bản in thường, nhưng giữ màu với tài liệu có dấu mộc đỏ đè lên chữ.
- Làm phẳng tài liệu bị gấp trước khi scan; nếp gấp tạo bóng và làm hỏng dòng chữ nằm trên đó.
- Tách riêng nhóm tài liệu chất lượng kém để xử lý theo quy trình riêng, thay vì trộn chung.
Kết lại
Nếu một nhà cung cấp đưa cho bạn con số độ chính xác trước khi xem tài liệu của bạn, con số đó không dựa trên gì cả. Cách duy nhất để biết phần mềm có dùng được cho kho tài liệu của đơn vị là chạy thử trên chính kho tài liệu ấy.
Chúng tôi nhận chạy thử trên mẫu tài liệu thật của đơn vị và báo lại kết quả đo được, gồm cả những nhóm tài liệu mà hệ thống xử lý chưa tốt.
