Tải bản đầy đủ (.doc) (42 trang)

Tiểu luận MÔN BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG TÌM HIỂU PROTÉGÉ - ONTOLOGY

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 (1018.37 KB, 42 trang )

ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTTQM
………… o0o…………
BÁO CÁO THU HOẠCH MÔN HỌC
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG
Đề tài:
TÌM HIỂU PROTÉGÉ - ONTOLOGY
GVHD: PGS.TS.Đỗ Văn Nhơn
HVTH: Nguyễn Văn Chung
MÃ SỐ: CH1101070
TP.Hồ Chí Minh, Năm 2013
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
LỜI MỞ ĐẦU

Ngày nay trí tuệ nhân tạo ngày càng phát triển mạnh mẽ, bằng chứng cụ thể là có rất
nhiều công trình đề tài nghiên cứu và đã đưa vào ứng dụng trong rất nhiều lĩnh vực
phát triển kinh tế xã hội, trong đó biểu diễn tri thức là phần không thể thiếu, tri thức
được con người biểu diễn sao cho máy tính có thu nhận được, diễn đạt, xử lý và suy
luận. Chính vì vậy biểu diễn tri thức đóng vai trò rất rất quan trọng trong trí tuệ nhân
tạo.
Một trong những phương thức biểu diễn tri thức phổ biến hiện nay là Ontology, tuy ra
đời hơi muộn so với các phương thức khác nhưng Ontology đã được đón nhận rộng
rãi trên thế giới và một trong nhưng công cụ thể hiện Ontology cho người xem dễ
dàng là Protégé. Trong phần này em xin được giới thiệu đôi chút về Ontology và công
cụ Protégé.
Em xin chân thành cảm ơn PGS.TS. Đỗ Văn Nhơn – Giảng viên môn học Biểu diễn
tri thức và Ứng Dụng- đã truyền đạt những kiến thức vô cùng quý báu, xin chân thành
cám ơn ban cố vấn học tập và ban quản trị chương trình đào tạo thạc sĩ Công nghệ
thông tin qua mạng của Đại Học Quốc Gia TPHCM đã tạo điều kiện về tài liệu tham
khảo để em có thể hoàn thành môn học này.
Chân thành cám ơn!


Nguyễn Văn Chung
HVTH: Nguyễn Văn Chung - 1 -
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
MỤC LỤC
LỜI MỞ ĐẦU 1
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn 2
PHẦN I : BIỂU DIỄN TRI THỨC 4
I. TỔNG QUAN 4
I.1. Giới thiệu : 4
I.2. Thông tin, dữ liệu, tri thức: 5
II. Các phương pháp biểu diễn tri thức trên máy tính: 7
II.1. Logic mệnh đề: 7
II.2. Logic vị từ 8
II.3. Mạng ngữ nghĩa: 10
PHẦN II : ONTOLOGY 12
I. Giới thiệu 12
I.1. Định nghĩa: 12
II. Các thành phần của Ontology 12
II.1. Cá thể (Individuals): 12
II.2. Lớp (Classes) 13
II.3. Thuộc tính (Attributes): 14
II.4. Quan hệ (Relationships): 14
III. Phân Loại: 16
IV. Phương thức xây dựng 17
IV.1. Xác định lĩnh vực quan tâm và phạm vi của Ontology: 18
IV.2. Xem xét việc kế thừa các Ontology có sẵn: 19
IV.3. Liệt kê các thuật ngữ quan trọng trong Ontology: 20
IV.4. Xây dựng các lớp và cấu trúc lớp phân cấp: 20
IV.5. Định nghĩa các thuộc tính và quan hệ cho lớp: 20
IV.6. Định nghĩa các thuộc tính và quan hệ cho lớp: 21

IV.7. Tạo các thực thể cho lớp: 22
V. Ngôn ngữ Ontology 22
V.1. RDF (Resource Description Framework): 22
V.2. RDFS (RDF-Schema): 24
V.3. OWL (Ontology Web Language): 27
PHẦN III : PROTÉGÉ 30
I. Giới thiệu 30
II. Download và cài đặt: 31
III. Khám phá Protégé 32
III.1. Màn hình chính 32
III.2. Tổng quan các tab 32
IV. Tình huống 33
V. Lớp (classes) 34
VI. Các thuộc tính của đối tượng (Object Properties) 36
VII. Các thuộc tính dữ liệu (Data Properties) 37
VIII. Các cá thể (Individuals) 38
HVTH: Nguyễn Văn Chung - 2 -
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
KẾT LUẬN 40
HVTH: Nguyễn Văn Chung - 3 -
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
PHẦN I :
BIỂU DIỄN TRI THỨC
I. TỔNG QUAN
I.1. Giới thiệu :
Theo Randall Davis, Howard Shrobe, and Peter Szolovits.
Biểu diễn tri thức là phương pháp mã hóa tri thức, nhằm thành lập cơ sở tri
thức cho các hệ thống dựa trên tri thức. 5 vai trò sau đây nói rõ hơn về cách biểu diễn:
Biểu diễn tri thức là sự thay thế cơ bản nhất, cho phép một thực thể để
xác định kết quả bằng suy nghĩ hơn là hành động, ví dụ, bằng cách lý

luận về thế giới chứ không phải là hành động.
Đồ thị ý niệm, nghĩa là để trả lời cho câu hỏi: Tôi nên nghĩ về thế giới
như thế nào?
Lý thuyết rời rạc của lập luận thông minh, thể hiện bằng ba yếu tố:
i) Biểu diễn quan niệm cơ bản của các lập luận thông minh.
ii) Một bộ các suy luận được công nhận.
iii) Tập hợp các suy luận của biểu diễn tri thức được giới thiệu.
Là môi trường tính toán thực tế, tức là môi trường tính toán, trong đó tư
duy được thực hiện. Các hướng dẫn được cung cấp để góp phần tạo nên
hiệu quả thực tế, biểu diễn cung cấp cho việc tổ chức thông tin tạo
thuận lợi để biểu diễn các suy luận.
Là môi trường diễn đạt của con người, nghĩa là một ngôn ngữ mà chúng
ta nói những điều về thế giới.
Hiểu về vài trò và thừa nhận sự đa dạng của nó mang lại kết quả hữu ích.
Thứ nhất, mỗi vai trò là yêu cầu sự khác nhau của việc biểu diễn.
Thứ hai, vai trò cung cấp một khuôn khổ hữu ích cho việc mô tả tính đa
dạng của biểu diễn.
Thứ ba, một số bất đồng trước đây về việc biểu diễn được gỡ rối hiệu quả
khi tất cả năm vai trò được đưa ra xem xét thích hợp.
Cuối cùng, đem lại kết quả cho cả hai nghiên cứu và thực hành, một điều
tin rằng quan điển này cũng có thể cải thiện thực hành bằng cách nhắc nhở
HVTH: Nguyễn Văn Chung - 4 -
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
các học viên về nhừng nguồn cảm hứng đó là nguồn quan trọng của quyền
lực cho một loại các biểu diễn.
Mục tiêu chính: biểu diễn tri thức trong máy tính là phục vụ cho việc thu nhận tri
thức vào máy tính, truy xuất tri thức và thực hiện các phép suy luận dựa trên những tri
thức đã lưu trữ.
I.2. Thông tin, dữ liệu, tri thức:
Tri thức là một khái niệm rất trừu tượng. Do đó, chúng ta sẽ không cố gắng

