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

Luận văn thạc sĩ xây dựng hệ thống hỗ trợ tư vẫn thiết kế nhà dân dụng dựa trên semantic web

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.11 MB, 73 trang )

1

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA

TRẦN THỊ HỒNG NHUNG

XÂY DỰNG HỆ THỐNG HỖ TRỢ
TƯ VẤN THIẾT KẾ NHÀ DÂN DỤNG
DỰA TRÊN SEMANTIC WEB

LUẬN VĂN THẠC SĨ KỸ THUẬT

Đà Nẵng - Năm 2017


ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA

TRẦN THỊ HỒNG NHUNG

XÂY DỰNG HỆ THỐNG HỖ TRỢ
TƯ VẤN THIẾT KẾ NHÀ DÂN DỤNG
DỰA TRÊN SEMANTIC WEB

Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01.01

LUẬN VĂN THẠC SĨ KỸ THUẬT

Người hướng dẫn khoa học: PGS.TS. VÕ TRUNG HÙNG



Đà Nẵng - Năm 2017


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.

Tác giả luận văn

Trần Thị Hồng Nhung


ii

TÓM TẮT LUẬN VĂN
XÂY DỰNG HỆ THỐNG HỖ TRỢ TƯ VẤN THIẾT KẾ NHÀ DÂN DỤNG
Học viên: Trần Thị Hồng Nhung. Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01. Khóa: 31. Trường Đại học Bách khoa - ĐHĐN
Tóm tắt - Hiện nay, trên thế giới có nhiều hệ thống hỏi-đáp tự động hỗ trợ cho người dùng.
Tuy nhiên, những hệ thống này hầu hết đều hỏi đáp bằng ngôn ngữ tiếng Anh. Nhu cầu xây
dựng một hệ thống hỗ trợ cho người dùng Việt khi muốn đặt câu hỏi về một vấn đề nào đó là
hết sức cần thiết và có ích, điển hình là các vấn đề trong lĩnh vực tư vấn, thiết kế nhà dân
dụng. Luận văn này tập trung nghiên cứu xây dựng “Hệ thống hỗ trợ tư vấn thiết kế nhà dân
dụng dựa trên Semantic web” nhằm cụ thể hóa các nhu cầu đó. Hệ thống cho phép người
dùng nhập vào một câu hỏi hay một từ khóa nào đó bằng tiếng Việt thuộc lĩnh vực tư vấn thiết
kế nhà dân dụng. Tiếp đến sẽ tiến hành phân tích câu hỏi/từ khóa đó, thực hiện việc tách từ

tiếng Việt nếu cần thiết. Dựa vào các từ khóa có được sau khi tách từ, hệ thống sẽ thực hiện
truy vấn dữ liệu trên ontology và trả kết quả về cho người dùng thông qua thư viện Jena. Nếu
không có từ khóa nào thỏa mãn yêu cầu tìm kiếm, hệ thống sẽ thông báo không tìm được và
người dùng sẽ nhập lại câu hỏi/từ khóa khác.
Từ khóa - Xử lý ngôn ngữ tự nhiên, tách từ tiếng Việt, web ngữ nghĩa, hệ thống hỗ trợ, tư
vấn thiết kế, nhà dân dụng.

BUILDING AN ADVISORY SUPPORT SYSTEM FOR THE DESIGN OF
CIVIL HOUSES
Abstract – Currently, the world has many question-answer system automatically support the
user. However, these systems are in English language. Before the demand for support
Vietnamese user when to ask questions about an issue that is very necessary and useful, such
as the problems in the field of consultancy and design of civil houses. This thesis forcuses on
the building an "advising support system of the design of civil houses". The system allows
users to ask a question in a Vietnamese or a keyword concerning in the field of consultancy
and design of civil houses. The system will analyze the Vietnamese question/keyword of the
user, then, the system will do the Vietnamese word segmentation if necessary. Basing on the
keywords after the segmentation, the system will query data on ontology database and returns
the result for the user through Jena library. If no keyword is suitable for searching criteria, the
system will alert no result found, and the user will reenter the other question/keyword.
Keywords - Natural language processing, Vietnamese word segmentation, semantic web,
support systems, consultancy and design, civil houses


iii

MỤC LỤC

LỜI CAM ĐOAN ............................................................................................................. i
TÓM TẮT LUẬN VĂN ..................................................................................................ii

MỤC LỤC ..................................................................................................................... iii
DANH MỤC CÁC TỪ VIẾT TẮT ................................................................................ vi
DANH MỤC CÁC BẢNG ............................................................................................vii
DANH MỤC CÁC HÌNH ........................................................................................... viii
MỞ ĐẦU ......................................................................................................................... 1
1. Lý do chọn đề tài ..................................................................................................... 1
2. Mục tiêu và nhiệm vụ .............................................................................................. 1
3. Đối tượng và phạm vi nghiên cứu ........................................................................... 1
4. Giả thiết nghiên cứu ................................................................................................ 2
5. Phương pháp nghiên cứu ......................................................................................... 2
6. Ý nghĩa khoa học và thực tiễn của đề tài ................................................................ 2
7. Bố cục của luận văn ................................................................................................ 2
CHƯƠNG 1. TỔNG QUAN VỀ SEMANTIC WEB ..................................................... 4
1.1. TỔNG QUAN WEB NGỮ NGHĨA .................................................................... 4
1.1.1. Sự ra đời của Semantic Web ......................................................................... 4
1.1.2. Khái niệm ...................................................................................................... 5
1.2. KIẾN TRÚC CỦA SEMANTIC WEB ................................................................ 6
1.2.1. Giới thiệu ...................................................................................................... 6
1.2.2. Vai trò của các tầng ...................................................................................... 6
1.2.2.1. Tầng Unicode và URI............................................................................ 6
1.2.2.2. Tầng XML ............................................................................................. 7
1.2.2.3. Tầng RDF và RDFS (RDF schema) ...................................................... 7
1.2.2.4. Tầng Ontology vocabulary .................................................................... 8
1.2.2.5. Tầng Logic ............................................................................................ 8
1.2.2.6. Tầng Proof ............................................................................................. 8
1.2.2.7. Tầng trust ............................................................................................... 9
1.2.3. Ontology........................................................................................................ 9
1.2.3.1. Khái niệm .............................................................................................. 9
1.2.3.2. Yêu cầu khi sử dụng Ontology ............................................................ 11
1.2.3.3. Vai trò của Ontology ........................................................................... 11

