Tải bản đầy đủ (.pdf) (67 trang)

Nghiên cứu các yếu tố tạo động lực của nhân viên tại công ty cổ phần mondelez kinh đô chi nhánh bình dương

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.55 MB, 67 trang )

UỶ BAN NHÂN DÂN TỈNH BÌNH DƯƠNG
TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT

ÔN THIỆN TÀI

NHẬN DẠNG CHỮ BA NA TRÊN VĂN BẢN HÌNH ẢNH

CHUN NGÀNH: HỆ THỐNG THƠNG TIN
MÃ SỐ: 8480104

LUẬN VĂN THẠC SĨ

BÌNH DƯƠNG – 2021


UỶ BAN NHÂN DÂN TỈNH BÌNH DƯƠNG
TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT

ÔN THIỆN TÀI

NHẬN DẠNG CHỮ BA NA TRÊN VĂN BẢN HÌNH ẢNH

CHUN NGÀNH: HỆ THỐNG THƠNG TIN
MÃ SỐ: 8480104

LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC
PGS.TS. QUẢN THÀNH THƠ

BÌNH DƯƠNG – 2021



LỜI CAM ĐOAN
Tôi xin cam đoan đề tài “Nghiên cứu Nhận Dạng Chữ Ba Na Trên Văn Bản
Hình Ảnh” là một cơng trình nghiên cứu độc lập dưới sự hướng dẫn của giáo viên
hướng dẫn: PGS.TS. Quản Thành Thơ.
Ngoại trừ những tài liệu tham khảo được trích dẫn trong luận văn này, tơi cam
đoan tồn phần hay những phần nhỏ của luận văn này chưa từng được công bố hoặc sử
dụng để nhận bằng cấp ở nơi khác.
Đề tài, nội dung báo cáo là sản phẩm mà tôi đã nỗ lực nghiên cứu trong quá trình
học tập tại trường. Các số liệu, kết quả trình bày trong báo cáo là hoàn toàn trung thực,
em xin chịu hoàn toàn trách nhiệm, kỷ luật của nhà trường đề ra nếu như có vấn đề xảy
ra.

Học viên thực hiện Luận văn

ÔN THIỆN TÀI

i


LỜI CẢM ƠN
Lời đầu tiên, tôi xin cảm ơn Ban Giám hiệu trường Đại học Thủ Dầu Một, Bộ
phận Đào tạo Sau đại học, Giảng viên tham gia giảng dạy đã giúp đỡ, tạo mọi điều kiện
cho tôi nghiên cứu trong suốt quá trình học tập và thực hiện đề tài luận văn tốt nghiệp.
Tôi xin được cảm ơn đến Thầy PGS.TS. Quản Thành Thơ đã cung cấp tài liệu,
giúp đỡ , hướng dẫn và tạo điều kiện thuận lợi trong q trình nghiên cứu, thực hiện đề
tài.
Cuối cùng tơi xin chân thành cảm ơn đến Quý Thầy cô trong Hội đồng bảo vệ
luận văn thạc sĩ đã góp ý để tơi hồn thành tốt hơn luận văn này.
Trân trọng cảm ơn!


Học viên thực hiện Luận văn

ÔN THIỆN TÀI

ii


TĨM TẮT
Ngày nay, bảo tồn và phát huy tiếng nói, chữ viết các dân tộc thiểu số là cấp thiết
để giữ gìn bản sắc văn hóa, thực hiện quyền bình đẳng giữa các dân tộc. Nhưng các các
loại sách báo, tư liệu về tiếng nói, chữ viết của các dân tộc thiểu số lại khơng nhiều,
hoặc có thì lại được in trên giấy truyền thống. Do đó, qua thời gian văn bản in giấy
truyền thống đó khơng cịn chất lượng tốt, cập nhật, sửa chữa, và trao đổi cũng gập nhiều
khó khăn. Từ đó, nảy sinh vấn đề làm cách nào để khôi phục lại những thông tin của
sách báo dưới dạng văn bản số để có thể cập nhật, tái bản hay để có thể lưu trữ lâu dài
hơn.
Việc khôi phục lại những thông tin được lưu trữ dưới dạng hình ảnh, điển hình từ
cuốn từ điển la tinh tiếng Ba Na mang đến tầm quan trọng đối với tiếng Ba Na khi có
thể lưu giữ và bảo tồn chúng dưới dạng văn bản số. Tuy nhiên việc chuyển đổi này
không phải lúc nào cũng luôn mang đến sự chính xác tuyệt đối, điều đó dẫn đến xuất
hiện những lỗi sai chính tả trong văn bản số làm cho kết quả khơng đạt như mong muốn.
Mục đích của nghiên cứu này là thực hiện hậu xử lý cho quá trình trên nhằm cải
tiến chất lượng cho văn bản số đầu ra từ bước chuyển đổi. Trong phạm vi của luận án,
tơi thực hiện các cách tiếp cận sau:
• Thực hiện chuyển đổi thơng tin từ hình ảnh sang văn bản số dưới định dạng
phù hợp gồm mục từ và thân từ như cuốn từ điển gốc.
• Xây dựng bộ sửa lỗi dựa trên mơ hình ngơn ngữ mức kí tự nhằm sửa lỗi chính tả
cho tiếng Ba Na. Mở rộng thêm với những phương thức nhằm tăng cường khả năng sửa
lỗi cho mơ hình.

