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

Hệ thống trích xuất biểu thức toán học trên ảnh tài liệu

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 (4.83 MB, 131 trang )

ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
--------------------

LÊ ANH DUY

HỆ THỐNG TRÍCH XUẤT BIỂU THỨC
TỐN HỌC TRÊN ẢNH TÀI LIỆU
Chuyên ngành: Khoa học máy tính
Mã số: 8480101

LUẬN VĂN THẠC SĨ

TP. HỒ CHÍ MINH, tháng 7 năm 2023


CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM
Cán bộ hướng dẫn khoa học : TS Trần Tuấn Anh
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 1 : TS Trịnh Tấn Đạt
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 2 : TS Tôn Long Phước
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp. HCM
ngày . . 11. . . tháng . .7 . . năm .2023 . . . .
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)
1. PGS. TS. Trần Ngọc Thịnh - Chủ tịch hội đồng
2. TS Nguyễn Tiến Thịnh - Thư ký
3. TS Trịnh Tấn Đạt - Phản biện 1


4. TS Tôn Long Phước - Phản biện 2
5. TS Trần Tuấn Anh - Uỷ viên
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau
khi luận văn đã được sửa chữa (nếu có).
CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH
Trần Ngọc Thịnh

PGS. TS. Quản Thành Thơ


ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: LÊ ANH DUY

MSHV: 2170524

Ngày, tháng, năm sinh: 16/03/1999

Nơi sinh: Tiền Giang

Chuyên ngành: Khoa học máy tính

Mã số : 8480101

I. TÊN ĐỀ TÀI:

- Tiếng anh: A system for extracting mathematical expressions in document images
- Tiếng việt: Hệ thống trích xuất biểu thức toán học trên ảnh tài liệu
II. NHIỆM VỤ VÀ NỘI DUNG:
- Nghiên cứu, đề xuất phương pháp mới cho bài tốn nhận diện biểu thức tốn học
- Thí nghiệm và đánh giá kết quả của phương pháp đề xuất
- Xây dựng hệ thống trích xuất biểu thức tốn học trên ảnh tài liệu
III.

NGÀY GIAO NHIỆM VỤ : (Ghi theo trong QĐ giao đề tài) 06/02/2023

IV.

NGÀY HOÀN THÀNH NHIỆM VỤ:(Ghi theo trong QĐ giao đề tài)09/06/2023

V.CÁN BỘ HƯỚNG DẪN (Ghi rõ học hàm, học vị, họ, tên): TS. Trần Tuấn Anh

Tp. HCM, ngày . .13 . . tháng .. 8. . năm 2023....
CÁN BỘ HƯỚNG DẪN
(Họ tên và chữ ký)

HỘI ĐỒNG NGÀNH
(Họ tên và chữ ký)

Trần Tuấn Anh

Thoại Nam

TRƯỞNG KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH
(Họ tên và chữ ký)


PGS.TS. Quản Thành Thơ

Ghi chú: Học viên phải đóng tờ nhiệm vụ này vào trang đầu tiên của tập thuyết minh LV


Lời cảm ơn
Để hoàn thành đề cương luận văn tốt nghiệp này, em đã nhận được sự hỗ trợ
từ rất nhiều phía. Đầu tiên và quan trọng nhất, em xin gửi lời cảm ơn chân thành
đến giảng viên hướng dẫn trực tiếp của em, Tiến sĩ Trần Tuấn Anh. Thầy là người
định hướng chính, cung cấp tài liệu cũng như theo dõi quá trình thực hiện đề tài và
hỗ trợ khi em gặp khó khăn. Q trình làm việc với thầy em đã học hỏi được rất
nhiều điều từ kiến thức chuyên môn tới phong cách làm việc và nghiên cứu khoa
học. Những kinh nghiệm học được từ thầy là hành trang vô cùng quý giá trên chặng
đường sự nghiệp sắp tới của em.
Em cũng vô cùng biết ơn sự tận tình dạy dỗ, giúp đỡ của q thầy cơ trong
khoa Khoa học & Kỹ thuật Máy tính nói riêng cũng như trường Đại học Bách khoa
TP. Hồ Chí Minh nói chung. Những kiến thức nhận được từ quý thầy cơ là vơ cùng
q giá và bổ ích, hỗ trợ rất lớn cho em để hoàn thành luận văn tốt nghiệp này.
Em/mình cũng xin gửi lời cảm ơn chân thành tới các đồng nghiệp trong team
OCR Trung tâm Không gian mạng Viettel, những lời khuyên và ý kiến đóng góp
của mọi người đã giúp ích rất nhiều cho em/mình trong quá trình thực hiện lụân
văn này.
Con cũng xin gửi lời cảm ơn đến ba mẹ đã hi sinh vì con rất nhiều, cảm ơn ba
mẹ đã luôn tin tưởng vào quyết định của con, ba mẹ là đông lực lớn nhất để con
cố gắng đến ngày hôm nay. Và cuối cùng, anh cũng muốn gửi lời cảm ơn tới Gia
Thuận, cảm ơn em đã luôn bên anh, là chỗ dựa tinh thần những lúc anh cảm thấy
mệt mỏi, là nguồn động viên để anh tiếp tục cố gắng những lúc anh muốn từ bỏ.

i



