Ứng dụng Semantic Web vào tìm kiếm kiến thức tài liệu đào tạo môn toán của khối 12 (Luận văn thạc sĩ)Ứng dụng Semantic Web vào tìm kiếm kiến thức tài liệu đào tạo môn toán của khối 12 (Luận văn thạc sĩ)Ứng dụng Semantic Web vào tìm kiếm kiến thức tài liệu đào tạo môn toán của khối 12 (Luận văn thạc sĩ)Ứng dụng Semantic Web vào tìm kiếm kiến thức tài liệu đào tạo môn toán của khối 12 (Luận văn thạc sĩ)Ứng dụng Semantic Web vào tìm kiếm kiến thức tài liệu đào tạo môn toán của khối 12 (Luận văn thạc sĩ)Ứng dụng Semantic Web vào tìm kiếm kiến thức tài liệu đào tạo môn toán của khối 12 (Luận văn thạc sĩ)Ứng dụng Semantic Web vào tìm kiếm kiến thức tài liệu đào tạo môn toán của khối 12 (Luận văn thạc sĩ)Ứng dụng Semantic Web vào tìm kiếm kiến thức tài liệu đào tạo môn toán của khối 12 (Luận văn thạc sĩ)Ứng dụng Semantic Web vào tìm kiếm kiến thức tài liệu đào tạo môn toán của khối 12 (Luận văn thạc sĩ)
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-
NGUYỄN QUỐC CƯỜNG
ỨNG DỤNG SEMANTIC WEB VÀO TÌM KIẾM KIẾN THỨC TÀI LIỆU ĐÀO TẠO MÔN TOÁN
Trang 2Luận văn được 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: TS Đặng Trường Sơn
Phản biện 1:
Phản biện 2:
Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc
sĩ tại Học viện Công nghệ Bưu chính Viễn thông
Vào lúc: giờ ngày tháng 07 năm 2018
Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
Trang 3MỞ ĐẦU
Trong thời đại bùng nổ công nghệ thông tin(CNTT) hiện nay, ứng dụng CNTT vào công tác giảng dạy đóng vai trò rất quan trọng Việc tìm kiếm dữ liệu về kiến thức phổ thông ngày càng cấp thiết, nhất
là đối với những học sinh cần tra cứu lại những kiến thức cũ đã học, các tài liệu được chia sẻ bởi giáo viên, những sách hay trong thư viện trường, trên các website chia sẻ…
Trong khi đó, các website hiện nay hầu hết theo chuẩn Web 2.0, chưa đáp ứng được nhu cầu tìm kiếm một cách chính xác và nhanh
chóng Việc tìm kiếm thông tin hiện nay không theo chủ đề mà chỉ là tìm theo từ khoá đơn thuần Kết quả trả về sẽ ở dưới dạng những đoạn văn bản chứa từ hoặc cụm từ cần tìm mà không được tổng hợp chính xác làm cho khối lượng thông tin rất lớn, gây mất thời gian cho người
sử dụng, nhất là với đối tượng là học sinh, cần tìm kiếm nhanh các kiến thức gần sát với nhu cầu của mình
Semantic Web là web theo chuẩn Web 3.0 có thể giúp chúng
ta giải quyết những vấn đề trên, Semantic Web không là Web riêng
biệt mà là một sự mở rộng của Web 2.0 hiện tại, nó cho phép máy tính
và người cộng tác với nhau tốt hơn Với Semantic Web, việc tìm kiếm
sẽ dễ dàng nếu mọi thứ được đặt trong ngữ cảnh Ý tưởng chính yếu là toàn bộ ngữ cảnh mà người sử dụng được biết đến Mục tiêu của Semantic Web là phát triển các tiêu chuẩn và kĩ thuật để giúp máy
hiểu nhiều thông tin trên Web, để máy tìm ra các thông tin dồi dào
hơn, tích hợp, duyệt dữ liệu, và tự động hóa các thao tác [6]
Với Semantic Web, chúng ta không những nhận được những thông tin
Trang 4chính xác hơn khi tìm kiếm thông tin, mà máy tính còn có thể tích hợp thông tin từ nhiều nguồn khác nhau, biết so sánh các thông tin với
nhau [6]
Vì vậy, em chọn đề tài “Ứng dụng Semantic Web vào tìm kiếm kiến thức - tài liệu đào tạo môn toán của khối 12” cho luận văn tốt nghiệp
Thạc sĩ của mình
Trang 5CHƯƠNG 1 - LÝ THUYẾT VỀ SEMANTIC WEB
1.1 Semantic Web
1.1.1 Giới thiệu về Semantic Web
Semantic Web còn được gọi là Web 3.0 không là Web riêng biệt mà là một sự mở rộng của Web hiện tại, theo cách thông tin được xác định ý nghĩa tốt hơn, nó cho phép máy tính và người cộng tác với nhau tốt hơn
Semantic Web là một mạng lưới các thông tin được liên kết sao cho chúng có thể được xử lý dễ dàng bởi các máy tính ở phạm vi toàn cầu Nó được xem là cách mô tả thông tin rất hiệu quả trên World Wide Web, và cũng được xem là một cơ sở dữ liệu có khả năng liên kết toàn cầu Semantic Web là một phương pháp cho phép định nghĩa
và liên kết dữ liệu một cách có ngữ nghĩa hơn nhằm phục vụ cho máy tính có thể “hiểu” được
1.1.2 Ví dụ về Semantic Web
1.1.3 So sánh các thế hệ Web
Bảng 1.1: Bảng so sánh các thế hệ Web
- Là web gồm các tài liệu (web of
documents) - Là web gồm dữ liệu (web of data)
- Chỉ biểu diễn “syntax”- biểu diễn
thông tin
- Biểu diễn “semantic”- biểu diễn
nghĩa phía sau thông tin
- Lưu trữ thông tin - Thao tác trên thông tin
- Tìm kiếm dựa vào từ khóa - Tìm kiếm dựa vào ngữ nghĩa
Trang 6- Thông tin thường không được
đồng bộ và dễ bị lạc hậu
- Thông tin luôn được đồng bộ và kịp thời nhờ có những công cụ tự động cập nhật
- Các ontology được chia sẻ để có thể hiểu được ngữ nghĩa
1.2 Kiến trúc Semantic web
Hình 1.3: Kiến trúc Semantic Web
1.4 Ontology (bản thể luận)
1.4.1 Khái niệm Ontology
Là một mô hình dữ liệu biểu diễn một lĩnh vực và được sử dụng để suy luận về các đối tượng trong lĩnh vực đó và mối quan hệ
Trang 7giữa chúng Ontology cung cấp một bộ từ vựng chung bao gồm các khái niệm, các thuộc tính quan trọng và các định nghĩa về các khái niệm và các thuộc tính này Ngoài bộ từ vựng, ontology còn cung cấp các ràng buộc, đôi khi các ràng buộc này được coi như các giả định cơ
sở về ý nghĩa mong muốn của bộ từ vựng, nó được sử dụng trong một miền mà có thể được giao tiếp giữa người và các hệ thống ứng dụng phân tán hỗn tạp khác Các ontology được sử dụng như là một biểu mẫu trình bày tri thức về thế giới hay một phần của nó
Các Ontology thường miêu tả:
- Các cá thể: Các đối tượng cơ bản, nền tảng
- Các lớp: Các tập hợp, kiểu của các đối tượng
- Các thuộc tính: Thuộc tính, tính năng, đặc điểm, tính cách, hay các thông số mà các đối tượng có và có thể đem ra chia
sẻ
- Các mối liên hệ: Các con đường mà các đối tượng có thể liên
hệ tới một đối tượng khác
Bộ từ vựng ontology được xây dựng trên cơ sở tầng RDF và RDFS, cung cấp khả năng biểu diễn ngữ nghĩa mềm dẻo cho tài nguyên Web và có khả năng hỗ trợ lập luận
1.4.2 Các phần tử trong ontology
• Các cá thể (Individuals) - Thể hiện
• Các lớp (Classes) - Khái niệm
• Các thuộc tính (Properties)
• Các mối quan hệ (Relation)
1.4.3 Phân loại ontology
Trang 8Ontology có các loại sau:
• Ontilogy biểu diễn tri thức (Knowledge representation Ontology);
• Ontology tổng quát (Generic Ontology);
• Metadata ontology cung cấp từ vựng;
• Ontology lĩnh vực (Domain Ontology);
• Ontology tác vụ (Tast Ontology);
• Ontology lĩnh vực – tác vụ (Domain – Tast Ontology);
• Ontology ứng dụng (Application Ontology);
• Ontology chỉ mục (Index Ontology);
• Ontology hỏi và trả lời (Tell and Ask Ontology)
1.4.4 Vai trò của Ontology
Chia sẻ những hiểu biết chung về các khái niệm, cấu trúc thông tin giữa con người hoặc giữa các hệ thống phần mềm: đây là vai trò quan trọng nhất của một ontology Ta có thể hình dung ontology như một cuốn từ điển chuyên ngành, cung cấp và giải thích các thuật ngữ cho người không có chuyên môn yêu cầu
Cho phép tri thức trở nên nhất quán và tường minh: trong một hay nhiều lĩnh vực cụ thể, có thể có các khái niệm khác nhau nhưng có cùng tên, điều này sẽ gây nhập nhằng về ngữ nghĩa Tuy nhiên, trong
hệ thống ontology thì mỗi khái niệm phải là duy nhất
Cung cấp một phương tiện cho công việc mô hình hóa: bản thân ontology là một tập các khái niệm phân cấp được liên kết với nhau bởi các quan hệ Cơ bản mỗi khái niệm có thể xem như là một lớp, mà đối
Trang 9tượng của lớp đó cùng các quan hệ đã góp phần tạo nên cấu trúc của bài toán
Cung cấp một phương tiện cho việc suy luận: hiện nay một số ngôn ngữ ontology đã tích hợp lớp ontology suy luận (Ontology Inference Layer) bên trong cho mục đích suy luận logic trên tập quan
hệ giữa các đối tượng trong hệ thống
1.4.5 Các ứng dụng hiện tại của Ontology
Ontology được ứng dụng vào nhiều lĩnh vực như: tích hợp thông tin thông minh, các hệ thống thông tin cộng tác, phục hồi thông tin, thương mại điện tử, quản trị tri thức, xử lý ngôn ngữ tự nhiên, E-learning, web portals search engines, các ứng dụng Metadata-driven, rút trích thông tin, Data Text Web Mining, Information brokering
1.4.6 Ontology Web Language (OWL)
Các phiên bản của OWL
Hiện nay có ba loại OWL: OWL Lite, OWL DL (description logic), và OWL Full
• OWL Lite
• OWL DL (OWL Description Logic)
• OWL Full
Mối liên hệ giữa các ngôn ngữ con của OWL:
- Mọi ontology hợp lệ dựa trên OWL Lite đều là ontology hợp
lệ trên OWL DL
- Mọi ontology hợp lệ dựa trên OWL DL đều là ontology hợp
lệ trên OWL Full
Trang 10- Mọi kết luận hợp lệ dựa trên OWL Lite đều là kết luận hợp
lệ trên OWL DL
- Mọi kết luận hợp lệ dựa trên OWL DL đều là kết luận hợp lệ trên OWL Full
Trang 11CHƯƠNG 2 - ĐỀ XUẤT HỆ THỐNG ỨNG DỤNG TÌM KIẾM
THEO NGỮ NGHĨA 2.1 Khảo sát các ứng dụng tìm kiếm thông tin
2.1.1 Các ứng dụng trong nước
2.1.2 Các ứng dụng nước ngoài
2.2 Đặt vấn đề
2.2.1 Nhu cầu và đối tượng sử dụng
Với chủ đề này ta thấy đối tượng và nhu cầu sử dụng tương đối lớn,
có thể là học sinh phổ thông, học sinh lớp 12, cũng có thể là sinh viên, phụ huynh, giáo viên và bất kì ai khác muốn quan tâm tìm hiểu về các kiến thức, tài liệu liên quan đến hệ thống kiến thức, tài liệu tham khảo môn toán lớp 12
Hệ thống mong muốn phát triển để cung cấp bộ công cụ đáp ứng được nhu cầu tìm kiếm kiến thức phổ thông môn toán về cơ bản cũng như nâng cao cho người sử dụng
2.2.3 Yêu cầu về ứng dụng
"Ứng dụng Semantic Web vào tìm kiếm kiến thức tài liệu đào tạo môn toán khối 12” cho phép tìm kiếm văn bản theo các yếu
Trang 12tố sau: chủ đề toán học, lĩnh vực liên quan, loại tài liệu, thời gian và nội dung tài liệu, các đề thi mẫu - đáp án
Hệ thống được xây dựng trên nền web sử dụng công nghệ Semantic Web, gồm 2 chức năng chính:
- Quản lý thông tin (dành cho Quản trị viên):
- Tìm kiếm kiến thức – tài liệu, bài tập thực hành (dành cho Người sử dụng)
2.3 Phân tích vấn đề
2.3.1 Vấn đề về lưu trữ dữ liệu
2.3.2 Vấn đề về tìm kiếm
Hiện nay, đa số các máy tìm kiếm đều cho phép người sử dụng
có thể tạo các câu truy vấn gồm các từ khóa tìm kiếm, tuy nhiên, phương pháp này gặp phải những vấn đề sau:
- Mỗi từ khóa có thể có một hay nhiều nghĩa tùy theo từng ngữ cảnh
- Bộ máy tìm kiếm không thể hiện mối quan hệ giữa các từ khóa với nhau
- Thông tin có cùng ý nghĩa với từ khóa nhưng không nằm trong kết quả trả về
2.4 Giải pháp
Giải pháp đưa ra là sử dụng công nghệ Semantic web để giải quyết bài toán hiệu quả hơn Với một website ứng dụng Semantic web,
con người có thể đọc và hơn thế, máy tính cũng có thể hiểu được thông
tin Semantic web lưu trữ dữ liệu dưới định dạng RDF (Resource
Trang 13Description Framework), đòi hỏi các bảng phải được chia nhỏ theo
đúng câu trúc gồm ba thành phần cơ bản (Subject, Predicate, Object)
• Subject chỉ đối tượng đang được mô tả đóng vai trò là chủ thể
• Predicate (hay Property) là kiểu thuộc tính hay quan hệ
• Object là giá trị thuộc tính hay đối tượng của chủ thể đã nêu
Object có thể là một giá trị nguyên thủy (Literal) như số nguyên, chuỗi, ngày hoặc cũng có thể là một tài nguyên
2.4.1 Ontology
Trong phần này, xây dựng các lớp, các thuộc tính tạo những mối quan
hệ đồng cấp và phân cấp theo những chuẩn đã được định nghĩa bởi tổ chức W3C và cả những định nghĩa mới riêng biệt cho chương trình
2.4.2 Giao diện web
Tập trung thiết kế giao diện theo phong cách hiện đại, đơn giản
và thể hiện đầy đủ thông tin Giao diện có chức năng tự động nhận biết các thông tin liên quan đến vấn đề tìm kiếm và tự động xuất ra được kết quả được trình bày logic nhất Giao diện này sẽ hoạt động tốt trên các trình duyệt web phổ biến hiện nay như: Internet Explorer, Chrome, Firefox,
2.4.3 Ngôn ngữ SPARQL
SPARQL, là viết tắt của Giao thức SPARQL và Ngôn ngữ Truy vấn RDF bằng tiếng Anh, “SPARQL Protocol and RDF Query Language”, cho phép những người sử dụng truy vấn
thông tin từ các cơ sở dữ liệu hoặc bất kỳ nguồn dữ liệu nào có thể được ánh xạ tới RDF
Trang 14Tiêu chuẩn SPARQL được W3C thiết kế và phê chuẩn và giúp những người sử dụng và những người phát triển tập trung vào những
gì họ muốn biết thay vì cách mà cơ sở dữ liệu được tổ chức
Các mở rộng của SPARQL
SPARQL không chỉ là ngôn ngữ truy vấn, mà còn là tập hợp toàn diện các đặc tả SPARQL UPDATE bao gồm các truy vấn để xóa các dữ liệu, chèn các dữ liệu và thao tác các đồ họa Nói chung, SPARQL Protocol (Giao thức SPARQL) định nghĩa cách để truy cập các điểm cuối SPARQL và các định dạng kết quả và có thể được mở rộng tiếp để tận dụng được tính độc nhất của các dạng dữ liệu khác nhau
Các mở rộng được tiêu chuẩn hóa bao gồm GeoSPARQL để truy vấn các dữ liệu không gian địa lý (geospatial data) Ccác mở rộng tùy biến được GraphDB hỗ trợ bao gồm tìm kiếm toàn văn, tạo các truy vấn đối với các máy tìm kiếm toàn văn và giao diện bên ngoài (Lucene, SOLR, ElasticSearch), RDFRank để sắp xếp, SPARQL MM cho đa phương tiện và những điều khác
2 Đặc tả hệ thống tìm kiếm kiến thức, tài liệu
Trang 15- Ứng dụng công nghệ web ngữ nghĩa và mô hình lưu trữ RDF, nhằm tạo điều kiện cho người sử dụng dễ dàng tìm kiếm với lượng thông tin lớn
- Tính năng tổng hợp thông minh, tự động thu thập thông tin từ nhiều nguồn khác nhau và tự động tổ chức dữ liệu
2.5.2 Mô tả hệ thống
Cấu trúc của một máy tìm kiếm theo công nghệ web semantic,
về cơ bản cũng có cấu trúc tương tự với một máy tìm kiếm thông thường, bao gồm 2 thành phần chính là giao diện truy vấn và phần kiến trúc bên trong
2.6 Môi trường và công cụ lập trình ứng dụng
Ứng dụng Semantic Web sẽ dùng Protégé 5.0.0 để xây dựng Ontology nội dung chuyên đề toán học lớp 12 và IDE NetBeans 8.2 kết hợp với Jena Framework [9] để xây dựng ứng dụng Web
2.6.1 Ưu điểm của Protégé
- Hỗ trợ đầy đủ ba phiên bản của ngôn ngữ OWL là Full, OWL-Lite và OWL-DL
OWL-2.6.2 Thư viện Jena Framework
Giới thiệu về Jena:
- Là một Java framework chuyên dùng dùng cho việc xây dựng
Trang 16CHƯƠNG 3 - PHÂN TÍCH, THIẾT KẾ, XÂY DỰNG
HỆ THỐNG 3.1 Phân tích hệ thống tìm kiếm
3.1.1 Tổng quan hệ thống
Mô hình xử lý tổng quan của hệ thống
Hình 3.1: Sơ đồ xử lý tổng quan hệ thống
3.1.2 Chức năng tìm kiếm của hệ thống
Tìm kiếm ngữ nghĩa theo từ khóa nhập vào:
Cách tìm kiếm phổ biến và có nhu cầu nhiều nhất là tìm kiếm theo từ khóa Tuy nhiên, nếu ta tìm kiếm với từ khóa như thông thường thì kết quả trả về sẽ là tập dữ liệu chứa từ khóa này
Đối với hệ thống sắp xây dựng, hệ thống sẽ phân tích từ khóa nhập vào và sẽ trả về kết quả theo ngữ nghĩa sát với nội dung cần tìm cộng với các từ khóa tìm kiếm cho liên quan cho người dùng
Ví dụ bên dưới là hình minh họa được hệ thống đang xây dựng:
Trang 17Hình 3.2: Minh họa tìm kiếm của hệ thống
3.3 Thiết kế Ontology kiến thức toán 12
3.3.1 Các bước xây dựng
a) Xác định miền quan tâm và phạm vi của ontology:
b) Kế thừa Ontology có sẵn
c) Liệt kê các thuật ngữ quan trọng trong Ontology:
d) Xây dựng các lớp và cấu trúc phân cấp lớp
e) Định nghĩa các thuộc tính và quan hệ giữa các lớp
f) Định nghĩa các ràng buộc về thuộc tính và quan hệ của lớp g) Tạo các thực thể tương ứng với các lớp
3.3.2 Thiết kế mô hình dữ liệu Ontology kiến thức Toán lớp 12
a) Xác định miền quan tâm và lĩnh vực của Ontology
- Miền quan tâm của Ontology: Các kiến thức cơ bản đến nâng cao của môn toán lớp 12 theo từng chuyên đề, từng linh vục
Trang 18- Phục vụ mục đích: tìm kiếm thông tin về kiến thức, bài tập mẫu, các đề thi…
- Phục vụ đối tượng: là học sinh, sinh viên, giáo viên có nhu cầu tìm kiếm hoặc quan tâm đến kiến thức toán lớp 12
b) Kế thừa Ontology có sẵn
Hiện tại chưa tìm thấy thông tin Ontology về kiến thức môn toán phổ thông cũng như môn toán lớp 12
c) Các thuật ngữ quan trọng trong Ontology
Đại số, Đạo hàm, tính chất, định nghĩa, khái niệm, chuyên
đề , phương pháp tính, phương pháp tìm…
d) Các lớp và cấu trúc phân cấp
Với Ontology kiến thức toán lớp 12, ta xây dựng 9 lớp tương ứng với từng chương trong sách giáo khoa lớp 12 theo bộ giáo dục, ngoài ra ta xây dựng thêm vài lớp có liên quan của những lớp trước:
- “Khảo sát vẽ đồ thị hàm số”: Lớp cơ sở chứa tất cả các lý
thuyết của ứng dụng của đạo hàm, ví dụ: cực trị hàm số, sự biến thiên, tính đơn điệu…
- “Hàm số”: Lớp cơ sở chứa tất cả lý thuyết của hàm số và các
lớp con của hàm số như: hàm số lũy thừa, hàm số logarit, hàm số mũ
- “Nguyên hàm”: Lớp cơ sở chứa lý thuyết về nguyên hàm
- “Tích phân”: Lớp cơ sở chứa lý thuyết về tích phân
- “Số phức”: Lớp chứa tất cả lý thuyết về số phức
- “Hình học không gian”: Lớp cơ sở chứa tất cả kiến thức của
chuyên đề hình học không gian của khối lớp 12, ví dụ: khối đa diện, mặt nón-trụ-cầu, phương pháp tọa độ trong không gian…