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

TÌM HIỂU ONTOLOGY VÀ CÔNG CỤ PHÁT TRIỂN ỨNG DỤ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 (1 MB, 36 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
CHƢƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTT QUA MẠNG
________________


BÀI THU HOẠCH MÔN HỌC
BIỂU DIỄN TRI THỨC
VÀ ỨNG DỤNG
ĐỀ TÀI: TÌM HIỂU ONTOLOGY VÀ
CÔNG CỤ PHÁT TRIỂN
ỨNG DỤNG




Giảng viên hướng dẫn: PGS.TS Đỗ Văn Nhơn
Học viên thực hiện: Lƣơng Trí Quân
MSHV: CH1101125





TP. HCM, năm 2012
Bài thu hoạch môn học: Biểu diễn tri thức và ứng dụng

Lương Trí Quân – Lớp Cao Học CNTT K6 Trang 2

MỤC LỤC



CHƢƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTT QUA MẠNG 1
LỜI MỞ ĐẦU 4
CHƢƠNG 1: TỔNG QUAN VỀ BIỂU DIỄN TRI THỨC 5
I. CÁC LOẠI TRI THỨC: 5
II. MỘT SỐ KỸ THUẬT BIỂU DIỄN TRI THỨC PHỔ BIẾN 5
1. Bộ 3 đối tƣợng - thuộc tính - giá trị 5
2. Các luật dẫn 6
3. Mạng ngữ nghĩa 6
4. Frame 6
5. Logic 6
CHƢƠNG 2: TÌM HIỂU VỀ ONTOLOGY 7
I. TỔNG QUAN VỀ ONTOLOGY 7
II. ĐẶC ĐIỂM ONTOLOGY 8
III. VÒNG ĐỜI CỦA ONTOLOGY 9
IV. YÊU CẦU KHI XÂY DỰNG ONTOLOGY 9
V. CÁC THÀNH PHẦN CỦA ONTOLOGY 10
VI. QUY TRÌNH XÂY DỰNG ONTOLOGY 11
VII. WEB NGỮ NGHĨA 13
1. Web ngữ nghĩa là gì? 13
2. Kiến trúc web ngữ nghĩa 14
Bài thu hoạch môn học: Biểu diễn tri thức và ứng dụng

Lương Trí Quân – Lớp Cao Học CNTT K6 Trang 3

3. Nội dung web ngữ nghĩa 17
VIII. MỘT SỐ HẠN CHẾ CỦA RDF/RDFS 18
IX. TÌM HIỂU NGÔN NGỮ OWL 19
1. Khái niệm OWL 19
2. Các phiên bản của OWL: 20

3. Mối liên hệ giữa các ngôn ngữ con của OWL 21
4. Cấu trúc của OWL 21
a. Namespace 21
b. Ontology headers 21
c. Các phần tử cơ bản 22
d. Định nghĩa thuộc tính đơn giản 24
e. Các đặc tính của một thuộc tính 24
X. CÔNG CỤ HỖ TRỢ ONTOLOGY 27
1. Công cụ PROTÉGÉ và bộ lập luận RACER 27
2. Pellet OWL Reasoner 29
a. Giới thiệu về Pellet 29
b. Các tính năng của Pellet 29
c. Kiến trúc Pellet 31
3. Eclipse Plugin Framework 32
a. Eclipse Plugin 32
b. AST Parser 34




Bài thu hoạch môn học: Biểu diễn tri thức và ứng dụng

Lương Trí Quân – Lớp Cao Học CNTT K6 Trang 4

LỜI MỞ ĐẦU

Ngày nay, với sự phát triển như vũ bão của công nghệ thông tin, tin học đã
len lõi vào mọi lĩnh vực của cuộc sống, hỗ trợ một cách tích cực các hoạt động
của con người. Trong tình hình hiện nay tri thức rất quan trọng đối với mọi
người, bài toán hiện nay đối với các nhà khoa học máy tính là làm thế nào để

biểu diễn tri thức vào máy tính một cách hiệu quả và tối ưu nhất mà không đánh
mất đi tính đúng đắn của tri thức đồng thời internet đã và đang là nguồn kiến
thức vô tận mang lại nhiều lợi ích cho con người. Sự phát triển mạnh mẽ của nó
kéo theo việc những kiến thức trong ngành công nghệ thông tin tăng lên nhanh
chóng làm cho việc tra cứu kiến thức cần thiết trở nên khó khăn hơn. Với các
công cụ tìm kiếm hiện nay như Google, Yahoo… chỉ giúp người dùng tìm được
những tài liệu có chứa từ khóa. Từ đây người dùng phải tốn thời gian và công
sức vào từng tài liệu để tìm được đúng thông tin mình cần mà có khi không tìm
thấy hoặc tìm thấy thông tin sai lệch. Vấn đề đặt ra là làm sao để có được một
công cụ tìm kiếm theo ngữ nghĩa, hiểu được và trả lời câu hỏi của người dùng
bằng ngôn ngữ tự nhiên một cách thân thiện. Đặc biệt có thể tìm kiếm bằng tiếng
Việt, nhu cầu mà hầu như rất ít công cụ hỗ trợ và kết quả còn hạn chế.
Do đó, Ontology là một giải pháp biểu diễn tri thức và chia sẻ thông tin mà cả
hệ thống và con người có thể hiểu được. Ontology chứa những đặc tả rõ ràng
các khái niệm về một lĩnh vực và quan hệ giữa các khái niệm đó. Nó được sử
dụng trong trí tuệ nhân tạo, công nghệ Web ngữ nghĩa (Semantic Web), các hệ
thống kỹ thuật, kỹ thuật phần mềm, sinh tin học và kiến trúc thông tin như là một
hình thức biểu diễn tri thức về thế giới hoặc một số lĩnh vực cụ thể .
Bài thu hoạch này, trình bày tóm tắt lại các phương pháp biểu diễn tri thức
theo lối truyền thống đồng thời tập trung vào việc tìm hiểu ontology, web ngữ
nghĩa (Semantic Web) và các công cụ hỗ trợ phát triển ontology đây là một
phương pháp tiếp cận mới để biểu diễn tri thức.

Bài thu hoạch môn học: Biểu diễn tri thức và ứng dụng

Lương Trí Quân – Lớp Cao Học CNTT K6 Trang 5

CHƢƠNG 1: TỔNG QUAN VỀ BIỂU DIỄN TRI THỨC

I. Các loại tri thức:

Dựa vào cách thức con người giải quyết vấn đề , các nhà nghiên cứu đã
xây dựng các kỹ thuật để biểu diễn các dạng tri thức khác nhau trên máy
tính. Mặc dù vậy, không một kỹ thuật riêng lẻ nào có thể giải thích đầy đủ
cơ chế tổ chức tri thức trong các chương trình máy tính. Để giải quyết vấn
đề chúng ta chỉ chọn dạng biễu diễn nào thích hợp nhất. Sau đây là các
dạng biểu diễn tri thức thường gặp
 Tri thức thủ tục: mô tả cách thức giải quyết một vấn đề . Loại tri thức
này đưa ra giải pháp để thực hiện một công việc nào đó. Các dạng tri thức
thủ tục tiêu biểu thường là các luật , chiến lược , lịch trình và thủ tục .
 Tri thức khai báo : cho biết một vấn đề được thấy như thế nào . Loại tri
thức này bao gồm các phát biểu đơn giản , dưới dạng các khẳng định logic
đúng hay sai. Tri thức khai báo cũng có thể là một danh sách các khẳng
định nhằm mô tả đầy đủ hơn về đối tượng hay một khái niệm, khái niệm
nào đó.
 Tri thức heuristic: mô tả các “mẹo” để dẫn dắt tiến trình lập luận. Tri
thức heuristic còn được gọi là tri thức nông cạn do không bảo đảm hoàn
toàn chính xác về kết quả giải quyết vấn đề . Các chuyên gia thường dùng
các tri thức khoa học như sự kiện, luật,… sau đó chúng chuyển thành các
tri thức heuristic để thuận tiện hơn trong việc giải quyết một số bài toán .
 Tri thức có cấu trúc: mô tả tri thức theo cấu trúc. Loại tri thức này mô
tả mô hình quan hệ hệ thống theo quan điểm của chuyên gia, bao gồm
khái niệm , khái niệm con , và các đối tượng, diễn tả chức năng và môi liên
hệ giữa các tri thức dựa theo cấu trúc xác định.
II. Một số kỹ thuật biểu diễn tri thức phổ biến
1. Bộ 3 đối tƣợng - thuộc tính - giá trị
Cơ chế tổ chức nhận thức của con người thường được xây dựng dựa trên
các sự kiện (fact), xem như các đơn vị cơ bản nhất . Một sự kiện là một
dạng khai báo tri thức . Nó cung cấp một số hiểu biết về một biến cố hay
một vấn đề nào đó. Một sự kiện có thể được dùng để xác nhận giá trị của
một thuộc tính xác định của một vài đối tượng.

Ví dụ: mệnh đề “quả bóng màu đỏ” xác nhận giá trị “đỏ” là một thuộc tính
màu của đối tượng “quả bóng”. Một <O,A,V> là một mệnh đề phức tạp .
Nó chia một phát biểu cho trước thành 3 phần riêng biệt: đối tượng, giá trị,
thuộc tính. Một đối tượng có thể có nhiều thuộc tính với nhiều giá trị khác
nhau(đơn trị, hay đa trị).
Bài thu hoạch môn học: Biểu diễn tri thức và ứng dụng

Lương Trí Quân – Lớp Cao Học CNTT K6 Trang 6

2. Các luật dẫn
Luật là cấu trúc tri thức dùng để liên kết thông tin đã biết với các thông tin
khác giúp đưa ra các suy luận, kết luận từ những thông tin đã biết. Trong
hệ thống dựa trên các luật người ta thu thập các tri thức lĩnh vực trong một
tập và lưu chúng trong cơ sở tri thức của hệ thống. Hệ thống dùng các luật
này cùng với các thông tin trong bộ nhớ để giải bài toán. Việc xử lý các
luật trong hệ thống dựa trên các luật được quản lý bằng một module gọi là
bộ suy diễn.
3. Mạng ngữ nghĩa
Mạng ngữ nghĩa là một phương pháp biểu diễn tri thức dùng đồ thị trong
đó nút biểu diễn đối tượng và cung biểu diễn quan hệ giữa các đối tượng .
4. Frame
Một trong những cách biểu diễn tri thức nữa là frame, phát triển dựa trên
khái niệm lược đồ. Một lược đồ được coi là khối tri thức điển hình về khái
niệm hay đối tượng nào đó, và gồm cả giá tri thức thủ tục lẫn tri thức mô
tả. Frame là một cấu trúc dữ liệu để thể hiện tri thức đa dạng về khái niệm
hay đối tượng nào đó. Nó có hình thức như một bảng mẫu. Cấu trúc cơ
bản của nó có tên là đối tượng được thể hiện trong frame, có các trường
thuộc tính của đối tượng. Mỗi thuộc tính có một ngăn để nhập dữ liệu
riêng. Các thuộc tính và giá trị thuộc tính tạo nên danh sách các mệnh đề
O-A-V, cho phép thể hiện đầy đủ về đối tượng.

5. Logic
Đây là dạng biểu diễn tri thức cổ điển nhất trong máy tính, với 2 dạng phổ
biến là logic mệnh đề và logic vị từ.
Bài thu hoạch môn học: Biểu diễn tri thức và ứng dụng

Lương Trí Quân – Lớp Cao Học CNTT K6 Trang 7

CHƢƠNG 2: TÌM HIỂU VỀ ONTOLOGY

I. Tổng quan về Ontology
Ontology là một khái niệm được bắt nguồn từ triết học và được miêu tả
trong (Kivela and Hyvonen,2002) và (Smith and Welty, 2001) nó được
nghiên cứu và phát triển bởi các nhà nghiên cứu về trí tuệ nhân tạo để mô tả
một cách hình thức một miền lĩnh vực nào đó.
Có nhiều khái niệm về ontology đã được đưa ra và một trong những
định nghĩa cơ bản được đưa ra bởi Gruber vào năm 1993, theo đó ontology
“là quá trình chi tiết hóa các mức khái niệm; hay nói cách khác ontology bao
gồm các khái niệm trong một mô hình miền lĩnh vực nào đó mà các khái
niệm đó được mô tả một cách chi tiết” [Gruber,1993]. Sau đó vào năm 1997,
Borst đã đưa ra định nghĩa ontology “là sự chi tiết hóa một cách hình thức
các khái niệm có thể chia sẻ với nhau, quan hệ với nhau”[Borst,1997].
Dựa trên hai định nghĩa này, ta có định nghĩa tổng quát về ontology như
sau: “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 vào việc biểu diễn và trao đổi
thông tin để con người và máy tính có thể hiểu được”.
Tổ chức W3C đã đề ra một ngôn ngữ ontology trên Web (OWL: Web
Ontology Language) để xây dựng Sematic Web dựa trên nền tảng của
ontology.Mỗi Ontology định nghĩa một bộ từ vựng mang tính phổ biến và
thông thường cho một lĩnh vực nào đó. Bộ từ vựng này sẽ giúp các nhà
nghiên cứu chia sẻ thông tin với nhau, nó cho phép các nhà nghiên cứu chia

sẻ thông tin trong một/nhiều lĩnh vực. Nó bao gồm các định nghĩa về các
khái niệm căn bản trong một lĩnh vực và các mối liên hệ giữa chúng mà máy
tính có thể hiểu được. Ontology là tập từ vựng để mô hình hóa thế giới bên
ngoài, nó đưa ra các khái niệm cơ bản và định nghĩa quan hệ giữa các khái
niệm đó trong một miền lĩnh vực. Đồng thời ontology còn cung cấp các ràng
buộc, là các giả định cơ sở về ý nghĩa mong muốn của bộ từ vựng. Ontology
được xây dựng nhằm các mục đích sau:
 Chia sẻ hiểu biết chung về cấu trúc thông tin giữa con người và phần
mềm agent
 Sử dụng lại tri thức về một miền lĩnh vực đã được xây dựng từ trước
 Để làm cho các giả thuyết về lĩnh vực được tường minh.
 Để tách biệt tri thức lĩnh vực (domain knowledge) ra khỏi tri thức thao
tác(operational knowledge ).
 Để phân tích lĩnh vực tri thức.
Bài thu hoạch môn học: Biểu diễn tri thức và ứng dụng

Lương Trí Quân – Lớp Cao Học CNTT K6 Trang 8


Trong hình trên ta thấy các ứng dụng khác nhau, muốn trao đổi thông tin với
nhau thì cần phải có một tri thức chung, vì vậy các ứng dụng này đểu sử
dụng một ontology để có thể chia sẻ tri thức cho nhau.
Ontology được sử dụng rộng rãi trong công nghệ tri thức, trí tuệ nhân tạo, và
khoa học máy tính trong các ứng dụng liên quan đến quản lý tri thức, xử lý
ngôn ngữ tự nhiên, thương mại điện tử, tích hợp thông tin, tìm kiếm thông
tin, thiết kế cơ sở dữ liệu…
II. Đặc điểm Ontology
 Ontology đƣợc chuẩn hóa: các thuật ngữ trong Ontology được định
nghĩa rõ ràng về ngữ nghĩa
 Ontology cung cấp khả năng đọc hiểu cho con ngƣời: chúng có thể

được phát triển, chia sẻ, hiểu bởi không chỉ các chương trình máy tính
mà còn bởi các người dùng, các chuyên gia và người thiết kế ontology
về lĩnh vực đó.
 Ontology là sự toàn diện: Chúng được thiết kế với mục đích bao trùm
tất cả khái niệm,

 Ontology có thể chia sẽ: thông thường một ontology bao gồm rất
nhiều khái niệm do đó việc xây dựng ontology sẽ mất rất nhiều thời
gian nếu không sử dụng lại các ontology sẵn có. Việc chia sẻ các
ontology giúp dễ dàng kết hợp các ontology được phát triển riêng rẽ, sử
dụng chúng để cho phép giao tiếp giữa các hệ thống thông tin cần chia
sẽ t
Bài thu hoạch môn học: Biểu diễn tri thức và ứng dụng

Lương Trí Quân – Lớp Cao Học CNTT K6 Trang 9


III. Vòng đời của Ontology
sau [Paul, 2004].

Từ các tài liệu chuyên môn (chủ yếu tồn tại dưới dạng văn bản), các lớp, các
quan hệ giữa các lớp và thuộc tính của các lớp được định nghĩa, cấu trúc
hóa và biểu diễn trong Ontology. Các lớp mới được thêm vào phải được
định vị vị trí của lớp trong Ontology đã xây dựng trước, và xác thực tính hợp
lệ của các thông tin mới trích rút được. Trong quá trình tìm kiếm, khai thác
ontology, các tri thức mới được suy diễn từ CSTT sinh ra thông tin có ích
mới, phục vụ nhu cầu của hệ thống khai thác. Nhờ đó, ontology được nâng
cấp dần dần.
IV. Yêu cầu khi xây dựng ontology


Ngôn ngữ ontology cho phép người sử dụng viết rõ ràng, các khái niệm hình
thức của mô hình miền. Các yêu cầu chính:
 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 logic. 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ó
Bài thu hoạch môn học: Biểu diễn tri thức và ứng dụng

Lương Trí Quân – Lớp Cao Học CNTT K6 Trang 10

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 logic 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ạ logic miêu tả

và sử dụng các suy diễn đang tồn tại như FaCT và RACER. Các logic mô tả
là tập con của logic vị từ nhằm hỗ trợ suy diễn hiệu quả.
V. 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á thể: Các đối tượng cơ bản, nền tảng.
 Lớp: Các tập hợp, hay kiểu của các đối tượng.
 Thuộc tính: Thuộc tính, tính năng, đặc điểm, tính cách, hay các thông
số mà các đối tượng có và có thể đem ra chia sẻ.
 Mối liên hệ: cách mà các đối tượng có thể liên hệ tới một đối tượng
khác.
Bộ từ vựng ontology được xây dựng trên cơ sở tầng RDF và RDFS,
cung cấp khả năng biểu diễn ngữ nghĩa mềm dẻo cho tài nguyên Web
và có khả năng hỗ trợ lập luận.
 Cá thể (Individuals) – Thể hiện
Cá thể là thành phần cơ bản của một ontology. Các cá thể trong một
ontology có thể bao gồm cá
đối tượng trừu tượng như con số và từ.
 Lớp (Classes) - Khái niệm
nhiều lớp hoặc được gộp vào lớp khác. Một lớp gộp vào lớp khác được

Bài thu hoạch môn học: Biểu diễn tri thức và ứng dụng

Lương Trí Quân – Lớp Cao Học CNTT K6 Trang 11

 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 đều 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.
 Mối quan hệ (Relation)
Quan hệ giữa các đối tượng trong một ontology cho biết các đối tượng liên
hệ với đối tượng khác như thế nào. Sức mạnh của ontology nằm ở khả năng
diễn đạt quan hệ. Tập hợp các quan hệ cùng nhau mô tả ngữ nghĩa của
domain. Tập các dạng quan hệ được sử dụng và cây phân loại thứ bậc của
chúng thể hiện sức mạnh diễn đạt của ngôn ngữ dùng để biểu diễn ontology.
Ontology thường phân biệt các nhóm quan hệ khác nhau. Vd:
Quan hệ giữa các lớp
Quan hệ giữa các thực thể
Quan hệ giữa một thực thể và một lớp
Quan hệ giữa một đối tượng đơn và một tập hợp
Quan hệ giữa các tập hợp.
VI. Quy trình xây dựng Ontology
Trong những năm gần đây, một loạt các phương pháp luận khác nhau được
thiết kế để trợ giúp cho việc tiến hành phát triển các nhiệm vụ được báo cáo
trong tài liệu trí tuệ nhân tạo. Các phương pháp truyền thống gồm Cyc (Lenat &
Guha 1990), Uschold và King (Uschold $ King 1995), Gruninger và Fox
(Gruninger $ Fox 1995), Kactus (Kactus 1996),và Methontology (Fernandez-
Lopez, Gomes-Perez & Juritso 1997). Các phương pháp luận cung cấp các chỉ
dẫn chung và có cấu trúc. Nếu làm theo có thể tăng quy trình phát triển và cải
tiến chất lượng cho kết quả cuối cùng. Theo như đánh giá phương pháp luận
“Methontology” là phương pháp luận thiết kế ontology phổ biến nhất (được hỗ
trợ môi trường WebODE).
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
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
Bài thu hoạch môn học: Biểu diễn tri thức và ứng dụng

Lương Trí Quân – Lớp Cao Học CNTT K6 Trang 12

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ó, 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 (đồng nghĩa, hay đa ngôn ngữ). 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.
Có 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í, …
 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
Bài thu hoạch môn học: Biểu diễn tri thức và ứng dụng

Lương Trí Quân – Lớp Cao Học CNTT K6 Trang 13

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 (lực lượng), 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ể hiện / thực thể
Bước cuối cùng là tạo ra các thể hiện của các lớp trong sự phân cấp. Việc tạo
thể hiện 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
đó.
VII. Web ngữ nghĩa
1. Web ngữ nghĩa là gì?
Web ngữ nghĩa là một thế hệ Web mới, đang được phát triển và sẽ xuất
hiện trong tương lai gần. Hệ thống Web mới này sẽ thay thế hệ thống
Web hiện tại song không có nghĩa là một hệ thống hoàn toàn khác hệ
thống Web hiện tại. Web ngữ nghĩa được phát triển trên hệ thống Web
hiện tại bằng cách bổ sung thêm ngữ nghĩa cho các tài nguyên Web mà
máy có thể hiểu và tăng khả năng xử lý tự động. Web ngữ nghĩa là sự
mở rộng của Web hiện tại mà trong đó thông tin được định nghĩa rõ ràng
sao cho con người và máy tính có thể cùng làm việc với nhau một cách
hiệu quả hơn. Mục tiêu của Web có ngữ nghĩa là để phát triển các chuẩn

chung và công nghệ cho phép máy tính có thể hiểu được nhiều hơn
thông tin trên Web, sao cho chúng có thể hỗ trợ tốt hơn việc khám phá
thông tin, tích hợp dữ liệu, và tự động hóa các công việc.
Bài thu hoạch môn học: Biểu diễn tri thức và ứng dụng

Lương Trí Quân – Lớp Cao Học CNTT K6 Trang 14

2. Kiến trúc web ngữ nghĩa
Web ngữ nghĩa được xây dựng trên nền hệ thống web hiện tại. Web ngữ
nghĩa đượ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 sau đây chỉ ra sơ đồ kiến trúc của Web
ngữ nghĩa.

Kiến trúc của web ngữ nghĩa
Từ sơ đồ kiến trúc của Web ngữ nghĩa, ta thấy có bảy tầng kiến trúc. Trong
đó, với hệ thống Web hiện tại (World Wide Web) là đang ở tầng thứ hai.
 Unicode
Chỉ đơn thuần 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)
Một URI (Uniform Resource Identifier) là một kí hiệu nhận dạng Web đơn
giản. Cụ thể, nó là một xâu ngắn cho phép nhận dạng tài nguyên Web như:
với các xâu bắt đầu với "http:" hoặc "ftp:" mà chúng ta thường thấy trên
World Wide Web. Bất kỳ một người nào cũng có thể tạo một URI, và sở hữu
chúng và chúng là một 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 Resource 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, 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
Bài thu hoạch môn học: Biểu diễn tri thức và ứng dụng