Tóm tắt
Trích xuất biểu thức tốn học là mơt bài tốn có nhiều ứng dụng trong q
trình chuyển đổi số. Để hiện thực một hệ thống trích xuất biểu thức tốn học hồn
thiện cần giải quyết hai bài tốn con bao gồm bài toán phát hiện vùng biểu thức
toán học và bài toán nhận diện biểu thức toán học.
Trong hai bài toán trên, nhận diện biểu thức toán học được xem là một bài
tốn khó và thực tế hiện nay các phương pháp cho bài tốn này vẫn cịn nhiều mặt
hạn chế cần phải cải thiện. Mục tiêu của bài toán này là xác định nội dung của
biểu thức toán và chuyển đổi từ dạng hình ảnh có thể là sang dạng kĩ thuật số có
thể lưu trữ trên thiết bị điện tử. Bài tốn có tính ứng dụng đặc biệt cao trong bối
cảnh chuyển đổi số hiện nay nhất là trong hai lĩnh vực khoa học và giáo dục. Chính
bởi lẽ đó, nhận diện biểu thực tốn học dần nhận được sự quan tâm ngày càng cao
từ giới nghiên cứu trí tuệ nhân tạo trên thế giới trong những năm gần đây.
Trong luận văn này, mục tiêu nhóm hướng tới là nghiên cứu xây dựng một mơ
hình hiệu quả cho bài tốn MER, từ đó kết hợp cùng với mơ hình phát hiện vùng
biểu thức được cơng bố bởi các nghiên cứu trước đó, để hồn thiện một hệ thống
trích xuất biểu thức tốn học hồn chỉnh.
Nhóm đã đề xuất một mơ hình dựa trên kiến trúc Seq2seq trong đó sử dụng
kiến trúc Vision Transformer cho bộ mơ hình hóa ngữ cảnh. Các thí nghiệm trên
tập dữ liệu cơng khai đã khẳng định tính hiệu quả của phương pháp được nhóm đề
xuất. Bên cạnh đó, nhận thấy việc hạn chế về mặt dữ liệu khi nghiên cứu bài toán
MER đã thúc đẩy nhóm nghiên cứu và xây dựng một bộ dữ liệu mới gọi là LIMD
với hi vọng có thể thay thế được bộ dữ liệu công khai hiện tại. Cuối cùng, nhóm
tiến hành việc hồn thiện hệ thống trích xuất bằng cách kết hợp mơ hình Hybrid
Vision Transformer cùng mơ hình ScanSSD [1] là một mơ hình phát hiện vùng biểu
thức tốn học. Tồn bộ mã nguồn và bộ dữ liệu sẽ được công khai tại Github1 .
1

/>

ii


Abstract of dissertation
Extracting mathematical expressions is a problem with many applications in
the digitization process. To implement a complete mathematical expression extraction system, two subproblems need to be solved, including the problem of detecting
mathematical expression regions and the problem of recognizing mathematical expressions.
In the two aforementioned problems, recognizing mathematical expressions is
considered a difficult task, and currently, the existing methods for this problem
still have many limitations that need to be improved. The goal of this problem is
to determine the content of the mathematical expression and convert it from an
image format into a digital form that can be stored on electronic devices. This
problem is highly applicable, especially in the context of digital transformation,
particularly in the fields of science and education. Therefore, the recognition of
mathematical expressions has been receiving increasing attention from the global
artificial intelligence research community in recent years.
In this thesis, the objective of us is to research and develop an efficient model for
the MER problem. The aim is to combine this model with the previously published
model for detecting mathematical expressions in order to complete a comprehensive
system for extracting mathematical expressions.
We proposed a model based on the Seq2seq architecture, incorporating the
Vision Transformer architecture for contextual modeling. Experiments on public
datasets have confirmed the effectiveness of the proposed method. Additionally, the
team recognized the data limitations in the MER research and therefore created
a new dataset called LIMD with the hope of replacing the current public dataset.
Finally, the team completed the extraction system by combining the Hybrid Vision
Transformer model with the ScanSSD model [1] which is a mathematical detection

iii



Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học và Kỹ Thuật Máy Tính
model. The entire source code and dataset will be publicly available on GitHub2 .

2

/>
iv


Lời cam đoan
Học viên cam đoan mọi thông tin được trình bày trong báo cáo, cũng như mã
nguồn là do học viên tự thực hiện - trừ các kiến thức tham khảo có trích dẫn cũng
như mã nguồn mẫu do chính nhà sản xuất cung cấp, hồn tồn khơng sao chép từ
bất cứ nguồn nào khác. Nếu lời cam đoan trái với sự thật, học viên xin chịu mọi
trách nhiệm trước Ban Giám Hiệu Nhà Trường và Ban Chủ Nhiệm Khoa.
Học viên thực hiện đề tài

Lê Anh Duy

v


Mục lục
1 Giới thiệu đề tài

1

1.1


Đặt vấn đề . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.2

Mục tiêu và giới hạn của đề tài . . . . . . . . . . . . . . . . . . . .

3

1.3

Đóng góp chính . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

2 Nền tảng lý thuyết
2.1 Cơ bản về LaTeX . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5
5

2.2

2.1.1

Sơ lược về TeX, LaTeX . . . . . . . . . . . . . . . . . . . . .

5


2.1.2

Một số cú pháp toán học cơ bản trong LaTeX . . . . . . . .

6

Bài toán dự đoán chuỗi . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Một số bài toán điển hình . . . . . . . . . . . . . . . . . . .

7
7

2.2.2

8

Các lí thuyết liên quan . . . . . . . . . . . . . . . . . . . . .

3 Khảo sát các nghiên cứu liên quan

16

3.1

Tổng quan về các hướng nghiên cứu . . . . . . . . . . . . . . . . . .

3.2

Các nghiên cứu dựa trên kiến trúc Seq2seq . . . . . . . . . . . . . . 18

3.2.1 What You Get Is What You See: A Visual Markup Decompiler 19
3.2.2
3.2.3
3.2.4

3.3

16