1.2.3.4. Các thành phần của Ontology ............................................................. 12
1.2.3.5. Ngôn ngữ OWL ................................................................................... 13


iv

1.2.4. Quy trình xây dựng Semantic Web ............................................................. 13
1.2.5. Công cụ phát triển Semantic Web .............................................................. 15
1.2.5.1. Công cụ phát triển Ontology ............................................................... 15
1.2.5.2. Công cụ kết nối và thao tác với Ontology ........................................... 18
1.2.5.3. Công cụ tách từ.................................................................................... 24
CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG ................................................... 28
2.1. TỔNG QUAN VỀ NHÀ Ở ................................................................................ 28
2.1.1. Khái niệm .................................................................................................... 28
2.1.2. Đặc điểm thiết kế kiến trúc nhà dân dụng .................................................. 28
2.1.3. Giải pháp tổ chức liên hệ giao thông trong nhà ......................................... 29
2.1.4. Phân loại nhà ở ........................................................................................... 29
2.1.4.1. Phân loại dựa vào hình thức tổ chức đáp ứng công năng .................... 29
2.1.4.2. Phân loại dựa theo độ cao.................................................................... 30
2.1.4.3. Phân loại dựa theo đối tượng phục vụ và ý nghĩa xã hội .................... 30
2.1.4.4. Các bộ phận cần có trong căn hộ ......................................................... 31
2.2. PHÂN TÍCH HỆ THỐNG TRA CỨU THÔNG TIN THIẾT KẾ NHÀ DÂN
DỤNG ....................................................................................................................... 33
2.2.1. Giới thiệu .................................................................................................... 33
2.2.2. Mô tả ứng dụng ........................................................................................... 33
2.2.3. Phân tích hệ thống ...................................................................................... 34
2.2.3.1. Các yêu cầu lưu trữ.............................................................................. 34
2.2.3.2. Các yêu cầu về giao diện ..................................................................... 35
2.2.3.3. Các yêu cầu về chức năng ................................................................... 35
2.2.3.4. Các yêu cầu phi chức năng .................................................................. 35

2.2.4. Thiết kế hệ thống ......................................................................................... 36
2.2.4.1. Mô hình đề xuất ................................................................................... 36
2.2.4.2. Mô hình use-case cho đối tượng là người sử dụng hệ thống .............. 37
2.2.4.3. Đặc tả use-case phân hệ người sử dụng .............................................. 38
2.2.4.4. Đặc tả use-case phân hệ người quản trị hệ thống ................................ 39
CHƯƠNG 3. PHÁT TRIỂN ỨNG DỤNG ................................................................... 42
3.1. TỔNG QUAN HỆ THỐNG ............................................................................... 42
3.2. PHÁT TRIỂN ỨNG DỤNG .............................................................................. 43
3.2.1. Xây dựng Ontology ..................................................................................... 43
3.2.2. Xây dựng Website tìm kiếm ......................................................................... 47
3.2.2.1. Xây dựng giao diện ứng dụng ............................................................. 47
3.2.2.2. Xây dựng bộ máy tìm kiếm ................................................................. 48
3.2.2.3. Các công cụ, thư viện, phần mềm sử dụng trong phát triển ứng dụng 52
3.3. ĐÁNH GIÁ KẾT QUẢ CỦA HỆ THỐNG ....................................................... 52


v

KẾT LUẬN ................................................................................................................... 54
DANH MỤC TÀI LIỆU THAM KHẢO ...................................................................... 56
QUYẾT ĐỊNH GIAO ĐỀ TÀI.
BẢN SAO KẾT LUẬN CỦA HỘI ĐỒNG, BẢN SAO NHẬN XÉT CỦA CÁC
PHẢN BIỆN.


vi

DANH MỤC CÁC TỪ VIẾT TẮT
STT


Từ viết tắt

Diễn giải

1

CSDL

Cơ sở dữ liệu

2

DAML

DARPA Markup Language

3

HTML

HyperText Markup Language

4

HTTP

HyperText Transfer Protocol

5


IRI

Internationalized Resource Identifier

6

ISO

International Standards Organization

7

IWS

Institute of Web Science

8

OIL

Ontology Inference Layer

9

OWL

Web Ontology Language

10


RDF

Resource Description Framework

11

RDFS

Resource Description Framework Schema

12

SGML

Standard Generalized Markup Language

13

SWSE

Semantic Web Search Engine

14

URI

Uniform Resource Identifier

15


URL

Uniform Resource Locator

16

WWW

World Wide Web


vii

DANH MỤC CÁC BẢNG

Số hiệu

Tên bảng

Trang

bảng
1.1

3.1

So sánh các điểm khác biệt chính giữa tiếng Việt và Tiếng
Anh
Một số thuật ngữ quan trọng về thiết kế nhà dân dụng


24

44


viii

DANH MỤC CÁC HÌNH
Số hiệu

Tên hình

hình

.

Trang

1.1

Một đề xuất nguồn gốc Web với CERN

5

1.2

Kiến trúc Web ngữ nghĩa

6


1.3

Bộ ba RDF

8

1.4

Mô tả suy luận ngang cấp trong Web Semantic

10

1.5

Mô tả suy luận ngược trong Web Semantic

10

1.6

Giao tiếp bằng đồ hoạ của Protégé

17

1.7

Mô hình quan hệ giữa các nút và các cạnh

21


1.8

Mô hình xử lý tiếng Việt của JvnTextPro

25

1.9

Tách từ theo phương pháp so khớp tối đa

27

2.1

Mô hình hệ thống

34

2.2

Mô hình hoạt động của hệ thống đề xuất

36

2.3

Mô hình use-case đặc tả chức năng người dùng hệ thống

37


2.4

Mô hình use-case đặc tả chức năng người quản trị hệ thống

38

2.5

Đặc tả chức năng tìm kiếm thông tin

38

2.6

Đặc tả chức năng xem thông tin chi tiết

39

2.7

Chức năng Thêm tài nguyên

40

2.8

Chức năng Xóa tài nguyên

40


2.9

Chức năng Cập nhật tài nguyên

41

3.1

Kiến trúc tổng thể của hệ thống

43

3.2

Các lớp trong ứng dụng

45

3.3

