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

Nghiên cứu ứng dụng ontology trong các hệ thống hỗ trợ giáo dục cộng đồng

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.66 MB, 129 trang )

..

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-----------------------------------------------

PHẠM HUY GIANG

NGHIÊN CỨU, ỨNG DỤNG ONTOLOGY
TRONG CÁC HỆ THỐNG HỖ TRỢ GIÁO
DỤC CỘNG ĐỒNG

LUẬN VĂN THẠC SĨ KHOA HỌC
CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN

Hà Nội - 2008


MỤC LỤC
MỞ ĐẦU .......................................................................................................................... 1
CHƯƠNG 1. WEB CÓ NGỮ NGHĨA VÀ ONTOLOGY ............................................... 4
1.1. Các thế hệ Web ...................................................................................................... 4
1.1.1. Web 1.0 ........................................................................................................... 4
1.1.2. Web 2.0 ........................................................................................................... 5
1.1.3. Web có ngữ nghĩa (Semantic Web) ................................................................ 6
1.1.4. Web 3.0 – Web xã hội có ngữ nghĩa ............................................................... 8
1.2. Web có ngữ nghĩa (Semantic Web) ....................................................................... 8
1.2.1. Kiến trúc Semantic Web ................................................................................. 8
1.2.2. Siêu dữ liệu.................................................................................................... 11
1.2.3. Các môi trường phát triển Semantic Web ..................................................... 12
1.2.4. Semantic Web Portal ..................................................................................... 14


1.3. Ontology............................................................................................................... 14
1.3.1. Định nghĩa ..................................................................................................... 14
1.3.2. Vai trò của ontology đối với Web có ngữ nghĩa ........................................... 16
1.3.3. Các thành phần của ontology ........................................................................ 16
1.3.4. Phân loại ontology......................................................................................... 17
1.3.5. Các công cụ xây dựng ontology .................................................................... 19
1.3.6. Các ngôn ngữ xây dựng ontology ................................................................. 20
1.3.7. Phương pháp xây dựng ontology .................................................................. 23
1.3.8. Một số ontology phổ biến ............................................................................. 26
1.3.9. Tạo siêu dữ liệu ngữ nghĩa dựa trên Ontology.............................................. 29
1.4. Kết chương ........................................................................................................... 30
CHƯƠNG 2:

CÁC HỆ THỐNG THÔNG TIN GIÁO DỤC ỨNG DỤNG

ONTOLOGY .................................................................................................................. 31
2.1. Giới thiệu ............................................................................................................. 31
2.2. GEM ..................................................................................................................... 31
2.2.1. Giới thiệu....................................................................................................... 31
2.2.2. Cấu trúc ontology trong GEM....................................................................... 32
2.3. Connexions........................................................................................................... 35
2.3.1. Giới thiệu....................................................................................................... 35


2.3.2. Cấu trúc ontology của Connexions ............................................................... 36
2.4. POOL ................................................................................................................... 36
2.4.1. Giới thiệu....................................................................................................... 36
2.4.2. Cấu trúc của giao thức CanCore ................................................................... 37
2.5. Edutella ................................................................................................................ 39
2.5.1. Giới thiệu....................................................................................................... 39

2.5.2. Cấu trúc ontology của Edutella ..................................................................... 40
2.6. PIP ........................................................................................................................ 40
2.6.1. Giới thiệu....................................................................................................... 40
2.6.2. Cấu trúc Ontology trong PIP ......................................................................... 41
2.7. TANGRAM ......................................................................................................... 42
2.7.1. Giới thiệu....................................................................................................... 42
2.7.2. Cấu trúc Ontology trong TANGRAM .......................................................... 44
2.8. Áp dụng các kỹ thuật xử lý ontology từ các hệ thống trên .................................. 47
2.8.1. Kỹ thuật tích hợp và truy vấn trên nhiều ontology từ PIP ............................ 47
2.8.2. Kỹ thuật tạo siêu dữ liệu của TANGRAM.................................................... 50
2.9. Kết chương ........................................................................................................... 52
CHƯƠNG 3: KIẾN TRÚC ONTOLOGY TỔNG QUÁT CHO CÁC HỆ THỐNG HỖ
TRỢ GIÁO DỤC CỘNG ĐỒNG ................................................................................... 53
3.1. Giới thiệu ............................................................................................................. 53
3.2. Cổng thông tin giáo dục cộng đồng BKEduPortal............................................... 53
3.2.1. Kiến trúc cổng thông tin BKEduPortal ......................................................... 54
3.2.2. Hệ quản trị nội dung ...................................................................................... 55
3.2.3. Chia sẻ tài liệu học tập và tri thức ................................................................. 56
3.2.4. Thông tin giáo dục và đào tạo ....................................................................... 60
3.2.5. Phân hệ ứng dụng Tư vấn giáo dục ............................................................... 62
3.2.6. Mạng cộng đồng về giáo dục ........................................................................ 63
3.2.7. Đặc điểm của các phân hệ ứng dụng trong BKEduPortal............................. 65
3.3. Kiến trúc ontology cho các cổng thông tin giáo dục cộng đồng .......................... 66
3.3.1. Vai trị của ontology trong các cổng thơng tin giáo dục cộng đồng ............. 66
3.3.2. Thiết kế kiến trúc ontology tổng quát ........................................................... 68
3.4. Kết chương ........................................................................................................... 74


CHƯƠNG 4: THIẾT KẾ ONTOLOGY CHO CỔNG THÔNG TIN GIÁO DỤC
BKEDUPORTAL ........................................................................................................... 75

4.1. Mơ hình biểu diễn ontology ................................................................................. 75
4.1.1. Mơ hình biểu diễn ......................................................................................... 75
4.1.2. Các kỹ thuật biểu diễn và ứng dụng mơ hình................................................ 78
4.2. Ontology tổng qt - BKOnto.............................................................................. 83
4.2.1. Lớp Person .................................................................................................... 85
4.2.2. Lớp Documentation....................................................................................... 86
4.2.3. Lớp Topic ...................................................................................................... 87
4.3. Các ontology cho ứng dụng chia sẻ tài liệu học tập ............................................ 88
4.3.1. Xây dựng ontology cho ứng dụng chia sẻ tài liệu học tập ............................ 88
4.3.2. Ontology ứng dụng – BKDoc ....................................................................... 89
4.3.3. Ontology lĩnh vực BKICT ............................................................................ 91
4.3.4. Một kịch bản ứng dụng tìm kiếm tài liệu học tập ......................................... 92
4.4. Kết chương ........................................................................................................... 94
CHƯƠNG 5. GIAO DIỆN LẬP TRÌNH (API) DỰA TRÊN JENA ............................ 95
5.1. Mục tiêu ............................................................................................................... 95
5.2. Jena API Framework............................................................................................ 95
5.2.1. Mơ hình phân cấp Jena API .......................................................................... 95
5.2.2. Xử lý Ontology Model .................................................................................. 96
5.2.3. Xử lý lớp ....................................................................................................... 97
5.2.4. Xử lý thuộc tính ............................................................................................ 97
5.2.5. Xử lý thể hiện ................................................................................................ 98
5.2.6. Truy vấn với Jena .......................................................................................... 98
5.2.7. Suy diễn ......................................................................................................... 99
5.2.8. Gắn ontology vào cơ sở dữ liệu .................................................................. 100
5.3. Mở rộng Jena API .............................................................................................. 100
5.3.1. Lý do cần mở rộng Jena API ....................................................................... 100
5.3.2. Thiết kế các Jena API mở rộng ................................................................... 101
5.4. Kết chương ......................................................................................................... 106
KẾT LUẬN................................................................................................................... 107