An Improved Approach Based on CNN-RNNs for Mathematical Expression Recognition . . . . . . . . . . . . . . . . . .

21

Translating math formula images to LaTeX sequences using
deep neural networks with sequence-level training . . . . . .

23

Global Context-Based Network with Transformer for Image2latex 26

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

30

4 Hybric Vision Transformer cho bài toán Nhận diện biểu thức
toán học (MER)
4.1 Vấn đề mơ hình hóa thơng tin ngữ cảnh trong khơng gian hai chiều

31
32


4.2

Vấn đề sinh thừa (over-parsing) và sinh thiếu (under-parsing) . . .

34

4.3

Mơ hình hóa bài tốn . . . . . . . . . . . . . . . . . . . . . . . . . .

35

vi


Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học và Kỹ Thuật Máy Tính
4.4
4.5

4.6

Ý tưởng chính . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Thiết kế chi tiết . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36
39

4.5.1


Hybrid Vision Transformer là một bộ mã hóa . . . . . . . .

39

4.5.2

Khối tập trung sử dụng độ phủ (Coverage Attention) là một

bộ giải mã . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5 Thí nghiệm và đánh giá

48
49
51

5.1

Khảo sát tập dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . .

51

5.2

Phương pháp huấn luyện, dự đoán . . . . . . . . . . . . . . . . . .

52


5.2.1
5.2.2

Quá trình huấn luyện . . . . . . . . . . . . . . . . . . . . . .
Giải thuật Beam Search . . . . . . . . . . . . . . . . . . . .

52
53

5.2.3

Q trình dự đốn . . . . . . . . . . . . . . . . . . . . . . .

55

5.2.4

Tăng cường dữ liệu cho ảnh . . . . . . . . . . . . . . . . . .

55

5.2.5
5.2.6

Xử lý dữ liệu đầu vào . . . . . . . . . . . . . . . . . . . . . .
Chi tiết về độ đo . . . . . . . . . . . . . . . . . . . . . . . .

57
58


Thí nghiệm trên bộ dữ liệu IM2LATEX-100K . . . . . . . . . . . .

60

5.3.1

Cấu hình thí nghiệm . . . . . . . . . . . . . . . . . . . . . .

60

5.3.2
5.3.3

Kết quả định lượng . . . . . . . . . . . . . . . . . . . . . . .
Kết quả định tính . . . . . . . . . . . . . . . . . . . . . . . .

62
62

5.3.4

Thí nghiệm thành phần . . . . . . . . . . . . . . . . . . . .

63

5.3.5

Phân tích, đánh giá . . . . . . . . . . . . . . . . . . . . . . .

66


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

68

6 Bộ dữ liệu Large Image to Markup Database (LIMD)
6.1 Vấn đề thiếu hụt dữ liệu đối với bài toán MER . . . . . . . . . . . .

69
69

5.3

5.4

6.2

6.3

6.4

Quá trình xây dựng bộ cơ sở dữ liệu . . . . . . . . . . . . . . . . .

70

6.2.1

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

71


6.2.2
6.2.3

Lọc dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chuẩn hóa dữ liệu . . . . . . . . . . . . . . . . . . . . . . .

72
74

6.2.4

Kết xuất dữ liệu ảnh . . . . . . . . . . . . . . . . . . . . . .

76

6.2.5

Hậu xử lý dữ liệu . . . . . . . . . . . . . . . . . . . . . . . .

77

Thống kê, đánh giá bộ dữ liệu . . . . . . . . . . . . . . . . . . . . .
6.3.1 Sàng lọc và loại bỏ ngoại lệ . . . . . . . . . . . . . . . . . .

78
78

6.3.2


Phân tích và đối chiếu với tập IM2LATEX-100K . . . . . . .

80

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

81

vii


Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học và Kỹ Thuật Máy Tính
7 Hệ thống trích xuất biểu thức toán học trên ảnh tài liệu
7.1 Tổng quan thiết kế hệ thống . . . . . . . . . . . . . . . . . . . . . .

7.2

7.3

7.4
7.5

85
85

7.1.1

Luồng hoạt động của hệ thống . . . . . . . . . . . . . . . . .


86

7.1.2

Mơ hình phát hiện vùng biểu thức toán học . . . . . . . . .

86

Chi tiết hiện thực hệ thống . . . . . . . . . . . . . . . . . . . . . .
7.2.1 Ngôn ngữ và thư viện hỗ trợ . . . . . . . . . . . . . . . . . .

89
89

7.2.2

Công cụ, phần mềm hỗ trợ và triển khai . . . . . . . . . . .

89

7.2.3

Giao diện và các tính năng của hệ thống . . . . . . . . . . .

90

Kết quả demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3.1 Tình huống 1-Ảnh chỉ chứa biểu thức toán học . . . . . . .

94

94

7.3.2

Tình huống 2-Ảnh là một trang tài liệu hồn chỉnh . . . . .

95

7.3.3

Tình huống 3-File PDF nhiều trang . . . . . . . . . . . . . .

99

Đánh giá hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

8 Tổng kết

102

8.1

Kết quả đạt được . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

8.2

Hạn chế . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

8.3


Kế hoạch phát triển . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

9 Danh mục các cơng trình khoa học

104

Tài liệu tham khảo

105

viii


Danh sách hình vẽ
1.1

Cơng thức tốn trong các văn bản khoa học . . . . . . . . . .

2

1.2

Bài toán nhận diện biểu thức toán học (MER) . . . . . . . .

3

2.1

Quy trình tính tốn giá trị đầu ra của một lớp tích chập [2]


9

2.2

Cấu trúc của một lớp RNN trước và sau khi duỗi ra [3] . .

9

2.3

