I. Luận văn thạc sĩ OCR chữ Nôm Hướng đi đột phá cho số hóa
Bài viết này phân tích chuyên sâu nội dung của luận văn thạc sĩ công nghệ thông tin với chủ đề "Nôm Optical Character Recognition using Pseudo-Skeleton Feature". Luận văn đề xuất một phương pháp mới để giải quyết bài toán nhận dạng ký tự quang học (OCR) cho chữ Nôm, một hệ thống chữ viết cổ phức tạp của Việt Nam. Trọng tâm của nghiên cứu là kỹ thuật trích xuất đặc trưng khung xương giả (Pseudo-Skeleton) kết hợp với mô hình Entropy Cực đại (Maximum Entropy Model). Hướng tiếp cận này không chỉ nhằm cải thiện độ chính xác nhận dạng mà còn tối ưu hóa hiệu suất, mở ra tiềm năng ứng dụng trên các thiết bị di động. Việc nghiên cứu thành công Nôm OCR có ý nghĩa to lớn trong việc bảo tồn và số hóa tài liệu cổ, giúp các di sản văn hóa dân tộc tiếp cận dễ dàng hơn với thế hệ trẻ và các nhà nghiên cứu.
1.1. Tổng quan về chữ Nôm và thách thức số hóa tài liệu cổ
Chữ Nôm là một hệ thống chữ viết logographic, dựa trên chữ Hán, được sử dụng để ghi lại ngôn ngữ Việt Nam từ thế kỷ 13. Nhiều tài liệu lịch sử, văn học, luật pháp quan trọng của dân tộc đã được ghi chép bằng chữ Nôm, tiêu biểu như Truyện Kiều của Nguyễn Du. Tuy nhiên, ngày nay chữ Nôm đã được thay thế hoàn toàn bởi chữ Quốc ngữ (dựa trên ký tự Latin). Điều này tạo ra một thách thức lớn trong việc bảo tồn di sản: phần lớn thế hệ hiện tại không thể đọc được các văn bản gốc. Do đó, việc số hóa tài liệu cổ thông qua công nghệ nhận dạng ký tự quang học (OCR) trở nên cấp thiết. Theo luận văn của Lê Hồng Trang (2009), Nôm OCR không chỉ giúp lưu trữ mà còn tạo điều kiện cho việc nghiên cứu, học tập và phổ biến văn hóa truyền thống. Vấn đề đặt ra là chữ Nôm có cấu trúc cực kỳ phức tạp, thường được tạo thành bằng cách ghép hai hoặc nhiều thành phần chữ Hán, khiến việc áp dụng các công cụ OCR cho tiếng Trung hay tiếng Nhật không mang lại hiệu quả cao.
1.2. Mục tiêu nghiên cứu của luận văn tốt nghiệp cntt này
Mục tiêu chính của luận văn tốt nghiệp cntt này là phát triển một hệ thống Nôm OCR hiệu quả, có khả năng chạy trên các thiết bị có tài nguyên hạn chế như điện thoại di động. Để đạt được mục tiêu này, nghiên cứu đề xuất một hướng tiếp cận kết hợp hai kỹ thuật gọn nhẹ: trích xuất đặc trưng Pseudo-Skeleton và mô hình Entropy Cực đại. Luận văn hướng đến giải quyết các nhược điểm của những phương pháp trước đó. Cụ thể, các cách tiếp cận dùng mạng nơ-ron tích chập (Convolutional Neural Network) tuy mạnh mẽ nhưng đòi hỏi nhiều tài nguyên tính toán và bộ nhớ. Trong khi đó, các công cụ mã nguồn mở như Tesseract OCR Engine lại được tối ưu cho chữ Latin, không phù hợp với cấu trúc phức tạp của chữ Hán Nôm. Luận văn này sẽ chứng minh rằng phương pháp đề xuất có thể đạt được độ chính xác nhận dạng cao trong khi vẫn đảm bảo tốc độ xử lý nhanh, là một giải pháp khả thi cho ứng dụng thực tiễn trong việc bảo tồn di sản văn hóa.
II. Thách thức trong nhận dạng chữ Nôm với các phương pháp cũ
Việc áp dụng các công nghệ OCR hiện có vào nhận dạng chữ Nôm gặp phải nhiều rào cản đáng kể. Sự phức tạp trong cấu trúc ký tự là trở ngại lớn nhất. Không giống như chữ Latin, mỗi ký tự Nôm là một khối vuông chứa nhiều nét và thường là sự kết hợp của nhiều thành phần nhỏ hơn. Các phương pháp OCR truyền thống như Tesseract hay các mô hình học máy (machine learning) ban đầu thường gặp khó khăn trong việc phân tích và trích xuất đặc trưng hiệu quả từ những hình ảnh phức tạp này. Hơn nữa, việc xây dựng một cơ sở dữ liệu chữ Nôm đủ lớn và đa dạng cho việc huấn luyện mô hình là một công việc tốn nhiều công sức. Luận văn chỉ ra rằng các phương pháp trước đây hoặc cho độ chính xác thấp, hoặc yêu cầu tài nguyên hệ thống quá lớn, không phù hợp với mục tiêu ứng dụng rộng rãi.
2.1. Hạn chế của Tesseract và mạng nơ ron với chữ Hán Nôm
Luận văn đã thực hiện khảo sát hai hướng tiếp cận phổ biến cho Nôm OCR trước đó: sử dụng Tesseract OCR Engine và mạng nơ-ron. Tesseract, một công cụ mã nguồn mở mạnh mẽ, được tối ưu hóa cho các ngôn ngữ dựa trên ký tự Latin. Do đó, khi áp dụng cho chữ Hán Nôm, hiệu quả của nó không cao. Các thuật toán tiền xử lý ảnh và phân đoạn ký tự của Tesseract không được thiết kế để xử lý các ký tự logographic phức tạp. Mặt khác, phương pháp sử dụng mạng nơ-ron, cụ thể là Multi-Layer Perceptron (MLP), cho kết quả khả quan hơn nhưng lại gặp vấn đề về hiệu năng. Một mạng MLP để nhận dạng hàng nghìn ký tự Nôm đòi hỏi một cấu trúc rất lớn với nhiều nút ở lớp ẩn, dẫn đến yêu cầu bộ nhớ và thời gian huấn luyện đáng kể. Điều này làm cho việc triển khai trên các thiết-bị-cầm-tay (handheld devices) trở nên không thực tế. Những hạn chế này là động lực chính thúc đẩy việc tìm kiếm một phương pháp feature extraction và phân loại nhẹ hơn nhưng vẫn hiệu quả.
2.2. Sự phức tạp của ký tự và vấn đề tài nguyên hệ thống
Một trong những lý do chính khiến các phương pháp OCR cho chữ Hán không thể áp dụng trực tiếp cho chữ Nôm là độ phức tạp cao hơn. Nhiều ký tự Nôm được tạo ra bằng cách thêm các nét hoặc bộ thủ vào một ký tự Hán có sẵn để biểu thị âm đọc hoặc ý nghĩa. Điều này làm cho ký tự trở nên dày đặc và khó phân biệt hơn. Các kỹ thuật xử lý ảnh số (digital image processing) như phân tích cấu trúc (Structure Analysis) hay phân tích biên dạng chiếu (Projection Profiles) vốn hiệu quả với chữ Hán lại gặp khó khăn. Theo luận văn, các phương pháp này khi áp dụng cho Nôm OCR thường cho kết quả không ổn định. Ngoài ra, cả hai hướng tiếp cận dùng Tesseract và mạng nơ-ron đều yêu cầu lưu trữ một cơ sở dữ liệu chữ Nôm tham chiếu lớn, gây tốn kém bộ nhớ. Vấn đề này càng trở nên nghiêm trọng khi mục tiêu là xây dựng một ứng dụng có thể chạy mượt mà trên các thiết bị di động có cấu hình hạn chế.
III. Phương pháp trích xuất đặc trưng Pseudo Skeleton đột phá
Để vượt qua các thách thức đã nêu, luận văn giới thiệu một phương pháp trích xuất đặc trưng (feature extraction) sáng tạo mang tên Pseudo-Skeleton (P-Skeleton), hay khung xương giả. Thay vì sử dụng các thuật toán skeletonization truyền thống, vốn phức tạp và tốn thời gian tính toán, phương pháp P-Skeleton dựa trên một loạt các phép toán logic đơn giản. Kỹ thuật này giúp rút gọn hình ảnh ký tự về dạng khung xương mỏng nhưng vẫn giữ lại được những đặc điểm hình học và cấu trúc quan trọng nhất. Ưu điểm lớn của P-Skeleton là tốc độ xử lý cực nhanh và dễ dàng triển khai trên nhiều nền tảng phần cứng và ngôn ngữ lập trình khác nhau. Đây là yếu tố then chốt giúp mô hình nhận dạng có thể hoạt động hiệu quả trên các thiết bị tài nguyên thấp.
3.1. Từ thuật toán skeletonization đến đặc trưng P Skeleton
Skeletonization (làm mỏng) là một kỹ thuật cơ bản trong xử lý ảnh số, nhằm mục đích giảm một đối tượng trong ảnh nhị phân về dạng đường nét chỉ dày một pixel mà vẫn giữ được các đặc tính topo. Tuy nhiên, các thuật toán skeletonization cổ điển như Medial Axis Transformation hay Thinning Algorithms thường là các quy trình lặp, tiêu tốn nhiều tài nguyên tính toán. Luận văn đề xuất một giải pháp thay thế hiệu quả hơn là Pseudo-Skeleton. Đặc trưng P-Skeleton không nhất thiết phải tạo ra một khung xương hoàn hảo về mặt toán học, mà chỉ cần giữ lại các thông tin cốt lõi đủ để phân loại ký tự. Theo công thức được trình bày trong nghiên cứu, P-Skeleton được tạo ra thông qua các phép toán logic bitwise như SHIFT, AND, và XOR trên ảnh nhị phân của ký tự. Kết quả là một ảnh mỏng, bảo toàn được các điểm cuối (end-point) và điểm giao (junction) của các nét chữ, vốn là những đặc trưng quan trọng nhất.
3.2. Quy trình mã hóa đặc trưng P Skeleton thành chuỗi mã
Sau khi trích xuất đặc trưng P-Skeleton, bước tiếp theo là mã hóa chúng thành một định dạng phù hợp cho mô hình học máy. Quy trình này được thực hiện bằng cách chiếu hình ảnh P-Skeleton lên hai trục ngang và dọc để tạo ra các biểu đồ histogram. Từ các biểu đồ này, một chuỗi mã (code string) được tạo ra. Luận văn mô tả thuật toán mã hóa các giá trị histogram thành một chuỗi ký tự bao gồm ba loại: L (Large), M (Medium), và S (Small), dựa trên các ngưỡng được xác định trước. Ví dụ, một ký tự Nôm sau khi xử lý có thể được biểu diễn bằng hai chuỗi mã như C_v = "LLM" (chiếu dọc) và C_h = "LSLS" (chiếu ngang). Ngoài ra, ba đặc trưng thống kê bổ sung cũng được tính toán để phục vụ cho quá trình tiền lọc (pre-filtering), giúp tăng tốc độ nhận dạng. Cách biểu diễn đặc trưng này vừa nhỏ gọn, vừa giữ được thông tin cấu trúc, là đầu vào lý tưởng cho mô hình nhận dạng ở giai đoạn sau.
IV. Cách áp dụng mô hình Maximum Entropy để phân loại ký tự
Sau khi đã có các đặc trưng P-Skeleton được mã hóa, luận văn sử dụng mô hình Entropy Cực đại (Maximum Entropy Model - MEM) để thực hiện nhiệm vụ phân loại ký tự. MEM là một framework mạnh mẽ trong lĩnh vực học máy, đặc biệt hiệu quả khi cần tích hợp nhiều nguồn thông tin không đồng nhất để ra quyết định. Thay vì đưa ra các giả định chặt chẽ về sự độc lập của các đặc trưng như một số mô hình xác suất khác, MEM tìm kiếm một phân bố xác suất đồng đều nhất có thể trong khi vẫn thỏa mãn các ràng buộc rút ra từ dữ liệu huấn luyện. Sự linh hoạt này làm cho MEM trở thành lựa chọn lý tưởng cho bài toán Nôm OCR, nơi các đặc trưng từ chuỗi mã P-Skeleton có thể phức tạp và phụ thuộc lẫn nhau. Việc triển khai MEM cũng tương đối gọn nhẹ, phù hợp với mục tiêu của nghiên cứu khoa học.
4.1. Nguyên lý của mô hình nhận dạng Maximum Entropy
Mô hình nhận dạng Maximum Entropy hoạt động dựa trên nguyên tắc: khi đối mặt với sự không chắc chắn, hãy chọn mô hình ít đưa ra giả định nhất. Về mặt toán học, điều này tương đương với việc tìm một phân bố xác suất p(y|x) (xác suất của nhãn y khi biết ngữ cảnh x) có entropy lớn nhất, tuân theo một tập các ràng buộc. Các ràng buộc này được định nghĩa thông qua các hàm đặc trưng (feature functions). Mỗi hàm đặc trưng f(x, y) liên kết một thuộc tính quan sát được trong dữ liệu với một nhãn cụ thể. Ràng buộc yêu cầu giá trị kỳ vọng của mỗi hàm đặc trưng theo mô hình phải bằng với giá trị kỳ vọng quan sát được trong dữ liệu huấn luyện. Luận văn của Lê Hồng Trang (2009) đã áp dụng nguyên lý này cho bài toán Nôm OCR, trong đó 'ngữ cảnh' x là chuỗi mã P-Skeleton và 'nhãn' y là mã Unicode của ký tự Nôm tương ứng.
4.2. Xây dựng hàm đặc trưng cho nhận dạng chữ Nôm OCR
Nhiệm vụ cốt lõi khi sử dụng MEM là định nghĩa các hàm đặc trưng. Trong bối cảnh của luận văn này, các hàm đặc trưng được xây dựng dựa trên chuỗi mã P-Skeleton. Một hàm đặc trưng được định nghĩa như sau: f(a, b) = 1 nếu nhãn ký tự là 'a' và ký tự ở vị trí 'i' trong chuỗi mã 'b' là 'c', và bằng 0 trong các trường hợp khác. Ví dụ, một hàm đặc trưng có thể là "ký tự ở vị trí thứ 2 của chuỗi mã dọc là 'L' và nhãn của ký tự là U+54C0". Bằng cách định nghĩa hàng ngàn hàm đặc trưng như vậy cho tất cả các vị trí, các loại mã (L, M, S), và các nhãn ký tự, mô hình MEM có thể học được mối liên hệ phức tạp giữa cấu trúc P-Skeleton và danh tính của ký tự. Quá trình huấn luyện sẽ tìm ra một bộ trọng số cho mỗi hàm đặc trưng để tối đa hóa entropy, từ đó tạo ra một mô hình nhận dạng mạnh mẽ cho nhận dạng chữ Nôm.
V. Kết quả thực nghiệm nhận dạng chữ Nôm với độ chính xác cao
Phần thực nghiệm của luận văn cung cấp những bằng chứng thuyết phục về hiệu quả của phương pháp P-Skeleton kết hợp MEM. Hệ thống được xây dựng và thử nghiệm trên một bộ dữ liệu lớn gồm hàng nghìn ký tự Nôm trích xuất từ cơ sở dữ liệu UniHan. Các thử nghiệm được tiến hành trong nhiều điều kiện khác nhau, bao gồm nhận dạng ký tự gốc, ký tự bị nhiễu (thêm hoặc bớt pixel), và đặc biệt là trên văn bản thực tế từ một phiên bản cổ của Truyện Kiều. Kết quả cho thấy độ chính xác nhận dạng rất cao, đặc biệt khi so sánh với các phương pháp trước đó về cả tốc độ và hiệu quả. Những con số này khẳng định tính khả thi của hướng tiếp cận được đề xuất, không chỉ trong môi trường phòng thí nghiệm mà còn cho các ứng dụng số hóa tài liệu cổ trong thực tiễn.
5.1. Thiết kế hệ thống và xây dựng cơ sở dữ liệu chữ Nôm
Hệ thống được thiết kế gồm hai module chính: module trích xuất đặc trưng P-Skeleton và module mô hình nhận dạng MEM. Dữ liệu huấn luyện và kiểm thử được xây dựng từ cơ sở dữ liệu chữ Nôm UniHan, chứa thông tin về 8488 ký tự Nôm phổ biến. Một ứng dụng được phát triển để tự động chuyển đổi các ký tự từ mã Unicode thành ảnh bitmap ở nhiều phông chữ khác nhau (thường, đậm, nghiêng). Trong giai đoạn huấn luyện, các ảnh này được đưa qua module trích xuất đặc trưng để tạo ra các chuỗi mã, sau đó được dùng để huấn luyện mô hình MEM. Mô hình đã huấn luyện được lưu lại làm cơ sở dữ liệu tham chiếu. Trong giai đoạn nhận dạng, một ảnh ký tự đầu vào cũng trải qua quá trình tương tự để tạo chuỗi mã, rồi được đưa vào mô hình MEM để phân loại. Luận văn sử dụng thư viện SharpEntropy, một port của OpenNLP Maxent, để triển khai MEM.
5.2. Đánh giá độ chính xác nhận dạng trên Truyện Kiều
Các kết quả thực nghiệm rất ấn tượng. Với 2000 ký tự Nôm gốc (không nhiễu), hệ thống đạt độ chính xác nhận dạng 100%. Khi thử nghiệm với 2000 ký tự bị nhiễu (thêm/xóa các điểm ảnh đen), độ chính xác vẫn đạt mức cao là 86%. Đặc biệt, thử nghiệm trên văn bản Truyện Kiều (bản năm 1866) cho thấy tiềm năng ứng dụng thực tế. Khi hình ảnh từ Truyện Kiều được đưa vào huấn luyện, hệ thống có thể nhận dạng 200 dòng đầu tiên với độ chính xác gần như tuyệt đối (100%). Luận văn cũng so sánh tốc độ xử lý với phương pháp mạng nơ-ron: để nhận dạng 100 ký tự, phương pháp P-Skeleton và MEM chỉ mất 10 giây, trong khi phương pháp mạng nơ-ron mất 18 giây. Tốc độ vượt trội này chứng tỏ ưu thế của phương pháp đề xuất cho các ứng dụng yêu cầu xử lý nhanh và trên các thiết bị tài nguyên hạn chế. Đây là một kết quả quan trọng của nghiên cứu khoa học này.
VI. Tương lai của Nôm OCR Tiềm năng và hướng phát triển mới
Luận văn thạc sĩ về "Nôm Optical Character Recognition using Pseudo-Skeleton Feature" đã mở ra một hướng đi đầy hứa hẹn cho lĩnh vực số hóa tài liệu cổ tại Việt Nam. Bằng cách kết hợp một phương pháp trích xuất đặc trưng hiệu quả và một mô hình phân loại gọn nhẹ, nghiên cứu đã chứng minh có thể xây dựng một hệ thống Nôm OCR vừa chính xác vừa nhanh chóng. Kết quả này không chỉ có giá trị học thuật mà còn mang ý nghĩa thực tiễn to lớn. Tuy nhiên, vẫn còn những thách thức cần giải quyết và nhiều hướng phát triển tiềm năng trong tương lai. Việc cải tiến các thuật toán tiền xử lý ảnh và nghiên cứu các đặc trưng cấu trúc sâu hơn có thể giúp hệ thống trở nên mạnh mẽ và linh hoạt hơn nữa, đáp ứng yêu cầu ngày càng cao của công cuộc bảo tồn di sản số.
6.1. Tổng kết thành tựu và ưu điểm của phương pháp P Skeleton
Thành tựu chính của luận văn là đã đề xuất và kiểm chứng thành công một phương pháp Nôm OCR hoàn chỉnh dựa trên đặc trưng P-Skeleton và mô hình MEM. Ưu điểm nổi bật của phương pháp này là sự đơn giản và tốc độ. Việc trích xuất đặc trưng chỉ dựa trên các phép toán logic cơ bản giúp giảm đáng kể thời gian xử lý so với các thuật toán skeletonization truyền thống. Mô hình MEM cũng cho thấy sự phù hợp khi mang lại độ chính xác cao mà không đòi hỏi tài nguyên tính toán khổng lồ như các mô hình học sâu (deep learning) phức tạp. Hệ thống có khả năng nhận dạng tốt các ký tự ở nhiều phông chữ khác nhau và có khả năng chống nhiễu ở mức độ nhất định. Quan trọng nhất, luận văn đã chứng minh tính khả thi của việc xây dựng một công cụ Nôm OCR hiệu quả có thể chạy trên các thiết bị di động, mở ra khả năng ứng dụng rộng rãi trong thực tế.
6.2. Các thách thức và đề xuất cho nghiên cứu khoa học tương lai
Mặc dù đạt được nhiều thành công, phương pháp này vẫn còn một số hạn chế. Luận văn chỉ ra rằng hệ thống gặp khó khăn với các hình ảnh bị nghiêng (slanted/skewed) và các ký tự bị nhiễu nặng. Đây là những vấn đề cần được giải quyết trong giai đoạn tiền xử lý ảnh. Do đó, một hướng phát triển trong tương lai là nghiên cứu và tích hợp các thuật toán chuẩn hóa góc nghiêng và khử nhiễu hiệu quả hơn. Một hướng nghiên cứu khoa học khác là khám phá thêm các đặc trưng cấu trúc của chữ Nôm. Việc kết hợp đặc trưng P-Skeleton với các đặc trưng về bộ thủ, số nét, hay mối quan hệ không gian giữa các thành phần có thể cải thiện hơn nữa hiệu suất và độ chính xác nhận dạng của hệ thống. Cuối cùng, việc mở rộng cơ sở dữ liệu chữ Nôm với nhiều mẫu nhận dạng chữ viết tay cũng là một hướng đi quan trọng để hệ thống có thể xử lý được đa dạng các loại văn bản cổ.