1. Trang chủ
  2. » Thể loại khác

Ứ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 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

63 11 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 63
Dung lượng 3,67 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TÓM TẮT LUẬN VĂN Ứ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 Mã số: 8480101; Khóa: 35; Trường Đại học Bách khoa - ĐHĐN Tóm tắt: Ngày nay phương thức s

Trang 1

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

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Đà Nẵng - Năm 2019

Trang 2

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

Trang 3

LỜI CAM ĐOAN

Tô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

Tác giả

Trần Trung Thông

Trang 4

LỜI CẢM ƠN

Trước tiên, tôi xin gởi lời cảm ơn chân thành sâu sắc nhất tới Thầy giáo TS Phạm Minh Tuấn, người Thầy đã tận tình hướng dẫn, động viên và giúp đỡ tôi trong suốt thời gian nghiên cứu và thực hiện luận văn này

Tôi xin gửi lời cảm ơn tới Ban giám hiệu Trường Đại Học Bách Khoa - Đà Nẵng, Ban chủ nhiệm khoa Công nghệ thông tin, Phòng Đào tạo sau đại học của hai trường đã tạo điều kiện thuận lợi trong quá trình học tập, nghiên cứu và hoàn thành luận văn Tôi xin cảm ơn quí Thầy giáo, Cô giáo những người đã tận tình hướng dẫn

và truyền đạt cho tôi những kiến thức quí báu trong những năm nghiên cứu và học tập Tôi xin gởi lời cảm ơn đến Văn phòng Tỉnh ủy Quảng Bình đã giúp đỡ tạo mọi điều kiện tốt nhất để tôi hoàn thành luận văn

Và để có được kết quả như ngày hôm nay, tôi rất biết ơn Gia đình đã động viên, khích lệ, tạo mọi điều kiện thuận lợi nhất trong suốt quá trình nghiên cứu, học tập cũng như quá trình thực hiện đề tài luận văn tốt nghiệp này

Mặc dù có rất nhiều cố gắng, nhưng chắc chắn luận văn không tránh khỏi những thiếu sót nhất định Tôi rất mong nhận được ý kiến đóng góp quý báu của các Thầy Cô giáo và các bạn để luận văn ngày càng được hoàn thiện hơn

Một lần nữa tôi xin chân thành cám ơn!

Đà Nẵng, tháng 9 năm 2019 Tác giả luận văn

Trần Trung Thông

Trang 5

MỤC LỤC

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ụ 2

5 Bố cục của luận văn 2

Chương 1- CƠ SỞ LÝ THUYẾT 3

1 1 Học máy 3

1.1.1 Tổng quan về học máy 3

1.1.2 Các phương pháp học máy 4

1.1.3 Các ứng dụng của học máy 8

1.2 Các phương pháp nhận dạng 8

1.2.1 Mô hình Markov ẩn (HMM – Hidden Markov Model) 8

1.2.2 Máy véc-tơ hỗ trợ (SVM) 10

1.2.3 Phương pháp tiếp cận cấu trúc 12

1.2.4 Đối sánh mẫu 13

1.2.5 Mạng nơ ron 14

1.2.6 Nhận dạng ký tự quang học – OCR 16

1.3 Thư viện nhận dạng Tessract 17

1.3.1 Chức năng của Tesseract 17

1.3.2 Kiến trúc giải thuật nhận dạng chữ in 18

1.3.3 Huấn luyện dữ liệu nhận dạng với Tesseract 20

1.4 Thách thức đối với hệ thống nhận dạng 25

1.5 Kết chương 25

Chương 2- XÂY DỰNG ỨNG DỤNG NHẬN DẠNG CÔNG VĂN 26

TRONG CÁC CƠ QUAN ĐẢNG TỈNH QUẢNG BÌNH 26

2.1 Xây dựng hệ thống 26

2.1.1 Giới thiệu bài toán 26

2.1.2 Phương pháp đề xuất 26

2.2 Quy trình xử lý nhận dạng 26

2.2.1 Tiền xử lý 26

2.2.2 Khối tách chữ 27

2.2.3 Trích chọn đặc trưng 28

2.2.4 Huấn luyện và nhận dạng 28

2.2.5 Hậu xử lý 28

2.3 Bố cục văn bản thực tế tại các cơ quan Đảng tỉnh Quảng Bình 28

2.4 Hệ thống văn bản tại các cơ quan Đảng tỉnh Quảng Bình 31