DANH MỤC CÁC TỪ VIẾT TẮT
Từ đầy đủ

STT

Từ viết tắt

1

OWL

Web Ontology Language

2

RDF

Resource Description Language

3

RDFS

RDF Schema

4

API


Application Programming Interface

5

URL

Uniform Resource Locator

6

URI

Uniform Resource Identifier

7

RSS

Really Simple Syndication

8

XML

Extensible Markup Language

9

FOAF


Friend of a Friend

10

SOAP

Simple Object Access Protocol

11

HTML

HyperText Markup Language

12

GEM

13

LO

14

CMS

Content Management System

15


ICT

Information and Communication Technology

Gateway to Educational Materials
Learning Object


DANH MỤC CÁC BẢNG BIỂU

Bảng 1.1: Các thuộc tính trong từ vựng Dublin Core ........................................................ 27
Bảng 1.2: Từ vựng FOAF. Các lớp (chữ cái hoa) và thuộc tính (chữ thường) ................. 27
Bảng 2.1: Các thuộc tính mơ tả tài ngun ........................................................................ 32
Bảng 2.2: Level 1 và Level 2 của lĩnh vực Giáo dục công nghệ ....................................... 34
Bảng 2.3: Các thành phần của CanCore(www.cancore.ca/schema.html). ........................ 38
Bảng 3.1: Phân nhóm các lĩnh vực .................................................................................... 56
Bảng 3.2: Các thông tin cần thiết trong hồ sơ người sử dụng ........................................... 64
Bảng 4.1: Các Namespace trong BKOnto ......................................................................... 84
Bảng 4.2: Các lớp và thuộc tính trong BKOnto ................................................................ 84
Bảng 4.3: Các thuộc tính trong lớp Person ........................................................................ 85
Bảng 4.4: Các thuộc tính trong lớp Documentation .......................................................... 87
Bảng 4.5: Các thuộc tính trong lớp Topic.......................................................................... 88
Bảng 4.6: Các namespace trong phân hệ chia sẻ tài liệu học tập ...................................... 89
Bảng 4.7: Các bộ ba mô tả tài liệu học tập ........................................................................ 92
Bảng 5.1: Các cấu trúc được suy diễn trong Jena .............................................................. 99
Bảng 5.2: Lớp giao tiếp cơ sở dữ liệu .............................................................................. 106


DANH MỤC HÌNH VẼ


Hình 1.1: Biểu diễn nội dung web 1.0................................................................................................................. 4
Hình 1.2: Sự phát triển của Web 2.0 ................................................................................................................... 5
Hình 1.3: Kết quả tìm theo từ khóa Paris - sử dụng Google Image Search ......................................................... 6
Hình 1.4: Phát triển Web (hình bên phải) có ngữ nghĩa từ Web 1.0 (bên trái) ................................................... 7
Hình 1.5: Các chủ đề liên quan đến Semantic Web ............................................................................................ 8
Hình 1.6: Xu hướng phát triển của thế hệ Web mới ........................................................................................... 8
Hình 1.7: Kiến trúc phân tầng của Semantic Web (Berners_Lee – 2006) .......................................................... 9
Hình 1.8: Các kiểu siêu dữ liệu ......................................................................................................................... 12
Hình 1.9: Phân loại ontology theo Guarino ....................................................................................................... 18
Hình 1.10: Phân loại ontology theo Lassila và Mc Guiness.............................................................................. 19
Hình 1.11: RDF Schema và RDF ...................................................................................................................... 22
Hình 1.12: Tiến trình xây dựng ontology .......................................................................................................... 23
Hình 1.13: Ví dụ diễn giải nội dung dựa trên ontology..................................................................................... 29
Hình 2.1: Lược đồ ontology GEM .................................................................................................................... 33
Hình 2.2: Phân cấp lớp trong từ vựng Resource Type ...................................................................................... 34
Hình 2.3: Các thành phần trong Level 1. .......................................................................................................... 34
Hình 2.4: Kiến trúc Connexions........................................................................................................................ 35
Hình 2.5: Hoạt động như “nhà máy tri thức” ......................................................................................................... 35
Hình 2.6: Kiến trúc POOL ................................................................................................................................ 37
Hình 2.7: Tạo và lưu trữ siêu dữ liệu dựa trên CanCore .................................................................................. 38
Hình 2.8: Kiến trúc tích hợp nội dung Edutella ................................................................................................ 39
Hình 2.9: Các Agent trong PIP. ........................................................................................................................ 41
Hình 2.10: Cấu trúc Ontology PEOnto ............................................................................................................. 41
Hình 2.11: Kiến trúc TANGRAM .................................................................................................................... 43
Hình 2.12: Các module trong TANGRAM ....................................................................................................... 43
Hình 2.13: Lược đồ Ontology cấu trúc ............................................................................................................. 45
Hình 2.14: Lược đồ ontology Content Type ..................................................................................................... 45
Hình 2.15: Lược đồ Domain Ontology ............................................................................................................. 46
Hình 2.16: Diễn giải nội dung LO trên nhiều ontology ................................................................................... 50
Hình 2.17: Lược đồ siêu dữ liệu RDF Binding ................................................................................................. 51

Hình 2.18: File RDF diễn giải 1 trang slide ...................................................................................................... 52
Hình 3.1: Kiến trúc cổng thơng tin BKEduPortal ............................................................................................. 55
Hình 3.2: Phân cấp chủ đề trong lĩnh vực Cơng nghệ thơng tin........................................................................ 57
Hình 3.3: Giao diện thư mục phân cấp .............................................................................................................. 61
Hình 3.4: Minh họa 3 khối và các quan hệ ........................................................................................................ 71
Hình 4.1: Biểu diễn 3 mức và 3 khối của ontology. .......................................................................................... 75
Hình 4.2: Biểu diễn ontology tổng quát BKOnto .............................................................................................. 80
Hình 4.3: Ontology cho phân hệ ứng dụng Chia sẻ tài liệu học tập .................................................................. 82
Hình 4.4: Các lớp trong BKDoc........................................................................................................................ 90
Hình 4.5: Phân cấp lĩnh vực ICT dựa trên ACM .............................................................................................. 92
Hình 5.1: Mơ hình phân cấp com.hp.hpl.jena.ontology. ................................................................................... 96
Hình 5.2: Ontology model ................................................................................................................................ 96
Hình 5.3: Mơ hình phân cấp Jena API mở rộng .............................................................................................. 102
Hình 5.4: Biểu đồ đặc tả các ca sử dụng ......................................................................................................... 103
Hình 5.5: Quá trình thêm một lớp vào BKOnto. ............................................................................................. 104
Hình 5.6: Xóa một lớp Topic khỏi ontology ................................................................................................... 104
Hình 5.7: Q trình xóa một thuộc tính .......................................................................................................... 105
Hình 5.8: Q trình tạo một thuộc tính mới .................................................................................................... 105


MỞ ĐẦU
Đặt vấn đề
Trong những năm qua, công nghệ thông tin, đặc biệt là Internet, đã góp phần rất
lớn vào việc xây dựng và đổi mới các hệ thống hỗ trợ giáo dục với các khóa học trực
tuyến, các kho chứa tài liệu học tập, đáp ứng được những tiêu chí giáo dục mới: học
mọi nơi, mọi lúc, học theo sở thích, … Tuy nhiên, các hệ thống giáo dục đang gặp phải
một số khó khăn như: (i) thiết kế, phát triển, quản lý, chia sẻ các tài nguyên giáo dục;
(ii) phân phối các dịch vụ giáo dục và tài liệu học tập cho từng cá nhân dựa trên nhu
cầu, sở thích, … Do các tài nguyên học tập phân tán trên nhiều nguồn và được đặc tả
theo nhiều dạng thông tin và từ vựng khác nhau, việc quản lý tài ngun trở nên vơ