Các thuộc tính trong ứng dụng

46

3.4

Các cá thể trong ứng dụng

47


3.5

Giao diện tìm kiếm của hệ thống

48

3.6

Quy trình truy xuất dữ liệu của Bộ máy tìm kiếm

49

3.7

Kết quả tìm kiếm theo từ khóa

50


1

MỞ ĐẦU
1. Lý do chọn đề tài
Cùng với sự phát triển kinh tế - xã hội, nhu cầu về xây dựng các ngôi nhà phù
hợp với mỗi gia đình đang đặt ra trong thực tế. Tuy nhiên, hiện nay chưa có một hệ
thống nhằm cung cấp thông tin và đưa ra các tư vấn cần thiết cho việc xây dựng một
ngôi nhà theo nhu cầu riêng mỗi người. Những câu hỏi đặt ra khi xây dựng một ngôi
nhà thường là hình thức như thế nào, trang trí ra sao và giá thành cho việc xây dựng là
bao nhiêu.
Với đặc điểm chính là nâng cao khả năng chia sẻ tài nguyên và tăng “sự hiểu

biết” trong quá trình xử lý dữ liệu của máy tính, Web ngữ nghĩa đã đi sâu vào phân
tích và định hướng dữ liệu đồng thời hỗ trợ phát triển ứng dụng Web ngữ nghĩa để
phục vụ cho nhiều lĩnh vực khác nhau. Một trong những lĩnh vực điểm mạnh của Web
ngữ nghĩa là cho phép mô tả thông tin về dữ liệu nhằm xử lý và tìm kiếm thông tin
thuận lợi hơn.
Nhằm mục đích nghiên cứu về Web ngữ nghĩa và ứng dụng xây dựng một hệ
thống cung cấp thông tin và tư vấn cho người dùng để chọn lựa, thiết kế ngôi nhà phù
hợp nhất, tác giả đăng ký thực hiện đề tài “Xây dựng hệ thống hỗ trợ tư vấn thiết kế
nhà dân dụng dựa trên Semantic Web”.

2. Mục tiêu và nhiệm vụ
Mục tiêu: Xây dựng được kho dữ liệu về thông tin tham khảo khi thiết kế nhà
dân dụng, xây dựng thành công ứng dụng Semantic Web để cung cấp thông tin về thiết
kế nhà dân dụng cho người dân có nhu cầu.
Nhiệm vụ của đề tài: Nghiên cứu tổng quan về Semantic Web bao gồm các khái
niệm liên quan, các công cụ, cách thức xây dựng một Semantic Web và các ứng dụng
của Semantic Web. Phân tích thiết kế và xây dựng hệ thống tra cứu thông tin về thiết
kế nhà dân dụng dựa trên Semantic Web.

3. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu: Cơ sở lý thuyết và nền tảng để xây dựng một ứng dụng về
Semantic Web, thông tin thiết kế nhà dân dụng, phương pháp xây dựng và lưu trữ dữ
liệu trong Semantic Web và các công cụ dùng để xây dựng Semantic Web.


2

Phạm vi nghiên cứu: Xây dựng kho dữ liệu trong lĩnh vực thiết kế nhà dân dụng,
khảo sát ý kiến, thu thập dữ liệu và xây dựng ứng dụng cung cấp thông tin thiết kế nhà
dân dụng khu vực đồng bằng sông Cửu Long.


4. Giả thiết nghiên cứu
Hệ thống cung cấp thông tin tham khảo về thiết kế nhà dân dụng ra đời sẽ phục
vụ tốt hơn cho việc cung cấp thông tin nhà dân dụng, tìm hiểu và nghiên cứu về nhà ở
khu vực đồng bằng sông Cửu Long

5. Phương pháp nghiên cứu
Phương pháp nghiên cứu lý thuyết: Nghiên cứu tài liệu, công cụ và công nghệ
liên quan đến Semantic Web. Tiêu chuẩn thiết kế nhà ở, nguyên lý thiết kế nhà ở.
Tổng hợp các tài liệu liên quan đến nhà ở khu vực đồng bằng sông Cửu Long để thiết
kế kho dữ liệu tham khảo về nhà dân dụng.
Phương pháp thực nghiệm: Phân tích hệ thống, xây dựng Ontology cho hệ thống,
xây dựng ứng dụng thực tế, thực nghiệm trên các công cụ hỗ trợ phát triển Semantic
Web, kiểm tra, kiểm thử và đánh giá kết quả.

6. Ý nghĩa khoa học và thực tiễn của đề tài
Ý nghĩa khoa học: Tiếp cận công nghệ mới về xử lý thông tin của Semantic Web.
Phát triển ứng dụng để góp phần phổ biến và từng bước thâm nhập sâu hơn.
Ý nghĩa thực tiễn: Xây dựng hệ thống cung cấp thông tin về thiết kế kế nhà dân
dụng cho phép người dùng tìm kiếm thông tin về nhà dân dụng của khu vực đồng bằng
sông Cửu Long, xây dựng Ontology cho hệ thống. Cung cấp cho người dùng một số
thông tin thiết kế khi thiết kế nhà dân dụng, tiết kiệm chi phí tư vấn thiết kế nhà ở dân
dụng.

7. Bố cục của luận văn
Để phân biệt rõ ràng những thông tin nghiên cứu có thể phân chia báo cáo này
thành ba chương chính với những nội dung sau:

Chương 1. TỔNG QUAN VỀ SEMANTIC WEB
Chương này trình bày tổng thể về Semantic Web, một số công cụ hỗ trợ việc xây

dựng Semantic Web.

Chương 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Chương này giới thiệu về đặc điểm nhà ở, phản ánh thực chất nhu cầu và hiện
trạng hỗ trợ tư vấn thiết kế nhà dân dụng hiện nay. Phân tích hiện trạng và nhu cầu xây


3

nhà nhà dân dụng. Phân tích, thiết kế bài toán, tìm hiểu việc xây dựng một ứng dụng
Semantic Web cần những gì, mô hình hoạt động như thế nào, công cụ nào sẽ được lựa
chọn, gói thư viện nào sẽ hỗ trợ trong quá trình triển khai ứng dụng.