đưa ra một định nghĩa hình thức chính xác ở đây. Thay vào đó, chúng ta hãy cùng
nhau cảm nhận khái niệm "tri thức" bằng cách so sánh nó với hai khái niệm khác là
thông tin và dữ liệu.
Trong ngữ cảnh của ngành khoa học máy tính, người ta quan niệm rằng dữ
liệu là các con số, chữ cái, hình ảnh, âm thanh mà máy tính có thể tiếp nhận và xử
lý. Bản thân dữ liệu thường không có ý nghĩa đối với con người. Còn thông tin là tất
cả những gì mà con người có thể cảm nhận được một cách trực tiếp thông qua các
giác quan của mình (khứu giác, vị giác, thính giác, xúc giác, thị giác và giác quan thứ
6) hoặc gián tiếp thông qua các phương tiện kỹ thuật như tivi, radio, cassette, Thông
tin đối với con người luôn có một ý nghĩa nhất định nào đó. Với phương tiện máy tính
(mà cụ thể là các thiết bị đầu ra), con người sẽ tiếp thu được một phần dữ liệu có ý
nghĩa đối với mình. Nếu so về lượng, dữ liệu thường nhiều hơn thông tin.
Cũng có thể quan niệm thông tin là quan hệ giữa các dữ liệu. Các dữ liệu được
sắp xếp theo một thứ tự hoặc được tập hợp lại theo một quan hệ nào đó sẽ chứa đựng
thông tin. Nếu những quan hệ này được chỉ ra một cách rõ ràng thì đó là các tri thức.
Chẳng hạn:
 Trong toán học :
Bản thân từng con số riêng lẻ như 1, 1, 3, 5, 2, 7, 11, là các dữ liệu. Tuy
nhiên, khi đặt chúng lại với nhau theo trật tự như dưới đây thì giữa chúng đã bắt đầu
có một mối liên hệ
Dữ liệu: 1, 1, 2, 3, 5, 8, 13, 21, 34,
Mối liên hệ này có thể được biểu diễn bằng công thức sau : Un = Un-1 + Un-2.
Công thức nêu trên chính là tri thức.

 Trong vật lý:
HVTH: Nguyễn Văn Chung - 5 -
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
Bản sau đây cho chúng ta biết số đo về điện trở (R), điện thế (U) và cường độ
dòng điện (I) trong một mạch điện.
I U R

5 10 2
2.5 20 8
4 12 3
7.3 14.6 2
Bản thân những con số trong các cột của bản trên không có mấy ý nghĩa nếu ta
tách rời chúng ta. Nhưng khi đặt kế nhau, chúng đã cho thấy có một sự liên hệ nào đó.
Và mối liên hệ này có thể được diễn tả bằng công thức đơn giản sau :
Công thức này là tri thức.
 Trong cuộc sống hàng ngày :
Hằng ngày, người nông dân vẫn quan sát thấy các hiện tượng nắng, mưa, râm
và chuồn chuồn bay. Rất nhiều lần quan sát, họ đã có nhận xét như sau :
Chuồn chuồn bay thấp thì mưa, bay cao thì nắng, bay vừa thì râm.
Lời nhận xét trên là tri thức.
Có quan điểm trên cho rằng chỉ những mối liên hệ tường minh (có thể chứng
minh được) giữa các dữ liệu mới được xem là tri thức. Còn những mối quan hệ không
tường minh thì không được công nhận. Ở đây, ta cũng có thể quan niệm rằng,mọi mối
liên hệ giữa các dữ liệu đều có thể được xem là tri thức, bởi vì, những mối liên hệ này
thực sự tồn tại. Điểm khác biệt là chúng ta chưa phát hiện ra nó mà thôi. Rõ ràng rằng
"dù sao thì trái đất cũng vẫn xoay quanh mặt trời" dù tri thức này có được Galilê phát
hiện ra hay không!
Như vậy, so với dữ liệu thì tri thức có số lượng ít hơn rất nhiều. Thuật ngữ ít ở
đây không chỉ đơn giản là một dấu nhỏ hơn bình thường mà là sự kết tinh hoặc cô
đọng lại. Bạn hãy hình dung dữ liệu như là những điểm trên mặt phẳng còn tri thức
chính là phương trình của đường cong nối tất cả những điểm này lại. Chỉ
cần một phương trình đường cong ta có thể biểu diễn được vô số điểm!. Cũng vậy,
chúng ta cần có những kinh nghiệm, nhận xét từ hàng đống số liệu thống kê, nếu
HVTH: Nguyễn Văn Chung - 6 -
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
không, chúng ta sẽ ngập chìm trong biển thông tin như nhà bác học Karan Sing đã
cảnh báo!

Người ta thường phân loại tri thức ra làm các dạng như sau:
 Tri thức sự kiện: là các khẳng định về một sự kiện, khái niệm nào đó
(trong một phạm vi xác định). Các định luật vật lý, toán học thường
được xếp vào loại này. (Chẳng hạn: mặt trời mọc ở đằng đông, tam giác
đều có 3 góc 600 )
 Tri thức thủ tục: thường dùng để diễn tả phương pháp, các bước cần
tiến hành, trình từ hay ngắn gọn là cách giải quyết một vấn đề. Thuật
toán, thuật giải là một dạng của tri thức thủ tục.
 Tri thức mô tả: cho biết một đối tượng, sự kiện, vấn đề, khái niệm,
được thấy, cảm nhận, cấu tạo như thế nào (một cái bàn thường có 4
chân, con người có 2 tay, 2 mắt, )
 Tri thức Heuristic: là một dạng tri thức cảm tính. Các tri thức thuộc
loại này thường có dạng ước lượng, phỏng đoán, và thường được hình
thành thông qua kinh nghiệm.
Trên thực tế, rất hiếm có một trí tuệ mà không cần đến tri thức (liệu có thể có
một đại kiện tướng cờ vua mà không biết đánh cờ hoặc không biết các thế cờ quan
trọng không?). Tuy tri thức không quyết định sự thông minh (người biết nhiều định lý
toán hơn chưa chắc đã giải toán giỏi hơn!) nhưng nó là một yếu tố cơ bản cấu thành
trí thông minh. Chính vì vậy, muốn xây dựng một trí thông minh nhân tạo, ta cần phải
có yếu tố cơ bản này. Từ đây đặt ra vấn đề đầu tiên là … Các phương pháp đưa tri
thức vào máy tính được gọi là biểu diễn tri thức.
II. Các phương pháp biểu diễn tri thức trên máy tính:
II.1. Logic mệnh đề:
Đây có lẽ là kiểu biểu diễn tri thức đơn giản nhất và gần gũi nhất đối với chúng
ta. Mệnh đề là một khẳng định, một phát biểu mà giá trị của nó chỉ có thể hoặc là
đúng hoặc là sai.
Ví dụ:
phát biểu "1+1=2" có giá trị đúng.
phát biểu "Mọi loại cá có thể sống trên bờ" có giá trị sai.
HVTH: Nguyễn Văn Chung - 7 -

BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
Giá trị của mệnh đề không chỉ phụ thuộc vào bản thân mệnh đề đó. Có những
mệnh đề mà giá trị của nó luôn đúng hoặc sai bất chấp thời gian nhưng cũng có
những mệnh đề mà giá trị của nó lại phụ thuộc vào thời gian, không gian và nhiều yếu
tố khác quan khác. Chẳng hạn như mệnh đề: "Con người không thể nhảy cao hơn 5m
với chân trần" là đúng khi ở trái đất , còn ở những hành tinh có lực hấp dẫn yếu thì có
thể sai.
Ta ký hiệu mệnh đề bằng những chữ cái la tinh như a, b, c,
Có 3 phép nối cơ bản để tạo ra những mệnh đề mới từ những mệnh đề cơ sở là phép
hội (È), giao(Ç) và phủ định (¬ ).
Bạn đọc chắn hẳn đã từng sử dụng logic mệnh đề trong chương trình rất nhiều
lần (như trong cấu trúc lệnh IF THEN ELSE) để biểu diễn các tri thức "cứng"
trong máy tính!
Bên cạnh các thao tác tính ra giá trị các mệnh đề phức từ giá trị những mệnh đề
con, chúng ta có được một cơ chế suy diễn như sau :
 Modus Ponens: Nếu mệnh đề A là đúng và mệnh đề A→ B là đúng thì giá trị
của B sẽ là đúng.
 Modus Tollens: Nếu mệnh đề A→ B là đúng và mệnh đề B là sai thì giá trị
của A sẽ là sai.
Các phép toán và suy luận trên mệnh đề đã được đề cập nhiều đến trong các tài
liệu về toán nên chúng ta sẽ không đi vào chi tiết ở đây.
II.2. Logic vị từ
Biểu diễn tri thức bằng mệnh đề gặp phải một trở ngại cơ bản là ta không thể can
thiệp vào cấu trúc của một mệnh đề. Hay nói một cách khác là mệnh đề không có cấu
trúc. Điều này làm hạn chế rất nhiều thao tác suy luận. Do đó, người ta đã đưa vào
khái niệm vị từ và lượng từ (∀- với mọi,∃ - tồn tại) để tăng cường tính cấu trúc của
một mệnh đề.
Trong logic vị từ, một mệnh đề được cấu tạo bởi hai thành phần là các đối
tượng tri thức và mối liên hệ giữa chúng (gọi là vị từ). Các mệnh đề sẽ được biểu diễn
dưới dạng:

Vị từ (<đối tượng 1>, <đối tượng 2>,…, <đối tượng n>)
Như vậy để biểu diễn vị của các trái cây, các mệnh đề sẽ được viết lại thành :
Cam có vị Ngọt Þ Vị (Cam, Ngọt)
Cam có màu Xanh Þ Màu (Cam, Xanh)
HVTH: Nguyễn Văn Chung - 8 -
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn

Kiểu biểu diễn này có hình thức tương tự như hàm trong các ngôn ngữ lập
trình, các đối tượng tri thức chính là các tham số của hàm, giá trị mệnh đề chính là kết
quả của hàm (thuộc kiểu BOOLEAN).
Với vị từ, ta có thể biểu diễn các tri thức dưới dạng các mệnh đề tổng quát, là
những mệnh đề mà giá trị của nó được xác định thông qua các đối tượng tri thức cấu
tạo nên nó.
Chẳng hạn tri thức : "A là bố của B nếu B là anh hoặc em của một người con
của A" có thể được biểu diễn dưới dạng vị từ như sau :
Bố (A, B) = Tồn tại Z sao cho : Bố (A, Z) và (Anh(Z, B) hoặc Anh(B,Z))
Trong trường hợp này, mệnh đề Bố(A,B) là một mệnh đề tổng quát
Như vậy nếu ta có các mệnh đề cơ sở là:
a) Bố ("An", "Bình") có giá trị đúng (Anh là bố của Bình)
b) Anh ("Tú", "Bình") có giá trị đúng (Tú là anh của Bình)
thì mệnh đề c) Bố ("An", "Tú") sẽ có giá trị là đúng. (An là bố của Tú).
Rõ ràng là nếu chỉ sử dụng logic mệnh đề thông thường thì ta sẽ không thể tìm
được một mối liên hệ nào giữa c và a,b bằng các phép nối mệnh đề Ç,È, ¬ . Từ đó, ta
cũng không thể tính ra được giá trị của mệnh đề c. Sở dĩ như vậy vì ta không thể thể
hiện tường minh tri thức "(A là bố của B) nếu có Z sao cho (A là bố của Z) và (Z anh
hoặc em C)" dưới dạng các mệnh đề thông thường. Chính đặc trưng của vị từ đã cho
phép chúng ta thể hiện được các tri thức dạng tổng quát như trên.
Thêm một số ví dụ nữa để các bạn thấy rõ hơn khả năng của vị từ :
Câu cách ngôn "Không có vật gì là lớn nhất và không có vật gì là bé nhất!" có
thể được biểu diễn dưới dạng vị từ như sau:

LớnHơn(x,y) = x>y
NhỏHơn(x,y) = x<y
∀ x,∃y : LớnHơn(y,x) và ∀ x, ∃ y : NhỏHơn(y,x)
Câu châm ngôn "Gần mực thì đen, gần đèn thì sáng" được hiểu là "chơi với
bạn xấu nào thì ta cũng sẽ thành người xấu" có thể được biểu diễn bằng vị từ như sau:
NgườiXấu (x) = ∃y: Bạn(x,y) và NgườiXấu(y)
Công cụ vị từ đã được nghiên cứu và phát triển thành một ngôn ngữ lập trình
đặc trưng cho trí tuệ nhân tạo.
HVTH: Nguyễn Văn Chung - 9 -
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
II.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 đầu tiên và cũng là
phương pháp dễ hiểu nhất đối với chúng ta. Phương pháp này sẽ biểu diễn tri thức
dưới dạng một đồ thị, trong đó đỉnh là các đối tượng (khái niệm) còn các cung cho
biết mối quan hệ giữa các đối tượng (khái niệm) này.
Chẳng hạn: giữa các khái niệm chích chòe, chim, hót, cánh, tổ có một số mối
quan hệ như sau:
• Chích chòe là một loài chim.
• Chim biết hót
• Chim có cánh
• Chim sống trong tổ
Các mối quan hệ này sẽ được biểu diễn trực quan bằng một đồ thị như sau:
Do mạng ngữ nghĩa là một loại đồ thị cho nên nó thừa hưởng được tất cả
những mặt mạnh của công cụ này. Nghĩa là ta có thể dùng những thuật toán của đồ thị
trên mạng ngữ nghĩa như thuật toán tìm liên thông, tìm đường đi ngắn nhất,… để thực
hiện các cơ chế suy luận. Điểm đặc biệt của mạng ngữ nghĩa so với đồ thị thông
thường chính là việc gán một ý nghĩa (có, làm, là, biết ) cho các cung. Trong đồ thị
tiêu chuẩn, việc có một cung nối giữa hai đỉnh chỉ cho biết có sựliên hệ giữa hai đỉnh
đó và tất cả các cung trong đồ thị đều biểu diễn cho cùng một loại liên hệ. Trong
mạng ngữ nghĩa, cung nối giữa hai đỉnh còn cho biết giữa hai khái niệm tương ứng có