• Đề xuất chiến lược cho mơ hình ngơn ngữ trong việc đánh giá kí tự nguyên
âm trên lỗi sai nhằm phù hợp với thực tế bài tốn. Bên cạnh đó, dùng các kĩ thuật nghiệm
suy (heuristic) để bổ trợ cho việc sửa lỗi nhằm đem lại kết quả tốt nhất.
Kết quả thực nghiệm cho thấy mơ hình đề xuất mang tính ứng dụng cao khi giúp
cải thiện chất lượng cho kết quả thu được từ việc chuyển đổi hình ảnh sang văn bản trên
cuốn từ điển Tiếng Ba Na. Sau cùng luận văn đưa ra hướng mở rộng cho đề tài khi có
thể phát triển mơ hình này nhằm đạt kết quả tốt hơn hoặc sử dụng vào những nghiên cứu
khác liên quan đến sửa lỗi chính tả tiếng Ba Na.

iii


MỤC LỤC
LỜI CAM ĐOAN .................................................................................................................... i
LỜI CẢM ƠN......................................................................................................................... ii
TÓM TẮT ............................................................................................................................. iii
DANH MỤC BẢNG BIỂU .................................................................................................. vii
DANH MỤC HÌNH ẢNH ................................................................................................... viii
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI NGHIÊN CỨU .......................................................... 1
1.1.

Giới thiệu đề tài ...................................................................................................... 1

1.2.

Mục tiêu và phạm vi đề tài .................................................................................... 2

1.2.1.

Mục tiêu nghiên cứu ......................................................................................... 2


1.2.2.

Phạm vi nghiên cứu .......................................................................................... 2

1.3.

Tính ứng dụng của đề tài ...................................................................................... 2

1.4.

Các cơng trình nghiên cứu liên quan ................................................................... 3

1.5.

Thách thức của bài toán ........................................................................................ 4

1.6.

Phương pháp nghiên cứu ...................................................................................... 4

1.7.

Cấu trúc luận văn .................................................................................................. 5

TÓM TẮT CHƯƠNG 1 ......................................................................................................... 5
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT ....................................................................................... 6
2.1.

Cơ sở lý thuyết ........................................................................................................ 6


2.1.1.

Đôi nét về người Ba Na .................................................................................... 6

2.1.2.

Ngôn ngữ chữ BaNa ......................................................................................... 6

2.2.

Tổng quan về Tesseract ......................................................................................... 7

2.2.1.

Tiền xử lý hình ảnh ........................................................................................... 8

2.2.2.

Thư viện Tesseract............................................................................................ 9

2.2.3.

Cách Tesseract hoạt động ............................................................................... 10

2.2.4.

Hạn chế của Tesseract .................................................................................... 10

2.2.5.


Công cụ Pytesseract ........................................................................................ 11

2.3.

Thư viện OpenCV ................................................................................................ 11

2.4.

Mạng nơ-ron hồi quy (RNN)............................................................................... 13

2.4.1.

Phân loại bài toán RNN .................................................................................. 16

2.4.2.

Ứng dụng bài toán RNN ................................................................................. 16

2.4.3.

Huấn luyện mạng RNN .................................................................................. 18

2.5.

LSTM .................................................................................................................... 18

2.6.

CNN ....................................................................................................................... 21


2.7.

Tổng quan về thuật giải Heuristic ...................................................................... 25

2.8.

Khoảng cách Levenshtein ................................................................................... 27

TÓM TẮT CHƯƠNG 2 ....................................................................................................... 29

iv


CHƯƠNG 3: HIỆN THỰC MƠ HÌNH ĐỀ TÀI.................................................................. 30
3.1.

Thu thập dữ liệu ................................................................................................... 30

3.1.1.

Xử lý trước hình ảnh ....................................................................................... 30

3.1.2.

Các vấn đề cơ bản trong xử lý ảnh ................................................................. 30

3.2.

Xây dựng mơ hình đề xuất .................................................................................. 32


TĨM TẮT CHƯƠNG 3 ....................................................................................................... 36
CHƯƠNG 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ ................................................................ 37
4.1.

Thực hiện xử lý hình ảnh trước .......................................................................... 37

4.2.

Thực hiện OCR .................................................................................................... 37

4.3.

Đặc điểm lỗi .......................................................................................................... 39

4.4.

Thực nghiệm sửa lỗi ký tự................................................................................... 41

4.5.

Đánh giá kết quả .................................................................................................. 42

4.6.

Một số hạn chế của mơ hình ............................................................................... 45

TĨM TẮT CHƯƠNG 4 ....................................................................................................... 45
CHƯƠNG 5: KẾT LUẬN VÀ KIẾN NGHỊ........................................................................ 46
5.1.


Kết luận ................................................................................................................. 46

5.2.

Hướng mở rộng đề tài.......................................................................................... 46

TÓM TẮT CHƯƠNG 5 ....................................................................................................... 47
DANH MỤC TÀI LIỆU THAM KHẢO ............................................................................. 48

v


DANH MỤC TỪ VIẾT TẮT

Từ viết tắt

Từ tiếng Anh

Diễn giải

AI

Artificial Intelligence

Trí tuệ nhân tạo

CNN

Convolutional Neural Network


Mạng nơ ron tích chập

DL

Deep Learning

Học sâu

HO

Humanitarian Organization

Tổ chức nhân đạo

LM

Language Model

Mơ hình hóa ngơn ngữ

LSTM

Long Short-Term Memory

Bộ nhớ dài ngắn

ML

Machine Learning


Học máy

NLP

Natural Language Processing

Xử lý ngôn ngữ tự nhiên

OpenCV

Open Source Computer Vision

Thị giác máy tính nguồn mỡ

RNN

Recurrent Neural Network

Mạng nơ ron tái phát

vi


DANH MỤC BẢNG BIỂU
Bảng 4. 1 Các kí tự bị lỗi thường xuyên ....................................................................... 41
Bảng 4. 2: Kết quả so sánh ocr thô và heuristic ............................................................ 44

vii



