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ữ 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ố
Trang 1BỘ THÔNG TIN VÀ TRUYỀN THÔNG
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CAO XUÂN TUẤ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
Chuyên ngành: Hệ thống thông tin
Mã số: 62.48.01.04
TÓM TẮT LUẬN ÁN TIẾN SĨ KỸ THUẬT
Hà Nội, 2017
Trang 2Công trình hoàn thành tại:
Học viện Công nghệ Bưu chính Viễn thông
Người hướng dẫn khoa học:
Có thể tìm hiểu luận án tại:
Thư viện Học viện Công nghệ Bưu chính Viễn thông
Trang 3MỞ ĐẦU
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 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ác 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ô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ểu diễn và lưu trữ Vì thế, để tìm kiếm 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 đó
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ữ 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ữ đó, đề 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
Trang 4(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 bao gồm cả các Web thường và Semantic Web (Web ngữ nghĩa)
Ý nghĩa và đóng góp
Về mặt khoa học, các nghiên cứu này cho phép mở ra các hướng nghiên cứu mới về tiêu chuẩn lưu trữ, xử lý, khai thác các tài liệu toán học trên các hệ thống máy tính và mạng máy tính khác nhau Đặc biệt, nghiên cứu xử lý các vấn đề phát sinh do các hệ điều hành, phần mềm ứng dụng sử dụng các tiêu chuẩn mã hóa và lưu trữ khác nhau Ví dụ, để chuyển đổi một tài liệu nói chung hay một tài liệu toán học nói riêng giữa các phần mềm soạn thảo như Microsoft Word, OpenOffice, LaTeX,
Về mặt thực tiễn, luận án đã đề xuất và thử nghiệm thành công các công cụ cho phép soạn thảo, xử lý, tìm kiếm và chuyển đổi các tài liệu toán học; đã triển khai ở mức thử nghiệm một Semantic Web cho các tài liệu toán học và đã xây dựng một hệ thống tìm kiếm các tài liệu dựa trên công thức toán (VNMathSearch) Những kết quả bước đầu này là
cơ sở quan trọng để có thể tiếp tục thực hiện những nghiên cứu mới trong tương lai
Những đóng góp chính của luận án có thể được tóm tắt trên các điểm chính như sau: (1) Đề xuất được một không gian soạn thảo, lưu trữ thống nhất các công thức toán và dễ dàng chuyển đổi định dạng công thức sang các tiêu chuẩn lưu trữ khác nhau, (2) Đề xuất và thử nghiệm thành công một hệ thống tìm kiếm tài liệu dựa trên công thức toán (văn bản hoặc Web) dựa trên ba thành phần: bộ sưu tập dữ liệu (crawler), lập chỉ mục (index) và tìm kiếm (search), (3) Đề xuất và thử nghiệm thành công một hệ thống tìm kiếm các tài liệu toán học dựa trên Semantic Web
Trang 5Bố cục của luận án
Luận án được trình bày thành 4 chương Trong đó, chương 1 giới thiệu tổng quan về tìm kiếm văn bản và công thức toán Chương 2 trình bày những nghiên cứu về biểu diễn và lưu trữ công thức toán Chương 3 trình bày những giải pháp đề xuất về tìm kiếm tài liệu dựa trên công thức toán và chương 4 là thử nghiệm, đánh giá những kết quả nghiên cứu của chương 2 và chương 3
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: những khái niệm về 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 văn bản chứa công thức toán; định hướng nghiên cứu của luận án
1.1 Bài toán 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
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
Trang 61.2 Tìm kiếm văn bản chứa công thức toán
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, đoạn mã có định dạng đặc biệt,…) 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 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 khó khăn trong việc đánh chỉ mục các tài liệu chứa công thức toán, trong việc tìm kiếm từ khóa chứa công thức toán và trong việc xếp hạng văn bản chứa công thức toán theo từ khóa nhập vào
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 Dưới đây là một số cách biểu diễn:
1) Biểu diễn công thức toán trên Microsoft Word
Ví dụ trong Microsoft Word 2010, để hiển thị công thức √ , 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) }
Hoặc
được biểu diễn bằng đoạn mã sau:
{ EQ \f(x+2007, x+2008) }
2) Biểu diễn công thức toán trên OpenOffice.Org
Để hiển thị công thức √ thì chúng ta có đoạn mã tương ứng sau:
nroot{3}{x}
Trang 7Hoặc để hiển thị công thức thì chúng ta có đoạn mã tương ứng sau:
{x+2007} over {x+2008}
3) Biểu diễn công thức toán trên Website
Để 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ạ:
Để hiển thị công thức √ thì chúng ta phải nhập đoạn mã sau:
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
Trang 8Giả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 này thể hiện ở Hình 1.8
Hình 1.8 Kiến trúc hệ thống theo giải pháp 2
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 Giải pháp này thể hiện ở Hình 1.9
Hình 1.9 Kiến trúc hệ thống theo giải pháp 3
Trang 9Trong 3 giải pháp này, luận án đề xuất lựa chọn giải pháp 3 để triển khai với lý do 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 1 và 2 Nhìn kiến trúc hệ thống trong Hình 1.9, 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
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 công thức toán, tài liệu có 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
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ông thức toán và việc 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 công cụ cho phép soạn thảo công thức toán trên văn bản như Microsoft Word, OpenOffice.org Writer, 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 công cụ 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
Trang 10Hì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
Thực tế này dẫn đến một số khó khăn: (1) 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, (2) Khó khăn khi tìm kiếm công thức toán trong các tài liệu được soạn thảo và lưu trữ khác nhau này
Từ thực tế của những khó khăn 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
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
Trang 11Theo đó, một hệ thống quản lí và tìm kiếm tài liệu dựa trên 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 có chứa 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
Ở 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ẽ 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
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 công cụ soạn thảo văn bản khác
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]
2.4 Sao chép công thức toán trong Amaya
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 công
cụ soạn thảo khác sang trình duyệt Amaya Mô hình hoạt động như sau:
Trang 12Hì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, tiến hành xử lý trên ClipBoard để chuyển sang ngôn ngữ đánh dấu MathML và sau đó chuyển vào Amaya
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]
Việc chuyển đổi từ MathML sang TeX theo mô hình như sau:
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] Đối tượng này sẽ được biểu diễn dưới dạng cây như sau:
Trang 13Hì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
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
Trang 14Chươ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 toán học
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 yêu cầu của người sử dụng khi so sánh câu truy vấn với các tài liệu
Hình 3.1 Mô hình hệ thống tìm kiếm thông tin
Trang 153.2 Tìm kiếm các tài liệu có chứa công thức toán
- 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
Như vậy, trong mô hình đề xuất cho chức năng tìm kiếm tài liệu chứa 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 kiếm và hiển thị kết quả Trong
đó, mô-đun chuyển đổi công thức toán chính là 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
Do đó, mô-đun này xin được không trình bày lại Luận án sẽ trình bày chi tiết các bước trong hai mô-đun còn lại trong các mục tiếp theo
user