cùng khó khăn và tốn kém. Để chia sẻ, trao đổi tài liệu học tập, một số tiêu chuẩn mô tả
tài nguyên được đề xuất như LOM, IMS, Dublin Core, ... nhưng các chuẩn này chỉ đơn
thuần tạo siêu dữ liệu với các trường mô tả đơn giản như tiêu đề, bản quyền, tác giả, ..
và tập từ vựng riêng biệt cịn hạn chế. Do đó các chuẩn vẫn chưa đủ khả năng diễn giải,
kết hợp tài nguyên theo ngữ nghĩa nội dung, và không cho phép chia sẻ hoặc tái sử
dụng các tài nguyên giáo dục một cách dễ dàng.
Semantic Web là sự mở rộng của World Wide Web bằng cách thêm vào các mô tả
ngữ nghĩa của thơng tin dưới dạng mà chương trình máy tính có thể “hiểu” và do vậy
cho phép xử lý thông tin hiệu quả hơn [1]. Cơ chế cho phép diễn giải, chia sẻ và trao
đổi ngữ nghĩa của thông tin là ontology. Theo [2], trong các hệ thống hỗ trợ giáo dục,
ontology được sử dụng chủ yếu cho 3 mục đích: (i) xây dựng cấu trúc, diễn giải ngữ
nghĩa, đánh chỉ mục, tìm kiếm tài nguyên học tập; (ii) biểu diễn và lưu trữ tri thức về
các lĩnh vực cũng như các đối tượng cần thiết trong ứng dụng; và (iii) xây dựng các
phương pháp giảng dạy, các hoạt động học tập ứng với mục tiêu, sở thích, năng lực của
từng cá nhân.
Hiện nay đã có nhiều hệ thống hỗ trợ giáo dục được xây dựng theo cách tiếp cận
sử dụng ontology và các cơng nghệ Web có ngữ nghĩa. Dựa trên các tính năng của hệ
thống mà ta có thể phân loại chúng thành 3 nhóm chủ yếu sau: (i) các hệ thống chia sẻ
tài nguyên giáo dục trực tuyến; (ii) các mạng chia sẻ ngang hàng về tài nguyên giáo
dục; và (iii) các hệ thống E-Learning dựa trên ontology. Xu hướng phát triển của các hệ

1


thống này trong tương lai là hướng về cộng đồng người sử dụng và áp dụng kết hợp các
công nghệ của Web xã hội 2.0 và cơng nghệ Web có ngữ nghĩa.
Nội dung của luận văn đề cập đến một cách tiếp cận mới trong việc xây dựng các
hệ thống hỗ trợ giáo dục cộng đồng dựa trên nguyên tắc của một mạng xã hội. Trong
đó cộng đồng người sử dụng đóng vai trị hạt nhân, cung cấp các nguồn tài nguyên
cũng như tri thức được chia sẻ. Người sử dụng không chỉ đơn thuần “thụ động” sử

dụng tài nguyên mà cịn là nguồn cung cấp tài ngun chính cho hệ thống. Có như vậy
thì nguồn tài ngun mới phong phú và đa dạng. Ontology được áp dụng trong các hệ
thống này với 3 mục đích sau: (i) mơ hình hóa tri thức chia sẻ trong cộng đồng về một
lĩnh vực; (ii) tổ chức đánh chỉ mục hỗ trợ tìm kiếm theo ngữ nghĩa các tài nguyên học
tập; (iii) mô hình hóa một mạng xã hội thể hiện sự đóng góp chia sẻ của các cá nhân
trong cộng đồng.
Mục tiêu, nhiệm vụ:
Mục tiêu của luận văn là xây dựng một kiến trúc ontology tổng quát có thể áp
dụng cho các hệ thống hỗ trợ giáo dục cộng đồng. Trong các hệ thống này, cộng đồng
người sử dụng đóng vai trị quyết định cho sự tồn tại và phát triển. Qua việc phân tích,
đánh giá một số hệ thống hỗ trợ giáo dục phổ biến hiện đang được ứng dụng và dựa
trên kinh nghiệm phân tích, mơ hình hóa một cổng thông tin giáo dục cộng đồng tên là
BKEduPortal, xem xét áp dụng công nghệ Web 2.0 và các công nghệ Web có ngữ
nghĩa, đặc biệt là ontology để đưa ra một kiến trúc ontology tổng quát cho việc xây
dựng BKEduPortal nói riêng và các hệ thống hỗ trợ giáo dục cộng đồng nói chung.
Các phương pháp giải quyết:
Qua việc phân tích, đánh giá các phân hệ ứng dụng trong BKEduPortal và một số
các hệ thống hỗ trợ giáo dục khác, luận văn đã xây dựng một kiến trúc ontology tổng
quát áp dụng cho các hệ thống hỗ trợ giáo dục cộng đồng. Kiến trúc ontology tổng quát
được thiết kế theo nguyên tắc phân tầng và phân chia nhiều thành phần (module), gồm
các ontology thành phần được kết hợp với nhau: tầng thứ nhất là một ontology tổng
quát (upper-level ontology) và ở tầng thứ hai gồm một số ontology ứng dụng, lĩnh vực
phát triển từ ontology tổng quát tùy theo yêu cầu của ứng dụng cụ thể. Luận văn trình
bày một số kỹ thuật thiết kế và ứng dụng kiến trúc ontology đã đề xuất như tiến trình
thiết kế ontology, kỹ thuật tích hợp các ontology thành phần, kỹ thuật tạo siêu dữ liệu
RDF và kỹ thuật truy vấn dữ liệu trên nhiều ontology. Luận văn cũng xây dựng và
2


phát triển một mơ hình ontology áp dụng cho cổng thơng tin giáo dục cộng đồng

BKEduPortal. Ngồi ra, luận văn đã mở rộng các lớp giao diện Jena API theo kiến trúc
ontology tổng quát để trình ứng dụng Semantic Web của người sử dụng có thể giao tiếp
dễ dàng với ontology hơn.
Cấu trúc luận văn:
Nội dung luận văn gồm phần mở đầu, năm chương nội dung, phần kết luận, các
phụ lục và tài liệu tham khảo. Các bước phân tích giải quyết vấn đề được trình bày
trong luận văn theo trình tự sau:
 Chương I: Trình bày lý thuyết về Web có ngữ nghĩa, ontology và các thế hệ
phát triển của World Wide Web.
 Chương II: Khảo sát một số hệ thống giáo dục có sử dụng ontology và cơng
nghệ Web có ngữ nghĩa và rút ra một số kỹ thuật có thể áp dụng trong việc thiết kế
ontology và xây dựng cổng thông tin giáo dục.
 Chương III: Kiến trúc ontology tổng quát cho các hệ thống hỗ trợ giáo dục
cộng đồng. Qua việc phân tích đánh giá các hệ thống giáo dục và một mơ hình kiến
trúc cổng thông tin giáo dục cộng đồng BKEduPortal, thiết kế một kiến trúc ontology
tổng quát áp dụng cho các hệ thống giáo dục cộng đồng.
 Chương IV: Xây dựng ontology cho Cổng thơng tin BKEduPortal. Đề xuất
một mơ hình biểu diễn ontology dựa trên ngôn ngữ OWL Full.
 Chương V: Giao diện lập trình (API) dựa trên Jena API Framework.
 Kết luận. Tổng kết lại các kết quả đã thực hiện. Đưa ra hướng phát triển của
luận văn trong tương lai.
 Phụ lục: Một số đoạn mã nguồn OWL của ontology tổng qt.
