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
106 trang |
Chia sẻ: trungkhoi17 | Lượt xem: 473 | Lượt tải: 1
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), queryQ, 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:
- luan_an_nghien_cuu_phuong_phap_tim_kiem_tai_lieu_dua_tren_co.pdf