Phương pháp Kmean, SVM

Một phần của tài liệu (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ừ (Trang 32 - 41)

Chương 2. NHẬN DẠNG CHỮ NÔM

2.3. Các phương pháp nhận dạng chữ Nôm

2.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ạng theo 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 1 cá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ạng trê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ây dự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 = 𝑛(𝑛 −1)

2 SVM, thì trong mô hình KSVM ta cần số SVM là:

S 2 = 𝑘 𝑘−1

2 + 𝑘

𝑛 𝑘 )( 𝑛

𝑘 − 1)

2 (2.5) Suy ra:

S 2 = 𝑘 𝑘−1

2 + 𝑘

𝑛 𝑘 )( 𝑛

𝑘 − 1)

2 (2.6)

Trong công thức (2.5), 𝑘 𝑘−1

2 là số SVM cần cho phân cụm, 𝑘

𝑛 𝑘 )( 𝑛

𝑘 − 1) 2

là số SVM cho các lớp nhận dạng trong mỗi cụm, giả sử đang xét số phần tử trong mỗi cụm là nhƣ nhau và là n/k phần tử.

Ta dễ thấy S2<< S1 => S 2 << S 1 Ví dụ với n = 500, k = 20 ta có:

S1 = 124.750

S2 = 6.190(= 190 + 20 * 300)

Suy ra S1 = 20*S2, khi k càng lớn thì S2 càng giảm mạnh.

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 đối tƣợ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

ứ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 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ước huấ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

STT 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) Các tham số SVM: SvmType = Linear, C = 2

1 20x20 5x5 7 phút 60.31% 38.40% 20

2 20x20 10x10 8 phút 78.56% 22.10% 20

3 40x40 10x10 15 phút 89.02% 10.01% 20

4 60x60 10x10 15 phút 93.43% 06.38%

STT 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)

5 90x90 5x5 5 phút 87.03% 13.02% 5

6 90x90 10x10 15 phút 94.00% 05.03% 20

7 90x90 15x15 62 phút 95.06% 04.94 % 21

8 100x100 10x10 16 phút 95.21% 04.49% 25

9 60x90 10x10 16 phút 91.20% 08.04% 20

10 90x60 10x10 16 phút 92.90% 06.77% 20

11 90x90 10x15 22 phút 91.02% 08.52% 20

12 90x90 15x10 22 phút 96.10% 03.62% 20

Các tham số SVM: SvmType = LBF, C = 2, g = 0.5

12 90x90 15x10 72 phút 96.19% 03.43% 20

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ập testing 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ủa KSVM.

- 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ươ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 [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ặc giả khung đã trình bày trên, tập chữ Nôm huấn luyện (tập mẫu) sẽ đƣợ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ị).

Để 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 2.3. Mô tả giá trị chuyển đổi giữa hai chữ Nôm

Chữ vào

chữ vào

Tập mẫu

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.

Bảng 2.4. Kết quả thực nghiệm theo khoảng cách soạn thảo văn bản

Tập huấn luyện Số ký tự

huấn luyện Tập nhận dạng Số ký tự nhận dạng

Số ký tự

nhận đúng Đạt tỷ lệ HanNomA_0_1,

HanNomB_0_0, HanNomB_0_1, NomNaTong_0_0, NomNaTong_0_1

2685 HanNomA_0_0 493 439 90%

HanNomA_0_0, HanNomB_0_0, HanNomB_0_1, NomNaTong_0_0, NomNaTong_0_1

2685 HanNomA_0_1 495 409 85%

HanNomA_0_0, HanNomA_0_1, HanNomB_0_1, NomNaTong_0_0, NomNaTong_0_1

2685 HanNomB_0_0 495 361 77%

HanNomA_0_0, HanNomA_0_1, HanNomB_0_0, NomNaTong_0_0, NomNaTong_0_1

2685 HanNomB_0_1 495 349 78%

HanNomA_0_0, HanNomA_0_1, HanNomB_0_0, HanNomB_0_1, NomNaTong_0_1