Lương Trí Quân – Lớp Cao Học CNTT K6 Trang 15

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.
 RDF (Resource Description Framework)
Khung mô tả tài nguyên RDF đượ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 Web ngữ nghĩa. Một
mệnh đề RDF là một bộ ba có dạng: [chủđề thuộctính đốitượ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 trên trong RDF
đều là các URI.

Bộ ba RDF
Ví dụ : về mệnh đề RDF
Giả sử biểu diễn mệnh đề "The libary lends books”, ta có chủ đề là "The
libary", thuộc tính là " lends ", đối tượng là " books " và các thông tin này có
các URI tương ứng là "Http:/www.libary.org/ontology/
#libary", "Http:/www.libary.org/ontology/#lends" và "Http:/www.
libary.org/ ontology/#books". Khi đó mệnh đề được biểu diễn dạng đồ thị như

sau:

 RDFS (RDF schema)
RDFS là một ngôn ngữ ontology đơn giản của web ngữ nghĩa, được coi là
một ngôn ngữ cơ sở của web ngữ nghĩa. 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
Http:/www.libary.org/ontology/#libary
Http:/www.libary.org/ ontology/#books
Http:/www.libary.org/ontology/#lends
Bài thu hoạch môn học: Biểu diễn tri thức và ứng dụng

Lương Trí Quân – Lớp Cao Học CNTT K6 Trang 16

- Đị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.
 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ữ
logic mô tả tương ứng khác nhau.
 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 các 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.
 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ì khi
đó 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-Order-Logic). 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.
 Tầng Trust
