Tổng quan tình hình nghiên cứu Các nghiên cứu liên quan đến các tài liệu chứa công thức toán tập trung vào 3 hướng chính: 1 Các tiêu chuẩn để lưu trữ công thức toán trong các văn bản đi
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Trang 2BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi
Các số liệu, kết quả nêu trong Luận án là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác
Tác giả Luận án
Trang 4Nghiên cứu sinh chân thành cảm ơn Cơ quan Bộ Giáo dục và Đào tạo đã tạo điều kiện công tác thuận lợi để nghiên cứu sinh tham gia và hoàn thành khóa học này
Cuối cùng, nghiên cứu sinh bày tỏ lòng biết ơn đến gia đình, người thân, những người bạn đã luôn bên cạnh, động viên và ủng hộ nghiên cứu sinh trong suốt thời gian qua
Nghiên cứu sinh
Cao Xuân Tuấn
Trang 5MỤC LỤC
LỜI CẢM ƠN ii
DANH MỤC CÁC TỪ VIẾT TẮT vi
DANH MỤC HÌNH VẼ vii
DANH MỤC BẢNG ix
MỞ ĐẦU 1
CHƯƠNG 1.TỔNG QUAN VỀ TÌM KIẾM VĂN BẢN VÀ CÔNG THỨC TOÁN 8 1.1 Tìm kiếm văn bản 8
1.1.1 Khái niệm văn bản 8
1.1.2 Hệ thống tìm kiếm văn bản 9
1.2 Tìm kiếm văn bản chứa công thức toán 12
1.2.1 Đặc thù của tìm kiếm văn bản chứa công thức toán 12
1.2.2 Các công cụ soạn thảo văn bản chứa công thức toán 13
1.2.3 Biểu diễn văn bản chứa công thức toán 17
1.2.4 Lưu trữ văn bản chứa công thức toán 19
1.2.5 Tìm kiếm công thức toán với hệ thống MathWebSearch 23
1.3 Hướng tiếp cận của luận án 25
1.4 Kết luận Chương 1 29
CHƯƠNG 2.BIỂU DIỄN VÀ LƯU TRỮ CÔNG THỨC TOÁN 31
2.1 Mô hình biểu diễn và tìm kiếm công thức toán trong văn bản 31
2.2 Biểu diễn và lưu trữ công thức toán với MathML 34
2.3 Soạn thảo và hiển thị công thức toán với Amaya 38
Trang 62.4 Sao chép công thức toán trong Amaya 40
2.5 Chuyển đổi công thức MathML với các định dạng khác 44
2.6 Kết luận Chương 2 46
CHƯƠNG 3.TÌM KIẾM TÀI LIỆU DỰA TRÊN CÔNG THỨC TOÁN 48
3.1 Bài toán tìm kiếm tài liệu 48
3.2 Tìm kiếm tài liệu dựa trên công thức toán 50
3.2.1 Mô hình đề xuất 50
3.2.2 Mô-đun lập chỉ mục văn bản 51
3.2.3 Mô-đun tìm kiếm và hiển thị kết quả 54
3.3 Tìm kiếm tài liệu dựa trên Semantic Web 61
3.3.1 Mô tả ứng dụng Semantic Web toán học 62
3.3.2 Mô hình đề xuất 63
3.4 Kết luận Chương 3 67
CHƯƠNG 4.THỬ NGHIỆM VÀ ĐÁNH GIÁ 68
4.1 Chức năng soạn thảo và lưu trữ công thức toán 68
4.2 Tìm kiếm trực tiếp công thức toán 70
4.3 Tìm kiếm trên Ontology 72
4.4 Tìm kiếm văn bản dựa trên công thức toán 74
4.4.1 Phát triển hệ thống thử nghiệm 74
4.4.2 Mô tả chức năng hệ thống 74
4.4.3 Môi trường cài đặt hệ thống 75
4.4.4 Chuẩn bị dữ liệu 76
4.5 Đánh giá kết quả 81
Trang 74.5.1 Phương pháp đánh giá 81
4.5.2 Kết quả thử nghiệm và đánh giá kết quả 82
4.6 Kết luận Chương 4 86
KẾT LUẬN 87
DANH MỤC CÁC BÀI BÁO ĐÃ CÔNG BỐ 90
TÀI LIỆU THAM KHẢO 91
Trang 8DANH MỤC CÁC TỪ VIẾT TẮT
bản
hình ảnh đồ họa véc tơ hai chiều
Language
Ngôn ngữ đánh dấu siêu văn bản mở rộng
Trang 9DANH MỤC HÌNH VẼ
Hình 1.1 Kiến trúc tổng quan hệ thống lưu trữ và tìm kiếm văn bản 10
Hình 1.2 Nhập công thức bằng bảng chọn 13
Hình 1.3 Hiển thị công thức trên màn hình soạn thảo 14
Hình 1.4 Cửa sổ soạn thảo trên TeXworks 14
Hình 1.5 Cửa sổ soạn thảo Microsoft Equation 15
Hình 1.6 Giao diện phần mềm Mathtype 16
Hình 1.7 Công cụ MyEqText soạn thảo trực tiếp trong cửa sổ Microsoft Word 16 Hình 1.8 Cấu trúc của hệ thống ( MWS – 0.4) 24
Hình 1.9 Kiến trúc hệ thống theo giải pháp 2 26
Hình 1.10 Kiến trúc hệ thống theo giải pháp 3 29
Hình 2.1 Mô hình biểu diễn công thức toán trong văn bản truyền thống 31
Hình 2.2 Mô hình biểu diễn và lưu trữ công thức toán trong văn bản đề xuất 32
Hình 2.3 Minh họa cách trình bày công thức 37
Hình 2.4 Cấu trúc thành phần của mã nguồn mở Amaya 39
Hình 2.5 Sơ đồ quá trình chuyển đổi dữ liệu trong ClipBoard 40
Hình 2.6 Chương trình thường trú Math Clipboard Converted 41
Hình 2.7 Thuật toán sao chép công thức qua ClipBoard 43
Hình 2.8 Mô hình chuyển đổi công thức từ MathML sang TeX 44
Hình 2.9 Biểu diễn dạng cây của công thức MathML 45
Hình 2.10 Biểu diễn dưới dạng cây của đối tượng TeX 45
Hình 3.1 Mô hình hệ thống tìm kiếm thông tin 49
Trang 10Hình 3.2 Mô hình tổng quát của quá trình tạo chỉ mục và tìm kiếm 50
Hình 3.3 Mô hình quá trình tạo chỉ mục 52
Hình 3.4 Mô hình quá trình tìm kiếm 55
Hình 3.5 Mô hình hóa hệ thống Semantic Web toán học 63
Hình 4.1 Biểu diễn công thức theo dạng thẻ (tags) 69
Hình 4.2 Biểu diễn công thức theo dạng hình cây 69
Hình 4.3 Ví dụ về tìm kiếm ký tự a 70
Hình 4.4 Ví dụ tìm kiếm ký hiệu căn bậc 2 70
Hình 4.5 Tìm và thay thế công thức 71
Hình 4.6 Mô hình xây dựng và khai thác kho dữ liệu 72
Hình 4.7 Giao diện tìm kiếm tài liệu với câu truy vấn là văn bản 73
Hình 4.8 Giao diện tìm kiếm có câu truy cấn là công thức toán 73
Hình 4.9 Tổ chức dữ liệu trên máy chủ lưu trữ 75
Hình 4.10 Chi tiết cơ sở dữ liệu lưu trữ thông tin tài liệu 79
Hình 4.11 Cửa số tìm kiếm với câu truy vấn là công thức toán 80
Hình 4.12 Cửa tìm kiếm với câu truy vấn là nội dung văn bản 80
Hình 4.13 Mối tương quan giữa độ triệu hồi và độ chính xác theo kịch bản 1 84
Hình 4.14 Mối tương quan giữa độ triệu hồi và độ chính xác theo kịch bản 2 85
Trang 11DANH MỤC BẢNG
Bảng 1.1 So sánh các công cụ soạn thảo công thức toán 17
Bảng 2.1 Một số thẻ đặc trưng của MathML 35
Bảng 2.2 So sánh cách biểu diễn hai ngôn ngữ đánh dấu 41
Bảng 4.1 Mô tả tài liệu thực nghiệm 76
Bảng 4.2 Bảng phân loại lĩnh vực của tài liệu 76
Bảng 4.3 Bảng phân loại định dạng tài liệu 77
Bảng 4.4 Kết quả phân tích tài liệu 78
Bảng 4.5 Thống kê truy vấn 82
Bảng 4.6 Thống kê độ triệu hồi và độ chính xác theo kịch bản 1 83
Bảng 4.7 Thống kê độ triệu hồi và độ chính xác theo kịch bản 2 84
Bảng 4.8 Kết quả trung bình của độ triệu hồi và độ chính xác 85
Trang 12MỞ ĐẦU
1 Lý do chọn đề tài
Trong những năm gần đây, cùng với sự phát triển mạnh mẽ của mạng Internet và công nghệ Web là sự bùng nổ thông tin số Số lượng người sử dụng và lượng thông tin sản sinh ra trên mạng Internet gia tăng rất nhanh và chúng ta có thể tìm thấy hầu hết thông tin cần thiết khi có nhu cầu Đặc biệt, lượng thông tin liên quan đến khoa học, phục vụ học tập, nghiên cứu cũng gia tăng nhanh chóng và phong phú về lĩnh vực Vì vậy, việc khai thác hiệu quả các tài liệu nói chung và các tài liệu khoa học nói riêng trên Internet có ý nghĩa quan trọng trong việc nâng cao chất lượng học tập và nghiên cứu, góp phần vào sự phát triển khoa học và kinh tế Theo số liệu thống kê, trong quá trình học tập và nghiên cứu thì con người đã chi phí khoảng 90% thời gian cho công tác tìm kiếm, phân tích và tổng hợp các tài liệu hiện có Các công cụ tìm kiếm phổ biến hiện nay như Google, Yahoo, Bing… chỉ hỗ trợ mạnh việc tìm kiếm các dữ liệu dưới dạng văn bản và hình ảnh, việc tìm kiếm các dữ liệu đặc biệt như công thức toán thì các công cụ này hầu như chưa thực hiện được
Hiện nay, đã có nhiều công cụ cho phép soạn thảo và quản lý các công thức toán, nhưng việc tìm kiếm còn gặp nhiều khó khăn do chưa có chuẩn chung về biễn diễn và lưu trữ Để tìm kiếm một tài liệu dựa trên công thức toán, chúng ta cần có một cơ chế thống nhất để mô tả, lưu trữ và tìm kiếm theo ngữ nghĩa tương ứng với công thức đó Hiện đã xuất hiện một số công cụ hỗ trợ việc biểu diễn các công thức toán trên môi trường Web, tuy nhiên các công cụ này chưa xác định được chuẩn mô hình và cách biểu diễn chung Do sự đa dạng về cách biểu diễn công thức toán trong các tài liệu khoa học, dẫn đến khó khăn trong việc diễn giải công thức cần tìm kiếm đối với người dùng và so sánh sự tương đồng giữa chúng
Vì vậy, luận án này tập trung nghiên cứu đề xuất các mô hình phù hợp, phát triển các bộ công cụ để soạn thảo công thức, soạn thảo chú thích và tìm kiếm công thức toán và tìm kiếm tài liệu dựa trên công thức toán cũng như các giải pháp lưu
Trang 13trữ, quản lý và khai thác dữ liệu các công thức toán trên các tài liệu, đặc biệt là trên môi trường Web
2 Tổng quan tình hình nghiên cứu
Các nghiên cứu liên quan đến các tài liệu chứa công thức toán tập trung vào 3 hướng chính: 1) Các tiêu chuẩn để lưu trữ công thức toán trong các văn bản điện tử; 2) Soạn thảo và hiển thị các công thức toán trên các văn bản; 3) Tìm kiếm công thức toán Các nghiên cứu trên chủ yếu được thực hiện bởi các nhà khoa học ở nước ngoài,
ở Việt Nam các nghiên cứu về vấn đề này chưa nhiều và kết quả còn khá khiêm tốn
a Tình hình nghiên cứu trên thế giới
Việc nghiên cứu các tiêu chuẩn để có thể lưu trữ và trao đổi các văn bản có chứa công thức toán đã được các nhà khoa học, các công ty nước ngoài quan tâm từ rất sớm như: tiêu chuẩn TeX/LaTeX (đề xuất bởi Donald Knuth từ năm 1969 và đến năm 1991 đã có nhiều phiên bản ra đời và hỗ trợ nhiều ngôn ngữ khác nhau) [27], [18]; tiêu chuẩn MathML (phát triển và phổ biến rộng rãi bởi W3C - World Wide Web Consortium) [9]
Bên cạnh các tiêu chuẩn lưu trữ, việc soạn thảo và xử lý các công thức toán được nhiều nhà khoa học quan tâm Hàng loạt các giải pháp đã được đề xuất và cho
ra đời các công cụ soạn thảo, xử lý công thức toán như: MathMagic (phát triển bởi InfoLogic, Inc) [9], GtkMathView (phát triển bởi Luca Padovani, Đại học Torino, Ý) [39],…
Ngoài ra, việc nghiên cứu các công cụ cho phép có thể lưu trữ, lập chỉ mục, tìm kiếm dựa trên công thức toán đã và đang được nhiều nhà khoa học, tổ chức đầu
tư nghiên cứu như: WolframAlpha (tự động xử lý và tính toán giá trị các biểu thức toán học) [26], [39], Symbolab (tìm kiếm tài liệu có chứa công thức toán cho trước) [10],… Dưới đây là một số công cụ tìm kiếm trên nền tảng Web:
- TeMaSearch (http://search.mathweb.org/tema/): kết hợp tìm kiếm văn bản và toán học cho Zentralblatt Math
Trang 14- ZBLSearch (http://search.mathweb.org/zbl/): một công cụ hướng tìm kiếm công thức trong 3.3 triệu file đánh giá và tóm tắt trong cơ sở dữ liệu Zentralblatt Math Công cụ này cho phép thực hiện truy vấn trong LaTeX mở rộng với các biến tìm kiếm
- XLSearch (http://search.mathweb.org/xl/): một công cụ tìm kiếm cho các công thức trên bảng tính
- FlatSearch (http://cds.omdoc.org:8181/search.html): một công cụ tìm kiếm theo định dạng
- SentidoSearch (http://search.mathweb.org/sentido/): một công cụ tìm kiếm
đa định dạng đầu vào cho các truy vấn tìm kiếm dựa trên hệ thống Sentido (http://www.matracas.org/sentido/index.html.en) Nó bao gồm một bảng điều khiển, trình soạn thảo công thức toán và các chức năng hỗ trợ tìm kiếm
b Tình hình nghiên cứu ở trong nước
Cho đến nay, đã có một số nghiên cứu nhằm đưa tiếng Việt vào TeX và một sản phẩm tiêu biểu cho hướng này là VnTeX VnTeX hỗ trợ tiếng Việt cho LaTeX
và TeX thuần thông qua các gói macro và phông chữ VnTeX thường được đóng gói kèm trong các bản phân phối TeX như teTeX, TeXLive [11] Ngoài ra, một cách soạn thảo công thức toán và tiếng Việt trong TeX có thể được vẽ bằng các lệnh của TeX Hiện đã có một số nghiên cứu liên quan đến xử lý văn bản tiếng Việt nhưng không nhiều và chưa chú trọng đến xử lý các công thức toán trên văn bản [1], [3]
Một số công cụ khác đang được nghiên cứu và phát triển hiện nay theo dự án
MATHIS Đây là dự án hợp tác nghiên cứu giữa Nhóm nghiên cứu KEWI của Đại
học Nice – Sophia Antipolis (Cộng hòa Pháp) và Trung tâm DATIC của Trường Đại học Bách khoa – Đại học Đà Nẵng Dự án này tập trung nghiên cứu trên 3 nội dung
chính gồm: 1) Bộ soạn thảo công thức Mathis: một trình soạn thảo công thức toán
để tạo ra và xuất bản các công thức toán trực tuyến, được gọi là “eFormula" được
phát triển trên cơ sở của OpenMath/MathML, kết hợp với phong cách trình bày theo
kiểu Web Các mẫu công thức này được gắn kèm chú thích nhằm mô tả ngữ nghĩa
Trang 15liên quan đến lĩnh vực toán học 2) Bộ tạo chú thích Mathis: tạo ra một chú thích
đính kèm công thức hoặc tài liệu khoa học Công cụ này cho phép chúng ta tạo các đối tượng gọi là "eNote", nó sẽ được lưu trữ trên máy tính cục bộ hoặc trên một
máy chủ chia sẻ Một eNote có thể được tạo ra từ một bộ soạn thảo eNoter 3) Bộ
tìm kiếm Mathis: Một công cụ tìm kiếm khai thác ngữ nghĩa của eNote được lưu trữ
cục bộ hoặc trên một máy chủ, một cơ chế suy luận cụ thể để cung cấp câu trả lời cho người dùng Việc tích hợp bộ tìm kiếm Mathis vào các công cụ tìm kiếm trên thị trường như Google, Yahoo, có thể sẽ được xem xét đến trong quá trình phát triển [2] Tuy nhiên, dự án này chỉ mới khởi đầu và chưa có các kết quả nghiên cứu
cụ thể được công bố rộng rãi
3 Mục tiêu nghiên cứu
Mục tiêu tổng quát của đề tài là đề xuất được một mô hình hệ thống cho phép biểu diễn, lưu trữ công thức toán và tìm kiếm tài liệu dựa trên công thức toán với nhiều nền tảng hệ thống khác nhau: máy đơn, mạng nội bộ, trên Internet
Mục tiêu cụ thể như sau:
(1) Đề xuất một không gian biểu diễn và lưu trữ công thức toán theo một cách thống nhất và có thể chuyển đổi dễ dàng từ nhiều nguồn, nhiều công cụ soạn thảo và lưu trữ khác nhau
(2) Trên cơ sở mô hình thống nhất cách biểu diễn và lưu trữ đó, luận án đề xuất phát triển một công cụ cho phép soạn thảo, tìm kiếm công thức toán một cách thuận lợi trong các văn bản
(3) Đề xuất các giải pháp để tìm kiếm các tài liệu dựa trên công thức toán trên môi trường Internet với cả các Web thường và Semantic Web (Web ngữ nghĩa)
4 Đối tượng và phạm vi nghiên cứu
Luận án này thực hiện một số nội dung trong dự án Mathis và tập trung đi sâu nghiên cứu và đưa ra mô hình để biểu diễn các công thức toán, xây dựng bộ chú
Trang 16thích, thiết lập cơ chế và xây dựng công cụ tìm kiếm, cơ chế lưu trữ, quản lý và khai thác dữ liệu
a Đối tượng
Đối tượng nghiên cứu của đề tài bao gồm: Các phương pháp biểu diễn các công thức toán trong các tài liệu được lưu trữ dưới dạng các văn bản như HTML, XML,…; Các giải pháp mô hình hóa công thức toán, từ đó xây dựng mô hình chung cho phép biểu diễn công thức toán; Các kỹ thuật bóc tách và tổng hợp thông tin từ trang Web; Các mô hình và phương pháp tìm kiếm; Các vấn đề liên quan đến Semantic Web
b Phạm vi nghiên cứu
- Giới hạn nghiên cứu việc mô hình hóa cách biểu diễn các công thức toán phục vụ chuyển đổi, tìm kiếm dựa trên công thức toán trên một số tiêu chuẩn phổ biến như TeX, LaTeX, AMS-LaTeX, HTML và MathML;
- Nghiên cứu ngôn ngữ đặc tả cho phép người sử dụng tìm kiếm công thức toán một cách dễ dàng;
- Nghiên cứu xây dựng một Web ngữ nghĩa cho các tài liệu toán học
5 Nội dung nghiên cứu
Nội dung chính của luận án tập trung nghiên cứu việc mô hình hóa cách biểu diễn các công thức toán áp dụng cho bài toán tìm kiếm trong các tài liệu dưới dạng các tài liệu điện tử
Các nội dung nghiên cứu bao gồm:
- Nghiên cứu tổng quan về việc biểu diễn, các tiêu chuẩn lưu trữ, các công cụ soạn thảo và tìm kiếm tài liệu dựa trên công thức toán;
- Định nghĩa một mô hình chính thức cho eFormula (công thức toán trực tuyến) dựa chủ yếu vào OpenMath và MathML;
Trang 17- Nghiên cứu về một mô hình tổng quát để mô tả mối quan hệ giữa một đối tượng toán học eFormula và khái niệm toán học trong một ontology được xây dựng trong ngôn ngữ OWL (Web Ontology Language) Mô hình này dẫn đến một cơ chế biểu diễn và lý luận lai (hybrid logic) để biên soạn hai loại ngữ nghĩa: ngữ nghĩa của lĩnh vực toán học và ngữ nghĩa của công thức;
- Cuối cùng, tiến hành các nghiên cứu về khả năng tích hợp và vai trò của việc lưu trữ và tìm kiếm tài liệu dựa trên công thức toán trong các ứng dụng khác
6 Phương pháp nghiên cứu
Phương pháp tài liệu: Nghiên cứu các tài liệu có liên quan đến các nội dung
nghiên cứu như: mô hình hóa biểu diễn, tách lọc dữ liệu, khai phá dữ liệu, Ontology, các giải pháp về tìm kiếm dữ liệu
Phương pháp thực nghiệm: Nghiên cứu đánh giá thực nghiệm từng mô hình
biểu diễn công thức toán, từ đó so sánh, đánh giá với mô hình chuẩn được nghiên cứu
từ nội dung của đề tài Thực nghiệm một số hệ thống tìm kiếm Xây dựng và đánh giá
mô hình chuẩn về biểu diễn công thức toán, đánh giá công cụ tìm kiếm đã xây dựng
Phương pháp đối sánh: Tìm kiếm trên tập dữ liệu xây dựng sẵn với nhiều
cách biểu diễn công thức toán khác nhau Đánh giá độ chính xác và xác suất tìm kiếm
Phương pháp chuyên gia: Lấy ý kiến các chuyên gia về các giải pháp đề xuất
và khảo sát ý kiến của người sử dụng
7 Bố cục của luận án
Nội dung chính của luận án được trình bày trong 4 chương:
Chương 1: Tổng quan về tìm kiếm văn bản và công thức toán
Chương này trình bày các kết quả nghiên cứu tổng quan liên quan đến văn bản và tìm kiếm văn bản; lưu trữ và tìm kiếm văn bản chứa công thức toán; các giải
Trang 18pháp trong tìm kiếm và phân loại, đánh giá các vấn đề còn tồn tại để làm cơ sở cho những nghiên cứu trình bày trong các chương tiếp theo
Chương 2: Biểu diễn và lưu trữ công thức toán
Chương này đề xuất mô hình thống nhất cách biểu diễn và lưu trữ công thức toán trong văn bản Trong đó, các công thức được lưu trữ và xử lý dựa trên tiêu chuẩn định dạng MathML và giải pháp chuyển đổi các văn bản có chứa công thức toán giữa các công cụ soạn thảo khác nhau
Chương 3: Tìm kiếm tài liệu dựa trên công thức toán
Chương này trình bày các giải pháp đề xuất phục vụ việc tìm kiếm tài liệu dựa trên công thức toán Các đề xuất này dựa trên một số hướng tiếp cận khác nhau cho cả việc tìm kiếm trên các Web thông thường và Semantic Web
Chương 4: Thử nghiệm và đánh giá
Chương này trình bày tóm tắt qui trình xây dựng các ứng dụng thử nghiệm
và đánh giá các mô hình đã đề xuất ở chương 2 và 3 Bao gồm thử nghiệm một hệ thống cho phép soạn thảo, biểu diễn, lưu trữ và tìm kiếm tài liệu dựa trên công thức toán, tìm kiếm trên các Web thường và tìm kiếm trên Sematic Web
Trang 19CHƯƠNG 1 TỔNG QUAN VỀ TÌM KIẾM VĂN BẢN
VÀ CÔNG THỨC TOÁN
Chương này trình bày một số kết quả nghiên cứu tổng quan liên quan đến đề tài gồm:
Văn bản và hệ thống tìm kiếm văn bản
Các vấn đề đối với lưu trữ và tìm kiếm tài liệu chứa công thức toán
Định hướng nghiên cứu của luận án
1.1 Tìm kiếm văn bản
1.1.1 Khái niệm văn bản
Theo nghĩa rộng, văn bản là vật mang tin (các vật liệu dùng để viết như: xương thú vật, đồng, đá, gỗ, da, tre, giấy,…) được ghi bằng ký hiệu ngôn ngữ nhất định như tiếng Anh, Pháp, Việt, Theo định nghĩa này thì mọi vật có ghi ký hiệu ngôn ngữ như: bia đá, gia phả, câu đối, các tác phẩm văn học, các công trình nghiên cứu khoa học, các công văn, giấy tờ của các cơ quan … đều là văn bản Khái niệm này được dùng phổ biến trong nghiên cứu về ngôn ngữ học, sử học và văn bản học
Theo nghĩa hẹp, văn bản là các công văn, giấy tờ, hồ sơ được hình thành trong quá trình hoạt động của các cơ quan, doanh nghiệp, đoàn thể như: nghị định, chỉ thị, thông tư, nghị quyết, báo cáo, biên bản, tờ trình, thông báo… Khái niệm này được sử dụng rộng rãi trong hoạt động quản lý của các cơ quan
Cùng với phát triển của công nghệ thông tin, nhu cầu ứng dụng công nghệ thông tin trong thực tiễn đã sản sinh ra một loại hình đó là văn bản điện tử Văn bản điện tử được tạo ra và đọc trong môi trường điện tử Đó là môi trường của các thiết
bị kỹ thuật (phương tiện máy móc), hoạt động trên cơ sở các quy luật vật lý và được
sử dụng vào công nghệ thông tin để xử lý, lưu giữ và truyền tải các dữ liệu [3]
Theo quy định tại Nghị định số 64/2007/NĐ-CP ngày 10/4/2007 của Chính
phủ về ứng dụng công nghệ thông tin trong hoạt động quản lý nhà nước, “Văn bản
Trang 20điện tử” là văn bản được thể hiện dưới dạng thông điệp dữ liệu Như vậy, với tính
chất là một loại hình văn bản, văn bản điện tử trước hết cũng phải đảm bảo yêu cầu
ổn định, thống nhất, cố định và truyền đạt thông tin cho nhiều đối tượng Điểm khác biệt giữa văn bản điện tử với văn bản giấy và các loại hình văn bản khác chính ở kỹ thuật ghi tin, lưu trữ và truyền tin Các công đoạn này được thực hiện bằng các phương tiện hoạt động dựa trên công nghệ điện, điện tử, kỹ thuật số, từ tính, truyền dẫn không dây, quang học, điện từ và các công nghệ tích hợp
Nói một cách khái quát, văn bản là phương tiện ghi tin và truyền đạt thông tin bằng một ngôn ngữ hay kí hiệu nhất định Ở mỗi lĩnh vực, văn bản có những hình thức và nội dung khác nhau Chẳng hạn, văn bản nghệ thuật khác với văn bản quản lí nhà nước; văn bản lập pháp khác với văn bản lập quy; văn bản báo cáo khác với văn bản kế hoạch
1.1.2 Hệ thống tìm kiếm văn bản
Một hệ thống tìm kiếm văn bản, nói chung, thường có hai phần khá tách biệt là: (i) Phần hệ thống quản lí, lưu trữ; và (ii) phần hệ thống tìm kiếm như Hình 1.1 Phần hệ thống quản lí, lưu trữ thường có các bước:
- Thu thập tài liệu: Bước này tự động thu thập các tài liệu từ các nguồn khác nhau Các tài liệu này sẽ được tiền xử lí về dạng thuần văn bản trước khi đưa vào hệ thống đánh chỉ mục
- Đánh chỉ mục văn bản: Thực hiện đánh chỉ mục theo các từ khóa và chỉ mục tương ứng với từng văn bản Kết quả bước này là tập các từ khóa, chỉ mục tương ứng với từng văn bản, sau đó được lưu vào hệ thống lưu trữ (lưu trữ thông tin văn bản và chỉ mục)
Trong phần hệ thống quản lí, lưu trữ này, bước quan trọng nhất và thu hút được nhiều sự quan tâm nghiên cứu là bước đánh chỉ mục văn bản Cho đến nay, có khá nhiều hệ thống đánh chỉ mục văn bản được đề xuất và sử dụng rộng rãi trong
Trang 21các ứng dụng lưu trữ, quản lí và tìm kiếm văn bản, chẳng hạn như hệ thống đánh chỉ mục của Lucene [25]
Hình 1.1 Kiến trúc tổng quan hệ thống lưu trữ và tìm kiếm văn bản
Phần hệ thống tìm kiếm, thường có các bước xử lí như sau:
- Nhập từ khóa: Hệ thống cung cấp giao diện cho phép người dùng nhập từ khóa cần tìm kiếm vào hệ thống để xử lí tìm kiếm
- Xử lí truy vấn: Máy tìm kiếm bắt đầu xử lí câu truy vấn của người dùng, tách thành các từ khóa đơn để đưa vào máy tìm kiếm
- Tìm kiếm: Máy tìm kiếm thực hiện việc tìm kiếm trong tập dữ liệu văn bản
đã đánh chỉ mục với các từ khóa đã xử lí Kết quả trả về là một tập các văn bản có chứa từ khóa đã nhập vào
Trang 22- Xếp hạng: Bước này sẽ tiến hành xếp hạng các văn bản trả về theo thứ tự giảm dần mức độ liên quan đến các từ khóa nhập vào Kết quả là thu được một tập các văn bản được xếp theo thứ tự giảm dần mức độ liên quan đến từ khóa của người dùng đã nhập vào
- Hiển thị kết quả: Hệ thống cung cấp giao diện hiển thị kết quả các văn bản
có chứa từ khóa đã nhập vào, các văn bản được xếp theo thứ tự giảm dần mức độ liên quan đến từ khóa nhập vào
Trong các bước của phần hệ thống tìm kiếm, bước tìm kiếm và bước xếp hạng là các bước nằm trong phần lõi của máy tìm kiếm và thu hút được nhiều quan tâm nghiên cứu Cho đến nay, đã có nhiều hệ thống tìm kiếm và xếp hạng được đề xuất Các mô hình tìm kiếm có thể được nhóm vào các hướng tiếp cận như sau:
- Hướng tiếp cận dựa trên giả định các từ trong văn bản là độc lập với nhau Chẳng hạn như mô hình dựa trên so khớp Boolean (Hiemstra and Mihajlovic [13]),
mô hình dựa trên không gian vector (Salton et al [30]), mô hình dựa trên xác suất (Robertson [29]), mô hình dựa trên ngôn ngữ (Zhai and Lafferty [6])
- Hướng tiếp cận dựa trên việc xem xét quan hệ giữa các từ trong văn bản Chẳng hạn như mô hình ngữ nghĩa ngầm (Scott Deerwester et al [31]), mô hình lân cận (Ralf Schenkel et al [28], Svore et al [17], Tao and Zhai [36])
- Hướng tiếp cận dựa trên việc xếp hạng mức độ quan trọng của văn bản trong mối quan hệ với các văn bản khác Mô hình này thường được dùng để xếp hạng các trang web Chẳng hạn như hướng tiếp cận HITS (Hypertext Induced Topic Search) của Jon Kleinberg [15], PageRank bởi Lawrence Page et al [20]
Mô hình lưu trữ và tìm kiếm văn bản này hiện đang được áp dụng phổ biến với nhiều ứng dụng tìm kiếm chẳng hạn như: Google search (google.com), Yahoo search (yahoo.com), Bing (bing.com), Coccoc (coccoc.com),…
Trang 231.2 Tìm kiếm văn bản chứa công thức toán
1.2.1 Đặc thù của tìm kiếm văn bản chứa công thức toán
Mặc dù mô hình lưu trữ và tìm kiếm văn bản như đã trình bày trong mục 1.1
đã được áp dụng rộng rãi và được một số lượng lớn người dùng chấp nhận Tuy vậy,
mô hình này vẫn còn gặp nhiều khó khăn, hạn chế khi áp dụng vào bài toán tìm kiếm văn bản chứa công thức toán Một số khó khăn có thể kể đến như:
- Phần nội dung công thức toán trong văn bản được xử lí như là một đối tượng độc lập (chẳng hạn như hình ảnh, bảng biểu, sơ đồ,…) nhúng vào văn bản, do
đó, không thể áp dụng các kỹ thuật xử lí văn bản vào các bước xử lí cho công thức toán:
Ở phần hệ thống lưu trữ, không thể trích rút các nội dung mã hóa của công thức toán thành các từ khóa để đánh chỉ mục và lưu trữ văn bản Thậm chí một số hệ thống đã loại bỏ các phần nội dung không phải dạng thuần văn bản (trong đó có công thức toán) ra khỏi tài liệu trước khi đánh chỉ mục và lưu trữ tài liệu
Ở phần hệ thống tìm kiếm, phần lớn các giao diện với người dùng chỉ cho phép gõ từ khóa dạng văn bản thuần mà không hỗ trợ người dùng gõ từ khóa là một công thức toán Cùng với đó là hạn chế ở bước xử lí câu truy vấn: Hầu hết các giải pháp đề xuất đều chỉ tập trung hỗ trợ câu truy vấn dạng thuần văn bản mà không hỗ trợ xử lí câu truy vấn dạng công thức toán
- Phần nội dung công thức toán được biểu diễn và lưu trữ trong các tài liệu khác nhau là không giống nhau Điều này dẫn đến việc khó khăn trong đánh chỉ mục các tài liệu chứa công thức toán, khó khăn trong việc tìm kiếm từ khóa chứa công thức toán và khó khăn trong việc xếp hạng tài liệu văn bản chứa công thức toán theo từ khóa nhập vào
Các mục tiếp theo sẽ trình bày một số công cụ và phương pháp hỗ trợ soạn thảo, biểu diễn và lưu trữ công thức toán trong văn bản Từ cái nhìn tổng quan này,
Trang 24chúng ta sẽ thấy được mức độ nghiêm trọng của những khó khăn vừa nêu trên của bài toán lưu trữ và tìm kiếm tài liệu dựa trên công thức toán
1.2.2 Các công cụ soạn thảo văn bản chứa công thức toán
Đối với các công thức toán, có ba cách nhập công thức trên các công cụ soạn thảo văn bản Cách thứ nhất là nhập công thức bằng các ký tự có sẵn trong bảng lựa chọn (selection) hiện ra Cách thứ hai là nhấp chuột phải lên trình soạn thảo công thức và chọn ký tự từ menu ngữ cảnh Cách thứ ba là nhập công thức bằng ngôn ngữ đánh dấu Nhưng thực chất việc sử dụng menu ngữ cảnh hay sử dụng bảng lựa chọn tức là cũng đã nhập vào đoạn mã (code) tương ứng với ký tự
Sử dụng bảng lựa chọn
Đối với phương pháp thứ nhất và thứ hai thì việc nhập công thức toán thực hiện đơn giản, trực quan và dễ sử dụng Ví dụ qua phần mềm OpenOffice.Org, trong quá trình soạn thảo công thức, chúng ta có thể chọn các thành phần để tạo công thức qua bảng hoặc qua menu ngữ cảnh, sau đó nhập các giá trị tương ứng vào công thức:
1.2 Nhập công thức bằng bảng chọn
Trang 25Hình 1.3 Hiển thị công thức trên màn hình soạn thảo
Sử dụng ngôn ngữ đánh dấu
Trong cách này, chúng ta có thể gõ trực tiếp thông qua ngôn ngữ đánh dấu (Markup Language) vào vùng soạn thảo công thức toán Phương pháp này đòi hỏi người soạn thảo phải học cách soạn thảo dựa trên các dòng lệnh hoặc thẻ Vì vậy đây không phải là một phương pháp thân thiện đối với người sử dụng
Ví dụ để tạo công thức: c2 a2b2 trên TeXworks, chúng ta phải nhớ đoạn
mã lệnh khai báo cần thiết cho tài liệu và mã lệnh tạo công thức Sau khi hoàn thành quá trình soạn thảo, người sử dụng tiến hành biên dịch sang tập tin pdf, khi đó mới xem kết quả soạn thảo
Hình 1.4 Cửa sổ soạn thảo trên TeXworks
Trang 26Hiện nay có rất nhiều phần mềm hỗ trợ soạn thảo công thức toán trong đó có
cả phần mềm thương mại và phần mềm mã nguồn mở Nội dung phần này luận án giới thiệu 3 ứng dụng hỗ trợ cho quá trình nhập công thức toán vào văn bản
Ứng dụng Microsoft Equation 3.0 trong bộ Office
Microsoft Equation là ứng dụng được tích hợp trong bộ Office của hãng Microsoft Microsoft Equation là công cụ dùng để tạo các biểu thức, đẳng thức toán học trong văn bản
Trong cửa sổ soạn thảo của Microsoft Equation, công thức được chèn vào dưới dạng lựa chọn bằng bảng
Hình 1.5 Cửa sổ soạn thảo Microsoft Equation
Phần mềm Mathtype
Mathtype là một phần mềm thương mại của Design Science cho phép tạo các
ký hiệu toán học để xử lý văn bản như Microsoft Word, OpenOffice, E-Learning, … [16] Trong cửa sổ soạn thảo của Mathtype các công thức được tạo dưới dạng lựa chọn bằng bảng Với Mathtype, chúng ta có thể chuyển công thức sang các dạng chuẩn khác nhau như: LaTeX, MathML, …
Trang 27Hình 1.6 Giao diện phần mềm Mathtype
Phần mềm MyEqText
Ứng dụng Microsoft Equation được tích hợp trong Microsoft Word, tuy dễ sử dụng nhưng rất mất thời gian, làm giảm tiến độ công việc cũng như gây khó chịu cho người dùng Để giải quyết khó khăn đó, công cụ MyEqText cho phép gõ các công thức toán một cách dễ dàng Không như một số công cụ hỗ trợ soạn thảo công thức toán khác, MyEqText được tích hợp ngay vào Microsoft Word như một thanh công cụ và chúng ta có thể soạn thảo trực tiếp ngay trong Microsoft Word
Hình 1.7 Công cụ MyEqText soạn thảo trực tiếp trong cửa sổ Microsoft Word
Trang 28Bảng 1.1 So sánh các công cụ soạn thảo công thức toán
Độc quyền của Microsoft Sở hữu bởi Design
Science
Được tạo bởi Mỵ Duy Thọ
Một ứng dụng nhỏ hoạt
động như một đối tượng
nhúng OLE (Linking and
Microsoft Office để tạo
các ký hiệu toán học
Cho phép tạo ra các ký hiệu toán học để xử lý
Hỗ trợ các ngôn ngữ đánh dấu TeX, LaTeX
và MathML
Là một chương trình tạo các ký hiệu toán học trong Microsoft Office thay thế
1.2.3 Biểu diễn văn bản chứa công thức toán
Ký hiệu toán học là một loại văn bản định dạng đặc biệt Nó dựa trên các bảng chữ cái khác nhau (tiếng Hy Lạp, tiếng Do Thái,…), các quy tắc và các bit của
ký hiệu Để biểu diễn các ký hiệu này phải dựa vào các chuẩn trong văn bản, các phông chữ được cài đặt sẵn [2], [9], [40]
Hiện nay, trên thế giới có nhiều công cụ hỗ trợ quá trình gõ công thức toán trên văn bản Ngoài những phần mềm thương mại như: Mathtype, Microsoft Equation trong bộ Microsoft Office,… hoặc những phần mềm mã nguồn mở như: MathCast, Math trong OpenOffice.Org, hoặc phần mềm phi thương mại của Việt Nam như MyEqText,… Tuy nhiên, mỗi công cụ chỉ hỗ trợ phù hợp cho từng phần mềm soạn thảo cụ thể Do đó, khi sử dụng phần mềm soạn thảo nào thì người sử
Trang 29dụng phải dùng công cụ hỗ trợ gõ công thức tương ứng với nó Nhưng việc sử dụng công cụ hỗ trợ gõ công thức toán của người dùng lại không nhất quán, nghĩa là không theo một phần mềm nhất định Mặt khác, mỗi ứng dụng soạn thảo văn bản có một chuẩn lưu trữ khác nhau, vì vậy sẽ gặp rất nhiều khó khăn trong việc hợp nhất các văn bản được tạo ra từ nhiều ứng dụng khác nhau
Trong quá trình soạn thảo công thức toán trong văn bản, các ký tự toán học
mà chúng ta nhìn thấy đó chỉ là hình ảnh của công thức Vậy thật sự các công thức này lưu trong văn bản ở dạng mã như thế nào và mỗi trình soạn thảo văn bản thì dạng thức lưu trữ có khác nhau không? Ở đây, chúng ta chỉ tìm hiểu ở ba loại văn bản thường sử dụng nhất
Biểu diễn công thức toán trên Microsoft Word
x, soạn thảo bằng Equation Editor (Soạn thảo phương trình) thì phải sử dụng đoạn mã sau:
{ EQ \r(3,x) }
{ EQ \f(2,5) } Equation Editor là một trình soạn thảo công thức phát triển bởi Design Science Cho phép người dùng xây dựng các phương trình toán học và khoa học trong một môi trường WYSIWYG (What You See Is What You Get), được tích hợp trong tất cả các phiên bản Microsoft Office và nhiều ứng dụng thương mại khác
Biểu diễn công thức toán trên OpenOffice.Org
Đối với bộ OpenOffice.Org, việc tạo ra một công thức toán trên trình soạn thảo là rất đơn giản thông qua OpenOffice.org Math Ta chỉ việc sử dụng bảng lựa chọn các ký hiệu cần chèn và công thức tạo ra sẽ tương ứng với đoạn mã được sinh
ra Sau đây là ví dụ minh họa:
Để hiển thị công thức 3
Trang 30nroot{3}{x}
2008
x x
Biểu diễn công thức toán trên Website
Các ngôn ngữ và các định dạng khác nhau tạo nên các trang Web hiện đại (HTML, XHTML, CSS, …) đáp ứng hầu hết các mục đích, nhưng có một vấn đề khó khăn là việc trình bày công thức toán và sơ đồ Do đó các công thức toán được tạo ra về bản chất là sự nhúng hình ảnh vào HTML
Ví dụ sử dụng Website của Casiovn chạy trên Firefox tại địa chỉ http://www.casiovn.com/web/gotoanhoc.aspx, để tạo công thức toán chúng ta phải nhập vào đoạn mã của LaTeX tương ứng Sau đây là ví dụ minh hoạ:
$\frac{x+2007}{x+2008}$
1.2.4 Lưu trữ văn bản chứa công thức toán
Hiện nay có rất nhiều phương pháp, cách thức và tiêu chuẩn áp dụng cho việc đặc tả, biểu diễn và lưu trữ công thức toán trên một văn bản Trong phần này, luận án trình bày một số phương pháp, tiêu chuẩn thường được sử dụng
Ngôn ngữ đánh dấu TeX/LaTeX
Trang 31TeX là một hệ thống sắp chữ được viết bởi Donald E.Knuth ở Đại học Stanford vào năm 1977 Nó phổ biến trong môi trường hàn lâm, đặc biệt là trong cộng đồng toán học, vật lí và khoa học máy tính TeX được xem là cách tốt nhất để
gõ công thức toán phức tạp nhằm phục vụ nhu cầu soạn thảo các tài liệu toán học với chất lượng bản in cao
Bắt đầu từ năm 1980, Leslie Lamport bắt đầu tạo ra hệ thống soạn thảo văn bản LaTeX, dựa trên định dạng của TeX Hệ thống LaTeX thêm vào những lệnh tổng quát cho TeX và hướng người dùng vào cấu trúc văn bản hơn là định dạng chi tiết Một số lệnh bậc cao cho phép người dùng dễ dàng soạn ra hầu hết các loại tài liệu Cộng đồng người dùng LaTeX và TeX ngày càng lớn, để đáp ứng với đòi hỏi
đó và ứng dụng các công nghệ thông tin hiện đại, từ năm 1989 có một dự án xem xét lại LaTeX và mở rộng nó MikTeX là một phần mềm miễn phí chế bản LaTeX tốt nhất hiện nay [5]
LaTeX định nghĩa một chế độ đặc biệt để soạn thảo công thức toán Các công thức này có thể được đưa vào ngay trong môi trường văn bản hay ta có thể tách rời chúng khỏi các đoạn văn bản Phần nội dung toán học trong đoạn văn bản có thể được soạn thảo ở giữa dấu \(và \) hay $ và $ hay \begin{math} và \end{math}
Ví dụ nội dung soạn thảo và hiển thị bằng LaTeX:
Cộng $a$ bình phương với $b$ bình phương được $c$ bình phương Ta
có thể viết dưới dạng công thức là: $c^{2} = a^{2}+b^{2}$
Ta nhận được kết quả hiển thị:
Cộng a bình phương với b bình phương được c bình phương Ta có thể viết dưới dạng công thức là: c 2 =a 2 +b 2
Ưu điểm của LaTeX:
- Hỗ trợ cho việc soạn thảo các tài liệu toán học hay rộng hơn là các tài liệu kỹ thuật
- Chất lượng bản in bằng LaTeX cao
Trang 32- Có thể đọc được các tài liệu bằng LaTeX trên nền tảng nhiều hệ điều hành khác nhau với các định dạng không thay đổi
- Cấu trúc và môi trường trong LaTeX rất rõ ràng, dễ hiểu và người dùng có thể tạo ra những dòng lệnh cho riêng mình
- Được sử dụng phổ biến trong các tài liệu khoa học
- Bên cạnh những điểm mạnh trên thì LaTeX cũng có một số điểm yếu như:
- Người soạn thảo phải học cách soạn thảo dựa trên các dòng lệnh Việc ghi nhớ đối với những người mới bắt đầu soạn thảo là khó khăn
- Việc thiết kế một kiểu trình bày mới mất nhiều thời gian
- Biên soạn các tài liệu không có cấu trúc, hoặc cấu trúc lộn xộn rất khó khăn
- Không nhìn thấy được hình dáng của tài liệu trước khi biên dịch
- Phải chuyển sang một dạng tập tin khác để hiển thị, vì vậy phải sử dụng một công cụ để chuyển đổi
Ngôn ngữ đánh dấu AMS-LaTeX
AMS-LaTeX (American Mathematical Society–LaTeX) được phát triển bởi Hội Toán học Mỹ (AMS) Tên gọi AMS-LaTeX có nghĩa là sử dụng LaTeX với phần mở rộng AMS AMS-LaTeX ban đầu được viết bởi Michael Spivak và gần như chỉ phổ biến ở Mỹ [7]
AMS-LaTeX cũng là phần mềm biên dịch ra tập tin pdf giống như LaTeX Trong AMS-LaTeX có 2 gói là: Amsmath – gói mở rộng cho LaTeX tạo thuận lợi cho quá trình tạo công thức, nâng cao chất lượng in ấn và Amscls bao gồm lớp các tài liệu và thuật toán hỗ trợ trong quá trình soạn thảo
Gói Amsmath dành cho LaTeX cung cấp nhiều tiện ích để sắp xếp các tài liệu toán học phức tạp, bên cạnh các môi trường chuẩn của LaTeX: equation, align, split,…
Ví dụ nội dung soạn thảo và hiển thị bằng AMS-LaTeX:
Trang 33Việc đưa các công thức toán vào tài liệu HTML không được hỗ trợ Mặc dù chúng ta đã có chuẩn để thực hiện điều này nhưng hầu hết các trình duyệt chưa hỗ trợ hay thiếu các phông chữ cần thiết Vì thế, ta nhìn thấy công thức biểu diễn không rõ ràng, rất khó khăn trong việc thể hiện ý nghĩa toán học
Hiện nay, người ta đã có rất nhiều cố gắng để tạo ra các chương trình chuyển
từ tập tin LaTeX sang tập tin HTML Trong số đó có một số chương trình thực hiện
Trang 34tương đối thành công việc tạo ra các trang Web rõ ràng, dễ đọc từ một tài liệu được soạn thảo bằng LaTeX như bản TeX4ht trong TeXLive2005 của VNTeX là một ví dụ Tuy nhiên, hầu hết các phần mềm đều không làm tốt vì chúng không thể giữ nguyên định dạng ban đầu Đối với các tài liệu sử dụng các tính năng phức tạp của LaTeX và các gói mở rộng thì các chương trình không thể thực hiện tốt việc chuyển đổi từ LaTeX sang HTML Do đó, nếu muốn đưa tài liệu lên Web với yêu cầu giữ nguyên cách trình bày bản in với chất lượng cao thì lựa chọn PDF là một giải pháp tốt
Ngôn ngữ MathML
công thức toán với mục đích rộng là phương cách trao đổi thông tin toán học trên máy tính (để hiển thị cũng như để tính toán) và mục đích hẹp là hiển thị tài liệu toán học trên Web Nhóm toán học của W3C đề xuất mọi người nên dần sử dụng ngôn ngữ này trên Web Phiên bản 1.01 được công bố vào tháng 7 năm 1999 và bản 2.0 xuất hiện vào tháng 02 năm 2001 Tháng 10 năm 2003, bản chỉnh sửa lần thứ hai của phiên bản 2.0 và tháng 10 năm 2010 phát hành bản 3.0
Đối với hiển thị trên trang Web, cấu trúc XML không ngắn gọn như TeX, nhưng có thể được sử dụng dễ dàng trên các trình duyệt, cho phép hiển thị ngay lập tức công thức toán một cách đẹp mắt, đồng thời truyền tải ý nghĩa toán học cho các phần mềm tính toán
MathML là ngôn ngữ được luận án đề xuất lựa chọn làm ngôn ngữ biểu diễn
và lưu trữ chung cho hệ thống đề xuất nên ngôn ngữ này sẽ được trình bày chi tiết trong chương 2
1.2.5 Tìm kiếm công thức toán với hệ thống MathWebSearch
Hệ thống MathWebSearch (MWS) là một công cụ tìm kiếm các công thức toán dựa trên nội dung thông tin thu thập Nó sử dụng một kĩ thuật lập chỉ mục của MathML, đó là term indexing [23] Truy vấn dựa trên nền tảng truy vấn ngữ nghĩa (well-defined semantics) Các công thức toán được tham chiếu bởi các URI sẽ
Trang 35chuyển đổi thành Content MathML (MathML nội dung) và được lập chỉ mục bởi MWS
Hình 1.8 Cấu trúc của hệ thống ( MWS – 0.4)
MathWebSearch là một hệ thống hoàn chỉnh có khả năng thu thập dữ liệu, lập chỉ mục và tìm kiếm dữ liệu toán học Các thành phần được thực hiện bằng cách
sử dụng POSIX theo C/C++ và một số thư viện khác bên ngoài Cấu trúc chính của
hệ thống trong Hình 1.8 như sau:
Hệ thống thu thập thông tin lập chỉ mục các trang Web bằng MathML và đưa
ra MWS Harvests, dựa trên nội dung cho phép là các kí hiệu toán học nó tìm thấy MWS Harvests được đưa vào lõi và chúng phân tích, sau đó cập nhật hai chỉ số: một cây thay thế cho các cấu trúc toán học và một cơ sở dữ liệu B-Tree cho các thông tin bổ sung (như URI + Xpaths)
Giao diện RESTful chấp nhận các yêu cầu HTTP Post với dữ liệu truy vấn MWS, chuyển tiếp nó đến lõi để xử lý và đóng gói các MWS Answer Set nhận được
từ lõi, đưa về dạng HTTP Response và trả về cho người dùng Các thông tin thực hiện HTTP được đưa vào thư viện MicroHTTPd
Hệ thống lõi (mwsd) với việc xử lý dữ liệu toán học và xây dựng các chỉ số
Nó chấp nhận các định dạng đầu vào MWS XML (MWS Harvests và MWS Query)
và tạo ra định dạng đầu ra MWS XML (MWS Answer Set) Có hai trường hợp xử lý chính, đó là:
Trang 36- Các trình thu thập thông tin sẽ gửi một MWS Harvest đến MathWebSearch daemon, sau đó phân tích cú pháp XML và một thông tin được tạo ra bên trong Nó được sử dụng để cập nhật Indexing Tree (Cây chỉ mục) thay đổi và do đó cũng làm thay đổi cơ sở dữ liệu
- Một người dùng gửi một MWS Query đến MathWebSearch daemon XML
sẽ phân tích cú pháp và một truy vấn nội bộ được tạo ra Sau đó sẽ được chuyển đến Indexing Tree, truy vấn với các thuật ngữ tìm kiếm và trả về kết quả Kết quả này sẽ được chuyển sang dạng MWS Answer Set và gửi trở lại cho người sử dụng
1.3 Hướng tiếp cận của luận án
Nội dung mục 1.2 đã trình bày thực tế không thống nhất giữa các hệ thống soạn thảo, biểu diễn và lưu trữ công thức toán trong văn bản Thực tế này dẫn đến khó khăn cho việc áp dụng mô hình lưu trữ và tìm kiếm văn bản thuần như đã trình bày trong mục 1.1 vào bài toán lưu trữ và tìm kiếm văn bản chứa công thức toán
Để giải quyết những khó khăn này, có thể xem xét các hướng tiếp cận như sau:
- Giải pháp 1: Xây dựng hệ thống riêng cho bài toán lưu trữ và tìm kiếm văn bản chứa công thức toán
- Giải pháp 2: Cải tiến mô hình đã có bằng cách bổ sung các hệ thống đánh chỉ mục, tìm kiếm và xếp hạng văn bản theo các dạng lưu trữ công thức toán khác nhau
- Giải pháp 3: Cải tiến mô hình đã có bằng cách đề xuất một chuẩn chung để biểu diễn và lưu trữ công thức toán trong văn bản và áp dụng mô hình truyền thống đối với dạng biểu diễn chung này
Trang 37- Không tận dụng, kế thừa được những ưu điểm, những tinh hoa đã được ghi nhận trong mô hình lưu trữ và tìm kiếm tài liệu thuần văn bản kiểu truyền thống Điều này khiến giải pháp này dễ rơi vào trường hợp phải làm lại những gì đã có sẵn
và đang được sử dụng hiệu quả
- Khó thu hút được sự quan tâm của cộng đồng nghiên cứu và sự sẵn sàng sử dụng của người dùng
- Tốn thời gian và công sức do phải xây dựng từ đầu
Từ những hạn chế như đã trình bày ở trên, có thể thấy rằng giải pháp này có tính khả thi không cao, không khoa học, hiệu quả thấp Do đó, luận án không đi theo hướng tiếp cận này
Trang 38- Ở bước đánh chỉ mục văn bản, mỗi dạng văn bản mà công thức toán được biểu diễn dưới dạng khác nhau sẽ được đánh chỉ mục theo một hệ thống khác nhau Kết quả là có bao nhiêu dạng biểu diễn công thức toán thì sẽ có tương ứng bấy nhiêu hệ thống chỉ mục
- Ở phần hệ thống tìm kiếm, ở bước xử lí câu truy vấn, sẽ phải bổ sung chức năng sinh các câu truy vấn tương ứng với các hệ thống chỉ mục khác nhau trong bước lưu trữ
- Ở bước tìm kiếm, hệ thống sẽ tổ chức tìm kiếm trên các hệ thống lưu trữ tương ứng với các chỉ mục khác nhau
- Ở bước xếp hạng, hệ thống sẽ có bộ xếp hạng theo từng hệ thống chỉ mục, sau đó đồng bộ về một hệ thống xếp hạng chung bằng cách đồng bộ các bảng xếp hạng riêng này với nhau
- Dễ dàng nhận thấy giải pháp này tận dụng được những tinh hoa đã có được trong các bước xử lí cho bài toán lưu trữ và tìm kiếm tài liệu chứa văn bản thuần Tuy nhiên, giải pháp này vẫn còn một số hạn chế:
- Phải xây dựng nhiều hệ thống đánh chỉ mục khác nhau Mỗi khi có thêm một văn bản chứa công thức toán được lưu trữ dưới dạng mới (chưa tồn tại trong các hệ thống đánh chỉ mục đã xây dựng), hệ thống buộc phải xây dựng một hệ thống đánh chỉ mục mới
- Trong quá trình tìm kiếm phải thực hiện việc sinh nhiều câu truy vấn cho cùng một từ khóa, sau đó truy vấn trên nhiều hệ thống dữ liệu khác nhau Việc này
có thể làm giảm đáng kể tốc độ xử lí tìm kiếm và ảnh hướng đến độ tin cậy của kết quả tìm kiếm
- Việc xếp hạng kết quả là không dễ dàng khi phải đồng bộ kết quả tìm được
từ nhiều hệ thống con khác nhau
Trang 39- Với những nhược điểm này, giải pháp 2 chưa phải là giải pháp tối ưu để lựa chọn, luận án cần nghiên cứu đề xuất một giải pháp khác để khắc phục được các nhược điểm này
Giải pháp 3
Ý tưởng của giải pháp này là đưa các công cụ soạn thảo, biểu diễn và lưu trữ văn bản chứa công thức toán khác nhau hiện nay về một dạng thống nhất trước khi đánh chỉ mục, tìm kiếm và xếp hạng Do đó, để lưu trữ và tìm kiếm các văn bản có chứa công thức toán được biểu diễn và lưu trữ khác nhau này, hệ thống phải bổ sung một bước đệm như trình bày ở Hình 1.9:
- Ở phần hệ thống quản lí và lưu trữ văn bản, trước bước đánh chỉ mục văn bản, cần bổ sung một bước chuyển đổi các văn bản được lưu trữ dưới các dạng khác nhau về một dạng lưu trữ chung, thống nhất Sau đó, tất cả các khâu quan trọng còn lại như đánh chỉ mục, tìm kiếm, và xếp hạng kết quả chỉ phải thực hiện trên dạng lưu trữ và biễu diễn thống nhất này
Có thể nhận thấy rằng, giải pháp 3 có đầy đủ ưu điểm của giải pháp 2, đồng thời khắc phục được các nhược điểm của giải pháp 2 Nhìn kiến trúc hệ thống trong Hình 1.10, chúng ta cũng dễ dàng nhận thấy giải pháp này cho kiến trúc hệ thống tinh gọn hơn và ít phải thay đổi hơn so với giải pháp 2 Những ưu điểm này là lí do luận án chọn hướng tiếp cận theo giải pháp 3 này
Trang 40Hình 1.10 Kiến trúc hệ thống theo giải pháp 3 1.4 Kết luận Chương 1
Chương này đã trình bày những kết quả nghiên cứu tổng quan về quá trình soạn thảo và tìm kiếm tài liệu chứa công thức toán Việc soạn thảo và biểu diễn công thức toán trên các công cụ soạn thảo và đặc biệt trên Web hiện đang là một vấn đề được quan tâm
Qua kết quả nghiên cứu cho thấy các công cụ tìm kiếm tài liệu dựa trên công thức toán là cần thiết trong công tác quản lý, khai thác các tài liệu khoa học Tuy nhiên, hiện nay các công thức toán đang được biểu diễn và lưu trữ theo quá nhiều dạng khác nhau, phụ thuộc vào các công cụ khác nhau, các nhà phát triển khác nhau
Vấn đề đặt ra là làm thế nào để chuyển các dạng biểu diễn và lưu trữ khác nhau này về một chuẩn biểu diễn và lưu trữ công thức chung để giúp cho người sử dụng dễ dàng xem và sao chép công thức toán trên các công cụ soạn thảo khác nhau cũng như triển khai chức năng tìm kiếm