sự liên hệ như thế nào. Việc gán ngữ nghĩa vào các cung của đồ thị đã giúp giảm bớt
được số lượng đồ thị cần phải dùng để biễu diễn các mối liên hệ giữa các khái niệm.
Chẳng hạn như trong ví dụ trên, nếu sử dụng đồ thị thông thường, ta phải dùng đến 4
loại đồ thị cho 4 mối liên hệ : một đồ thị để biểu diễn mối liên hệ "là", một đồ thị cho
mối liên hệ "làm", một cho "biết" và một cho "có".
HVTH: Nguyễn Văn Chung - 10 -
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
Một điểm khá thú vị của mạng ngữ nghĩa là tính kế thừa. Bởi vì ngay từ trong
khái niệm, mạng ngữ nghĩa đã hàm ý sự phân cấp (như các mối liên hệ "là") nên có
nhiều đỉnh trong mạng mặc nhiên sẽ có những thuộc tính của những đỉnh khác. Chẳng
hạn theo mạng ngữ nghĩa ở trên, ta có thể dễ dàng trả lời "có" cho câu hỏi : "Chích
chòe có làm tổ không?". Ta có thể khẳng định được điều này vì đỉnh "chích chòe" có
liên kết "là" với đỉnh "chim" và đỉnh "chim" lại liên kết "biết" với đỉnh "làm tổ" nên
suy ra đỉnh "chích chòe" cũng có liên kết loại "biết" với đỉnh "làm tổ". (Nếu để ý, bạn
sẽ nhận ra được kiểu "suy luận" mà ta vừa thực hiện bắt nguồn từ thuật toán "loang"
hay "tìm liên thông" trên đồ thị!). Chính đặc tính kế thừa của mạng ngữ nghĩa đã cho
phép ta có thể thực hiện được rất nhiều phép suy diễn từ những thông tin sẵn có trên
mạng.
Tuy mạng ngữ nghĩa là một kiểu biểu diễn trực quan đối với con người nhưng
khi đưa vào máy tính, các đối tượng và mối liên hệ giữa chúng thường được biểu diễn
dưới dạng những phát biểu động từ (như vị từ). Hơn nữa, các thao tác tìm kiếm trên
mạng ngữ nghĩa thường khó khăn (đặc biệt đối với những mạng có kích thước lớn).
Do đó, mô hình mạng ngữ nghĩa được dùng chủ yếu để phân tích vấn đề. Sau đó, nó
sẽ được chuyển đổi sang dạng luật hoặc frame để thi hành hoặc mạng ngữ nghĩa sẽ
được dùng kết hợp với một số phương pháp biểu diễn khác.
HVTH: Nguyễn Văn Chung - 11 -
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
PHẦN II : ONTOLOGY
I. Giới thiệu
I.1. Định nghĩa:

Trong khoa học máy tính và thông tin, ontology được định nghĩa là một biểu diễn
hình thức cho tập hợp các khái niệm thuộc một lĩnh vực nào đó và quan hệ giữa
những khái niệm này. Nói cụ thể hơn, ontology cung cấp một bộ từ vựng chung dùng
để mô tả một lĩnh vực – nghĩa là một loại đối tượng hay khái niệm hiện hữu, cùng với
các thuộc tính và quan hệ giữa chúng – và lời đặc tả cho nghĩa của những từ trong bộ
từ vựng. Dựa vào độ chính xác của đặc tả này, khái niệm ontology bao gồm một số
mô hình dữ liệu hay mô hình khái niệm, ví dụ, các bảng phân loại (classifications), từ
điển chuyên đề (thesauri), lược đồ cơ sở dữ liệu (database schemas), lý thuyết được
tiên đề hoá đầy đủ (fully axiomatized theories)… Ontology có khuynh hướng xuất
hiện ở mọi nơi. Ontology được sử dụng trong các lĩnh vực trí tuệ nhân tạo, web ngữ
nghĩa, kỹ thuật phần mềm, sinh-y tin học, khoa học thư viện và kiến trúc thông tin
như là một dạng biểu diễn tri thức về thế giới hay một phần của nó. Ontology là một
giải pháp đơn giản nhưng hiệu quả cho nhiều ứng dụng như tích hợp thông tin, các hệ
thống ngang hàng, thương mại điện tử, các dịch vụ web ngữ nghĩa, các mạng xã
hội… Chúng thực sự là những phương tiện thiết thực đểkhái niệm hoá những thức ẩn
được biểu diễn theo định dạng của máy tính.
II. Các thành phần của Ontology
Các ontology hiện nay đều có nhiều điểm tương tự về mặt cấu trúc, bất kể ngôn
ngữ được dùng để biểu diễn. Hầu hết các ontology đều mô tả các đối tượng (thể hiện),
lớp (khái niệm), thuộc tính và các quan hệ.
II.1. Cá thể (Individuals):
Cá thể (hay thể hiện) là thành phần cơ bản, “mức nền” của một ontology. Các cá
thể trong một ontology có thể bao gồm các đối tượng rời rạc như con người, con thú,
xe, nguyên tử, hành tinh, trang web, cũng như các đối tượng trừu tượng như con số và
từ (mặc dù có một vài khác biệt về ý kiến liệu các con số và từ là lớp hay là đối
tượng). Nói đúng ra, một ontology không cần chứa bất cứ cá thể nào, nhưng một
HVTH: Nguyễn Văn Chung - 12 -
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
trong những mục đích chung của ontology là cung cấp một phương tiện để phân loại
các đối tượng, ngay cảkhi các đối tượng này không phải là một phần rõ ràng của

ontology.
II.2. Lớp (Classes)
Lớp – khái niệm – có thể được định nghĩa theo cách bên ngoài hay bên trong.
Theo định nghĩa bên ngoài, chúng là những nhóm, bộ hoặc tập hợp các đối tượng.
Theo định nghĩa bên trong, chúng là các đối tượng trừu tượng được định nghĩa bởi giá
trị của các mặt ràng buộc khiến chúng phải là thành viên của một lớp khác. Lớp có
thể phân loại các cá thể, các lớp khác, hay một tổ hợp của cả hai. Một số ví dụ của
lớp:
Person, lớp của tất cả con người, hay các đối tượng trừu tượng có thể được
mô tả bởi các tiêu chuẩn làm một con người.
Vehicle, lớp của tất cả xe cộ, hay các đối tượng trừu tượng có thể được mô
tả bởi các tiêu chuẩn làm một chiếc xe.
Car, lớp của tất cả xe hơi, hay các đối tượng trừu tượng có thể được mô tả
bởi các tiêu chuẩn làm một chiếc xe hơi.
Class, biểu diễn lớp tất cảcác lớp, hay các đối tượng trừu tượng có thể
được mô tả bởi các tiêu chuẩn để làm một lớp.
Thing, biểu diễn lớp tất cảmọi thứ, hay các đối tượng trừu tượng có thể
được mô tả bởi các tiêu chuẩn để làm một thứ gì đó (và không phải
không-là-gì cả).
Một lớp có thể gộp nhiều lớp hoặc được gộp vào lớp khác; một lớp xếp gộp vào
lớp khác được gọi là lớp con (hay kiểu con) của lớp gộp (hay kiểu cha).
Ví dụ: Vechicle gộp Car, bởi vì bất cứ thứ gì là thành viên của lớp sau cũng đều
là thành viên của lớp trước. Quan hệ xếp gộp được dùng đểtạo nên một cấu trúc phân
cấp các lớp, thông thường có một lớp tổng quát lớn nhất chẳng hạn Anything nằm ở
trên cùng và những lớp rất cụ thể như 2002 Ford Explorer nằm ở dưới cùng.
Hệ quả cực kỳ quan trọng của quan hệ xếp gộp là tính kế thừa của các thuộc tính
từ lớp cha đến lớp con. Do vậy, bất cứthứgì hiển nhiên đúng với một lớp cha cũng
hiển nhiên đúng với các lớp con của nó. Trong một số ontology, một lớp chỉ được cho
phép có một lớp cha, nhưng trong hầu hết các ontology, các lớp được cho phép có
một số lượng lớp cha bất kỳ và trong trường hợp sau tất cả các thuộc tính hiển nhiên