Chương 3. PHÁT TRIỂN ỨNG DỤNG
Nội dung của chương này xây dựng hệ thống dựa trên phân tích và thiết kế ở
chương 2. Ngoài ra sẽ xây dựng Ontology cho bài toán và xây dựng hệ thống tra cứu
thông tin thiết kế nhà dân dụng đồng thời mô tả hoạt động hệ thống. Hoàn thiện trang
Semantic Web hỗ trợ việc tra cứu, tiến hành thử nghiệm và đánh giá kết quả của
chương trình


4

CHƯƠNG 1. TỔNG QUAN VỀ SEMANTIC WEB
Trong chương này giới thiệu tổng quan về Semantic Web, một số công cụ hỗ trợ
việc xây dựng Semantic Web; kiến trúc của Semantic Web cũng như lý thuyết về
Search Engine và một số ứng dụng có sẵn của Semantic Web.

1.1. Tổng quan Web ngữ nghĩa
1.1.1. Sự ra đời của Semantic Web

Thế hệ web đầu tiên là những trang HTML (web tĩnh), thế hệ thứ hai đã tạo nên
một bước ngoặt là các trang web động (được viết bằng HTML kết hợp với một số
ngôn ngữ lập trình chạy trên trình duyệt và trình chủ như javascript, css, PHP, JSP,
ASP…). Thế hệ web thứ ba là “ Semantic Web – Web ngữ nghĩa”, với mục đích là
thông tin sẽ do máy xử lý, Semantic Web sẽ làm cho các dịch vụ đi kèm với nó thông
minh hơn. Ví dụ: Môi giới thông tin, tác nhân tìm kiếm, bộ lọc thông tin v.v. Những
dịch vụ thông minh trên hệ thống web giàu ngữ nghĩa như thế chắc hẳn sẽ vượt trội
hơn những phiên bản sẵn có hiện tại của các dịch vụ này [15].
World Wide Web (WWW) chứa một lượng thông tin khổng lồ, người sử dụng
Web có thể dễ dàng truy cập những thông tin bằng địa chỉ hoặc theo các liên kết để tìm
ra các tài nguyên liên quan khác. Tuy nhiên, các trang Web hiện nay hầu hết được sử
dụng bởi con người, máy tính chỉ có nhiệm vụ gửi nhận dữ liệu và thể hiện thông tin
dưới dạng mà chỉ có con người mới đọc hiểu được. Người sử dụng phải làm nhiệm vụ
tìm kiếm, suy luận, tổng hợp và trích rút thông tin mình cần. Điều đó đã đặt ra thách
thức là làm sao để khai thác thông tin trên Web hiệu quả hay nói cách khác là làm thế
nào để máy tính có thể xử lý tự động được chúng. Muốn vậy thì Web phải có khả năng
mô tả thông tin theo cách mà máy tính có thể hiểu được [9].
Từ thế hệ Web đầu tiên là những trang HTML thủ công đến Web hiện tại – Web
2.0 đã dùng các liên kết URI, ngôn ngữ HTLM, XML và đã đạt được những thành tựu
đáng kể trong việc tìm kiếm. Tuy nhiên, ở thế hệ Web này thông tin được biểu diễn
dưới dạng văn bản thô, chỉ có con người mới đọc và hiểu được thì việc tìm kiếm trong
một lượng lớn thông tin ngày càng ít hiệu quả hơn. Hơn nữa nhu cầu của người dùng
không dừng lại ở đó mà còn đòi hỏi thông tin trên Web phải được định nghĩa rõ ràng
sao cho con người và máy tính có thể làm việc với nhau một cách có hiệu quả hơn.
Web 3.0 - Semantic Web ra đời nhằm đáp ứng những yêu cầu về xử lý và tìm kiếm
thông tin, cho phép chúng ta xây dựng những CSDL phục vụ tìm kiếm chính xác.


5


1.1.2. Khái niệm
Semantic Web 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, URI (Uniform Resource Identification), HTTP và HTML. Tim
Berner-Lee đã định nghĩa: “The Semantic Web is an extension of the current Web in
which information is given well-defined meaning, better enabling computers and
people to work in cooperation” [2].

Hình 1.1. Một đề xuất nguồn gốc Web với CERN
Theo định nghĩa của Tổ chức World Wide Web (W3C), Web ngữ nghĩa được
hiểu như sau: “Semantic Web là một cách nhìn về cách tổ chức dữ liệu: đó là ý tưởng
về việc dữ liệu trên Web được định nghĩa là liên kết theo một cách mà nó có thể được
sử dụng bởi máy tính với mục đích không chỉ cho việc hiển thị mà còn tự động hóa,
tích hợp và sử dụng lại dữ liệu qua các ứng dụng khác nhau” [9].
Semantic Web là một 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.


6

1.2. Kiến trúc của Semantic Web
1.2.1. Giới thiệu
Tim Berners Lee đã đề xuất mô hình kiến trúc Semantic Web đầu tiên đây là mô
hình kiến trúc gồm các thành phần chính của Semantic Web. Mô hình kiến trúc của
Semantic Web được thay đổi theo từng thời điểm nhất định cho thấy công nghệ
Semantic Web vẫn còn đang hoàn thiện và phát triển theo thời gian.

Semantic Web được xây dựng trên nền hệ thống Web hiện tại. Semantic Web
được coi là sự mở rộng của Web hiện tại có bổ sung thêm ngữ nghĩa vào dữ liệu trên
Web. Hình 1.2 chỉ ra sơ đồ kiến trúc của Semantic Web theo đề xuất của Tim Berners
Lee.

Hình 1.2. Kiến trúc Web ngữ nghĩa
Ta thấy kiến trúc Semantic Web gồm có bảy tầng. Trong đó, hệ thống Web hiện
tại (World Wide Web) chỉ gồm tầng thứ nhất và thứ hai. Tất cả các tầng của Semantic
Web được sử dụng để đảm bảo độ an toàn và giá trị thông tin trở nên tốt nhất.

1.2.2. Vai trò của các tầng
Chúng ta sẽ xem xét các thành phần khác nhau của Semantic Web và cách các
thành phần này thể hiện.

1.2.2.1. Tầng Unicode và URI
Unicode: Là một bảng mã chuẩn chung có đủ các ký tự để thống nhất sự giao
tiếp trên tất cả các quốc gia, đáp ứng tính nhất quán toàn cầu của Web.
URI (Uniform Resource Identifier): Là kí hiệu nhận dạng Web đơn giản giống
như các chuỗi bắt đầu bằng “http” hay “ftp” mà chúng ta thường xuyên thấy trên
mạng. Bất kỳ ai cũng có thể tạo một URI và có quyền sở hữu chúng và chúng là một


