1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứ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ĩ)

72 190 0

Đ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 72
Dung lượng 2,99 MB

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

Nội dung

Ứ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 1

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

CỦA KHỐI 12

LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng)

TP.HCM - 2018

Trang 2

HỌ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 3

LỜI CAM ĐOAN

Tôi 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 vă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

Tp Hồ Chí Minh, ngày 8 tháng 5 năm 2018

Học viên thực hiện luận văn

NGUYỄN QUỐC CƯỜNG

Trang 4

LỜI CẢM ƠN

Tôi xin bày tỏ lòng biết ơn chân thành nhất đến TS ĐẶNG TRƯỜNG SƠN,

giảng viên hướng dẫn luận văn của tôi, thầy đã tận tình chỉ dẫn, truyền đạt lại những kiến thức và kinh nghiệm quý báu cho tôi trong suốt quá trình thực hiện luận văn này

Tôi cũng xin được gửi lời cảm ơn đến Quí Thầy Cô giáo tại Học viện Công nghệ Bưu chính Viễn thông cơ sở Thành phố Hồ Chí Minh đã trang bị cho tôi những kiến thức nền tảng quan trọng trong suốt quá trình tôi theo học

Tôi xin chân thành cảm ơn, Hội đồng chấm đề cương đã góp ý cho đề cương luận văn

Cuối cùng, tôi xin cảm ơn, gia đình, các đồng nghiệp đã động viên, tạo điều kiện cho tôi trong suốt 2 năm học tập nghiên cứu

Mặc dù đã cố gắng song luận văn cũng không tránh khỏi những thiếu sót Tôi rất mong nhận được những ý kiến đóng góp của Quí Thầy Cô để tôi có thể hoàn thiện hơn

đề tài của mình

Tôi xin trân trọng cảm ơn

Tp Hồ Chí Minh, ngày 8 tháng 5 năm 2018

Học viên thực hiện luận văn

NGUYỄN QUỐC CƯỜNG

Trang 5

Mục lục

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT vi

DANH SÁCH BẢNG vii

DANH SÁCH CÁC HÌNH viii

PHẦN MỞ ĐẦU 1

1 Tính cấp thiết của đề tài 1

2 Mục đích của đề tài 2

3 Đối tượng và phạm vi nghiên cứu 2

4 Phương pháp nghiên cứu 2

5 Kết quả dự kiến của đề tài 3

6 Bố cục luận văn 3

CHƯƠNG 1 - LÝ THUYẾT VỀ SEMANTIC WEB 4

1.1 Semantic Web 4

1.1.1 Giới thiệu về Semantic Web 4

1.1.2 Ví dụ về Semantic Web 5

1.1.3 So sánh các thế hệ Web 6

1.2 Kiến trúc Semantic web 7

1.3 Ontology (bản thể luận) 9

CHƯƠNG 2 - ĐỀ XUẤT HỆ THỐNG ỨNG DỤNG TÌM KIẾM THEO NGỮ NGHĨA 10

2.1 Khảo sát các ứng dụng tìm kiếm thông tin 10

2.1.1 Các ứng dụng trong nước 10

2.1.2 Các ứng dụng nước ngoài 10

2.2 Đặt vấn đề 11

2.2.1 Nhu cầu và đối tượng sử dụng 11

2.2.2 Đề xuất ứng dụng 11

2.2.3 Yêu cầu về ứng dụng 12

2.3 Phân tích vấn đề 12

Trang 6

2.3.1 Vấn đề về lưu trữ dữ liệu 12

2.3.2 Vấn đề về tìm kiếm 12

2.4 Giải pháp 13

2.4.1 Ontology 14

2.4.2 Giao diện web 14

2.4.3 Ngôn ngữ SPARQL 15

2.5 Đặc tả hệ thống tìm kiếm kiến thức, tài liệu 18

2.5.1 Chức năng của hệ thống 18

2.5.2 Mô tả hệ thống 18

2.6 Môi trường và công cụ lập trình ứng dụng 18

2.6.1 Ưu điểm của Protégé 19

2.6.2 Thư viện Jena Framework 21

CHƯƠNG 3 - PHÂN TÍCH, THIẾT KẾ, XÂY DỰNG 24

HỆ THỐNG 24

3.1 Phân tích hệ thống tìm kiếm 24

3.1.1 Tổng quan hệ thống 24

3.1.2 Chức năng tìm kiếm của hệ thống 24