Cấu trúc của một cell LSTM [3] . . . . . . . . . . . . . . . . .

10

2.4
2.5

Quy trình sinh ra kết quả trong bài toán dịch máy [4] . . .
Scaled Dot-Product Attention [5] . . . . . . . . . . . . . . . .

12
13

2.6

Multi-Head Self-Attention [5] . . . . . . . . . . . . . . . . . . .

14


2.7

Tổng quan mơ hình Transformer [5] . . . . . . . . . . . . . . .

15

3.1

Cấu trúc của mơ hình WYGIWWYS [6].

20

3.2

Bảng đánh giá kết quả của mơ hình so với các phương pháp

3.3

thơng qua các độ đo [6]. . . . . . . . . . . . . . . . . . . . . . .
Kiến trúc mơ hình Double Attention [7]. . . . . . . . . . . . .

21
22

3.4

Cấu hình backbone của mơ hình Double Attention [7]. . . .

22


3.5

Kết quả thí nghiệm trên tập IM2LATEX-100K [7]. . . . . .

23

3.6
3.7

Kết quả thí nghiệm trên tập IM2LATEX-100K [8]. . . . . .
Cấu hình chi tiết của bộ mã hóa CNN [8]. . . . . . . . . . . .

24
24

3.8

Kết cấu của kiến trúc BiLSTM chồng lấp với lớp tập trung

. . . . . . . . . . .

[8]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

Kết quả thí nghiệm và so sánh kết quả giữa MI2LATEX với
các phương pháp khác [8]. . . . . . . . . . . . . . . . . . . . . .

26


3.10 Tồn bộ kiến trúc của mơ hình [9]. . . . . . . . . . . . . . . .

27

3.11 Kiến trúc ResNet được sử dụng [9]. . . . . . . . . . . . . . . .

28

3.12 Kiến trúc khối ngữ cảnh toàn cục được sử dụng [9]. . . . . .
3.13 So sánh giữa các mơ hình khác nhau trên IM2LATEX-100K

29

[9]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

3.9

ix


Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học và Kỹ Thuật Máy Tính
4.1
4.2
4.3
4.4

Sự khác nhau về cấu trúc khơng gian giữa chữ viết tay và

biểu thức tốn học. . . . . . . . . . . . . . . . . . . . . . . . . .

33

Mối liên kết trong không gian hai chiều giữa một kí tự với
các kí tự cịn lại. . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

Các vec-tơ đặc trưng được mơ hình bằng khối BiLSTM. . .
Sự tương đồng về mặt thông tin giữa hai vùng xanh và đỏ

34

có thể khiến cơ chế tập trung đưa ra dự đốn sai dẫn đến
việc những kí tự đã được sinh trong quá khứ sẽ được sinh
4.5

lại ở những bước dự đoán sau (over-parsing). . . . . . . . . .
Kiến trúc tổng qt cho mơ hình đề xuất. Mơ hình sẽ là sự

35

kết hợp của ba thành phần chính bao gồm khối trích xuất đặc trưng,
khối mơ hình ngữ cảnh và khối dự đoán . . . . . . . . . . . . . . .
4.6

36

Sự khác nhau trong quá trình mở rộng vùng receptive field

giữa ViT và mơ hình CNN lấy đại diện là ResNet50 [10]. Có
thể thấy đối với ResNet50 thơng tin được tổng hợp một cách cục bộ,
trong khi đối với ViT việc tổng hợp thơng tin tồn cục đã được thực

4.7

hiện ở những lớp bậc trung. . . . . . . . . . . . . . . . . . . . . . .
Sự khác nhau về khả năng bảo tồn thơng tin vị trí giữa

38

ViT và mơ hình CNN lấy đại diện là ResNet50 [10]. Hàng 1,
2 thể hiện khả năng bảo tồn thơng tin của ViT, hàng cuối tương
4.8

ứng với ResNet50. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chi tiết về kiến trúc của mô hình đề xuất. Ảnh biểu thức tốn

38

được đưa qua bộ mã hóa trong đó bản đồ đặc trưng được trích xuất
bởi mơ hình ResNet [11] sau đó phân tách thành các vec-tơ patch
nhúng kết hợp với vec-tơ mã hóa thơng tin vị trí làm đầu vào cho
khối mơ hình ngữ cảnh gồm các khối ViT xếp chồng, đầu ra của khối
mơ hình ngữ cảnh bao gồm vec-tơ nhúng [CLS] được dùng làm trạng
thái ẩn khởi tạo cho bộ giải mã, và chuỗi vec-tơ đặc trưng nhúng
4.9

được dùng như vec-tơ annotation cho bộ giải mã. . . . . . . . . .
Vùng receptive field ứng với mỗi vec-tơ đặc trưng trên ảnh


40

gốc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

41

4.10 Thành phần chính của khối ViT đơn vị. Khác với thiết kết gốc
trong [5], ViT sử dụng lớp Layer Normalization trước khi thực hiện
việc xử lý trên các khối chức năng chính. . . . . . . . . . . . . . . .

x

43


Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học và Kỹ Thuật Máy Tính
4.11 Mơ hình Vision Transformer cho bài tốn phân loại hình
ảnh. Chỉ sử dụng vec-tơ nhúng của token [CLS] làm biểu diễn thông
tin của ảnh phục vụ thao tác phân loại. . . . . . . . . . . . . . . . .

44

4.12 Cách cơ chế tự tập trung thực hiện việc tăng cường vec-tơ
nhúng đầu vào. Ma trận tập trung (Attention Map) chỉ sự tương
quan giữa ma trận Key và ma trận Query, sau đó được nhân với ma
trận Value để thu được kết quả. . . . . . . . . . . . . . . . . . . . .