2.4.1 Thể loại Nghị quyết 31

2.4.2 Thể loại Công văn 31

2.4.3 Thể loại Chương trình 31

2.4.4 Thể loại Chỉ thị 32

Trang 6

2.4.5 Thể loại Báo cáo 32

2.4.6 Thể loại Kết luận 32

2.4.7 Thể loại Kế hoạch 32

2.4.8 Thể loại Quyết định 33

2.4.9 Thể loại Quy định 33

2.4.10 Thể loại Thông báo 33

2.4.11 Thể loại Tờ trình 34

2.4.12 Thể loại Hướng dẫn 34

Chương 3- TRIỂN KHAI VÀ ĐÁNH GIÁ 35

3.1 Mô tả bài toán 35

3.1.1 Nhận văn bản đầu vào 36

3.1.2 Tiền xử lý 36

3.1.3 Nhận dạng 36

3.2 Môi trường thực nghiệm 37

3.2.1 Dữ liệu sử dụng 37

3.2.2 Giao diện chương trình 37

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 39

KẾT LUẬN 40

1 Đã làm được 40

2 Hướng phát triển 40

TÀI LIỆU THAM KHẢO 41

PHỤ LỤC 42

A.1 Chuyển đổi các file ảnh, PDF về một định dạng và crop ảnh theo tỉ lệ 42

A.2 Cấu hình Maven được định nghĩa trong file pom.xml 43

A.3 Modul nhận dạng thể loại văn bản 43

Trang 7

TÓM TẮT LUẬN VĂN Ứ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

Mã số: 8480101; Khóa: 35; Trường Đại học Bách khoa - ĐHĐN

Tóm tắt: Ngày nay phương thức sử dụng văn bản giấy truyền thống đã dần được

số hóa, chuyển sang dạng các văn bản điện tử lưu trữ trên máy tính và được chia sẻ, truyền tải trên mạng Cùng với sự phát triển của các giải pháp nhận dạng ký tự quang học OCR đã đặt ra cho người dùng trước lựa chọn tìm ra phương thức lưu trữ, khai thác thông tin văn bản sẳn có một cách hiệu quả Với mong muốn tìm hiểu về lĩnh vực học máy áp dụng trong nhận dạng, đặc biệt là nhận dạng ký tự quang học OCR, luận văn tập trung nghiên cứu kỹ thuật học máy 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 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 và đề xuất phần mềm ứng dụng để nhận dạng công văn trong các cơ quan Đảng tỉnh Quảng Bình

Từ khóa: Hệ thống nhận dạng, nhận dạng ký tự quang học, nhận dạng công văn, học máy trong nhận dạng, OCR

OF OFFICIAL DOCUMENTS PARTY’S AGENCIES OF QUANG BINH PROVINCE

Abstract: Today, the method of using traditional paper documents has gradually

been digitized These documents have converted into electronic ones, stored on computers, shared and transmitted in the network Due to having many preeminent features, the number of electronic documents used in agencies has increased rapidly Therefore, the problem is how to find and exploit information from this abundant source of data Along with the development of technology, optical character recognition has created new technical solutions with a breakthrough in building electronic databases With a desire to learn about machine learning in recognition, especially OCR optical character recognition, the thesis focuses on studying machine learning methods, understanding the methods of recognition, studying about Tessract open source code tools to perform extraction of Vietnamese text from image files and propose application of software to recognise official documents in Party’s agencies of Quang Binh province

Keywords: recognition method, optical character recognition, text filtering,

machine learning in recognition, OCR

Trang 8

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT

Trang 9

DANH MỤC CÁC HÌNH

Số hiệu

Trang 11

MỞ ĐẦU

1 Lý do chọ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 Ứ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 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

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ục đích nghiên cứ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 Ý nghĩa khoa học và thực tiễn của đề 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

Trang 12

- 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

- 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 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ả

Trang 13

Chương 1- CƠ SỞ LÝ THUYẾT

1 1 Học 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

Học máy là một tập con của AI Theo định nghĩa của Wikipedia, Machine

learning is the subfield of computer science that “gives computers the ability to learn without being explicitly programmed” Nói đơn giản, Ta có thể hiểu: Học máy là một lĩnh vực của trí thông minh nhân tạo (AI) cung cấp cho máy tính khả năng học hỏi mà không được lập trình một cách rõ ràng Máy học tập trung vào sự phát triển của các chương trình máy tính để có thể tự mình phát triển và thay đổi khi tiếp xúc với dữ liệu mới