3.2 Thiết kế Ontology kiến thức toán 12 26

3.3.1 Các bước xây dựng 26

3.3.2 Thiết kế mô hình dữ liệu Ontology kiến thức Toán lớp 12 30

3.3 Thiết kế, xây dựng ứng dụng Semantic Web 34

3.3.1 Mô hình thiết kế hệ thống 34

3.3.2 Xây dựng Ontology, sử dụng Protégé 36

CHƯƠNG 4 – TRIỂN KHAI VÀ ĐÁNH GIÁ ỨNG DỤNG 39

4.1 Thiết kế hệ thống ứng dụng thực tế 39

4.1.1 Giao diện chính của ứng dụng 39

4.1.2 Các quyền của hệ thống 40

4.1.3 Biểu đồ quyền sử dụng hệ thống 40

4.2 Mô tả và triển khai ứng dụng 42

4.2.1 Biểu đồ mô tả về phân cấp chức năng 42

Trang 7

4.2.2 Mô tả về chương trình 42

4.2.2 Mô tả về lưu trữ dữ liệu của hệ thống 43

4.2.3 Triển khai ứng dụng 44

4.3 Đánh giá ứng dụng 45

4.4 So sánh với các ứng dụng semantic web khác đã có 46

4.4.1 Các công trình nguyên cứu trong nước được biết 46

4.4.2 Website tìm kiếm theo ngữ nghĩa Wolframalpha 46

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 48

1 Kết quả đạt được của luận văn 48

2 Hướng phát triển 48

TÀI LIỆU THAM KHẢO 50

PHỤ LỤC 52

Trang 8

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT

CNTT Information Technology Công nghệ thông tin

RDF Resource Description Framework Khung Mô tả Tài nguyên

RDFS Resource Description Framework

Schema

Lược đồ khung Mô tả Tài nguyên OWL Ontology Web Language Ngôn ngữ bản thể học cho Web

DIG DL Implementation Group Nhóm thực hiện mô tả logic XML eXtensible Markup Language Ngôn ngữ đánh dấu mở rộng API Application Programming

Interface

Giao diện lập trình ứng dụng

Trang 9

DANH SÁCH BẢNG

Bảng 1.1 Bảng so sánh các thế hệ Web 6 Bảng 4.1 Bảng mô tả quyền sử dụng hệ thống 40 Bảng 4.2 Bảng đặc tả quyền sử dụng hệ thống 41

Trang 10

DANH SÁCH CÁC HÌNH

Hình 1.1 So sánh Web 2.0 & Semantic Web 4

Hình 1.2 Ví dụ minh họa tìm kiếm của google 5

Hình 1.3 Kiến trúc Semantic Web 7

Hình 2.1 Kiến trúc của Jena Framework 19

Hình 2.2 Minh họa chương trình Protégé 20

Hình 2.3 Kiến trúc của Jena 22

Hình 3.1 Sơ đồ xử lý tổng quan hệ thống 24

Hình 3.2 Minh họa tìm kiếm của hệ thống 25

Hình 3.3 Minh họa hệ thống tìm kiếm theo ngữ nghĩa của Google 26

Hình 3.4 Các thuộc tính trong Ontology toán 12 33

Hình 3.5 Minh họa các thuộc tính quan hệ trong Ontology toán 12 34

Hình 3.6 Mô hình ứng dụng tìm kiếm theo ngữ nghĩa 35

Hình 3.7 Minh họa xây dựng ontology 36

Hình 3.8 Biểu diễn tổng thể Ontology 37

Hình 3.9 Tìm kiếm theo từ khoá và kết quả theo ngữ nghĩa, liên đới 38

Hình 4.1 Giao diện chương trình 39

Hình 4.2 Biểu đồ quyền sử dụng hệ thống 40

Hình 4.3 Biểu đồ mô tả các khối chức năng của chương trình 42

Hình 4.4 Cấu hình tập tin RDF chứa Ontology 42

Hình 4.5 Ảnh mô tả file Ontology được mở dưới dạng text 43

Hình 4.6 Màn hình ứng dụng triển khai 44

Hình 4.7 Minh họa khi bấm vào từ khóa liên đới 45

Hình 4.8 Minh họa trang web Wolframalpha 47

Trang 11

PHẦN MỞ ĐẦU

1 Tính cấp thiết của đề tài

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ề 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 chí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 12

2 Mục đích của đề tài

- Nghiên cứu kiến trúc, mô hình và công nghệ Semantic Web (Web 3.0)

