ĐẠI HỌC ĐÀ NẴNG
TRƢỜNG ĐẠI HỌC BÁCH KHOA
---------------------------------
TRẦN TRUNG THÔNG
ỨNG DỤNG HỌC MÁY TRONG NHẬN DẠNG CÔNG VĂN
CÁC CƠ QUAN ĐẢNG TỈNH QUẢNG BÌNH
C u nn
M s
n
K o
m
8480101
T M TẮT LUẬN VĂN THẠC SĨ
KHOA HỌC MÁY TÍNH
Đ Nẵn - Năm 2019
tn
Công trình được hoàn thành tại
TRƯỜNG ĐẠI HỌC BÁCH KHOA
N ƣời ƣớn dẫn k o
TS. PHẠM MINH TUẤN
P ản biện 1 PGS.TS. Hu n H u Hƣn
P ản biện 2 TS. Tr n Văn Cƣờn
Luận văn đã được bảo vệ trước Hội đồng chấm Luận văn tốt
nghiệp thạc sĩ Khoa học máy tính tại Trường Đại học Bách khoa
vào ngày 25 tháng 8 năm 2019.
Có t ể tìm iểu luận văn tại
- Trung tâm Học liệu, Đại học Đà Nẵng tại Trường Đại học Bách
khoa.
- Thư viện Khoa Công nghệ thông tin, Trường Đại học Bách khoa
– Đại học Đà Nẵng.
1
MỞ ĐẦU
1. Lý do
n đề t i
Hiện nay, nhu cầu về việc rút trích từ ngữ từ hình ảnh đang
ngày càng phát triển, bên cạnh sự gia tăng về nhu cầu là sự phát triển
của công nghệ nhận dạng ký tự quang học (Optical Character
Recognition) hay còn được gọi tắt là OCR. Đây là một công nghệ
giúp chuyển đổi hình ảnh của chữ viết tay hoặc đánh máy thành các
ký tự đã được mã hóa trong máy tính. Công nghệ OCR đã tạo ra giải
pháp kỹ thuật mới, mang tính đột phá trong việc xây dựng cơ sở dữ
liệu điện tử. Cùng với sự phát triển ứng dụng công nghệ thông tin
trên các lĩnh vực đời sống xã hội, trong các hoạt động công tác, nhu
cầu 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. Với mong muốn tìm hiểu về ứng dụng
học máy trong nhận dạng, 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 sẽ tập trung tìm hiểu các kỹ thuật, các
công nghệ cần thiết để xây dựng hệ thống Ứn dụn
n ận dạn
ôn văn
m
tron
ơ qu n Đản tỉn Quản Bìn làm đề
tài luận văn thạc sỹ của mình.
Nội dung luận văn gồm phần mở đầu, 3 chương nội dung, phần
kết luận, tài liệu tham khảo.
Chương 1: Cơ sở lý thuyết
2
Chương 2: Xây dựng ứng dụng nhận dạng công văn trong các
cơ quan Đảng tỉnh Quảng Bình
Chương 3: Triển khai hệ thống và đánh giá kết quả
2. Mụ đ
n
i n ứu
- Nghiên cứu lý thuyết nhận dạng, xử lý ảnh.
- Hệ thống OCR
- 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. Ý n
ĩ k o
v t ự tiễn ủ đề tài
3.1. Ý nghĩa khoa học
- Nghiên cứu lý thuyết nhận dạng và xử lý ảnh dựa trên mã
nguồn mở Tesseract OCR và hệ thống OCR.
3.2. Ý nghĩa thực tiễn
- Đề xuất giải pháp góp phần tăng hiệu quả việc quản lý văn
bản tại các cơ quan Đảng tỉnh Quảng Bình
4. Mụ ti u v n iệm vụ
4.1. Mục tiêu
- Hỗ trợ cán bộ văn thư trong việc sao lưu văn bản, quản lý văn
bản phát hành và văn bản đến.
- Tự động hóa việc lưu trữ để giúp cán bộ văn thư dễ dàng tìm
kiếm văn bản khi cần.
4.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ã nguồn mở Tesseract OCR.
3
- Xây dựng chương trình, cài đặt, kiểm thử và đánh giá.
5. B
ụ
ủ 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 1 CƠ SỞ Ý THUYẾT
Giới thiệu tổng quan các phương pháp học máy, các phương
pháp nhận dạng văn bản, nhận dạng ký tự quang học OCR.
CHƢƠNG 2 XÂY DỰNG ỨNG DỤNG NHẬN DẠNG
CÔNG VĂN TẠI CÁC CƠ QUAN ĐẢNG TỈNH QUẢNG BÌNH
Trong chương này tác giả nghiên cứu bộ thư viện mã nguồn
mở tessract, đề xuất phương pháp xây dựng hệ thống nhận dạng công
văn trong các cơ quan Đảng tỉnh Quảng Bình và trình bày các khối
chức năng của phương pháp nhận dạng văn bản theo từng loại tại cơ
quan.
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 ứng dụng học
máy trong nhận dạng công văn trong các cơ quan Đảng tỉnh Quảng
Bình và xây dựng quá trình thực nghiệm và đánh giá kết quả.
4
C ƣơn 1- CƠ SỞ LÝ THUYẾT
1. 1. H
máy
1.1.1. Tổng quan về học máy
Học máy là một phần của khoa học máy tính đã dần được cải
tiến từ các nghiên cứu về nhận dạng mẫu và trí tuệ nhân tạo. Năm
1959, Arthur Samuel định nghĩa máy học như là một lĩnh vực nghiên
cứu cung cấp cho máy tính khả năng học mà không được lập trình
một cách rõ ràng. Máy học tìm hiểu nghiên cứu và xây dựng các
thuật toán có thể học hỏi và đưa ra dự đoán về dữ liệu. Thuật toán
này hoạt động bằng cách xây dựng một mô hình từ ví dụ đầu vào để
đưa ra dự đoán dựa trên dữ liệu hoặc quyết định.
1.1.2. Các phương pháp học máy
1.1.2.1. Học có giám sát
Học có giám sát là thuật toán dự đoán đầu ra (outcome) của
một dữ liệu mới (new input) dựa trên các cặp (input, outcome) đã biết
từ trước. Cặp dữ liệu này còn được gọi là (data, label), tức (dữ liệu,
nhãn). Học có giám sát là nhóm phổ biến nhất trong các thuật toán
Machine Learning.
1.1.2.2. Học không giám sát
Học không giám sát là thuật toán dự đoán nhãn của một dữ
liệu mới dựa trên tập dữ liệu huấn luyện mà trong đó tất cả các mẫu
dữ liệu đều chưa được gán nhãn hay nói cách khác là ta không biết
câu trả lời chính xác cho mỗi dữ liệu đầu. Điều này cũng giống như
khi ta học mà không có thầy cô, sẽ không ai cho ta biết đáp án đúng
là gì.
5
Khi đó, mục tiêu của thuật toán học không giám sát không phải
là tìm đầu ra chính xác mà sẽ hướng tới việc tìm ra cấu trúc hoặc sự
liên hệ trong dữ liệu để thực hiện một công việc nào đó,
1.1.2.3. Học bán giám sát (Semi-Supervised Learning)
Là bài toán mà khi tập dữ liệu đầu vào X là hỗn hợp các mẫu
có nhãn và không có nhãn, trong đó số lượng có nhãn chỉ chiếm một
phần nhỏ.
Phần lớn các bài toán thực tế của ML thuộc nhóm này vì việc
thu thập dữ liệu có nhãn tốn rất nhiều thời gian và có chi phí cao. Rất
nhiều loại dữ liệu thậm chí cần phải có chuyên gia mới gán nhãn
được, chẳng hạn như ảnh y học hoặc các cặp câu song ngữ. Ngược
lại, dữ liệu chưa có nhãn có thể được thu thập với chi phí thấp từ
internet.
1.1.2.4. Học tăng cường(Reinforcement learning)
Học tăng cường hay học củng cố là bài toán giúp cho một hệ
thống tự động xác định hành vi dựa trên hoàn cảnh để đạt được lợi
ích cao nhất. Hiện tại, học tăng cường chủ yếu được áp dụng vào lý
thuyết trò chơi (Game Theory).
1.1.3. Các ứng dụng của học máy
Học máy có ứng dụng rộng khắp trong các khoa học/sản xuất,
đặc biệt là những ngành cần phân tích dữ liệu lớn. Một số ứng dụng
thường thấy: Xử lý ngôn ngữ tự nhiên, nhận dạng, tìm kiếm , ch n
đoán trong y tế, tin sinh học, vật lý, chơi trò chơi...
1.2. C
p ƣơn p
p n ận dạn
1.2.1. Mô hình Markov ẩn (HMM – Hidden Markov Model)
Mô hình Markov n là mô hình thống kê trong đó hệ thống mô
hình hóa được cho là một quá trình Markov với các tham số không
6
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ổ 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.
Hình 1. 5: Mô hình Markov n
Các chuyển tiếp trạng thái trong 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
7
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. 6: 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.
Sử 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 BaumWelch.
1.2.2. Máy véc-tơ hỗ trợ (SVM)
Máy vectơ hỗ trợ (SVM –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
8
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.
Hình 1. 7: 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.
Ư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à
9
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ạch toàn phương và lựa chọn hàm nhân.
1.2.3. 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. 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.
10
Cá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.3.1. Phương pháp đồ thị (Graphical Methods)
1.2.3.2. Phương pháp ngữ pháp (Grammatical Methods)
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. 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.
Ý 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.
11
Đố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.
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. Các kiến trúc mạng nơron có thể được phân thà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 đượ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. 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.
1.2.5.1.1. Tính phi tuyến
12
1.2.5.1.2. Tính chất tương ứng đầu vào đầu ra.
1.2.5.1.3. Tính chất thích nghi.
1.2.5.1.4. Tính chất đưa ra lời giải có bằng chứng.
1.2.5.1.5. Tính chất chấp nhận sai sót.
1.2.5.1.6. Khả năng cài đặt VLSI
1.2.5.1.7. Tính chất đồng dạng trong phân tích và thiết kế.
1.2.6. Nhận dạng ký tự quang học – OCR
Nhận dạng ký tự quang học 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ột số phần mềm nhận dạng chữ Việt: VnDOCR 4.0,
VietOCR, ABBYY .
Ngày nay, các hệ thống nhận dạng ký tự quang học 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. T ƣ viện n ận dạn T ssr t
1.3.1 . Chức năng của Tesseract
Tesseract là một thư viện mã nguồn mở để hỗ trợ xây dựng
ứng dụng nhận dạng ký tự quang học được phát triển từ năm 1995.
1.3.2. Kiến trúc giải thuật nhận dạng chữ in
Tesseract có một kiến trúc điển hình từ trên xuống. Bước đầu
bằng chức năng tiền xử lý, một ngưỡng sẽ được chọn bởi bộ phân
ngưỡng thông qua một quá trình phân tích các điểm trong ảnh với
13
giải thuật như là Otsu, sau đó ngưỡng này sẽ được sử dụng để chuyển
đổi ảnh màu hoặc ảnh xám đầu vào thành một ảnh nhị phân.
Giai đoạn tiếp theo là ảnh nhị phân được đưa vào bộ Phân tích
thành phần liên thông (Connected component analysis) để tìm ra hình
dạng phác thảo của những thành phần liên thông. Đây là một tiến
trình phức tạp mất nhiều thời gian nhưng cần có để tách ra các ký tự
có trong hình.
Khối Tìm các dòng văn bản và từ (Find text lines and words)
thực hiện các chức năng như xác định dòng chặn dưới và chặn trên,
đối với mỗi dòng thì cắt gọn từ trước khi xác định vùng của mỗi ký
tự, ngoài ra cần nhận dạng khoảng cách giữa chữ và số.
1.3.3. Huấn luyện dữ liệu nhận dạng với Tesseract
1.3.3.1. Tạo dữ liệu huấn luyện
1.3.3.2. Thiết lập các tệp cấu hình huấn luyện
1.3.4. Huấn luyện dữ liệu
1.4. T
t ứ đ i với ệ t
n n ận dạn
Có nhiều phương pháp nhận dạng khác nhau để 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àu nát và các hình ảnh độ phân giải thấp.
1.5. Kết
ƣơn
Nội dung chương I được trình bày ở trên đã nêu ra những vấn
đề cơ bản về học máy, 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.
14
C ƣơn 2- XÂY DỰNG ỨNG DỤNG NHẬN DẠNG CÔNG VĂN
TRONG CÁC CƠ QUAN ĐẢNG TỈNH QUẢNG BÌNH
2.1. Xâ dựn
ệt
n
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 để nhận dạng văn
bản hiện có tại cơ quan Đảng tỉnh Quảng Bình. Hệ thống nhận dạng
các file ảnh, file pdf có sẵn trong hệ thống máy tính khi được người
dùng chỉ định.
2.1.2. Phương pháp đề xuất
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
2.2. Qu trìn xử lý n ận dạn
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
15
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.
2.2.1.1. Nhị hóa ảnh
2.2.1.2. Lọc nhiễu
2.2.1.3. Chuẩn hóa kích thước ảnh
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
2.2.2.2. Tách chữ theo chiều nằm ngang và thẳng đứng
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 vă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 nhận dạng
16
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
ụ văn bản tại
ơ qu n Đản tỉn Quản Bìn
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 chia 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 các cơ quan Đảng tỉnh. 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 được sử dụng tại
cơ quan.
Trê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
luận vă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
các cơ quan Đảng tỉnh để 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 trong các cơ quan Đảng tỉnh:
17
- Tên cơ quan
- Định danh của các cơ quan Đảng
- 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 văn bản
- Cơ quan nhận
- Ký tên đóng dấu
2.4. Hệ t
n văn bản tại
ơ qu n Đản tỉn Quản Bìn
Tring năm 2018, các cơ quan Đảng tỉnh Quảng Bình phát hành
2148 công văn đi, lưu trữ hơn 7900 văn bản đến với nhiều thể loại
khác nhau nên văn thư gặp không ít khó khăn trong công tác lưu trữ,
phân loại và tìm kiếm . Có thể phân ra một số thể loại văn bản như
sau:
2.4.1. Thể loại Nghị quyết
2.4.2. Thể loại Công văn
2.4.3. Thể loại Chương trình
2.4.4. Thể loại Chỉ thị
2.4.5. Thể loại Báo cáo
2.4.6. Thể loại Kết luận
2.4.7. Thể loại Kế hoạch
2.4.8. Thể loại Quyết định
2.4.9. Thể loại Quy định
2.4.10. Thể loại Thông báo
2.4.11. Thể loại Tờ trình
2.4.12. Thể loại Hướng dẫn
2.4.13. Thể loại Quy chế
18
C ƣơn 3- TRIỂN KHAI VÀ ĐÁNH GIÁ
Trong chương 3, tác giả xin được trình bày bài toán ứng dụng
học máy trong nhận dạng công văn tại các cơ quan Đảng tỉnh Quảng
Bình. Ở chương này, tác giả xây dựng quá trình thực nghiệm và đánh
giá kết quả.
3.1. Mô tả b i to n
Cho n văn bản thuộc các thể loại khác khác nhau.
êu cầu đặt
ra là cần phải xây dựng một ứng dụng thử nghiệm sử dụng thư viện
Tessract4, bộ thư viện có chức năng nhận dạng ký tự từ hình ảnh dựa
vào tập dữ liệu training sẵn có của nó nhận dạng văn bản thuộc thể
loại văn bản nào dựa vào bộ dữ liệu mẫu đã được huấn luyện theo các
thể loại khác nhau.
Như đã phân tích ở các phần trên, trong phạm vi đề tài này,
luận văn xây dựng mô hình nhận dạng văn bản thể hiện mô hình hoạt
động theo hình 3.1:
3.1.1. Nhận văn bản đầu vào
Thông thường, ảnh văn bản được thu nhận dưới rất nhiều dạng,
vì vậy chất lượng định dạng ảnh đầu vào sẽ rất khác nhau từ tập tin
PDF đến các định dạng ảnh thông dụng khác như JPG, PNG, BMP,...
đòi hỏi cần phải được đưa về một định dạng ảnh chung nhất để tiện
cho việc xử lý. Ở đây, chương trình đưa về định dạng ảnh PNG trước
lúc tiến hành tiền xử lý ảnh.
3.1.2. Tiền xử lý
Văn bản trước khi xử lý cần phải được tiền xử lý như chuyển
đổi ảnh đen trắng, nếu ảnh từ máy quét có thể chứa độ nghiêng thì
phải được khử nghiêng. Mặt khác, ngôn ngữ Java cung cấp thư viện
19
xử lý ảnh hỗ trợ nhiều lớp lọc ảnh như tăng độ tương phản, trơn
ảnh... cải thiện chất lượng ảnh. Các file ảnh sau đó crop theo kích
thước đã cho trước để được hình ảnh chứa vùng cần trích xuất thông
tin đặc trưng để nhận dạng văn bản.
Hình 3. 1: Mô hình hoạt động
20
3.1.3. Nhận dạng
Để có thể sử dụng các thư viện Tesseract trong dự án Java,
trong chương trình sử dụng trình hỗ trợ quản lý thư viện Maven của
Java nhằm tự động cập nhật đầy đủ các thư viện cần thiết trong nhận
dạng tiếng việt in. Trong phần nhận dạng này tác giả sử dụng công
nghệ Tesseract để nhận dạng văn bản đó là thể loại văn bản nào.
3.2. Môi trƣờn t ự n
iệm
3.2.1. Dữ liệu sử dụng
Nhận dạng văn bản có sẵn trong máy tính với 200 văn bản lưu
trữ từ trước có đuôi .PDF, .JPG.
Kiểm tra văn bản nhận dạng có chính xác hay không.
3.2.2. Giao diện chương trình
Khi mở chương trình Hệ thống nhận dạng văn bản có giao diện
chính như sau:
Hình 3. 2: Giao diện chương trình nhận dạng
Tại giao diện người dùng, chọn nút Chọn file để chọn file ảnh
hoặc file PDF có trong máy tính của người dùng cần nhận dạng. Sau
đó nhấn nút xử lý để tiến hành nhận dạng văn bản đã được chọn. Kết
quả của phiên nhận dạng sẽ được hiển thị tại ô kết quả
21
Hình 3. 3: Giao diện chương trình nhận dạng
Trong chương trình có phần xem lại lịch sử để kiểm tra xem lại
các văn bản đã được nhận dạng trước đó có trùng với kết quả nhận
dạng của chương trình hay không
Hình 3. 4: Giao diện chức năng kiểm tra kết quả nhận dạng
3.3. Đ n
i về kết quả
Kết quả chương trình Demo đang thực nghiệm bước đầu đã
cho ra kết quả tương đối chính xác với tập dữ liệu mô phỏng, tức là
nhận dạng văn bản và phân loại văn bản theo từng loại phù hợp.
22
3.3.1. Về cài đặt
Sử dụng thành thạo ngôn ngữ lập trình Java và xây dựng hệ
thống sử dụng thuần code Java. Sử dụng bộ thư viện nhận dạng ký tự
tiếng việt mã nguồn mở Tessract 4.
3.3.2. Về thực nghiệm
Hệ thống cho phép nhận dạng các loại văn bản khác nhau
chính xác gần tuyệt đối, nhờ vào phương pháp nhận dạng quang học OCR. Những kết quả đạt được trong đề tài này là một cơ sở tốt để có
thể xây dựng một phần mềm nhận dạng văn bản hoàn chỉnh để giải
quyết vấn đề lưu trữ và xử lý những vản bản hành chính tại các cơ
quan Đảng tỉnh Quảng Bình hoặc một cơ quan ban ngành khác.
Dưới đây là kết quả thực nghiệm:
Nhận dạng văn bản
Thể loại
TT
Nhận
dạng đúng
Nhận
dạng sai
T lệ
đúng
1
Công văn
20
0
100%
2
Báo cáo
20
0
100%
3
Chỉ thị
19
1
95%
4
Chương trình
19
1
95%
5
Nghị quyết
20
0
100%
6
Quyết định
19
1
95%
7
Kế hoạch
20
0
100%
8
Thông báo
20
0
100%
9
Tờ trình
20
0
100%
10
Quy định
19
1
95%
11
Quy chế
20
0
100%
12
Hướng dẫn
20
0
100%
23
KẾT LUẬN
1. Đ l m đƣợ
Bước đầu xây dựng được mô hình huấn luyện để nhận dạng
văn bản tại các cơ quan Đảng tỉnh Quảng Bình, bằng cách sử dụng
phương pháp nhận dạng ký tự quang học –OCR, đặc biệt sử dụng thư
viện Tessarect.
Xây dựng được chương trình Demo Hệ thống nhận dạng văn
bản tại cơ quan Đảng tỉnh và cho kết quả chính xác. Kết quả của quá
trình này phụ thuộc khá nhiều vào quá trình thu thập dữ liệu và huấn
luyện phát hiện, nhận dạng.
Sau một thời gian nghiên cứu về xử lý ảnh, học máy và tìm
hiểu được một số cơ sở lý thuyết có thể áp dụng được vào hệ thống
nhận dạng công văn của các cơ quan Đảng tỉnh.
2. Hƣớn p
t triển
Những kết quả đạt được trong đề tài này là một cơ sở để có
thể xây dựng một phần mềm nhận dạng và phân loại văn bản hoàn
chỉnh trong đó dựa vào việc nhận dạng được các thể loại văn bản từ
đó rút trích các thông tin cần thiết theo từng thể loại văn bản cụ thể
để giải quyết vấn đề lưu trữ và xử lý những vản bản hành chính tại cơ
quan.