Đặ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 toá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.1: Công thức toá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 toá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 toá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 toá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. Biểu thức toá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.2 minh họa cho quá trình chuyển đổi biểu thức toán học sang dạng LaTeX.
Trích xuất biểu thức toán học vì thế được đánh giá là một bài toán khó trong lớp các bài toán phân tích văn bản (document analysis). Mặc dù vậy, trích xuất biểu thức toá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 toá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 toán nhận diện biểu thức toán học (MER) hiện và chuyển đổi biểu thức toán sang dạng ngôn ngữ cấu trúc như LaTeX đặc biệt hữu ích trong quá 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 toán con của bài toá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 toá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 toá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 toá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 toá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ụ hoà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.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 toá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 toá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 để hoà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 toá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 toá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 toán MER trong tương lai. • Xây dựng hệ thống trích xuất biểu thức toán học hoàn chỉnh sử dụng mô hình đề xuất.3 Đóng góp chính Trải qua quá 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 toán MER.
• Xây dựng hoàn chỉnh bộ cơ sở dữ liệu Large Image to Markup Database (LIMD) cho bài toán MER. • Hoà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 .com/duylebkHCM/doc2tex 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 quát về bài toán dự đoá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.1 Cơ bản về LaTeX 2.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 Nhà Khoa học máy tính, giáo sư tại Đại học Stanford 2 Nhà Khoa học máy tính, nhà toá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 Một số cú pháp toá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 toá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 toá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 toán hạng hay toá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 toá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 toán học như nguyên hàm hay giới hạn.