- Xây dựng một Ontology về kiến thức, tài liệu tham khảo liên quan đến môn Toán dành cho học sinh khối 12 Từ đó xây dựng hệ thống tìm kiếm thông minh theo từng lĩnh vực, chủ đề liên quan trong khuôn khổ môn toán của khối 12 theo ngữ nghĩa

3 Đối tượng và phạm vi nghiên cứu

- Đối tượng nghiên cứu:

• Các vấn đề liên quan đến Web ngữ nghĩa, phương pháp xây dựng và lưu trữ dữ liệu trong Web ngữ nghĩa

• Các công cụ dùng để xây dựng Web ngữ nghĩa: các ngôn ngữ lập trình, các gói thư viện mở rộng, công cụ xây dựng Ontology

• Các vấn đề về xử lý ngôn ngữ tự nhiên và kiến thức tài liệu phổ thông - các chuyên đề liên quan môn toán lớp 12

- Phạm vi nghiên cứu:

• Web ngữ nghĩa

• Công cụ xây dựng hệ thống ứng dụng

• Xử lý ngôn ngữ tự nhiên

• Dữ liệu về thông tin kiến thức môn toán lớp 12 phổ thông

4 Phương pháp nghiên cứu

Phương pháp lý thuyết và tài liệu:

➢ Tìm hiểu lý thuyết về Semantic Web, Ontology và công cụ Search engine

➢ Cách thức lưu trữ dữ liệu theo mô hình RDF & xử lý ngôn ngữ tự nhiên Phương pháp thực nghiệm:

➢ Xây dựng ontology

➢ Xây dựng cơ sở dữ liệu và tập dữ liệu mẫu

Trang 13

➢ Xây dựng hệ thống tìm kiếm ngữ nghĩa trên hệ thống, tận dụng công cụ tìm kiếm của Google khi tìm kiếm ngoài hệ thống

➢ Xây dụng thử nghiệm ứng dụng Web ngữ nghĩa (Semantic Web)

5 Kết quả dự kiến của đề tài

Đề tài xây dựng hệ thống lưu trữ và tìm kiếm tài liệu môn toán lớp 12 theo từng chuyên đề, nội dung, hỗ trợ tìm kiếm tài liệu chính xác hơn

6 Bố cục luận văn

Luận văn gồm có các phần sau:

Chương 1 - Lý thuyết về Semantic Web

Chương 2 - Đề xuất hệ thống ứng dụng tìm kiếm theo ngữ nghĩa

Chương 3 - Phân tích, thiết kế xây dựng hệ thống thử nghiệm

Chương 4 - Triển khai và đánh giá ứng dụng

Chương 5 - Kết luận và hướng phát triển

Trang 14

CHƯƠ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 được hình thành từ ý tưởng của Tim Berners-Lee, người phát minh ra WWW (World Wide Web), URI (Uniform Resource Identification), HTTP, và HTML [9]

Hình 1.1: So sánh Web 2.0 & Semantic Web [11]

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 Động từ “hiểu” ở đây dùng để chỉ khả năng của máy tính có thể phân tích cấu

Trang 15

trúc của dữ liệu, xác định xem dữ liệu đó thuộc loại nào và từ đó có các hành động thích hợp

Thế hệ tiếp theo của Web mà lộ trình của nó đã được Tim Berners-Lee phát thảo

từ năm 1998 Theo Lee, “Web có ngữ nghĩa là sự mở rộng của Web hiện tại mà trong đó thông tin được định nghĩa rõ ràng sao cho con người và máy tính có thể cùng làm việc với nhau một cách hiệu quả hơn” Theo đó, mục tiêu của Web ngữ nghĩa là phát triển các chuẩn chung về công nghệ, cải tiến Web hiện tại bằng cách thêm vào một lớp ngữ nghĩa để máy tính có thể hiểu được thông tin trên Web nhiều hơn, tăng cường khả năng rút trích thông tin một cách tự động, tích hợp dữ liệu

1.1.2 Ví dụ về Semantic Web

Google đã phát triển thuật toán tìm kiếm với 2 kết quả:

Ví dụ minh họa về tìm kiếm với từ khóa tổng thống Obama của Google:

Hình 1.2: Ví dụ minh họa tìm kiếm của google

Trang 16

1.1.3 So sánh các thế hệ Web

Bảng so sánh các thế hệ Web [1]

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

- 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

- Thông tin thường không được đồng bộ và

Trang 17

