Chữ vào Mã chữ vào Tập mẫu Mã tập
mẫu Giá chuyển đổi 2_0_NomNaTong_0_1 MLLU LLMU 267_0_NomNaTong_0_1 LU LLU 4+8+4=16 2_0_NomNaTong_0_1 MLLU LLMU 267_0_NomNaTong_0_0 LU LLU 4+8+4=16
2_0_NomNaTong_0_1 LLMU 2_0_HanNomB_0_1 LMU 4
Tương tự vậy mã phân bố nét ngang và mã phân bố nét dọc được biểu diễ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ép thay 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ế.
Ví dụ: để chuỗi 0510205140 chuyển đổi thành chuỗi 0510406105 cần chi phí là 12 đơn vị
Kết thúc quá trình đánh giá chi phí chuyển đổi, những chữ có tổng chi phí chuyển đổi chuỗi mã nhỏ nhất sẽ là kết quả nhận dạng
Tổng kết chương 4
Chương 4 chúng tôi đã trình bày chi tiết phương pháp nhận dạng theo khoảng cách chuỗi soạn thảo. Đặc trưng áp dụng cho phương pháp này chúng tôi sử dụng từ khung xương và giả khung - là những lý thuyết chúng tôi trình bày ở chương 3. Chương này cũng thể hiện thành quả của chúng tôi trong nỗ lực xây dựng phương pháp nhận dạng chữ Nôm mới. Ở chương 5 chúng tôi sẽ trình bày phương pháp thực nghiệm và kết quả thực nghiệm cho giải pháp xây dựng ở trương này, qua đó đánh giá được sự hiệu quả của phương pháp nhận dạng này.
Chương 5 THỰC NGHIỆM
5.1 MÔ HÌNH THỰC NGHIỆM
Quá trình thực nghiệm được tiến hành theo ba bước chính gồm chuẩn bị dữ liệu, huấn luyện, nhận dạng và đánh giá kết quả. Quá trình chuẩn bị dữ liệu bao gốm các bước chọn ký tự phổ biến nhất trong bộ truyện kiều của Nguyễn Du, tạo ảnh theo các ký tự đã chọn, in ảnh lên giấy khổ A4 rồi scan lấy ảnh xám, tách ảnh xám scan được thành những chữ Nôm rời, chuyển ảnh chữ Nôm rời từ dạng ảnh xám thành ảnh đen trắng 1 bit.
Quá trình huấn luyện thực chất là quá trình lấy đặc trưng. Chúng tôi thực nghiệm nhận dạng theo đặc trưng của khung xương và đặc trưng của giả khung. Với mỗi loại khung xương và giả khung, chúng tôi chỉ lấy khung xương/giả khung ngang và dọc, sau đó các bước lấy đặc trưng còn lại đều như nhau gồm lấy histogram và mã hóa histogram thành chuỗi đặc trưng.
Quá trình nhận dạng chúng tôi thử nghiệm trên ảnh chữ rời, đã chuẩn hóa về dạng 1 bit. Ảnh vào được lấy khung xương/giả khung sau đó lấy histogram và mã hóa histogram để xây dựng thành chuỗi đặc trưng. Áp dụng phương pháp nhận dạng theo khoảng cách soạn thảo giữa chuỗi đặc trưng của chữ cần nhận dạng với tập đặc trưng thu được ở giai đoạn huấn luyện và đưa ra kết quả. Sau cùng sự đánh giá, so sánh được thực hiện để đánh giá hiệu quả của hai phương pháp lấy đặc trưng.
Hình 5.1. Quy trình tiến hành thực nghiệm
Chuẩn bị dữ liệu
Chọn ký tự Tạo ảnh In và Scan ảnh Tách ảnh Chuyển ảnh 1 bit
Tập 495 chữ Nôm Các file ảnh Các file ảnh scan Các file ảnh chữ Nôm rời xám Các file ảnh chữ Nôm rời 1 bit
Khung xương
Tập đặc trưng Lấy histogram Lấy khung
xương ngang Lấy khung xương dọc
Mã hóa thành chuỗi đặc trưng
Giả khung
Tập đặc trưng Lấy histogram Lấy giả khung
ngang
Lấy giả khung dọc
Mã hóa thành chuỗi đặc trưng
Nhận dạng
Ảnh chữ Nôm rời, 1 bit
Lấy đặc trưng theo giả khung Lấy đặc trưng theo khung xương
Nhận dạng Nhận dạng
Két quả nhận dạng Két quả nhận dạng
Đánh giá, so sánh
Việc thực nghiệm được chúng tôi tiến hành trên máy tính Sony Vaio (Intel® CoreTM i3-370M Processor 2.40GHz, Ram 4GB), hệ điều hành Windows® 7 Home Premium 64-bit.
Hình 5.3. Giao diện chương trình pha nhận dạng
5.2 BỘ DỮ LIỆU THỰC NGHIỆM
Bộ dữ liệu thực nghiệm được xây dựng bằng cách thống kê những chữ xuất hiện trên 10 lần trong bộ Truyện Kiều của đại thi hào Nguyễn Du. Kết quả thống kê thu được 495 chữ. Với bộ dữ liệu 495 chữ đó, chúng tôi sử dụng 3 loại font khác nhau là Hán Nôm A, Hán Nôm B, Nôm Na Tông, mỗi font lấy hai kiểu chữ là chữ đậm và chữ thường. Như vậy mỗi chữ có 6 mẫu, tổng số mẫu của bộ dữ liệu là 2970. Mỗi mẫu ký tự đặt tên theo quy tắc:
ID_Mẫu_Font_ Kiểu.
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… với bộ dữ liệu này thì Mẫu luôn là 0 vì được lấy theo cũng một chế độ scan chữ in trên giấy trắng khổ A4, mực in màu đen.
- Font là tên font chữ của mẫu.
Hình 5.4. một số mẫu chữ Nôm trong bộ dữ liệu thực nghiệm Bộ dữ liệu thử nghiệm này có chất lượng tốt, độ nhiễu loạn gần như không có, sau khi thành công với bộ dữ liệu này chúng tôi sẽ tiếp tục xây dựng những bộ dữ liệu với mức độ nhiễu khác nhau nhằm cải tiến khả năng nhận dạng của chương trình ở những điều kiện chữ nhiễu loạn khác nhau.
5.3 THỰC NGHIỆM
K-fold cross validation [12] là một phương pháp kiểm chứng chéo, bộ dữ liệu kiểm chứng được chia ra làm K tập. Lần lượt thực hiện K lần kiểm chứng quay vòng, mỗi lần dùng 1 tập mẫu để thử nghiệm và K-1 tập còn lại để huấn luyện. Lỗi xuất hiện qua K lần kiểm chứng được tính trung bình.
Để thực nghiệm với K-fold cross validation thì việc lấy mẫu thử và mẫu huấn luyện phải lấy ngẫu nhiên, tuy nhiên để kiểm tra tính suy đoán của phương pháp, chúng tôi thực nghiệm theo phương pháp tựa K-fold cross validation, nghĩa là với bộ dữ liệu thực nghiệm trên chúng tôi quyết định lựa chọn 5 tập mẫu thuộc 5 bộ chữ khác nhau để huấn luyện, 1 bộ mẫu thuộc tập còn lại để thực nghiệm. Như vậy tập huấn luyện và tập nhận dạng thử nghiệm không giao nhau về kiểu chữ và font chữ, khả năng suy diễn của phương pháp nhận dạng được kiểm tra, chương trình
sẽ sử dụng bộ tri thức của kiểu font này nhận dạng bộ ảnh chữ của font kia được thử nghiệm đánh giá. Từ đó có thể đánh khả năng ứng dụng thực tế của phương pháp. Kết quả thực nghiệm trình bày dưới bảng sau:
- Nhận dạng với đặc trưng dựa trên khung xương