Quá trình học máy cũng tương tự như khai thác dữ liệu Cả hai hệ thống đều thông qua dữ liệu để tìm kiếm các mẫu Tuy nhiên, thay vì giải nén dữ liệu để hiểu con người như các ứng dụng khai thác dữ liệu thì học máy sử dụng dữ liệu đó để phát hiện các mẫu trong dữ liệu và điều chỉnh chương trình hành động phù hợp

Học máy được tổ chức lại thành một lĩnh vực riêng biệt và bắt đầu phát triển mạnh những năm 1990 Các lĩnh vực thay đổi mục tiêu của mình từ việc đạt được trí thông minh nhân tạo thành giải quyết các vấn đề có tính chất thực tế Chuyển trọng tâm từ cách tiếp cận mang tính biểu tượng thừa hưởng từ trí tuệ nhân tạo, và hướng tới các phương pháp, mô hình từ thống kê và lý thuyết xác suất

Máy học, khai thác dữ liệu thường sử dụng cùng phương pháp và lồng ghép lên nhau Có thể chia thành các giai đoạn như sau:

- Máy học tập trung vào dự đoán, dựa trên dữ liệu học được từ dữ liệu huấn luyện

- Khai thác dữ liệu tập trung vào việc phát hiện thuộc tính chưa biết trước trong

dữ liệu Đây là bước phân tích kiến thức, khai phá trong cơ sở dữ liệu

Trang 14

- Máy học và khai thác dữ liệu được lồng ghép lên nhau theo cách: khai thác dữ liệu sử dụng nhiều phương pháp học máy, nhưng mỗi phương pháp thường có mục đích khác nhau Mặt khác, học máy cũng sử dụng phương pháp khai thác dữ liệu là

"học không giám sát" như là một bước tiền xử lý để cải thiện độ chính xác của việc học

Học máy cũng có quan hệ mật thiết với tối ưu hóa: nhiều vấn đề học được xây dựng nhằm giảm thiểu một số chức năng bị mất trên một tập huấn luyện Chức năng mất thể hiện sự khác biệt giữa các tiên đoán của mô hình được đào tạo và những trường hợp thực tế Sự khác biệt giữa hai trường phát sinh từ mục tiêu tổng quát Trong khi các thuật toán tối ưu hóa có thể giảm thiểu sai số trên một tập huấn luyện thì học máy liên quan với việc giảm thiểu sự mất mát trên các mẫu ẩn

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 (Supervised Learning) 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

Hình 1 1: Supervised Learning Algorithms [2]

Một cách toán học, học có giám sát là khi chúng ta có một tập hợp biến đầu vào X={x1,x2,…,xN} và một tập hợp nhãn tương ứng Y={y1,y2,…,yN}, trong đó xi,yi là các vector Các cặp dữ liệu biết trước (xi,yi)X×Y được gọi là tập training data (dữ

liệu huấn luyện) Từ tập traing data này, chúng ta cần tạo ra một hàm số ánh xạ mỗi phần tử từ tập X sang một phần tử (xấp xỉ) tương ứng của tập Y:

yi ≈ f(xi), ∀i=1,2,…,N Mục đích là xấp xỉ hàm số f thật tốt để khi có một dữ liệu x mới, chúng ta có thể tính được nhãn tương ứng của nó y=f(x)

Thuật toán Học có giám sát còn được tiếp tục chia nhỏ ra thành hai loại chính:

Trang 15

Phân loại (Classification)

Một bài toán được gọi là classification nếu các label của input data được chia

thành một số hữu hạn nhóm Ví dụ: Gmail xác định xem một email có phải là spam hay không; các hãng tín dụng xác định xem một khách hàng có khả năng thanh toán nợ hay không

Hồi quy (Regression)

Nếu label không được chia thành các nhóm mà là một giá trị thực cụ thể Ví dụ:

một căn nhà rộng xm2, có y phòng ngủ và cách trung tâm thành phố z km sẽ có giá là bao nhiêu?

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…

Phân lớp: k-Nearest Neighbors, mạng nơron nhân tạo, SVM, …

Hồi quy: Linear Regression, Logistic Regression, …