7

công nghệ cơ sở để xây dựng một hệ thống Web toàn cầu. Hệ thống World Wide Web
được xây dựng trên chúng và bất kỳ cái gì mà có một URI thì được coi là “trên Web”.
URL (Uniform Resourse Locator) là một dạng đặc biệt của URI, cụ thể nó là một
địa chỉ trên mạng, URIref (URI reference): Là một URI cùng với một phần nhận dạng
tuỳ ý ở cuối. Ví dụ: Ta có một URIref:
" bao gồm một URI:

" và một phần nhận dạng "Ontology" được cách
nhau bởi kí hiệu #.
Theo như quy ước, namespace các không gian tên là những tài nguyên mà tạo ra
các đa tài nguyên, thường là những URI được kết thúc bởi kí hiệu #. Ví dụ:
" là một không gian tên. Các tài nguyên không có
URIref thì được gọi là các nút trắng. Một nút trắng chỉ ra sự tồn tại của tài nguyên
không có sự đề cập rõ ràng về tham chiếu URIref của tài nguyên.

1.2.2.2. Tầng XML
XML (eXtensible Markup Language) là ngôn ngữ đánh dấu mở rộng, cho phép
người dùng có thể tùy ý thêm vào những thẻ theo yêu cầu của mình. dựa theo chuẩn
SGML (Standard Generalized Markup Language): Siêu ngôn ngữ có khả năng sinh
ngôn ngữ khác). SGML được phát triển cho việc định cấu trúc và nội dung tài liệu điện
tử do tổ chức ISO (International Organization for Standards) chuẩn hoá năm 1986.
XML sẽ tiếp tục đóng một vai trò quan trọng trong sự phát triển của Semantic Web.
Nó cho phép mọi người thiết kế định dạng tài liệu và sau đó viết một tài liệu theo định
dạng đó.

1.2.2.3. Tầng RDF và RDFS (RDF schema)
RDF (Resource Description Framework): Khung mô tả tài nguyên được W3C
giới thiệu để cung cấp một cú pháp chuẩn để tạo, thay đổi và sử dụng các chú thích
trong Semantic Web. Một mệnh đề RDF là một bộ ba có dạng [chủ đề, thuộc tính, đối
tượng]. Trong đó, chủ đề là tài nguyên mà được mô tả bằng thuộc tính và đối tượng.
Thuộc tính thể hiện mối quan hệ giữa chủ đề và đối tượng. Còn đối tượng ở đây có thể
là một tài nguyên hoặc một giá trị. Ba thành phần trong RDF đề là các URI.


8

Hình 1.3. Bộ ba RDF

RDFS (RDF schema): Là một ngôn ngữ ontology đơn giản của Semantic Web,
được coi là ngôn ngữ cơ sở của Semantic Web. RDFS là ngôn ngữ mô tả bộ từ vựng
trên các bộ ba RDF. Nó cung cấp các công việc sau:
Định nghĩa các lớp tài nguyên
Định nghĩa các quan hệ giữa các lớp
Định nghĩa các loại thuộc tính mà các lớp trên có
Định nghĩa các mối quan hệ giữa các thuộc tính.

1.2.2.4. Tầng Ontology vocabulary
Bộ từ vựng Ontology được xây dựng trên cơ sở tầng RDF và RDFS, cung cấp
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. Để
xây dựng được các bộ từ vựng này, người ta đã sử dụng các ngôn ngữ Ontology để
biểu diễn chúng như: RDFS, OIL, DAML, DAML+OIL, OWL,... Các ngôn ngữ này
cung cấp khả năng biểu diễn và hỗ trợ lập luận khác nhau và chúng dựa trên nền tảng
là các ngôn ngữ lô-gíc mô tả tương ứng khác nhau [10].

1.2.2.5. Tầng Logic
Việc biểu diễn các tài nguyên dưới dạng các bộ từ vựng Ontology có mục đích là
để máy có thể lập luận được. Mà cơ sở lập luận chủ yếu dựa vào logic. Chính vì vậy
mà các Ontology được ánh xạ sang logic, cụ thể là logic mô tả để có thể hỗ trợ lập
luận. Vì logic mô tả có biểu diễn ngữ nghĩa hình thức (đặc trưng của lý thuyết mô
hình), và cung cấp dịch vụ lập luận, là cơ sở để hỗ trợ máy có thể lập luận và hiểu tài
nguyên.

1.2.2.6. Tầng Proof
Tầng này đưa ra các luật để suy luận. Cụ thể từ các thông tin đã có ta có thể suy
ra các thông tin mới. Ví dụ: A là cha của B, A là em trai C thì khí đó ta có thông tin
mới là C là bác của B. Để có được các suy luận này thì cơ sở là FOL (First-OrderLogic). Và tầng này hiện nay các nhà nghiên cứu đang xây dựng các ngôn ngữ luật cho
nó như: SWRL, RuleML.



9

1.2.2.7. Tầng trust
Đảm bảo tính tin cậy của các ứng dụng trên Semantic Web. Ví dụ: có một người
bảo x là xanh, một người khác lại nó x không xanh, như thế Semantic Web là không
đáng tin cậy? Câu trả lời ở đây được xem xét trong các ngữ cảnh. Mỗi ứng dụng trên
Semantic Web sẽ có một ngữ cảnh cụ thể, chính vì thế các mệnh đề trên có thể nằm
trong các ngữ cảnh khác nhau khi đó ngữ nghĩa tương ứng khác nhau nên các mệnh đề
đó vẫn đúng, đáng tin cậy trong ngữ cảnh của nó. Để có được sự chứng minh về độ tin
cậy thì các lập luận được áp dụng là không đơn điệu và có các cơ chế kiểm tra chứng
minh kết hợp với công nghệ chữ ký điển tử để xác nhận độ tin cậy. Các ngôn ngữ
chứng minh là ngôn ngữ cho ta chứng minh một mệnh đề là đúng hay sai.