46


4.13 Khác nhau trong cách thức sử dụng ViT cho bài tốn phân
loại ở hình 4.11 và bài tốn MER. Ở bài tốn MER, tồn bộ
vec-tơ nhúng sau khi được biến đổi sẽ được sử dụng để làm giá trị
đầu vào cho giai đoạn giải mã. . . . . . . . . . . . . . . . . . . . . .

47

4.14 Sự khác nhau giữa cơ chế tập trung truyền thống với việc
kết hợp thêm vec-tơ độ phủ.. Việc sử dụng vec-tơ độ phủ làm
đầu vào cho phép toán tập trung sẽ giúp tăng xác suất được chọn
cuả những đặc trưng chưa được chuyển đổi trong tương lai, và giảm
xác suất của những đặc trưng đã được dịch trong quá khứ. . . . . .

48

5.1

Minh họa một số mẫu dữ liệu từ tập IM2LATEX-100K . .

52

5.2

Minh họa về ý tưởng cho phép tăng cường ảnh với Random
Moving.

5.3
5.4


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

56

Minh họa kết quả của các phép tăng cường ảnh trên dữ liệu
IM2LATEX-100K. . . . . . . . . . . . . . . . . . . . . . . . . . .

56

Quy trình xử lý dữ liệu đầu vào trước khi huấn luyện mơ
hình. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

57

5.5
5.6

Những mẫu dữ liệu giống nhau giữa ảnh thật và ảnh kết xuất. 63
Những mẫu dữ liệu khác nhau giữa ảnh thật và ảnh kết xuất. 63

5.7

So sánh giữa mơ hình đề xuất và mơ hình baseline tại các
nhóm chiều dài cụ thể. . . . . . . . . . . . . . . . . . . . . . . .

67

5.8
5.9


Minh họa bản đồ tự tập trung của token [CLS] nhúng. . . .
Minh họa từng bước sinh token LaTeX. . . . . . . . . . . . .

67
68

6.1

Các loại token trong LaTeX được thực hiện chuẩn hóa trong
IM2LATEX-100K [6] . . . . . . . . . . . . . . . . . . . . . . . .

70

6.2

Quy trình xây dựng bộ cơ sở dữ liệu LIMD. Bao gồm 6 bước
chính. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

xi

71


Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học và Kỹ Thuật Máy Tính
6.3

Cấu trúc đường dẫn của một bài báo trên arxiv. Trong đó
F IELD_N AM E bao gồm các từ viết tắt trong bảng 6.1, YEAR
bao gồm hai chữ số cuối của các năm, MONTH là danh sách các


6.4
6.5

tháng, P AP ER_ID là id tương ứng với từng bài báo. . . . . . . .

72

Tương quan giữa tần suất xuất hiện và các nhóm kích thước
trong LIMD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

79

Phần trăm mức độ đóng góp của từng nhóm chiều dài trong
LIMD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

79

So sánh số lượng mẫu xét theo chiều cao giữa LIMD và
IM2LATEX-100K . . . . . . . . . . . . . . . . . . . . . . . . . .

80

6.7

Sự khác nhau về phân bố chiều cao giữa LIMD và IM2LATEX-100K

81

6.8


So sánh số lượng mẫu xét theo chiều rộng giữa LIMD và

6.9

IM2LATEX-100K . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Sự khác nhau về phân bố chiều rộng giữa LIMD và IM2LATEX-

6.6

100K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

82

6.10 So sánh số lượng mẫu xét theo độ dài token giữa LIMD và
IM2LATEX-100K . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.11 Sự khác nhau về phân bố độ dài token giữa LIMD và IM2LATEX100K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.12 Danh sách những token xuất hiện nhiều nhất trong LIMD

83
83

6.13 Danh sách những token xuất hiện nhiều nhất trong IM2LATEX100K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
7.1

Lưu đồ mô tả luồng hoạt động của hệ thống . . . . . . . . .

87

7.2

7.3

Kiến trúc ScannSSD [1]. . . . . . . . . . . . . . . . . . . . . . .
Kiến trúc SSD để phát hiện vật thể [12]. . . . . . . . . . . . .

88
88

7.4

Thống kê tập dữ liệu để huấn luyện và đánh giá ScanSSD [1]. 89

7.5

Các bước để thực hiện dự đoán. . . . . . . . . . . . . . . . . .

90

7.6
7.7

Giao diện hệ thống khi bắt đầu. . . . . . . . . . . . . . . . . .
Giao diện khi tải lên một ảnh biểu thức toán học. . . . . . .

91
91

7.8

Giao diện khi tải lên một ảnh tài liệu. . . . . . . . . . . . . .


92

7.9

Giao diện khi tải lên một file PDF. . . . . . . . . . . . . . . .

92

7.10 Giao diện khi tải lên tăng số lượng trang PDF. Ta có thể thực
hiện thao tác thay đổi số trang cần trích xuất. . . . . . . . . . . . .

93

xii


Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học và Kỹ Thuật Máy Tính
7.11 Giao diện hiển thị kết quả dự đốn đối với một ảnh. Có 3 cột:
(1) Chuỗi LaTeX dự đoán, (2) Ảnh kết xuất từ (1), (3) Ảnh được cắt
bởi khối phát hiện vùng. . . . . . . . . . . . . . . . . . . . . . . . .

93

7.12 Giao diện hiển thị kết quả dự đoán đối với một file PDF
nhiều trang. Xuất hiện các tab để hiển thị kết quả tương ứng cho
từng trang. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

93


7.13 Kết quả thu được cho tình huống 1. . . . . . . . . . . . . . . .

94