Tác giả luận văn bày tỏ lịng kính trọng và biết ơn sâu sắc tới TS. Tạ Tuấn Anh Người thầy đã tận tình hướng dẫn và tạo điều kiện cho tác giả thực tế tại các hội thảo,
dự án để tác giả có thể hồn thành luận văn. Tác giả xin chân thành cảm ơn các Thầy
Cô, bè bạn và người thân đã động viên và giúp đỡ trong q trình thực hiện đề tài.
Do trình độ có hạn nên luận văn khơng tránh khỏi sai sót. Tác giả kính mong nhận
được những góp ý để hồn thiện luận văn.
Hà Nội, tháng 10 năm 2008

3



CHƯƠNG 1. WEB CÓ NGỮ NGHĨA VÀ ONTOLOGY

1.1. Các thế hệ Web
Mục tiêu đầu tiên của những người tiên phong xây dựng Internet là nhằm kết nối
các nhà nghiên cứu và các máy tính của họ với nhau để có thể chia sẻ thông tin hiệu
quả. Khi bổ sung World Wide Web năm 1990, Tim Berners-Lee cũng nhằm mục tiêu
tạo phương tiện cho phép người dùng tự do đưa thông tin lên Internet và dễ dàng chia
sẻ với mọi người. Tuy nhiên, sau đó Web đã phát triển theo hướng hơi khác với mục
đích ban đầu.
1.1.1. Web 1.0
Web 1.0 chủ yếu gồm các website “đóng” của các hãng thơng tấn hoặc các cơng
ty nhằm mục đích tiếp cận độc giả hay khách hàng hiệu quả hơn và đóng vai trị là
phương tiện phát tin hơn là phương tiện chia sẻ thơng tin.

Hình 1.1: Biểu diễn nội dung web 1.0
Web 1.0 bao gồm tài liệu (nội dung trang web) và liên kết giữa các tài liệu (hình
1.1). Một trang Web có thể được truy cập theo 1 URL (uniform resource locator) thơng
qua giao thức truyền thơng (HTTP) và trình duyệt web (Internet Explorer, Netscape,
Mozilla, ...). Hiện nay tài liệu của Web 1.0 chủ yếu được viết bởi ngôn ngữ HTML,
một ngôn ngữ hữu dụng cho biểu diễn, trang trí và hiển thị tài liệu trên trình duyệt web.
Thời kỳ cực thịnh của Web 1.0 là những năm 1995-2004.
4


Các đặc điểm của Web 1.0 là:
 Các trang Web 1.0 đều ở dạng tĩnh: gần như chỉ cho phép đọc (read-only web).
 Website 1.0 khơng có tính tương tác: người dùng chỉ có thể ghé thăm trang
web nhưng khơng thể đóng góp gì vào nội dung trang web.

 Ứng dụng trên Web 1.0 đều có bản quyền.
1.1.2. Web 2.0
Tim Berners-Lee, trong bài phỏng vấn, nhấn mạnh rằng: web mà ông tạo ra mặc
nhiên đã là web 2.0 vì web chính là quan hệ “người-với-người”. Khi nói tới web 2.0
người ta nhấn mạnh tới ảnh hưởng về xã hội của web hơn là các yếu tố kỹ thuật. Do đó
Web 2.0 còn được gọi là Web xã hội (Social Web) [3]. Web 2.0 tạo cơ hội cho người
dùng sử dụng web khơng cịn là những người tiếp nhận thơng tin thụ động mà là người
tham gia tạo và đóng góp nội dung Web. Đó là các trang web có thể “đọc và viết” (readand-write), tất nhiên phải hiểu theo nghĩa rộng của từ “viết” bao gồm cả hình ảnh, video
và nhiều thứ khác tạo nên các nội dung web đa phương tiện ngày nay (xem hình 1.2).

Hình 1.2: Sự phát triển của Web 2.0
Hàng loạt công nghệ mới được phát triển nhằm làm cho ứng dụng trên web "mạnh"
hơn, nhanh hơn và dễ sử dụng hơn, được xem là nền tảng của Web 2.0. Kiến trúc công nghệ
của Web 2.0 hiện vẫn đang phát triển nhưng cơ bản bao gồm: phần mềm máy chủ, cơ chế
cung cấp nội dung, giao thức truyền thơng, trình duyệt và ứng dụng.
Nhưng cơng nghệ chỉ là "bề nổi" của Web 2.0, chính cộng đồng người dùng mới
là yếu tố nền tảng tạo nên thế hệ web mới. Việc chuyển từ "duyệt và xem" sang "tham
gia" là cuộc cách mạng thực sự, dĩ nhiên nhờ có sự phát triển cơng nghệ giúp hiện thực

5


khả năng này nhưng ở đây muốn nhấn mạnh đến hành vi của người dùng đối với Web.
Về cơ bản, Web 2.0 trao quyền nhiều hơn cho người dùng và tạo nên môi trường liên
kết chặt chẽ các cá nhân với nhau. Giờ đây có nhiều ví dụ cho thấy cộng đồng người
dùng có thể đóng góp thơng tin giá trị khi họ có phương tiện thích hợp. Wikipedia có lẽ
là ví dụ nổi tiếng nhất. Ngồi ra cịn có những ví dụ khác như các site Reddit và Digg
để cho người dùng quyết định thơng tin gì là quan trọng, hay del.icio.us cho phép mọi
người chia sẻ những địa chỉ web hay.
1.1.3. Web có ngữ nghĩa (Semantic Web)

Với nhiều tỷ trang Web phân bố trên hầu hết các quốc gia, World Wide Web
(WWW) là môi trường tốt cho việc biểu diễn và truy cập thông tin dạng số. Tuy nhiên,
lượng thơng tin khổng lồ đó cũng tạo ra những khó khăn lớn trong việc tìm kiếm, chia sẻ
thơng tin trên WWW. Hiện nay, thông tin trên WWW được biểu diễn chủ yếu dưới dạng
ngôn ngữ tự nhiên với mục đích hiển thị và trang trí cho người đọc (các trang Web trên
ngơn ngữ HTML). Nhưng con người chỉ có thể xử lý được một phần rất nhỏ trong lượng
thông tin khổng lồ trên WWW, nên cần máy tính hỗ trợ xử lý và phân tích nội dung Web.
Tuy nhiên, cách biểu diễn thông tin trên Web hiện tại chỉ phù hợp với con người và gây ra
nhiều khó khăn cho các chương trình làm nhiệm vụ hỗ trợ, tìm kiếm, chia sẻ và trao đổi
thông tin. Trong các cơ chế tìm kiếm theo từ khóa như Google, Yahoo hay AltaVista, kết
quả thông tin trả về rất lớn và độ chính xác thấp. Ví dụ, muốn tìm ảnh về thủ đơ Paris, một
số kết quả được tìm bởi Google Image Search như trong hình 1.3.

Hình 1.3: Kết quả tìm theo từ khóa Paris - sử dụng Google Image Search
Dễ thấy rằng cơ chế tìm kiếm khơng phân biệt được ngữ nghĩa nội dung của kết
quả: một số ảnh liên quan đến thủ đơ Paris, cịn một số khác lại là ảnh chụp ca sĩ Paris
Hilton. Vấn đề cần giải quyết là san lấp lỗ hổng tri thức giữa máy tính và con người:
6