1.2 Kiến trúc Semantic web

Hình 1.3: Kiến trúc Semantic Web [5]

- Lớp Unicode và URI: Tầng Unicode và URI là tầng đầu tiên của kiến trúc

Semantic Web Đây là hạ tầng đầu tiên cho xây dựng Semantic Web, là nền tảng để mã hóa, định vị và truyền vận thông tin

Unicode là chuẩn mã hóa dữ liệu để vận chuyển thông tin Unicode là

chuẩn mã hóa quốc tế, nó cho phép mã hóa mọi ngôn ngữ

URI-Uniform Resource Identifier là nền tảng để xác định vị trí cho các tài

nguyên Web, cũng chính là việc xác định tài nguyên Web

- Lớp XML (Extensible Markup Language): cung cấp cú pháp chung nhưng không

ràng buộc về ngữ nghĩa cho các tài liệu có cấu trúc, làm cơ sở cho sự trao đổi dữ liệu trên web

- Lớp XML SCHEMA cung cấp các định nghĩa kiểu dữ liệu và các cấu trúc cho tài

liệu XML Các không gian tên (name space-NS) cũng được sử dụng như một giải pháp

đã được áp dụng cho các tài liệu XML

Trang 18

- Lớp RDF (Resource Description Framework): cung cấp cấu trúc mô tả các đối

tượng hay tài nguyên trên mạng và quan hệ giữa chúng RDF cho phép gán kiểu cho các tài nguyên và làm nền tảng cho Ontology (xem chi tiết RDF ở phần Phụ lục I)

- Lớp RDF SCHEMA cung cấp một phương tiện để đặc tả các từ vựng mô tả tính

chất và quan hệ giữa các tài nguyên RDF (xem chi tiết RDFS ở phần Phụ lục I)

- Lớp ONTOLOGY định nghĩa các từ vựng dùng để mô tả các thuộc tính, lớp trong

một miền ngữ vựng nhất định

- Lớp LOGIC cung cấp các luật suy diễn

- Lớp PROOF sử dụng các luật của lớp Logic để kiểm tra tính đúng đắn của một

suy diễn nào đó Lớp LOGIC và PROOF trong kiến trúc đã thể hiện rõ hơn góc độ ngữ nghĩa và cung cấp cho mô hình này khả năng suy luận thông minh

- Lớp TRUST hiện vẫn đang trong giai đoạn phát triển, nhằm mục đích đánh giá

mức độ tin cậy và quyết định có nên tin tưởng các bằng cớ từ một kết quả suy luận nào

đó hay không Thông thường Trust chính là một hàm lượng giá áp dụng trên một tập các thông tin, thông tin nào có giá trị lượng giá cao hơn sẽ được chọn cho một mục đích nào

đó, ví dụ để thể hiện trong kết quả tìm kiếm

- Lớp Digital Signature: Việc áp dụng công nghệ mã hóa và ký điện tử trong RDF

sẽ đảm bảo rằng nguồn tài liệu mà ta đang sử dụng là do chính xác một nhà cung cấp nào đó mà ta tin tưởng Điều này giống như sự xác thực điện tử mà trong an toàn thông tin đã đề cập đến

Trong kiến trúc của Semantic Web, Digital Signature đóng một vai trò rất quan trọng Nó gắn liền với các tầng của kiến trúc Semantic Web kể từ tầng thứ ba RDF, với vai trò là mở rộng cho các tầng này để đảm bảo rằng những thông tin trong các tài liệu này là xác thực do một nhà cung cấp nào đó Điều này giúp ngăn chặn sự sụp đổ của Semantic Web do chính đặc tính đơn giản và phổ cập của nó mang đến Với Digital Signature, các ứng dụng sẽ có căn cứ để sử dụng các thông tin chính xác do những nhà cung cấp mà ứng dụng đó tin tưởng

Trang 19

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 (Vui lòng tham khảo chi tiết Ontology ở phần phụ lục II)

Trang 20

CHƯƠ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

Hiện nay, trong nước có nhiều trang web, diễn đàn chứa rất nhiều thông tin, kho

dữ liệu rất phong phú và dồi dào về kiến thức toán học của các khối trong bậc phổ thông Những website này được lập ra nhằm để chia sẻ phục vụ cho việc ôn thi cuối cấp và quan trọng hơn là tổng hợp lại những kiến thức cơ bản để ôn thi đại học