Đảm bảo tính tin cậy của các ứng dụng trên Web ngữ nghĩa. Ví dụ: có
một người bảo x là xanh, một người khác lại nói x không xanh, như thế
Web ngữ nghĩa 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 web ngữ nghĩa 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ử để
Bài thu hoạch môn học: Biểu diễn tri thức và ứng dụng

Lương Trí Quân – Lớp Cao Học CNTT K6 Trang 17

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.
3. Nội dung web ngữ nghĩa
Để xây dựng hệ thống Web ngữ nghĩa thay thế cho World Wide Web hiện
tại, các nhà nghiên cứu đang nỗ lực và tập trung nghiên cứu với ba
hướng chính sau:
- Chuẩn hoá các ngôn ngữ biểu diễn dữ liệu (XML) và siêu dữ liệu (RDF)
trên Web.

- Chuẩn hoá các ngôn ngữ biểu diễn Ontology cho Web có ngữ nghĩa.
- Phát triển nâng cao Web có ngữ nghĩa (Semantic Web Advanced
Development - SWAD).
 Chuẩn hoá các ngôn ngữ biểu diễn dữ liệu (XML) và các siêu dữ liệu
(RDF) trên Web
Như chúng ta đã biết, World Wide Web đã rất thành công bởi ngôn ngữ
XML. XML đã làm cho công nghệ Web phát triển mạnh mẽ như hiện nay.
Và Web ngữ nghĩa được phát triển trên nền Web hiện tại, trên nền XML,
chúng ta có thể thấy rất rõ ngay trong sơ đồ kiến trúc của Web ngữ
nghĩa. Web ngữ nghĩa được bổ sung các chú thích ngữ nghĩa cho các tài
nguyên Web, và W3C đã giới thiệu RDF là chuẩn cú pháp để tạo, thay
đổi và sử dụng chú thích trong Web ngữ nghĩa. Do vậy việc xây dựng
ngôn ngữ chuẩn cho XML và RDF là thiết yếu để biểu diễn dữ liệu cho
Web ngữ nghĩa. Trong quá trình này, đã có một số cú pháp được đưa ra
để biểu diễn RDF như: Notation 3 (hay N3), XML/RDF, hay đồ thị các
mệnh đề của RDF như đã trình bày ở trên. Các cú pháp này hỗ trợ biểu
diễn dữ liệu cho máy có thể hiểu được.
 Chuẩn hoá các ngôn ngữ biểu diễn Ontology cho Web có ngữ nghĩa
