Các bộ OCR tượng hình như tiếng Trung, Nhật đã được nghiên cứu nhiều và đạt được những kết quả khả quan, được ứng dụng rộng rãi trong thực tế cóthể kể đến sản phẩm nguồn mở Tesseract, Ka
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THANH BÌNH NGHIÊN CỨU PHƯƠNG PHÁP NHẬN DẠNG CHỮ HÁN - NÔM DỰA TRÊN GỐC TỪ
Trang 3LỜI CAM ĐOAN
Tên tôi là Nguyễn Thanh Bình, học viên cao học K19, chuyên ngành Kỹ
thuật phần mềm, khoá 2012-2014 Tôi xin cam đoan luận văn thạc sĩ “Nghiên
cứu phương pháp nhận dạng chữ Hán - Nôm dựa trên gốc từ” là công trình
nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong Luận văn là trung thực
và chưa từng được ai công bố trong bất kỳ công trình nào khác
Tất cả những tham khảo từ các nghiên cứu liên quan đều được nêu nguồngốc một cách rõ ràng từ danh mục tài liệu tham khảo của luận văn Trong luậnvăn, không có việc sao chép tài liệu, công trình nghiên cứu của người khác màkhông chỉ rõ về tài liệu tham khảo
Hà Nội, ngày 02 tháng 7 năm 2015
Tác giả
Nguyễn Thanh Bình
Trang 4LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn sâu sắc tới PGS TS Nguyễn Ngọc Bình, đã định
hướng cho tôi nội dung nghiên cứu rất thiết thực, có ý nghĩa lớn về khoa họccũng như văn hóa dân tộc, cũng như những ý tưởng gợi mở trong nghiên cứu và
sự hỗ trợ của thầy trong quá trình tìm và giải thích các công trình nghiên cứu vềchữ tượng hình vốn rất hiếm và được viết bằng tiếng Trung, Nhật Xin cảm ơnthầy hết lòng giúp đỡ, động viên và tạo mọi điều kiện thuận lợi cho tôi trongsuố t quá trình nghiên cứu và hoàn thành
Tôi xin gửi lời cảm ơn thân mến đến nhóm nghiên cứu LES-Nôm, đặc
biệt là NCS Phạm Văn Hưởng đã giúp đỡ tôi nhiều kiến thức và kinh nghiệm
quý báu để tôi hoàn thành luận văn này
Tôi xin gửi lời cảm ơn tới thầy Nguyễn Đình Kế - Nguyên giảng viên trường Đại học Ngoại ngữ - ĐHQGHN, cô Trân Minh Thùy – Giảng viên khoa
ngoại ngữ trường Cao đẳng Hải Dương là những người đã giúp tôi hiểu thêm vềchữ Nôm cũng như giúp tôi trong việc xây dựng bộ dữ liệu gốc từ của chữ Nôm
Tôi xin được gửi lời cảm ơn đến các tác giả, nhóm tác giả của những giáotrình, những công trình khoa học và những bài báo khoa học mà tôi tham khảo
để hoàn thiện luận văn này
Tác giả
Trang 5MỤC LỤC
MỞ ĐẦU 1
1 Tính cấp thiết 1
2 Tình hình nghiên cứu 1
3 Đối tượng và phạm vi nghiên cứu 2
4 Mục đích và nhiệm vụ nghiên cứu 2
5 Những nội dung nghiên cứu 2
6 Kết cấu luận văn 3
Chương 1: TỔNG QUAN VỀ CHỮ NÔM 4
1.1 Giới thiệu về chữ Nôm 4
1.1.1 Lịch sử hình thành và phát triển 4
1.1.2 Cấu trúc chữ Nôm 5
1.3 Tin học hóa và ứng dụng chữ Nôm 7
1.4 Xu hướng phát triển của chữ Nôm 9
1.4.1 Phổ cập đại trà chữ Nôm qua máy tính 9 1.4.2 Phát triển phương pháp luận làm việc mới với chữ Nôm dựa trên CNTT 10
1.4.3 Giải quyết vấn đề số hóa chữ Nôm 10
1.4.4 Cách tiếp cận toàn diện tới nghiên cứu về chữ Nôm và tiếng Việt
11 TỔNG KẾT CHƯƠNG 1 11
Chương 2 NHẬN DẠNG CHỮ NÔM 12
2.1 Nhận dạng ký tự quang học 12
2.2 Bài toán nhận dạng chữ Nôm 14
2.3 Các phương pháp nhận dạng chữ Nôm 15
2.3.1 Nhận dạng sử dụng thư viện Tesseract 15
2.3.2 Phương pháp mạng Nơron 17
Trang 62.3.3 Phương pháp Kmean, SVM 21
2.3.4 Phương pháp nhận dạng dựa trên khoảng cách soạn thảo 23
2.3.5 So sánh, đánh giá các phương pháp 27
TỔNG KẾT CHƯƠNG 2 28
Chương 3 NHẬN DẠNG CHỮ NÔM BẰNG PHƯƠNG PHÁP GỐC TỪ 30
3.1 Mô tả phương pháp 30
3.1.1 Ý tưởng 30
3.1.2 Quy trình và các kỹ thuật sử dụng 30
3.2 Lấy khung xương 32
3.2.1 Lấy khung xương theo phương pháp Hit-or-Miss 32
3.2.2 Hiệu chỉnh khung xương 34
3.3 Nhận dạng gốc từ 36
3.3.1 Tách gốc từ 36
3.3.2 Cơ sở dữ liệu gốc từ 45
3.3.3 Nhận dạng gốc từ 48
3.3 Nhận dạng chữ Nôm dựa trên gốc từ 54
3.3.1 Tập đặc trưng dựa trên gốc từ 54 3.3.2 Nhận dạng dựa trên so khớp gốc từ 55
3.3.3 Nhận dạng dựa trên đặc trưng gốc từ và mô hình Entropy cực đại
58 TỔNG KẾT CHƯƠNG 3 59
Chương 4 THỰC NGHIỆM 60
4.1 Mô hình thực nghiệm 60
4.2 Xây dựng chương trình thực nghiệm 61
4.3 Bộ dữ liệu thực nghiệm 62
4.4 Kết quả thực nghiệm và đánh giá 62
TỔNG KẾT CHƯƠNG 4 64
Trang 7KẾT LUẬN 65
DANH MỤC TÀI LIỆU THAM KHẢO 66
PHỤ LỤC A 68
PHỤ LỤC B 84
PHỤ LỤC C 84
C.1 Chương trình phân tích, nhận dạng và trích xuất đặc trưng gốc từ 84
C.2 Chương trình nhận dạng chữ Nôm theo gốc từ và MEM 85
Trang 8OCR Optical Character
Recognition
Nhận dạng ký tự quanghọc
8
PD Probability Distribution of
Black Pixels
Phân bố xác suất điểm đen
9 PDA Personal Digital Asisstant Thiết bị số cá nhân
10 PDF Portable Document Format Định dạng tài liệu di động
Trang 9DANH MỤC CÁC BẢNG BIỂU
Bảng 2.1 Kết quả nhận dạng bằng phương pháp mạng nơ-ron 20
Bảng 2.2 Kết quả thực nghiệm KSVM với bộ dữ liệu NOM-DB0 22
Bảng 2.3 Mô tả giá trị chuyển đổi giữa hai chữ Nôm 25
Bảng 2.4 Kết quả thực nghiệm theo khoảng cách soạn thảo văn bản 26
Bảng 2.5 So sánh kết quả nhận dạng giữa các phương pháp 28
Bảng 3.1 Cấu tạo gốc từ các ký tự chữ Nôm 30
Bảng 3.2 Ví dụ về các kiểu ký tự trong chữ Nôm 38
Bảng 3.3 Thống kê gốc từ của các chữ Nôm trong Nom-DB0 45
Bảng 3.4 Thông tin gốc từ được tạo ra từ Nom-DB0 46
Bảng 3.5 Ví dụ về thống kê các gốc từ theo vị trí 47
Bảng 3.6 Bảng tra cứu nét và điểm 56
Bảng 4.1 Kết quả thực nghiệm 63
Bảng 4.2 So sánh kết quả nhận dạng giữa các phương pháp 63
Trang 10DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Sơ đồ cấu trúc chữ Nôm của Dương Quảng Hàm 5
Hình 1.2 Sơ đồ cấu trúc chữ Nôm của Đào Duy Anh 6
Hình 1.3 9 kiểu đồ hình kiến trúc chữ Nôm 6
Hình 2.1 Ứng dụng tự động chụp ảnh và dịch trên di động và bút chuyên dụng 12
Hình 2.2 Sơ đồ tổng thể mô hình nhận dạng chữ Nôm đề xuất 14
Hình 2.3 Phạm vi nghiên cứu của luận văn 15
Hình 2.4 Kiến trúc tổng quát của Tesseract 16
Hình 2.5 Kiến trú c maṇ g nơ-ron 17
Hình 2.6.Sơ đồ lấy đăc trưng củ a ảnh chữ Nôm 18
Hình 2.7 Lưu đồ huấn luyện mạng nơ-ron 20
Hình 2.8 Nhận dạng trong KSVM 22
Hình 3.1 Mô hình nhận dạng chữ Nôm dựa trên gốc từ 31
Hình 3.2 Ví dụ khung xương chữ Nôm 32
Hình 3.3 Minh họa phép biến đổi “Hit-or-Miss” 33
Hình 3.4 Khung xương của chữ Nôm 34
Hình 3.5 Ví dụ các nét của khung xương chữ Nôm 35
Hình 3.6 Ví dụ về loại bỏ các nét thừa của khung xương chữ Nôm 35
Hình 3.7 Ví dụ về khung xương loại bỏ nét ngắn sau khi xấp xỉ cạnh 36
Hình 3.8 Quá trình tách gốc từ từ ký tự đơn 37
Hình 3.9 Các loại kiểu ký tự chữ Nôm 38
Hình 3.10 Đặc trưng của ký tự kiểu 10 với thành phần
40 Hình 3.11 Đặc trưng của kiểu ký tự kiểu 8 40
Hình 3.12 Tách thành phần của ký tự dựa vào đường cắt 42
Trang 11Hình 3.13 Đường cắt sau khi xác định khoảng cách theo chiều dọc hoặc chiều
ngang 42
Hình 3.13 Phân cụm nét cho ký tự kiểu trên-dưới và trái-phải 44
Hình 3.14 Ví dụ về kết quả tách gốc từ 45
Hình 3.15 Cấu trúc cơ sở dữ liệu tri thức của gốc từ 48
Hình 3.15 Nhận dạng gốc từ dựa trên mô hình Entropy cực đại 52
Hình 3.16 Biểu diễn đặc trưng của gốc từ trong chữ Nôm 53
Hình 3.17 Ví dụ một số chữ Nôm được nhận dạng 53
Hình 3.18 Kết quả tách gốc từ 54
Hình 3.19 Các gốc từ có cùng số nét và số điểm giao 55
Hình 3.20 Nhận dạng chữ Nôm dựa trên gốc từ 56
Hình 3.21 Kết quả so sánh dựa vào vị trí và đặc điểm của gốc từ 58
Hình 3.22 Đặc trưng gốc từ 59
Hình 3.23 Đặc trưng gốc từ kết hợp với tọa độ điểm ảnh 59
Hình 4.1 Quy trình tiến hành thực nghiệm 60
Hình 4.2 Giao diện chương trình tạo gốc từ và lưu đặc trưng gốc từ 62
Hình 4.3 Giao diện chương trình huấn luyện 62
Hình C.1 Các thành phần chính trong chương trình phân tách, nhận dạng và trích chọn đặc trưng gốc từ 84
Hình C.2 Minh họa mã nguồn hàm tìm gốc từ 85
Hình C.3 Các thành phần chính trong chương trình nhận dạng chữ Nôm theo MEM và các đặc trưng dựa trên gốc từ 85
Hình C.4 Minh họa mã nguồn nhận dạng theo MEM và đặc trưng gốc từ 86
Trang 12Thực trạng ngày nay, số người biết chữ Nôm ngày càng ít càng làm chonhững tri thức chữ Nôm ngày càng mai một Ngược lại chúng ta lại đang sở hữunhững kho tàng tri thức khổng lồ về chữ Nôm về nhiều phương diện như sách,gia phả, ấn phong… và đặc biệt là một hệ thống đồ sộ các bia đá, câu đối trongcác công trình di tích, là chứng cứ sống của lịch sử, là biểu tượng của văn hóa,lịch sử Việt với thế giới Nếu không có một sự hỗ trợ mạnh mẽ của khoa học đểkhai thác kho tri thức Nôm khổng lồ này, chúng ta sẽ ngày càng mù chính chữcủa dân tộc mình, và dần sau sẽ trở nên tan biến Việc xây dựng được Nôm-OCR sẽ tạo điều kiện khai thác số tri thức Nôm khổng lồ, ứng dụng vào trongtìm hiểu các công trình, bia, câu đối cổ bằng các ứng dụng tích hợp trên các thiết
bị di động máy tính, hay nói cách khác chúng ta có thể làm mọi thiết bị biết giảithích chữ Nôm và từ đó góp phần ý nghĩa trong khảo cổ, khám phá văn hóa,khám phá du lịch
2 Tình hình nghiên cứu
Nghiên cứu chữ Nôm đã được nhiều nhóm gần đây quan tâm cả vềphương diện ngôn ngữ học và công nghệ thông tin Một trong những thành tựuđầu tiên là việc hình thành các từ điển chữ Nôm, hình thành các kho chữ Nômđược số hóa, số hóa và giải mã nhiều tài liệu chữ Nôm như truyện Kiều của HánNôm Foundation Tiếp tới, sau những nỗ lực trong thời gian dài, chữ Nôm đãđược xác lập vị trí trong bộ ký tự thế giới Unicode và ISO 10646, trong đó có
5067 ký tự trùng hình với chữ Trung Quốc, 4232 chữ thuần Nôm và hiện đang
đề nghị đưa vào thêm 2200 [4] Kế tiếp bước đi đó, nhiều bộ font Nôm, bộ gõ
Trang 13chữ Nôm đã được xây dựng Và một trong những bước đi tiếp của lộ trình trên
là xây dựng OCR-Nôm, nhưng hiện tại vẫn chưa có kết quả nghiên cứu nào đềcập đến vấn đề trên, có thể do có những khó khăn nhất định và một trong nhữngkhó khăn thường gặp là vấn đề về dữ liệu để nghiên cứu
Các bộ OCR tượng hình như tiếng Trung, Nhật đã được nghiên cứu nhiều
và đạt được những kết quả khả quan, được ứng dụng rộng rãi trong thực tế cóthể kể đến sản phẩm nguồn mở Tesseract, KanjiPad - phần mềm nhận dạng chữviết tay Nhật Bản, Readiris Pro 11 Corporate Edition - phần mềm nhận dạng chữTrung Quốc đạt tới độ chính xác 98%, HWPen - phần mềm nhận dạng chữ viếttay Trung Quốc tích hợp trên iPhone và đặc biệt sản phẩm thương mại ABBY…đạt độ chính xác gần như tuyệt đối với ký tự in các ngôn ngữ
Nói tóm lại, các chủ đề liên quan đến chữ Nôm cũng như OCR đã đượcquan tâm và đạt nhiều thành quả cao, riêng lĩnh vực nghiên cứu kết hợp 2 yếu tốnày vẫn là bài toán mở, cần những nghiên cứu mới
3 Đối tượng và phạm vi nghiên cứu
Chúng tôi tập trung nghiên cứu bài toàn nhận dạng chữ Nôm nhằm xâydựng bộ phần mềm nhận dạng chuyển đổi từ ảnh của một ký tự Nôm về mãUnicode của ký tự đó tiến hành tra cứu nghĩa căn cứ trên từ điển hoặc kết hợpvới các hệ thống khác
Hệ thống OCR bao gồm nhiều thành phần như tiền xử lý, trích chọn đặctrưng, nhận dạng, hậu xử lý Đề tài tập trung nghiên cứu bước trích chọn đặctrưng và nhận dạng theo phương pháp gốc từ với tập dữ liệu là kho mẫu NOM-DB0 chứa 495 chữ Nôm
4 Mục đích và nhiệm vụ nghiên cứu
Đề tài tập trung nghiên cứu bước trích chọn đặc trưng và nhận dạng trong
sơ đồ hệ thống nhận dạng chữ Nôm tổng thể do LES-Nom xây dựng, sử dụngphương pháp tách gốc từ (radical)
5 Những nội dung nghiên cứu
Nghiên cứu cấu trúc chữ Nôm và các thành phần của nó để từ đó đưa raphương pháp tách chữ, lấy khung xương và tách các thành phần gốc từ trongchữ Nôm Từ bộ dữ liệu Nom-DB0 thống kê các gốc từ và tạo cơ sở dữ liệu gốc
từ RaNom-DB0 Đề xuất phương pháp nhận dạng gốc từ bằng mô hình Entropy
Trang 143cực đại Trên cơ sở kết quả phân tích gốc từ đề xuất phương pháp nhận dạng chữ Nôm dựa trên gốc từ.
6 Kết cấu luận văn
Ngoài phần mở đầu, kết luận, phụ lục và danh mục tài liệu tham khảo,luận văn gồm 4 chương Trong chương 1, chúng tôi tìm hiểu tổng quan chữNôm, trong đó tập trung các yếu tố liên quan đến nhận dạng trên cơ sở tách gốc
từ như cấu trúc chữ Nôm, số lượng từ Nôm không có hình trong bộ chữ tượnghình khác Trong chương 2, gồm những nội dung về bài toán nhận dạng chữtượng hình nói chung và bài toán nhận dạng chữ Nôm nói riêng, các phươngpháp nhận dạng chữ Nôm đã được nghiên cứu Trong chương 3, chúng tôi tậptrung tìm hiểu, nghiên cứu phương pháp tách gốc ký tự trong chữ tượng hình để
từ đó áp dụng cho nhận dạng chữ Nôm Để thực hiện đánh giá hiệu quả củaphương pháp nhận dạng chữ Nôm dựa trên gốc từ, trong chương 4, chúng tôi đãtrình bày các bước tiến hành xây dựng thực nghiệm và đánh giá
Trang 15Chương 1: TỔNG QUAN VỀ CHỮ NÔM
1.1 Giới thiệu về chữ Nôm
1.1.1 Lịch sử hình thành và phát triển
Trong suốt hàng ngàn năm, kể từ đầu thời Bắc thuộc, chữ Hán được sửdụng ở Việt Nam như một văn tự chính thống Người Hán ngày càng mở rộngquy mô sử dụng chữ Hán ở Giao Châu, lúc đầu trong cơ quan hành chính giữamột số người Hán và người Việt trong tầng lớp thống trị, sau mở rộng ra một sốtrường học Sau thời Sĩ Nhiếp, chữ Hán được khuyến khíc học tập trong mọitầng lớp Nhiều trí thức bình dân đã có thế dùng chữ Hán để ghi chép về địa chí,phong tục, hương ước các vùng Cùng với tình hình này , việc ghi tên người, tênđất địa phương cũng trở thành một nhu cầu Đầu tiên người ta dùng chữ Hán đểghi tên Việt, nhưng giữa cách đọc một âm tiết Hán với một âm tiết Việt lúc ấy
có một khoảng cách nhất định, nên âm Hán chỉ có thể đọc na ná âm Việt Nhưvậy giữa chữ Hán ghi âm Hán với chữ Hán ghi na ná âm Việt đã có sự khácnhau về chất, nó ghi lại hệ thống ngữ âm khác nhau, hai ngôn ngữ khác nhau.Lần đầu tiên, chữ Hán đã được dùng để ghi âm Việt và như vậy là đã xuất hiệnnhững chữ Nôm ban đầu Cùng với sự phát triển của nhu cầu ghi chép nền vănhóa Việt, chữ Nôm cũng ngày càng phát triển và tự hoàn thiện để việc ghi chéptiếng Việt được hữu hiệu hơn
Trải qua thời gian phát triển theo lịch sử khi kết thúc thời kỳ chịu ách đô
hộ của Trung Quốc vào năm 939 chữ Nôm đã được lựa chọn trở thành chữ quốcngữ như một tất yếu Trong một thời gian dài khoảng 10 thế kỷ hầu hết các tàiliệu trong các lĩnh vực văn học, triết học, sử học, luật pháp, y khoa, tôn giáo vàhành chính được viết bằng chữ Nôm Đặc biệt trong chiều đại nhà Tây Sơn (từnăm 1788 đến 1802) chữ Nôm được sử dụng trong toàn bộ văn kiện hành chính[7]
Từ thế kỷ 15 với Quốc âm thi tập của Nguyễn Trãi, kế đến thế kỷ 16 vớiBạch Vân Am thi tập của Nguyễn Bỉnh Khiêm, chữ Nôm đã chứng tỏ có nhiềukhả năng diễn tả không những tình cảm mà còn tư tưởng của người Việt Chỉtính riêng ở lĩnh vực văn học, chữ Nôm đã có vai trò đặc biệt quan trọng trongviệc tạo nên một nền văn học Việt nam rực rỡ xuyên suốt nhiều thế kỷ Từ chữ
Trang 16Nôm, nền văn học Việt nam sinh ra ba thể loại độc đáo của riêng Việt nam
là Truyện thơ Nôm Lục Bát, Ngâm Khúc (song thất lục bát) và Hát Nói (trong
ca trù) Sự sáng tạo đó đã để lại cho đời sau những di sản thơ Nôm vô giá.
Từ thế kỷ 16 các giáo sỹ truyền giáo từ châu Âu đến Việt Nam để truyềngiáo Để thuận lợi cho việc truyền giáo họ đã sáng tạo ra một loại ngôn ngữ dựatrên chữ Latin nhưng phát âm Việt Đến Thế kỷ 19 khi pháp đô hộ Việt Nam, đểthuận lợi cho việc cai trị, thực dân Pháp đã tuyên truyền khuyến khích sử dụngchữ quốc ngữ, từ đây chữ viết dựa theo chữ Latin mà ngày nay chúng ta gọi làchữ Quốc ngữ dần thay thế chữ Nôm Thực tế là hiện nay, trên thế giới có chưađến 100 người đọc được chữ Nôm Một phần to tát của lịch sử Việt Nam như thếnằm ngoài tầm tay của trên 90 triệu người nói tiếng Việt
1.1.2 Cấu trúc chữ Nôm
Xét về cấu trúc chữ Nôm thì có nhiều cấu trúc do nhiều nhà nghiên cứuchữ Nôm đưa ra Theo [1] có thể kể đến các sơ đồ cấu trúc chữ Nôm như sau:
- Sơ đồ cấu trúc chữ Nôm của Dương Quảng Hàm (1943)
Hình 1.1 Sơ đồ cấu trúc chữ Nôm của Dương Quảng Hàm
- Sơ đồ cấu trúc chữ Nôm của Đào Duy Anh
Trang 17Hình 1.2 Sơ đồ cấu trúc chữ Nôm của Đào Duy Anh
Xét theo kiến trúc chữ, theo [2] qua nghiên cứu chữ Nôm từ thế kỷ 17 đếnđầu thế kỷ 20 nhà nghiên cứu Đặng Đức và Trần Xuân Ngọc Lan nhận thấy có 9kiểu đồ án kiến trúc thường gặp:
Hình 1.3 9 kiểu đồ hình kiến trúc chữ Nôm
Ở đồ hình 1, chữ thuộc đồ hình này chỉ gồm một hình tố âm hoặc mộthình tố nghĩa Chữ thuộc đồ hình 2 gồm hai hình tố âm và nghĩa hợp lại, hình tố
âm ở trên, hình tố nghĩa ở dưới, hoặc ngược lại hình tố âm ở dưới hình tố nghĩa
ở trên Đây gọi là cấu trúc trên dưới Chữ thuộc đồ hình 3 gồm hai hình tố âm vànghĩa hợp thành, hình tố âm viết bên trái hình tố nghĩa hoặc ngược lại Đây gọi
là cấu trúc phải trái Chữ thuộc đồ hình 4 cũng gồm hai hình tố âm và nghĩa
Trang 18Hình tố âm bao bên trái bên trên và bên phải hình tố nghĩa hoặc ngược lại hình
tố nghĩa là hình tố bao Gọi là cấu trúc bao trái bên phải Chữ thuộc đồ hình 5cũng là cấu trúc bao nhưng ngược hướng với đồ hình 4 Hình tố âm bao trái dưới
và phải hình tố nghĩa Kiểu đồ hình này rất ít gặp Chữ thuộc đồ hình 6 cũng làcấu trúc bao gồm hai hình tố âm và nghĩa Hình tố âm bao bên trên, bên trái vàbên dưới hình tố nghĩa hoặc ngược lại hình tố nghĩa là hình tố bao Đây gọi làcấu trúc bao trên trái dưới Chữ thuộc đồ hình 7 gồm hai hình tố âm và nghĩa.Hình tố âm bao bên phải và bên trên hình tố nghĩa hoặc ngược lại hình tố nghĩabao bên phải và bên trên hình tố âm - gọi là kiểu cấu trúc bao phải trên Chữthuộc đồ hình 8 cũng gồm hai hình tố âm và nghĩa Hình tố âm bao bên trái vàbên dưới hình tố nghĩa hoặc ngược lại hình tố nghĩa bao hình tố âm gọi là cấutrúc bao trái dưới Chữ thuộc đồ hình 9 gồm hình tố âm và hình tố nghĩa Hình
tố âm bao bên trái và trên hình tố nghĩa, hoặc ngược lại hình tố nghĩa bao hình
tố âm Đây gọi là cấu trúc bao trái trên
1.3 Tin học hóa và ứng dụng chữ Nôm
Có lẽ đối với không ít người thì chữ Nôm là thứ văn tự của quá khứ, vàngày nay chỉ cần đào tạo một số chuyên gia để tiếp xúc với nó, với các văn bảnHán Nôm do người xưa để lại, là đủ rồi Do đó, việc tin học hoá chữ Nôm phảichăng là cần thiết phải đặt ra? Câu hỏi này trên thực tế đã được nêu ra hơn mườinăm trước đây, và đến nay, đã có được những bước đi ban đầu của nhiều chuyêngia trong lĩnh vực Hán Nôm và lĩnh vực Công nghệ Thông tin theo hướng khẳngđịnh sự cần thiết của Tin học hoá chữ Nôm nhằm đáp ứng một loạt các nhu cầumới trong đời sống xã hội ngày nay
Theo [3] có nhiều khía cạnh trong vấn đề tin học hoá và ứng dụng chữNôm qua công nghệ thông tin Tại đây, tác giả chỉ xin đề cập đến một vài khíacạnh có liên quan mang tính chất nghiên cứu cơ bản thuộc lĩnh vực ngữ văn HánNôm mà thôi
(a) Bước đi đầu tiên trong tiến trình tin học hoá chữ Nôm là phải xác lập
kho chữ Nôm và thực hiện việc mã hoá chúng Từ hơn mười năm qua, các
chuyên gia ở Viện Nghiên cứu Hán Nôm cùng phối hợp với các chuyên gia tinhọc trong và ngoài nước, đã thực hiện công việc này trong chương trình chungcủa Nhóm công tác về chữ biểu ý (IRG - Ideographic Raporteur Group) thuộc tổ
Trang 198chức ISO quốc tế Đến cuối năm 2000, trong bảng tổng hợp kho chữ biểu ý củanhóm IRG đã có mặt 9229 chữ của Việt Nam [3], với mã quốc tế Unicode Khixác lập các danh sách chữ Nôm để cung cấp cho IRG, các chuyên gia Việt Nam
đã tuân theo hai nguyên tắc cơ bản: Một là, tôn trọng thực trạng đa dạng của chữ
Nôm thể hiện qua các văn bản khác nhau, chỉ bước đầu thực hiện chuẩn hoá các
nét bút và hình thể các thành tố của đơn vị chữ mà thôi Hai là, ưu tiên cung cấp
những chữ Nôm "thuần Việt" Trong số những chữ Nôm thuần Việt, cũng cómột số ngẫu nhiên trùng hình với chữ Hán và các hệ văn tự khác trong khu vực.Hiện nay còn có danh sách gồm 2286 chữ nữa (trong đó có cả chữ Nôm Tày)đang được đăng ký để cấp mã quốc tế [3] Trong các tập chữ Nôm kể trên, vẫn
có thể phát hiện một số ít trường hợp có sự lầm lẫn về hình chữ và không ănkhớp giữa hình chữ với ký mã của chữ và cần được tiếp tục điều chỉnh
(b) Công việc tiếp theo là thực hiện việc nghiên cứu mối tương quan giữahình chữ và âm đọc, xác lập tương đối đầy đủ quan hệ đối ứng giữa hai bên.Trên cơ sở đó mới có thể tạo ra các phần mềm chữ Nôm được cài đặt theo khoá
âm đọc (qua chữ Quốc ngữ) Hiện nay Viện Nghiên cứu Hán Nôm cũng đangthực hiện chương trình nghiên cứu đối chiếu này
(c) Để có thể vẽ phông chữ Nôm, cần xúc tiến việc nghiên cứu cấu trúcchữ Nôm theo các thành tố trực tiếp, đồng thời thực hiện chuẩn hoá các thành tố
đó theo các phong cách viết chữ khác nhau Từ đó xác lập sự tương đồng vàtương dị giữa các thành tố về hình thể, về vị trí trong thể thức ô vuông của chữNôm Nhóm Nôm Na thuộc Hội Bảo tồn Chữ Nôm (Hoa Kỳ) và một số nhómkhác ở Huế, Tp Hồ Chí Minh đã và đang thực hiện những chương trình nghiêncứu này và thu được những kết quả khả quan
(d) Một trong những hướng ứng dụng các phần mềm chữ Nôm là làm chếbản và in lại các tác phẩm chữ Nôm của người xưa để cung cấp cho độc giảngày nay một loại hình văn bản mới của tác phẩm cũ - văn bản chữ Nôm in ấnđiện tử Giá trị thực sự của một ấn phẩm Nôm hiện đại như vậy trước hết khôngphải là ở khía cạnh kỹ thuật, ở chỗ chữ Nôm in ra có đẹp không, mà ở tư cáchvăn bản học của ấn phẩm đã được xác định như thế nào Đối với những tác
phẩm có nhiều truyền bản, như Truyện Kiều chẳng hạn, thì đây là một vấn đề
khá phức tạp Những vấn đề văn bản học đặt ra ở đây về căn bản cũng như
Trang 209những gì đã nói đến ở điểm (a) trên đây Có thể tìm thấy một số nét tương tự vàkhác biệt nào đó giữa hai chặng đường làm nên các truyền bản Hán Nôm: từ cáctruyền bản chép tay đến các truyền bản khắc in, rồi từ các truyền bản khắc in (và
có thể cả chép tay) đến các văn bản in ấn điện tử theo công nghệ thông tin hiệnđại Trong mọi trường hợp đều không tránh khỏi vấn đề có thực hiện việc chuẩnhoá văn tự trong ấn phẩm mới hay không
1.4 Xu hướng phát triển của chữ Nôm
Theo [4] trên cơ sở những kết quả đã đạt được, chúng ta có thể chỉ ra một
số xu hướng phát triển của chữ Nôm và để định hướng cho các hoạt động nghiêncứu, triển khai trong tương lai
1.4.1 Phổ cập đại trà chữ Nôm qua máy tính
Chữ Nôm từ xưa tới nay không phải là thứ chữ được phổ cập rộng rãi, lí
do chính nằm ở chỗ nó khó học, phải nhớ nhiều, và cần có vốn chữ hán nào đó.Hiện nay, số người biết và có thể dạy được chữ Nôm ngày càng ít đi, nhưng bùlại, công nghệ phát triển đã tạo khả năng có được các phương pháp và công cụ
có thể giúp cho mọi người học được chữ Nôm qua máy tính Và giới trẻ rấtnhanh nhẹn, tháo vát trong việc tiếp thu những tri thức, kĩ năng mới, cũng khôngthấy khó khăn gì khi cần học chữ Nôm trên máy tính Do đó song song với quátrình phổ cập tin học, phổ cập máy tính trong cả nước, việc tạo ra khả năng đểcác em nhỏ được tiếp xúc và học hỏi chữ Nôm trên máy tính sẽ tạo điều kiệnlàm cho chữ Nôm sống lại trong tâm trí các thế hệ trẻ Việc đào tạo những thế hệtrẻ biết sử dụng chữ Nôm và CNTT trong thực tế là điều quan trọng và cần thiết
Và việc bảo tồn, duy trì vốn văn hoá chữ Nôm này ngay trong những ngườisống, những người trẻ, chính là cách thức bảo tồn hữu hiệu nhất và không mất điđược
Để thực hiện được tầm nhìn phổ biến đại trà này, ngoài những cố gắng vềmặt công nghệ, những cố gắng phát triển phần mềm khai thác và xử lí chữ Nômtrên máy tính, cần thúc đẩy triển khai các ứng dụng CNTT liên quan tới thư viện
và lĩnh vực bảo tồn di sản chữ Nôm Khi xuất hiện thêm các nhu cầu triển khaiứng dụng cho chữ Nôm trên máy tính và mạng, thì đó sẽ lại là động lực thúc đẩythêm nữa các nhà sản xuất phần mềm đưa ra thị trường các sản phẩm phần mềm
xử lí tốt hơn cho các ứng dụng đặc thù chữ Nôm
Trang 211.4.2 Phát triển phương pháp luận làm việc mới với chữ Nôm dựa trên CNTT
Một nhu cầu lớn hiện nay là cần xác định phương pháp luận nghiên cứumới đối với các vấn đề liên quan tới chữ Nôm Phương pháp luận nghiên cứunày dựa trên việc sử dụng tiến bộ CNTT giúp cho nghiên cứu về chính bản thânchữ Nôm, các văn bản cổ và sự phát triển của tiếng Việt qua các văn tự Với khảnăng của máy tính có thể tích trữ vào trong nó rất nhiều tư liệu, gần như có thểvét cạn cả kho tư liệu sách vở thông thường, người nghiên cứu giờ đây có thể cócon mắt bao quát, xuyên suốt nhiều tư liệu để rút ra các đặc trưng của ngôn ngữ,của cách viết Nếu như các học giả trước đây thường phải tự mình lưu trữ cáckho tư liệu riêng để soạn sách, viết bài, thì ngày nay, với phương pháp làm việcmới, máy tính có thể hỗ trợ trong việc quản lí kho tư liệu chung này Do đó cácphương pháp luận lưu giữ và trích rút thông tin tổng quát từ kho tư liệu số thứchoá trên máy tính sẽ trở thành cực kì có ích cho giới nghiên cứu Nói riêng, vớinhững người ít có khả năng truy nhập trực tiếp vào các kho tư liệu này, thì cóthể cần tới một đội ngũ các kĩ thuật viên giúp cho họ truy nhập và lấy ra thôngtin cần thiết
Dựa trên công nghệ hiện đại, cần xác định ra các qui trình nghiên cứu vàlàm việc mới có liên quan tới chữ Nôm và CNTT để tạo ra nề nếp và thói quennghiên cứu mới Các nghiên cứu này thường bao giờ cũng phải bắt đầu bằngviệc tổng hợp mọi thông tin có được trong kho theo các chủ đề nghiên cứu, đểrồi từ đó người nghiên cứu rút ra các nhận định, các ý kiến riêng của mình.Nhưng thông tin mới về chữ nôm, những phát kiến mới về việc thiết lập tươngứng giữa hình chữ và âm đọc cần được đưa vào máy tín lưu giữ theo những quitrình thống nhất để có thể phục vụ được cho nhiều người khác cùng tham khảo
và nghiên cứu Do đó, việc xây dựng các chuẩn về tư liệu, về biểu diễn văn bảnchữ Nôm trở thành quan trọng và cần thiết
1.4.3 Giải quyết vấn đề số hóa chữ Nôm
Vấn đề tư liệu và văn bản học đối với chữ Nôm từ xưa tới nay đã là vấn
đề khó giải quyết vì chúng ta phải chấp nhận một quá khứ không có khái niệmbản quyền, một quá khứ mà mọi tác phẩm kinh điển đều có sự tham gia nhuậnsắc của nhiều người, kể cả của chính người tổ chức việc in khắc Giải quyết triệt
để vấn đề tư liệu và văn bản học chỉ có thể được thực hiện nếu chúng ta có công
Trang 22cụ lưu giữ tất cả các dị bản và có công cụ trích rút ra những thông tin từ mọi dịbản đó Các nghiên cứu sẽ được chính xác hơn khi mà mọi ý kiến và suy luậnđược xem xét một cách tổng thể trên mọi dị bản chứ không bị phụ thuộc vàomỗi một bản Việc xây dựng kho dữ liệu điện tử về tất cả các tư liệu hiện có, từtận gốc, và hình thành kho tư liệu nghiên cứu chung cho giới Nôm học thực sự
là một nhu cầu cấp thiết và hữu ích Đây sẽ là nền tảng để giới Nôm học đi tớinhững nhận định thống nhất, toàn diện về các vấn đề tranh cãi, không bị buộcphải dựa vào những nhận định bắt nguồn từ một số tư liệu riêng lẻ
Kho dữ liệu điện tử này sẽ có hai tầng: tầng chữ và tầng tác phẩm Kho dữliệu chữ Nôm sẽ chứa tất cả các dạng chữ Nôm đã xuất hiện trong bất kì tài liệunào, và ngoài những thông tin nội tại của nó, còn có các thông tin liên quan tới
sự xuất hiện của chúng trong mọi tài liệu khác Kho dữ liệu các tác phẩm chữNôm lưu giữ tất cả các tác phẩm chữ Nôm hiện có dưới dạng điện tử Nó chophép người nghiên cứu có thể trích đoạn, rút ra các câu chữ cần thiết minh hoạcho nghiên cứu của mình
1.4.4 Cách tiếp cận toàn diện tới nghiên cứu về chữ Nôm và tiếng Việt
Có thể coi chữ Nôm như nơi chôn giấu của nhiều chứng tích cổ của tiếngViệt: những cách nói cổ, những cách diễn đạt ý ngày xưa trong các tác phẩm cổ.Những tác phẩm đó đã được cố định lại trong các hình chữ Nôm đó, gần nhưmột dạng hoá thạch cho các quan niệm, tư tưởng, cách nghĩ, văn hoá của ngườiViệt Nay với công cụ xử lí thông tin hiện đại, với việc bỏ công sức đưa tất cảvốn văn hoá cổ của cha ông vào lưu trữ dưới dạng điện tử, các nhà nghiên cứu
về sau sẽ có khả năng vẽ lại, hình dung lại các thời lịch sử ngày xưa thông quangôn ngữ
Mặt khác, với việc đã mã hoá được hầu hết các âm tiết của tiếng Việt quachữ Nôm, có thể đặt vấn đề nghiên cứu tiếng Việt không chỉ dưới dạng chữ viết
mà còn là dưới dạng mã hoá cho các âm tiết tiếng nói
TỔNG KẾT CHƯƠNG 1
Chương 1 đã sơ lược về lịch sử hình thành và phát triển của chữ Nôm, cấutạo của chữ Nôm cũng như vai trò của chữ Nôm trong lịch sử văn hóa Việt Namxưa và nay, các thành tựu nghiên cứu và xu hướng phát triển của chữ Nôm đặcbiệt là áp dụng CNTT vào lĩnh vực nghiên cứu này
Trang 23Chương 2 NHẬN DẠNG CHỮ NÔM
2.1 Nhận dạng ký tự quang học
Nhận dạng ký tự quang học OCR là loại phần mềm máy tính có chức năngchuyển các hình ảnh của chữ viết tay hoặc chữ đánh máy (thường được quétbằng máy scanner, chụp ảnh) thành các văn bản tài liệu OCR được hình thànhtrên cơ sở các lĩnh vực nghiên cứu về nhận dạng mẫu, trí tuệ nhận tạo
Lịch sử của OCR đã có từ hơn nửa thế kỷ, nó xuất hiện đầu tiên để giảiquyết bài toán đọc mã số trong bưu điện, tiếp đó phát triển để tự động đọc cácđịa chỉ và thông tin trong các mẫu đơn, văn bản OCR ban đầu ứng dụng mạnhtrong các lĩnh vực như bưu điện sau đó đến ngân hàng bằng những máy chuyêndụng Ngày nay, với sự phát triển mạnh mẽ, OCR trở nên phổ biến và là mộtphần mềm thông dụng chạy trên máy tính Desktop OCR không chỉ đơn giảnđọc các số và một số chữ hạn chế, các khả năng của nó dần tiệm cận với thị giáccon người về độ chính xác, sự thông minh và sẽ nhanh hơn nhờ năng lực xử lýtốc độ của của máy vi tính Một xu hướng đã xuất hiện và sẽ phát triển mạnhtrong thời gian tới là đưa OCR lên thiết bị di động, thiết bị đọc và dịch trực tiếp
từ tài liệu [12]
Hình 2.1 Ứng dụng tự động chụp ảnh và dịch trên di động và bút chuyên dụng
Về nguyên tắc hoạt động, hệ thống nhận dạng phải được “học” tức làđược huấn luyện với các mẫu của các ký tự cụ thể Ngày nay, với thành tựutrong nghiên cứu OCR, các hệ thống "thông minh" tích hợp với độ chính xácnhận dạng cao đối với hầu hết các phông đã trở nên phổ biến Một số hệ thốngkhông chỉ có khả năng nhận dạng 1 loại ký tự mà có khả năng phát hiện và nhận
Trang 24dạng nhiều loại ký tự khác nhau, thêm vào đó còn có khả năng tái tạo lại cácđịnh dạng của tài liệu gần giống với bản gốc bao gồm: cấu trúc, hình ảnh, cáccột, bảng biểu, các thành phần không phải là văn bản.
Hiện nay, với chữ Việt, phần mềm nhận dạng chữ Việt in VnDOCR chokết quả nhận dạng với độ chính xác cao Một dự án khác là VietOCR, được pháttriển dựa trên nền tảng mã nguồn mở tesseract-ocr do Google tài trợ VietOCR
có khả năng nhận dạng chữ Việt rất tốt [7] Đây là một chương trình nguồn mởJava/.NET, hỗ trợ nhận dạng cho các dạng ảnh PDF, TIFF, JPEG, GIF, PNG, vàBMP
Bài toán nhận dạng chính xác ký tự Latin đánh máy được xem là vấn đề
đã được giải quyết Tỷ lệ chính xác thực tế đạt tới 99% và tỷ lệ chính xác caohơn nữa cần phải có sự phối hợp của con người để kiểm tra lại lỗi Nhưng việcnhận dạng chữ in bằng tay, chữ thảo bằng tay, và thậm chí những phiên bảnđánh máy được in ra của một số chữ có số lượng lớn và cấu trúc phức tạp (tiếngTrung Quốc, Nhật) vẫn còn là một vấn đề lớn của các nghiên cứu
Trong thời gian gần đây, bài toán nhận dạng ký tự viết tay cũng đã đạtđược những thành công lớn về mặt thương mại Các ứng dụng này phát triểnnhiều trên thiết bị hỗ trợ cá nhân (PDA) như các phần mềm chạy trên Palm OS,tiêu biểu cho lĩnh vực này phải kể đến hãng Apple Newton Lớp ứng dụng nàyyêu cầu những giải thuật có ưu điểm về tốc độ, tài nguyên tính toán và xử lýtrong điều kiện ràng buộc hạn chế ví dụ như hạn chế loại chữ, số chữ hay trongđiều kiện ánh sáng tốt, ít nhiễu… Tất nhiên khi so sánh với nhận diện ký tự inthì nhận dạng chữ viết tay đang có những giới hạn khá xa về độ chính xác Hiệntại, độ chính xác mới chỉ dừng lại ở mức khoảng 90%, những ký tự viết tay rõràng có thể được nhận ra, nhưng độ chính xác vẫn còn hạn chế khiến cho côngnghệ này hiện chỉ hiệu quả trong vài trường hợp nào đó Sự đa dạng của OCRhiện nay được biết đến trong công nghiệp là ICR (Intelligent CharacterRecognition - Nhận dạng ký tự thông minh)
Trang 252.2 Bài toán nhận dạng chữ Nôm
Hình 2.2 Sơ đồ tổng thể mô hình nhận dạng chữ Nôm đề xuất.
Xây dựng phần mềm nhận dạng chữ Nôm (Nôm-OCR) là một yêu cầu tấtyếu như với các ngôn ngữ khác Nôm-OCR sẽ đóng vai trò một động lực mạnhthúc đẩy việc nghiên cứu chữ Nôm, khai phá nguồn tư liệu quý giá của dân tộchàng ngàn năm về chính trị, văn hóa, xã hội… Hệ thống nhận dạng chữ Nôm vềmặt kỹ thuật có thể tham khảo các mô hình kỹ thuật của các OCR khác, đặc biệt
là các OCR chữ tượng hình như tiếng Hán, tiếng Nhật Trên cơ sở nghiên cứucác mô hình về OCR, nhóm nghiên cứu của tác giả đưa ra mô hình tổng thể chobài toán nhận dạng chữ Nôm như Hình 2.2
Trong sơ đồ trên, nguồn tài liệu có thể là ảnh, file PDF… Trong nguồnđầu vào của hệ thống OCR có thể bao gồm nhiều loại thông tin ví dụ hình ảnh,các loại ngôn ngữ khác nhau Do đó, cần được tiến hành thao tác phân tíchtrang, nhận diện phần ký tự Sau khi tách phần ký tự khỏi trang, ta tiến hành cácbước tiền xử lý cần thiết, tách thành các khối, tách các khối thành các dòng, táchdòng thành các ký tự rời rạc Từ các ký tự rời rạc, ta tiến hành trích chọn đặctrưng của ký tự để đưa vào tiến hành nhận dạng Kết quả của bước nhận dạng có
Trang 26Hình 2.3 Phạm vi nghiên cứu của luận văn
2.3 Các phương pháp nhận dạng chữ Nôm
2.3.1 Nhận dạng sử dụng thư viện Tesseract
Theo [5] Tesseract là một chương trình nhận dạng chữ (OCR) mã mở do
HP phát triển, có thể hoạt động trên cả 2 môi trường Linux và Windows Năm
1995 Tesseract là một trong ba bộ nhận dạng chữ có độ chính xác cao nhất tạicuộc thi tổ chức tại Đại học Nevada, Las Vegas Cuối năm 2005, Tesseract đượccông bố dưới dạng bản quyền mã mở (Apache License 2.0) và được Google tiếptục phát triển (http://code.google.com/p/tesseract-ocr/) Hiện nay Tesseract nhậndạng được sáu ngôn ngữ: Anh, Pháp, Ý, Đức, Tây ban nha, Hà lan
Lưu đồ hoat đô
n g củ a Tesseract
Trang 27Nhận dạng từ 2 Nhận dạng từ 1
Tìm ra các dòng văn bản và từ
Bộ phân lớp ký tự tĩnh
2
Ảnh đầu
vào
Đường viền các ký tự
ng bao ký tổ chức các từ
Hình 2.4 Kiến trúc tổng quát của Tesseract.
Trong quá trình huấn luyện, từ một ảnh đầu vào chứa các ký tự hoặc đoạnvăn bản cần để huấn luyện, Tesseract sẽ áp dụng các thuật toán xử lý ảnh đểphân tích ảnh đầu vào thành các dòng, các từ rồi đến các ký tự riêng biệt Sau đóchương trình sẽ trích xuất ra các đặc trưng tương ứng với các ký tự Trong quátrình huấn luyện các đặc trưng cần trích xuất là các phân đoạn xấp xỉ theo đagiác và những đặc trưng này được xem như là các khuôn mẫu của dữ liệu huấnluyện và được lưu vào cấu trúc dữ liệu
Tesseract dùng k láng giềng gần nhất (k-NN) để thực hiện phân lớp đốitượng Với một vector có n đặc trưng: (A1(x), A2(x), …, An (x)) Thì cách tínhkhoảng cách từ đối tượng x tới y được tính như sau:
Tiền xử lý Phân tích thànhphần kết nối Tìm ra các dòng
văn bản và từ Các đườ
tự được thành
Trang 28với một số sửa đổi trong mã nguồn của Tesseract để ứng dụng nhận dạng chữ Nôm với kết quả bước đầu khả quan.
2.3.2 Phương pháp mạng Nơron
Theo [6]
nhân daṇ g chƣ̃ Nôm bằ ng maṇ g nơ -ron truyền thẳ ng , sử
dungthuâṭ toán lan truyền
lớp:1 lớp vào, 1 lớp ẩn, 1 lớp xuất Gọi số nơ-ron của mỗi lớp vào là a, số điểmảnh trung bình của một ảnh là b, số mẫu nhận dạng là m thì ta có công thức(2.2)
Trang 29phần tƣ̉ củ a lớ p tiền đầu vào bằ ng số đăc trưng củ a lớ p.
Trang 30Đầu vào: Mạng truyề n thẳng với n i đầu vào, n h nút ẩn và n o đầu ra (được tính theo công thức ở trên.) Hệ số học η =0,2 Tập dữ liệu huấn luyện D = {tập hợp các đặc trưng của ảnh chữ, các giá đầu ra mong muốn bao gồm cả tên ảnh học}
Đầu ra: Các các trọng số phù hợp của các nơ-ron trong mạng Đây là kết quả
của quá trình huấn luyện Trong quá trình huấn luyện, ban đầu các trọng số sẽđược tạo ra bằng giá trị ngẫu nhiên nằm trong khoảng [0,01; 0,02] và sẽ đượcđiều chỉnh dần theo từng lần lan truyền ngược sai số Sai số này là độ lệch củađầu ra với mục tiêu huấn luyện Độ lệch đó sẽ xuống dốc dần dần về đến giá trịchấp nhận được
Ban đầu, khởi tạo mạng, gán các giá trị tổng lỗi, số ron đầu vào, số ron đầu ra, số nơ-ron lớp ẩn, chuẩn bị dữ liệu đầu vào và gán hệ số học: 0,2 Cócác bước lấy đặc trưng của ảnh, đưa các đặc trưng đó vào ma trận đầu vào từ đóđưa vào lớp vào, bắt đầu quá trình huấn luyện Quá trình huấn luyện được mô tảtrong hình Lấy
nơ-đăc
2.6
trưng củ a ảnh để làm đầu và o cho maṇ g nơ -ron theo Hình
Hình 2.1.Sơ đồ lấy
Đầu vào của giai đoạn lấy đặc trưng là một ảnh chữ nôm, đầu ra là mảng
số thực có 24x24 phần tử có giá trị nằm trong khoảng (0,1) Trong chương trình,
Trang 3119chọn kích thước ảnh là 24x24, do đó có một module chuyển thư mục ảnh thànhthư mục ảnh có kích thước 24x24 Chọn như vậy là để có ít đặc trưng hơn và dễ
xử lý hơn khi có kích thước lớn hơn Công thức để tính cho phần tử mảng đượctính theo công thức đề nghị (2.5)
A[i*24+j]= 1-(corlorij.R x 0.3+ corlorij.G x 0.59+ corlorij.B x 0.11)/255 (2.5)
Trong đó, i=1 24, j= 1 24, Alà phần tử của mảng corlorij là bảng màu của ảnh,
R là ma trận màu đỏ, G là ma trận màu xanh da trời, B là ma trận màu xanh nước biển của ảnh đầu vào ở hàng i, cột j Quá trình tính toán này cứ tiếp tục chođến khi duyệt hết ma trận ảnh đó
Đầu vào của của quá trình này là một mảng số thực 2 chiều X[n] [m],trong đó n là số mẫu học và m là kích thước trung bình của ảnh =24x24 =576.Trong chương trình ta lưu mỗi giá trị này với một khóa (là tên mẫu huấnluyện).Có rất nhiều phương pháp lấy đặc trưng, tuy nhiên trong đề tài này chọncách lấy đặc trưng theo công thức trên Tất cả ảnh đầu vào qua lấy đặc trưng sẽ
là những mảng số thức nằm trong phạm vi nhỏ hơn 1
Nạp thông số mạng là việc kiến thiết kiến trúc mạng, chương trình trong
đề tài này cho phép tạo 1, 2, 3 lớp và số nơ-ron cho mỗi lớp mạng.Có thể chọn
số nơ-ron tùy ý cho mỗi lớp mạng.Khởi tạo mạng nơ-ron là việc khởi tạo trọng
số cho tất cả các nơ-ron trong mạng, ngưỡng lỗi cho phép, hệ số học
Như hình 2.7 mô tả , quá trình huấn luyện mạng nơ-ron
ban đầu củ a maṇ g là những giá tri ̣nhỏ Vớ i thư
dun
g sẽ điều chỉnh laị trong
số củ a các nơ-ron trong maṇ g Quá trình sẽ được lăp
giá trị ngưỡng đặt ra
lại cho đến khi tổng lỗi đạt
Giá trị ngưỡng đặt ra là do kinh nghiệm của người thực hiện với mạng nơ- ron Thông thườ ng ngưỡng này thườ ng nhỏ Tuy nhiên cũng giố ng vớ i các hê ̣ học máy khác , giá trị ngưỡng này rất “mờ ” Hơn nữa , tùy thuộc vào kiến trúc
Trang 3220mạng, giá trị lệch ban đầu có thể rất lớn ,
ngưỡng cũng tù y
thuôc vào kiến trú c maṇ g đó Trong nhiều trườ ng
hơp
có thể
Trang 3320xảy ra liêṭ maṇ g Mạng liệt xảy ra khi các giá trị trọng số của các nơ-ron trongmạng rất lớn, nên tổng giá trị đầu ra của nơ-ron lớp tiếp theo sẽ rất cao (Tronglập trình, khi chọn kiểu giá trị Double sẽ xuất hiện giá trị NaN) Khi đó mạngkhông hoạt động nữa, tất cả các giá trị trọng số sẽ vô cùng lớn.
Bảng 2.3
Hình 2.7 Lưu đồ huấn luyện mạng nơ-ron
Kết quả nhận dạng bằng phương pháp mạng nơ-ron được thể hiện trong
Bảng 2.1 Kết quả nhận dạng bằng phương pháp mạng nơ-ron
TT KIỂU HỌC
SỐ LƯỢNG HỌC
KIỂU NHẬN DẠNG
SỐ LƯỢNG NHẬN DẠNG
Trang 342.3.3 Phương pháp Kmean, SVM
Theo [7] ý tưởng chính của mô hình là kết hợp 2 ý tưởng về nhận dạngtheo 2 giai đoạn và thế mạnh của K-Mean, SVM KSVM (K-Mean và SVM) sẽdùng 2 kỹ thuật ở giai đoạn 1, dùng K-Mean để phân cụm tạm thời, kết quả đósau khi điều chỉnh sẽ dùng làm nhãn để huấn luyện cho OVO (One Versus One).Như vậy, với sự kết hợp này tại giai đoạn thứ nhất, sẽ phát huy tính phân cụm 1cách khách quan của K-Mean và độ chính xác của OVO
Trong giải thuật KSVM, đầu tiên FC (First Class) sẽ phân cụm dữ liệuđầu vào thành các cụm, lớp thứ 2 – SC (Second Class) sẽ tiến hành nhận dạngtrên từng cụm dữ liệu tạo ra trong FC Tại mỗi lớp ta vẫn sử dụng OVO để xâydựng các bộ nhận dạng
Trong mô hình OVO, với n lớp mẫu đầu vào ta cần S =𝑛(𝑛−1)
2 SVM, thìtrong mô hình KSVM ta cần số SVM là:
Trong mô hình KSVM cần giải quyết vấn đề quan trọng là phương phápđánh nhãn để phân cụm trong FC Trong trường hợp này K-Mean được đề xuất
để phân cụm trong FC
Quá trình nhận dạng được thực hiện qua 2 bước: đầu tiên xác định đốitượng thuộc cụm nào bằng bộ nhận dạng OVOF (One Versus One First), sau đóxác định ký tự sử dụng bộ huấn luyện OVOS (One Versus One Second) tương
Trang 35ứng với lớp đó Như ta biết, các bộ nhận dạng đều là mô hình OVO của SVM, không sử dụng K-Mean.
Đặc trưng của các ký tự được đưa vào nhận dạng trong các bước phảitương ứng với đặc trưng đưa vào huấn luyện Trong chương trình thực nghiệmcủa phương pháp này, đặc trưng PD (Probability Distribution of Black Pixels)được sử dụng và tham số về kích thước lưới bắt buộc phải như nhau ở 2 bướchuấn luyện và nhận dạng
Hình 2.8 Nhận dạng trong KSVM Bảng 2.2 Kết quả thực nghiệm KSVM với bộ dữ liệu NOM-DB0
thước ảnh
Kích thước Grid
Thời gian
Độ chính xác (AR)
Sai số lớp (ER)
Số cụm (K) Các tham số SVM: SvmType = Linear, C = 2
Trang 36STT Kích
thước ảnh
Kích thước Grid
Thời gian
Độ chính xác (AR)
Sai số lớp (ER)
Số cụm (K)
Trong Bảng 2.2, một số từ được giải thích như sau :
- Kích thước ảnh (HxW) là kích thước ảnh mẫu chữ Nôm được đưa vào
trích chọn đặc trưng; H là chiều cao ảnh, W là độ rộng của ảnh
- Kích thước Grid (HxW) là kích thước lưới theo thuật toán trọng số vùng;
H là chiều cao lưới, W là độ rộng lưới
- Thời gian là thời gian huấn luyện KSVM với bộ dữ liệu và tham sốtương ứng
- Độ chính xác (AR) là độ chính xác của bộ nhận dạng đánh giá theo tậptesting trình bày ở trên
- Sai số lớp 1 (ER) là sai số của máy phân cụm trong lớp thứ 1 củaKSVM
- Số cụm K là số cụm của lớp thứ nhất trong KSVM
2.3.4 Phương pháp nhận dạng dựa trên khoảng cách soạn thảo
Theo [8] khoảng cách chuỗi soạn thảo (String edit-distance) là phươngpháp dựa trên tính chi phí phải bỏ ra để hiệu chỉnh một chuỗi A cho trước thànhmột chuỗi B cho trước Chuỗi A và Chuỗi B được biểu diễn bởi các phần tử củatập hữu hạn các ký tự cho trước, mỗi ký tự được gán một trọng số nhất định thểhiện giá trị của ký tự đó Cách chuyển đổi dựa trên ba phép toán xóa (delete),chèn (insert) và thay thế (change) Mỗi phép toán này lại được quy định một chi
Trang 37phí nhất định để thực hiện đó, chẳng hạn như phép “xóa” có chi phí bằng giá trịcủa ký tự bị xóa trong chuỗi; phép “chèn” có chi phí bằng giá trị của ký tự đượcchèn thêm vào chuỗi; phép “thay thế” có chi phí bằng tổng giá trị của ký tự bịthay thế và ký tự thay thế.
Áp dụng String edit-distance [10] vào nhận dạng chữ Nôm ta có thể
mô tả như sau:
- Bằng phương pháp lấy đặc trưng dựa trên histogram của khung xương hoặcgiả khung đã trình bày trên, tập chữ Nôm huấn luyện (tập mẫu) sẽ được đưavào để trích chọn đặc trưng Kết quả ta thu được là một tập các đặc trưngđược lưu lại dưới dạng một cơ sở tri thức để phục vụ cho việc nhận dạng.Tập chữ Nôm huấn luyện càng phong phú thì tập dữ liệu huấn luyện đượccàng phong phú, kết quả nhận dạng càng chính xác;
- Khi nhận dạng một chữ Nôm ta cũng rút trích đặc trưng của chữ cần nhậndạng theo phương pháp trên, sau đó chuỗi đặc chưng đó được đem tính toán
để chuyển đổi thành chuỗi đặc trưng trong tập dữ liệu đã huấn luyện Tươngứng với mỗi chuỗi trong tập dữ liệu đã huấn luyện, chuỗi đặc trưng của chữcần nhận dạng sẽ phải tốn một giá trị cụ thể nào đó để có thể chuyển đổi vềcho giống nhau Kết quả được lựa chọn là những chữ Nôm tương ứng vớichuỗi đặc trưng trong tập dữ liệu đã huấn luyện mà chuỗi đặc trưng của chữcần nhận dạng phải tiêu tốn giá trị nhỏ nhất để chuyển đổi cho giống nó;
- Cấu trúc của chuỗi đặc trưng gồm các thành phần: Điểm ảnh tương đối,trọng số dọc, trọng số ngang, mã dọc, mã ngang, mã phân bố nét dọc, mãphân bố nét ngang Trong quá trình nhận dạng thì điểm ảnh tương đối, trọng
số dọc, trong số ngang dùng để phân lớp, có nghĩa là ta chỉ tính giá trịchuyển đổi giữa chuỗi đặc trưng của chữ Nôm cần nhận dạng với nhữngchuỗi đặc trưng trong file tri thức đã huấn luyện mà có điểm ảnh tương đối,trọng số dọc, trong số ngang gần với điểm ảnh tương đối, trọng số dọc, trong
số ngang của chuỗi đặc trưng rút trích được từ chữ Nôm cần nhận dạng.Bằng cách phân lớp này, thay vì phải tính giá chị chuyển đổi cho tất cả cácchuỗi đặc trưng trong file tri thức đã huấn luyện thì chỉ cần tính trên một sốlượng nhỏ các chuỗi, nên giảm được chi phía tính toán (thời gian và tàinguyên thiết bị)
Trang 38Để nhận dạng ta cần xây dựng thuật toán tính khoảng cách hiệu chỉnh trênchuỗi mã ngang, chuỗi mã dọc, mã phân bố nét ngang và mã phân bố nét dọccủa chữ cần nhận dạng với chuỗi mã trong file huấn luyện Với chuỗi mã dọc và
mã ngang như trình bày ở trên, chúng chỉ chứa các ký tự L, M, S, U Do đó tacần gán giá trị cho mỗi ký tự này Ở đây gán L=8; M=4; S=2; U=1 Phép toánchuyển đổi bao gồm phép thay thế, phép chèn, phép xóa Mỗi phép toán cần mộtchi phí nhất định Phép chèn một chữ có chi phí bằng giá trị của chữ cần chèn;Phép xóa một chữ có chi phí bằng giá trị của chữ cần xóa; phép thay thế một chữbằng một chữ khác có chi phí bằng tổng giá trị của chữ thay thế và chữ bị thaythế
Ví dụ: Để chuyển chuối mã MLLU LLMU thành chuỗi LU LLU cần chiphí chuyển đổi là 16 vì ta cần xóa bớt các chữ “M”, “L”, “M”
Ví dụ trong bảng dưới đây, chữ (2_0_NomNaTong_0_1) sau khi tínhgiá trị chuyển đổi sẽ cho kết quả là chữ (2_0_HanNomB_0_1) vì giá trịchuyển đổi của nó là nhỏ nhất (bằng 8)
chữ vào
tập mẫu
Giá chuyển đổi
Tương tự vậy mã phân bố nét ngang và mã phân bố nét dọc được biểudiễn bởi các số từ 0 đến 9, tương ứng với nó 0 có giá trị là 1; 1 có giá trị là 2; 2
có giá trị là 3… 9 có giá trị là 10 Các phép toán chuyển đổi cũng bao gồm phépthay thế, phép chèn, phép xóa Phép chèn một số có chi phí bằng giá trị của sốcần chèn; Phép xóa một số có chi phí bằng giá trị số cần xóa; phép thay thế một
số bởi một số khác có chi phí bằng tổng giá trị của số thay thế và số bị thay thế
Trang 39Số ký tự nhận đúng Đạt tỷ lệ
Trang 402.3.5 So sánh, đánh giá các phương pháp
Đối với mỗi phương pháp kể trên đều có ưu nhược điểm khác nhau nhưngnhìn chung các phương pháp đều đã tạo ra được các hướng nghiên cứu mangtính khả thi cao cho bài toán nhận dạng chữ Nôm
Do chữ Nôm là hệ thống chữ tượng hình viết theo dạng có kích thước cốđịnh và các chữ không dính nên khi dùng Tesseract để tách từ cũng dễ hơn sovới tách từ trong các ngôn ngữ khác Tuy nhiên sau khi tách từ thi một số ký tựtương đối giống nhau và khó xác định hai “từ gốc” thuộc về hai ký tự khác nhauhay thuộc về cùng một ký tự Một nhược điểm của Tesseract là nó có thể sẽ xử
lý chậm với những ngôn ngữ có tập ký tự lớn (như chữ Nôm có hơn 4000 ký tự)
Đối với phương pháp sử dụng mạng nơ-ron vì quá trình huấn luyện rấttiêu tốn thời gian, nên tìm ra giải pháp giúp nhanh hội tụ mạng là một điều hếtsức quan trọng Mặt khác, luôn tồn tại một sai số nào đó Nếu sai số càng nhỏ thìnguy cơ cho việc học quá khít với mẫu nhận dạng càng cao Đó là 2 mục tiêukhông thể đạt được đồng thời (Sai số nhỏ và tránh học khít với mẫu nhận dạng).Ngoài ra huấn luyện có sai sót có thể vì mạng liệt hoặc hiện tượng hội tụ địaphương Mạng liệt xảy ra khi các giá trị trọng số của các nơ-ron trong mạng rấtlớn, nên tổng giá trị đầu ra của nơ-ron lớp tiếp theo sẽ rất cao (Trong lập trình,khi chọn kiểu giá trị Double sẽ xuất hiện giá trị NaN) Khi đó mạng không hoạtđộng nữa, tất cả các giá trị trọng số sẽ vô cùng lớn Mạng hội tụ bởi cơ chế hạdần độ dốc sai số nên có thể mắc vào một thung lũng Trong trường hợp đó cóthể sử dụng phép đột biến của thuật toán di truyền hoặc phương pháp thống kê.Tuy nhiên, khi qua được thung lũng này lại có nguy cơ gặp phải thung lũngkhác
Phương pháp KSVM áp dụng cho nhận dạng chữ Nôm có độ chính xáckhá cao và có khả năng cải tiến để nâng cao hiệu quả Tỉ lệ sai số nhận dạng phụthuộc cơ bản vào tỉ lệ sai số ở lớp 1 Độ chính xác nhận dạng tỉ lệ thuận với kíchthước ảnh đầu vào Do với kích thước ảnh đầu vào có độ chính xác cao thì việcnhận dạng sẽ chính xác hơn Nếu kích thước ảnh quá lơn thì ảnh hưởng đến tốc
độ xử lý, và trong thực tế nếu lấy được ảnh có kích thước đảm bảo như thế làđiều khó khăn Do sử dụng phương pháp trích chọn đặc trưng PD nên việc tìm ragiá trị lưới thích hợp cũng cần rất nhiều thực nghiệm vì nếu giá trị lưới quá cao
sẽ làm hệ thống hoạt động chậm rất nhiều và có thể dẫn đến hiện tượng overfit,