Ví dụ: Trong nhận dạng chữ số viết tay, ta có ảnh của hàng nghìn trường hợp ứng với mỗi chữ số được viết bởi nhiều người khác nhau Ta đưa các bức ảnh này vào một thuật toán học và chỉ cho nó biết “mỗi bức ảnh tương ứng với chữ số nào” Sau khi thuật toán tạo ra một mô hình, tức là một hàm số nhận đầu vào là một bức ảnh và cho

ra kết quả là một chữ số Khi nhận được một bức ảnh mới mà mô hình “chưa từng gặp qua” và nó sẽ dự đoán xem bức ảnh đó tương ứng với chữ số nào

Hình 1 2: Ảnh minh hoạ cho tập dữ liệu chữ số viết tay – MNIST [1]

Trang 16

1.1.2.2 Học không giám sát (Unsupervised Learning)

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

Hình 1 3: Unsupervised Learning Algorithms [2]

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 đó, ví như gom cụm (clustering) hoặc giảm số chiều của dữ liệu (dimension reduction) để thuận tiện trong việc lưu trữ và tính toán

Các bài toán học không giám sát tiếp tục được chia nhỏ thành hai loại là phân cụm (Clustering) và luật kết hợp (Association Rule)

*Phân cụm

Một bài toán phân cụm / phân nhóm toàn bộ dữ liệu X thành các nhóm/cụm nhỏ dựa trên sự liên quan giữa các dữ liệu trong mỗi nhóm Chẳng hạn như phân nhóm khách hàng dựa vào độ tuổi, giới tính

*Luật kết hợp

Là bài toán mà khi chúng ta muốn khám phá ra một quy luật dựa trên nhiều dữ liệu cho trước Ví như những khách hàng mua mặt hàng này sẽ mua thêm mặt hàng kia; hoặc khan giả xem phim này sẽ có xu hướng thích xem phim kia, dựa vào đó ta có thể xây dựng những hệ thống gợi ý khách hàng (Recommendation System) nhằm thúc đẩy nhu cầu mua sắm hoặc xem phim…

Một số thuật toán thuộc nhóm học không giám sát như Apriori (Association Rule), k-Means (Clustering), …

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ỏ

Trang 17

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

Hình 1 4: Semi-Supervised Learning Algorithms [2]

Với bài toán này, mô hình phải tìm hiểu các cấu trúc để tổ chức dữ liệu cũng như đưa ra dự đoán Vì đặc điểm trung gian nên ta có thể sử dụng học không giám sát để khám phá và tìm hiểu cấu trúc trong dữ liệu đầu vào, đồng thời sử dụng học có giám sát để dự đoán cho dữ liệu không được gán nhãn Sau đó đưa dữ liệu vừa dự đoán trở lại làm dữ liệu huấn luyện cho học có giám sát và sử dụng mô hình sau khi huấn luyện

để đưa ra dự đoán về dữ liệu mới

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), các thuật toán cần xác định nước đi tiếp theo để đạt được điểm số cao nhất

AlphaGo - một phần mềm chơi cờ vây trên máy tính được xây dựng bởi Google DeepMind hay chương trình dạy máy tính chơi game Mario là những ứng dụng sử dụng học tăng cường

Cờ vậy được xem là trò chơi có độ phức tạp cực kỳ cao với tổng số nước đi là xấp xỉ 1076110761, so với cờ vua là 1012010120, vì vậy thuật toán phải chọn ra một nước đi tối ưu trong số hàng tỉ tỉ lựa chọn Về cơ bản, AlphaGo bao gồm các thuật toán thuộc cả Supervised learning và Reinforcement learning Trong phần Supervised learning, dữ liệu từ các ván cờ do con người chơi với nhau được đưa vào để huấn luyện Tuy nhiên, mục tiêu cuối cùng của AlphaGo không phải là chơi như con người

mà phải thắng được con người Vì vậy, sau khi học xong các ván cờ của con người, AlphaGo tự chơi với chính nó thông qua hàng triệu ván cờ để tìm ra các nước đi mới

Trang 18

tối ưu hơn Thuật toán trong phần tự chơi này được xếp vào loại Reinforcement learning

Một số thuật toán học tăng cường như: Self Training, Generative models, S3VMs, Graph-Based Algorithms, Multiview Algorithms, …

Tìm kiếm (Search Engine)

Chẩn đoán trong y tế: phân tích X quang, các hệ chuyên gia chẩn đoàn tự động Tin sinh học: phân loại chuổi gene, quá trình hình thành gene/protein

Vật lý: phân tích ảnh thiên văn, tác động giữa các hạt