DANH MỤC HÌNH ẢNH
Hình 1. 3: Cuốn sách từ điển Ba Na – Ba Na .................................................................. 3
Hình 2. 2: Bộ bảng chữ cái Tiếng Ba Na (Nguồn tác giả) .............................................. 7
Hình 2. 3: OCR trên một tờ giấy cũ và chuyển đổi sang văn bản số .............................. 8
Hình 2. 4: Quá trình OCR (Optical Character Recognition process) .............................. 8
Hình 2. 5: Kiến trúc Tesseract OCR .............................................................................. 10
Hình 2. 6: Mơ hình mạng Neural Network thơng thường ............................................. 14
Hình 2. 7: Kiến trúc cơ bản mạng RNN ........................................................................ 14
Hình 2. 8: Các dạng bài tốn RNN ................................................................................ 16
Hình 2. 9: Mơ hình dịch máy......................................................................................... 17
Hình 2. 10: Kiến trúc của LSTM ................................................................................... 18
Hình 2. 11: LSTM – cổng forget ................................................................................... 20
Hình 2. 12: LSTM – cổng input và lớp tanh ................................................................. 20
Hình 2. 13: LSTM – cập nhật trạng thái tế bào (cell state) .......................................... 21
Hình 2. 14: LSTM – lớp output ..................................................................................... 21
Hình 2. 15: Mơ hình cấu trúc CNN ............................................................................... 23
Hình 2. 16: Mơ hình nhận dạng object CNN ................................................................ 25
Hình 2. 17: Khoảng cách Levenshtein giữa hai chuỗi a và b ........................................ 28
Hình 3. 1 Ảnh thu nhận và ảnh mong muốn ................................................................. 31
Hình 3.2: Mơ hình cơng cụ Tesseract OCR nhận dạng văn bản hình ảnh .................... 32
Hình 3. 3: Mơ hình Tesseract tiếng Việt ....................................................................... 33
Hình 3. 6: Thuật tốn heuristic sửa lỗi kí tự .................................................................. 35
Hình 3. 7: Mơ hình nhận dạng văn bản hình ảnh tiếng Ba Na ...................................... 35
Hình 4. 1: Kết quả đạt được sau khi xử lý hình ảnh ...................................................... 37
Hình 4. 2: Quá trình OCR cho việc thực hiện cuốn từ điển Tiếng Ba Na..................... 37
Hình 4. 3: Kết quả đạt được sau khi OCR thơ ............................................................... 38
Hình 4. 4: Thống kê lỗi sau khi sử dụng Tesseract ...................................................... 39
Hình 4. 5: Trực quan hóa trước và sau khi heuristic dữ liệu từ điển tiếng Ba Na......... 40
Hình 4. 6: Tập hợp các lỗi thay thế ............................................................................... 41

Hình 4. 7: Kết quả đạt được sau khi sửa lỗi kí tự .......................................................... 42
Hình 4. 8: Biểu đồ trực quan hóa so sánh ocr thô và heuristic ...................................... 44
viii


Hình 4. 9: Trực quan hóa kết quả test trên 4 tập dữ liệu ............................................... 45

ix


CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI NGHIÊN CỨU
1.1. Giới thiệu đề tài
Ngày nay, bảo tồn và phát huy tiếng nói, chữ viết các dân tộc thiểu số là cấp thiết
để giữ gìn bản sắc văn hóa, thực hiện quyền bình đẳng giữa các dân tộc. Nhưng các các
loại sách báo, tư liệu về tiếng nói, chữ viết của các dân tộc thiểu số lại khơng nhiều,
hoặc có thì lại được in trên giấy truyền thống. Do đó, qua thời gian văn bản in giấy
truyền thống đó khơng cịn chất lượng tốt, cập nhật, sửa chữa, và trao đổi cũng gập nhiều
khó khăn. Từ đó, nảy sinh vấn đề làm cách nào để khôi phục lại những thông tin của
sách báo dưới dạng văn bản số để có thể cập nhật, tái bản hay để có thể lưu trữ lâu dài
hơn.
Đây là một nhiệm vụ thực tế trong nhiều lĩnh vực, chẳng hạn như trong các thư
viện và nhà xuất bản. Có một số cách khác nhau để giải quyết bài toán chuyển đổi trên.
Một biện pháp dễ thực hiện nhất là nhập lại nội dung của văn bản thông qua bàn phím.
Mặc dù vậy, đây là một cơng việc thủ công trong thao tác chế bản nên nếu số lượng văn
bản là quá lớn và mất nhiều thời gian sẽ dẫn tới nhiều sai sót. Giải pháp khác là tạo ra
một chương trình nhận dạng văn bản tự động. Theo hướng này, từ điển, sách, báo, …
được máy quét lưu trữ dưới dạng ảnh số, chương trình có chức năng nhận dạng ký tự,
từ đó chuyển đổi thành văn bản số. Tuy nhiên việc chuyển đổi này không phải lúc nào
cũng ln mang đến sự chính xác 100%, điều đó dẫn đến xuất hiện những lỗi sai chính
tả trong văn bản số làm cho kết quả không đạt như mong muốn. Vì vậy việc thực hiện

hậu xử lý (post-processing) cho q trình trên là một cơng việc quan trọng và cần thiết
để cải tiến chất lượng cho văn bản số đầu ra từ bước chuyển đổi. Nhận thấy việc ứng
dụng công việc trên cho một bộ từ điển tiếng Ba Na là một chủ đề đáng được quan tâm,
qua tìm hiểu và nghiên cứu tôi xin thực hiện đề tài : Nhận dạng chữ Ba Na trên văn
bản hình ảnh. Đề tài này sẽ tìm hiểu tổng quan cách tiếp cận dựa trên các kĩ thuật Học
Sâu (Deep Learning) để giải bài tốn. Trong đó bên cạnh khả năng áp dụng công nghệ
nhận dạng ký tự quang học (OCR – Optical Character Recognition) giúp chuyển đổi chữ
viết, văn bản số từ hình ảnh, thì bước tìm hiểu các phương pháp xử lý ngôn ngữ tiếng
Ba Na và sử dụng mô hình ngơn ngữ để sửa lỗi chính tả là phần cơng việc chính yếu cần
hướng đến. Từ đó đưa ra cách tiếp cận, xây dựng chiến lược phù hợp ở công việc hậu
xử lý nhằm giúp giảm độ lỗi của quá trình OCR ban đầu.
1