Ontology đóng vai trò then chốt trong việc cung cấp tài nguyên có thể truy
nhập để xử lý tự động bằng cách cung cấp bộ từ vựng cho việc đánh dấu
ngữ nghĩa của Web ngữ nghĩa. Để biểu diễn Ontology cho phát triển Web
có ngữ nghĩa cần thiết đưa ra một ngôn ngữ chuẩn cho sự biểu diễn
mềm dẻo, linh hoạt và đa dạng của tài nguyên Web. Trong quá trình
chuẩn hoá ngôn ngữ biểu diễn Ontology, một số ngôn ngữ được đề xuất
với các khả năng biểu diễn tăng dần như: RDFS, DAML+OIL, OWL, và
tiếp tục được mở rộng trong tương lai. Các ngôn ngữ này có khả năng
biểu diễn tăng dần nhưng tương ứng là khả năng quyết định giảm dần
(độ phức tạp tăng dần). Và các ngôn ngữ biểu diễn Ontology được xây
dựng phải cân bằng được khả năng biểu diễn và độ phức tạp tính toán.
Các ngôn ngữ này được xây dựng trên nền các chuẩn XML, RDF, và

thường sử dụng cơ sở logic là logic mô tả để biểu diễn ngữ nghĩa và hỗ
trợ lập luận.
Bài thu hoạch môn học: Biểu diễn tri thức và ứng dụng