Phát hiện giai lận tài chính (tinancial fraud): gian lận thể tín dụng

Phân tích thị trường chứng khoán (stock merket analysis)

Chơi trò chơi: tự động chơi cờ, hành động của các nhân vật ảo

1.2 Các phương pháp nhận dạng

1.2.1 Mô hình Markov ẩn (HMM – Hidden Markov Model)

Mô hình Markov ẩn (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ổ 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

Trang 19

Đâ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 [3]

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

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 [3]

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)

Trang 20

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

Trang 21

Hình 1 7: Mô hình máy véc-tơ hỗ trợ [4]

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:

) ,

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

hằng số

Trang 22

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

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.3.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

Trang 23

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

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

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

Đố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

Trang 24

đò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 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ê

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

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 niệ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ó

Trang 25

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.5 Tính chất chấp nhận sai sót

Một mạng nơron, được cài đặt dưới dạng phần cứng, vốn có khả năng chấp nhận lỗi, hay khả năng tính toán thô, với ý nghĩa là tính năng của nó chỉ thoái hoá khi có những điều kiện hoạt động bất lợi Ví dụ, nếu một nơron hay các liên kết kết nối của

nó bị hỏng, việc nhận dạng lại một mẫu được lưu trữ sẽ suy giảm về chất lượ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 26