Tuy nhiên, những website này nội dung còn rời rạc, các chuyên đề toán chưa liên kết được với nhau, và nó chưa thực sự tiện ích cho người tìm kiếm, hầu hết khi nhập từ khóa tìm kiếm thì kết quả trả về chỉ là những nội dung có chứa từ khóa

Các website chưa có tính liên kết và chưa thống nhất với nhau, vì vậy làm cho việc tìm kiếm 1 thông tin cụ thể và các vấn đề liên quan nối tiếp rất khó khăn và mất thời gian cho người sử dụng, nhất là học sinh chưa có kiếm thức chuyên sâu về máy tính, internet

Ví dụ các trang web như:

Những trang web, diễn đàn của nước ngoài, kiến thức về toán học được tổ chức

đa dạng, nhiều vấn đề được đưa ra trao đổi rất phong phú

Tuy nhiên, đa số là sử dụng ngôn ngữ tiếng Anh, hệ thống kiến thức cũng rất khác

so với giáo trình trong nước, dẫn đến không ít khó khăn cho người tìm kiếm, nhất là học

Trang 21

sinh sinh viên Vì vậy, những trang web này, chỉ ở mức tham khảo, chưa giúp ích cho học sinh trong việc tìm kiếm thông tin môn toán

Ví dụ như:

https://www.khanacademy.org

https://schoolyourself.org/

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

Dữ liệu của trang web sẽ được tập hợp nguồn từ sách giáo khoa, sách tham khảo đồng thời thu thập thêm trên internet và có sự kiểm tra và hiệu chỉnh bởi người quản trị

hệ thống hoặc người được phân quyền

2.2.2 Đề xuất ứng dụng

Nhằm đáp ứng yêu cầu trên, luận văn đề xuất xây dựng một ứng dụng Web, có

cơ sở dữ liệu đầy đủ về kiến thức môn toán lớp 12 Hệ thống phải đáp ứng được việc tìm kiếm chính xác, kết quả trả về đầy đủ thông tin tương ứng với từ khóa nhập vào khi được tìm thấy Bên cạnh đó, hệ thống ứng dụng phải đáp ứng việc liên kết dữ liệu (linked data) của đối tượng được tìm thấy

Ví dụ: khi người sử dụng nhập từ khóa: “đạo hàm là gì”

-> hệ thống sẽ hiện thị kết quả: định nghĩa về đạo hàm, các ứng dụng của đạo hàm, bài tập cơ bản về đạo hàm…

Trang 22

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 tố 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):

• Thêm, chỉnh sửa, xóa thông tin của tài liệu

• Thêm, xóa, cập nhật dữ liệu về kiến thức toán học lớp 12 theo từng chủ đề, lĩnh vực liên quan

• Thu thập thông tin tài liệu: tự động thu thập thông tin các tài liệu - văn bản có trên Internet (nằm trong các website) và tự nhập bằng tay

- 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):

cung cấp công cụ tìm kiếm theo ngữ nghĩa để người sử dụng tìm kiếm một cách đơn giản nhất

2.3.2 Vấn đề về tìm kiếm

Với những hệ tìm kiếm truyền thống, độ chính xác của kết quả tìm kiếm không cao, người sử dụng cần phải tự mình chọn lọc tìm ra thông tin chính xác cần tìm hoặc

Trang 23

phải qua rất nhiều bước tìm kiếm Việc tìm kiếm thường là so sánh từ khóa của người dùng với dữ liệu có sẵn trong CSDL, nên người dùng phải sử dụng chính xác từ khóa để

có thể nhận được kết quả tìm kiếm mong muốn 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ề

ba thành phần cơ bản (Subject, Predicate, Object)

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

Sự lưu trữ này có ưu thế hơn so với lưu trữ dữ liệu truyền thống như: Tổ chức dữ liệu đơn giản, đồng nhất nên thông tin được dễ dàng thêm bớt, chỉnh sửa

Cấu trúc bộ ba của RDF giúp cho thông tin dễ truy xuất bởi các hệ thống suy luận, tìm kiếm ngữ nghĩa Cũng nhờ vậy mà những bộ xử lí RDF có thể suy luận ra những thông tin mới không có trong hệ dữ liệu

Trang 24

Bên cạnh đó, Semantic Web với mô hình dữ liệu thông minh (lưu trữ dữ liệu dưới dạng thông tin mà máy có thể hiểu được) đã giúp việc tìm kiếm nhanh được nhanh hơn đồng thời hỗ trợ sử dụng truy xuất thông tin chất lượng hơn