Lương Trí Quân – Lớp Cao Học CNTT K6 Trang 18

 Phát triển nâng cao Web ngữ nghĩa (Semantic Web Advanced
Development - SWAD)
Các công việc chuẩn hoá các ngôn ngữ biểu diễn dữ liệu XML, siêu dữ
liệu RDF hay ngôn ngữ biểu diễn Ontology là các công việc nền tảng, cơ
sở tạo ra chuẩn chung cơ sở để phát triển hệ thống và các ứng dụng trên
Web ngữ nghĩa. Việc đưa các chuẩn đó thành các thể hiện, các sản
phẩm của hệ thống Web ngữ nghĩa là công việc của SWAD. SWAD thực
hiện nghiên cứu và đưa ra các thể hiện của Web ngữ nghĩa trên công
nghệ cơ sở và nó cũng bổ sung, hoàn thiện các công nghệ cơ sở này. Nó
chỉ ra các công nghệ Web ngữ nghĩa được sử dụng như thế nào? Mục
tiêu cụ thể của SWAD là sử dụng các công nghệ, kỹ thuật và các công cụ
hiện có của Web ngữ nghĩa để tạo ra các chương trình vượt xa hơn tầm
hiện có, phát triển các thể hiện thực tiễn và cung cấp các công cụ và các
chuẩn mới cho Web ngữ nghĩa. Để phát triển SWAD hiện tại đã có một
số dự án của các tổ chức thực hiện nghiên cứu và phát triển như: SWAD-
Europe, SWAD-DAML, SWAD-Simile, SWAD-Oxygen. Hiện tại, ở Việt
Nam, một dự án cấp Nhà nước đang nghiên cứu thực hiện trích rút tự
động thông tin từ các trang Web về tin tức để xây dựng các ontology cho
lĩnh vực này nhằm "tiếp nhận" công nghệ Web ngữ nghĩa khi có hệ thống
mạng mới này.
VIII. Một số hạn chế của RDF/RDFS