1.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 (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

Đầ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 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

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ữ

Trang 27

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

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

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 Thư viện nhận dạng Tessract

1.3.1 Chức năng của Tesseract

Như trên đã giới thiệu, 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 Nó có thể chạy trên Linux, Windows và Mac, tuy nhiên do nguồn lực hạn chế nên chỉ có các phiên bản chạy trên Windows được kiểm tra chặt chẽ bởi các nhà phát triển

Tesseract phiên bản 2.0 chỉ có thể đọc và hiển thị hình ảnh TIFF đơn giản chứa một cột văn bản Những phiên bản đầu tiên này cũng không cho phép phân tích bố cục đối với văn bản nhiều cột hay chứa hình ảnh hoặc các công thức toán học Kể từ phiên bản 3.0, Tesseract đã hỗ trợ định dạng văn bản đầu ra, xác định thông tin vị trí và phân tích bố cục trang Mặt khác, một số định dạng mới như JPG, PNG, hoặc PDF được thêm vào bằng cách sử dụng thư viện Leptonica

Nếu như phiên bản 1.0 của Tesseract chỉ có thể nhận dạng văn bản tiếng Anh thì sau này Tesseract được xây dựng để có thể được đào tạo để làm việc trong nhiều ngôn ngữ mới Do đó từ phiên bản 2.0, Tesseract đã cho phép nhận dạng 6 ngôn ngữ bằng cách bổ sung tiếng Pháp, Tây Ban Nha Tới phiên bản 3.0, nó đào tạo các ngôn ngữ tượng hình như ngôn ngữ Ả Rập, Trung Quốc dạng giản thể và ngôn ngữ Việt Ngày nay, những phiên bản được cập nhật mới không chỉ mở rộng thêm nhiều ngôn ngữ mà còn nâng cao chất lượng nhận dạng

Trang 28

1.3.2 Kiến trúc giải thuật nhận dạng chữ in

Cũng giống như hầu hết các chương trình nhận dạng ký tự quang học, 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 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, giả thiết chứa các vùng văn bản hình dạng đa giác

Hình 1 8: Kiến trúc nhận dạng văn bản chữ in trong Tesseract

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ố Lọc dãy dòng không chỉ tìm dãy ký tự trong từng dòng mà còn phát hiện các ký tự có

độ cao chênh lệch trong dòng như ký tự drop-cap, ký tự chấm câu, ký tự dấu và nhiễu Tuy nhiên, nếu ảnh số chứa các dòng có độ nghiêng hoặc cong thì giải thuật trở nên phức tạp Để giúp giảm bớt mất thông tin khi nhận dạng ảnh nghiêng thì áp dụng giải thuật biến đổi Hough tìm góc nghiêng để đưa ảnh số trở lại vị trí thông thường Trong trường hợp dòng có độ cong nào đó thì phải thiết lập các dòng cơ sở (Baseline) bằng cách sử dụng phương trình spline thích hợp cho nhiều phân đoạn

Hình 1 9: Đường cơ sở hình cong

Trang 29

Cắt gọn từ sẽ xác định xem có các ký tự liền nhau trong một từ hay không Nếu

có nó sẽ cắt nhỏ các ký tự ra thành các ký tự riêng lẻ

Hình 1 10: Cắt các ký tự liền nhau Nhận dạng khoảng cách giữa chữ và số là một bài toán rắc rối Trong văn bản có nhiều phông chữ khác nhau dẫn tới khoảng cách giữa các từ và số khác nhau Tesseract khắc phục khó khăn trên bằng cách đo khoảng cách được chọn gần ngưỡng nào đó như là giá trị mờ với sai số

Sơ đồ nhận dạng một từ là quy trình phân tích một từ được chia ra thành các ký tự:

Trang 30

Bộ từ điển dùng để lưu trữ dữ liệu cho quá trình phân loại và nhận dạng Mỗi ngôn ngữ có một bộ từ điển chứa các ký tự theo các phông chữ khác nhau với thuộc tính như chuẩn – normal , đậm – bold, nghiêng – italic và thuộc tính kết hợp Từ điển cũng lưu trữ các từ hay sử dụng, từ chữ cái, từ số, từ chữ hoa, từ chữ thường

1.3.3 Huấn luyện dữ liệu nhận dạng với Tesseract

Để sử dụng Tesseract như là engine nhận dạng cho văn bản viết bằng một ngôn ngữ nào đó, ta cần đào tạo ra một bộ từ điển cho ngôn ngữ ấy Ngày nay, gần như các

bộ dữ liệu nhận dạng cho các ngôn ngữ phổ thông kể cả tiếng Việt đều đã có thể tải xuống từ trang dự án Google Code của phần mềm Tuy nhiên, Tesseract cung cấp danh sách hàm thủ tục để những lập trình viên có thể xây dựng từ điển nhận dạng

Hình 1 13: Sơ đồ đào tạo dữ liệu của Tesseract

Trang 31

Hơn nữa, những chuyên gia tin học có thể hoàn thiện thư viện mã nguồn mở viết bằng C/C++ Mặc dù vậy, người sử dụng không bắt buộc phải hiểu chi tiết lập trình trong các thủ tục nhưng vẫn thực hiện được công tác xây dựng từ điển vì thư viện Tesseract đã biên dịch chúng thành những chương trình thi hành được dưới dạng tệp

*.exe như mftraining, cntraining, hoặc shapeclustering có tham số đầu vào và đầu ra Tuy vậy, với mục đích hỗ trợ tối đa cho người dùng không là chuyên gia lập trình bằng cách cung cấp giao diện thân thiện và giảm bớt các dòng lệnh nhập trong môi trường đồ họa Các chức năng trong sơ đồ 1.13 trên sẽ được mô tả trực quan bởi các bước theo giao diện huấn luyện với jTessBoxEditor sau đây

1.3.3.1 Tạo dữ liệu huấn luyện

Chạy bộ biên tập để sinh ảnh văn bản, giao diện chương trình được hiển thị như sau:

Hình 1 14: Các chức năng chính của bộ biên tập văn bản mẫu

Muốn tạo một hình ảnh huấn luyện đầu tiên ta phải có văn bản huấn luyện, ngôn ngữ đào tạo thì không có giới hạn nhưng ở đây lựa chọn tiếng Anh và tiếng Việt Phông chữ soạn thảo cho mọi ngôn ngữ được sử dụng là phông unicode vì nếu dùng những loại phông chữ khác có thể tạo ra lỗi nhận dạng mã ký tự chuẩn UTF-8 sau đó

Cỡ chữ được Tesseract đề nghị nhỏ nhất là 15, nhưng với những phông chữ nhỏ thì chất lượng nhận dạng kém Do đó cần chọn cỡ chữ lớn hơn để tương đương với kích

cỡ chữ qua máy quét văn bản Nếu như nhận dạng những văn bản in ấn có chất lượng tốt thì không cần để ý tới tham số letter tracking, nhưng với văn bản nhận dạng có chất lượng kém thì để tránh tình trạng dính chập các ký tự có thể phải thay đổi tham số letter tracking Tùy chọn alti-aliasing sẽ giúp giảm tối thiểu tình trạng răng cưa trên đường biên của các ký tự trong khi tùy chọn noise cho phép ta làm nhiễu ảnh phù hợp

ký tự liền kề

Tạo ảnh huấn

luyện

Ngày đăng: 28/03/2021, 22:59

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w