1.2.3. Ontology
1.2.3.1. Khái niệm
Ontology là một thuật ngữ mượn từ triết học [4] nhằm mô tả các thực thể trong
thế giới thực và cách chúng liên kết với nhau. Trong khoa học máy tính một cách khái
quát, Ontology là “một biểu diễn của sự khái niệm hóa chung được chia sẻ” của một
miền nhất định. Theo Aristoteles thì “Ontology là một nhánh của Triết học, liên quan
đến sự tồn tại và bản chất các sự vật trong thực tế”. Chẳng hạn như quan sát thế giới
thực, xác định các đối tượng và sau đó nhóm chúng lại thành một lớp trừu tượng dựa
trên thuộc tính chung [1,9].
Tuy nhiên trong những nằm gần đây, Ontology đã trở thành một thuật ngữ được
biết nhiều trong lĩnh vực khoa học máy tính và có ý nghĩa khác xa so với nghĩa đầu
của nó. Ontology được xem như là “linh hồn” của Semantic Web. Chúng giúp con
người và máy có thể hợp tác, cùng nhau làm việc, giúp máy có thể “hiểu” và có khả
năng xử lý thông tin hiệu quả. Các Ontology được phát triển trong lĩnh vực trí tuệ nhân
tạo để sử dụng lại và chia sẽ tri thức được thuận tiện hơn [1].
Một định nghĩa chung cho Ontology là: Ontology là một đặc tả hình thức của sự

khái niệm hóa về một lĩnh vực ứng dụng cụ thể [1]. Định nghĩa này nhấn mạnh hai
điểm chính: sự khái niệm hóa (conceptualisation) là hình thức và do đó cho phép suy
diễn bởi máy tính; và một Ontology trên thực tế được thiết kế cho một miền ứng dụng
cụ thể nào đó. Các Ontology bao gồm các khái niệm (các lớp – classes), các quan hệ
(các thuộc tính – property), các thể hiện (instances) và các tiên đề (axioms).
Điểm mạnh của Semantic Web so với Web 2.0 là cho phép khả năng suy luận dữ
liệu thông minh nhằm hỗ trợ việc suy luận dữ liệu theo quy tắc của Ontology.
Suy luận ngang cấp


10

Là suy luận dựa trên cùng một thuộc tính của hai đối tượng quan hệ. Ví dụ: A là
bạn của B thì B cũng là bạn của A. Thuộc tính là bạn là thuộc tính hai chiều.
Khai báo thuộc tính
là bạn của A và B

Người A

Người B

Suy luận từ dữ liệu khai
báo với thuộc tính là
bạn của B và A

Hình 1.4. Mô tả suy luận ngang cấp trong Web Semantic
Suy luận ngược
Là cách suy luận dựa trên các thuộc tính khác nhau của hai đối tượng. Ví dụ: A là
bố của B thì B là con của A. Thuộc tính là bố và thuộc là con là hai thuộc tính ngược
nhau.

Khai báo thuộc tính
là bố của A và B

Người A

Người B

Suy luận từ dữ
liệu khai báo với
thuộc tính là con
của B và A

Hình 1.5. Mô tả suy luận ngược trong Web Semantic


11

Như vậy, các Ontology biểu diễn dựa trên logic mô tả đã khai thác được khả
năng biểu diễn tri thức cũng như khả năng lập luận hiệu quả của logic mô tả để máy
hiểu được tài nguyên Web.

1.2.3.2. Yêu cầu khi sử dụng Ontology
Ngôn ngữ Ontology cho phép người sử dụng viết ra một cách rõ ràng các khái
niệm hình thức của mô hình miền và phải đảm bảo những yêu cầu cơ bản sau:
Cấu trúc rõ ràng: Đây là điều kiện cần để cho máy có thể xử lý thông tin.
Ngữ nghĩa hình thức miêu tả ý nghĩa tri thức một cách chính xác: Ý nghĩa của
ngữ nghĩa hình thức tồn tại trong một thời gian dài trong miền toán lô-gíc. Việc sử
dụng ngữ nghĩa hình thức cho phép con người suy diễn tri thức. Với tri thức trong
Ontology chúng ta có thể suy diễn về:
Thành viên của lớp: Nếu x là một thể hiện của lớp C và C là lớp con của lớp D

thì chúng ta có x là thể hiện của lớp D.
Các lớp tương đương: Nếu lớp A tương đương với lớp B và lớp B tương đương
với lớp C, thì lớp A cũng tương đương với lớp C.
Tính nhất quán: Giả sử chúng ta khai báo x là thể hiện của lớp A và A là lớp con
của B∩C, A là lớp con của lớp D, Lớp B và lớp D không có quan hệ với nhau
(disjoint). Thì chúng ta không nhất quán bởi vì A nên là rỗng nhưng lại có thể hiện là
x. Đây là một dấu hiệu của một lỗi trong Ontology.
Phân loại: Nếu chúng ta khai báo các cặp thuộc tính giá trị đã biết là điều kiện đủ
cho thành viên trong một lớp A, thì nếu một cá thể x thỏa mãn các điều kiện, chúng ta
có thể kết luận x phải là một thể hiện của A.
Ngữ nghĩa là điều kiện tiên quyết cho việc hỗ trợ suy diễn: Hỗ trợ suy diễn rất
quan trọng bởi vì nó cho phép kiểm tra tính nhất quán của Ontology và tri thức, kiểm
tra các quan hệ thừa giữa các lớp, tự động phân loại các thể hiện trong lớp.
Ngữ nghĩa hình thức và hỗ trợ suy diễn thường được cung cấp bởi việc ánh xạ
một ngôn ngữ Ontology đến hình thức lô-gíc và sử dụng suy diễn tự động bởi các hình
thức luôn tồn tại. OWL được ánh xạ lô-gíc miêu tả và sử dụng các suy diễn đang tồn
tại như FaCT và RACER. Các lô-gíc mô tả là tập con của lô-gíc vị từ nhằm hỗ trợ suy
diễn hiệu quả.

1.2.3.3. Vai trò của Ontology
Danh sách 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.


12