1.2. Mục tiêu và phạm vi đề tài
1.2.1. Mục tiêu nghiên cứu
Mục tiêu của đề tài này là tìm hiểu phương thức trích xuất thơng tin từ hình ảnh
để sinh ra ký tự, văn bản số thông qua việc nhận dạng ký tự quang học (OCR) cho tiếng
Ba Na. Ở bước sau trích xuất, đề xuất kỹ thuật huấn luyện mơ hình ngơn ngữ để sửa sai
lỗi chính tả kí tự trên văn bản được sinh ra. Sau cùng, thực hiện việc so sánh kết quả ở
bước trích xuất thơng tin văn bản từ hình ảnh và kết quả sau khi qua mơ hình sửa lỗi để
áp dụng mơ hình đạt hiệu quả nhất.
Tổng quát lại, mục tiêu của đề tài bao gồm:
• Đề xuất và huấn luyện mơ hình sửa lỗi cho bước hậu xử lý.
• Thực hiện các thử nghiệm và so sánh kết quả trước và sau khi qua mơ hình
sửa lỗi.
• Áp dụng được mơ hình sửa lỗi chính tả trong tiếng Ba Na.
1.2.2. Phạm vi nghiên cứu
Đề tài này tập trung vào 3 vấn đề nghiên cứu sau:
• Tiền xử lý trên tập hình ảnh được quét từ bộ từ điển tiếng Ba Na có sẵn

giúp trích xuất thơng tin theo định dạng phù hợp với u cầu.
• Đề xuất và huấn luyện mơ hình sửa lỗi ban đầu.
• Áp dụng mơ hình kết hợp với những phương thức hỗ trợ để sửa lỗi chính
tả cho những định dạng thịnh hành nhất. So sánh kết quả cũng như lựa chọn mơ hình
thịnh hành nhất giúp đem lại kết quả tốt nhất cho bài tốn.
Phần chính của luận văn này sẽ tập trung vào mơ hình sửa lỗi, các phương pháp
giúp tăng cường hiệu suất của mơ hình sửa lỗi. Do đó luận văn sẽ khơng tập trung nhiều
về việc áp dụng các kĩ thuật để cải thiện độ chính xác ở bước nhận dạng kí tự quang học
OCR cũng như phương thức giúp phát hiện lỗi trong văn bản được sinh ra.
1.3. Tính ứng dụng của đề tài
Đề tài này giúp bản thân tôi củng cố được kiến thức khoa học trong việc nghiên
cứu về mơ hình nhận dạng văn bản hình ảnh bằng kỹ thuật Học Sâu Deep Learning.
Thơng qua đó tơi có thể ứng dụng được các phương pháp “state of the art” - thịnh hành
2


nhất - vào mơ hình để xử lý cho ngơn ngữ cụ thể là tiếng Ba Na giúp mang tính ứng
dụng vào thực tiễn. Với việc nghiên cứu và xử lý trực tiếp trên cuốn Từ Điển Tiếng Ba
Na (Bơhnar Kriêm do Sở Khoa học và Công nghệ (Ủy ban nhân dân tỉnh Bình Định) và
Viện Ngơn ngữ học (Viện Khoa học xã hội Ba Na Nam) hợp tác thực hiện), tơi đã có
thể thực hiện một đề tài với tính ứng dụng cao giúp đóng góp vào việc bảo tồn ngôn ngữ
dân tộc và bảo tồn văn bản số cho từ ngữ tiếng Ba Na thông qua cuốn từ điển này. Ngồi
ra, việc thực hiện mơ hình sửa lỗi này có tính tổng qt cao và có thể được dùng lại cho
các nghiên cứu liên quan về xử lý ngơn ngữ tiếng Ba Na sau này.

Hình 1. 3: Cuốn sách từ điển Ba Na – Ba Na
1.4. Các công trình nghiên cứu liên quan
• Training TESSERACT Tool for Amazigh OCR KHADIJA EL GAJOUI,
FADOUA ATAA ALLAH, MOHAMMED OUMSIS Laboratory of research in
Informatics and Telecommunications, Faculty of Sciences – Rabat, Mohammed V

University, Rabat, MOROCCO CEISIC, The Royal Institute of Amazigh Culture,
Rabat, MOROCCO Department of Computer Science, School of Technology-Sale,
Mohammed V University, Sale MOROCCO – [1] Trong bài báo này, quan tâm đến nhận
dạng ký tự quang học của tài liệu, là một lĩnh vực nghiên cứu hoạt động ngày nay. Bài
báo giới thiệu hệ thống OCR và các thành phần của nó. Sau đó, bài báo đã trình bày
ngơn ngữ Amazigh. Với thành cơng mà cơng cụ Tesseract có được chấp thuận, tác giả
3