những gì máy tính hiểu và có thể thực hiện thì hạn chế rất nhiều so với tri thức của con
người. Chương trình máy tính khơng xử lý và biên dịch được thông tin và dữ liệu về
ngữ nghĩa theo cách biểu diễn dưới dạng ngơn ngữ tự nhiên thích hợp với con người.
Một trong số các lý do là các trang Web không chứa thông tin mô tả nội dung, ví dụ
như chủ đề, lĩnh vực liên quan đến thông tin trên Web.
Để giải quyết vấn đề trên, nhiều tổ chức nghiên cứu và kinh doanh đã phối hợp
nghiên cứu và phát triển Web có ngữ nghĩa (Semantic Web). Theo định nghĩa của Tim
Berners Lee, giám đốc tổ chức World Wide Web Consortium (),
đồng thời là cha đẻ của WWW, Web có ngữ nghĩa là sự mở rộng của WWW hiện tại
bằng cách thêm vào các mô tả ý nghĩa (hay ngữ nghĩa) của thông tin dưới dạng mà

chương trình máy tính có thể “hiểu” và do vậy cho phép xử lý thơng tin hiệu quả hơn
[1]. Nói cách khác, Web có ngữ nghĩa là Web thế hệ mới, biểu diễn thơng tin khơng chỉ
với mục đích hiển thị, mà cịn xử lý tự động, tích hợp và tái sử dụng trong nhiều ứng
dụng. Như vậy, Web có ngữ nghĩa sẽ bao gồm các thông tin (trang Web) được biểu
diễn theo cách truyền thống cùng với ngữ nghĩa của các thông tin này được biểu diễn
một cách tường minh. Việc bổ sung phần ngữ nghĩa nhằm cung cấp thêm tri thức cho
các chương trình (agent), giúp nâng cao chất lượng phân loại, tìm kiếm, trao đổi thơng
tin. Hình 1.4 minh họa sự phát triển Semantic Web từ WWW.

Hình 1.4: Phát triển Web (hình bên phải) có ngữ nghĩa từ Web 1.0 (bên trái)
Các chủ đề liên quan đến Semantic Web bao gồm công nghệ, khái niệm (ngữ
nghĩa) và ứng dụng (hình 1.5). Các chủ đề quan trọng nhất là metadata (siêu dữ liệu),
ontology và các ngôn ngữ, công cụ, phương thức phát triển. Trong đó ontology được
xem là trục xương sống (backbone) của Semantic Web.

7


Hình 1.5: Các chủ đề liên quan đến Semantic Web
1.1.4. Web 3.0 – Web xã hội có ngữ nghĩa
Web xã hội có ngữ nghĩa (Social Semantic Web) là sự kết hợp của các cơng nghệ
Web 2.0 và Web có ngữ nghĩa [3] (hình 1.6). Sử dụng cơng nghệ Web có ngữ nghĩa để
xây dựng các dịch vụ hỗ trợ cộng đồng trực tuyến. Ngược lại, cộng đồng trực tuyến
đóng góp dữ liệu cho Web có ngữ nghĩa thơng qua các dịch vụ Web ngữ nghĩa hướng
cộng đồng như các dịch vụ mạng xã hội.

Hình 1.6: Xu hướng phát triển của thế hệ Web mới
1.2. Web có ngữ nghĩa (Semantic Web)
1.2.1. Kiến trúc Semantic Web
Semantic Web bao gồm tập hợp các cơng nghệ, cơng cụ và tiêu chuẩn, hình thành

một cơ sở hạ tầng để hỗ trợ xây dựng Web kết hợp ngữ nghĩa. Kiến trúc Semantic Web
được hình thành bởi một dãy các chuẩn nhóm vào một cấu trúc và biểu diễn mỗi quan
hệ giữa các chuẩn này. Hình 1.7 minh họa các tầng riêng biệt trong kiến trúc Semantic
Web. Tiến trình phát triển Semantic Web được thực hiện theo từng bước, mỗi bước
thuộc về một tầng trong kiến trúc, và được xây dựng dựa trên tầng liền kề bên dưới.

8


Hình 1.7: Kiến trúc phân tầng của Semantic Web (Berners_Lee – 2006)
1.2.1.1. Tầng Unicode và URI
Thành phần Unicode đảm bảo việc sử dụng tập ký tự quốc tế và thành phần URI
(Uniform Resource Identifier) cung cấp phương tiện nhằm định danh các đối tượng
trong Semantic Web. URI đơn giản chỉ là một định danh Web giống như các chuỗi bắt
đầu bằng “http” hay “fpt”. Ví dụ, có một quyển sách với tiêu đề “Oracle Database
Management”, có URI như sau:
“ />Một dạng thức của URI là URL (Uniform Resource Locator). Một URL là địa chỉ
cho phép thăm một trang Web, như: />1.2.1.2. Tầng XML, XML Schema và Namespace
XML là ngôn ngữ cho phép viết tài liệu Web có cấu trúc với một từ vựng được định
nghĩa bởi người sử dụng cuối. XML đặc biệt phù hợp cho việc gửi tài liệu trên Web và
chuyển đổi dữ liệu giữa các ứng dụng có cùng cấu trúc tài liệu. Cấu trúc XML là một cây
cân bằng với tập các thẻ mở và đóng và giá trị. Ưu điểm của XML là cấu trúc đơn giản,
mềm dẻo, dễ xây dựng tài liệu với cấu trúc tùy ý. Nhưng chính tính mềm dẻo này lại làm
chương trình máy tính xử lý khó khăn. XML khơng cung cấp ngữ nghĩa cho các thẻ, như
trong ví dụ trên, máy tính khơng hiểu tên thẻ firname_name hay phone có nghĩa là gì.
XML Schema là ngơn ngữ mơ tả cấu trúc của tài liệu XML. Đặc điểm của XML
Schema là cú pháp của nó dựa trên chính XML, và có thuận lợi là khơng chỉ tăng khả năng
đọc, mà cịn cho phép tái sử dụng công nghệ và cải tiến lược đồ cấu trúc XML đã có.
Một trong số điểm nổi bật của XML là có thể truy cập thơng tin từ nhiều nguồn
khác nhau; về mặt kỹ thuật, một tài liệu XML có thể sử dụng nhiều lược đồ cấu trúc.

9


Nhưng vì mỗi cấu của tài liệu được phát triển độc lập, do đó xảy ra xung đột về tên.
Nếu lược đồ A và B cùng định nghĩa một kiểu phần tử có tên là e theo cách khác nhau,
bộ phân tích sẽ khơng xác định được phần tử e thuộc về lược đồ nào. Giải pháp để
tránh sự nhập nhằng này rất đơn giản: sử dụng hai namespace khác nhau cho mỗi lược
đồ. Namespace khai báo theo hình thức:
xmlns:prefix = “location”
1.2.1.3. RDF và RDF Schema
RDF là mơ hình dữ liệu cơ bản, tương tự mơ hình quan hệ - thực thể (entity –
relationship) để viết các phát biểu về tài ngun Web. Mơ hình dữ liệu RDF khơng phụ
thuộc vào XML nhưng sử dụng cú pháp dựa trên XML. Tuy nhiên, do RDF chỉ đơn
thuần mô tả các phát biểu về tài nguyên Web mà không mô tả ngữ nghĩa của các thành
phần trong phát biểu. Do đó một ngôn ngữ lược đồ định nghĩa thuật ngữ trong mô hình
dữ liệu RDF gọi là RDF Schema.
RDF Schema là mơ hình khởi đầu cho việc tổ chức phân cấp các đối tượng Web.
Các thành phần chính trong RDF Schema là lớp, thuộc tính, lớp con, thuộc tính con và
các giới hạn về lĩnh vực (domain) và giá trị (range). Ngôn ngữ RDF Schema cho phép
xây dựng từ vựng mô tả các lớp và thuộc tính của tài nguyên RDF. RDF Schema sử
dụng cú pháp của RDF.
1.2.1.4. Tầng Ontology
Do RDF Schema có một số hạn chế khi biểu diễn các khái niệm trong lĩnh vực, ví
dụ, khơng biểu diễn được 2 lớp tách rời (disjoint), không kết hợp được nhiều lớp như
hợp, giao, lấy phần bù, .... nên cần các ngôn ngữ ontology mạnh hơn để mở rộng RDF
Schema và cho phép biểu diễn các mối quan hệ phức tạp hơn giữa các đối tượng Web.
Ontology có thể đáp ứng các hạn chế của RDF Schema.
Ontology là một tập các khái niệm và quan hệ giữa các khái niệm được định
nghĩa cho một lĩnh vực nào đó nhằm mục đích biểu diễn và trao đổi thông tin. Thông
thường, quan hệ bao gồm sự phân cấp giữa các lớp. Sự phân cấp xác định nếu lớp C là

