Luận án 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 - Cao Xuân Tuấn

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 . 38iv

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ả . 81v

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

pdf106 trang | Chia sẻ: trungkhoi17 | Lượt xem: 306 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận án 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 - Cao Xuân Tuấn, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ô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. 28 - 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. 29 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. 30 Để giải quyết vấn đề đặt ra ở trên, luận án 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 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. 31 CHƯƠNG 2. BIỂU DIỄN VÀ LƯU TRỮ CÔNG THỨC TOÁN Nội dung chương này sẽ tập trung trình bà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, dựa trên ngôn ngữ đánh dấu MathML. Trên cơ sở lưu trữ chung đó, luận án đề xuất giải pháp để soạn thảo văn bản có chứa các công thức toán và dễ dàng sao chép, chuyển đổi công thức toán được lưu trữ dưới các tiêu chuẩn biểu diễn khác nhau. 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 Hiện nay, có rất nhiều phần mềm cho phép soạn thảo công thức toán trên văn bản như Microsoft Word, OpenOffice.org Math, Acrobat, WebEditor, Mặc dù kết quả hiển thị các công thức toán là tương tự nhau, nhưng mỗi phần mềm soạn thảo văn bản có một chuẩn lưu trữ nội dung riêng, đặc biệt là lưu trữ nội dung các công thức toán như biểu diễn ở Hình 2.1: 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 Theo mô hình biểu diễn ở Hình 2.1 thì đối với mỗi công cụ soạn thảo khác nhau sẽ có chuẩn lưu trữ công thức toán khác nhau, cụ thể như với Microsoft Word lưu công thức toán theo chuẩn của Microsoft Word, OpenOffice Writer lưu công thức toán theo chuẩn của OpenOffice Math, LaTex lưu công thức toán theo chuẩn của LaTex,... Thực tế này dẫn đến một số khó khăn: - Không thể sao chép công thức toán từ một công cụ soạn thảo này sang các công cụ soạn thảo khác, vì các chuẩn lưu trữ không tương thích với nhau. 32 - Khó khăn khi tìm kiếm tài liệu dựa trên công thức toán được soạn thảo và lưu trữ trên các công cụ soạn thảo khác nhau này. Từ những khó khăn thực tế này, luận án đề xuất xây dựng một môi trường soạn thảo, biểu diễn và lưu trữ thống nhất, cho phép sao chép, tìm kiếm, chuyển đổi giữa các chuẩn lưu trữ khác nhau một cách dễ dàng. Hình 2.2 mô tả mô hình đề xuất của luận án. Theo đó, một hệ thống quản lí và tìm kiếm tài liệu chứa công thức toán có hai mức: Thứ nhất là mức quản lí các công thức toán trong phạm vi một văn bản (mức thấp). Thứ hai là mức tìm kiếm các tài liệu dựa trên công thức toán (mức cao). Mức cao sẽ được trình bày chi tiết trong chương 3 của luận án. Nội dung chương này tập trung trình bày về mức thấp của mô hình đề xuất. 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 Ở mức thấp, luận án đề xuất một mô hình biểu diễn và lưu trữ công thức toán theo một chuẩn chung, là ngôn ngữ MathML. Khi đó, các công thức toán sẽ 33 có một hệ thống soạn thảo đồng bộ chung, một hệ thống lưu trữ chung và một hệ thống hiển thị chung. Khi đó, có hai vấn đề nảy sinh: - Làm sao để chuyển đổi các công thức toán từ môi trường soạn thảo truyền thống ban đầu sang môi trường soạn thảo đồng bộ chung? - Làm sao chuyển đổi các công thức toán từ môi trường lưu trữ truyền thống ban đầu sang môi trường lưu trữ đồng bộ chung? Để giải quyết hai vấn đề này, luận án đề xuất xây dựng một bộ chuyển đổi giữa cách biểu diễn các công thức toán từ dạng ban đầu sang dạng đồng bộ chung, và ngược lại, chuyển đổi cách biểu diễn các công thức toán từ dạng đồng bộ chung sang các dạng biểu diễn đang tồn tại trong thực tế hiện nay. Đồng thời, trên nền tảng là hệ thống biểu diễn và lưu trữ chung, thống nhất này, luận án xây dựng mô đun cho phép sao chép công thức toán giữa các tài liệu, và mô đun cho phép tìm kiếm công thức toán trong phạm vi một tài liệu. Như vậy, mô hình đề xuất của luận án (như minh họa trong Hình 2.2), ở mức thấp, bao gồm năm mô đun chức năng: - Một là mô đun đồng bộ chung để biểu diễn và lưu trữ công thức toán, dựa trên MathML. - Hai là mô đun soạn thảo công thức toán đồng bộ chung dựa trên Amaya. - Ba là mô đun sao chép công thức toán trên Amaya và MathML. - Bốn là bộ chuyển đổi giữa các cách biểu diễn công thức toán truyền thống đang tồn tại sang dạng biểu diễn đồng bộ chung, và ngược lại. - Năm là mô đun tìm kiếm công thức toán trong nội dung một tài liệu, dựa trên bộ tìm kiếm của MathML. Kiến trúc chi tiết và phương thức hoạt động của mỗi mô đun này sẽ được trình bày trong các mục tiếp theo. 34 2.2. Biểu diễn và lưu trữ công thức toán với MathML Đối với tiêu chuẩn lưu trữ, luận án đề xuất sử dụng MathML vì đây là tiêu chuẩn được hỗ trợ bởi đa số các công cụ soạn thảo văn bản hiện nay và đặc biệt là được hỗ trợ bởi các trình duyệt Web. Để phát triển thử nghiệm công cụ soạn thảo văn bản cho phép soạn và lưu trữ công thức dưới dạng MathML, luận án sử dụng mã nguồn mở Amaya và tích hợp vào đó các công cụ phát triển mới để tìm kiếm và sao chép công thức toán qua lại với các phần mềm soạn thảo văn bản khác. MathML được hỗ trợ bởi các phần mềm văn phòng như Microsoft Word, OpenOffice.org cùng với các phần mềm tính toán kỹ thuật như Maple, Mathematica, và MathCad trên nền nhiều hệ điều hành khác nhau như Linux, Windows, Ưu điểm: - Không chỉ hiển thị tốt mà còn chứa ý nghĩa nội dung công thức toán. - Dễ dàng sử dụng trên các trình duyệt Web. - Cho phép hiển thị ngay công thức một cách đẹp mắt. - Truyền tải ý nghĩa toán học cho các phần mềm tính toán. Nhược điểm: - Cấu trúc không ngắn gọn như TeX. - Cần có công cụ soạn thảo thân thiện với người dùng. - Hiển thị trên trình duyệt: - Các trình duyệt thân thiện như Mozilla Firefox, Amaya thì chúng đều cho phép hiển thị trực tiếp MathML. 35 - Các trình duyệt khác cần phần mềm hỗ trợ như: các phiên bản trước Internet Explore cài thêm MathPlayer, từ Internet Explore 6 cài JavaScript MathJax. Tất cả các ký hiệu toán học muốn thể hiện phải được đặt trong các cặp tab như sau: ???? Các thẻ ký hiệu toán học ???? Một số thẻ đặc trưng của MathML Bảng 2.1 Một số thẻ đặc trưng của MathML Số TT Thẻ Giải thích 1 Thẻ hằng số 2 Thẻ ký tự 3 Thẻ tạo số mũ trên 4 Thẻ tạo số mũ dưới 5 Thẻ tạo căn số bậc 2 6 n Thẻ căn bậc n 7 Thẻ số chia 8 &Plus; Thẻ số cộng 9 &Minus; Thẻ phép trừ 10 ⁢ Thẻ phép nhân 36 Số TT Thẻ Giải thích 11 TeXt Thẻ nội dung văn bản 12 Thẻ biểu thức 13 Thẻ ma trận 14 Thẻ hàng trong một bảng hoặc ma trận 15 Thẻ khoảng trắng 16 Thẻ khai báo ứng dụng hàm 17 Thẻ hàm phép toán bằng (=) 18 Thẻ hàm phép toán chia 19 Thẻ hàm phép toán trừ 20 Thẻ hàm phép toán cộng 21 Thẻ hàm phép toán nhân 22 Thẻ hàm phép toán căn bậc 2 23 <root/ n Thẻ dùng căn bậc cao thì viết theo cú pháp và n là số căn bậc. 24 Thẻ hàm lũy thừa 25 77 Thẻ định nghĩa hằng ... ... ... Việc soạn thảo một tài liệu bằng ngôn ngữ đánh dấu MathML bằng cách dùng một công cụ soạn thảo hỗ trợ chuẩn MathML cần phải tuân thủ theo các tab 37 được quy định sẵn. MathML cung cấp 2 cách thức trình bày ngôn ngữ đánh dấu toán học. Một là nhằm nhấn mạnh cách trình bày của công thức và hai là nhấn mạnh nội dung của toán học. Với công thức tính nghiệm của phương trình bậc 2: 2 4 2 b b ac x a     Sơ đồ biểu diễn công thức: Hình 2.3. Minh họa cách trình bày công thức Ví dụ nhấn mạnh cách trình bày: mrow> x = - b x = acbb 42  2 a - b  2 4b ac b - 4 a c a acbb x 2 42   38 ± b 2 - 4 ⁢ a ⁢ c 2 ⁢ a 2.3. Soạn thảo và hiển thị công thức toán với Amaya Để soạn thảo văn bản, luận án đề xuất sử dụng phần mềm mã nguồn mở Amaya [38]. Amaya là phần mềm theo kiểu WYSIWYG, người dùng có thể vừa soạn thảo và vừa có thể xem hiển thị kết quả trên trình duyệt. Các bộ công cụ của Amaya ở chế độ bảng lựa chọn tương tự như Microsoft Word, OpenOffice.Org Math,... [14]. 39 Hình 2.4. Cấu trúc thành phần của mã nguồn mở Amaya - Abstract tree (cây trừu tượng): Có vai trò cung cấp thêm thông tin các yếu tố vào trong cấu trúc ví dụ như định dạng tiêu đề, đoạn văn, Thư viện Thot sử dụng một cấu trúc trung gian là Box tree để hiển thị nội dung trên màn hình. - Cấu trúc lô-gíc của tài liệu bị hạn chế theo các quy tắc nhất định được quy định trong DTDs. Những quy định này xác định làm thế nào các yếu tố có sẵn trong cây trừu tượng có thể lắp ráp để tạo một cấu trúc hợp lệ và sự kết hợp giữa thuộc tính và yếu tố. - Amaya sử dụng một số lược đồ trình bày để xác định cách bố trí khác nhau cho các tài liệu HTML. Các lược đồ này tự động mở rộng với các quy tắc tương ứng với quy tắc CSS khi các yêu cầu đặc biệt liên quan. - Thư viện Thot cung cấp cho các nhà phát triển những hàm trong thư viện API, có cơ chế cho phép thay đổi và mở rộng các chức năng bằng việc can thiệp vào trong mã nguồn mở. - Với chức năng của Parsers (phân tích cú pháp): Phân tích cú pháp dữ liệu vào và xây dựng cấu trúc lô-gíc trong cây trừu tượng của tài liệu cho HTML, XML và CSS. 40 - Amaya thừa kế nhiều chức năng từ thư viện Thot. Ví dụ giao diện người dùng, cơ chế chuyển đổi ngôn ngữ dựa trên DTDs. - Libwww HTTP: Amaya truy cập từ xa các máy chủ Web thông qua Libwww, thực hiện bởi HTTP/1.1. 2.4. Sao chép công thức toán trong Amaya Amaya là một trình soạn thảo đồng thời là trình duyệt Web [38]. Vì vậy, mọi dữ liệu được tạo ra phải tuân thủ theo định dạng của một trang XHTML. Amaya có khả năng tự sinh thẻ khi sao chép dữ liệu dạng chuỗi từ ứng dụng khác vào trình duyệt nhưng không thể tự sinh ra các thẻ của SVG (Scalable Vector Graphics) khi sao chép dữ liệu hình ảnh từ ứng dụng khác sang. Vì vậy, luận án đề xuất xây dựng một chương trình thường trú và tích hợp vào Amaya để cho phép sao chép công thức được soạn thảo từ một ứng dụng khác sang trình duyệt Amaya. Cách hoạt động của chương trình này như sau: Hình 2.5. Sơ đồ quá trình chuyển đổi dữ liệu trong ClipBoard Ý tưởng đề xuất là tiến hành sao chép công thức dưới dạng Text vào ClipBoard rồi sau đó xử lý trên ClipBoard để chuyển sang ngôn ngữ đánh dấu MathML và cuối cùng chúng ta có thể dán vào Amaya. Về sao chép công thức, chương trình thường trú Math Clipboard Converter sẽ nhận dạng bộ mã hóa đang dùng và tự động chuyển về chuẩn MathML. Ví dụ minh họa dưới đây cho thấy chương trình đang thông báo đã nhận dạng được chuỗi © Văn bản Sao chép Xử lý Clipboard Kiểm tra định dạng Văn bản Clipboard Chuyển sang MathML Xử lý Dán Chương trình thường trú 41 dữ liệu của công thức và thực hiện chuyển đổi dữ liệu sang MathML. Ở Hình 2.6, khung bên trái là ngôn ngữ đánh dấu công thức toán trong văn bản nguồn và khung bên phải là đoạn mã phát sinh tự động khi thực hiện lệnh dán từ Clipboard và hiển thị công thức tương ứng với mã lệnh. Ví dụ, chuyển đổi từ ngôn ngữ đánh dấu trong OpenOffice.Org Math sang mã định dạng MathML trong Amaya. Hình 2.6. Chương trình thường trú Math Clipboard Converted Trước hết, chúng ta so sánh định dạng của hai công cụ soạn thảo này. Ví dụ, cách biểu diễn dữ liệu căn ở hai ngôn ngữ đánh dấu: Bảng 2.2. So sánh cách biểu diễn hai ngôn ngữ đánh dấu OpenOffice.Org Writer Amaya 3x  sqrt{x+3} <math xmlns=" h/MathML"> x + 3 42 1003 x sqrt{3x-100} <math xmlns=" h/MathML"> 3 x − 100 Đối với phần mềm soạn thảo OpenOffice.Org Writer, công thức được xem như là một đối tượng trong trình soạn thảo. Khác với phần mềm soạn thảo Microsoft Word, OpenOffice.Org Writer có thể cho xem mã của công thức khi soạn thảo. Vì lý do này, chúng ta có thể sao chép công thức dưới dạng text vào ClipBoard rồi sau đó xử lý trên ClipBoard để chuyển sang ngôn ngữ đánh dấu MathML và dán vào Amaya. Để thực hiện việc sao chép công thức từ trình soạn thảo OpenOffice.Org Writer sang công cụ được phát triển dựa trên Amaya, việc thực hiện như sau: - Mục đích: Thuật toán này chỉ giải quyết việc chuyển đổi dữ liệu Text từ OpenOffice.Org sang MathML theo định dạng của Amaya cho trường hợp là căn bậc hai. - Input: Công thức căn bậc hai trong OpenOffice.Org. - Output: Căn bậc hai theo định dạng MathML theo cấu trúc của Amaya. - Thuật toán chuyển đổi dữ liệu Text từ OpenOffice.Org sang MathML theo định dạng của Amaya cho trường hợp là căn bậc hai: 43 Hình 2.7. Thuật toán sao chép công thức qua ClipBoard SZText= Clipboard.AsText Nlen=stlen(SZText); j=1; i=1; mathtext[j]= k=post(‘sqrt’,SZText) for d= k to 4 do delete(SZText[d]); Mathtext[j]=’ ’ i=i+1 MathText[j]=’’+SZTe xt[i]+’’ i=i+1 If SZText[i] in [0..9] Tam=’’; While SZText[i] [0..9] [ i=i+1 tam=tam+SZText[i] ] MathText[j]=’’+tam+’’ i=i+1, j=j+1 If SZText[i] =’.’ Or MathText[j]=’’+’ ⁢’+’’ i=i+1 If SZText[i] =’-’ MathText[j]=’’+’ −’+’’ i=i+1 Mathtext[j]=’ ’ MathText[j]=’ for i=1 to j do Clipboard.AsText = MathText[i] If SZText[i] =’+’ MathText[j]=’’+’+’’< /mo>’ i=i+1 Bắt đầu While i ‘}’ If SZText[i] in [a..z] Kết thúc T F F F F T T T T F T 44 2.5. Chuyển đổi công thức MathML với các định dạng khác Việc chuyển đổi định dạng giữa MathML và các định dạng khác cho công thức toán không gặp nhiều khó khăn khi triển khai trong thực tế. Vấn đề là tìm ra sự tương đương giữa MathML và chuẩn biểu diễn tương ứng trong TeX, LATEX, Microsoft Word,... để tạo ánh xạ khi chuyển đổi [35]. Mô hình chuyển đổi từ MathML sang TeX được biểu diễn ở Hình 2.8. Hình 2.8. Mô hình chuyển đổi công thức từ MathML sang TeX Một đối tượng trong MathML được biểu diễn theo một cấu trúc được qui định trong mô hình đối tượng tài liệu (DOM) qui định bởi W3C [19]. Ví dụ, một đối tượng được viết trong MathML như sau: ∑ x 3 i Đối tượng trong MathML Đối tượng trong TeX Tập tin ánh xạ MathML  TeX 45 Đối tượng này sẽ được biểu diễn dưới dạng cây như sau: Hình 2.9. Biểu diễn dạng cây của công thức MathML Một đối tượng trong TeX cũng được biểu diễn dưới dạng cây nhưng khác với cây trong MathML về mặt lô-gíc. Mỗi một mức của cây này tương ứng với một nhóm trong TeX. Ví dụ: một biểu thức trong TeX $\sqrt {1-\alpha} + x^{3+a}$ sẽ được biểu diễn dưới dạng cây như sau: Hình 2.10. Biểu diễn dưới dạng cây của đối tượng TeX Để thực hiện việc chuyển đổi giữa MathML và TeX, ta cần có một tập tin lưu trữ thông tin ánh xạ mỗi phần tử của MathML sang một phần tử tương ứng trong TeX. Tập tin ánh xạ là một thành phần có vai trò rất quan trọng trong quá trình chuyển đổi. Nó mô tả sự tương ứng một – một giữa mỗi phần tử của MathML và TeX. Tập tin ánh xạ chứa một XML-form và bao gồm cả mẫu để biểu diễn cả MathML và TeX. \sqrt + x  1 - \alpha 3 + a math mo &sum msupub mi mn mi x 3 i 46 Cú pháp chung để mô tả sự tương ứng của các đối tượng trong MathML và TeX được viết như sau: . . . [MathML expression] . . . - Ví dụ: dành cho phân số 2.6. Kết luận Chương 2 Chương này đã đề xuất mô hình biểu diễn và lưu trữ đồng bộ các công thức toán gồm hai mức: Mức thấp cho việc quản lí công thức toán trong phạm vi một tài liệu. Trong mức thấp này, MathML được đề xuất sử dụng như là tiêu chuẩn trung tâm phục vụ việc lưu trữ và xử lý các công thức toán. Môi trường soạn thảo được đề xuất xây dựng dựa trên mã nguồn mở Amaya, có hỗ trợ soạn thảo công thức toán theo chuẩn MathML. Mô hình này hỗ trợ việc chuyển đổi, sao chép công thức toán 47 giữa các dạng khác nhau vào một môi trường soạn thảo và lưu trữ thống nhất sử dụng tiêu chuẩn MathML. Kết quả của chương này đã được công bố trong các công trình số [1], số [2] và số [5]. Mức cao của mô hình đề xuất cho phép tìm kiếm tài liệu dựa trên công thức toán, nội dung chi tiết của mức này sẽ được trình bày trong chương tiếp theo. 48 CHƯƠNG 3. TÌM KIẾM TÀI LIỆU DỰA TRÊN CÔNG THỨC TOÁN Trên cơ sở mô hình biểu diễn thống nhất ở mức thấp trong mô hình hai mức như đã trình bày ở chương 2, nội dung chương này sẽ trình bày đề xuất mô hình tìm kiếm các tài liệu, đặc biệt là các tài liệu trên môi trường Web dựa trên công thức toán. Đề xuất ở chương này gồm 2 mảng là tìm kiếm trên các tài liệu, trang Web thông thường và tìm kiếm dựa trên Semantic Web. 3.1. Bài toán tìm kiếm tài liệu Mục đích của tìm kiếm tài liệu/thông tin là hiển thị cho người dùng một tập các thông tin thỏa mãn nhu cầu của họ. Chúng ta định nghĩa thông tin cần thiết là “câu truy vấn” (query) và các thông tin được chọn là “tài liệu” (documents) thỏa mãn câu truy vấn. Hầu hết các cách tiếp cận trong tìm kiếm dựa trên 2 thành phần chính: một là các kỹ thuật để biểu diễn thông tin (câu truy vấn, tài liệu) và hai là phương pháp so sánh các cách biểu diễn này. Mục đích là để tự động qui trình kiểm tra các tài liệu bằng cách tính toán độ tương đồng giữa các câu truy vấn và tài liệu. Qui trình tự động này thành công khi nó trả về các kết quả giống với các kết quả được con người tạo ra khi so sánh câu truy vấn với các tài liệu. Có một vấn đề thường xảy ra đối với hệ thống tìm kiếm là những từ mà người dùng đưa ra trong câu truy vấn thường khác xa những từ trong tập tài liệu chứa thông tin mà họ tìm kiếm. Để giải quyết vấn đề này hệ thống đã tạo ra các hàm biểu diễn xử lý các câu truy vấn và các tài liệu một cách khác nhau để đạt đến một độ tương thích nào đó. Gọi miền xác định của hàm biểu diễn câu truy vấn q là Q, tập hợp các câu truy vấn có thể có; và miền giá trị của nó là R, không gian thống nhất biểu diễn thông tin. Gọi miền xác định của hàm biểu diễn tài liệu d là D, tập hợp các tài liệu; và miền giá trị của nó là R. Miền xác định của hàm so sánh c là R × R và miền giá trị của nó là [0,1], tập các số thực từ 0 đến 1. Trong một hệ thống tìm kiếm lý tưởng: 49 Hình 3.1. Mô hình hệ thống tìm kiếm thông tin c(q(query), d(doc)) = j(query, doc), queryQ, doc D với j: Q × D[0,1] biểu diễn việc xử lý của người dùng giữa các mối quan hệ của thông tin trên câu truy vấn và thông tin trong tài liệu. Một cách biểu diễn thông tin khác mà hiện nay đang được lựa chọn đó là dựa trên Ontology. Giống như các Web thông thường, SemanticWeb toán học không những cho phép tác giả của các công trình toán học xuất bản tài liệu trực tuyến của họ mà còn tích lũy thành những cơ sở dữ liệu kiến thức toán học khổng lồ, phi tập trung và năng động. Tác giả các công trình toán có thể chú thích ngữ nghĩa công việc của họ trong một hình thức hợp lý đặc biệt, cụ thể là lô-gíc mô tả (Description Logics), để cho phép các máy tính có thể hiểu những kiến thức thực tế trong đó. Căn cứ vào các chú thích, các máy chủ phân tích nội dung về kiến thức toán học và cung cấp dịch vụ trên các Semantic Web toán học, giúp cho các nhà toán học truy cập và sử dụng hiệu quả hơn đến các kho dữ liệu lớn của toán học. Hình 3.1 Chú thích hình Không gian tài liệu D Hàm biểu diễn tài liệu d Hàm biểu diễn truy vấn q Truy vấn Tài liệu Biểu diễn 1 Biểu diễn 2 Không gian biểu diễn R Hàm so sánh c Xử lý của con người [0,1] [0,1] 50 3.2. Tìm kiếm tài liệu dựa trên công thức toán 3.2.1. Mô hình đề xuất Nội dung phần này sẽ trình bày giải pháp tìm kiếm những tài liệu hoặc trang Web được tạo ra từ mô hình biểu diễn và lưu trữ đồng bộ công thức toán trong văn bản như đã được đề xuất trong chương trước. Mô hình tìm kiếm này có hai quá trình chính đó là tạo chỉ mục cho các tài liệu và tìm kiếm khi có yêu cầu truy vấn của người dùng. Mô hình tổng quát của quá trình tạo chỉ mục và tìm kiếm như Hình 3.2. 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 Tuần tự các bước thực hiện trong mô hình này diễn ra theo hai giai đoạn như sau: - Giai đoạn 1: Thu thập văn bản và lập chỉ mục văn bản. Quá trình này thu thập các văn bản chứa công thức toán từ nhiều nguồn khác nhau từ Internet, từ nhiều dạng văn bản khác nhau như PDF, XHTML... Sau đó đánh chỉ mục các văn bản theo đặc trưng của văn bản và lưu vào CSDL (cơ sở dữ liệu) chỉ mục văn bản. Trước khi trích các đặc trưng của văn bản, các nội dung chứa công thức toán trong Các nguồn văn bản Lập chỉ mục văn bản Bộ chuyển đổi công thức toán học Tìm kiếm và hiển thị kết quả Mô đun tìm kiếm CSDL Chỉ mục văn bản  user 51 văn bản được tách ra và chuyển đổi về dạng thống nhất nhờ bộ chuyển đổi công thức toán. Bộ này hoạt động dựa trên mô hình đồng bộ biểu diễn và lưu trữ công thức toán đã được đề xuất trong chương 2. Nội dung chi tiết quá trình đánh chỉ mục các văn bản sẽ được trình bày trong mục 3.2.1. - Giai đoạn 2: Tìm kiếm và hiển thị kết quả. Giai đoạn này cho phép người dùng nhập từ khóa hoặc công thức toán vào để tìm kiếm. Giao diện nhập công thức toán cũng được áp dụng mô hình biểu diễn đồng bộ công thức toán đã được đề xuất trong chương 2. Hệ thống sau đó sẽ tìm và tính điểm từng văn bản liên quan đến công thức muốn tìm trong CSDL chỉ mục các văn bản. Kết quả sẽ được hiển thị lên giao diện cho người dùng. Như vậy, trong mô hình đề xuất cho chức năng tìm kiếm tài liệu dựa trên công thức toán, có 3 mô-đun: (1) Lập chỉ mục văn bản, (2) chuyển đổi công thức toán, (3) tìm k

Các file đính kèm theo tài liệu này:

  • pdfluan_an_nghien_cuu_phuong_phap_tim_kiem_tai_lieu_dua_tren_co.pdf
Tài liệu liên quan