HVTH: Nguyễn Văn Chung - 13 -
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
của từng lớp cha được kế thừa bởi lớp con. Do đó một lớp cụ thể của lớp thú
(HouseCat) có thể là một con của lớp Cat và cũng là một con của lớp Pet.
II.3. Thuộc tính (Attributes):
Các đối tượng trong một ontology có thể được mô tả bằng cách liên hệ chúng với
những thứ khác, thường là các mặt hay bộ phận. Những thứ được liên hệ này thường
được gọi là thuộc tính, mặc dù chúng có thể là những thứ độc lập. Một thuộc tính có
thể là một lớp hay một cá thể. Kiểu của đối tượng và kiểu của thuộc tính xác định
kiểu của quan hệ giữa chúng. Một quan hệ giữa một đối tượng và một thuộc tính biểu
diễn một sự kiện đặc thù cho đối tượng mà nó có liên hệ. Ví dụ đối tượng Ford
Explorer có các thuộc tính như:
 <có tên> Ford Explorer
 <có bộ phận> door (với số lượng tối thiểu và tối đa: 4)
 <có một trong các bộ phận> {4.0L engine, 4.6L engine}
 <có bộ phận> 6-speed transmission
Giá trị thuộc tính có thể thuộc kiểu dữ liệu phức; trong ví dụ này, động cơ liên hệ
chỉ có thể là một trong số các dạng con của động cơ, chứ không phải là một cái đơn
lẻ. Các ontology chỉ mang đầy đủ ý nghĩa nếu các khái niệm có liên hệ với các khái
niệm khác (các khái niệm đều có thuộc tính). Nếu không rơi vào trường hợp này, thì
hoặc ta sẽ có một phân loại (nếu các quan hệ bao hàm tồn tại giữa các khái niệm)
hoặc một từ điển có kiểm soát. Những thứ này đều hữu ích nhưng không được xem là
ontology.
II.4. Quan hệ (Relationships):
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. Thông thường một quan hệ là của một loại (hay lớp) cụ
thể nào đó chỉ rõ trong ngữ cảnh nào đối tượng được liên hệ với đối tượng khác trong
ontology. Ví dụ trong ontology chứa khái niệm Ford Explorer và khái niệm Ford
Bronco có thể được liên hệ bởi một quan hệ loại <được định nghĩa là một con của>.
Phát biểu đầy đủ của sự kiện như sau:

 Ford Explorer được định nghĩa là một con của: Ford Bronco
HVTH: Nguyễn Văn Chung - 14 -
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
Điều này cho ta biết Explorer là mô hình thay thế cho Bronco. Ví dụ này cũng
minh họa rằng quan hệ có cách phát biểu trực tiếp. Phát biểu ngược biểu diễn cùng
một sự kiện nhưng bằng một ngữ nghịch đảo trong ngôn ngữ tự nhiên.
Phần lớn sức mạnh của ontolgy 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
(lớp quan hệ) 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.
Hình: Một Ontology biểu diễn quan hệ của xe cộ
superclass-of, hay ngược lại, ‘là dạng con của’ – is-a-subtype-of – hay ‘là lớp con
của’ – is-a-subclass-of). Nó định nghĩa đối tượng nào được phân loại bởi lớp nào. Ví
dụ, ta đã thấy lớp Ford Explorer là lớp con của 4-Wheel Drive Car và lớp 4-Wheel
Drive Car lại là lớp con của Car. Sự xuất hiện của quan hệ ‘là lớp con của’ tạo ra một
cấu trúc phân cấp thứ bậc; dạng cấu trúc cây này (hay tổng quát hơn, là tập có thứ tự
từng phần) mô tả rõ ràng cách thức các đối tượng liên hệ với nhau. Trong cấu trúc
này, mỗi đối tượng là ‘con’ của một ‘lớp cha’ (Một số ngôn ngữ giới hạn quan hệ là
lớp con của trong phạm vi một cha cho mọi nút, nhưng đa số thì không như thế). Một
dạng quan hệ phổ biến khác là quan hệ meronymy, gọi là ‘bộ phận của’, biểu diễn làm
thế nào các đối tượng kết hợp với nhau đề tạo nên đối tượng tổng hợp. Ví dụ, nếu ta
mở rộng ontology trong ví dụ để chứa thêm một số khái niệm như Steering Wheel (vô
lăng), ta sẽ nói rằng “Vô lăng được định nghĩa là một bộ phận của Ford Explorer” vì
HVTH: Nguyễn Văn Chung - 15 -
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
vô lăng luôn luôn là một trong những bộ phận của xe Ford Explorer. Nếu đưa quan
hệ meronymy vào ontology này, ta sẽ thấy rằng cấu trúc cây đơn giản và nhẹ nhàng
trước đó sẽ nhanh chóng trở nên phức tạp và cực kỳ khó hiểu. Điều này không khó lý
giải; một lớp nào đó được mô tả rằng luôn luôn có một thành viên là bộ phận của một
thành viên thuộc lớp khác thì lớp này cũng có thể có một thành viên là bộ phận của

lớp thứ ba. Kết quả là các lớp có thể là bộ phận của nhiều hơn một lớp. Cấu trúc này
được gọi là đồ thị chu trình có hướng. Ngoài những quan hệ chuẩn như ‘là lớp con
của’ và ‘được định nghĩa là bộ phận của’, ontology thường chứa thêm một số dạng
quan hệ làm trau chuốt hơn ngữ nghĩa mà chúng mô hình hóa. Ontology thường phân
biệt các nhóm quan hệ khác nhau. Ví dụ nhóm các quan hệ về:
 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.
Các dạng quan hệ đôi khi đặc thù chuyên ngành và do đó chỉ sử dụng để lưu trữ
các dạng sự kiện đặc thù hoặc trả lời cho những loại câu hỏi cụ thể. Nếu định nghĩa
của dạng quan hệ được chứa trong một ontology thì ontology này định ra ngôn ngữ
định nghĩa ontology cho chính nó. Một ví dụ về ontology định nghĩa các dạng quan
hệ của chính nó và phân biệt các nhóm quan hệ khác nhau là ontology Gellish.
Ví dụ, trong lĩnh vực xe ô tô, ta cần quan hệ‘được sản xuất tại’ để cho biết xe
được lắp ráp tại chỗ nào. Như vậy, Ford Explorer được sản xuất tại Louisville.
Ontology có thể cũng biết được Louisville ‘tọa lạc tại’ Kentucky và Kentucky ‘được
định nghĩa là’ một bang và ‘là bộ phận của’ Hoa Kỳ. Phần mềm sử dụng ontology này
sẽ có thể trả lời một câu hỏi như ‘những xe hơi nào được sản xuất tại Hoa Kỳ?”
III. Phân Loại:
Ontology có thể được phân loại dựa trên phương pháp hình thành khái niệm.
Theo H.Becketal, có các kiểu ontology như sau:
 Ontology biểu diễn (Representation ontologies hay còn gọi là meta
ontologies). Kiểu ontology này nhằm khái niệm hoá và biểu diễn các tri
thức theo kiểu hình thức. Ontology kiểu này định nghĩa các khái niệm
HVTH: Nguyễn Văn Chung - 16 -
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
như là các lớp, các mối quan hệ, các hàm hay các tiên đề được định danh
(named-axiom).

 Ontology chung (General ontology) hay còn gọi là ontology mức cao
