ỨNG DỤNG MÔ HÌNH MARKOV ẨN TRONG NHẬN DẠNG CHỮ VIẾT TAY
ABCDĐEG HIKLMNO ƠPQRSTU ƯVXY
A B C D Đ E G H I K L M N O Ơ P Q R S T U Ư V X Y
Bảng 2.2. Bảng ký tự tiếng Việt không dấu.
Tổng cộng: 50 chữ.
Như vậy số lượng lớp đã giảm chỉ còn 1/3 so với số lượng lớp đã đề cập ở trên. Do đó kết quả nhận dạng sẽ nâng cao.
Hơn nữa số lượng dấu trong tiếng Việt không nhiều, và giữa các dấu có những đặc trưng rất riêng biệt nên hướng tiếp cận này hoàn toàn có thể làm được.
IV.3 Khó khăn về sự biến dạng chữ
Mỗi người đều có một nét chữ riêng, cho nên các bài toán về nhận dạng chữ viết tay đều gặp khó khăn.
Vắ dụ về 2 mẫu chữ viết tay chữ A được thể hiện bằng hình dưới đây.
Nhìn trên hình vẽ ta thấy sự khác nhau giữa 2 chữ A về hình dạng thì nhiều. Do đó nếu dùng phương pháp đối sánh để nhận dạng chữ viết tay thì rất khó
vì so với mẫu, ảnh cần nhận dạng quá khác xa so với mẫu. Hơn nữa các phương pháp đối sánh rất nhạy cảm với độ lệch, độ nghiêng giữa mẫu và ảnh cần nhận dạng. Trong những trường hợp lệch hay nghiêng thì kết quả nhận dạng bằng đối sánh sẽ giảm đi rất nhiều. Nhìn vắ dụ trên ta thấy rằng kắch thước giữa 2 chữ không đồng nhất với nhau, vị trắ các nét chữ cũng thay đổi. Do đó nếu dùng hướng tiếp cận đối sánh để giải quyết bài toán nhận dạng chữ viết tay là một điều rất khó.
Vắ dụ về 2 mẫu chữ viết tay chữ G được thể hiện bằng hình dưới đây.
Hình 2.4. Mẫu ký tự chữ G viết tay.
Nhìn hình vẽ những đặc trưng trên 2 chữ G không rõ ràng. Chữ G trái bị mất thành phần ngang, chữ G phải thì thành phần ngang không rõ ràng.
Do đó nếu dùng phương pháp nhận dạng bằng đặc trưng trên các chữ viết tay thì vấn đề chọn đặc trưng bất biến giữa các nét chữ khác nhau là một điều khó. Những đặc trưng thông dụng thường hay dùng để nhận dạng các chữ in như: thành phần đứng, thành phần ngang, thành phần kắn,Ầđều khó hay không thể dùng trong bài toán nhận dạng chữ viết tay.
Vắ dụ một số mẫu chữ N được thể hiện bằng hình dưới đây.
Hình trên là 4 chữ N được lấy một cách hoàn toàn ngẫu nhiên, không có sự lựa chọn trong tập dữ liệu thử. Tất cả các chữ N ở trên đều có nhiều nét khác biệt đặc trưng cho nhiều loại nét chữ.
Nếu dùng mạng Neural làm mô hình huấn luyện và nhận dạng thì vấn đề chọn được đặc trưng để học là một vấn đề khó giải quyết. Điều này xảy ra bởi vì quá trình học của mạng Neural một lần chỉ học một mẫu chữ của một hay nhiều lớp. Do đó mạng Neural sẽ nhận dạng tốt những mẫu vừa mới học và không nhận dạng tốt những mẫu học trong những lần lặp quá xa so với lần lặp hiện tại nếu đặc trưng được chọn không tốt. Điều này sẽ dẫn đến quá trình hội tụ khi huấn luyện mạng Neural sẽ rất lâu. Hơn nữa khi dùng mạng Neural huấn luyện, kắch thước về số chiều của vector đầu vào của các mẫu chữ phải là như nhau. Do đó trước khi đưa vào mạng Neural để huấn luyện, mẫu học phải qua quá trình chuẩn hoá. Ngoài ra mạng Neural có một nhược điểm khi dùng để nhận dạng chữ viết tay đó là không thể nhận dạng các ký tự dắnh, mà vấn đề ký tự dắnh xảy ra rất nhiều đối với bài toán nhận dạng chữ viết tay.
Tất cả những vấn đề trên đều có thể phần nào được giải quyết khi dùng mô hình Markov ẩn nhờ các tắnh chất sau:
- Đầu vào của mô hình Markov ẩn không cần các mẫu có số lượng các khung bằng nhau.
- Quá trình học của mô hình Markov ẩn có thể tổng hợp tất cả các mẫu khác nhau của cùng một lớp để đưa ra một mô hình chung cho các mẫu học.
- Với thuật toán Level Building khi áp dụng với mô hình Markov ẩn có thể dùng để nhận dạng các ký tự dắnh, ngoài ra còn có thể tắch hợp các luật văn phạm.
IV.4 Mô hình nhận dạng và huấn luyện
Gọi N là số phân lớp trong hệ thống cần nhận dạng (ở đây chắnh là tập các chữ hoa in đã tách dấu được liệt kê bên trên, và N=25).
Ta xây dựng N mô hình Markov ẩn, mỗi mô hình đại diện cho một phân lớp.
Gọi tên các mô hình lần lược
là: 1 , 2 ,..., N .
Gọi O là dãy các vector nhận được trong quá trình trắch chọn đặc trưng trên một chữ.
Quá trình huấn luyện sẽ được thực hiện bằng thuật toán Baum- Welch hay thuật toán Segmental K means, hay kết hợp cả hai bằng cách tạo một khởi tạo tốt bằng thuật toán Segmental K means và dùng thuật toán Baum-Welch để tối ưu các tham số vừa khởi tạo.
Quá trình nhận dạng: O sẽ thuộc lớp v * với:
v* arg max[P(O |
1 v N
v )] . (2.8)
Việc tắnhP(O
| v ) sẽ dựa vào việc giải quyết bài toán 1 trong các bài toán cơ
bản của mô hình Markov ẩn.
Khi xây dựng các mô hình Markov ẩn, các thông số cần quan tâm đó là: số trạng thái, số thành phần hợp trong một trạng thái đối với mô hình Markov ẩn liên tục hay số thành phần hợp thành không gian quan sát đối với mô hình Markov ẩn bán liên tục hay số ký hiệu quan sát phân biệt đối với mô hình Markov ẩn rời rạc.
Khi chọn lựa số trạng thái của mô hình trong nhận dạng tiếng nói, có nhiều ý kiến khác nhau. Một ý tưởng hợp lý có thể chấp nhận trong ngữ cảnh nhận dạng chữ viết tay chắnh là xây dựng mô hình Markov ẩn với 4 trạng thái tương ứng với sự biến đổi trong cấu trúc đường nét chữ cái.
Cuối cùng cần chú ý đến loại mô hình Markov ẩn phù hợp, do tắnh chất chuyển đổi của các đường nét từ trái sang phải nên mô hình Markov ẩn được
chọn là mô hình Markov ẩn của Bakis.
1 2 3 4
Hình 2.12. Mô hình Markov ẩn nhận dạng chữ viết tay.
Sau khi nhận dạng các chữ hoa, ta tiến hành nhận dạng dấu (sẽ trình bày ở chương sau). Và sau đó có thể dùng mô hình văn phạm để hiệu chỉnh kết quả.
Cây tự điển là một mảng cây đa phân, được tạo thành với dữ liệu tại mỗi node là một ký tự sao cho mỗi từ trong tự điển tiếng Việt sẽ tạo thành một đường đi trên cây [1]. Vắ dụ chữ ỘanhỢ như trên hình sẽ được tạo bởi node gốc là chữ ỘaỢ, node con ở cấp 1 là chữ ỘnỢ, và node con ở cấp 2 là chữ ỘhỢ.
Vì cấu trúc của một từ đơn tiếng Việt chỉ có tối đa 7 chữ nên cây từ điển sẽ có tối đa 7 mức. b a c á ... ... m g b n h ... mức 1 mư c 2 mức 3 ... mức 6
Hình 2.13. Mô hình cây tự điển.
Vì cấu trúc của một từ đơn tiếng Việt chỉ có tối đa 7 chữ nên cây từ điển sẽ có tối đa 7 mức.
Tiếng Việt có gần 8000 từ đơn. Nếu lưu trực tiếp 8000 từ đơn này không những không được lợi về không gian lưu trữ mà còn khó khăn trong quá trình tìm kiếm (phải duyệt tuần tự). Mục đắch tổ chức cây tự điển nhằm tối ưu không gian lưu trữ và khả năng tìm kiếm cao do tổ chức cây ở mỗi mức là tăng dần theo trật tự alphabe.
Cây tự điển có 2 chức năng chắnh: kiểm tra lỗi chắnh tả và sửa lỗi chắnh tả. Quá trình kiểm tra lỗi chắnh tả có thể thực hiện bằng cách duyệt từ trái sang
phải các ký tự trong từ nếu các ký tự tạo thành một đường đi trên cây tự điển thì từ đó đúng chắnh tả, ngược lại từ đó sai lỗi chắnh tả.
Quá trình sửa lỗi chắnh tả có thể thực hiện bằng cách dùng mô hình tri- grammar. Ý tưởng của mô hình chắnh là dùng các chữ liên kết ở trước và các chữ liên kết ở sau ở một chữ trong từ để hiệu chỉnh lại chữ đó trong trường hợp sai lỗi ngữ pháp. Trong ngữ cảnh bài toán nhận dạng họ tên người Việt, việc sửa lỗi chắnh tả bằng cây từ điển không đủ mạnh bởi không tận dụng được một số tắnh chất đặc biệt của bài toán.
IV.5.2 Mô hình lớp từ đơn
Vì cấu trúc một từ tiếng Việt gồm tối đa 7 chữ nên có thể tổ chức các từ tiếng Việt thành 7 lớp: lớp 1 chữ, lớp 2 chữ,Ầ, lớp 7 chữ [1]. 1 ký tự 2 ký tự a á ... ... Từ cần phân lớp 3 ký tự 4 ký tự 5 ký tự anh ... ... 6 ký tự ... Hình 2.13. Mô hình lớp từ đơn.
Mô hình lớp từ đơn được dùng chủ yếu để hiệu chỉnh lỗi chắnh tả, quá trình được thực hiện như sau:
Khi một từ không có trong tự điển (nghĩa là sai lỗi chắnh tả) thì ta sẽ tìm trong lớp từ tương ứng một từ sai ắt nhất so với từ đưa vào (sai ắt ký tự nhất).
Trong ngữ cảnh bài toán nhận dạng họ tên người Việt, mô hình này hiệu chỉnh lỗi sai chắnh tả khá tốt. Bởi vì họ người Việt chỉ có khoảng 150 họ, và tần số xuất hiện của các họ thay đổi khá lớn, nên khi tìm từ gần đúng với từ đang
xét ta có thể chọn từ sai ắt nhất có tần số xuất hiện cao nhất. Ngoài ra các chữ lót và tên cũng có thể được thực hiện tương tự.
IV.6 Tổng kết chương
Tóm lại, trong chương này, chúng ta đã điểm qua một số vấn đề cơ bản và cách xây dựng một hệ nhận chữ viết tay đơn giản. Mô hình nhận dạng được nhấn mạnh ở đây là mô hình Markov ẩn bởi có thể thay đổi đặc trưng trên chữ một cách dễ dàng. Trong ngữ cảnh bài toán nhận dạng chữ viết tay họ tên người Việt Nam, có thể dùng một mô hình văn phạm nào đó (ở đây dùng mô hình lớp từ đơn) để nâng cao kết quả nhận dạng.
CHƯƠNG V