RDF và RDFS cho phép biểu diễn một vài tri thức ontology. Mô hình cơ bản
của RDF/RDFS liên quan đến tổ chức bộ từ vựng trong việc phân cấp: các

quan hệ lớp con, thuộc tính con, các ràng buộc domain và range, các thể
hiện của lớp. Tuy nhiên một số các đặc điểm bị thiếu như sau:
 Tách rời các lớp: Thỉnh thoảng chúng ta muốn chỉ ra các lớp tách rời
nhau. Ví dụ lớp Male và lớp Female là tách rời, nhưng trong RDFS
chúng ta chỉ có thể để ở quan hệ lớp con, ví dụ: Female là lớp con của
lớp Person
 Phạm vi giá trị của thuộc tính: rdfs:range định nghĩa dải giá trị của
thuộc tính áp dụng cho tất cả các lớp. Vì vậy trong RDF Schema
chúng ta không thể khai báo các ràng buộc với dải giá trị chỉ áp dụng
với một vài lớp nhất định. Ví dụ, trong RDFS chúng ta không thể định
nghĩa bò chỉ ăn cỏ, trong khi các loài động vật khác cũng có thể ăn cỏ.
 Kết hợp các lớp với nhau: Đôi khi chúng ta muốn xây dụng một lớp
mới được tạo ra từ việc kết hợp các lớp khác sử dụng hợp hoặc giao
hoặc bù. Ví dụ chúng ta có thể định nghĩa lớp Person bằng việc hợp
hai lớp phân biệt là Male và Female. RDF Schema không cho phép
chúng ta định nghĩa như vậy.
 Các ràng buộc về lực lƣợng: Chúng ta muốn các ràng buộc bao
nhiêu giá trị thuộc tính phân biệt có thể có hoặc bắt buộc. Ví dụ:
Chúng ta thích nói rằng một người có đúng hai cha mẹ, hoặc một
Bài thu hoạch môn học: Biểu diễn tri thức và ứng dụng

Lương Trí Quân – Lớp Cao Học CNTT K6 Trang 19

khóa học được dạy bởi ít nhất một giảng viên. Kiểu ràng buộc này
không thể biểu diễn trong RDF Schema được
 Các đặc điểm cụ thể của thuộc tính: Nó hữu ích khi nói một thuộc
tính là bắc cầu (ví dụ “Lớn hơn”), hoặc duy nhất (“là mẹ của”), hoặc
nghịch đảo của thuộc tính khác (như thuộc tính “là mẹ của”, và thuộc
tính “là con của”)
Vì những hạn chế này mà chúng ta cần một ngôn ngữ ontology giàu có hơn

(cách biểu diễn phong phú ) RDF Schema. Trong thiết kế một ngôn ngữ nên
chú ý đến sự cân bằng giữa sức mạnh biểu diễn và hỗ trợ suy diễn hiệu
quả. Nên ngôn ngữ ontology cho web (OWL – Ontology Web Language) ra
đời. OWL đưa ra tiêu chuẩn cho ontology sử dụng trong web. 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 nguyên, để chia sẻ cũng như tái sử dụng dữ liệu trên Web.
IX. Tìm hiểu ngôn ngữ OWL
1. Khái niệm OWL
OWL - Web Ontologoy Language là một ngôn ngữ được dùng cho việc
defining và instantiating các Web ontologies. Ontology là một thuật ngữ mượn
từ triết học đề cập đến khoa học mô tả các loại thực thể trong thế giới và quan
hệ giữa chúng. Một OWL ontology bao gồm các mô tả về các classes,
properties và các instances của chúng.
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ả 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 được hỗ trợ bởi W3C. 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 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 của 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
Bài thu hoạch môn học: Biểu diễn tri thức và ứng dụng


Lương Trí Quân – Lớp Cao Học CNTT K6 Trang 20

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.
Một câu hỏi thường đặt ra là tại sao chúng ta lại không sử dụng các chuẩn
Web khác như XML và XML Schema mà lại sử dụng ontology. Có hai lý do giải
thích cho câu hỏi này:
 Ontology khác với XML schema, Ontology là một biểu diễn tri thức, chứ
không phải là một message format (định dạng thông điệp). Hầu hết các
công nghệ với các chuẩn Web là một sự kết hợp giữa các message
formats và các protocol specifications (giao thức truyền thông). Các định
dạng này được gắn ngữ nghĩa với các thao tác, như “Khi nhận được
message PurchaseOrder, chuyển Amount dollars từ AccountFrom đếb
AccountTo và vận chuyển Product”. Tuy nhiên, đặc tả không được thiết
kế để hỗ trợ reasoning (suy diễn) ngoài ngữ cảnh trong giao tác. Ví dụ
chúng ta không có cơ chế nào để kết luận rằng vì Product là một loại
Chardonnay (một loại rượu làm từ nho Chardonnay).
 Một lợi ích khác của các OWL ontologies là sự sẵn có của các công cụ
thực hiện việc suy diễn với ontology. Các công cụ này sẽ cung cấp cho ta
các hỗ trợ tổng quát có thể sử dụng với tất cả các domain ứng dụng khác
nhau trong khi đối với XML thì người ta có thể phải xây dựng một hệ
thống suy diễn cho một lĩnh vực cụ thể. Hơn thế nữa việc xây dựng một
ontology là khá đơn giản và dễ kiểm xoát bằng các công cụ soạn thảo
ontology chuyên nghiệp.
2. Các phiên bản của OWL:
Hiện nay có ba loại OWL: OWL Lite, OWL DL(description logic) và OWL Full.

 OWL Lite: hỗ trợ cho những người dùng chủ yếu cần sự phân lớp theo
thứ bậc và các ràng buộc đơn giản. Ví dụ: Trong khi nó hỗ trợ các ràng
buộc về tập hợp, nó chỉ cho phép tập hợp giá trị của 0 hay 1. Điều này
cho phép cung cấp các công cụ hỗ trợ OWL Lite dễ dàng hơn so với các
bản khác.
 OWL DL (OWL Description Logic): hỗ trợ cho những người dùng cần
