Qua thực nghiệm với cùng cách nhận dạng theo String Edit- distance [8], cùng mô hình k-fold cross validation với K=6 trên cùng bộ dữ liêu thử nghiệm mô tả trên, kết quả nhận dạng cải tiến rõ rệt, xác suất nhận đúng trung bình tăng từ 66% lên 76%, độ nhiễu giảm đáng kể.
Ví dụ 1: Lấy đặc chưng của chữ theo giả khung:
Lấy H-histogram và V- histogram của giả khung. Sau khi phân đoạn H-histogram cảu giả khung ta thu được chuỗi LU
Trọng số LU được tính 1*4 + 1*0 = 4
Sau khi phân đoạn V-histogram của giả khung ta thu được chuỗi LLMU
Số điểm ảnh tương đối được tính ra 3.658536 Chuỗi mã phần bố nét ngang là 5000320008 Chuỗi mã phần bố nét dọc là 0000800000 Vậy chuỗi mã hoàn chỉnh thu được là:
3.658536 4 10 LU LLMU 0000800000 5000320008
Ví dụ 2: Lấy đặc chưng của chữ theo khung xương:
Lấy H-histogram và V- histogram của khung xương. Sau khi phân đoạn H-histogram của khung xương ta thu được chuỗi M
Trọng số M được tính 1*2 = 2
Sau khi phân đoạn V-histogram của giả khung ta thu được chuỗi MLM
Trọng số MLM được tính 1*4 + 2*2 = 8 Số điểm ảnh tương đối được tính ra 3.390244 Chuỗi mã phần bố nét ngang là 6000400008 Chuỗi mã phần bố nét dọc là 0000080000 Vậy chuỗi mã hoàn chỉnh thu được là: 3.3902442 8 M MLM 0000080000 6000400008
Quy trình lấy đặc trưng của chữ trên giả khung
- Xử lý theo khung xương
Bảng 4.2. Lấy histogram từ khung xương
Ảnh gốc Giả khung Giả khung ngang Histogram giả khung ngang Giả khung dọc Histogram giả khung dọc - Tạo chuỗi mã
Bảng 4.3. Lấy chuỗi mã từ khung xương
Pixel tương đối Trọng số dọc Trọng số ngang Mã gọc Mã ngang Mã phân bố nét dọc Mã phân bố nét dọc 3.658536 4 10 LU LLMU 0000800000 5000320008
Quy trình lấy đặc trưng của chữ trên khung xương
- Xử lý theo khung xương
Bảng 4.4. Lấy histogram từ giả khung
Ảnh gốc Khung xương Khung xương ngang Histogram khung xương ngang Khung xương dọc Histogram khung xương dọc - Chuỗi mã
Bảng 4.5. Lấy chuỗi mã từ giả khung
Pixel 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 dọc 3.390244 2 8 M MLM 0000080000 6000400008
4.6 KỸ THUẬT NHẬN DẠNG THEO KHOẢNG CÁCH SOẠN THẢO 4.6.1 Tổng quát về khoảng cách soạn thảo 4.6.1 Tổng quát về khoảng cách soạn thảo
Khoảng cách chuỗi soạn thảo (String edit-distance) [11] là phương phá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ành mộ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ủa tậ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 phí 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ự được chè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 [11] 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ặc giả khung đã trình bày trên, tập chữ Nôm huấn luyện (tập mẫu) sẽ đưaoạc đưa và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 được cà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ận dạ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ới chuỗ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ững chuỗ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ác chuỗ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ài nguyên thiết bị).
4.6.2 Huấn luyện theo khoảng cách soạn thảo
Quá trình huấn luyện chính là quá trình sinh chuỗi đặc trưng cho các chữ Nôm trong tập mẫu. Theo đó quá trình huấn luyện gồm các bước: Chuẩn hóa ảnh vào nếu cần; Rút trích khung xương/giả khung; mã hóa
khung xương/giả khung trên cơ sở các histogram ngang và dọc của khung xương/giả khung. Định lượng sự phân bố các nét dọc và nét ngang của chữ Nôm.
Ví dụ về huấn luyện mẫu: Huấn luyện chữ
Huấn luyện theo giả khung:
- Bước lấy giả khung ngang, giả khung dọc và tạo histogram xem bảng 4.6
Bảng 4.6. Lấy histogram từ giả khung
Ảnh gốc Giả khung Giả khung ngang Histogram giả khung ngang Giả khung dọc Histogram giả khung dọc
- Bước tạo chuỗi mã xem bảng 4.7
Bảng 4.7. Lấy chuỗi mã từ giả khung
Pixel tương đối Trọng số dọc Trọng số ngang Mã gọc Mã ngang Mã phân bố nét dọc Mã phân bố nét dọc 3.658536 4 10 LU LLMU 0000800000 5000320008
Huấn luyện theo khung xương
- Bước lấy khung xương ngang, khung xương dọc và tạo histogram xem bảng 4.8
Bảng 4.8. Lấy histogram từ khung xương
Ảnh gốc Khung xương Khung xương ngang Histogram khung xương ngang Khung xương dọc Histogram khung xương dọc
- Bước tạo chuỗi mã xem bảng 4.9
Bảng 4.9. Lấy chuỗi mã từ khung xương
Pixel tương đối Trọng số dọc Trọng số ngang Mã gọc Mã ngang Mã phân bố nét dọc Mã phân bố nét dọc 3.390244 2 8 M MLM 0000080000 6000400008
4.6.3 Nhận dạng theo khoảng cách soạn thảo
Để 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ên chuỗi mã ngang, chuỗi mã dọc, mã phân bố nét ngang và mã phân bố nét dọc củ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 đó ta cầ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án chuyể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ột chi 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ị thay thế.
Ví dụ: Để chuyển chuối mã MLLU LLMU thành chuỗi LU LLU cần chi phí 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ính giá 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)
Bảng 4.10. Mô tả giá trị chuyển đổi giữa hai chữ Nôm
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.