Chương 1. TỔNG QUAN: thực hiện giới thiệu về lý do chọn đề tài, mục đích nghiên cứu và nói tổng quát về phương pháp thực hiện nghiên cứu của đề tài. CƠ SỞ LÝ THUYẾT: báo cáo toàn diện nội dung tìm hiểu về lý thuyết đề cập ở Nội dung 1, bên cạnh đó có kết quả khảo sát của một vài cách tiếp cận trước đây liên quan đến bài toán. PHƯƠNG PHÁP NGHIÊN CÚU: báo cáo toàn diện và phương pháp nghiên cứu: 1) cách xây dựng bộ dữ liệu, một số thống kê về dữ liệu; 2) phương pháp đề xuất cho bài toán.
THỰC NGHIỆM VÀ ĐÁNH GIÁ: báo cáo kết quả thực nghiệm và nhận định, thảo luận. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN: kết luận những nội dung đã hoàn thành và điểm lại những gì đã đạt và chưa đạt được, bên cạnh đó đề xuất một số ý tưởng cho việc phát triển bài toán trong tương lai. 5 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Trong Chương 2, luận văn trình bày các cơ sở lý thuyết làm tiền đề cho nghiên cứu. Cụ thể, một số nghiên cứu liên quan trong nước và ngoài nước sẽ được khảo sát.
Bên cạnh đó, chương này cũng trình bày tổng quan về máy học, các thuật toán máy học, mạng nơ-ron tích chập và các kiến trúc mạng học sâu.1 Các nghiên cứu trong nước liên quan Tại Việt Nam, chưa có nhiều nghiên cứu tập trung vào việc phát hiện loại font chữ. Thay vào đó, các nghiên cứu trong nước thường tập trung phát hiện các loại ký tự, kiểu số viết tay. Ở phần này, luận văn trình bày một số nghiên cứu có liên quan đến hệ thống nhận diện chữ số và chữ viết. Vào năm 2010, trong luận văn thạc sĩ, ThS.
Bùi Văn Bằng thực hiện xây dựng hệ thống nhận diện chữ cái viết tay có thể cài đặt trên các thiết bị tablet [18]. Cụ thể, tác giả đã đề xuất một mạng nơ-ron hiệu quả để thực hiện học các đặc trưng của chữ cái, sau đó xác định một véc-tơ đầu ra có số phần tử bằng số lượng chữ trong bảng chữ cái. Tác giả thực hiện tinh chỉnh, chọn ra các hàm kích hoạt, chiến lược tiền xử lý hiệu quả cho mạng nơ-ron đề xuất, và tự chuẩn bị dữ liệu để huấn luyện và kiểm định. Tương tự, mạng nơ-ron nhân tạo là một công cụ vô cùng hiệu quả để học đặc trưng của các chữ cái.
Trong các nghiên cứu liên quan đến nhận diện chữ Hán-nôm, các tác giả trong các công trình [19][20][21] cũng thực hiện xây dựng và tinh chỉnh một mạng nơ-ron hiệu quả để học đặc trưng kiểu chữ Hán và Nôm giúp phân lớp hiệu quả. Với nhóm tác giả Anh Duc Le, Hung Tuan Nguyen and Masaki Nakagawa. Năm 2018 đề xuất mô hình xây dựng mô hình cho bài toán nhận dạng chữ viết tay gồm ba thành phần [22]: mạng CNN để trích xuất các đặc trưng, mạng BILSTM để mã hóa các đặc trưng đã trích xuất (bộ mã hóa BILSTM) và mạng LSTM để tạo văn bản đầu ra (bộ giải mã LSTM). Năm 2019 nhóm giới thiệu mô hình nhận dạng chữ viết tay tiếng Việt ngoại tuyến không giới hạn [23].
Mô hình bao gồm hai phần: DenseNet để trích xuất các đặc trưng bất biến và mạng LSTM để tạo văn bản đầu ra (bộ giải mã LSTM), được kết nối từ mạng CNN là phần mở rộng của mô hình. Đầu vào của CNN là hình ảnh văn bản viết tay và mục tiêu của bộ giải mã LSTM là văn bản tương ứng của hình ảnh đầu vào. Năm 2020, Trương Quang Vinh và các cộng sự đã trình bày một kiến trúc CNN hiệu quả để nhận dạng ký tự viết tay của Việt Nam [24]. Mô hình CNN của nhóm tác giả được xây dựng với 3 lớp chập và 2 lớp được kết nối đầy đủ.
Kỹ thuật bỏ lớp được kết hợp với các lớp được kết nối hoàn chỉnh để ngăn hiện tượng quá khớp. Các thử nghiệm trên cơ sở dữ liệu chữ viết tay cho thấy rằng mô hình của nhóm 6 nghiên cứu có thể đạt được độ chính xác xấp xỉ 97% theo công bố của nhóm nghiên cứu.2 Các nghiên cứu ngoài nước liên quan Đối tượng ảnh tài liệu văn bản được cộng đồng khoa học trên thế giới nghiên cứu rất sôi nổi, đa số các cách tiếp cận để giải quyết bài toán thường là sử dụng các kỹ thuật liên quan đến xử lý ảnh truyền thống kết hợp học máy (machine learning) và học sâu (deep learning). Bertrand và cộng sự vào năm 2015 [2] đã thực hiện một bài toán tương tự: phát hiện giả mạo trong ảnh tài liệu. Các tác giả định nghĩa một văn bản được giả mạo có ba yếu tố gây nghi ngờ: 1) sao chép và dán; 2) các từ, âm tiết lặp lại nhiều lần; 3) cả hai yếu tố trên.
Ở yếu tố số 1, việc sao chép và dán sẽ gây ra việc khác biệt nhiều font chữ, do đó đầu tiên các tác giả sẽ phát hiện liệu có nhiều hơn một loại font xuất hiện trong ảnh hay không, nếu có thì văn bản sẽ được xem xét là có sự xuất hiện của sao chép và dán. Sau đó, văn bản sẽ được tiếp tục xác định liệu có hay không nếu có sự lặp lại nhiều lần về âm tiết, nếu có thì văn bản đó sẽ bị nghi ngờ là giả mạo. Mô hình phân lớp được các tác giả sử dụng để phân loại các kiểu font chữ là mô hình CRF. Bharath và cộng sự vào năm 2017 [3] thục hiện phân loại 05 loại font chữ: Times new roman, Calibri, Cambria, Bodoni MT, Arial.
Các tác giả chuẩn bị một tập dữ liệu bao gồm 05 chữ cái in hoa và in thường:: Aa, Bb, Cc, Dd, Ee. 02 bộ phân loại K- nearest neighbour và Support Vector Machine được sử dụng để đánh giá hiệu quả phân lớp. Độ chính xác cao nhất thu được là 80% sử dụng mô hình Suppor Vector Machine. Vijayakumar và cộng sự vào năm 2020 [4] thực hiện nhận diện font chữ trong ảnh văn bản, cụ thể là phát hiện liệu trong văn bản có font chữ nào khác ngoài 03 font chính: times news roman, Arial black và Algerian.
Để giải quyết bài toán, tác giả chuẩn bị một tập dữ liệu bao gồm 468 ảnh huấn luyện và 234 ảnh thử nghiệm. Bên cạnh đó, các tác giả đề xuất mô hình CapsNet, một kiến trúc nơ-ron học sâu để phân lớp các loại font chữ. Tác giả đã chứng minh rằng mô hình CapsNet hiệu quả hơn các mô hình máy học truyền thống như Naïve Bayes, K-Nearest Neighbour và Decision Tree, đạt độ chính xác 96.153% trên tập thử nghiệm.3 Tổng quan bài toán phân lớp ảnh Bài toán phân loại thuộc loại học giám sát (supervised learning), dữ liệu đầu vào của bài toán đã được gán nhãn tương ứng trước đó. Phân loại chính là một kĩ thuật khai thác dữ liệu, các mô hình được sử dụng để phân loại dữ liệu thành các nhãn.
Phân loại là một quá trình gồm 2 bước: 1) Đào tạo mô hình; 2) Dùng mô hình để phân loại dữ liệu. 7 Ở bài toán này ta thực hiện phân loại một tập dữ liệu thành một hoặc nhiều lớp nhờ vào mô hình phân loại, như đã nói mô hình được đào tạo trên một tập dữ liệu đã có nhãn (còn gọi là tập huấn luyện). − Đối với bài toán phân loại có thể chia thành các dạng: − Phân loại nhị phân − Phân loại nhiều lớp − Phân loại nhiều nhãn − Phân loại không cân bằng 2.1 Phân loại nhị phân Phân loại nhị phân (minh họa ở Hình 2.1) thường đề cập đến nhiều nhiệm vụ phân loại chỉ có 2 nhãn lớp, thường bao gồm phân loại 2 trạng thái Bình thường và Bất thường. Trong đó, lớp cho trạng thái bình thường được gán nhãn lớp 0 và lớp có trạng thái bất thường được gán nhãn lớp là 1.
Các thuật toán phổ biến được sử dụng cho phân loại nhị phân bao gồm: − Hồi quy Logistic − k – NN − Cây quyết định − Máy vector hỗ trợ − Naive Bayes Một số bài toán sử dụng phân loại nhị phân: − Kiểm tra y khoa xem một bệnh nhân: Có bệnh hoặc Không bệnh − Quản lí chất lượng sản phẩm: Đạt hoặc Không đạt 8 Hình 2.1 Phân loại nhị phân [10] 2.2 Phân loại đa lớp Bài toán phân loại đa lớp được minh họa ở Hình 2.2 là quá trình phân loại dữ liệu với số lớp lớn hơn 2. Với từng dữ liệu, chúng ta cần xem xét và phân loại chúng vào các lớp khác nhau. Trong đó, các đối tượng được được phân loại vào một trong các lớp đã biết trước, số lượng các nhãn lớp có thể rất lớn. Thực chất, bài toán phân loại nhị phân là một bài toán đặc biệt của phân loại đa lớp và nhiều thuật toán phân loại nhị phân có thể sử dụng cho bài toán phân loại đa lớp.
Các thuật toán thường được sử dụng để phân loại nhiều lớp: − k – NN − Cây quyết định − Rừng ngẫu nhiên − Tăng cường Gradient Một số bài toán sử dụng phân loại đa lớp: − Phân loại hoa. − Phân loại các loài động vật. − Nhận dạng chữ số viết tay.2 Phân loại đa lớp [11] Khác với phân loại nhị phân và phân loại nhiều nhãn, phân loại nhiều nhãn được minh họa ở Hình 2-3 là sự khái quát của phân loại đa lớp, không ràng buộc về số lớp có thể gán cho đối tượng. Phân loại đa nhãn là phân loại có hai hoặc nhiều nhãn lớp, trong đó một hoặc nhiều nhãn lớp có thể được dự đoán cho mỗi ví dụ.
Các thuật toán được sử dụng để phân loại nhị phân và đa lớp không thể được sử dụng trực tiếp để phân loại đa nhãn. Các phiên bản chuyên biệt của thuật toán phân loại tiêu chuẩn có thể được sử dụng hoặc sử dụng một thuật toán phân loại riêng biệt để dự đoán nhãn cho mỗi lớp, phiên bản chuyên biệt này được gọi là phiên bản nhiều nhãn của thuật toán, bao gồm: − Cây quyết định nhiều nhãn − Rừng ngẫu nhiên nhiều nhãn − Tăng cường Gradient nhiều nhãn Một số bài toán sử dụng phân loại đa nhãn: − Phân loại thể loại âm nhạc − Phân loại thể loại phim 2.3 Phân loại không cân bằng Phân loại không cân bằng là phương pháp phân loại trong đó số lượng ví dụ trong mỗi lớp phân phối không đều nhau. Phân loại nhị phân thường là nhiệm vụ phân loại không cân bằng khi phần lớn các ví dụ nằm trong lớp bình thường và một số ít ví dụ nằm trong lớp bất thường.