7.14 Một ví dụ minh họa khác cho tình huống 1. . . . . . . . . . .

94

7.15 Ảnh cần trích xuất thơng tin 1. . . . . . . . . . . . . . . . . .
7.16 Kết quả thu được trên ảnh 1. . . . . . . . . . . . . . . . . . . .

95
96

7.17 Ảnh cần trích xuất thơng tin 2.

. . . . . . . . . . . . . . . . .

97

7.18 Kết quả thu được trên ảnh 2. . . . . . . . . . . . . . . . . . . .

98

7.19 Trang thứ nhất thuộc file PDF. . . . . . . . . . . . . . . . . . .
7.20 Kết quả dự đoán cho trang thứ nhất. . . . . . . . . . . . . . .

99
99


7.21 Trang thứ hai thuộc file PDF.

. . . . . . . . . . . . . . . . . . 100

7.22 Kết quả dự đoán cho trang thứ hai. . . . . . . . . . . . . . . . 100

xiii


Danh sách bảng
4.1

Kiến trúc mơ hình ResNet32. . . . . . . . . . . . . . . . . . . . . .

42

5.1
5.2

Thông tin phần cứng . . . . . . . . . . . . . . . . . . . . . . . . . .
So sánh kết quả giữa các phương pháp trên tập kiểm thử của bộ dữ

61

liệu IM2LATEX-100K . . . . . . . . . . . . . . . . . . . . . . . . .

62

5.3


Chi tiết cấu hình của các thí nghiệm thành phần, trong đó ‘None’

5.4

chỉ việc tại đó khơng sử dụng khối chức năng nào. . . . . . . . . . .
Kết quả các thí nghiệm thành phần trong việc đánh giá các khối chức

64

năng của mơ hình đề xuất. Trong đó Feat. chỉ khối trích xuất đặc
trưng, Context. chỉ khối mơ hình ngữ cảnh, Pred. chỉ khối dự đoán.
5.5

Kết quả được đánh giá trên tập đánh giá IM2LATEX-100K. . . . .
So sánh hai phương pháp mã hóa thơng tin vị trí. . . . . . . . . . .

65
65

5.6

So sánh hai thiết lập khởi tạo trạng thái ẩn trên mơ hình đề xuất .

66

5.7

So sánh kết quả dự đốn giữa mơ hình có sử dụng tăng cường ảnh
và mơ hình khơng sử dụng. . . . . . . . . . . . . . . . . . . . . . . .


66

6.1

Thông tin nguồn cung cấp dữ liệu . . . . . . . . . . . . . . . . . . .

72

6.2
6.3

Số lượng các bài báo được thu thập phân theo lĩnh vực nghiên cứu .
Phân chia tập dữ liệu LIMD . . . . . . . . . . . . . . . . . . . . . .

73
80

xiv


Thuật ngữ & từ viết tắt

MER . . . . . . . . . Mathematical Expression Recognition
NLP . . . . . . . . . . Natural Language Processing
STR . . . . . . . . . . Scene Text Recognition
DNN . . . . . . . . . Deep Neural Network
FC . . . . . . . . . . . . Fully Connected
CNN . . . . . . . . . Convolution Neural Network
RNN . . . . . . . . . Recurrent Neural Network

GRU . . . . . . . . . Gated Recurrent Unit
GNN . . . . . . . . . Graph Neural Network
FFN . . . . . . . . . . Feed-forward-network
MLP . . . . . . . . . Multi Layer Perceptron
Seq2seq . . . . . . Sequence to sequence
ViT . . . . . . . . . . . Vision Transformer
LSTM . . . . . . . . Long short term memory
VGG . . . . . . . . . Visual Geometry Group
BiLSTM . . . . . Bidirectional Long short-term memory
SOTA . . . . . . . . State-of-the-art
MLE . . . . . . . . . Maximum likelihood estimation
xv


Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học và Kỹ Thuật Máy Tính
MHSA . . . . . . . Multi-Head Self-Atenttion
WYGIWYS . What You Get Is What You See
PDF . . . . . . . . . . Portable document format

xvi


Chương 1

Giới thiệu đề tài
1.1

Đặt vấn đề
Với sự phát triển nhanh chóng của khoa học cơng nghệ hiện nay, các thiết bị


công nghệ dần trở thành một phần không thể thiếu trong đời sống hàng ngày của
mỗi tổ chức, cá nhân trong xã hội. Điều đó góp phần dẫn đến sự thay đổi trong
cách thức con người tương tác với nhau trong cơng việc hàng ngày. Sự thay đổi này
cịn được biết đến với một tên gọi khác phổ biến trong vài năm trở lại đây là "Làn
sóng chuyển đổi số". Những tác động của dịch Covid19 như một chất xúc tác khiến
cho làn sóng này diễn ra nhanh hơn. Đây được xem là xu hướng tất yếu, đã và đang
tác động lên hầu hết các lĩnh vực hiện nay ở Việt Nam, trong đó phải kể đến hai
lĩnh vực quan trọng là khoa học và giáo dục. Nhắc đến chuyển đổi số trong khoa
học và giáo dục không thể khơng nhắc đến nhu cầu số hóa một lượng lớn các loại
sách, báo, tài liệu được viết trên giấy, tài liệu dạng in sang định dạng kĩ thuật số
như PDF, Word, v.v nhằm mục đích lưu trữ lâu dài, truyền bá tri thức trở nên dễ
dàng hơn. Việc số hóa tài liệu cịn giúp ích trong vấn đề trích xuất thông tin của
các thành phần bên trong tài liệu, từ đó cho phép tận dụng nguồn thơng tin thu
thập được vào nhiều mục đích khác nhau. Đối với lĩnh vực khoa học, hầu hết các
loại tài liệu có thể kể đến như sách, bài báo khoa học, tạp chí chuyên ngành, các
thành phần cần được trích xuất có thể bao gồm bảng số liệu, hình minh họa, biểu
đồ hay các cơng thức tốn học. Các thơng tin trên có thể được sử dụng cho các hệ
thống truy vấn, tóm tắt văn bản hay các hệ thống hỏi đáp. Đối với lĩnh vực giáo
dục, số hóa dữ liệu có thể giúp cho giáo viên giảm bớt gánh nặng trong việc giảng
dạy thông qua hệ thống chấm bài tự động dựa trên dữ liệu từ bài kiểm tra của học
1


Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học và Kỹ Thuật Máy Tính
sinh.

