Muốn máy nhận dạng chữ Việt đúng dấu, việc quan trọng nhất xảy ra trước khi bấm nút OCR: ảnh phải đủ nét để dấu thanh hiện rõ thành những nét riêng, trang phải phẳng và thẳng, ánh sáng đều, không bị nén mất chi tiết. Với tài liệu in cỡ chữ thường, mức quét 300 dpi là điểm khởi đầu phổ biến; chữ nhỏ, chú thích, giấy cũ thì nên lên 400 đến 600 dpi. Khi chụp bằng điện thoại, hãy đặt máy song song mặt giấy, dùng ánh sáng tán xạ, tắt đèn flash và gửi đi tệp gốc thay vì ảnh đã bị ứng dụng nhắn tin nén.
Lý do nằm ở chính chữ viết của chúng ta. Một chữ "ặ" mang hai dấu phụ, trong đó dấu nặng chỉ là một chấm nhỏ dưới chân chữ; giữa dấu hỏi và dấu ngã chỉ khác nhau một nét cong. Ảnh mờ một chút, máy vẫn đọc ra khung chữ "a" nhưng đánh rơi dấu. Bài này đi qua từng khâu chuẩn bị ảnh, những phép xử lý giúp ích và những phép xử lý âm thầm xoá dấu, kèm cách kiểm nhanh trước khi chạy cả lô.
Vì sao dấu tiếng Việt là phần đầu tiên bị mất khi ảnh kém
Chữ quốc ngữ có 12 nguyên âm đơn (a, ă, â, e, ê, i, o, ô, ơ, u, ư, y), mỗi nguyên âm đi được với sáu thanh (ngang, huyền, sắc, hỏi, ngã, nặng). Tính cả chữ hoa và chữ thường, riêng phần nguyên âm đã có 144 dạng ký tự khác nhau, chưa kể đ và Đ. Trong khi đó, phần lớn điều phân biệt các dạng ấy là những nét rất nhỏ: dấu mũ, dấu trăng, cái móc của ơ và ư, và năm dấu thanh. Ở trang in cỡ chữ 12, chiều cao một dấu sắc thường chỉ bằng một phần tư đến một phần ba chiều cao chữ thường.
Nếu chữ thường cao khoảng 20 điểm ảnh trên bản quét, dấu thanh chỉ còn năm, sáu điểm ảnh. Ảnh mờ do rung tay, nhoè do nén, hay nhạt do đèn loá đều có thể làm nét đó hoà vào nền hoặc dính vào thân chữ. Khi đó máy nhận dạng gặp hai khả năng xấu: bỏ dấu, tức "mặt" thành "mat" hoặc "mắt", hoặc đoán sai loại dấu, điển hình là hỏi với ngã, nặng với không dấu. Chữ sai dấu vẫn là chữ hợp lệ trong tiếng Việt nên lỗi kiểu này rất khó phát hiện bằng mắt khi đọc lướt.
Một hệ quả ít người tính trước: lỗi dấu không rải đều mà dồn vào chỗ khó nhất. Chữ nghiêng, chữ đậm, chữ in trên nền màu, số trang và chú thích nhỏ thường lỗi gấp nhiều lần phần thân bài. Vì vậy chuẩn bị ảnh tốt không chỉ nâng tỷ lệ đúng trung bình, mà còn kéo phần đuôi lỗi về mức chấp nhận được.
Độ phân giải: tính theo chiều cao chữ, không theo con số trên máy quét
Con số dpi (số điểm ảnh trên mỗi inch) chỉ có nghĩa khi đặt cạnh cỡ chữ. Cách nghĩ thực dụng hơn là hỏi: trên ảnh, chiều cao một chữ thường như x hay n chiếm bao nhiêu điểm ảnh? Nhiều tài liệu hướng dẫn của các công cụ OCR mã nguồn mở cho rằng chữ cần cao khoảng 20 đến 30 điểm ảnh trở lên thì nhận dạng mới ổn định; với tiếng Việt, nên nhắm phía trên của khoảng này để dấu có đủ chỗ hiện hình.
Ví dụ giả định để quy đổi: một trang A4 rộng 21 cm, tức khoảng 8,27 inch. Quét ở 300 dpi, chiều ngang ảnh sẽ vào khoảng 2.480 điểm ảnh. Với chữ thân bài cỡ 12, như vậy thường đủ. Nhưng nếu tài liệu là bảng biểu chữ cỡ 8, phụ lục, chú thích dưới ảnh hay sách bỏ túi, cùng mức 300 dpi sẽ cho chữ quá thấp, nên nâng lên 400 hoặc 600 dpi. Ngược lại, quét quá cao như 1.200 dpi cho văn bản thường chỉ làm tệp nặng, chậm, có khi khuếch đại cả hạt giấy và vết bẩn thành nhiễu.
Khi chụp bằng điện thoại, không có thông số dpi trực tiếp, nhưng có thể ước lượng ngược: nếu khung hình bao vừa trang A4 và ảnh rộng khoảng 3.000 điểm ảnh trở lên, mật độ tương đương đã vượt 300 dpi. Điều cần tránh là chụp cả bàn làm việc rồi cắt lấy trang giấy nhỏ ở giữa, vì phần lớn điểm ảnh đã bị lãng phí cho mặt bàn. Hãy đưa máy lại gần để trang giấy lấp gần kín khung, rồi kiểm tra độ nét bằng cách phóng to vào một chữ có dấu nặng.
Chụp tài liệu bằng điện thoại cho OCR: chín bước làm đúng ngay lần đầu
Phần lớn tài liệu gia đình và văn phòng nhỏ được số hoá bằng điện thoại chứ không phải máy quét. Những bước sau tốn thêm chừng một phút mỗi trang nhưng tiết kiệm rất nhiều thời gian sửa lỗi về sau.
- Lau ống kính. Dấu vân tay trên ống kính tạo quầng mờ khắp ảnh, làm dấu thanh nhoè trước tiên.
- Chọn chỗ sáng tán xạ. Gần cửa sổ có rèm hoặc dưới đèn trần trắng; tránh nắng chiếu thẳng và tránh bật flash vì vệt loá sẽ xoá trắng cả dòng chữ trên giấy bóng.
- Đặt giấy trên nền tối, phẳng. Nền tương phản giúp phần mềm tìm mép trang chính xác hơn; giấy cong thì dùng tấm kính mỏng hoặc vật nặng chặn mép ngoài vùng chữ.
- Giữ máy song song mặt giấy. Chụp thẳng từ trên xuống; góc nghiêng làm dòng chữ phía xa nhỏ lại, dấu ở đó dễ mất hơn dấu ở dòng gần.
- Chạm để lấy nét vào giữa trang. Chờ máy lấy nét xong mới bấm, tránh rung tay; có thể dùng hẹn giờ hai giây.
- Tắt các bộ lọc làm đẹp. Chế độ làm mịn, làm nét quá tay của camera có thể vẽ thêm viền giả quanh chữ.
- Lưu ở chất lượng cao nhất. Nếu ứng dụng cho chọn, giữ định dạng ít nén; ghi chú lại tên tài liệu và số trang ngay khi chụp.
- Chuyển tệp gốc, không gửi qua tin nhắn. Nhiều ứng dụng nhắn tin tự thu nhỏ và nén ảnh; nếu buộc phải dùng, chọn chế độ gửi dưới dạng tệp.
- Che thông tin nhạy cảm nếu sẽ dùng dịch vụ trực tuyến. Giấy tờ có số căn cước, địa chỉ, số tài khoản nên được che hoặc xử lý trên máy của mình trước khi tải lên.
Với tài liệu dày như sổ sách đóng gáy, đừng ép trang phẳng tới mức làm gãy gáy. Chấp nhận trang hơi cong và để phần mềm làm phẳng ở bước sau, hoặc chụp từng nửa trang để mỗi ảnh gần như phẳng.
Các phép xử lý ảnh trước OCR: tác dụng và lúc gây hại
Phần mềm OCR thường tự làm một số bước dưới đây, nhưng biết chúng giúp bạn chọn cài đặt hợp lý và hiểu vì sao có trang ra kết quả tệ bất thường.
| Phép xử lý | Làm gì | Khi nào có lợi | Khi nào gây hại cho chữ Việt |
|---|---|---|---|
| Chuyển ảnh xám | Bỏ thông tin màu, giữ độ sáng | Gần như mọi tài liệu chữ đen trên giấy | Khi chữ hoặc dấu in màu nhạt trên nền màu gần giống |
| Nhị phân hoá (đen trắng) | Mỗi điểm ảnh thành đen hoặc trắng | Giấy sạch, chữ đậm | Ngưỡng cao quá xoá dấu mảnh; ngưỡng thấp quá làm dấu dính vào thân chữ |
| Ngưỡng thích nghi | Chọn ngưỡng riêng cho từng vùng nhỏ | Ảnh chụp ánh sáng không đều, giấy ố loang | Vùng trống lớn có thể sinh chấm nhiễu giả giống dấu nặng |
| Khử nghiêng | Xoay để dòng chữ nằm ngang | Trang quét lệch vài độ | Ít khi gây hại; chỉ sai khi trang có chữ xoay dọc hoặc nhiều hướng |
| Làm phẳng trang cong | Nắn dòng chữ cong gần gáy sách | Sách dày chụp mở | Nắn sai làm kéo giãn chữ, dấu lệch khỏi đúng âm tiết |
| Khử nhiễu | Xoá chấm lẻ, hạt giấy | Bản photo nhiều đời, giấy lốm đốm | Bộ lọc mạnh coi dấu nặng, dấu chấm là nhiễu và xoá luôn |
| Khử hậu trang | Giảm chữ thấm từ mặt sau | Giấy mỏng in hai mặt | Giảm quá tay làm nhạt cả nét chữ mặt trước |
Nguyên tắc chung: mọi phép biến đổi phá huỷ thông tin chỉ nên làm trên bản sao, và nên thử trên vài trang mẫu trước khi áp cho cả lô. Nếu phần mềm cho phép, nên cho nó nhận ảnh xám thay vì ảnh đen trắng bạn tự làm, vì nhiều bộ nhận dạng hiện đại tự xử lý ảnh xám tốt hơn ảnh đã bị cắt ngưỡng thô.
Những thói quen âm thầm xoá dấu: nén, thu nhỏ và làm nét quá tay
Nén JPEG là thủ phạm phổ biến nhất. Thuật toán nén chia ảnh thành các ô nhỏ và làm mờ chi tiết bên trong mỗi ô; ở mức nén cao, quanh chữ xuất hiện những vệt lăn tăn, còn dấu thanh nhỏ bị nuốt vào vệt đó. Một tài liệu đã đi qua hai, ba lần nén, chẳng hạn chụp ảnh, gửi qua tin nhắn, tải xuống rồi gửi tiếp, có thể mất phần lớn dấu nặng và dấu hỏi dù nhìn ở cỡ màn hình điện thoại vẫn thấy đọc được.
Thu nhỏ ảnh để "cho nhẹ" cũng nguy hiểm tương tự. Giảm ảnh từ 3.000 xuống 1.000 điểm ảnh chiều ngang nghĩa là chữ thường từ 30 điểm ảnh chỉ còn 10, và dấu thanh chỉ còn hai, ba điểm ảnh. Nhiều người làm việc này vô tình khi xuất PDF ở chế độ "dung lượng nhỏ" hoặc khi chụp màn hình một tài liệu đang xem thu nhỏ.
Ngược lại, làm nét quá tay tạo viền sáng quanh nét chữ, khiến máy thấy những đường không có thật. Bộ lọc khử nhiễu dạng hình thái học, vốn mở hoặc đóng các vùng nhỏ, có thể xoá dấu chấm của dấu nặng hoặc lấp khoảng hở của chữ "ư" thành chữ "u". Cách an toàn là giữ một bản gốc không xử lý, mọi thử nghiệm làm trên bản sao, và so kết quả OCR của bản gốc với bản đã xử lý trên cùng vài trang để biết phép xử lý có thực sự giúp ích hay không.
Lưu tệp và đặt tên: giữ bản gốc để còn đường làm lại
Công cụ OCR sẽ còn tốt lên theo thời gian. Tài liệu bạn chụp hôm nay có thể được nhận dạng lại sau vài năm bằng một công cụ chính xác hơn, nhưng chỉ khi ảnh gốc còn đủ chất lượng. Vì vậy hãy tách ba lớp: ảnh gốc lưu ở định dạng ít mất mát như TIFF hoặc PNG (hoặc JPEG chất lượng cao nếu dung lượng là vấn đề), ảnh đã xử lý dùng cho nhận dạng, và kết quả chữ cùng bản PDF có lớp chữ để tra cứu.
Tên tệp nên mang thông tin tự giải thích được, theo một quy ước thống nhất từ đầu: mã tài liệu, số trang có đủ chữ số không ở đầu để sắp xếp đúng, và ngày chụp. Ví dụ giả định: "giapha-hoNguyen_p0012_2026-10-30.tif". Tránh dấu tiếng Việt và khoảng trắng trong tên tệp, vì một số hệ điều hành và phần mềm sao lưu lưu tên có dấu theo hai cách mã hoá khác nhau, khiến cùng một tệp có thể bị coi là hai tệp hoặc mất khi chuyển máy.
Nếu tài liệu chứa thông tin cá nhân của người khác, như sổ khám bệnh, hồ sơ học sinh, giấy tờ đất đai, hãy quyết định trước nơi lưu, ai được mở và khi nào xoá. Đọc chữ bằng dịch vụ trực tuyến tiện hơn, nhưng nghĩa là gửi nội dung giấy tờ ra ngoài; với giấy tờ nhạy cảm, công cụ chạy ngay trên máy là lựa chọn thận trọng hơn.
Kiểm nhanh trước khi chạy cả lô
Trước khi số hoá vài trăm trang, hãy chọn năm đến mười trang đại diện: một trang thân bài bình thường, một trang có bảng, một trang chữ nhỏ, một trang giấy xấu nhất và một trang có chữ nghiêng hoặc đậm. Chạy nhận dạng, rồi so kết quả với bản giấy bằng cách đọc chậm từng dòng ở hai, ba đoạn ngẫu nhiên. Đếm riêng lỗi dấu và lỗi khung chữ: nếu lỗi dấu chiếm phần lớn, vấn đề gần như chắc nằm ở độ phân giải hoặc nén.
Một mẹo đơn giản là phóng to ảnh tới mức một chữ chiếm cả màn hình rồi nhìn dấu nặng và dấu hỏi. Nếu bằng mắt bạn đã thấy chúng nhoè, dính hoặc lẫn vào hạt giấy, máy cũng sẽ vấp. Khi đó sửa ở khâu chụp hoặc quét rẻ hơn rất nhiều so với sửa tay hàng nghìn chữ sau này.
Cuối cùng, ghi lại những gì đã làm: thiết bị, độ phân giải, cài đặt xử lý ảnh, công cụ và phiên bản OCR. Thông tin này giúp người làm tiếp hiểu vì sao lô đầu khác lô sau, và cho phép làm lại đúng cách khi phát hiện vấn đề. Trong số hoá, quy trình được ghi chép cẩn thận có giá trị không kém bản thân các tệp ảnh.
Câu hỏi thường gặp
Quét 300 dpi hay 600 dpi thì tốt hơn cho OCR tiếng Việt?
Với văn bản in cỡ chữ thường, 300 dpi thường đủ và tệp nhẹ hơn nhiều. Nên lên 400 đến 600 dpi khi chữ nhỏ dưới cỡ 9, khi tài liệu cũ mực nhạt, hoặc khi có chú thích, bảng biểu chữ li ti. Cách quyết định chắc nhất là thử một trang ở hai mức rồi so số lỗi dấu, thay vì chọn theo cảm giác.
Chụp bằng điện thoại có thay được máy quét không?
Với tài liệu ít trang và điều kiện ánh sáng tốt, điện thoại đời gần đây cho kết quả nhận dạng gần với máy quét phẳng. Điểm yếu của điện thoại là ánh sáng không đều, trang cong và góc nghiêng. Với khối lượng lớn hoặc tài liệu cần lưu trữ lâu dài, máy quét hoặc giá chụp cố định vẫn ổn định hơn.
Có nên tự chuyển ảnh sang đen trắng trước khi đưa vào phần mềm OCR?
Thường là không cần. Nhiều bộ nhận dạng hiện nay tự xử lý ảnh xám và chọn ngưỡng tốt hơn cách cắt ngưỡng thủ công. Tự chuyển đen trắng với ngưỡng sai dễ xoá dấu mảnh hoặc làm dấu dính vào chữ. Nếu muốn thử, hãy làm trên bản sao và so kết quả với bản xám gốc trên vài trang.
Vì sao ảnh nhìn rõ trên điện thoại mà OCR vẫn mất dấu?
Màn hình điện thoại hiển thị ảnh đã thu nhỏ nên che mất chi tiết. Ảnh có thể đã bị nén khi gửi qua ứng dụng nhắn tin, hoặc bị bộ lọc làm mịn của camera xoá nét nhỏ. Hãy phóng to tới mức một chữ chiếm cả màn hình để xem dấu thanh còn rõ nét riêng hay không, và dùng tệp gốc thay vì ảnh đã qua tin nhắn.
Giấy tờ tuỳ thân có nên đưa lên công cụ OCR trực tuyến không?
Chỉ khi thật cần và bạn hiểu chính sách lưu trữ của dịch vụ đó. Giấy tờ như căn cước, sổ hộ khẩu cũ, sao kê ngân hàng chứa thông tin có thể bị lạm dụng. Lựa chọn thận trọng là che các trường nhạy cảm trước khi tải lên, hoặc dùng công cụ nhận dạng chạy trên máy của mình.
Ánh sáng thế nào là tốt nhất khi chụp tài liệu?
Ánh sáng tán xạ, đều trên toàn trang là tốt nhất: gần cửa sổ có rèm mỏng, hoặc hai đèn đặt chéo hai bên. Tránh nắng chiếu thẳng, đèn bàn rọi một phía và flash, vì chúng tạo vệt loá và bóng đổ của chính bàn tay, điện thoại lên mặt giấy, làm một phần dòng chữ mất tương phản.