Với việc phân nhóm sơ bộ như trên, chỉ cần xây dựng 3 máy phân lớp SVM, sử dụng một trong hai loại đặc trưng để huấn luyện phân lớp và nhận dạng.
SVM1: Máy phân lớp đối với nhóm ký tự có 1 vùng liên thông {A, B, C, D, Đ, E, G, H, I, K, L, M, N, O, P, Q, R, S, T, U, V, X, Y, Ơ, Ư}.
SVM2: đối với các ký tự có dấu thì phần chữ đều là các nguyên âm, vì vậy máy này chỉ phân lớp các nguyên âm {A, E, I, O, U, Y}.
SVM3: phân lớp các dấu {/, \, ?, ~, ^, ∨} (sắc, huyền, hỏi, ngã, dấu ô, dấu ă).
3.2.3. Kết quả thực nghiệm
Dữ liệu chữ viết tay tiếng Việt được thu thập từ 655 người viết khác nhau, đối tượng chủ yếu là sinh viên. Mỗi người viết khoảng 200 chữ in hoa, các ký tự được viết rời rạc. Chúng tôi chọn lọc ra 52485 mẫu để tiến hành thực nghiệm, trong đó có 20925 mẫu ký tự không dấu, 2485 mẫu các dấu tiếng Việt, phần còn lại là các
mẫu ký tự có dấu. Trong 20925 mẫu chữ không dấu, chúng tôi sử dụng 13782 mẫu để huấn luyện, phần còn lại phục vụ cho việc nhận dạng (hình 3.10).
Hình 3.10. Các mẫu trích từ tập ký tự viết tay tiếng Việt.
Ba tập dữ liệu sau đây được xây dựng để phục vụ cho việc huấn luyện 3 máy phân lớp SVM:
• TrainData1: Tập các dấu tiếng Việt {/, \, ?, ~, ^, ∨}, với 2485 mẫu.
• TrainData2: Tập các chữ cái nguyên âm tiếng Việt {A, E, I, O, U, Y}, với 4128 mẫu được lấy ra từ 13782 mẫu chữ không dấu.
• TrainData3: Tập các chữ cái tiếng Việt không dấu {A, B, C, D, Đ, E, G, H, I, K, L, M, N, O, P, Q, R, S, T, U, V, X, Y, Ơ, Ư}, với 13782 mẫu.
Tập dữ liệu phục vụ cho việc nhận dạng (test) bao gồm 36218 mẫu, trong đó có 7143 mẫu chữ không dấu và 29075 mẫu chữ có dấu. Để thuận lợi cho việc đánh giá độ chính xác đối với từng nhóm ký tự theo vùng liên thông, 5 tập dữ liệu được xây dựng để phục vụ cho việc nhận dạng, các tập dữ liệu này phân bố như sau:
• TestData1: Tập các ký tự tiếng Việt có 1 vùng liên thông, với 7143 mẫu.
• TestData2: Tập các nguyên âm tiếng Việt, với 1500 mẫu được trích ra từ 7143 mẫu của TestData1.
• TestData4: Tập các ký tự tiếng Việt có 3 vùng liên thông, với 12219 mẫu.
• TestData5 = TestData1 ∪ TestData3 ∪ TestData4.
Bảng 3.2. Kết quả nhận dạng trên các tập dữ liệu tiếng Việt viết tay rời rạc. Độ chính xác Tập mẫu Số mẫu ZPC wavelet Haar TestData1 7143 84.3% 82.2% TestData2 1500 99.7% 99.6% TestData3 16856 92.2% 90.7% TestData4 12219 91.6% 87.8% TestData5 36218 90.5% 88.1%
Kết quả thực nghiệm ở bảng 1 cho thấy tập TestData2 cho độ chính xác cao hơn nhiều so với tập TestData1. Do tập TestData2 chỉ chứa 6 nguyên âm với các hình dáng rất khác nhau nên ít bị nhầm lẫn, trong khi đó tập TestData 1 lại phải phân biệt quá nhiều chữ cái với hình dáng tương tự nhau ({B,Đ},{C,G},{U,Ư,V},...) nên rất dể bị nhầm lẫn, vì vậy mà độ chính xác không cao. Có thể do công đoạn tách dấu và ghép dấu chưa được tốt nên các tập TestData3 và TestData4 đạt độ chính xác không cao bằng tập TestData 2. Kết quả nhận dạng cuối cùng ở tập TestData5 cho thấy việc sử dụng các tập đặc trưng được lựa chọn kết hợp với SVM vào bài toán nhận dạng chữ Việt viết tay rời rạc đạt độ chính xác tương đối cao.