(upper ontology). Kiểu ontology này nhằm phân loại một tập các thực thể
tồn tại trong thế giới vật chất. Nó thường biểu diễn các khái niệm chung,
không phụ thuộc vào vấn đề hay miền cụ thể nào được mô tả trong
ontology đó. Tri thức định nghĩa trong kiểu ontology này thường là sự vật
(thing), sự kiện (event), thời gian (time), không gian(space) hoặc các khái
niệm chung khác.
 Ontology miền (Domain ontologies). Tri thức được định nghĩa trong kiểu
ontology này là tri thức xác định một miền nào đó. Từ vựng, khái niệm
được mô tả trong kiểu ontology này có mối quan hệ gần gũi với các miền
tri thức tổng quát, ví dụ như hàng không, y tế…
 Ontology ứng dụng (Application ontology). Mô tả các phần tri thức phụ
thuộc vào một miền tri thức riêng biệt cũng như nhiệm vụ cụ thể nào đó.
Một ontology ứng dụng thường biểu diễn các khái niệm liên quan trực tiếp
đến việc giải quyết bài toán.
IV. Phương thức xây dựng
Có nhiều phương pháp khác nhau để xây dựng một Ontology, nhưng nhìn chung
các phương pháp đều thực hiện hai bước cơ bản là: xây dựng cấu trúc lớp phân cấp và
định nghĩa các thuộc tính cho lớp. Trong thực tế, việc phát triển một Ontology để mô
tả lĩnh vực cần quan tâm là một công việc không đơn giản, phụ thuộc rất nhiều vào
công cụ sử dụng, tính chất, quy mô, sự thường xuyên biến đổi của miền cũng như các
quan hệ phức tạp trong đó. Những khó khăn này đòi hỏi công việc xây dựng Ontology
phải là một quá trình lặp đi lặp lại, mỗi lần lặp cải thiện, tinh chế và phát triển dần sản
phẩm chứ không phải là một quy trình khung với các công đoạn tách rời nhau. Công
việc xây dựng Ontology cũng cần phải tính đến khảnăng mở rộng lĩnh vực quan tâm
trong tương lai, khả năng kế thừa các hệ thống Ontology có sẵn, cũng như tính linh
động để Ontology có khả năng mô tả tốt nhất các quan hệ phức tạp trong thế giới
thực.
Một số nguyên tắc cơ bản của việc xây dựng Ontology thông qua các công đoạn
sau đây:

HVTH: Nguyễn Văn Chung - 17 -
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
 Xác định miền quan tâm và phạm vi của Ontology.
 Xem xét việc kế thừa các Ontology có sẵn.
 Liệt kê các thuật ngữ quan trọng trong Ontology.
 Xây dựng các lớp và cấu trúc lớp phân cấp.
 Định nghĩa các thuộc tính và quan hệ cho lớp.
 Định nghĩa các ràng buộc về thuộc tính và quan hệ của lớp.
 Tạo các thực thể cho lớp.
IV.1. Xác định lĩnh vực quan tâm và phạm vi của Ontology:
Thông thường, các yêu cầu đối với một hệ thống Ontology là mô tả lĩnh vực
quan tâm nhằm phục vụ cơ sở tri thức trong việc giải quyết những mục đích chuyên
biệt. Công việc đặc tả để xác định, phân tích, nhận diện chính xác yêu cầu được thực
hiện bằng cách trả lời những câu hỏi sau:
 Ontology cần mô tả lĩnh vực nào?
 Ontology phục vụ cho mục đích chuyên biệt gì?
 Cơ sở tri thức trong Ontology sẽ giải quyết những câu hỏi gì?
 Ontology nhằm vục vụ đối tượng nào?
 Ai là người sẽ xây dựng, quản trị Ontology?
Nhìn chung, câu trả lời cho các câu hỏi dạng này có thể sẽ thường xuyên thay đổi
trong suốt quá trình xây dựng một Ontology. Nhất là khi có sự thay đổi về mục đích
hoặc cần bổ sung tính năng trong việc sử dụng cơ sở tri thức. Tuy nhiên, việc trả lời
chính xác các câu hỏi trên tại mỗi bước lặp sẽ giúp giới hạn phạm vi của mô hình cần
mô tả và dự trù các kỹ thuật sẽ sử dụng trong quá trình phát triển. Lấy ví dụ, nếu dự
trù khả năng xảy ra sự khác biệt về ngôn ngữ giữa người phát triển và người sử dụng
thì Ontology phải được bổ sung cơ chế ánh xạ (mapping) qua lại các thuật ngữ giữa
các ngôn ngữ khác nhau. Hoặc giả sử Ontology cần xây dựng có chức năng xử lý
ngôn ngữ tự nhiên, ứng dụng dịch tài liệu tự động thì cũng cần thiết phải có kỹ thuật
xác định từ đồng nghĩa
Sau khi đã phát thảo phạm vi Ontology dựa trên việc trả lời những câu hỏi trên,

người thiết kế sẽ trả lời các câu hỏi mang tính đánh giá, qua đó tiếp tục tinh chỉnh lại
phạm vi của hệ thống cần xây dựng. Các câu hỏi dạng này thường dựa trên cơ sở tri
thức của Ontology và được gọi là câu hỏi kiểm chứng khả năng (competency
question):
HVTH: Nguyễn Văn Chung - 18 -
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
 Ontology đã có đủ thông tin để trả lời cho các câu hỏi được quan tâm trên
cơ sở tri thức hay không?
 Câu trả lời của cơ sở tri thức đã đáp ứng được mức độ, yêu cầu nào của
người sử dụng?
 Các ràng buộc và quan hệ phức tạp trong miền quan tâm đã được biểu