Việc tìm kiếm, đánh giá, xử lí, tích hợp thông tin có thể tiến hành một cách tự động Semantic web sẽ định nghĩa các khái niệm và bổ sung các quan hệ dưới dạng máy tính có thể hiểu được Máy tính có thể xác định một thực thể thuộc lớp hay thuộc tính cụ thể nào dựa trên ngữ cảnh chứa 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, kết hợp các thông tin đã được mô tả và giàu ngữ nghĩa với bất kì nguồn dữ liệu nào

Dựa vào các luật suy diễn trên cơ sở tri thức về các thực thể, máy tính có khả năng sinh ra những kết luận mới Ứng dụng semantic web có thể sẽ trả lời chính xác những

câu hỏi dạng như: “Tổng thống Mỹ hiện nay là ai?”

Từ những ưu điểm trên, chúng tôi nhận thấy rằng ứng dụng Semantic web vào

hệ thống tìm kiếm sẽ giúp tìm kiếm thông tin nhanh chóng và chính xác hơn, giải quyết được những vấn đề bài toán gặp phải

Với công việc xác định là phát triển một trang Web semantic ta cần xây dựng ứng dụng gồm 2 phần chính đó là xây dựng ontology và thiết kế giao diện thông minh để hiển thị kết quả đáp ứng đúng mong đợi của người sử dụng

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ẽ

Trang 25

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

Tiêu chuẩn SPARQL được W3C thiết kế, phê duyệt 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

a) SPARQL so với SQL

Cũng như SQL cho phép người sử dụng truy xuất và sửa đổi dữ liệu trong cơ sở

dữ liệu quan hệ, SPARQL cung cấp chức năng y hệt cho các cơ sở dữ liệu đồ họa NoSQL như GraphDB

Hơn nữa, một truy vấn SPARQL cũng có thể được thực thi trong bất kỳ cơ sở dữ liệu nào mà có thể được xem như RDF thông qua phần mềm trung gian (middleware)

Ví dụ, cơ sở dữ liệu quan hệ có thể được yêu cầu truy vấn với SPARQL bằng việc sử dụng phần mềm ánh xạ cơ sở dữ liệu quan hệ sang RDF - RDB2RDF (Relational Database to RDF) [12]

Đây là những gì làm cho SPARQL trở thành ngôn ngữ mạnh mẽ để tính toán, lọc, tổng hợp và có chức năng truy vấn tiếp (Subquery)

Tương phản với SQL, các truy vấn SPARQL không bị ràng buộc phải làm việc bên trong một cơ sở dữ liệu: Các truy vấn liên đoàn (Federated Queries) có thể truy cập nhiều kho dữ liệu (các điểm cuối) Hệ quả là, SPARQL vượt qua được các ràng buộc do

sự tìm kiếm cục bộ đặt ra

Sức mạnh của SPARQL cùng với sự mềm dẻo của RDF có thể dẫn tới các chi phí phát triển thấp hơn khi mà việc trộn các kết quả từ nhiều nguồn dữ liệu là dễ dàng hơn

Trang 26

Các lựa chọn thiết kế đó - xúc tác cho các truy vấn đối với các nguồn phân tán về

dữ liệu không thống nhất, là không ngẫu nhiên SPARQL được thiết kế để xúc tác cho

Dữ liệu Liên kết (Linked Data) cho Web Ngữ nghĩa (Semantic Web) Mục tiêu của nó

là để hỗ trợ cho mọi người làm giàu dữ liệu của họ bằng việc liên kết nó với các tài nguyên ngữ nghĩa toàn cầu khác, cũng như việc chia sẻ, pha trộn, và sử dụng lại dữ liệu theo một cách thức có ý nghĩa hơn

SPARQL coi dữ liệu của bạn như là đồ họa (graph) có định hướng, được gắn nhãn, điều đó được trình bày nội bộ bên trong như là bộ 3 gồm chủ ngữ, vị ngữ và bổ ngữ (subject, predicate and object) [12]

Một cách tương ứng, truy vấn SPARQL gồm một tập hợp 3 mẫu theo đó từng yếu

tố (chủ ngữ, vị ngữ và bổ ngữ) có thể là một biến (wildcard) Các giải pháp với các biến sau đó được thấy bằng việc khớp các mẫu trong truy vấn đó với bộ 3 trong tập hợp dữ liệu

SPARQL có 4 dạng truy vấn Nó có thể được sử dụng để:

• ASK (Hỏi) liệu có ít nhất 1 sự trùng khớp mẫu truy vấn trong dữ liệu đồ họa RDF hay không;

• SELECT (Chọn) tất cả hoặc vài sự trùng khớp đó ở dạng bảng (bao gồm sự tổng hợp, làm mẫu và phân trang qua OFFSET và LIMIT);

• CONSTRUCT (Xây dựng) đồ họa RDF bằng việc thay thế các biến trong các trùng khớp đó trong một tập hợp các mẫu template bộ 3 đó; hoặc

• DESCRIBE (Mô tả) các trùng khớp được tìm thấy đó bằng việc xây dựng đồ học RDF thích hợp

Các cơ sở dữ liệu đồ họa ngữ nghĩa hàng đầu có hỗ trợ SPARQL, gồm GraphDB Free, đặc trưng cho các trình soạn thảo SPARQL trực quan với các tính năng tự động hoàn chỉnh, trình khai phá (explorer) và nhiều chức năng hơn, chúng chỉ dẫn cho các nhà khoa học về dữ liệu trong việc xây dựng các truy vấn SPARQL mạnh

Trang 27

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) Cá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

Vì sao sử dụng SPARQL?

Sự đa dạng rộng lớn các mẫu đồ họa có thể trùng khớp thông qua các truy vấn SPARQL phản ánh sự đa dạng rộng lớn trong dữ liệu mà SPARQL đã được thiết kế - cho dữ liệu của Web Ngữ nghĩa (Semantic Web)

Bằng việc đưa vào các giá trị tùy chọn sao cho các giải pháp không bị từ chối vì vài phần của mẫu không trùng khớp hoặc bằng việc kết hợp các mẫu đồ họa sao cho một trong số vài lựa chọn xen kẽ có thể trùng khớp, SPARQL có thể được sử dụng có hiệu quả và hiệu lực để trích xuất các thông tin cần thiết bị ẩn dấu trong các dữ liệu không thống nhất được lưu trữ trong các định dạng và các nguồn khác nhau

Như nhà phát minh ra World Wide Web, nhà sáng tạo và bảo vệ Web Ngữ nghĩa

và Giám đốc của W3C, Tim Berners-Lee, đã chỉ ra:

“Việc cố sử dụng Web Ngữ nghĩa mà không có SPARQL là giống như việc cố sử dụng cơ sở dữ liệu quan hệ mà không có SQL SPARQL làm cho có khả năng để truy vấn thông tin từ các cơ sở dữ liệu và các nguồn đa dạng khác trong tự nhiên, xuyên khắp Web” [12]

Trang 28

2.5 Đặc tả hệ thống tìm kiếm kiến thức, tài liệu

- Cho phép người dùng nhập yêu cầu tìm kiếm

- Hiển thị kết quả tìm kiếm

Phần kiến trúc bên trong

Đây là phần cốt lõi của tìm kiếm bao gồm các thành phần: phân tích yêu cầu, tìm kiếm kết quả theo yêu cầu, dữ liệu tìm kiếm, mạng ngữ nghĩa Sự khác biệt trong cấu trúc của công c tìm kiếm ngữ nghĩa so với tìm kiếm thông thường nằm ở phần kiến trúc

bên trong, cụ thể ở 2 phần: phân tích câu hỏi và tập dữ liệu tìm kiếm

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

Trang 29

Hình 2.1: Kiến trúc của Jena Framework [9]

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à OWL-Full, OWL-Lite và OWL-DL

- Nhờ sử dụng mô hình hướng đối tượng của ngôn ngữ Java nên Protégé rất hiệu quả trong việc mô hình hóa các lớp, thực thể, các quan hệ…

- Giao diện thiết kế trực quan có tính tương tác cao Người sử dụng có thể định nghĩa các thành phần của ontology trực tiếp từ các form, hỗ trợ xây dựng các thành phần của một ontology rất nhanh và hiệu quả

- Cho phép biểu diễn trực quan ontology dưới dạng các sơ đồ

- Cho phép xây dựng ontology từ nhiều nguồn khác nhau

- Protégé tự động lưu một bản tạm của ontology Nếu có lỗi phát sinh trong quá trình thao tác thì ontology cũ sẽ tự động được phục hồi

Trang 30

- Cung cấp chức năng tìm kiếm lỗi, kiểm tra tính nhất quán và đầy đủ của ontology