lớp con của lớp C’ thì mỗi đối tượng trong C cũng thuộc về C’. Ngoại trừ phân cấp lớp,
ontology cịn chứa thơng tin như thuộc tính của lớp, các phép tính tốn logic trên các
lớp, quan hệ giữa các lớp, … Trong ứng dụng Semantic Web, ontology hỗ trợ chia sẻ
và tái sử dụng tri thức về một miền lĩnh vực.
10


1.2.1.5. Tầng Logic
Tầng Logic được sử dụng để tăng cường cho ngôn ngữ ontology bằng cách khai
báo các nguyên tắc logic và cho phép chương trình máy tính suy diễn dựa trên những
ngun tắc này. Ví dụ, một cơng ty quyết định nếu nhân viên bán được hơn 100 sản
phẩm thì sẽ là thành viên của Super Salesman Club. Chương trình máy tính thơng minh
có thể hiểu luật logic này để tạo diễ dịch đơn giản “John đã bán 102 sản phẩm, do đó
John là thành viên của Super Salesman Club”.
1.2.1.6. Tầng Proof
Tầng Proof gồm tiến trình suy luận cũng như biểu diễn kiểm chứng trong các
ngôn ngữ Web (từ các tầng thấp hơn) và xác nhận việc kiểm chứng đó.
1.2.1.7. Tầng Trust
Tầng Trust được sử dụng cho xác nhận chữ ký điện tử và một số kiểu tri thức
khác trong dịch vụ Semantic Web, dựa trên tư vấn hoặc đánh giá về độ tin cậy dịch vụ
của agent.
1.2.2. Siêu dữ liệu
Siêu dữ liệu có thể được định nghĩa là “dữ liệu mơ tả dữ liệu” [5]. Mục đích của
việc kết hợp siêu dữ liệu với các nguồn dữ liệu là hỗ trợ tìm kiếm dữ liệu và thơng tin
liên quan. Có một số mức siêu dữ liệu được kết hợp để biểu diễn nhiều mặt của dữ liệu
bao gồm cú pháp, cấu trúc và ngữ nghĩa theo ngữ cảnh. Trong Semantic Web, tài liệu
được đánh dấu với thẻ siêu dữ liệu ngữ nghĩa, để máy tính có thể hiểu nội dung tài liệu.
1.2.2.1. Siêu dữ liệu cú pháp (syntactic metadata)
Hình thức đơn giản nhất của siêu dữ liệu là siêu dữ liệu cú pháp, mô tả thông tin
không ngữ cảnh về nội dung và đưa ra thông tin rất chung chung như kích thước, ngày

tạo, nơi chứa tài liệu. Siêu dữ liệu cú pháp gắn thẻ hoặc nhãn vào dữ liệu. Ví dụ:
<name> = “report.pdf”
<creation> = “30-09-2005”
<modified> = “15-10-2005”
<size> = 2048
1.2.2.2. Siêu dữ liệu cấu trúc (structure metadata)
Siêu dữ liệu cấu trúc tạo thông tin về cấu trúc của nội dung. Số lượng kiểu siêu dữ
liệu này biến đổi rất lớn, phụ thuộc vào kiểu tài liệu. Siêu dữ liệu cấu trúc mơ tả cách
nhóm và đặt dữ liệu theo cách sắp xếp có thứ tự với dữ liệu khác. Trong ví dụ dưới đây,
cấu trúc DTD mơ tả một tài liệu XML:

11


