Nhận dạng chữ Việt với Tesseract OCR     (English | Vietnamese)

Sau khi cài đặt Tesseract, hạ tải và giải nén Vietnamese language data pack cho Tesseract vào tesseract installation folder; các files vie. sẽ được đặt vào tessdata subdirectory. Để thực thi nhận dạng chữ OCR trên ảnh với Tesseract:

tesseract vietsample.tif output –l vie

Bộ Vietnamese language data được tạo cụ thể cho các font Times New Roman, Arial, Verdana, và Courier New. Do đó, việc nhận dạng sẽ có kết quả cao hơn cho các ảnh có font glyphs tương tự. OCR ảnh có font glyphs trông khác các font hỗ trợ thường thường sẽ đòi hỏi tập huấn Tesseract để tạo một bộ language data khác cụ thể cho những mặt chữ đó.

 

Cập nhật: Thêm language data đã được tạo cho các kiểu font cũ Việt Nam — VNI và TCVN3 (ABC). (Đọc phương cách cài.)

 

Hình TIFF muốn được OCR cần quét ở độ phân giải từ 200 DPI (dot per inch) trở lên tới 400. Quét ảnh với độ phân giải cao hơn nữa chưa hẳn sẽ tăng sự chính xác của kết quả nhận dạng. Hiện tại, mức chính xác có thể lên trên 97% cho Tiếng Việt (ảnh thí nghiệm), và phiên bản tới của Tesseract có thể nâng cao độ nhận dạng hơn nữa. Dầu vậy, độ chính xác thực thụ vẫn còn tùy thuộc rất lớn vào phẩm chất của ảnh quét. Thông số cho quét ảnh tiêu biểu là 300 DPI và 1 bpp (bit per pixel) black&white hoặc 8 bpp grayscale dạng uncompressed TIFF.

 

Trong những trường hợp ảnh không đủ phẩm chất cho OCR, ta có thể dùng các công cụ chỉnh ảnh tiêu chuẩn, như GIMP, ImageMagick, hoặc unpaper, để cải tiến ảnh. Một số công cụ ảnh này thậm chí còn có thể nhận vào PDF files và xuất ra các dạng ảnh phù hợp cho OCR.

 

Có một chương trình GUI frontend cho Tesseract OCR engine mà bạn có thể sử dụng: VietOCR, một ứng dụng open-source Java/.NET, cung cấp hỗ trợ quét văn bản và nhận dạng cho các dạng ảnh PDF, TIFF, JPEG, GIF, PNG, và BMP.

 

Các lỗi nhận dạng có thể phân làm ba loại. Nhiều lỗi thường bị bởi do lẫn lộn chữ hoa và chữ thường (upper and lower) — ví dụ: hOa, nhắC — có thể dễ dàng sửa chữa sử dụng các chương trình Unicode text editor. Lỗi do sự xử lý không chính xác, gây ra các lỗi như thiếu sót dấu, lầm với ký tự có hình dáng tương tự, v.v… — huu – hưu, mang – marg, h0a – hoa, la – 1a, uhìu - nhìn. Đa số các lỗi này cũng có thể dễ dàng sửa chữa dùng các phần mềm duyệt chính tả.

 

Loại lỗi cuối cùng là khó phát hiện nhất bởi chúng liên quan đến ngữ nghĩa, semantics, có nghĩa là những chữ đánh vần đúng (tức là mục từ có trong tự điển), nhưng sai nghĩa trong ngữ cảnh (context) — ví dụ: tinh – tình, vân – vấn. Những lỗi này cần phải có người đọc duyệt lại và sửa theo bản gốc trong hình.

 

Sau đây là hướng dẫn cách sửa chữa 1 cách nhanh chóng và hiệu quả 2 loại lỗi đầu tiên, sử dụng chương trình VietPad (cả phiên bản Java và .NET). Quy trình có thể tóm tắt như sau:

 

  1. Gom dòng. Các hàng chữ (line) cần được gom lại theo từng đoạn (paragraph), bởi khi được OCR, các hàng chữ đứng riêng trong các đoạn 1 hàng (1-line paragraph). Dùng tính năng Nối dòng trong menu Định dạng. Lưu ý rằng tác vụ này có thể không cần cho thi thơ.
  2. Cũng trong menu Định dạng , bấm Đổi ngữ cách và chọn Chữ hoa đầu câu để sửa gần như tất cả các lỗi chữ hoa-thường. Hãy dò tìm và sửa các lỗi hoa-thường còn sót.
  3. Sửa lỗi chính tả bằng tính năng Dò chính tả dưới menu Công cụ.

 

Qua các bước trên, hầu hết các lỗi thông thường sẽ được loại trừ. Những lỗi ngữ nghĩa semantic còn sót lại ít, nhưng đòi hỏi người duyệt đọc dò lại toàn bộ văn bản để được giống y như văn bản gốc quét, và toàn thiện nếu muốn.

 

Mọi thắc mắc, xin đăng trong Diễn Đàn VietUnicode.


back