diễn hợp lý chưa?
IV.2. Xem xét việc kế thừa các Ontology có sẵn:
Đây là một công đoạn thường hay sử dụng để giảm thiểu công sức xây dựng một
Ontology. Bằng cách kế thừa các Ontology tương tự có sẵn, người xây dựng có thể
thêm hoặc bớt các lớp, quan hệ giữa các lớp, thực thể để tinh chỉnh tùy theo mục
đích của mình. Việc sử dụng lại các Ontology có sẵn cũng rất quan trọng khi cần sự
tương tác giữa các ứng dụng khác nhau, các ứng dụng sẽ cần phải hiểu các lớp, thực
thể, quan hệ của nhau để thuận tiện trong việc trao đổi hoặc thống nhất thông tin.
Vấn đề xây dựng một Ontology mới bằng cách kế thừa các hệ thống có sẵn liên
quan đến một bài toán rất phức tạp là trộn (merging)các Ontology. Ví dụ trong trường
hợp tên các khái niệm được định nghĩa trong các Ontology này có thể giống nhau
trong khi chúng được dùng để mô tả các loại vật hoàn toàn khác nhau, và cũng có thể
xảy ra trường hợp ngược lại, khi tên các khái niệm khác nhau nhưng cùng mô tả một
sự vật, vàmột vấn đề nữa là làm thế nào để bổ sung các quan hệ, thuộc tính có sẵn vào
một hệ thống mới. Tuy nhiên, hầu hết các Ontology sử dụng trong ngành khoa học
máy tính nói chung và Web ngữ nghĩa nói riêng đều được xây dựng trên các hệ thống
xây dựng và quản trị Ontology. Tên một số công cụ như: Sesame, Protégé,
Ontolingua, Chimaera, OntoEdit, OidEd Hiện nay, đa số các phần mềm này đều hỗ
trợ chức năng tự động trộn các Ontology cùng hoặc thậm chí khác định dạng với

nhau. Mặc dù vậy, ở mức nào đó, người xây dựng cũng cần phải kiểm tra lại một cách
thủ công, nhưng đây không phải là một công việc phức tạp.
Hiện có rất nhiều Ontology được chia sẻ trên Web nổi tiếng như: UNSPSC
(www.unspsc.org)do chương trình phát triển của Liên Hiệp Quốc hợp tác với tổ chức
Dun & Bradstreet nhằm cung cấp các thuật ngữ của các sản phẩm và dịch vụ thương
mại. Các Ontology trong lĩnh vực thương mại khác như: RosettaNet
(www.rosettanet.org), DMOZ (www.dmoz.org), eClassOwl Open Biological,
HVTH: Nguyễn Văn Chung - 19 -
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
BioPax trong lĩnh vực sinh vật học, UMLS trong lĩnh vực mạng ngữ nghĩa, GO (Gene
Ontology), WordNet (đại học Princeton)
IV.3. Liệt kê các thuật ngữ quan trọng trong Ontology:
Đây là bước rất hữu ích, làm tiền đề cho hai bước tiếp theo là xây dựng cấu trúc
lớp phân cấp và định nghĩa các thuộc tính cho lớp. Công đoạn này bắt đầu bằng việc
liệt kê tất cả các thuật ngữ xuất hiện trong miền quan tâm (có thể đồng nghĩa hoặc
chồng nhau)như tên khái niệm, quan hệ, thuộc tính Thông thường, các thuật ngữ là
danh từ sẽ trở thành các lớp, tính từ sẽ trở thành thuộc tính, còn động từ sẽ là quan hệ
giữa các lớp.
IV.4. Xây dựng các lớp và cấu trúc lớp phân cấp:
Đây là một trong hai bước quan trọng nhất của công việc xây dựng một
Ontology. Nhiệm vụ của bước này là định nghĩa các lớp từ một số thuật ngữ đã liệt kê
trong bước trên, sau đó xây dựng cấu trúc lớp phân cấp theo quan hệ lớp cha-lớp con.
Lớp ở vị trí càng cao sẽ có mức độ tổng quát càng cao. Vị trí đầu tiên thuộc về lớp
gốc, tiếp theo là các lớp trung gian, và cuối cùng là lớp lá. Lớp lá là lớp không thể
triển khai được nữa và chỉ được biểu hiện bằng các thực thể.
Quan hệ giữa thực thể của lớp con với lớp cha là quan hệ “is-a”, nghĩa là một
thực thể của lớp con cũng “là-một” thực thể của lớp cha. Có nhiều hướng tiếp cận
khác nhau cho vấn đề xây dựng cấu trúc lớp phân cấp. Có thể kể ra ba hướng như sau:
 Hướng xây dựng từ trên xuống (top-down): bắt đầu bằng các lớp có mức
độ tổng quát cao nhất, sau đó triển khai dần đến lớp lá.

 Hướng xây dựng từ dưới lên (bottom-up): ngược với hướng xây dựng cấu
trúc lớp phân cấp từ trên xuống, hướng này bắt đầu bằng việc xác định các
lớp được cho là cụ thể nhất, sau đó tổng quát hóa đến khi được lớp gốc.
 Cách kết hợp (combination): cách này kết hợp cả hai hướng xây dựng
trên. Đầu tiên chọn các lớp nổi bật nhất trong lĩnh vực quan tâm, sau đó
tổng quát hóa và cụ thể hóa cho đến khi được cấu trúc mong muốn.
IV.5. Định nghĩa các thuộc tính và quan hệ cho lớp:
Bản thân các lớp nhận được ở bước trên chỉ mới là những thuật ngữ phân biệt với
nhau bằng tên gọi. Về cơ bản, chúng chưa đủ để phục vụ cho việc biểu diễn tri thức.
Muốn như vậy, các thuộc tính của lớp cần được định nghĩa. Thuộc tính của lớp là các
HVTH: Nguyễn Văn Chung - 20 -
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
thông tin bên trong của lớp, mô tả một khía cạnh nào đó của lớp và được dùng để
phân biệt với các lớp khác. Thuộc tính được chia làm nhiều loại khác nhau:
Về mặt ý nghĩa, các thuộc tính có thể được chia làm hai loại: thuộc tính
bên trong (intrinsic property)và thuộc tính bên ngoài (extrinsic property).
Thuộc tính bên trong mô tả các tính chất nội tại bên trong sự vật, ví dụ:
chất, lượng, cấu tạo Trong khi đó, thuộc tính bên ngoài mô tả phần biểu
hiện của sự vật, ví dụ: màu sắc, hình dạng
Về mặt giá trị, các thuộc tính cũng được chia làm hai loại: thuộc tính đơn
(simple property)và thuộc tính phức (complex property). Thuộc tính đơn
là các giá trị đơn ví dụ: chuỗi, số còn thuộc tính phức có thể chứa hoặc
tham khảo đến một đối tượng khác.
Một chú ý quan trọng nữa trong bước này là việc một lớp sẽ kế thừa toàn bộ các
thuộc tính của tất cả các cha nó. Do đó cần phải xem xét một thuộc tính đã được định
nghĩa ở các lớp thuộc mức cao hơn hay chưa. Thuộc tính chỉ nên được định nghĩa khi
nó là tính chất riêng của lớp đang xét mà không được biểu hiện ở các lớp cao hơn.
IV.6. Định nghĩa các thuộc tính và quan hệ cho lớp:
Các ràng buộc giới hạn giá trị mà một thuộc tính có thể nhận. Hai ràng buộc quan
trọng nhất đối với một thuộc tính là số yếu tố (cardinality)và kiểu (type). Ràng buộc