Cho phép sử dụng lại tri thức
Đưa ra các giả thiết rõ ràng về miền
Phân tách tri thức lĩnh vực với tri thức thao tác

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.2.3.4. Các thành phần của Ontology
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ó. Ontology thường miêu tả: Các cá thể (Individuals), các lớp
(Classes), các thuộc tính (Properties), các mối quan hệ (Relation).
Các cá thể (Individuals) - Thể hiện
Các cá thể là các thành phần cơ bản, nền tảng của một Ontology. Các cá thể trong
một Ontology có thể bảo gồm các đối tượng cụ thể như con người, cái nhà, động vật,
cái bàn… cũng như các cá thể trừu tượng như các thành viên hay các từ. Một
Ontology có thể không cần bất kỳ một cá thể nào, nhưng một trong những lý do chính
của một Ontology là để cung cấp một ngữ nghĩa của việc phân lớp các cá thể, mặc dù
các cá thể này không thực sự là một phần của Ontology.
Các lớp (Classes) – Khái niệm
Các lớp là các nhóm, tập hợp các đối tượng trừu tượng. Chúng có thể chứa các cá
thể, các lớp khác, hay là sự phối hợp của cả hai. Các Ontology biển đổi tùy thuộc vào
cấu trúc và nội dung của nó: Một lớp có thể chứa các lớp con, có thể là một lớp tổng
quan (chứa tất cả mọi thứ), có thể là lớp chỉ chứa những cá thể riêng lẻ. Một lớp có thể
xếp gộp và hoặc bị xếp gộp vào bởi các lớp khác. Mối quan hệ xếp gộp này được sử
dụng để tạo ra một cấu trúc có thứ bậc các lớp, thường là với một lớp thông dụng nhất
kiểu Thing ở trên đỉnh.
Các thuộc tính (Properties)
Các đối tượng trong Ontology có thể được mô tả thông qua việc khai báo các
thuộc tính của chúng. Mỗi một thuộc tính đề có tên và giá trị của thuộc tính đó. Các
thuộc tính được sử dụng để lưu trữ các thông tin mà đối tượng có thể có. Ví dụ, đói với
một cá nhân có thể có các thuộc tính: Họ_tên, ngày_sinh, quê_quán, số_cmnd… Giá
trị của một thuộc tính có thể có các kiểu dữ liệu phức tạp.
Các mối quan hệ (Relations)
Một trong những ứng dụng quan trọng của việc sử dụng các thuộc tính là mô tả

mối liên hệ giữa các đối tượng trong Ontology. Một mối quan hệ là một thuộc tính có
giá trị là một đối tượng nào đó trong Ontology. Một kiểu quan hệ quan trọng là kiểu


13

quan hệ xếp gộp (subsumption). Kiểu quan hệ này mô tả các đối tượng nào là các
thành viên của các lớp nào của các đối tượng.
Hiện tại, việc kết hợp các Ontology là một tiến trình được làm phần lớn là thủ
công, do vậy rất tốn thời gian và đắt đỏ. Việc sử dụng các Ontology là cơ sở để cung
cấp một định nghĩa thông dụng của các thuật ngữ cốt lõi có thể làm cho tiến trình này
trở nên dễ quản lý hơn. Hiện đang có các nghiên cứu dựa trên các kỹ thuật sản sinh nối
kết các Ontology, tuy nhiên lĩnh vực này mới chỉ hiện hữu về mặt lý thuyết.

1.2.3.5. Ngôn ngữ OWL
OWL (The Web Ontology Language) là một ngôn ngữ gần như XML dùng để
mô tả các hệ cơ sở tri thức. OWL là một ngôn ngữ đánh dấu dùng để xuất bản và chia
sẻ dữ liệu trên Internet thông qua những mô hình dữ liệu gọi là “Ontology”. Ontology
mô tả lĩnh vực (domain) và diễn tả những đối tượng trong lĩnh vực đó cùng những mối
quan hệ giữa các đối tượng này. OWL là phần mở rộng về từ vựng của RDF và được
kế thừa từ ngôn ngữ DAML + OIL Web Ontology một dự án bởi W3C. OWL biểu
diễn ý nghĩa của các thuật ngữ trong các thuật ngữ trong các từ vựng và mối liên hệ
giữa các thuật ngữ này để đảm bảo phù hợp với quá trình xử lý bởi các phần mềm.
OWL biểu diễn ý nghĩa của các thuật ngữ trong các từ vựng và mối liên hệ giữa các
thuật ngữ này để đảm bảo phù hợp với các quá trình xử lý bởi các phần mềm. OWL
được xem như là một kỹ thuật trọng yếu để cài đặt cho Semantic Web trong tương lai.
OWL được thiết kế đặc biệt để cung cấp một cách thức thông dụng trong việc xử lý
nội dung thông tin Web. Ngôn ngữ này được kỳ vọng rằng sẽ cho phép các hệ thống
máy tính có thể đọc được thay thế cho con người. Vì OWL được viết bởi XML, các
thông tin OWL có thể dễ dàng trao đổi giữa các kiểu hệ thống máy tính khác nhau, sử

dụng các hệ điều hành và các ngôn ngữ ứng dụng khác nhau. Mục đích chính của
OWL là sẽ cung cấp các chuẩn để tạo ra một nền tảng để quản lý tài sản, tích hợp mức
doanh nghiệp và để chia sẻ cũng như tái sử dụng dữ liệu trên Web. OWL được phát
triển bởi nó có nhiều tiện lợi để biểu diễn ý nghĩa và ngữ nghĩa hơn so với XML, RDF
và RDFS, và vì OWL ra đời sau các ngôn ngữ này, nó có khả năng biểu diễn các nội
dung mà máy có thể biểu diễn được trên Web.

1.2.4. Quy trình xây dựng Semantic Web
Quy trình phát triển Ontology là một quy trình gồm nhiều bước, tuy nhiên vẫn
chưa có một phương pháp chuẩn hóa nào để phát triển các Ontology. Quy trình phát
triển gồm 7 bước do Stanford Center for Biomedical Informatics Research đưa ra Đây là nhóm phát triển phần mềm Protégé để trình diễn và soạn thảo Ontology.
Bước 1: Xác định lĩnh vực và phạm vi của Ontology


14