- Cho phép các lớp và thuộc tính của ontology này có thể được sử dụng trong một Namespace khác mà chỉ cần sử dụng các URL để tham khảo

- Hỗ trợ suy luận trực tiếp trên ontology dựa trên Interface chuẩn DL Implementation Group (DIG)

- Hỗ trợ sinh mã tự động Protégé cho phép chuyển ontology thành mã nguồn RDF/XML, OWL, DIG, Java, EMF Java Interfaces, Java Schema Classes Các mã này

có thể được nhúng trực tiếp vào ứng dụng và là đầu vào cho các thao tác trên ontology khi cần

Hình 2.2: Minh họa chương trình Protégé

Trang 31

2.6.2 Thư viện Jena Framework

Giới thiệu về Jena:

▪ Là một Java framework chuyên dùng cho việc xây dựng các ứng dụng web ngữ nghĩa

▪ Website: https://jena.apache.org/

▪ Cung cấp một môi trường lập trình cho RDF, RDFS and OWL, SPARQL

▪ Bao gồm các công cụ suy diễn từ các luật cơ sở (rule-based inference engine)

▪ Open source

▪ Phiên bản đầu tiên ra đời 2000 do HP Lab xây dựng

▪ Jena 2 ra đời vào 2003 – phiên bản hiện tại là Jena 2.6.4

Jena Framework bao gồm:

▪ RDF API: Giao diện lập trình cho RDF

▪ OWL API: Giao diện lập trình cho OWL

▪ Xuất và đọc các file RDF theo dạng RDF/XML, N3 và N-Triples

▪ Cho phép lưu trữ trong bộ nhớ, lưu trữ cố định trong các tập tin đơn hay trong các hệ quản trị cơ sở dữ liệu (MySQL, HSQLDB, PostgreSQL, Oracle, Microsoft SQL Server)

▪ Hệ truy vấn SPARQL

Kiến trúc Jena:

▪ Kiến trúc của Jena đã được thiết kế để cho phép tích hợp một cách dễ dàng

các thành phần xử lý có thể thay thế như bộ phân tích dữ liệu (parser), xuất bản (writer),

lưu trữ và truy vấn

▪ Jena API bao gồm một tập các giao diện Java mô tả các nguồn tài nguyên (resources), các thuộc tính (properties), các phát biểu (statements) và các mô hình (model) dưới dạng khung mô tả tài nguyên RDF (Resource Description Framework)

Trang 32

Hình 2.3: Kiến trúc của Jena [9]

➢ Kiến trúc của Jena đã được thiết kế để cho phép tích hợp một cách dễ dàng các thành phần xử lý có thể thay thế như bộ phân tích dữ liệu (parser), xuất bản (writer), lưu trữ và truy vấn

Thao tác trên RDF File:

▪ Sử dụng createDefaultModel() để tạo một RDF Model

Model model = ModelFactory.createDefaultModel();

▪ Để tạo một Resource:

Resource DaohamSocap = model.createResource(daohamURI);

▪ Một RDF Model được xem như là một tập các phát biểu (statement) Mỗi phát biểu này được thêm vào RDF Model bằng phương thức addProperty:

DaohamSocap.addProperty(DaoHam.tc, Tinhchat);

Trang 33

▪ Xuất Model được tạo nhờ lớp PrinterWriter của Jena:

Trang 34

CHƯƠ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

Trang 35

Đố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 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:

Hình 3.2: Minh họa tìm kiếm của hệ thống

Ví dụ về thuật toán tìm kiếm của Google:

Trang 36

Hình 3.3: Minh họa hệ thống tìm kiếm theo ngữ nghĩa của Google

3.2 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:

Tương tự như các công đoạn đặc tả khác, đặc tả ontology cũng bắt đầu bằng việc trả lời các câu hỏi mang tính phân tích để xác định chính xác các yêu cầu Những câu hỏi thường dùng là:

- Ontology cần mô tả miền nào?

- Ontology phục vụ cho mục đích chuyên biệt gì?

- Cơ sở tri thức trong Ontology sẽ trả lời những câu hỏi gì?

- Ontology nhằm phục vụ đối tượng nào?

- Ai là người sẽ xây dựng, quản trị ontology?

Các câu trả lời cho những câu hỏi trên có thể sẽ thay đổi trong quá trình khi ta xây dựng Ontology Tuy nhiên việc trả lời chính xác trong mỗi bước lặp sẽ giới hạn được

Ngày đăng: 24/08/2018, 16:31

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