số yếu tố quy định số giá trị mà một thuộc tính có thể nhận. Hai giá trị thường thấy
của ràng buộc này là đơn trị (single)và đa trị (multiple). Nhưng một số phần mềm còn
cho phép định nghĩa chính xác khoảng giá trị của số yếu tố. Ràng buộc thứ hai là về
kiểu. Về cơ bản, các kiểu mà một thuộc tính có thể nhận là: chuỗi, số, boolean, liệt kê
và kiểu thực thể. Riêng kiểu thực thể có liên quan đến hai khái niệm gọi là: miền
(domain)và khoảng (range). Khái niệm miền được dùng để chỉ lớp (hay các lớp)mà
một thuộc tính thuộc về. Trong khi đó, khoảng chính là lớp (hay các lớp) làm kiểu
cho giá trị thuộc tính kiểu thực thể. Lấy ví dụ, lớp động vật trong hình sau có thuộc
tính “loại thức ăn” thuộc kiểu thực thể (cỏ cây, côn trùng ). Lúc này, miền của loại
thức ăn là động vật, sinh vật Còn khoảng của nó chính là lớp cỏ, cây
HVTH: Nguyễn Văn Chung - 21 -
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
IV.7. Tạo các thực thể cho lớp:
Đây là bước cuối cùng khép lại một vòng lặp xây dựng Ontology. Công việc
chính lúc này là tạo thực thể cho mỗi lớp và gán giá trị cho các thuộc tính. Nhìn
chung, các thực thể sẽ tạo nên nội dung của một cơ sở tri thức.
V. Ngôn ngữ Ontology
Ngôn ngữ Ontology (Ontology languages) là ngôn ngữ hình thức được sử dụng
để xây dựng Ontology. Nó cho phép việc mã hóa tri thức trong một lĩnh vực cụ thể và
thường bao gồm các quy tắc suy luận cung cấp cho việc xử lý các yêu cầu dựa trên tri
thức đó. Ngôn ngữ Ontology thường là ngôn ngữ khai báo, và hầu hết là những sự
tổng hợp của ngôn ngữ cấu trúc, và thường được xây dựng dựa trên Logic thủ tục
(First-Order Logic)hoặc dựa trên Logic mô tả (Description Logic). Có rất nhiều ngôn
ngữ Ontology đã được thiết kế và đưa ra tuân theo sự tiêu chuẩn hóa, ta sẽ tìm hiểu
một số ngôn ngữ Ontology thông dụng nhất trong ngữ cảnh của Web ngữ nghĩa và
biểu diễn tri thức hiện nay.
V.1. RDF (Resource Description Framework):
Tổng quan:
RDF là nền tảng cho việc biểu diễn dữ liệu trong lĩnh vực Web ngữ nghĩa. Thông
tin biểu diễn theo mô hình RDF là một phát biểu (statement)ở dạng cấu trúc bộ ba

gồm ba thành phần cơ bản là: subject, predicate, object. Trong đó:
 Subject chỉ đối tượng đang được mô tả đóng vai trò là chủ thể.
 Predicate (còn được gọi là property) là kiểu thuộc tính hay quan hệ.
 Object là giá trị thuộc tính hay đối tượng của chủ thể đã nêu. Object có thể
là một giá trị nguyên thủy như số nguyên, chuỗi hoặc cũng có thể là một
tài nguyên.
Ví dụ:
HVTH: Nguyễn Văn Chung - 22 -
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
Hình: Object có thể là tài nguyên hoặc giá trị nguyên thủy, nhưng subject và predicate thì bắt
buộc phải là các tài nguyên.
Đây là phát biểu mô tả một chủ thể person-1 có kiểu thuộc tính name với giá trị
là An. Phát biểu có thể được tạm hiểu là: person-1 có tên An. Có thể liệt kê một số ưu
điểm của việc lưu trữ dữ liệu RDF so với dữ liệu truyền thống là:
 Tổ chức dữ liệu đơn giản, đồng nhất nên thông tin dễ dàng thêm bớt chỉnh
sửa.
 Cấu trúc bộ ba giúp cho thông tin dễ truy xuất bởi các hệ thống suy luận,
tìm kiếm ngữ nghĩa. Cũng nhờ vậy mà những bộ xử lí RDF có thể suy
luận ra những thông tin mới không có trong hệ dữ liệu.
 Chia sẻ dữ liệu trên mạng dễ dàng nhờ sự đồng nhất
Chia sẽ dữ liệu RDF:
Mô hình RDF thể hiện được nhiều ưu điểm trong việc biễu diễn thông tin. Chính
vì vậy cần phải có một cách thức chung để truyền tải dữ liệu RDF trên internet. Đó là
RDF/XML syntax do W3C đưa ra năm 1999. Đây là một ngôn ngữ dựa trên XML, nó
bao gồm một tập các quy tắc và từ vựng để hỗ trợ cho biễu diễn thông tin RDF.
RDF/XML syntax: RDF/XML có thể gây khó khăn cho người học bởi vì nó có
thể có nhiều cách khi cùng biểu diễn một phát biểu, và một phần là do URI (Uniform
Resource Identifier) dùng để định danh cho một tài nguyên thì tương đối dài và khó
đọc, khó viết.Tuy nhiên vấn đề này có thể được xử lí bằng cách dùng XML
namespace.

Khai báo namespace: việc sử dụng namespace giúp cho tài liệu RDF ngắn gọn
và dễ đọc hơn đối với người thiết kế. Chẳng hạn như ta có một địa chỉ là

HVTH: Nguyễn Văn Chung - 23 -
BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG PGS.TS Đỗ Văn Nhơn
Nếu ta gán nó cho một namespace, ví dụ như xmlns: rdf, thì từ nay về sau ta chỉ
việc dùng rdf: phone thay cho “ />ns#phone”.
Định danh một chủ thể: Chúng ta dùng cú pháp sau để biểu diễn một bộ ba
{subject,predicate,object}, ví dụ: {person-1, name, An} {person-1, phone,
0909213456} Và biểu diễn ví dụ trên trong tài liệu RDF :
<rdf :RDF xmlns:rdf=„
<rdf :Description rdf:about= „#person-1‟>
<rdf :Name rdf:literal= „An‟>
<rdf :Phone rdf:literal= „0909213456‟>
</rdf :Description>
</rdf :RDF>
Thuộc tính rdf: about dùng để chỉ định URI của một resource, còn #person-1 cho
ta biết rằng person-1 đã được khai báo trong cùng tài liệu này (trong ví dụ trên chúng
ta không chỉ ra person-1 đã được khai báo ở đâu). Nếu person-1 không được khai báo
thì chúng ta phải đưa URI của nó vào để sử dụng hoặc là dùng namespace để đại
diện cho URI đó. Chúng ta dùng thuộc tính rdf :ID để gán định danh cho một tài
nguyên :
<rdf :Description rdf :ID= “person-1”>
<rdf:type rdf :resource=“ />ns#person-1”/>
</rdf :Description>
Ở đây, tài nguyên đã
được định danh bởi person-1. Thuộc tính ID giúp cho chúng ta sử dụng tài nguyên
person-1 mà không phải dùng lại URI của nó dài dòng mà phức tạp.
V.2. RDFS (RDF-Schema):
RDF-Schema là một ngôn ngữ Ontology cơ bản. Nó được phát triển ở tầng trên

của RDF cho nên bản thân RDF-Schema cũng chính là RDF, nó được mở rộng từ
RDF và bổ sung thêm các tập từ vựng để hỗ trợ cho việc xây dựng các Ontology được
dễ dàng. Như chúng ta đã biết, ngôn ngữ RDF chỉ giúp cho thông tin được thể hiện ở
dạng bộ ba theo đúng mô hình RDF chứ thông tin vẫn chưa thể hiện gì về mặt ngữ
nghĩa. Do đó, xây dựng RDFS là điều cần thiết để hình thành nên ngữ nghĩa cho
HVTH: Nguyễn Văn Chung - 24 -

×