sự diễn cảm tối đa trong khi cần duy trì tính tính toán toàn vẹn (tất cả
các kết luận phải được đảm bảo để tính toán) và tính quyết định (tất cả
các tính toán sẽ kết thúc trong khoảng thời gian hạn chế). OWL DL bao
gồm tất cả các cấu trúc của ngôn ngữ OWL, nhưng chúng chỉ có thể
được sử dụng với những hạn chế nào đó (Ví dụ: Trong khi một lớp có
Bài thu hoạch môn học: Biểu diễn tri thức và ứng dụng

Lương Trí Quân – Lớp Cao Học CNTT K6 Trang 21

thể là một lớp con của rất nhiều lớp, một lớp không thể là một thể hiện
của một lớp khác). OWL DL cũng được chỉ định theo sự tương ứng với
logic mô tả, một lĩnh vực nghiên cứu trong logic đã tạo nên sự thiết lập
chính thức của OWL.
 OWL Full: muốn đề cập tới những người dùng cần sự diễn cảm tối đa
và sự tự do của RDF mà không cần đảm bảo sự tính toán của các biểu
thức. Ví dụ, trong OWL Full, một lớp có thể được xem xét đồng thời như
là một tập của các cá thể và như là một cá thể trong chính bản thân nó.
OWL Full cho phép một ontology gia cố thêm ý nghiã của các từ vựng
được định nghĩa trước (RDF hoặc OWL).
Các phiên bản này tách biệt về các tiện ích khác nhau, OWL Lite là
phiên bản dễ hiểu nhất và phức tạp nhất là OWL Full.
3. Mối liên hệ giữa các ngôn ngữ con của OWL
 Mọi ontology hợp lệ dựa trên OWL Lite đều là ontology hợp lệ trên OWL
DL

 Mọi ontology hợp lệ dựa trên OWL DL đều là ontology hợp lệ trên OWL
Full
 Mọi kết luận hợp lệ dựa trên OWL Lite đều là kết luận hợp lệ trên OWL
DL
 Mọi kết luận hợp lệ dựa trên OWL DL đều là kết luận hợp lệ trên OWL
Full
4. Cấu trúc của OWL
a. Namespace
Trước hết chúng ta cần chỉ ra chính xác các vocabulary cụ thể nào sẽ
được sử dụng trong ontology. Một thành phần cơ bản, thành phần khởi
đầu chuẩn tắc của một ontology là một tập các khai báo XML namespace
trong thẻ mở rdf:RDF.
<rdf:RDF
xmlns:owl ="
xmlns:rdf ="
xmlns:rdfs="
xmlns:xsd ="
b. Ontology headers
Sau khi khai báo xong namespaces, sử dụng các thẻ owl:Ontology để chỉ
ra các đặc tính thông thường của ontology như comments, version
control và inclusion của các ontologies khác.
<owl:Ontology rdf:about="">
<rdfs:comment>An example OWL ontology</rdfs:comment>
<owl:imports rdf:resource="
Bài thu hoạch môn học: Biểu diễn tri thức và ứng dụng

Lương Trí Quân – Lớp Cao Học CNTT K6 Trang 22

20040210/food"/>
<rdfs:label>Wine Ontology</rdfs:label>

Ý nghĩa các thẻ:
 rdf:about cung cấp một tên hay một tham chiếu cho ontology.
 rdfs:comment cho phép chú thích ngữ nghĩa cho một ontology
owl:imports cung cấp một cơ chế include-style. owl:imports nhận một
tham số duy nhất, nhận biết bởi thuộc tính rdf:resource.
Việc import một ontology khác sẽ đưa tất cả các dữ liệu trong ontology đó
vào ontology yêu cầu nhập. Để sử dụng hiệu quả nhất ontology được
nhập, nên kết hợp với một khai báo namespace. Chú ý sự khác biệt giữa
2 cách này. Khai báo namspace tạo nên sự thuận tiện để tham chiếu tới
các terms trong các OWL ontologies khác. Trong khi đó, owl:imports hỗ
trợ người dùng muốn include các assertions của ontology đích. Chú ý là
import ontology O2 cũng sẽ import tất cả các ontologies mà O2 imports.
Chú ý là owl:imports không phải luôn luôn thành công. Khi làm việc với
Semantic Web, truy cập tới tài nguyên phân tán trên Web đôi khi không
thực hiện được.
c. Các phần tử cơ bản
(i). Class đơn giản
Mỗi individual trong OWL đều thuộc về lớp owl:Thing. Do đó, mỗi
class được người dùng định nghĩa đều là subclass của owl:Thing.
Trong domain về rượu, 3 root classes được định nghĩa là: Winery,
Region, và ConsumableThing.
<owl:Class rdf:ID="Winery"/>
<owl:Class rdf:ID="Region"/>
<owl:Class rdf:ID="ConsumableThing"/>
Cần chú ý là các định nghĩa có thể được chi tiết dần, cũng như có
thể được phân tán. Ví dụ như lớp Winery sẽ được chi tiết các đặc
tính hơn về sau.
Cấu trúc rdf:ID="Region" được sử dụng để đưa ra một name. Đây
là thuộc tính rdf:ID, tương tự như thuộc tính ID được định nghĩa
trong XML. Sau đó, trong document mô tả ontology này, Region

class đã có thể được tham chiếu tới bằng cách sử dụng #Region,
ví dụ như: rdf:resource="#Region". Các ontologies khác có thể
tham chiếu tới name này bằng cách dùng dạng thức đầy đủ:
" />20040210/wine#Region".
Một dạng thức tham chiếu khác, sử dụng cấu trúc
rdf:about="#Region" để mở rộng, chi tiết thêm cho định nghĩa của
một resource. Chính việc sử dụng cấu trúc rdf:about="&ont;#x" sẽ
Bài thu hoạch môn học: Biểu diễn tri thức và ứng dụng

Lương Trí Quân – Lớp Cao Học CNTT K6 Trang 23