đã chọn áp dụng nó cho Amazigh ngơn ngữ phiên âm sang tiếng Latinh. Ngôn ngữ này
chưa được khám phá sâu về OCR.
• On the Use of Machine Translation-Based Approaches for Vietnamese
Diacritic Restoration – [2] Trong bài báo này, tác giả tiếp cận theo hướng sử dụng mơ
hình dịch máy nhằm khôi phục lại dấu phụ cho tiếng Việt. Ý tưởng chính của phương
pháp này là coi văn bản khơng dấu như ngơn ngữ nguồn và văn bản có dấu như ngơn
ngữ đích trong cơng thức dịch máy.Tác giả có đề cập và sử dụng một mơ hình sequenceto-sequence là sự kết hợp của hai mạng nơ-ron hồi quy (RNN – Recurrent Neural
Network).Việc hiện thực mơ hình này mang tính hiệu quả cao cho ứng dụng sửa lỗi
chính tả tiếng Ba Na trong trường hợp mất dấu hoặc thiếu dấu, tuy nhiên sẽ không sửa
được những lỗi sai khác phức tạp hơn.
• A Vietnamese Language Model Based on Recurrent Neural Network - [3]
Bài báo này nghiên cứu mơ hình mạng nơ-ron hồi quy (RNNs – Recurrent Neural
Networks) cho tiếng Việt, ở cấp độ ký tự và âm tiết. Các thí nghiệm được thực hiện dựa
trên một tập dữ liệu lớn gồm 24 triệu âm tiết và xây dựng từ 1.500 phụ đề phim. Bài báo
cho thấy kết quả đạt được hiệu suất tốt hơn trong việc sử dụng mơ hình ngôn ngữ dựa
trên mạng nơ-ron hồi quy so với mô hình ngơn ngữ dựa trên xác suất truyền thống.
Những cách tiếp cận trong bài báo này gợi mở cho tôi nhiều ý tưởng hơn trong việc xử
lý, giải quyết bài tốn của mình.
1.5. Thách thức của bài tốn
Hiện tại tập dữ liệu hình ảnh lưu trữ là bản qt tồn bộ cuốn từ điển Tiếng Ba
Na nên chất lượng hình ảnh khơng được rõ nét, văn bản có trang bị nghiêng lệch, một

số chỗ bị mờ, lem, không rõ ràng. Từ đó ảnh hưởng đến kết quả đầu ra chưa tốt, còn gặp
tương đối nhiều lỗi của bước nhận dạng kí tự quang học trên cuốn từ điển này, ví dụ:
cùng một kí tự nhưng lại được nhận dạng lỗi thành nhiều kí tự khác. Ngồi ra, Tiếng Ba
Na theo mẫu la tinh chưa được nghiên cứu nhiều và chưa được hỗ trợ cơng nghệ nhận
dạng kí tự nên bước nhận dạng kí tự quang học gặp tương đối nhiều lỗi. Điều này dẫn
đến việc phát hiện lỗi gặp rất nhiều khó khăn.
1.6. Phương pháp nghiên cứu
Trong q trình nghiên cứu và thực hiện đề tài, tôi sẽ tập trung vào việc sửa lỗi
chính tả kí tự trên văn bản số đầu ra sau bước nhận dạng kí tự quang học thay vì thực
4


hiện đồng thời cả 2 bước phát hiện lỗi chính tả rồi sau đó sửa lỗi chính tả. Tơi sẽ thực
hiện tô đỏ những lỗi sai trên văn bản số đầu ra để đánh dấu vị trí lỗi. Tiếp đến, tơi sẽ
tiếp cận bằng cách sử dụng mơ hình ngơn ngữ được xử lý ở mức kí tự để phù hợp cho
bài tốn. Ngồi ra, tơi cịn dùng các phương pháp hỗ trợ nhằm chọn ra
phương pháp phù hợp với kết cấu của từng loại từ trong cuốn từ điển đồng thời
đánh giá kết quả để chọn lựa phương thức đạt hiệu suất sửa lỗi tốt nhất.
1.7. Cấu trúc luận văn
Những nội dung chi tiết hơn trong quá trình thực hiện đề tài sẽ được trình bày có
5 chương:
• CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI NGHIÊN CỨU.
• CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
• CHƯƠNG 3: HIỆN THỰC MƠ HÌNH NGHIÊN CỨU
• CHƯƠNG 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ
• CHƯƠNG 5: KẾT LUẬN VÀ KIẾN NGHỊ
TÓM TẮT CHƯƠNG 1
Chương 1, giới thiệu tổng quan toàn bộ nội dung đề tài “Nhận dạng chữ Ba Na
trên văn bản hình ảnh” gồm: mục tiêu và phạm vi đề tài, tính ứng dụng của đề tài, các
cơng trình nghiên cứu liên quan, thách thức của bài toán, Phương pháp nghiên cứu và cấu trúc


luận văn.

5


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. Cơ sở lý thuyết
2.1.1. Đôi nét về người Ba Na
Người Ba Na (Bahnar; các tên gọi khác: Jơ Lơng, Rơ Ngao, Glar, Tơ Lô, Bơ
Nâm, Krem, Roh, Con Kde) là một dân tộc trong số 54 dân tộc tại Ba Na Nam. - [4]
Người Ba Na cư trú chủ yếu ở vùng Tây Nguyên và cao nguyên trung phần Ba
Na Nam, có dân số xấp xỉ 287 nghìn người năm 2019.
Theo tổng điều tra dân số và nhà ở người Ba Na ở Ba Na cư trú tại 51 trên tổng
số 63 tỉnh, thành phố. Người Ba Na cư trú tập trung tại các tỉnh:
• Gia

Lai (104.997 người, chiếm 11,8% dân số tồn tỉnh và 45,9% tổng số người

Ba Na tại Ba Na Nam),
• Kon Tum

(99.416 người, chiếm 12,5% dân số toàn tỉnh và 43,7% tổng số người

Ba Na tại Ba Na Nam),
• Bình
• Phú

Định (18.175 người, chiếm 8,0% tổng số người Ba Na tại Ba Na Nam),