Trong giai đoạn này cần xác định mục đích của việc xây dựng Ontology là gì?
Phục vụ đối tượng nào? Ontology sắp xây dựng cần có đặc điểm gì, liên quan đến lĩnh
vực, phạm vi nào? Quá trình khai thác, quản lý và bảo trì Ontology được thực hiện ra
sao?
Bước 2: Xem xét việc sử dụng lại các Ontology có sẵn
Cấu trúc của một Ontology bao gồm 3 tầng: Tầng trừu tượng (Abstract), tầng
miền xác định (Domain) và tầng mở rộng (Extension). Trong đó tầng trừu tượng có
tính tái sử dụng rất cao, tầng miền xác định có thể tái sử dụng trong một lĩnh vực nhất
định. Cộng đồng Ontology cũng đang lớn mạnh và có rất nhiều Ontology đã được tạo
ra, với tâm huyết của nhiều chuyên gia. Do đó trước khi bắt đầu xây dựng Ontology,
cần xét đến khả năng sử dụng lại các Ontology đã có. Nếu có thể sử dụng lại một phần
các Ontology đã có thì chi phí bỏ ra cho quá trình xây dựng Ontology sẽ giảm đi rất
nhiều.
Bước 3: Liệt kê các thuật ngữ quan trọng

Ontology được xây dựng trên cơ sở các khái niệm trong một lĩnh vực cụ thể, vì
vậy khi xây dựng Ontology cần bắt đầu từ các thuật ngữ chuyên ngành để xây dựng
thành các lớp trong Ontology tương ứng. Tất nhiên không phải thuật ngữ nào cũng đưa
vào Ontology, vì chưa chắc đã định vị được cho thuật ngữ đó. Do đó cần phải liệt kê
các thuật ngữ, để xác định ngữ nghĩa cho các thuật ngữ đó, cũng như cân nhắc về
phạm vi của Ontology. Việc liệt kê các thuật ngữ còn cho thấy được phần nào tổng
quan về các khái niệm trong lĩnh vực đó, giúp cho các bước tiếp theo được thuận lợi.
Bước 4: Xác định các lớp và phân cấp của các lớp
Công việc xác định các lớp không chỉ đơn giản là tiến hành tìm hiểu về ngữ
nghĩa của các thuật ngữ đã có để có được các mô tả cho thuật ngữ đó, mà còn phải
định vị cho các lớp mới, loại bỏ ra khỏi Ontology nếu nằm ngoài phạm vi của
Ontology hay hợp nhất với các lớp đã có nếu có nhiều thuật ngữ có ngữ nghĩa như
nhau. Ngoài ra không phải thuật ngữ nào cũng mang tính chất như một lớp.
Một công việc cần phải tiến hành song song với việc xác định các lớp là xác định
phân cấp của các lớp đó. Việc này giúp định vị các lớp dễ dàng hơn.
Một số phương pháp tiếp cận trong việc xác định phân cấp của các lớp:
Phương pháp từ trên xuống (Top-down): Bắt đầu với định nghĩa của các lớp
tổng quát nhất trong lĩnh vực và sau đó chuyên biệt hóa các khái niệm đó. Ví dụ:
Trong Ontology về quản lý nhân sự, ta bắt đầu với lớp Người, sau đó chuyên biệt hóa
lớp Người đó bằng cách tạo ra các lớp con của lớp Người như: Kỹ sư, Công nhân, Bác
sỹ,… Lớp Kỹ sư cũng có thể chuyên biệt hóa bằng cách tạo ra các lớp con như Kỹ sư
CNTT, Kỹ sư điện, Kỹ sư cơ khí, …


15

Phương pháp từ dưới lên (Bottom-up): Bắt đầu với định nghĩa của các lớp cụ
thể nhất, như các lá trong cây phân cấp. Sau đó gộp các lớp đó lại thành các khái tổng
quát hơn. Ví dụ: Ta bắt đầu với việc định nghĩa các lớp như: nhân viên lễ tân, nhân
viên vệ sinh, nhân viên kỹ thuật. Sau đó tạo ra một lớp chung hơn cho các lớp đó là

lớp nhân viên.
Phương pháp kết hợp: Kết hợp giữa phương pháp từ trên xuống và từ dưới lên:
bắt đầu từ định nghĩa các lớp dễ thấy trước và sau đó tổng quát hóa và chuyên biệt hóa
các lớp đó một cách thích hợp. Ví dụ ta bắt đầu với lớp nhân viên trước, là thuật ngữ
hay gặp nhất trong quản lý nhân sự. Sau đó chúng ta có thể chuyên biệt hóa thành các
lớp con: nhân viên lễ tân, nhân viên vệ sinh,… hoặc tổng quát hóa lên thành lớp
Người.
Bước 5: Xác định các thuộc tính
Để xác định thuộc tính cho các lớp, ta quay trở lại danh sách các thuật ngữ đã liệt
kê được. Hầu hết các thuật ngữ còn lại (sau khi đã xác định lớp) là thuộc tính của các
lớp đó. Với mỗi thuộc tính tìm được, ta phải xác định xem nó mô tả cho lớp nào. Các
thuộc tính đó sẽ trở thành thuộc tính của các lớp xác định. Ví dụ: Lớp Người có các
thuộc tính sau: Họ, Tên, Ngày sinh, Giới tính, Nghề nghiệp, Địa chỉ, Điện thoại,…
Bước 6: Xác định ràng buộc của các thuộc tính
Các thuộc tính có thể có nhiều khía cạnh khác nhau như: Kiểu giá trị, các giá trị
cho phép, số các thuộc tính, và các đặc trưng khác mà giá trị của thuộc tính có thể
nhận. Ví dụ: Năm sinh của một nhân viên chỉ có duy nhất và là số nguyên, có thể nhận
giá trị từ 1948 đến 1990. Cần phải xác định các ràng buộc cho một thuộc tính càng
chặt chẽ càng tốt, để tránh trường hợp nhập dữ liệu sai, dẫn đến đổ vỡ của các ứng
dụng sử dụng Ontology này.
Bước 7: Tạo các thực thể
Bước cuối cùng là tạo ra các thực thể cho mỗi lớp và gán giá trị cho các thuộc
tính. Việc tạo thực thể cho một lớp là quá trình điền các thông tin vào các thuộc tính
của lớp đó. Các thực thể sẽ tạo nên nội dung của một cơ sở tri thức.

1.2.5. Công cụ phát triển Semantic Web
1.2.5.1. Công cụ phát triển Ontology
Một số công cụ phát triển và hiệu chỉnh có giá trị trong việc làm giảm độ phức
tạp và thời gian dùng cho nhiệm vụ xây dựng Ontology. Các công cụ như Kaon,
OileEd và Protégé cung cấp các giao diện nhằm giúp đỡ người sử dụng thực hiện các

hoạt động chính yếu trong quá trình phát triển một Ontology.


×