Hình 1.1: Cơng thức tốn trong các văn bản khoa học


Có thể thấy, chuyển đổi số có vai trị quan trọng đối với sự phát triển của khoa
học và giáo dục. Tuy nhiên, bởi đặc trưng của các loại tài liệu kể trên mang tính
học thuật cao nên các thành phần bên trong nó có cấu trúc phức tạp, việc trích
xuất nội dụng của các thành phần có trong đó khơng hề dễ dàng. Một trong những
thành phần phổ biến và quan trọng nhất thường xuất hiện trong các văn bản khoa
học chính là biểu thức tốn học. Để thực hiện việc trích xuất biểu thức toán học,
trên thực tế ta cần giải quyết hai bài toán con: Một, phát hiện vùng chứa biểu thức
toán học trên ảnh; hai, dùng các vùng ảnh phát hiện được để tiến hành nhận diện
biểu thức. So với các loại văn bản thơng thường, biểu thức tốn học có hai đặc điểm
khiến cho việc trích xuất trở nên khó khăn:
1. Vùng chứa các biểu thức tốn thường có nhiều mức kích thước khác nhau trên
ảnh, và nhiều biểu thức cịn nằm lẫn giữa các dịng văn bản thơng thường.
2. Biểu thức tốn được tạo thành từ các kí hiệu có mối quan hệ phức tạp với
số lượng kí hiệu lớn và do đó biểu diễn ở dạng văn bản của nó thường viết
bằng dạng ngơn ngữ có cấu trúc (hay cịn gọi là "markup language") ví dụ như
LaTeX, MathML. Hình 1.2 minh họa cho quá trình chuyển đổi biểu thức tốn
học sang dạng LaTeX.
Trích xuất biểu thức tốn học vì thế được đánh giá là một bài tốn khó trong
lớp các bài tốn phân tích văn bản (document analysis). Mặc dù vậy, trích xuất
biểu thức tốn học là một phần khơng thể thiếu trong việc số hóa tài liệu khoa học
và do đó việc giải quyết bài tốn trên là vô cùng quan trọng. Hiện nay, việc phát
2


Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học và Kỹ Thuật Máy Tính

Hình 1.2: Bài tốn nhận diện biểu thức toán học (MER)

hiện và chuyển đổi biểu thức tốn sang dạng ngơn ngữ cấu trúc như LaTeX đặc

biệt hữu ích trong q trình viết các tài liệu khoa học, giúp rút ngắn thời gian viết
một cách đáng kể. Trong hai bài tốn con của bài tốn trích xuất biểu thức toán
học, bài toán nhận diện được đánh giá là khó hơn cả, lí do là bởi vì các chi tiết trên
ảnh biểu thức thường rất phức tạp khiên việc xây dựng một phương pháp tự động
nhận diện rất khó khăn. Trong những năm gần đây, ngày càng có nhiều nghiên cứu
về bài toán nhận diện biểu thức toán học được công bố trên các hội nghị và tạp chí
uy tín chứng tỏ sự quan tâm cho bài tốn này ngày càng tăng.
Nhận thức được tính cấp thiết và ứng dụng thiết thực trong thực tế của bài
tốn trích xuất biểu thức toán học, đề tài "Xây dựng hệ thống trích xuất biểu thức
tốn học trong ảnh tài liệu" được nhóm đề xuất thực hiện như một nỗ lực trong
việc xây dựng một hệ thống trích xuất biểu thức tốn học với hiệu quả cao thơng
qua việc nghiên cứu và cải tiến những phương pháp hiện có, từ đó tạo tiền đề cho
việc xây dựng một cơng cụ hồn chỉnh cho phép số hóa các tài liệu khoa học phục
vụ cộng đồng học thuật ở Việt Nam.

1.2

Mục tiêu và giới hạn của đề tài
Như đã đề cập ở phần trên, việc giải quyết bài toán nhận diện biểu thức tốn

học (MER) trong một hệ thống trích xuất mang tính thách thức hơn cả, và là điều
kiện tiên quyết để xây dựng một hệ thống trích xuất hiệu quả. Nhận thức được
tầm quan trọng của bài toán MER, trong đề tài luận văn này, nhóm trước hết tập
trung vào việc xây dựng một mơ hình nhận diện biểu thức tốn học có độ chính
xác cao, sau cùng kết hợp với mơ hình phát hiện vùng biểu thức đã được cơng bố
3


Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học và Kỹ Thuật Máy Tính

bởi các nghiên cứu khác để hồn thiện một hệ thống trích xuất biểu thức. Để đạt
được mục tiêu trên, nhóm tiến hành thực hiện các nhiệm vụ sau đây:
• Khảo sát các cơng trình liên quan đến bài tốn MER. Từ đó chọn hướng tiếp
cận phù hợp.
• Nghiên cứu đề xuất một mơ hình giải quyết bài tốn MER một cách hiệu quả.
• Nghiên cứu xây dựng bộ cơ sở dữ liệu lớn phục vụ việc nghiên cứu bài tốn
MER trong tương lai.
• Xây dựng hệ thống trích xuất biểu thức tốn học hồn chỉnh sử dụng mơ hình
đề xuất.

