Hình 4.5. Lưu đồ huấn luyện trong giải thuật KSVM 3.2.1. Xây dựng bộ nhận dạng OVOF
Các kết quả nghiên cứu đều khẳng định phân lớp bằng OVO cho kết quả chính xác cao hơn nhiều so với K-Mean, do đó trên cơ sở kết quả phân cụm bằng K-Mean ta sẽ xây dựng bộ phân lớp bằng OVO để cho kết quả phân cụm cao hơn. Như vậy, mô hình KSVM đã kết hợp K-Mean và SVM để xây dựng một phương pháp phân cụm có độ chính xác cao.
Trong mô hình kết hợp trên, K-Mean đóng vai trò người đánh nhãn phân tách cụm dữ liệu một cách khách quan, thực tế của dữ liệu huấn luyện. Kết quả này là kết quả phân cụm trong tập dữ liệu huấn luyện và làm cơ sở để OVO học.
3.2.2. Tạo mẫu đại diện
Thực nghiệm cho thấy, việc phân cụm bằng K-Mean với tập dữ liệu lớn mất rất nhiều thời gian. Do đó, để tăng tốc cho K-Mean trong việc phân lớp, với tập dữ liệu đầu vào, ta sẽ xây dựng các tập đại diện D cho các lớp để giảm số mẫu trong quá trình phân cụm K-Mean. D gồm p mẫu, với p>= n, việc xác định p và phân các nhóm để lẫy mẫu là tự chọn, trong phần thực nghiệm tác giả chọn p=n, và p nhóm mẫu là tập các mẫu của một ký tự ở các font khác
nhau, và thu ở các chế độ khác nhau. Mẫu đại diện d[i] của nhóm i được xác định bằng điểm trọng tâm của nhóm đó.
3.2.3. Phân cụm bằng K-Mean
K-Means là thuật toán rất quan trọng và được sử dụng phổ biến trong kỹ thuật phân cụm. Tư tưởng chính của thuật toán K-Means là tìm cách phân nhóm các đối tượng (objects) đã cho vào K cụm (K là số các cụm được xác định trước, K nguyên dương) sao cho tổng bình phương khoảng cách giữa các đối tượng đến tâm nhóm là nhỏ nhất.
Hình 4.6. Lưu đồ thuật toán K-Mean
Phân cụm bằng K-Mean có một số đặc trưng:
- Kết quả phân cụm phụ thuộc nhiều vào điểm khởi tạo ban đầu cho các nhóm, do đó khi chọn điểm khởi tạo ngẫu nhiên thì ta cần lặp lại nhiều lần để chọn được kết quả tốt nhất.
- Độ phức tạp tính toán của K-Mean là O(t * d * n), trong đó: t là số lần lặp để làm
mịn kết quả thuật toán; d là số chiều của vector đặc trưng hay số thuộc tính của mẫu; n là số mẫu đưa vào phân cụm.
Áp dụng trong KSVM, K-Mean được áp dụng cho tập dữ liệu đại diện các lớp, trên cơ sở kết quả phân cụm để gán nhãn lại cho các mẫu trong tập C1, C2.. Ck.Có một vấn đề cần ràng buộc trong việc xác định nhãn phân cụm bằng K-Mean là lực lượng của các nhóm không cân bằng nhau, từ đó dẫn đến số mẫu của mỗi nhóm không tương xứng nên việc training bằng SVM tại bước 3 sẽ không đạt được kết quả như mong muốn. Kết quả phân cụm của K-Mean phụ thuộc nhiều vào việc chọn nhân ban đầu, và thông thường việc khởi tạo nhân ban đầu được chọn ngẫu nhiên, do đó có thể cho ta nhiều kết quả phân cụm khác nhau, trong các kết quả đó ta chọn kết quả mà lực lượng giữa các cụm tương đối cân bằng nhau.
Kết quả K-Mean thu được là phương án phân cụm cho tập đại diện D, từ kết quả này ta gán nhãn tạm cho tất cả các mẫu trong tập M để thực hiện bộ phân cụm trong FC theo nguyên tắc: tất cả mẫu x thuộc nhóm đại diện lớp i sẽ được gán nhãn tương ứng với nhãn lớp i theo kết quả của B2.
3.2.4. Xây dựng bộ nhận dạng OVOS
OVOS là một tập các bộ nhận dạng OVO, OVO của mỗi nhóm (OVOSi) sẽ có chức năng nhận dạng các từ trong trong cụm Ci trong lưu đồ Hình 4.5. Nhãn của các mẫu đưa vào nhận dạng ở đây là chỉ số của các ký tự, không phải nhãn phân cụm tạm thời được tạo ra bởi K-Mean như trong OVOF. Mỗi OVOSi sẽ được đào tạo độc lập với tập dữ liệu trong lớp Ci, do đó cần có những bộ tham số của mô hình OVO cho mỗi lớp phù hợp để có kết quả nhận dạng cao nhất.
Do quá trình thực nghiệm nhận thấy tỉ lệ sai số lớn đang nằm ở FC, nên để trong luận văn, tác giả đang xét tất cả các OVOSi cùng một bộ tham số. Các nghiên cứu sau này sẽ tập trung cải tiếp FS theo hướng này.
Trong các cụm, đặc trưng các đối tượng tương đối giống nhau do đó bước nhận dạng cần độ chính xác cao. Yêu cầu này được giải quyết hiệu quả bởi đó chính là thế mạnh của SVM. Tất nhiên, độ chính xác cao không chỉ nằm ở thuật toán nhận dạng, cần xem xét cả phương pháp trích chọn đặc trưng. Trong FC, có thể không cần đặc trưng quá chi tiết, như thế với việc phân cụm sẽ bị dư thừa thông tin. Từ đó, ta có thể hướng nghiên cứu cải tiến thử nghiệm 2 phương pháp trích chọn đặc trưng khác nhau ở FC và SC như nhiều mô hình nhận dạng vẫn làm.
4.4. Nhận dạng (Recognition)
Quá trình nhận dạng được thực hiện qua 2 bước: đầu tiên xác định đối tượng thuộc cụm nào bằng bộ nhận dạng OVOF, sau đó xác định ký tự sử dụng bộ huấn luyện OVOS tương ứ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ải tương ứng với đặc trưng đưa vào huấn luyện. Trong chương trình thực nghiệm của luận văn, đặc trưng PD được sử dụng và tham số về kích thước lưới bắt buộc phải như nhau ở 2 bước huấn luyện và nhận dạng.
Hình 4.7. Nhận dạng trong KSVM
Tổng kết chƣơng 4
Chương 4 đã trình bày chi tiết giải thuật KSVM do tác giả nghiên cứu đề xuất. KSVM xuấtphát từ những thuật toán K-Mean, SVM và ý tưởng nhận dạng 2 giai đoạn đã có từ trước. Tác giả trên cơ sở kết hợp các ý tưởng đã có và mang lại hiệu quả, kết hợp với nhận định phải phát huy những ưu điểm của mỗi thuật toán đểmong muốn mang lại hiệu quả cao nhất. Trong quá trình cài đặt thuật toán, tác giả cũng đã thực hiện một số cải tiến nhằm tăng tốc độ thuật toán như xây dựng các tâm thay cho tập đối tượng để tăng tốc K-Mean.
Chƣơng 5. THỰC NGHIỆM, ĐÁNH GIÁ
5.1. Quy trình thực nghiệm
Hình 5.1. Quy trình tiến hành thực nghiệm
Tác giả tiến hành thực nghiệm theo 3 bước chính: chuẩn bị dữ liệu, huấn luyện và nhận dạng, đánh giá. Do cơ sở dữ liệu để phục vụ đề tài chưa có, hoặc đã có nhưng chưa theo nhận định của một chuyên gia nghiên cứu trong lĩnh vực OCRvà nhận định của tác giả là chưa đạt yêu cầu do đó tác giả phải giành nhiều thời gian để xây dựng cơ sở dữ liệu mẫu chữ Nôm. Bộ huấn luyện và nhận dạng xây dựng theo thuật toán KSVM đã trình bày trong chương4, các nền tảng về xử lý ảnh và SVM để xây dựng ứng dụng tiến hành thực nghiệm trong đề tài được kế thừa từ thư viện OpenCV, phiên bản trên .Net Emgu Version 2.4.9. Các thực nghiệm được
tiến hành trên máy HP Compad(Intel® Core 2 Duo T5870, 2.00GHz, RAM 2GB), hệ điều hành Windows 8.
Hình 5.2. Giao diện chính của chương trình thực nghiệm
5.2. Xây dựng bộ dữ liệu thực nghiệm
Như đã trình bày trong chương 1, chữ Hán-Nôm tuy kế thừa phát triển từ chữ Hán nhưng có những khác biệt lớn, do đó quá trình nghiên cứu nhận dạng chữ Hán-Nôm, đặc biệt chữ Nôm- Việt cần xây dựng bộ cơ sở dữ liệu mới và phương pháp nhận dạng cũng đặt ra nhiều thách thức, phương pháp giải quyết khác so với chữ Hán. Trong kho chữ Hán-Nôm có một phần lớn khoảng 10.000 chữ là chữ tự tạo về mặt hình, không có trong các hình của chữ Hán hay các loại chữ tượng hình khác. Cấu trúc của chữ Nôm-Việt có cấu tạo phức tạp hơn chữ Hán, số nét tối đa của chữ Nôm là 37 [27]. Và hiện nay, chưa có nhóm nghiên cứu nào công bố bộ dữ liệu phục vụ nghiên cứu nhận dạng chữ Nôm.
Việc nghiên cứu xây dựng bộ cơ sở dữ liệu của chữ Nôm gặp nhiều khó khăn do các yếu tố: người biết chữ Nôm không còn nhiều, các thông tin về số hóa chữ Nôm còn hạn chế, thậm chữ nhiều chữ Nôm còn chưa được đưa vào bộ font chuẩn. Những mẫu chữ Nôm thực tế hiện còn tồn tại trong một số sách cổ, các bia đá, cấu đối, gia phả… nhưng việc dịch nghĩa những từ này để xây dựng cơ sở dữ liệu thực tế là một điều khó. Sau quá trình tìm hiểu, tư vấn một số chuyên gia về chữ Nôm để xác định những chữ Nôm phổ biến để có thể tiếp cận theo hướng nghiên cứu giải quyết những từ thông dụng trước, nhưng cho đến nay vẫn chưa có nghiên cứu nào về số liệu này.
Trong quá trình nghiên cứu, tìm hiểu chúng tôi phát hiện ra rằng, nhiều công trình trước có thể được kế thừa một cách hiệu quả cho việc xây dựng kho dữ liệu này, đặc biệt là nguồn tài nguyên từ http://www.nomna.org của Hội bảo tồn di sản chữ Nôm, và nhiều nguồn tư liệu quý về chữ Nôm đã được thư viện quốc gia quét để lưu giữ. Một số tác phẩm, trong đó có truyện Kiều đã được số hóa, dịch nghĩa và chuyển về mã chữ Nôm theo chuẩn Unicode như trong hình 5.3. Từ bản quét ảnh các trang của truyện Kiều, các chuyên gia đã dịch nghĩa và tách thành các chữ Nôm độc lập.Do đó, từ đây chúng tôi có thể giải quyết khâu mất rất
nhiều thời gian là đọc và dịch chữ Nôm, một công đoạn hiếm người làm, đặc biệt với người nghiên cứu Công nghệ thông tin.
Hình 5.3. Bản số hóa và dịch nghĩa của một trong trong truyện Kiều.
Kết quả phân tích trang web của nomna.org thu được những thong tin khả quan, tên của các ảnh chữ Nôm trong phần giải nghĩa là tương ứng mới mã Unicode của chữ Nôm. Như vậy, từ đây ta có thể xác định được mã chữ Nôm, hình và nghĩa chữ Nôm trong các bản truyện Kiều. Đây là một nguồn tài nguyên rất quý để chúng tôi tiếp cận xây dựng cơ sở dữ liệu Nôm-DB0.
Việc nghiên cứu nhận dạng chữ Nôm sẽ được tiến hành 2 giai đoạn:
- Giai đoạn 1, các nghiên cứu sẽ được tiến hành trên dữ liệu khá chuẩn, theo nghĩa các mẫu được in ra từ các hình chuẩn trong các phông chữ Nôm, sau đó qua một số bước làm nhiễu mô phỏng như in ra rồi quét đi lại nhiều lần, ở các chế độ khác nhau về độ sang, độ nét, hay in trên nền các giấy có chất liệu khác nhau. Những mẫu này đã có những nhiễu tương đối giống thực tế, và số lượng mẫu cũng khá giống thực tế. Và sau khi thu mẫu, chúng ta tiến hành một số bước chuẩn hóa, đảm bảo các chữ đã được tách độc lập, chính xác với kích thước chuẩn để đưa vào giai đoạn nhận dạng, việc tiền xử lý chưa đặt ra với giai đoạn này.
- Giai đoạn 2, trên cơ sở kết quả đạt được trong giai đoạn 1, các giải pháp sẽ được triển khai và cải tiến với việc áp dụng trực tiếp trên dữ liệu thực tế như các bản quét sách, tài liệu, ảnh chụp từ bia, gia phả… Trong giai đoạn này, mục tiêu là xây dựng bộ nhận dạng để triển khai thực tế, do đó việc nghiên cứu đầy đủ các giai đoạn của OCR là cần thiết, và yêu cầu tối ưu trong việc triển khai thực tế như việc xây dựng các ứng dụng trên các thiết bị di động…
Hình 5.4. Kết quả phân tích để thu được mã chữ Nôm trong truyện kiều từ kho nomna.org
Do đó, để thực hiện hiệu quả hướng tiếp cận trên, chúng tôi tiến hành xây dựng kho dữ liệu phục vụ nghiên cứu trong giai đoạn 1 như sau:
- Xây dựng kho dữ liệu chữ Nôm từ các chữ đã có trong truyện Kiều.
- Chọn những chữ có đã được đưa vào các Font chữ tiêu biểu cho chữ Nôm hiện tại như Hán Nôm A, Hán Nôm B, Nôm Na Tông.
- Chọn các từ có tần suất xuất hiện cao trong các bản truyện Kiều.
- Tạo mẫu M0 bằng cách in các chữ đó trên giấy A4 với 3 loại Font Hán Nôm A, Hán Nôm B, Nôm Na Tông và các kiểu thường, nghiêng, đậm, nghiêng đậm. Tham khảo một số khuyến nghị của chuyên gia về xây dựng mẫu, tác giả in nhiều chữ Nôm trên mặt giấy A4 đảm bảo độ phân giải trên 300 DPI, kích thước tối thiểu 1 chữ 120x120 Pixel.
- Scan mẫu chuẩn với M0 với các chế độ khác nhau về độ nét, độ sáng, loại máy scan, hay photo và scan lại nhiều lần làm tăng nhiễu… để thu được các mẫu M1,M2,… Máy quét có độ phân giải trên 300DPI.
- Xây dựng chương trình tách file ảnh thành các file chữ chữ đơn để làm đầu vào cho việc nghiên cứu nhận dạng.
Với cách tiếp cận trên, tác giả xây dựng bộ dữ liệu Nom-DB0 với 495 chữ trong truyện Kiều, các chữ này có tần suất xuất hiện trên 10 lần, mỗi chữ có 3 font, 4 kiểu, và thu mẫu ở 5 chế độ khác nhau. Do trong quá trình xây dựng tạo mẫu để khoảng cách các chữ khá gần nhau nên không cắt được các mẫu chữ nghiêng do đó trong dữ liệu sử dụng Nom-DB0 chỉ có các kiểu thường, đậm. Như vậy, tổng số mẫu trong Nom-DB0 là 14.850 mẫu. Tác giả chia làm 2 phần tập training gồm 11.880 mẫu, tập testing gồm 2.970 mẫu với đầy đủ các font và ký tự, mẫu testing được chọn là tập mẫu thu được ở chế độ scan có độ mờ cao.
Mỗi mẫu ký tự đặt tên theo quy tắc:ID_Mẫu_Font_ Nghiêng_Đậm. Trong đó:
- ID là mã đặt cho ký tự, mỗi ký tự có 1 ID khác nhau. - Mẫu là chế độ lấy mẫu, đánh số 0,1,2…
- Font là tên font chữ của mẫu.
- Nghiêng, đậm nhận giá trị 0,1 tương ứng với mẫu này thuộc chữ nghiêng hay đậm.
Hình 5.5. Một số mẫu chữ Nôm trong cơ sở dữ liệu NomDB0.
Với cách tiếp cận trên, sau khi nhận dạng tốt trên bộ dữ liệu tự tạo, nhóm sẽ có thể khai thác một tập mẫu thực tế đã được số hóa rất công phu từ Nôm foundation. Sau khi cho kết quả thực nghiệm tốt trên bộ Nom-DB0, tác giả đang triển khai tiếp Nom-DB1 với đầy đủ 4 kiểu và 2.160 trong truyện Kiều.
5.3. Tiến hành thực nghiệm
5.3.1. Mục tiêu
Phần thực nghiệm của luận văn nhằm làm rõ các vấn đề:
- Cài đặt Demo quy trình nhận dạng chữ Nôm của đề tài, triển khai các thuật toán trích chọn đặc trưng trọng số vùng, giải thuật nhận dạng KSVM, tiến hành chạy và đánh giá với kho dữ dữ liệu NOM-DB0.
- Đánh giá về ảnh hưởng kích thước ảnh đầu vào với độ chính xác của bộ nhận dạng chữ Nôm. Việc xác định kích thước ảnh tối thiểu cho mỗi ký tự để làm đầu vào huấn luyện cho bộ nhận dạng là một trong những yếu tố cần được làm rõ vì nó ảnh hưởng trực tiếp tới chất lượng của bộ nhận dạng. Mặt khác, do độ phức tạp trong cấu tạo của chữ Nôm so với chữ Hán, nên cần có những thực nghiệm để đưa ra số liệu để hỗ trợ các nghiên cứu sau này.
- Đánh giá ảnh hưởng kích thước lưới nào trong phương pháp trích chọn đặc trưng PD, từ đó chọn ra kích thước phù hợp với nhận dạng chữ Nôm. Kích thước lưới có ảnh hưởng lớn đến tốc độ thực hiện huấn luyện và nhận dạng, độ lớn của cơ sở dữ liệu huấn luyện và đặc biệt độ chính xác của nhận dạng. Nếu kích thước lưới bé có thể không thể hiện hết thông tin đặc trưng của ảnh, nếu kích thước quá lớn thì thể hiện quá rõ, thậm chí nhiễu cũng được đưa vào đặc trưng dẫn đến sai số có thể tăng.
- Đánh giá ảnh hưởng của các tham số SVM trong mô hình nhận dạng KSVM. Các