Yên (4.145 người, chiếm 1,8 % tổng số người Ba Na tại Ba Na Nam).

Người Ba Na có nhiều tên gọi khác nhau theo nơi cư trú hay phong tục tập quán
mỗi vùng.
Người Ba Na là dân tộc bản địa Ba Na Nam có từ lâu đời tập trung ở các vùng Tây
Nguyên điển hình là hai tỉnh Kon Tum, Gia Lai đây được coi là bản địa cũng như địa
bàn cư trú của người Ba Na
Tại Mỹ có một số người Ba Na nhập cư theo diện HO.
Tiếng Ba Na liên quan đến tiếng Kinh.
Người Ba Na nói tiếng Ba Na thuộc Ngữ chi Ba Na là một ngơn ngữ thuộc Ngữ
hệ Nam Á (hay cịn gọi ngơn ngữ Mơn-Khmer), cùng với đó là Ngữ chi Ba Na và Ngữ
chi Ba Na-Mường được xếp vào ngôn ngữ Môn-Khmer.
2.1.2. Ngôn ngữ chữ BaNa
Tiếng Ba Na là ngôn ngữ của người Ba Na, sắc tộc thiểu số ở miền trung Ba Na
Nam. – [4] (Theo Bách khoa toàn thư mở Wikipedia)
6


Tiếng Ba Na cịn ít được nghiên cứu. Hiện nó được xếp loại là nhóm Bắc Ba Na,
thuộc Ngữ chi Bahnar, Ngữ hệ Nam Á. Ngơn ngữ này có 9 nguyên âm về chất, hơn nữa
còn phân biệt độ dài nguyên âm. Năm 1861, chữ Ba Na viết theo mẫu tự la tinh.

Hình 2. 1: Bộ bảng chữ cái Tiếng Ba Na (Nguồn tác giả)
2.2. Tổng quan về Tesseract
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à thị giác máy tính - [6] .
Đây là một công nghệ phổ biến để nhận dạng văn bản bên trong hình ảnh, chẳng

hạn như tài liệu và ảnh được quét. Công nghệ OCR được sử dụng để chuyển đổi hầu
như bất kỳ loại hình ảnh nào có chứa văn bản viết (đánh máy, viết tay hoặc in) thành dữ
liệu văn bản có thể đọc được bằng máy. Những dữ liệu được sinh ra từ việc nhận dạng
ký tự quang học có thể được sử dụng cho rất nhiều việc, ví dụ như: số hóa các văn bản,
tài liệu cũ, sách báo, dịch sang các ngôn ngữ khác, hoặc kiểm tra và xác minh vị trí văn
bản,…
Cơng nghệ OCR trở nên phổ biến vào đầu những năm 1990 khi cố gắng số hóa
các tờ báo lịch sử. Kể từ đó, cơng nghệ đã trải qua một số cải tiến. Ngày nay, các giải
pháp cung cấp độ chính xác OCR gần như hoàn hảo.
7


Một ví dụ về OCR như hình dưới :

Hình 2. 2: OCR trên một tờ giấy cũ và chuyển đổi sang văn bản số
OCR là một quy trình thường bao gồm một số quy trình phụ để thực hiện chính
xác nhất có thể [7]. Các quy trình phụ thường bao gồm:
2.2.1. Tiền xử lý hình ảnh


Cục bộ hóa văn bản: phân tách tài liệu các yếu tố (dòng, từ, ký tự ...)



Phân đoạn ký tự: xác định các tính năng đặc trưng cho các phần tử được

phân cách của một tài liệu.


Nhận dạng ký tự: nhận biết và xác định từng phần tử. Nó được thực hiện


dựa trên các tính năng được trích xuất.


Hậu xử lý: Nó có thể là tự động hoặc thủ cơng

Tất nhiên, các quy trình phụ trong danh sách trên có thể khác nhau, nhưng đây là
những bước gần như cần thiết để tiếp cận nhận dạng ký tự tự động. Trong phần mềm
OCR, mục đích chính là xác định và nắm bắt tất cả các từ duy nhất bằng các ngôn ngữ
khác nhau từ các ký tự văn bản viết.
Hình 2. 3: Quá trình OCR (Optical Character Recognition process)

8


Nguồn: [7]
2.2.2. Thư viện Tesseract
Tesseract - một công cụ OCR mã nguồn mở đang phổ biến hiện nay. Nó giúp tiết
kiệm thời gian và cơng sức của con người. Nó hoạt động tự động trích xuất văn bản từ
một hình ảnh, tồn tại trong nhiều loại phông chữ và bị bóp méo theo mọi cách. Nhận
dạng ký tự quang học (OCR), ban đầu được phát triển tại Hewlett Packard từ năm 1984
đến năm 1994, là một nguồn mở (theo Giấy phép Apache 2.0) quang ngoại tuyến công
cụ nhận dạng ký tự. Bristol, lần đầu tiên bắt đầu phát triển Tesseract như một dự án
nghiên cứu tiến sĩ trong HP Labs. Năm 1995, Tesseract được gửi đến Đại học Nevada,
Les Vegas (UNLV). Đến năm 2005, Tesseract đã được phát hành bởi Hewlett Packard
và Đại học Nevada, Las Vegas và hiện tại nó được tài trợ và duy trì một phần bởi Google.
Tesseract với phiên bản 3.x khi nó bắt đầu hỗ trợ nhiều định dạng hình ảnh và
dần dần bổ sung một số lượng lớn các tập lệnh (ngôn ngữ). Tesseract 3.x dựa trên các
thuật tốn thị giác máy tính truyền thống. Trong vài năm qua, các phương pháp dựa trên
Deep Learning đã vượt qua các kỹ thuật máy học truyền thống nhờ một lợi nhuận rất