1.3

Đóng góp chính
Trải qua q trình nghiên cứu và phát triển, nhóm xin tóm tắt các đóng góp

chính của nhóm trong đề tài luận văn này như sau:
• Đề xuất mơ hình Hybrid Vision Transformer cho bài tốn MER.
• Xây dựng hồn chỉnh bộ cơ sở dữ liệu Large Image to Markup Database
(LIMD) cho bài toán MER.
• Hồn thiện một hệ thống trích xuất biểu thức toán học cho các loại ảnh chữ
in và tài liệu PDF.
• Mã nguồn và bộ dữ liệu được cơng khai trên github1 .

1

/>
4


Chương 2


Nền tảng lý thuyết
Trong chương này, nhóm xin trình bày qua những nền tảng lý thuyết có liên
quan đến bài toán MER bao gồm những kiến thức cơ bản về ngơn ngữ TeX, khái
qt về bài tốn dự đốn chuỗi, một dạng bài toán tổng quát mà MER là một bài
toán con trong lớp bài toán này, các kĩ thuật nền tảng được sử dụng để giải quyết
bài toán này.

2.1

Cơ bản về LaTeX

2.1.1

Sơ lược về TeX, LaTeX

TeX là một loại ngôn ngữ đánh dấu được tạo ra bởi Donald Knuth

1

với mục

đích tạo ra các văn bản khoa học với định dạng chỉn chu và chuyên nghiệp ví dụ
như dùng để viết báo cáo luận văn, viết sách hoặc một bài báo khoa học để nộp cho
một hội nghị nào đó. Ngày nay TeX được xem là tiêu chuẩn được sử dụng cho việc
biên soạn bất kì một loại văn bản khoa học nào. Khác với những công cụ soạn thảo
văn bản thường thầy như Word của Microsoft hay LibreOffice Writer của Linux,
TeX sử dụng tập hợp các lệnh để định nghĩa nên cấu trúc của một văn bản.
LaTeX thực chất là một phiên bản được hiệu chỉnh từ TeX được tạo ra bởi
Leslie Lamport


2

với mục đích giúp cho việc soạn thảo dựa trên TeX đơn giản hơn

thông qua việc sử dụng các thư viện có sẵn. Tuy nhiên, với số lượng lệnh cũng như
các kí tự đa dạng việc thành thạo TeX/LaTeX không hề dễ dàng cho người mới bắt
1
2

Nhà Khoa học máy tính, giáo sư tại Đại học Stanford
Nhà Khoa học máy tính, nhà tốn học người Mỹ

5


Trường Đại Học Bách Khoa Tp.Hồ Chí Minh
Khoa Khoa Học và Kỹ Thuật Máy Tính
đầu.

2.1.2

Một số cú pháp tốn học cơ bản trong LaTeX

Biểu thức toán học trong LaTeX được biểu diễn thơng qua một tập hợp của
các kí hiệu, các kí hiệu được phân làm nhiều nhóm khác nhau. Mục tiêu ở phần này
nhằm củng cố lại những kiến thức cơ bản về cách viết một cơng thức tốn bằng
LaTeX. Một số nhóm kí hiệu cơ bản được phân loại như sau:
• Chế độ viết: Có hai chế độ viết cơ bản bao gồm chế độ inline dùng để viết các
biểu thức là một phần của đoạn văn bản và chế độ display dùng để viết các biểu

thức nằm độc lập. Biểu thức trong chế độ inline được viết bên trong các cặp kí
hiệu như \( và \), \$ và \$, \begin{math} và \end{math}. Đối với chế độ
display, các cặp kí hiệu \[ và \], \begin{displaymath} và \end{displaymath}
và \begin{equantion} và \end{equation} được dùng để chứa cơng thức
tốn. Bên cạnh đó các thư viện như amsmath cịn hỗ trợ một số chế độ viết
khác như \begin{equation*} và \end{equation*}
• Subscripts và superscripts: Hai kí hiệu superscripts và subscripts là hai
kí hiệu thường hay được dùng khi viết biểu thức toán bằng LaTeX, chúng
khơng phải là các tốn hạng hay tốn tử trong biểu thức mà được dùng
để mô tả mối quan hệ về mặt không gian giữa các thành phần trong biểu
thức. LaTeX sử dụng kí tự _ cho subscripts và kí tự ^ cho superscripts. Một
ví dụ về cách sử dụng hai kí hiệu trên trong một biểu thức tốn như sau
$a_1^2 + a_2^2 = a_3^2$ và kết quả như sau a21 + a22 = a23 . Ngoài ra chúng
cũng có thể được sử dụng để biểu diễn cận trên và dưới cho một số kí hiệu
tốn học như ngun hàm hay giới hạn.
• Chữ La Mã và các kí hiệu tốn học: LaTeX hỗ trợ hầu hết các kí hiệu toán
học thường thấy. Một số chữ cái La Mã như \alpha, \beta, gamma hay các
toán tử của biểu thức nhị phân như \times, \div, \oplus, các toán tử so
sánh như \leq, \neq và các toán tử logic như \in, \notin, \subset. Một
số kí hiệu tốn học khác có thể tham khảo thêm tại
/>symbols
• Ma trận: Trong LaTeX, biểu diễn dạng ma trận được hỗ trợ bởi thư viện
amsmath. Một số mơi trường ma trận có thể được dùng như sau:
6


×