<!ELEMENT contacts (contact*)>
<!ELEMENT contact (name, birthdate)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT birthdate (#PCDATA)>
1.2.2.3. Siêu dữ liệu ngữ nghĩa (semantic metadata)
Siêu dữ liệu ngữ nghĩa bổ sung các quan hệ, luật và ràng buộc vào siêu dữ liệu cú
pháp và cấu trúc, mô tả thông tin liên quan ngữ cảnh hoặc về lĩnh vực cụ thể của nội
dung dựa trên một mơ hình siêu dữ liệu. Trong Semantic Web, mơ hình siêu dữ liệu
chính là ontology.
Siêu dữ liệu ngữ nghĩa hỗ trợ tìm kiếm có độ chính xác cao, và quan trọng hơn,
cho phép kết hợp giữa nhiều nguồn dữ liệu không đồng nhất. Siêu dữ liệu ngữ nghĩa
được sử dụng để đưa ngữ nghĩa vào các thành phần dữ liệu đã được mô tả bởi siêu dữ
liệu cú pháp và cấu trúc. Các thành phần siêu dữ liệu này cho phép các chương trình
máy tính “hiểu” được ngữ nghĩa của dữ liệu. Sau khi tạo mơ hình siêu dữ liệu về dữ
liệu và các quan hệ, có thể thực hiện suy diễn để đưa ra kết luận logic dựa trên mơ hình
siêu dữ liệu đó. Hình 1.8 mơ tả các kiểu siêu dữ liệu.


Hình 1.8: Các kiểu siêu dữ liệu
1.2.3. Các mơi trường phát triển Semantic Web
Hiện nay sẵn có một số framework hỗ trợ xử lý các ontology OWL. Luận văn chỉ
giới thiệu ngắn gọn ba framework phổ biến nhất đang được cộng đồng phát triển sử dụng
là Jena framework, Protégé-OWL API và WonderWeb OWL API [5]. Cả ba framework
trên đều được phát triển dựa trên ngơn ngữ lập trình Java. Các framework là mã nguồn mở,
hỗ trợ tích hợp dễ dàng hơn các thành phần của Semantic Web vào các dự án (project).
12


1.2.3.1. Jena API
Jena là một Java framework xây dựng các ứng dụng Semantic Web, được phát
triển bởi HP Lab Semantic Web Programme. Jena tạo ra mơi trường lập trình cho RDF,
RDFS và OWL, bao gồm một mô tơ suy diễn trên cơ sở các luật và ngôn ngữ truy vấn
vào tài liệu RDF gọi là RDQL. Jena cung cấp các hàm giao diện API xử lý ontology
được viết trên các ngôn ngữ như RDFS, DAML+OIL, OWL. Jena OWL API hỗ trợ cả
3 ngôn ngữ OWL là OWL Lite, OWLFull, OWL DL. Sau khi xác định URI cho OWL
ontology, Jena phân tích và tạo ra một model cho ontology. Với model này, có thể xử
lý ontology như tạo ra các lớp, thuộc tính hoặc thể hiện mới. Việc phân tích tài liệu
OWL có thể tiêu tốn tài nguyên, đặc biệt với ontology lớn. Để khắc phục vấn đề này,
Jena cung cấp một kỹ thuật lưu trữ và triệu gọi ontology model từ cơ sở dữ liệu.
Có 3 cơ chế suy diễn với mức độ suy diễn khác nhau có thể được gắn vào một
ontology model. Một tính chất thú vị của Jena là cho phép người phát triển có thể viết
các luật suy diễn của riêng họ để xác định chính xác nhất những gì họ mong muốn.
Cũng có thể kết hợp Jena với các mô tơ suy diễn khác như RACER, FaCT và Pellet.
1.2.3.2. Protégé OWL API
Protégé OWL API là một thư viện Java nguồn mở cho RDFS và OWL, cung cấp
cho cộng đồng người sử dụng các công cụ thích hợp để xây dựng các model lĩnh vực
và ứng dụng dựa trên cơ sở tri thức và ontology. Các hàm API trong thư viện là các lớp

và phương thức nạp, lưu trữ các file OWL, truy vấn và xử lý mơ hình OWL và cuối
cùng là xử lý suy diễn. Protégé API là một phần thuộc Protégé OWL Plug-in, mở rộng
Protégé Core System, cho phép người sử dụng phát triển OWL plug-in hoặc các trình
ứng dụng Semantic Web. Protégé OWL API sử dụng Jena framework để phân tích và
suy diễn trong các ontology OWL, và cung cấp giao diện lập trình dựa trên thư viện
Java Swing. Kiến trúc OWL Protégé API theo khuôn mẫu model-view, cho phép người
sử dụng viết GUI (view) biểu diễn ontology (model).
1.2.3.3. WonderWeb OWL API
WonderWeb OWL API là một API cung cấp các dịch vụ lập trình xử lý ontology
OWL. WonderWeb API cũng có thể suy diễn ra tri thức mới sau khi gắn mô tơ suy
diễn vào ontology model. Một số dự án đã sử dụng thành công WonderWeb API như
Swoop (SWOOP 2006) và Smore (SMORE 2006), cho thấy WonderWeb API đủ khả
năng phát triển ứng dụng Semantic Web. Nhược điểm chính của WonderWeb là thiếu
tài liệu hướng dẫn sử dụng và ví dụ trên Web.
13


1.2.4. Semantic Web Portal
Cũng như Semantic Web là sự mở rộng của Web, Semantic Web Portal được
phát triển từ Web Portal. Theo [6, 7], hiện tại có một số loại Web Portal như sau:
 Web Portal là web site thu thập thơng tin phục vụ cho một nhóm người có
cùng mối quan tâm.
 Semantic Web Portal là một Web Portal được xây dựng trên công nghệ
Semantic Web.
 Community Semantic Web Portal là Semantic Web Portal, được duy trì bởi
một cộng đồng người sử dụng.
Bản chất phân tán, không đồng nhất của Web dẫn tới nhu cầu phải có Web Portal,
các web site hỗ trợ tập hợp các dịch vụ Web từ nhiều nơi và cung cấp chức năng tìm
kiếm thơng tin. Tương tự, Semantic Web Portal có thể được xem như nơi tập hợp các
nguồn tài nguyên tri thức phân tán trên nhiều vùng. Tuy nhiên, khác với Web Portal,

Semantic Web Portal “thông minh hơn”, và thực hiện suy luận thông minh dựa trên các
điều kiện. Semantic Portal cung cấp các dịch vụ gồm trình duyệt web dựa trên ngữ
nghĩa, tìm kiếm ngữ nghĩa và trả lời câu hỏi thơng minh. Trình duyệt web ngữ nghĩa
xác định các siêu dữ liệu và tập trung vào giao diện point-and-click từ việc kết hợp
thơng tin liên quan. Tìm kiếm ngữ nghĩa tăng cường các cơ chế tìm kiếm hiện tại với
ngữ nghĩa, chuyển từ việc tìm kiếm dựa trên so khớp từ khóa đến việc thêm vào thơng
tin ngữ nghĩa, cho phép dễ dàng loại bỏ thông tin không liên quan từ tập kết quả. Trả
lời câu hỏi thông minh là kỹ thuật đưa ra câu trả lời chính xác cho câu hỏi cụ thể. Ví dụ,
đưa ra câu hỏi “Quốc gia nào có tỉ lệ lạm phát cao nhất năm 2004?”, hệ thống sẽ trả lời
ngay tên quốc gia đó. Tất cả các dịch vụ trên phải nằm ở đỉnh các chức năng như truy
cập vào thơng tin ngữ nghĩa.
Có thể xem Semantic Web Portal là nơi tập hợp các dịch vụ Semantic Web, các
dịch vụ ngữ nghĩa suy luận trong hậu cảnh (background) dựa trên nhu cầu cá nhân, trái
ngược với việc người dùng phải tự tìm kiếm thủ cơng theo cách truyền thống.
1.3. Ontology
1.3.1. Định nghĩa
Từ “ontology” bắt nguồn từ tiếng Hy Lạp là ontos, có nghĩa là “đang tồn tại”, và
logos, nghĩa là “từ”. Trong triết học, ontology là sự nghiên cứu, phân loại những sự vật,
14


hiện tượng đang tồn tại trong lĩnh vực cụ thể. Trong lĩnh vực Web có ngữ nghĩa, đã có
một số định nghĩa về ontology. Tuy nhiên, có sự nhất trí trong cộng đồng nghiên cứu
về vai trò của ontology: đưa ra sự hiểu biết chung về một lĩnh vực nào đó.
Một số định nghĩa đầy đủ nhất của ontology như sau:
 [Uschold and Jasper, 1999] phát biểu rằng, mặc dù mang một số hình thức,
ontology ln chứa một từ vựng và một số đặc tả về ngữ nghĩa. Ontology chứa các
định nghĩa và quan hệ giữa các khái niệm, hình thành một cấu trúc lĩnh vực và giới hạn
ngữ nghĩa của thuật ngữ trong từ vựng.
 [Neches et al., 1991] định nghĩa ontology không chỉ là một tập các thuật ngữ

và quan hệ về một lĩnh vực mà còn chứa các luật kết hợp các thuật ngữ và quan hệ này
để mở rộng từ vựng.
 [Gruber, 1993] định nghĩa ontology như một đặc tả tường minh của sự “khái
niệm hóa” (conceptualization). Ở đây “khái niệm hóa” về cơ bản là ý niệm về thế giới
của một người hoặc nhóm người; “tường mình” có nghĩa là kiểu và giới hạn của các
khái niệm được định nghĩa tường mình.
 [Weiss, 1999] định nghĩa ontology là một đặc tả của các khái niệm và quan hệ
trong lĩnh vực quan tâm. Ontology không chỉ là phân cấp các lớp mà cịn mơ tả các quan hệ.
 [Noy and McHuinness, 2001] phát biểu ontology là bản mơ tả hình thức rõ
ràng của các khái niệm trong một lĩnh vực, trong đó thuộc tính của mỗi khái niệm mơ
tả một số tính chất của khái niệm và ràng buộc.
 [Hendler, 2001], ontology là một tập hợp các thuật ngữ tri thức (knowledge
term), bao gồm từ vựng, các quan hệ ngữ nghĩa, và một số luật suy diễn và logic về
lĩnh vực chủ đề cụ thể [15]. Các thành phần quan trọng nhất trong định nghĩa này là
quan hệ ngữ nghĩa (1) và suy diễn logic (2), trong đó (1) phát biểu rằng ontology xác
định ngữ nghĩa của quan hệ giữa các khái niệm.
Ngoài ra, cộng đồng nghiên cứu phân biệt các ontology dựa trên độ phức tạp của
mơ hình biểu diễn ontology.
 Lightweight ontology: chứa các khái niệm, phân cấp khái niệm, mối quan hệ
giữa các khái niệm và các thuộc tính mơ tả khái niệm.
 Heavyweight ontology: bổ sung vào lighweight ontology các tiền đề (axioms)
và ràng buộc (constraint).
Trong phạm vi luận văn, ontology là sự đặc tả rõ ràng, hình thức của các khái
niệm được chia sẻ trong lĩnh vực quan tâm.
15


1.3.2. Vai trị của ontology đối với Web có ngữ nghĩa
Mục đích của Semantic Web là phát triển WWW thơng qua việc sử dụng ngữ
nghĩa. Cụ thể hơn, Semantic Web đề xuất cách diễn giải ngữ nghĩa (semantic

annotation) để mô tả các thành phần thông tin trên Web và các thông báo được áp dụng
cho dịch vụ Web. Các chuẩn hỗ trợ diễn giải ngữ nghĩa là RDF, RDF Schema và OWL.
Các siêu dữ liệu diễn giải cũng có tác dụng phát triển tính chính xác trong các ứng
dụng tìm kiếm trên Web. Các cơ chế tìm kiếm có thể tìm trang Web trong đó các khái
niệm chính xác từ một ontology có thể được đánh dấu thay vì thu thập tất cả các trang
chứa sự nhập nhằng về từ khóa.
Ontology được xem là “trục xương sống” của Semantic Web. Danh mục dưới đây
sẽ phân tích vai trị của ontology trong ngữ cảnh ứng dụng Web có ngữ nghĩa.
 Chia sẻ sự hiểu biết chung giữa các ứng dụng và con người. Cụ thể là các ứng
dụng chia sẻ các khái niệm chung, đặc tả của các khái niệm và từ vựng. Ontology cịn
hỗ trợ các hệ thống thơng minh điều chuyển (mediate) giữa các hình thức tổ chức thơng
tin khác nhau. Khả năng này tạo thành điều kiện tiên quyết chính cho sự truy cập tồn
cầu vào các dịch vụ Web.
 Cho phép sử dụng lại tri thức. Ví dụ, nếu một nhóm nghiên cứu đã phát triển
các ontology, nhóm khác có thể sử dụng lại cho ứng dụng của họ.
 Đưa ra các giả thiết rõ ràng về miền: Đặc tả rõ ràng về miền tri thức sẽ giúp
cho người mới dễ tìm hiểu ngữ nghĩa của miền lĩnh vực.
 Phân tách tri thức lĩnh vực với tri thức thao tác. Có thể hình dung 1 tác vụ tạo
một tài liệu học tập từ nhiều thành phần theo đặc tả thì độc lập với chương trình ứng
dụng làm nhiệm vụ này.
 Phân tích tri thức lĩnh vực. Phân tích hình thức của các khái niệm, cần thiết
cho việc tái sử dụng và mở rộng ontology.
1.3.3. Các thành phần của ontology
Có một số kỹ thuật lập mơ hình và biểu diễn ontology như frames, first-order
logic, description logic, các kỹ thuật công nghệ phần mềm, ... Mặc dù các kỹ thuật này
có thể biểu diễn cùng một cơ sở tri thức với các mức độ hình thức và chi tiết khác nhau,
ontology được xây dựng đều có cùng các thành phần cơ bản sau:
 Các lớp (class): biểu diễn các khái niệm trong miền lĩnh vực, ví dụ cuốn sách,
bài báo, .... Các lớp thường được tổ chức phân cấp và áp dụng kỹ thuật thừa kế. Phân
16



cấp lớp được biểu diễn theo cây cấu trúc. Theo tính chất đa thừa kế, một lớp có thể có
nhiều lớp cha (superclass). Các lớp cũng có thể là cụ thể (concrete) hoặc trừu tượng
(abstract). Khác với lớp trừu tượng, lớp cụ thể có các thể hiện trực tiếp.
 Thuộc tính (property): mơ tả các tính chất của khái niệm. Thuộc tính được
phân biệt với quan hệ (relation) dựa trên giá trị là một kiểu dữ liệu (string, number,
boolean, ...).
 Quan hệ (relation): biểu diễn các kiểu quan hệ giữa các khái niệm. Các quan
hệ nhị phân được sử dụng để biểu diễn thuộc tính. Tuy nhiên, giá trị của quan hệ khác
với giá trị của thuộc tính ở chỗ: giá trị của quan hệ là một khái niệm.
 Thể hiện (instance): biểu diễn các thành phần cụ thể, là các thể hiện của một
lớp. Các thể hiện mới có thể được tạo và gán giá trị cho thuộc tính và quan hệ. Thường
trong các công cụ đồ họa xây dựng ontology, có giao diện nhập dữ liệu khi tạo instance.
 Hàm (function): biểu diễn các quan hệ đặc biệt, trong đó, phần tử thứ n là duy
nhất đối với n-1 phần tử còn lại.
 Tiền đề (Axioms): biểu diễn các phát biểu luôn đúng. Axioms được sử dụng
để kiểm chứng sự nhất quán của ontology hoặc cơ sở tri thức.
Các khái niệm, quan hệ, thuộc tính và thể hiện được sử dụng để xây dựng các
ontology đơn giản (lightweight). Ontology phức tạp (Heavyweight) bổ sung thêm
axioms và function từ ontology đơn giản.
1.3.4. Phân loại ontology
Một số nhóm nghiên cứu đã thực hiện phân loại ontology như: Mizogughi (1995),
Van Heijist (1997), Guarino (1998) và McGuiness (2001) [8]. Luận văn chỉ trình bay
hai cách phân loại ontology quan trọng sẽ được áp dụng về sau, đó là phân loại của
Guarino và McGuiness.
1.3.4.1. Phân loại theo Guarino
Guarino phân loại các kiểu ontology theo mức và sự phụ thuộc vào một quan
điểm hoặc tác vụ cụ thể. Phân loại của Guarino như sau (hình 1.9): mức đỉnh (toplevel), lĩnh vực, tác vụ và ứng dụng.


17


Hình 1.9: Phân loại ontology theo Guarino
 Top-level hoặc Upper-level ontology: mơ tả các khái niệm chung và đóng vai
trị nền tảng cho các khái niệm gốc của các ontology khác liên kết tới.
 Domain ontology: Mô tả một miền lĩnh vực cụ thể (ví dụ, y học, tin học, luật, …).
Các ontology này đưa ra từ vựng về các khái niệm và các quan hệ trong lĩnh vực, về
các hoạt động đặt trong lĩnh vực đó, và về lý thuyết, nguyên tắc điều khiển lĩnh vực.
 Task Ontology: mô tả từ vựng liên quan đến tác vụ hoặc hành động chung (ví
dụ, lập lịch biểu, bán hàng, chẩn đốn, …) bởi xác định các thuật ngữ trong top-levelontology. Task ontology đưa ra từ vựng thuật ngữ được sử dụng để giải quyết các vấn
đề kết hợp với tác vụ có thể thuộc hoặc khơng thuộc cùng một lĩnh vực.
 Application ontology: là các ontology phụ thuộc ứng dụng, bao gồm các định
nghĩa cần thiết để lập mơ hình tri thức cho một ứng dụng cụ thể. Các ontology ứng
dụng thường mở rộng và xác định từ vựng của domain và task ontology cho ứng dụng.
1.3.4.2. Phân loại của Lassila và Mc Guiness
Lassila và Mc Guinness phân loại ontology theo thông tin cần biểu diễn và sự
phong phú về cấu trúc bên trong. Ontology được chia thành các loại: từ vựng giới hạn
(controlled vocabulary), từ điển đồng nghĩa (thesauri), phân cấp is-a khơng hình thức,
phân cấp is-a hình thức (formal), cấu trúc phân lớp - thuộc tính (frame), giới hạn giá trị
và ràng buộc logic tổng quát (hình minh họa 1.10).

18


×