lớn về độ chính xác trong nhiều lĩnh vực của Thị giác máy tính. Nhận dạng chữ viết tay
là một trong những ví dụ nổi bật.
Đến phiên bản 4.x trở đi, Tesseract đã triển khai một công cụ nhận dạng dựa trên
Bộ nhớ Ngắn hạn Dài hạn (LSTM). LSTM là một loại Mạng thần kinh tái diễn (RNN).

9


Hiện tại, Tesseract đã được hỗ trợ trên ba hệ điều hành Linux , của Windows và
Mac OS X. Thư viện Tesseract cũng hỗ trợ rất nhiều ngôn ngữ lập trình, như: Java,
C/C++, Python, …
2.2.3. Cách Tesseract hoạt động
Tesseract 3.x phụ thuộc vào quy trình nhiều giai đoạn, ở đó chúng ta có thể phân
biệt qua các bước:
• Tìm từ
• Tìm dịng
• Phân loại kí tự
Việc tìm kiếm từ được thực hiện bằng cách sắp xếp các dòng văn bản thành các
đốm màu, các dịng và vùng được phân tích để tìm cao độ cố định hoặc văn bản theo tỷ
lệ. Các dòng văn bản được chia thành các từ khác nhau tùy theo loại khoảng cách ký tự.
Việc nhận dạng sẽ được tiến hành như một quá trình hai lần. Trong lần vượt qua đầu
tiên, một nỗ lực được thực hiện để nhận ra lần lượt từng từ. Mỗi từ đạt yêu cầu được
chuyển đến bộ phân loại thích ứng làm dữ liệu huấn luyện. Sau đó, trình phân loại thích
ứng sẽ có cơ hội nhận dạng chính xác hơn văn bản ở dưới trang (Hình 2.5)

Hình 2. 4: Kiến trúc Tesseract OCR
2.2.4. Hạn chế của Tesseract
Tesseract hoạt động tốt nhất khi có sự phân đoạn rõ ràng của từ nền khỏi văn bản
nền. Trong thực tế, có thể cực kỳ khó khăn để đảm bảo các loại thiết lập này. Có nhiều
lý do khiến chúng ta khơng nhận được đầu ra chất lượng tốt từ Tesseract như việc hình

ảnh bị nhiễu trên nền. Chất lượng hình ảnh (kích thước, độ tương phản, độ sáng) càng
10


tốt thì kết quả nhận dạng càng tốt. Nó địi hỏi một chút xử lý trước để cải thiện kết quả
OCR, hình ảnh cần được chia tỷ lệ thích hợp, có độ tương phản hình ảnh nhiều nhất có
thể và văn bản phải được căn chỉnh theo chiều ngang. Tesseract OCR khá mạnh nhưng
có những hạn chế sau:
• OCR khơng chính xác như một số giải pháp thương mại có sẵn
• Khơng hoạt động tốt với hình ảnh bị ảnh hưởng bởi hiện vật bao gồm tắc
một phần, phối cảnh méo mó và nền phức tạp.
• Nó có thể khơng nhận dạng được (vô nghĩa) và báo cáo đây là đầu ra OCR.
• Khơng phải lúc nào việc phân tích thứ tự đọc tự nhiên của tài liệu cũng
tốt. Ví dụ: nó có thể khơng nhận ra rằng một tài liệu chứa hai cột và có thể cố gắng nối
văn bản giữa các cột.
• Bản qt chất lượng kém có thể tạo ra OCR chất lượng kém.
2.2.5. Công cụ Pytesseract
Để phục vụ cho việc thực hiện bài tốn, tơi sẽ sử dụng cơng cụ chính là
Pytesseract. Pytesseract là một cơng cụ nhận dạng ký tự quang học (OCR) dành cho
ngôn ngữ lập trình Python - [7]. Tức là, nó sẽ nhận ra và “đọc” văn bản được nhúng
trong hình ảnh. Pytesseract là một trình bao bọc cho cơng cụ Tesseract-OCR của Google.
Nó cũng hữu ích như một tập lệnh gọi độc lập đối với Tesseract, vì nó có thể đọc tất cả
các loại hình ảnh được hỗ trợ bởi thư viện hình ảnh Pillow và Leptonica, bao gồm jpeg,
png, gif, bmp, tiff và các loại khác. Ngoài ra, nếu được sử dụng làm script, Pythontesseract sẽ in văn bản được nhận dạng thay vì ghi nó vào tệp.
2.3. Thư viện OpenCV
OpenCV (Open Source Computer Vision) là một thư viện mã nguồn mở về thị
giác máy với hơn 500 hàm và hơn 2500 các thuật toán đã được tối ưu về xử lý ảnh, và
các vấn đề liên quan tới thị giác máy. OpenCV được thiết kế một cách tối ưu, sử dụng
tối đa sức mạnh của các dòng chip đa li… để thực hiện các phép tính tốn trong thời
gian thực, nghĩa là tốc độ đáp ứng của nó có thể đủ nhanh cho các ứng dụng thông

thường. OpenCV là thư viện được thiết kế để chạy trên nhiều nền tảng khác nhau (crossplatform), nghĩa là nó có thể chạy trên hệ điều hành Window, Linux, Mac, iOS…
Thư viện OpenCV ban đầu được sự hỗ trợ từ Intel, sau đó được hỗ trợ bở Willow
Garage, một phịng thí nghiệm chun nghiên cứu về công nghệ robot. Cho đến nay,
11


