Tải bản đầy đủ (.pdf) (72 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.99 MB, 72 trang )

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


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
CHUYÊN NGÀNH : HỆ THỐNG THÔNG TIN
MÃ SỐ

:

8480104

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


NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. ĐẶNG TRƯỜNG SƠN

TP.HCM – 2018


i

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


ii

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


iii

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


iv

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


v

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


vi

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

Viết tắt

Tiếng Anh

Tiếng Việt

CNTT

Information Technology

Công nghệ thông tin

RDF

Resource Description Framework

Khung Mô tả Tài nguyên

RDFS

Lược đồ khung Mô tả Tài nguyên


OWL

Resource Description Framework
Schema
Ontology Web Language

DL

Description Logic

Mô tả logic

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


Ngôn ngữ bản thể học cho Web


vii

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


viii

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


1

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.


2

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:

4.



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.

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


3



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.



5.

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

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


4

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


5

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



6

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

Web hiện tại
- Là web gồm các tài liệu (web of
documents).

Semantic web
- Là web gồm dữ liệu (web of data).

- Chỉ biểu diễn “syntax”- biểu diễn thông - Biểu diễn “semantic”- biểu diễn nghĩa
tin.

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 luôn được đồng bộ và kịp thời

- Thông tin thường không được đồng bộ và nhờ có những công cụ tự động cập nhật.

dễ bị lạc hậu.

- Các ontology được chia sẻ để có thể hiểu
được ngữ nghĩa.


7

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.


8

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


9

1.3 Ontology (bản thể luận)
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ệ giữ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.
(Vui lòng tham khảo chi tiết Ontology ở phần phụ lục II).


10

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






2.1.2 Các ứng dụng nước ngoài
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


11

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

/>
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….


12

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 Phân tích vấn đề
2.3.1 Vấn đề về lưu trữ dữ liệu
Nếu lập trình với web 2.0, dữ liệu được xây dựng trên các hệ quản trị cơ sở dữ

liệu như Oracle, MySQL, SQLServer, … Thông tin được lưu trữ dưới dạng bảng, trong
đó, mỗi hàng là một bộ không giới hạn về số lượng thành phần, không có sự đồng nhất,
chính vì thế mà khả năng thay đổi như thêm, bớt các quan hệ là rất khó thực thi. Web
2.0 hiện tại chỉ dành cho người đọc mà không dành cho máy hiểu. Dữ liệu lưu trữ theo
phương pháp truyền thống không có khả năng hiểu được ý nghĩa phía sau của các thông
tin.

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


13

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ề.

2.4 Giải pháp
Từ những khó khăn nêu trên, nhận thấy rằng, nếu chọn giải pháp xây dựng website
này với công nghệ Web 2.0 và cơ sở dữ liệu quan hệ thì rất khó. 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
Description 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.
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.


14

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ẽ


15

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.


×