Trong khoa học máy tính, học bán giám sát là một phương thức của ngành học máy sử dụng cả dữ liệu gán nhãn và chưa gán nhãn, nhiều nghiên cứu của ngành học máy có thể tìm ra được dữ liệu
Trang 1LUẬN VĂN THẠC SĨ KỸ THUẬT
Người hướng dẫn khoa học: TS PHẠM MINH TUẤN
Đà Nẵng - Năm 2018
Trang 2Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi
- Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của Thầy TS Phạm Minh Tuấn
- Các số liệu, kết quả nêu trong luận văn là trung thực
- Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng và trung thực tên tác giả, tên công trình, thời gian, địa điểm công bố
- Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm
Trang 3TRANG BÌA
LỜI CAM ĐOAN
MỤC LỤC
TRANG TOM TẮT LUẬN VAN
DANH MỤC CAC TỪ VIẾT TẮT
DANH MỤC CAC HÌNH
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục đích nghiên cứu 1
3 Ý nghĩa khoa học và thực tiễn của đề tài 1
4 Mục tiêu và nhiệm vụ 1
5 Bố cục của luận văn 2
CHƯƠNG 1 CÁC PHƯƠNG PHÁP NHẬN DẠNG 3
1.1 Học máy 3
1.1.1 Khái niệm 3
1.1.2 Các phương pháp học máy 3
1.2 Các phương pháp nhận dạng 5
1.2.1 Máy véc-tơ hỗ trợ (SVM) 5
1.2.2 Phương pháp tiếp cận cấu trúc 7
1.2.3 Mô hình Markov ẩn (HMM – Hidden Markov Model) 8
1.2.4 Đối sánh mẫu 10
1.2.5 Mạng nơ ron 11
1.2.6 Nhận dạng ký tự quang học – OCR 13
1.3 Thách thức đối với hệ thống nhận dạng 15
1.4 Kết chương 16
CHƯƠNG 2 XÂY DỰNG ỨNG DỤNG PHÂN LOẠI VĂN BẢN TẠI TỈNH ĐOÀN QUẢNG NGÃI 17
2.1 Xây dựng hệ thống 17
2.1.1 Giới thiệu bài toán 17
2.1.2 Phương pháp đề xuất 17
2.2 Quy trình xử lý nhận dạng 18
2.2.1 Tiền xử lý 18
2.2.2 Khối tách chữ 19
Trang 42.2.4 Huấn luyện và nhận dạng 20
2.2.5 Hậu xử lý 20
2.3 Bố cục văn bản thực tế tại Tỉnh Đoàn Quảng Ngãi 20
2.4 Tổng quan về hệ thống văn bản tại Tỉnh đoàn 22
2.4.1 Thể loại Công văn 23
2.4.2 Thể loại Kế hoạch 23
2.4.3 Thể loại Báo cáo 24
2.4.4 Thể loại Chương trình 24
2.4.5 Thể loại Đề án 25
2.4.6 Thể loại Giấy mời 25
2.4.7 Thể loại Hướng dẫn 25
2.4.8 Thể loại Kết luận 26
2.4.9 Thể loại Quyết định 26
2.4.10 Thể loại Thông báo 27
2.4.11 Thể loại Thông tri 27
CHƯƠNG 3 TRIỂN KHAI HỆ THỐNG VÀ ĐÁNH GIÁ KẾT QUẢ 28
3.1 Chức năng chương trình 28
3.1.1 Nhận văn bản đầu vào 28
3.1.2 Tiền xử lý 29
3.1.3 Huấn luyện Nhận dạng 29
3.1.4 Hậu xử lý 31
3.1.5 Hiển thị và lưu trữ 32
3.2 Môi trường thực nghiệm 32
3.2.1 Dữ liệu sử dụng 32
3.2.2 Giao diện chương trình 33
3.3 Đánh giá về kết quả 38
3.3.1 Về cài đặt 38
3.3.2 Về thực nghiệm 38
KẾT LUẬN 40
TÀI LIỆU THAM KHẢO
QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN THẠC S (BẢO SAO
BẢN SAO KẾT LUẬN CỦA HỘI ĐỒNG, BẢN SAO NHẬN XÉT CỦA CÁC PHẢN BIỆN
Trang 5XÂY DỰNG HỆ THỐNG PHÂN LOẠI TÀI LIỆU TẠI
TỈNH ĐOÀN QUẢNG NGÃI
Học viên: Nguyễn Phúc Hậu; Chuyên ngành: Khoa học máy tính
Mã số: 8480101 Khóa: K33-QNG; Trường Đại học Bách khoa - ĐHĐN
Tóm tắt - Trong thời đại ngày nay, với sự phát triển vượt bật của công nghệ thông tin
và ứng dụng của nó trong đời sống - kinh tế - xã hội, lượng dữ liệu thu thập được ngày càng nhiều theo thời gian, làm xuất hiện ngày càng nhiều các hệ thống cơ sở dữ liệu có kích thước lớn với nhu cầu cấp thiết khi muốn truy xuất dữ liệu
Từ khối dữ liệu đã có sẵn tại cơ quan Tỉnh đoàn Quảng Ngãi, các kỹ thuật trong dạy máy học có thể dùng để lưu trữ dữ liệu, trích xuất những thông tin hữu ích khi cần thiết Qua tìm hiểu những chức năng của dạy máy học, luận văn tập trung vào nghiên cứu kỹ thuật dạy máy học dựa trên hệ thống nhận dạng ký tự quang học OCR Hiểu được các thuật toán hiệu quả từ nhận dạng ký tự quang học nắm được những điểm chính cần quan tâm giải quyết để phân loại văn bản tại cơ quan Tỉnh đoàn Quảng Ngãi Phần mềm được xây dựng trên nền ứng dụng, thuận tiện cho người sử dụng không có chuyên môn công nghệ thông tin ở cơ quan Tỉnh đoàn Quảng Ngãi
Từ khóa – Hệ thống phân loại, phân loại văn bản, phân loại tài liệu, nhận dạng ký tự, OCR
CONSTRUCTION OF CLASSIFICATION OF DOCUMENTS SYSTEM IN QUANG NGAI PROVINCIAL GROUP
Summary - Nowadays, with the rapid development of information technology and its
application in the socio-economic life, the amount of collected data involving with the appearance of a lot of the large database systems with the need of data accessing is increasing day by day
From the available data of Quang Ngai Provincial Youth Union, the techniques of machine learning can be used to store the data, to extract useful information By studying the functions of machine learning, this thesis focuses on the research of machine learning ktechniques based on the OCR - Optical Character Recognition system The aim of understanding the effective algorithms from the Optical Character Recognition possesses and the main points to solve is to classify documents at Quang Ngai Provincial Youth Union The software is convenient for its users who do not have much knowledge of information technology at Quang Ngai Provincial Youth Union
Keywords - Classification system, text classification, document classification, character recognition, OCR
Trang 6SVM Support Vector Machines
SV Support Vector
VLSI Very-large-scale-intergrated
OCR Optical Character Recognition
PDA thiết bị nhập cho những thiết bị hỗ trợ cá nhân ICR Intelligent Character Recognition
CV Công văn
CVLT Công văn liên tịch
KH Kế hoạch
KHPH Kế hoạch phối hợp
Trang 7Hình 1.1: Mô hình máy véc-tơ hỗ trợ 6
Hình 1.2: Mô hình Markov ẩn 9
Hình 1.3: Biểu đồ chuyển tiếp trạng thái mô hình Markov 9
Hình 2.1: Quy trình xử lý của một ứng dụng nhận dạng ký tự quang học 18
Hình 2.2: Ví dụ về các vùng văn bản tại Tỉnh đoàn Quảng Ngãi 22
Hình 2.3: Thể loại công văn 23
Hình 2.4: Thể loại Kế hoạch 23
Hình 2.5: Thể loại Kế hoạch phối hợp 24
Hình 2.6: Thể loại văn bản Báo cáo 24
Hình 2.7: Thể loại văn bản Chương trình 24
Hình 2.8: Thể loại văn bản Đề án 25
Hình 2.9: Thể loại văn bản Giấy mời 25
Hình 2.10: Thể loại văn bản Hướng dẫn 26
Hình 2.11: Thể loại văn bản Kết luận 26
Hình 2.13: Thể loại văn bản Thông báo 27
Hình 2.14: Thể loại văn bản Thông tri 27
Hình 3.1: Chức năng chính trong chương trình 28
Hình 3.2: Văn bản thô chưa nhận dạng và phân loại 29
Hình 3.3: Sơ đồ khối quá trình nhận dạng văn bản 30
Hình 3.4: Văn bản sau khi được nhận dang và phân loại theo từng mục 32
Hình 3.5: Giao diện chương trình 33
Hình 3.6: Khởi tạo mã văn bản tại cơ quan 34
Hình 3.7: Lưu mã và đường dẫn lưu văn bản sau khi trỏ thành công 34
Hình 3.8: Dạy máy học mã liên quan 35
Hình 3.9: Hệ thống thông báo đã tồn tại liên kết 36
Hình 3.10: Chức năng Testing – kiểm tra đơn văn bản 37
Hình 3.11: Chức năng Scanning 37
Hình 3.12: Hiển thị các thiết bị Scan trên hệ thống máy tính 38
Hình 3.13: Tỉ lệ nhận dạng 39
Trang 8- Công nghệ mã nguồn mở Tesseract OCR
- Tạo ra một ứng dụng nhận dạng ký hiệu văn bản dựa trên mã nguồn mở Tesseract OCR
3 Ý nghĩa khoa học và thực tiễn của đề tài
Trang 94.2 Nhiệm vụ
- Tìm hiểu tổng quan về các phương pháp dạy máy học
- Nghiên cứu lý thuyết nhận dạng, xử lý ảnh
- Tạo ra một ứng dụng nhận dạng ký hiệu văn bản rời rạc dựa trên mạng noron
và mã nguồn mở Tesseract OCR
- Xây dựng chương trình, cài đặt, kiểm thử và đánh giá
5 Bố cục của luận văn
Cấu trúc của luận văn được trình bày bao gồm các phần chính sau:
MỞ ĐẦU: Giới thiệu sơ bộ về lý do chọn đề tài, mục đích nghiên cứu, đối
tượng và phạm vi nghiên cứu, phương pháp nghiên cứu, ý nghĩa khoa học và thực tiễn của đề tài
CHƯƠNG 3: TRIỂN KHAI HỆ THỐNG VÀ ĐÁNH GIÁ KẾT QUẢ
Trong chương này, tác giả xin được trình bày hệ thống nhận dạng văn bản tại cơ quan Tỉnh Đoàn Quảng Ngãi và xây dựng quá trình thực nghiệm và đánh giá kết quả
Trang 10CHƯƠNG 1 CÁC PHƯƠNG PHÁP NHẬN DẠNG
1.1 Học máy
1.1.1 Khái niệm
Học máy [1] là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc phát triển các kĩ thuật cho phép các máy tính có thể "học" Cụ thể hơn, học máy là một phương pháp để tạo ra các chương trình máy tính bằng việc phân tích các tập dữ liệu
Học máy có liên quan lớn đến thống kê, vì cả hai lĩnh vực đều nghiên cứu việc phân tích dữ liệu, nhưng khác với thống kê, học máy tập trung vào sự phức tạp của các giải thuật trong việc thực thi tính toán Nhiều bài toán suy luận được xếp vào loại bài toán khó, vì thế một phần của học máy là nghiên cứu sự phát triển các giải thuật suy luận xấp xỉ mà có thể xử lý được
Học máy có tính ứng dụng rất cao bao gồm máy truy tìm dữ liệu, chẩn đoán y khoa, phát hiện thẻ tín dụng giả, phân tích thị trường chứng khoán, phân loại các chuỗi DNA, nhận dạng tiếng nói và chữ viết, dịch tự động, chơi trò chơi và cử động rô-bốt
1.1.2 Các phương pháp học máy
1.1.2.1 Học không giám sát
Học không giám sát (Unsupervised Learning là một phương pháp nhằm tìm ra một mô hình mà phù hợp với các tập dữ liệu quan sát Nó khác biệt với học có giám sát ở chỗ là đầu ra đúng tương ứng cho mỗi đầu vào là không biết trước Trong học không có giám sát, đầu vào là một tập dữ liệu được thu thập Học không có giám sát thường đối xử với các đối tượng đầu vào như là một tập các biến ngẫu nhiên Sau đó, một mô hình mật độ kết hợp sẽ được xây dựng cho tập dữ liệu đó Học không giám sát cũng hữu ích cho việc nén dữ liệu: về cơ bản, mọi giải thuật nén dữ liệu hoặc là dựa vào một phân bố xác suất trên một tập đầu vào một cách tường minh hay không tường minh
Có rất nhiều thuật toán học không giám sát được ra đời và phát triển nhằm giải quyết bài toán phân cụm phục vụ khai thác hiệu quả nguồn dữ liệu chưa gán nhãn nhiều và rất đa dạng Việc lựa chọn sử dụng thuật toán nào tuỳ thuộc vào dữ liệu và mục đích của từng bài toán Trong đó các thuật toán thường được sử dụng như: Kmean, HAC (Hierarchial Agglomerative Clustering), SOM (Self-Organizing Map), DBSCAN…
Trang 111.1.2.2 Học có giám sát
Học có giám sát (Supervised Learning là một kĩ thuật của ngành học máy để xây dựng một hàm từ dữ liệu huấn luyện Dữ liệu huấn luyện bao gồm các cặp gồm đối tượng đầu vào (thường dạng vec-tơ , và đầu ra mong muốn Đầu ra của một hàm
có thể là một giá trị liên tục (gọi là hồi qui , hay có thể là dự đoán một nhãn phân loại cho một đối tượng đầu vào (gọi là phân loại
Học có giám sát có thể dự đoán giá trị của hàm cho một đối tượng bất kì là đầu vào hợp lệ, sau khi đã xem xét một số ví dụ huấn luyện (nghĩa là, các cặp đầu vào và đầu ra tương ứng
Một số thuật toán thường được lựa chọn khi xây dựng bộ phân lớp gồm có: Máy vector hỗ trợ (Support Vector Machine – SVM , hạt nhân phân tích biệt thức, K láng giềng gần nhất (K Nearest Neighbours – KNN , tiếp cận xác suất thống kê (Naive Bayes – NB , cây quyết định (Decision Tree – DT , mạng nơron (Neural Network – Nnet , Vector trọng tâm (Centroid–base vector , tuyến tính bình phương nhỏ nhất (Linear Least Square Fit – LLSF)
1.1.2.3 Học bán giám sát
Theo Xiaojin Zhu, khái niệm học bán giám sát [2] được đưa ra năm 1970 khi bài toán đánh giá quy tắc Linear Discrimination Fisher cùng với dữ liệu chưa gán nhãn được nhiều sự quan tâm của các nhà khoa học trên thế giới
Trong khoa học máy tính, học bán giám sát là một phương thức của ngành học máy sử dụng cả dữ liệu gán nhãn và chưa gán nhãn, nhiều nghiên cứu của ngành học máy có thể tìm ra được dữ liệu chưa gán nhãn khi sử dụng với một số lượng nhỏ dữ liệu gán nhãn[3] Công việc thu được kết quả của dữ liệu gán nhãn thường đòi hỏi ở trình độ tư duy và khả năng của con người, công việc này tốn nhiều thời gian và chi phí, do vậy dữ liệu gán nhãn thường rất hiếm và đắt, trong khi dữ liệu chưa gán nhãn thì lại rất phong phú Trong trường hợp đó, chúng ta có thể sử dụng học bán giám sát
để thi hành các công việc ở quy mô lớn
Học bán giám sát bao gồm dữ liệu gán nhãn và chưa gán nhãn Học bán giám sát có thể được áp dụng vào việc phân lớp và phân cụm Mục tiêu của học bán giám sát là huấn luyện tập phân lớp tốt hơn học có giám sát từ dữ liệu gán nhãn và chưa gán nhãn
Như vậy, có thể nói học bán giám sát là phương pháp học có giám sát kết hợp với việc tận dụng các dữ liệu chưa gán nhãn Trong phần bổ sung thêm vào cho dữ liệu gán nhãn, thuật toán cung cấp một vài thông tin giám sát, việc này không cần thiết cho
Trang 12tất cả các mẫu huấn luyện Thông thường thông tin này sẽ được kết hợp với một vài mẫu cho trước
Một số thuật toán thường được sử dụng gồm có: thuật toán Cực đại kỳ vọng (EM - Expectation Maximization , SVM truyền dẫn (TSVM - Transductive Support Vector Machine), Self-training, Co-training và các phương pháp dựa trên đồ thị (graphbased) Việc lựa chọn thuật toán nào dựa trên một số định hướng: nếu các lớp dữ liệu có tính phân cụm cao thì nên dùng EM với mô hình hỗn hợp sinh; nếu đã
sử dụng SVM thì mở rộng thành TSVM; khi khó nâng cấp mô hình học có giám sát đã
có, thì nên dùng self-training; nếu các đặc trưng của dữ liệu phân chia tự nhiên thành hai phần riêng rẽ thì nên dùng Co-training; còn nếu hai mẫu dữ liệu có đặc trưng tương
tự nhau hướng tới một lớp thì sử dụng phương pháp dựa trên đồ thị
là phương pháp Monte Carlo và phương pháp TD (Temporal Difference)
1.2 Các phương pháp nhận dạng
1.2.1 Máy véc-tơ hỗ trợ (SVM)
Máy vectơ hỗ trợ [22] (SVM – viết tắt tên tiếng Anh support vector machine là một khái niệm trong thống kê và khoa học máy tính cho một tập hợp các phương pháp học có giám sát liên quan đến nhau để phân loại và phân tích hồi quy SVM dạng chuẩn nhận dữ liệu vào và phân loại chúng vào hai lớp khác nhau Do đó SVM là một thuật toán phân loại nhị phân Với một bộ các ví dụ luyện tập thuộc hai thể loại cho trước, thuật toán luyện tập SVM xây dựng một mô hình SVM để phân loại các ví dụ khác vào hai thể loại đó Một mô hình SVM là một cách biểu diễn các điểm trong không gian và lựa chọn ranh giới giữa hai thể loại sao cho khoảng cách từ các ví dụ luyện tập tới ranh giới là xa nhất có thể Các ví dụ mới cũng được biểu diễn trong cùng một không gian và được thuật toán dự đoán thuộc một trong hai thể loại tùy vào ví dụ
đó nằm ở phía nào của ranh giới
Trang 13Hình 1.1: Mô hình máy véc-tơ hỗ trợ
Một máy vectơ hỗ trợ xây dựng một siêu phẳng hoặc một tập hợp các siêu phẳng trong một không gian nhiều chiều hoặc vô hạn chiều, có thể được sử dụng cho phân loại, hồi quy, hoặc các nhiệm vụ khác Một cách trực giác, để phân loại tốt nhất thì các siêu phẳng nằm ở càng xa các điểm dữ liệu của tất cả các lớp (gọi là hàm lề càng tốt, vì nói chung lề càng lớn thì sai số tổng quát hóa của thuật toán phân loại càng
bé
Trong nhiều trường hợp, không thể phân chia các lớp dữ liệu một cách tuyến tính trong một không gian ban đầu được dùng để mô tả một vấn đề Vì vậy, nhiều khi cần phải ánh xạ các điểm dữ liệu trong không gian ban đầu vào một không gian mới nhiều chiều hơn, để việc phân tách chúng trở nên dễ dàng hơn trong không gian mới
Để việc tính toán được hiệu quả, ánh xạ sử dụng trong thuật toán SVM chỉ đòi hỏi tích
vô hướng của các vectơ dữ liệu trong không gian mới có thể được tính dễ dàng từ các tọa độ trong không gian cũ Tích vô hướng này được xác định bằng một hàm hạt nhân K(x,y) phù hợp Một siêu phẳng trong không gian mới được định nghĩa là tập hợp các điểm có tích vô hướng với một vectơ cố định trong không gian đó là một hằng số Vectơ xác định một siêu phẳng sử dụng trong SVM là một tổ hợp tuyến tính của các vectơ dữ liệu luyện tập trong không gian mới với các hệ số αi Với siêu phẳng lựa chọn như trên, các điểm x trong không gian đặc trưng được ánh xạ vào một siêu mặt phẳng là các điểm thỏa mãn:
Trang 14∑ ( ) Ghi chú rằng nếu K(x,y nhận giá trị ngày càng nhỏ khi y xa dần khỏi x thì mỗi
số hạng của tổng trên được dùng để đo độ tương tự giữa x với điểm xi tương ứng trong
dữ liệu luyện tập Như vậy, tác dụng của tổng trên chính là so sánh khoảng cách giữa điểm cần dự đoán với các điểm dữ liệu đã biết Lưu ý là tập hợp các điểm x được ánh
xạ vào một siêu phẳng có thể có độ phức tạp tùy ý trong không gian ban đầu, nên có thể phân tách các tập hợp thậm chí không lồi trong không gian ban đầu
Ưu điểm của SVM
- Cho kết quả nhận dạng với độ chính xác cao
- Bài toán huấn luyện SVM thực chất là bài toán quy hoạch toàn phương trên một tập lồi, do đó SVM luôn có nghiệm toàn cục và duy nhất, đây chính là điểm khác biệt rõ nhất giữa SVM so với phương pháp mạng Neural, vì mạng Neural vốn tồn tại nhiều điểm cực trị địa phương
Nhược điểm của SVM
- Hạn chế lớn nhất của SVM là tốc độ phân lớp rất chậm, tùy thuộc vào số lượng các véc tơ hỗ trợ
- Giai đoạn huấn luyện SVM đòi hỏi bộ nhớ rất lớn, do đó các bài toán huấn luyện với số lượng mẫu lớn sẽ gặp trở ngại trong vấn đề lưu trữ Hiệu quả phân lớp của SVM phụ thuộc vào hai yếu tố: giải bài toán quy hoạc toàn phương và lựa chọn hàm nhân
1.2.2 Phương pháp tiếp cận cấu trúc
Cách tiếp cận của phương pháp này dựa vào việc mô tả đối tượng nhờ một số khái niệm biểu diễn đối tượng cơ sở trong ngôn ngữ tự nhiên Để mô tả đối tượng người ta dùng một số dạng nguyên thủy như đoạn thẳng, cung,… Mỗi đối tượng được
mô tả như một sự kết hợp của các dạng nguyên thủy
Các quy tắc kết hợp các dạng nguyên thủy được xây dựng giống như việc nghiên cứu văn phạm trong một ngôn ngữ, do đó quá trình quyết định nhận dạng là quá trình phân tích cú pháp[5,6] Phương pháp này đặt vấn đề để giải quyết bài toán nhận dạng chữ tổng quát Tuy vậy, cho đến nay còn nhiều vấn đề liên quan đến hệ nhận dạng cú pháp chưa được giải quyết độc lập và xây dụng được các thuật toán phổ dụng Hiện nay, nhận dạng theo cấu trúc phổ biến là trích trọn các đặc trung của mẫu học, phân hoạch bảng ký tự dựa trên các đặc trưng này, sau đó ảnh cần nhận dạng sẽ được trích chọn đặc trưng, sau đó so sánh bảng phân hoạch để tìm ra ký tự có các đặc trưng phù hợp
Trang 15Các phương pháp cấu trúc áp dụng cho các bài toán nhận dạng chữ được phát triển theo hai hướng sau:
1.2.2.1 Phương pháp đồ thị (Graphical Methods)
Các đơn vị chữ viết được mô tả bởi các cây hoặc các đồ thị Các dạng nguyên thủy của ký tự (các nét được lựa chọn bởi một hướng tiếp cận cấu trúc Đối với mỗi lớp, một đồ thị hoặc cây được thành lập trong giai đoạn huấn luyện để mô tả các nét, các ký tự hoặc các từ Giai đoạn nhận dạng gán một đồ thị chưa biết vào một trong các lớp bằng cách sử dụng một độ đo để so sánh các đặc điểm giống nhau giữa các đồ thị
1.2.2.2 Phương pháp ngữ pháp (Grammatical Methods)
Giữa thập niên 1960, các nhà nghiên cứu bắt đầu xét các luật của ngôn ngữ học
để phân tích tiếng nói và chữ viết Sau đó, các luật đa dạng của chính tả, từ vựng và ngôn ngữ học đã được áp dụng cho các chiến lược nhận dạng Phương pháp ngữ pháp khởi tạo một số luật sinh để hình thành các ký tự từ một tập các công thức ngữ pháp nguyên thủy Các luật sinh này có thể kết nối bất kỳ kiểu đặc trưng thống kê và đặc trưng hình thái nào dưới một số cú pháp hoặc các luật ngữ nghĩa[5,6,7] Giống như lý thuyết ngôn ngữ, các luật sinh cho phép mô tả các cấu trúc câu có thể chấp nhận được các trích chọn thông tin theo ngữ cảnh về chữ viết bằng cách sử dụng các kiêu ngữ pháp khác nhau[8]
Trong phương pháp này, việc huấn luyện được thực hiện bằng cách mô tả mỗi
ký tự bằng một văn phạm Gi Còn trong pha nhận dạng thì chuỗi, cây hoặc đồ thị của một đơn vị viết bất kỳ (ký tự, từ hoặc câu được phân tích để quyết định văn phạm của mẫu đó thuộc lớp nào Các phương pháp ngữ pháo hầu hết được sử dụng trong giai đoạn hậu xử lý để sửa các lỗi mà khối nhận dạng đã thực hiện sai[9,10]
1.2.3 Mô hình Markov ẩn (HMM – Hidden Markov Model)
Mô hình Markov ẩn [23] (tiếng Anh là Hidden Markov Model - HMM) là mô
hình thống kê trong đó hệ thống được mô hình hóa được cho là một quá trình Markov với các tham số không biết trước và nhiệm vụ là xác định các tham số ẩn từ các tham số quan sát được, dựa trên sự thừa nhận này Các tham số của mô hình được rút ra sau đó có thể sử dụng để thực hiện các phân tích kế tiếp, ví dụ cho các ứng dụng nhận dạng mẫu
Trong một mô hình Markov điển hình, trạng thái được quan sát trực tiếp bởi người quan sát, và vì vậy các xác suất chuyển tiếp trạng thái là các tham số duy
nhất Mô hình Markov ẩn thêm vào các đầu ra: mỗi trạng thái có xác suất phân bổ
Trang 16y(t-1) y(t) y(t+1)
trên các biểu hiện đầu ra có thể Vì vậy, nhìn vào dãy của các biểu hiện được sinh ra
bởi HMM không trực tiếp chỉ ra dãy các trạng thái
Đây là một mô hình toán thống kê có ứng dụng rộng rãi trong Tin sinh học
Các chuyển tiếp trạng thái trong mô hình Markov ẩn
Hình 1.2: Mô hình Markov ẩn
- x — Các trạng thái trong mô hình Markov
- a — Các xác suất chuyển tiếp
- b — Các xác suất đầu ra
- y — Các dữ liệu quan sát
Sự tiến hóa của mô hình Markov
Biểu đồ trên đây làm nổi bật các chuyển tiếp trạng thái của mô hình Markov ẩn
Nó cũng có ích để biểu diễn rõ ràng sự tiến hóa của mô hình theo thời gian, với các trạng thái tại các thời điểm khác nhau t1 và t2 được biểu diễn bằng các tham biến khác nhau, x(t1) và x(t2)
Hình 1.3: Biểu đồ chuyển tiếp trạng thái mô hình Markov
Trong biểu đồ này, nó được hiểu rằng thời gian chia cắt ra (x(t), y(t mở rộng
tới các thời gian trước và sau đó như một sự cần thiết Thông thường lát cắt sớm nhất
là thời gian t=0 hay t=1
Trang 17Sử dụng các mô hình Markov
Có ba vấn đề cơ bản để giải quyết bằng HMM:
Cung cấp cho mô hình các tham số, tính xác suất của dãy đầu ra cụ thể Giải bằng thuật toán tiến trước (thuật toán tham lam)
Cung cấp cho mô hình các tham số, tìm dãy các trạng thái (ẩn có khả năng lớn nhất mà có thể sinh ra dãy đầu ra đã cung cấp Giải bằng thuật toán Viterbi
Cung cấp dãy đầu ra, tìm tập hợp có khả năng nhất của chuyển tiếp trạng thái và các xác suất đầu ra Giải bằng thuật toán Baum-Welch
Các ứng dụng
Sự nhận biết lời nói hay sự nhận biết ký tự quang học
Quy trình ngôn ngữ tự nhiên
Tin sinh học và hệ gen học:
Dự đoán các vùng mang mã (khung đọc mở trên một trình từ gene
Xác định các họ gene hoặc họ protein liên quan
Mô phỏng cấu trúc không gian của protein từ trình tự amino acid
và còn nhiều nữa
1.2.4 Đối sánh mẫu
Kỹ thuật nhận dạng chữ đơn giản nhất dựa trên cơ sở đối sánh các nguyên mẫu (prototype với nhau để nhận dạng ký tự hoặc từ Nói chung, toán tử đối sánh xác định mức độ giống nhau giữa hai véc tơ (nhóm các điểm, hình dạng, độ cong trong một không gian đặc trưng Các kỹ thuật đối sánh có thể nghiên cứu theo ba hướng sau:
Đối sánh trực tiếp: Một ký tự đầu vào là ảnh đa cấp xám hoặc ảnh nhị phân được so sánh trực tiếp với một tập mẫu chuẩn đã được lưu trữ Việc so sánh dựa theo một độ đo về sự tương đồng nào đó (chẳng hạn như độ đo Euclide để nhận dạng Các
kỹ thuật đối sánh này có thể đơn giản như việc so sánh một – một hoặc phức tạp hơn như cây quyết định[11,12] Mặc dù phương pháp đối sánh trực tiếp đơn giản và có một
cơ sở toán học vững chắc nhưng kết quả nhận dạng của nó cũng rất nhạy cảm với nhiễu
Các mẫu biến dạng và đối sánh mềm: Một phương pháp đối sánh khác là sử dụng các mẫu biến dạng, trong đó một phép biến dạng ảnh được dùng để đối sánh một ảnh chưa biết với một cơ sở dữ liệu ảnh đã biết[13]
Ý tưởng cơ bản của đối sánh mềm là đối sánh một cách tối ưu mẫu chưa biết với tất cả các mẫu có thể mà các mẫu này có thế kéo giãn ra hoặc co lại Chỉ một không gian đặc trung được thành lập, các véc tơ chưa biết được đối sánh bằng cách sử dụng quy hoạch động và một hàm biến dạng[14,15]
Trang 18Đối sánh giảm nhẹ: Đây là một kỹ thuật đối sánh ảnh ở mức độ tượng trưng, kỹ thuật này sử dụng hình dáng đặc trưng cơ bản của ảnh ký tự Thứ nhất, các vùng đối sánh đã được nhận biết Sau đó, trên cơ sở với các vùng đối sánh này Công việc này đòi hỏi một kỹ thuật tìm kiếm trong một không guan đa chiều để tìm cực đại toàn cục của số hàm[16]
Các kỹ thuật đối sánh mẫu chỉ áp dụng với nhận dạng chữ in, còn đối với chữ viết tay thì các kỹ thuật này tỏ ra kém hiệu quả
1.2.5 Mạng nơ ron
Một mạng nơ ron được định nghĩa như một cấu trúc tính toán bao gồm nhiều bộ
xử lý ―nơ ron‖ được kết nối song song chằng chịt với nhau Do bản chất song song của các nơ ron nên nó có thể thực hiện các tính toán với tốc độ cao hơn so với các kỹ thuật phân lớp khác Một mạng nơ ron chưa nhiều nút, đầu ra của một nút được sử dụng cho một nút khác ở trong mạng và hàm quyết định cuối cùng phụ thuộc vào sự tương tác phức tạp giữa các nút Mặc dù nguyên lý khác nhau, nhưng hầu hết các kiến trúc mạng
nơ ron đều tương đương với các phương pháp nhận dạng mẫu thống kê[17,18]
Các kiến trúc mạng nơ ron có thể được phân tành hai nhóm chính: mạng truyền thẳng và mạng lan truyền ngược Trong các hệ thống nhận dạng chữ, các mạng nơ ron
sử dụng phổ biến nhất là mạng perceptron đa lớp thuộc nhóm mạng truyền thẳng và mạng SOM (Self Origanizing Map của Kohonen thuộc nhóm mạng lan truyền ngược
Mạng perceptron đa lớp được đề xuất bởi Rosenblatt [19] được nhiều tác giả sử dụng trong hệ thống nhận dạng Hầu hết các nghiên cứu phát triển nhận dạng chữ viết hiện nay đều tập trung vào mạng SOM [20] SOM kết hợp trích chọn đặc trưng và nhận dạng trên một tập lớn các ký tự huấn luyện Mạng này chứng tỏ rằng nó tương đương với thuật toán phân cụm k-means
1.2.5.1 Đặc trưng của mạng nơ ron[21]
1.2.5.1.1 Tính phi tuyến
Một nơ ron có thể tính toán một cách tuyến tính hay phi tuyến Một mạng nơ ron, cấu thành bởi sự kết nối các nơ ron phi tuyến thì tự nó sẽ có tính phi tuyến Hơn nữa, điều đặc biệt là tính phi tuyến này được phân tán trên toàn mạng Tính phi tuyến
là một thuộc tính rất quan trọng, nhất là khi các cơ chế vật lý sinh ra các tín hiệu đầu vào (ví dụ tín hiệu tiếng nói vốn là phi tuyến
1.2.5.1.2 Tính chất tương ướng đầu vào đầu ra
Mặc dù khái niệm ―học‖ hay ―huấn luyện‖ chưa được bàn đến nhưng để hiểu được mối quan hệ đầu vào-đầu ra của mạng nơ ron, chúng ta sẽ đề cập sơ qua về khái
Trang 19niệm này Một mô hình học phổ biến được gọi là học với một người dạy hay học có giám sát liên quan đến việc thay đổi các trọng số liên kết của mạng nơ ron bằng việc
áp dụng một tập hợp các mẫu tích luỹ hay các ví dụ tích luỹ Mỗi một ví dụ bao gồm một tín hiệu đầu vào và một đầu ra mong muốn tương ứng Mạng nơ ron nhận một ví
dụ lấy một cách ngẫu nhiên từ tập hợp nói trên tại đầu vào của nó, và các trọng số liên kết của mạng được biến đổi sao cho có thể cực tiểu hoá sự sai khác giữa đầu ra mong muốn và đầu ra thực sự của mạng theo một tiêu chuẩn thống kê thích hợp Sự tích luỹ của mạng được lặp lại với nhiều ví dụ trong tập hợp cho tới khi mạng đạt tới một trạng thái ổn định mà ở đó không có một sự thay đổi đáng kể nào của các trọng số liên kết Các ví dụ tích luỹ được áp dụng trước có thể được áp dụng lại trong thời gian của phiên tích luỹ nhưng theo một thứ tự khác Như vậy mạng nơ ron học từ các ví dụ bằng cách xây dựng nên một tương ứng đầu vào-đầu ra cho vấn đề cần giải quyết
1.2.5.1.3 Tính chất thích nghi
Các mạng nơ ron có một khả năng mặc định là biến đổi các trọng số liên kết tuỳ theo sự thay đổi của môi trường xung quanh Đặc biệt, một mạng nơ ron đã được tích luỹ để hoạt động trong một môi trường xác định có thể được tích luỹ lại một cách dễ dàng khi có những thay đổi nhỏ của các điều kiện môi trường hoạt động
1.2.5.1.4 Tính chất đưa ra lời giải có bằng chứng
Trong ngữ cảnh phân loại mẫu, một mạng nơ ron có thể được thiết kế để đưa ra thông tin không chỉ về mẫu được phân loại, mà còn về sự tin cậy của quyết định đã được thực hiện Thông tin này có thể được sử dụng để loại bỏ các mẫu mơ hồ hay nhập nhằng
1.2.5.1.6 Khả năng cài đặt VLSI(Very-large-scale-intergrated)
Bản chất song song đồ sộ của một mạng nơ ron làm cho nó rất nhanh trong tính toán đối với một số công việc Đặc tính này cũng tạo ra cho một mạng nơ ron khả năng phù hợp cho việc cài đặt sử dụng kỹ thuật Very-large-scale-intergrated (VLSI Kỹ thuật này cho phép xây dựng những mạch cứng tính toán song song quy mô lớn Chính
vì vậy mà ưu điểm nổi bật của VLSI là mang lại những phương tiện hữu hiệu để có thể
xử lý được những hành vi có độ phức tạp cao
Trang 201.2.5.1.7 Tính chất đồng dạng trong phân tích và thiết kế
Về cơ bản, các mạng nơ ron có tính chất chung như là các bộ xử lý thông tin Chúng ta nêu ra điều này với cùng ý nghĩa cho tất cả các lĩnh vực có liên quan tới việc ứng dụng mạng nơ ron Đặc tính này thể hiện ở một số điểm như sau:
Các nơ ron, dưới dạng này hoặc dạng khác, biểu diễn một thành phần chung cho tất cả các mạng nơ ron
Tính thống nhất này đem lại khả năng chia sẻ các lý thuyết và các thuật toán học trong nhiều ứng dụng khác nhau của mạng nơ ron
Các mạng tổ hợp (modular có thể được xây dựng thông qua một sự tích hợp các mô hình khác nhau
Với thuật toán đơn giản nhưng rất hiệu quả, cùng với thành công của mô hình này trong các ứng dụng thực tiễn, mạng nơ ron hiện đang là một trong các hướng nghiên cứu của lĩnh vực học máy Mạng nơ ron tỏ ra phù hợp với các bài toán đối sánh, phân loại mãu, xấp xỉ hàm, tối ưu hóa, lượng tử hóa véc tơ và phân hoạch không gian dữ liệu, trong khi các phương pháp truyền thống không đủ khả năng giải quyết các vấn đề nêu trên một cách hiệu quả Đặc biệt trong các hệ thống nhận dạng sử dụng mạng nơ ron đã đạt được tỉ lệ nhận dạng khá chính xác, có thể so sánh với các phương pháp nhận dạng cấu trúc, thống kê,…
1.2.6 Nhận dạng ký tự quang học – OCR
Nhận dạng ký tự quang học [24] (tiếng anh: Optical Character Recognition, viết tắt là OCR , là loại phần mềm máy tính được tạo ra để chuyển các hình ảnh của chữ viết tay hoặc chữ đánh máy (thường được quét bằng máy scanner thành các văn bản tài liệu OCR được hình thành từ một lĩnh vực nghiên cứu về nhận dạng mẫu, trí tuệ nhân tạo và machine vision Mặc dù công việc nghiên cứu học thuật vẫn tiếp tục, một phần công việc của OCR đã chuyển sang ứng dụng trong thực tế với các kỹ thuật đã được chứng minh
Nhận dạng ký tự quang học (dùng các kỹ thuật quang học chẳng hạn như gương
và ống kính và nhận dạng ký tự số (sử dụng máy quét và các thuật toán máy tính lúc đầu được xem xét như hai lĩnh vực khác nhau Bởi vì chỉ có rất ít các ứng dụng tồn tại với các kỹ thuật quang học thực sự, bởi vậy thuật ngữ Nhận dạng ký tự quang học được mở rộng và bao gồm luôn ý nghĩa nhận dạng ký tự số
Đầu tiên hệ thống nhận dạng yêu cầu phải được huấn luyện với các mẫu của các
ký tự cụ thể Các hệ thống "thông minh" với độ chính xác nhận dạng cao đối với hầu hết các phông chữ hiện nay đã trở nên phổ biến Một số hệ thống còn có khả năng tái
Trang 21tạo lại các định dạng của tài liệu gần giống với bản gốc bao gồm: hình ảnh, các cột, bảng biểu, các thành phần không phải là văn bản
Hiện nay, với chữ Việt, phần mềm nhận dạng chữ Việt in VnDOCR 4.0 có khả năng nhận dạng trực tiếp các loại tài liệu được quét qua máy quét, không cần lưu trữ dưới dạng tệp ảnh trung gian Các trang tài liệu có thể được quét và lưu trữ dưới dạng tệp tin nhiều trang Kết quả nhận dạng được lưu trữ sang định dạng của Microsoft Word, Excel phục vụ rất tốt nhu cầu số hóa dữ liệu
Ngoài ra, còn có một dự án OCR Tiếng Việt có tên VietOCR, được phát triển dựa trên nền tảng mã nguồn mở tesseract-ocr do Google tài trợ VietOCR có khả năng nhận dạng chữ Việt rất tốt Đây là một chương trình nguồn mở Java/.NET, hỗ trợ nhận dạng cho các dạng ảnh PDF, TIFF, JPEG, GIF, PNG, và BMP
ABBYY - một hãng công nghệ hàng đầu trên thế giới về lĩnh vực Nhận dạng ký
tự quang học đã tiến hành nghiên cứu và triển khai công nghệ nhận dạng Tiếng Việt vào tháng 4 năm 2009 Với công nghệ này độ chính xác trong việc nhận dạng tài liệu chữ in Tiếng Việt lên tới hơn 99% (cứ nhận dạng 100 ký tự thì có chưa đến 1 ký tự sai Công nghệ của ABBYY chấp nhận hầu hết các định dạng ảnh đầu vào như: PDF, TIFF, JPEG, GIF, PNG, BMP, PCX, DCX, DjVu Kết quả nhận dạng được lưu trữ dưới các định dạng MS Word, MS Excel, HTML, TXT, XML, PDF, PDF 2 lớp, trong
đó định dạng PDF 2 lớp là một định dạng hoàn hảo cho việc lưu trữ và khai thác tài liệu Với định dạng này, người đọc có thể đọc trung thực ảnh gốc nhờ lớp ảnh bên trên, các công cụ tìm kiếm có thể tìm kiểm toàn văn trên văn bản nhờ lớp text nhận dạng được bên dưới
Sự nhận dạng chính xác ký tự Latin đánh máy được xem là vấn đề đã được giải quyết Tỷ lệ chính xác thực tế đạt tới 99%, mặc dù một số ứng dụng đòi hỏi tỷ lệ chính xác cao hơn nữa cần phải con người kiểm tra lại lỗi
Việc nhận dạng chữ in bằng tay, chữ thảo bằng tay, và thậm chí những phiên bản đánh máy được in ra của vài chữ (đặc biệt là những chữ có số chữ cái lớn , vẫn còn là một đề tài của các nghiên cứu
Các hệ thống nhận dạng ký tự viết tay đã đạt được những thành công lớn về mặt thương mại trong những năm gần đây Trong số đó là thiết bị nhập cho những thiết bị
hỗ trợ cá nhân (PDA như những phần mềm chạy trên Palm OS hãng Apple Newton
đi tiên phong trong công nghệ này Những giải thuật sử dụng trong những thiết bị này
sử dụng những ưu điểm rằng thứ tự, tốc độ, và hướng của những đoạn dòng đơn lẻ đã được biết trước Tương tự, người dùng có thể được yêu cầu sử dụng chỉ một vài loại kiểu chữ nhất định Những phương pháp này không thể dùng được trong phần mềm scan tài liệu giấy, do đó sự nhận dạng chính xác văn bản in bằng tay vẫn là một vấn đề
Trang 22lớn đang được bỏ ngỏ Với mức chính xác từ 80% đến 90%, những ký tự in bằng tay sạch sẽ có thể được nhận ra, nhưng độ chính xác đó vẫn tạo ra hàng tá lỗi mỗi trang, khiến cho công nghệ đó chỉ hiệu quả trong vài trường hợp nào đó Sự đa dạng của OCR hiện nay được biết đến trong công nghiệp là ICR, (Intelligent Character Recognition - Nhận dạng ký tự thông minh
Nhận dạng chữ viết tay là một lĩnh vực nghiên cứu sôi nổi, với tỷ lệ nhận dạng thậm chí còn thấp hơn cả văn bản in bằng tay Tỷ lệ nhận dạng cao hơn của những bản viết tay chung chung hầu như là không thể nếu không sử dụng thông tin về ngữ pháp
và văn cảnh Ví dụ như, nhận dạng cả một chữ từ một cuốn từ điển thì dễ hơn là việc
cố gắng lấy ra những ký tự rời rạc từ đoạn đó Đọc dòng Tổng cộng của một tờ séc (luôn luôn được viết bằng số là một ví dụ trong đó sử dụng những từ điển nhỏ hơn
có thể tăng tỷ lệ nhận dạng rất nhiều Kiến thức về ngữ pháp của một ngôn ngữ được scan cũng có thể giúp xác định một từ có thể là động từ hay danh từ, ví dụ như vậy, sẽ cho phép độ chính xác cao hơn Hình dạng của chữ viết tay bản thân nó đã không chứa
đủ thông tin về để nhận dạng chính xác (hơn 98% tất cả những đoạn chữ viết tay
Một vấn đề khó khăn của máy tính và con người đó là những bản lưu của những
lễ thánh và đám cưới của những nhà thờ cũ chỉ toàn chứa tên Những trang đó có thể bị
hư hại do thời gian, nước hay lửa và những tên trên đó có thể đã lỗi thời hoặc chứa những chính tả hiếm gặp Lĩnh vực nghiên cứu khác là tiếp cận hợp tác, ở đó máy tính
hỗ trợ con người và ngược lại Kỹ thuật xử lý hình ảnh của máy tính có thể hỗ trợ con người trong việc đọc những văn bản cực kỳ khó đọc như Bản viết trên da cừu của Archimede hay những Cuộn giấy da lấy từ vùng biển chết
Ngày nay, các hệ thống nhận dạng thỏa mãn độ chính xác nhận dạng cao đối với hầu hết các phông chữ tiêu chuẩn như Unicode Một số hệ thống còn có khả năng tái tạo lại các định dạng của tài liệu gần giống với bản gốc bao gồm hình ảnh, các cột, bảng biểu, các thành phần không phải là văn bản
1.3 Thách thức đối với hệ thống nhận dạng
Hệ thống nhận dạng phân loại văn bản là một ứng dụng máy tính tự nhận dạng tài liệu nào đó có sẵn trong máy tính và được người dùng chọn để nhận dạng và phân loại Một trong những cách để thực hiện điều này là so sánh các đặc điểm nhận dạng tại phân vùng chọn trước từ hình ảnh và một cơ sở dữ liệu về các loại văn bản
Có nhiều phương pháp nhận dạng khác nhau để phân loại và nhận dạng được văn bản hoặc chữ viết tay Các điều kiện khác mà nhận dạng và phân loại văn bản không làm việc tốt bao gồm thiếu ánh sáng, mờ, nhèo nát và các hình ảnh độ phân giải thấp
Trang 23Một bất lợi nghiêm trọng là nhiều hệ thống sẽ kém hiệu quả nếu biểu hiện khuôn mặt khác nhau
1.4 Kết chương
Nội dung chương I được trình bày ở trên đã nêu ra những vấn đề cơ bản các phương pháp nhận dạng đối tượng đã được nghiên cứu trước đây và có thể áp dụng để thực hiện nghiên cứu trong đề tài này Phương pháp đề xuất này sẽ được trình bày chi tiết ở chương II
Trang 24CHƯƠNG 2 XÂY DỰNG ỨNG DỤNG PHÂN LOẠI VĂN BẢN TẠI
TỈNH ĐOÀN QUẢNG NGÃI
Việc phân loại các tài liệu có ký hiệu để lưu trữ, khai thác các thông tin đó trên hệ thống máy tính là một bài toán đang được đặt ra Trên thực tế, cách duy nhất để sử dụng thông tin ký hiệu và phân loại thì phải gõ lại văn bản trên bàn phím để có thể thêm nó vào hệ thống máy tính hay sử dụng làm đầu vào bằng cách scan và tự tay lưu vào thư mục từng loại văn bản Và với mong muốn tìm hiểu về lĩnh vực nhận dạng kí tự quang học (Optical character recognition – OCR và đóng góp thêm vào kho ứng dụng về nhận dạng một hệ thống nhận dạng thiết thực, hữu ích Vì vậy trong luận văn tôi đề xuất phương pháp xử lý để xây dựng hệ thống ―Phân loại văn bản tại Tỉnh đoàn Quảng Ngãi‖
2.1 Xây dựng hệ thống
2.1.1 Giới thiệu bài toán
Trong luận văn này, xây dựng hệ thống dùng để phân loại văn bản có sẵn tại cơ quan Tỉnh Đoàn Quảng Ngãi Ở mỗi lần nhận dạng, hệ thống sẽ được ―bổ sung‖ thêm dữ liệu để huấn luyện, điều này làm cho mô hình nhận dạng càng ngày được nâng cao tỉ lệ nhận dạng Đây là một kỹ thuật thể hiện rõ nét phương pháp học tăng cường của học máy
Với dữ liệu hình ảnh ban đầu, hệ thống nhận dạng phân loại văn bản sẽ nhận dạng tất cả các file pdf có sẵn trong hệ thống máy tính khi được người dùng chỉ định và phân loại các loại văn bản khác nhau về theo từng loại với nhau để người dùng tiện quản lý, lưu trữ và tìm kiếm
2.1.2 Phương pháp đề xuất
Trang 25Hình 2.1: Quy trình xử lý của một ứng dụng nhận dạng ký tự quang học
2.2 Quy trình xử lý nhận dạng
2.2.1 Tiền xử lý
Giai đoạn này góp phần làm tăng độ chính xác phân lớp của hệ thống nhận dạng, tuy nhiên nó làm cho tốc độ nhận dạng của hệ thống chậm lại Vì vậy, tuy thuộc vào chất lượng quét ảnh vào của từng văn bản cụ thể để chọn một hoặc một vài chức năng trong khối này Nếu cần ưu tiên tốc độ xử lý và chất lượng của máy quét tốt thì có thể bỏ qua giai đoạn này Khối tiền xử lý bao gồm một số chức năng: Nhị phân hóa ảnh, lọc nhiễu, chuẩn hóa kích thước ảnh
Văn bản đầu vào
Trang 262.2.1.1 Nhị hóa ảnh
Nhị hóa ảnh là một kỹ thuật chuyển ảnh đa cấp xám sang ảnh nhị phân Trong bất
kỳ bài toán phân tích hoặc nâng cao chất lượng ảnh nào, nó cũng cần thiết để xác định các đối tượng qua trọng Nhị phân hóa ảnh phân chia thành 2 phần, phần nền và phần chữ Hầu hết các phương pháp nhị phân hóa ảnh hiện nay đều lựa chọn một ngưỡng thích hợp theo cường độ sáng của ảnh và sau đó chuyển tất cả các giá trị độ sáng lớn hơn ngưỡng đó thành một giá trị độ sáng (ví dụ ―trắng‖ và tất cả các giá trị bé hơn ngưỡng thành một giá trị độ sáng khác (―đen‖
2.2.1.2 Lọc nhiễu
Nhiễu là một tập hợp các điểm sáng thừa trên ảnh Khử nhiễu là một vấn đề thường gặp trong nhận dạng, nhiều có nhiều loại (nhiễm đốm, nhiễu vệt, nhiễu đứt nét…
Để khử nhiễu đốm (các nhiễu có kích thước nhỏ , có thể sử dụng các phương pháp lọc (lọc trung bình, lọc trung vị… Tuy nhiên, với các nhiễu vệt (hoặc các nhiễu
có kích thước lớn thì các phương pháp lọc tỏ ra kém hiệu quả, trong trường hợp này sử dụng phương pháp khử các vùng liên thông nhỏ tỏ ra có hiệu quả hơn
2.2.1.3 Chuẩn hóa kích thước ảnh
Việc chuẩn hóa kích thước ảnh dựa trên việc xác định trong tâm ảnh, sau đó xác định khoảng cách lớn nhất từ tâm ảnh đến các cạnh trên, dưới, trái, phải của hình chữ nhật bao quanh ảnh Thông qua khoảng cách lớn nhất đó, có thể xác định được một tỷ lệ
co, giãn của ảnh gốc so với kích thước đã xác định, từ đó hiệu chỉnh kích thước ảnh theo
tỷ lệ co, giãn này Như vậy, thuật toán kích thước ảnh luôn luôn được bảo đảm tính cân bằng khi co giãn ảnh, ảnh sẽ không bị biến dạng hoặc bị lệch
2.2.2 Khối tách chữ
Khối này có nhiệm vụ tách từng ký tự ra khỏi văn bản Chỉ khi nào văn bản được tách và cô lập đúng từng ký tự đơn ra khỏi tổng thể văn bản bản thì hệ thống mới có thể nhận dạng đúng ký tự đó Sau đây là phương pháp tách chữ thông dụng:
2.2.2.1 Tách chữ dùng lược đồ sáng
Đối với chữ viết tay thì việc tìm đường phân cách giữa các dòng và các ký tự trong văn bản thường rất khó khăn Trong trường hợp này, không thể tìm đường phân cách theo nghĩa thông thường mà phải hiểu là đường phân cách với số điểm cắt hai dòng
là ít nhất Khi đó phải xây dựng lược đồ sáng của các dòng chữ, từ đó các đoạn thấp nhất trên lược đồ chính là đường phân cách cần tìm
Trang 272.2.2.2 Tách chữ theo chiều nằm ngang và thẳng đứng
Phương pháp này thường áp dụng cho chữ in Khác với chữ viết tay, kích thước
và kiểu chữ cố định, phải tuân theo một số quy định in ấn, các chữ phải nằm gọn trong một khung nên việc cô lập một ký tự đơn có thể đồng nhất với việc tìm ra khung bao của chữ đó tại vị trí của nó trong văn bản Tách chữ theo chiều nằm ngang và thẳng đứng là tìm một hình chữ nhật vó cạnh thẳng đứng và nằm ngang chứa trọng một ký tự ở bên trong
2.2.3 Trích chọn đặc trưng
Trích chọn đặc trưng đóng vai trò cực kỳ quan trong trong một hệ thống nhận dạng Trong trường hợp đơn giản nhất, ảnh đa cấp xám hoặc ảnh nhị phân được sử dụng cho việc nhận dạng Tuy nhiên, trong hầu hết các hệ nhận dạng, để giảm độ phức tạp và tăng độ chính xác của các thuật toán phân lớp thì đòi hỏi các đặc trưng được trích chọn phải rút gọn lại càng nhỏ càng tốt nhưng phải đảm bảo được thông tin của ký tự Với mục tiêu này, luận án tập trung định hướng vị trí của ảnh đưa vào từ đầu để nhận dạng từ ban đầu
2.2.4 Huấn luyện và nhận dạng
Đây là giai đoạn quan trọng nhất, giai đoạn này quyết định độ chính xác của hệ thống nhận dạng Có nhiều phương pháp phân lớp khác nhau được áp dụng cho các hệ thống nhận dạng ký tự quang học
2.2.5 Hậu xử lý
Đây là công đoạn cuối cùng của quá trình nhận dạng Có thể hiểu hậu xử lý là bước ghép nối các ký tự đã nhận dạng thành các từ đã được dạy học trước đó nhằm tái hiện lại thể loại văn bản đó là gì đồng thời phát hiện ra các lỗi nhận dạng sau bằng cách kiểm tra dựa trên cấu trúc được huấn luyện Việc phát hiện ra các lỗi, các sai sót trong nhận dạng ở bước này góp phần đáng kể vào việc nâng cao chất lượng nhận dạng
2.3 Bố cục văn bản thực tế tại Tỉnh Đoàn Quảng Ngãi
Phân tích bố cục văn bản là một bước tiền xử lý đặc biệt quan trọng trong việc xây dựng hệ thống phân loại văn bản Đây là quá trình chi nhỏ ảnh văn bản thành các khối thuần nhất, có nghĩa là các khối này chỉ chứa một loại thông tin, hoặc là text, hoặc
là ảnh, hoặc là bảng… Trong nhiều trường hợp, độ chính xác của quá trình phân tích bố cục văn bản làm ảnh hưởng đến rất nhiều đến độ chính xác của hệ thống Trong phạm vi
đề tài tôi ưu tiên cho việc tách khối trong văn bản của Tỉnh đoàn Các khối này được phân chia theo một số chuẩn cơ bản của một số văn bản tại Tỉnh đoàn được sử dụng tại
cơ quan
Trang 28Trên thực tế có nhiều phương pháp được đề xuất để phân tích bố cục của một ảnh văn bản bất kỳ Tuy nhiên, trong phạm vi của đồ án, tôi chỉ quan tâm đến việc phân tích
bố cục của văn bản tại Tỉnh đoàn để hệ thống nhận biết được đó là thể loại văn bản nào
Sau đây là một bố cục văn bản hành chính tại Tỉnh đoàn:- Tên cơ quan- Định danh của Đoàn thanh niên
- Số hiệu và trích yếu văn bản
Trang 29Hình 2.2: Ví dụ về các vùng văn bản tại Tỉnh đoàn Quảng Ngãi
2.4 Tổng quan về hệ thống văn bản tại Tỉnh đoàn
Tỉnh đoàn Quảng Ngãi cũng giống như những sở ban ngành khác tại tỉnh, hàng năm tại cơ quan Tỉnh đoàn phát hành với số lượng gần 3.000 văn bản khác nhau với số lượng lớn tại liệu như vậy thì công tác lưu trữ, phân loại và tìm kiếm nhiều lúc khó khăn Tôi xin phân loại từng loại văn bản cụ thể như sau:
Tên cơ quan
số hiệu và
trích yếu văn
bản
Ngày, tháng, năm
Kính gửi
Nội dung
dấu