hỗ trợ cho việc tạo các ontology phân tán. Nó cho phép mở rộng
các định nghĩa được import của x mà không cần phải chỉnh sửa tài
liệu mô tả ontology gốc và hỗ trợ cho việc xây dựng một ontology
mới có qui mô lớn hơn
Để tạo cấu trúc phân cấp cho các class, sử dụng quan hệ
rdfs:subClassOf. Nếu X là một subclass của Y, thì tất cả các
instance của X cũng là một instance của Y. Quan hệ
rdfs:subClassOf có tính bắc cầu. Nếu X là một subclass của Y và Y
là một subclass của Z thì X cũng là một subclass của Z.
<owl:Class rdf:ID="PotableLiquid">
<rdfs:subClassOf rdf:resource="#ConsumableThing" />
</owl:Class>
Trong ví dụ trên, PotableLiquid (chất lỏng dùng để uống) được định
nghĩa là một subclass của ConsumableThing. Các class có thể
được định nghĩa ở các ontology khác nhau rồi được sử dụng bằng
cách sử dụng owl:imports.
Định nghĩa cho một class bao gồm 2 phần: tên và danh sách các
restrictions. Mỗi expression trực tiếp trong class definition đưa
thêm các giới hạn cho các instances của class được định nghĩa.

Instances của class này phải thỏa mãn tất cả các restrictions đó.
Dưới đây là một định nghĩa đơn giản (một phần của định nghĩa
hoàn chỉnh) cho class Wine. Wine là một PotableLiquid.
<owl:Class rdf:ID="Wine">
<rdfs:subClassOf rdf:resource="&food;PotableLiquid"/>
<rdfs:label xml:lang="en">wine</rdfs:label>
<rdfs:label xml:lang="fr">vin</rdfs:label>
</owl:Class>
(ii). Individual
Bên cạnh các classes, chúng ta còn muốn mô tả các members của
chúng, mà thông thường được chúng ta xem như các individuals.
Một individual được xác định đơn giản nhất bằng cách khai báo nó
thuộc về class nào.
<Region rdf:ID="CentralCoastRegion" />
Chú ý rằng khai báo trên là hoàn toàn tương tự với khai báo
sau
<owl:Thing rdf:ID="CentralCoastRegion" />
<owl:Thing rdf:about="#CentralCoastRegion">
<rdf:type rdf:resource="#Region"/>
Bài thu hoạch môn học: Biểu diễn tri thức và ứng dụng

Lương Trí Quân – Lớp Cao Học CNTT K6 Trang 24

</owl:Thing>
Có hai điểm đã được trình bày ở đây. Thứ nhất,
CentralCoastRegion (một vùng cụ thể) là member của Region,
class chứa tất cả các regions địa lý. Thứ hai, ở đây không nhất
thiết yêu cầu hai phần ví dụ trên phải được đặt ở gần nhau hay ở
cùng một file. Điều này giúp cho ta có thể xây dựng một ontology
phân tán.

d. Định nghĩa thuộc tính đơn giản
Một property là một quan hệ 2 ngôi. Có 2 loại properties:
datatype properties: property có dữ liệu là các kiểu đơn giản như
string, int…
object properties: mối quan hệ giữa hai instance của hai class.
<owl:ObjectProperty rdf:ID="madeFromGrape">
<rdfs:domain rdf:resource="#Wine"/>

định nghĩa thuộc class
nào
<rdfs:range rdf:resource="#WineGrape"/>

định nghĩa loại dữ liệu
</owl:ObjectProperty>
<owl:DatatypeProperty rdf:ID="userGuild">
<rdfs:label>downloadURI</rdfs:label>
<rdfs:domain rdf:resource="#Wine"/>
<rdfs:range rdf:resource="&xsd;string"/>
</owl:DatatypeProperty>
e. Các đặc tính của một thuộc tính
Phần này mô tả cơ chế đặc tả chi tiết hơn cho các properties, qua đó,
cung cấp khả năng mạnh mẽ trong việc mở rộng suy diễn về một
property.
(iii). Transitive Property
Nếu một property P là có tính transitive (bắc cầu), thì với mọi x, y,
và z:
P(x,y) và P(y,z)

P(x,z)
Ví dụ thuộc tính locatedIn là transitive.

<owl:ObjectProperty rdf:ID="locatedIn">
<rdf:type rdf:resource="&owl;TransitiveProperty" />
<rdfs:domain rdf:resource="&owl;Thing" />
<rdfs:range rdf:resource="#Region" />
</owl:ObjectProperty>
<Region rdf:ID="SantaCruzMountainsRegion">
<locatedIn rdf:resource="#CaliforniaRegion" />
Bài thu hoạch môn học: Biểu diễn tri thức và ứng dụng

Lương Trí Quân – Lớp Cao Học CNTT K6 Trang 25

</Region>
<Region rdf:ID="CaliforniaRegion">
<locatedIn rdf:resource="#USRegion" />
</Region>
Do SantaCruzMountainsRegion là locatedIn ở CaliforniaRegion, do
đó nó cũng phải locatedIn ở USRegion, bởi vì locatedIn là
transitive.
(iv). Symmetric Property
Nếu một property P là có tính symmetric (đối xứng) thì với mọi x và
y
P(x,y) iff P(y,x) (A iff B ≡ (A

B) & (B

A))
Thuộc tính adjacentRegion là symmetric trong khi locatedIn thì
không
<owl:ObjectProperty rdf:ID="adjacentRegion">
<rdf:type rdf:resource="&owl;SymmetricProperty" />

<rdfs:domain rdf:resource="#Region" />
<rdfs:range rdf:resource="#Region" />
</owl:ObjectProperty>
(v). Functional Property
Nếu một property P là functional (chỉ một) nếu với mọi x, y, z
P(x,y) & P(x,z)

y = z
Ví dụ:
<owl:Class rdf:ID="VintageYear" />
<owl:ObjectProperty rdf:ID="hasVintageYear">
<rdf:type rdf:resource="&owl;FunctionalProperty" />
<rdfs:domain rdf:resource="#Vintage" />
<rdfs:range rdf:resource="#VintageYear" />
</owl:ObjectProperty>
(vi). inverseOf
Nếu thuộc tính P1 là inverseOf của thuộc tính P2 thì với mọi x,y ta

P1(x,y) iff P2(y,x)
Chú ý rằng cú pháp của owl:inverseOf lấy đầu vào là tên của một
property
<owl:ObjectProperty rdf:ID="hasMaker">
<rdf:type rdf:resource="&owl;FunctionalProperty" />

×