OpenCV vẫn là thư viện mở, được phát triển bởi nguồn quỹ không lợi nhuận (none profit foundation) và được sự hưởng ứng rất lớn của cộng đồng.
Sau đây là những tóm tắt cơ bản về hệ thống các về chức năng của các hàm
trong OpenCV – [8]
• Image and Video I/O
Những giao diện này sẽ giúp bạn đọc được dự liệu ảnh từ file hoặc trực tiếp từ
video. Bạn cũng có thể tạo các file ảnh và video với giao diện này
• Thị giác máy và các thuật tốn xử lý ảnh (General computer-vision and
image-processing algorithms(mid – and low level APIs))
Sử dụng những giao diện này, bạn có thể thực hành với rất nhiều chuẩn thị giác
máy mà không cần phải có mã nguồn của chúng.
• Module thị giác máy ở cấp độ cao
OpenCV gồm một vài tác dụng ở cấp độ cao. Thêm vào nhận dạng mặt, dò tìm,
theo dõi. Nó bao gồm luồng thị giác (sử dụng camera di động để xác định cấu trúc 3D),
kích cỡ camera và âm thanh nổi.
• AI and machine-learning
Các ứng dụng của thị giác máy thường yêu cầu máy móc phải học (machine
learning) hoặc các hình thức trí tuệ nhân tạo khác. Một vài trong số chúng là có sẵn
trong gói OpenCV
• Lấy mẫu ảnh và phép biến đổi
Nó thường rất tốt cho q trình xử lý một nhóm phần tử ảnh như là một đơn vị.
OpenCV bao gồm lấy tách ra, lấy mẫu ngẫu nhiên, phục chế, xoay ảnh, làm cong ảnh
( warping), thay đổi hiệu ứng của ảnh.
• Cách thức tạo và phân tích ảnh nhị phân
Ảnh nhị phân thường xuyên được dùng trong các hệ thống kiểm tra có khuyết

điểm hình dạng hoặc các bộ phận quan trọng. Sự biểu diễn ảnh cũng rất thuận tiện khi
chúng ta biết rõ vật thể cần bắt.

12


• Cách thức cho tính tốn thơng tin 3D (methods for computing 3D
information)
Những hàm này rất có ích khi cần sắp xếp và xác định với một khối lập thể (with
a stereo rig) hoặc với khơng gian nhìn phưc tạp (multiple views) từ một camera riêng.
• Các phép tốn cho xử lý ảnh, thị giác máy và biểu diễn ảnh (image
interpretation)
OpenCV sử dụng các phép toán phổ biến như: đại số học, thống kê và tính tốn
hình học
• Đồ họa
Những giao diện này giúp bạn viết chữ và vẽ trên hình ảnh. Thêm vào đó những
chức năng này được sử dụng nhiễu trong ghi nhãn và đánh dấu. Ví dụ nếu bạn viết một
chương trình cần nhận dạng nhiều đối tượng thì nó sẽ rất có ích cho tạo nhãn ảnh (label
image) với kích thước và vị trí.
• Phương thức GUI
OpenCV bao gồm cửa sổ giao diện của chính bản thân nó. Trong khi đó những
giao diện này được so sánh giới hạn với khả năng có thể thực hiện trong mỗi môi trường.
Chúng cung cấp những môi trường API đa phương tiện và đơn giản để hiển thị hình
ảnh, cho phép người dùng nhập dữ liệu thông qua chuột , bàn phím và điều khiển q
trình.
• Cấu trúc dữ liệu và giải thuật
Với những giao diện này bạn có thể giữ lại, tìm kiếm, lưu và cách danh mục điều
khiển, các tuyển tập(cũng như các tập hợp lệnh được gọi), đồ họa và sơ đồ nhánh một
cách hiệu quả.
• Khả năng tồn tại lâu dài của dữ liệu (Data persistence)

Những phương pháp này cung cấp các giao diện một cách thuận lợi để lưu trữ
các dạng khác nhau của dữ liệu vào đĩa để có thể khơi phục khi cần thiết.
2.4. Mạng nơ-ron hồi quy (RNN)
Mạng nơ-ron hồi quy Recurrent Neural Network (RNN) là một trong những mơ
hình Deep learning được đánh giá có nhiều ưu điểm được chú ý rất nhiều trong các tác
13


vụ xử lý ngôn ngữ tự nhiên (NLP). Trong phần này, tơi sẽ trình bày các khái niệm, các
đặc điểm cũng như những ứng dụng của RNN trong các bài tốn thực tế. – [9]
Trước tiên chúng ta cùng nhìn lại mơ hình Neural Network dưới đây:

Hình 2. 5: Mơ hình mạng Neural Network thơng thường
Như đã biết thì Neural Network bao gồm 3 phần chính là Input layer, Hidden
layer và Output layer, ta có thể thấy là đầu vào và đầu ra của mạng neuron này là độc
lập với nhau. Như vậy mơ hình này khơng phù hợp với những bài tốn dạng chuỗi như
mơ tả, hồn thành câu, ... vì những dự đốn tiếp theo như từ tiếp theo phụ thuộc vào vị
trí của nó trong câu và những từ đằng trước nó. Và như vậy RNN ra đời với ý tưởng
chính là sử dụng một bộ nhớ để lưu lại thơng tin từ những bước tính tốn xử lý trước để
dựa vào nó có thể đưa ra dự đốn chính xác nhất cho bước dự đốn hiện tại. RNN được
gọi là hồi quy (Recurrent) bởi lẽ chúng thực hiện cùng một tác vụ cho tất cả các phần tử
của một chuỗi với đầu ra phụ thuộc vào cả các phép tính trước đó. Nói cách khác, RNN
có khả năng nhớ các thơng tin được tính tốn trước đó. Trên lý thuyết, RNN có thể sử
dụng được thơng tin của một văn bản rất dài, tuy nhiên thực tế thì nó chỉ có thể nhớ
được một vài bước trước đó mà thơi. Một mạng nơ-ron hồi quy RNN có dạng như sau:
Hình 2. 6: Kiến trúc cơ bản mạng RNN

14



×