2685 NomNaTong_0_0 495 398 79%

HanNomA_0_0, HanNomA_0_1, HanNomB_0_0, HanNomB_0_1, NomNaTong_0_0

2685 NomNaTong_0_1 495 373 80%

Tỷ lệ trung bình nhận dạng đúng qua 6 lần là 82%

2.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ưng nhìn chung các phương pháp đều đã tạo ra được các hướng nghiên cứu mang tí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 so vớ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 nhau hay 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ất tiê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ết sứ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êu khô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ụ địa phươ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ất lớ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ũng khác.

Phương pháp KSVM áp dụng cho nhận dạng chữ Nôm có độ chính xác khá 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ích thước ảnh đầu vào. Do với kích thước ảnh đầu vào có độ chính xác cao thì việc nhậ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 ra giá 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,

xem nhiễu như thông tin nhận dạng. Trong trường hợp lưới quá nhỏ sẽ không thể hiện đết đặc trƣng của ký tự Nôm vốn rất phức tạp về cấu trúc.

Với phương pháp dựa vào khoảng cách soạn thảo văn bản trong quá trình lấy giả khung và lấy khung xương, cần nghiên cứu thêm các phương pháp hiệu chỉnh nhƣ đồng nhất cạnh, xóa nét thừa, chuẩn hóa nét… để lấy đƣợc kết quả tốt nhất nhằm tăng độ chính xác nhận dạng. Trong phương pháp lấy đặc trưng, những nét xiên phản ánh chƣa tốt, nên cần nghiên cứu giải pháp phản ánh tốt các nét xiên lên chuỗi đặc trưng. Việc chia ô lưới trên histogram để tính độ dài các bin đang sử dụng cố định ở mức 10x10, với ô lưới 10x10 thì chỉ phản ánh được các nét ngang và nét dọc cho những chữ có từ 10 nét ngang và 10 nét dọc trở xuống, với những chữ có số nét ngang và nét dọc lớn hơn 10 thì sẽ phản ánh không tốt. Ngoài ra với những chữ có số nét ngang và nét dọc ít thì sử dụng lưới 10x10 cũng không cần thiết và làm giảm độ chính xác nhận dạng, tăng độ phức tạp tính toán.

Bỏ qua các yếu tố nhƣ thời gian thực hiện, độ phức tạp tính toán mà chỉ quan tâm đến tỉ lệ nhận dạng thành công của các phương pháp thực hiện trên bộ dữ liệu Nom-DB0, Bảng 2.5 dưới đây cho thấy kết quả so sánh giữa các phương pháp:

Bảng 2.5. So sánh kết quả nhận dạng giữa các phương pháp

STT Phương pháp Tỉ lệ nhận dạng

1. Mạng nơ-ron 84,6%

2. Máy véc tơ hỗ trợ SVM 90,2%

3. Khoảng cách soạn thảo văn bản 82%

TỔNG KẾT CHƯƠNG 2

Chương 2 đã trình bày tổng quan về bài toán nhận dạng chữ Nôm, phạm vi nội dung nghiên cứu của luận văn. Trên cơ sở tìm hiểu các phương pháp nhận dạng chữ Nôm đã được nghiên cứu và phát triển của nhóm, chương này cũng chỉ ra các ưu, nhược điểm của mỗi phương pháp, các hướng phát triển khả thi cũng nhƣ chỉ ra các tồn tại, khuyết điểm.

Nhìn chung các nghiên cứu Nom-OCR đã đạt đƣợc nhiều kết quả tốt làm tiền đề cho các nghiên cứu sau này. Nhằm tìm ra hướng phát triển mới cho bài toán nhận dạng chữ Nôm chúng tôi đề xuất phương pháp nhận dạng chữ Nôm dựa trên gốc từ sẽ được trình bày trong chương 3 sau đây.

Một phần của tài liệu (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ừ (Trang 32 - 41)

Tải bản đầy đủ (PDF)

(118 trang)