1. Trang chủ
  2. » Giáo án - Bài giảng

Nghiên cứu phương pháp tìm kiếm tài liệu dựa trên công thức toán

106 388 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 106
Dung lượng 3,62 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Trang 2

BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Trang 3

LỜ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 4

Nghiê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 5

MỤ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 6

2.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 7

4.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 8

DANH 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 9

DANH 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 10

Hì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 11

DANH 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 12

MỞ ĐẦ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 13

trữ, 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 15

liê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 16

thí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 18

phá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 19

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 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 21

cá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 23

1.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 24

chú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 25

Hì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 a2b2 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 26

Hiệ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 27

Hì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 28

Bả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 29

dụ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 30

nroot{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 31

TeX 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 33

Việ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 34

tươ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 35

chuyể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 40

Hì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

Ngày đăng: 08/08/2017, 15:23

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Dang Tuan NGUYEN and Ha Quy-Tinh LUONG (2009), "Document Searching System based on Natural Language Query Processing for Vietnam Open Courseware Library," IJCSI International Journal of Computer Science Issues, vol. Vol. 6, no. No. 2, pp. 7-13 Sách, tạp chí
Tiêu đề: Document Searching System based on Natural Language Query Processing for Vietnam Open Courseware Library
Tác giả: Dang Tuan NGUYEN and Ha Quy-Tinh LUONG
Năm: 2009
[2]. Le T.N., Vo T.H., , Cao X.T., Hoang T.M.L (2010), “Mathis - Hệ thống hỗ trợ tạo chú thích và tìm kiếm tài liệu khoa học,” Tạp chí Khoa học và Công nghệ Đại học Đà Nẵng, pp. 15-20 Sách, tạp chí
Tiêu đề: Mathis - Hệ thống hỗ trợ tạo chú thích và tìm kiếm tài liệu khoa học,” "Tạp chí Khoa học và Công nghệ Đại học Đà Nẵng
Tác giả: Le T.N., Vo T.H., , Cao X.T., Hoang T.M.L
Năm: 2010
[6]. Chengxiang Zhai and John Lafferty, A study of smoothing methods for language models applied to Ad Hoc information retrieval, Proc. 24th Annu. Int. ACM SIGIR Conf. Res. Dev. Inf. Retr. - SIGIR ’01, pp. 334–342, 2001 Sách, tạp chí
Tiêu đề: Proc. 24th Annu. Int. ACM SIGIR Conf. Res. Dev. Inf. Retr. - SIGIR ’01
[8]. David Carlisle, Patrick Ion, Robert Miner (2010), "Mathematical Markup Language (MathML) Version 2.0," in Second Edition Sách, tạp chí
Tiêu đề: Mathematical Markup Language (MathML) Version 2.0
Tác giả: David Carlisle, Patrick Ion, Robert Miner
Năm: 2010
[11]. H. T. Thanh (2000), "Micro-typographic extensions to the TEX typesetting system," in TUGBoat, Volume 21, No. 4 Sách, tạp chí
Tiêu đề: Micro-typographic extensions to the TEX typesetting system
Tác giả: H. T. Thanh
Năm: 2000
[12]. Harmelen, Grigoris Antoniou and Frank Van (2004), "A Semantic Web Primer," in MIT Press Sách, tạp chí
Tiêu đề: A Semantic Web Primer
Tác giả: Harmelen, Grigoris Antoniou and Frank Van
Năm: 2004
[13]. Djoerd Hiemstra and Vojkan Mihajlovic, A database approach to information retrieval: The remarkable relationship between language models and region models, 1005.4752, pp. 1–16, 2010 Sách, tạp chí
Tiêu đề: 1005.4752
[14]. Irène Vatton, Vincent Quint, and al (2008), "Amaya User Manual," in NRIA and W3C Published,https://www.w3.org/Amaya/Distribution/manual.pdf Sách, tạp chí
Tiêu đề: Amaya User Manual
Tác giả: Irène Vatton, Vincent Quint, and al
Năm: 2008
[15]. Jon M. Kleinberg, Authoritative sources in a hyperlinked environment, Journal of the ACM, vol. 46, no. 5. pp. 604–632, 1999 Sách, tạp chí
Tiêu đề: Journal of the ACM
[16]. K. Foster (2001), "Mathtype 5 with mathML for the WWW," in IEEE Spectrum 38 (12): 64 Sách, tạp chí
Tiêu đề: Mathtype 5 with mathML for the WWW
Tác giả: K. Foster
Năm: 2001
[17]. K. M. Svore, P. H. Kanani, and N. Khan, How Good is a Span of Terms? Exploiting Proximity to Improve Web Retrieval, Proceedings of the 33rd international ACM SIGIR conference on Research and development in information retrieval, 2010, pp. 154–161 Sách, tạp chí
Tiêu đề: Proceedings of the 33rd international ACM SIGIR conference on Research and development in information retrieval
[19]. L. Wood (1998), "Document Object Model Specification," in W3C Recommnedation Sách, tạp chí
Tiêu đề: Document Object Model Specification
Tác giả: L. Wood
Năm: 1998
[20]. Lawrence Page, Sergey Brin, Rajeev Motwani, and Terry Winograd, 1 Introduction and Motivation 2 A Ranking for Every Page on the Web, World Wide Web Internet Web Inf. Syst., vol. 54, no. 1999–66, pp. 1–17, 1998 Sách, tạp chí
Tiêu đề: World Wide Web Internet Web Inf. Syst
[21]. M. Kohlhase (2006), "OMDoc: An Open Markup Format for Mathematical Documents [version 1.2]," in Springer-Verlag GmbH Sách, tạp chí
Tiêu đề: OMDoc: An Open Markup Format for Mathematical Documents [version 1.2]
Tác giả: M. Kohlhase
Năm: 2006
[22]. Masakazu Suzuki, Fumikazu Tamari, Ryoji Fukuda, Seiichi Uchida, and Toshihiro Kanahori (2003), "Infty- an integrated OCR system for mathematical documents," in In Proceedings of ACM Symposium on Document Engineering 2003, pp 95–104 Sách, tạp chí
Tiêu đề: Infty- an integrated OCR system for mathematical documents
Tác giả: Masakazu Suzuki, Fumikazu Tamari, Ryoji Fukuda, Seiichi Uchida, and Toshihiro Kanahori
Năm: 2003
[23]. Michael Kohlhase, Bogdan A. Matican, and Corneliu (2012), "MathWebSearch 0.5 – Scaling," in Intelligent Computer, Conferences on Intelligent Computer, (Bremen, Germany Sách, tạp chí
Tiêu đề: MathWebSearch 0.5 – Scaling
Tác giả: Michael Kohlhase, Bogdan A. Matican, and Corneliu
Năm: 2012
[27]. R. Miner (2005), "The importance of mathml to mathematics communication", Notices of the AMS, vol. 52(5):532–538 Sách, tạp chí
Tiêu đề: The importance of mathml to mathematics communication
Tác giả: R. Miner
Năm: 2005
[28]. Ralf Schenkel, Andreas Broschart, Seungwon Hwang, Martin Theobald, and Gerhard Weikum, Efficient Text Proximity Search, String Process.Inf. Retr., pp. 287–299, 2007 Sách, tạp chí
Tiêu đề: String Process. "Inf. Retr
[29]. S. E. Robertson, The probability ranking in IR, Journal of Documentation, vol. 33, no. 4. pp. 294–304, 1977 Sách, tạp chí
Tiêu đề: Journal of Documentation
[5]. C. Schenk (2016), MiKTeX Manual, MiKTeX Project Report, http://miktex.org Link

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w