Tải bản đầy đủ (.docx) (27 trang)

Tiểu luận môn biểu diễn tri thức và suy luận TÌM HIỂU VIỆC XÂY DỰNG ONTOLOGY VỚI Protégé

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 (724.47 KB, 27 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
________________
BÀI THU HOẠCH
CHUYÊN ĐỀ BIỄU DIỄN TRI THỨC VÀ ỨNG DỤNG
TÌM HIỂU VIỆC XÂY DỰNG
ONTOLOGY VỚI PROTÉGÉ
CHUYÊN NGHÀNH: KHOA HỌC MÁY TÍNH
MÃ SỐ: 60 48 01
GIÁO VIÊN HƯỚNG DẪN:PGS.TS.ĐỖ VĂN NHƠN
HỌC VIÊN : ĐỖ THIỆN VŨ_ CH08_1301072
KHOÁ HỌC: 2013
TP.HỒ CHÍ MINH-11/2013
1
MỤC LỤC
LỜI MỞ ĐẦU
2
huật ngữ Tri thức ngày càng được nhiều người nhiều giới nhắc đến.
Chúng ta thường nghe nói đến Kinh tế tri thức, Công nghệ tri thức,
Xã hội tri thức, Giáo dục hướng tri thức, vv Như vậy hai tiếng
TRI THỨC không phải là từ hoa mỹ, thời thượng, mà nó mang tính
nghiêm túc, đặc biệt đối với bối cảnh xã hội Việt Nam chúng ta, khi mà chúng ta tỏ
ra lạc hậu trong nền kinh tế công nghiệp, kinh tế hàng hóa thì chúng ta hoàn toàn có
thể "đi tắt đón đầu" để bắt kịp cộng đồng thế giới trong nền kinh tế tri thức.
T
Các khái niệm thông tin, dữ liệu và tri thức có liên quan chặt chẽ với nhau và
khó mà phân biệt được bằng những định nghĩa rõ ràng. Thông tin là khái niệm
chung nhất bao gồm mọi hiểu biết về các sự vật, hiện tượng, quan hệ mà con người
thu nhận được qua trực giác, giao tiếp, khảo sát, thực nghiệm, lý giải, nghiên cứu
Dữ liệu thường được cho bởi các giá trị mô tả các sự kiện, hiện tượng cụ thể; còn tri
thức thường được xem là những hiểu biết có mức độ khái quát nào đó, về các mối


quan hệ giữa các thuộc tính, các sự vật, hiện tượng, mang tính “qui luật” ở chừng
mực nhất định, mà con người thu được qua từng trải kinh nghiệm, qua phân tích số
liệu, qua nghiên cứu, lý giải, suy luận
Chúng ta thấy có rất nhiều sự quan tâm đến công nghệ tri thức và rất nhiều
nghiên cứu về công nghệ tri thức được đăng trên các phương tiện thông tin như báo
chí và trên mạng internet.
Chúng ta cũng biết rằng có nhiều phương pháp biểu diễn tri thức như:
- Biểu diễn tri thức bằng mạng ngữ nghĩa.
- Biểu diễn tri thức bằng Script.
- Biểu diễn tri thức sử dụng luật dẫn xuất (luật sinh).
- Biểu diễn tri thức bằng Frame.
- Biểu diễn tri thức bằng logic vị từ.
- Biểu diễn tri thức bằng Ontology.
3

Trong bài này em sẽ sử dụng phương pháp biểu diễn tri thức bằng Ontology
với sự trợ giúp của phần mềm Protégé.
CHƯƠNG I. ONTOLOGY
1. Ngôn ngữ Ontology:
1.1. Khái niệm:
Từ “Ontology” bắt nguồn từ tiếng Hy Lạp là Ontos, có nghĩa là “đang tồn tại”,
và logos, nghĩa là “từ”. Trong triết học, Ontology là sự nghiên cứu, phân loại những
sự vật, hiện tượng đang tồn tại trong lĩnh vực cụ thể. Trong lĩnh vực Web có ngữ
nghĩa, đã có một số định nghĩa về Ontology. Tuy nhiên, có sự nhất trí trong cộng
đồng nghiên cứu về vai trò của Ontology: đưa ra sự hiểu biết chung về một lĩnh vực
nào đó.
Một số định nghĩa đầy đủ nhất của Ontology như sau:
- Mặc dù mang một số hình thức, Ontology luôn chứa một từ vựng và một số
đặc tả về ngữ nghĩa. Ontology chứa các định nghĩa và quan hệ giữa các khái niệm,
hình thành một cấu trúc lĩnh vực và giới hạn ngữ nghĩa của thuật ngữ trong từ vựng

[Uschold and Jasper, 1999] .
- Ontology không chỉ là một tập các thuật ngữ và quan hệ về một lĩnh vực mà
còn chứa các luật kết hợp các thuật ngữ và quan hệ này để mở rộng từ vựng [Neches
et al., 1991].
- Ontology như một đặc tả tường minh của sự “khái niệm hóa”
(conceptualization). Ở đây “khái niệm hóa” về cơ bản là ý niệm về thế giới của một
người hoặc nhóm người; “tường mình” có nghĩa là kiểu và giới hạn của các khái
niệm được định nghĩa tường mình [Gruber, 1993].
4
- Dựa trên định nghĩa của Gruber, rằng ontology là mô tả hình thức của một
sự “khái niệm hóa” được chia sẻ. Trong ngữ cảnh này, “chia sẻ” có nghĩa là tri thức
trong Ontology được kết hợp xây dựng, và được chấp nhận bởi một nhóm hoặc một
cộng đồng chứ không theo tri thức chủ quan của cá nhân.; “hình thức” liên quan đến
vấn đề máy tính có thể xử lý Ontology [Borst, 1997].
- Ontology là sự mô tả hình thức của các thực thể, thuộc tính, quan hệ, ràng
buộc và hành vi [Gruninger and Fox, 1995].
- Ontology biểu diễn tri thức về một lĩnh vực, và sẵn có cho tất cả các thành
phần khác của hệ thống thông tin [Huhns and Singh, 1997].
- Ontology là một đặc tả của các khái niệm và quan hệ trong lĩnh vực quan
tâm. Ontology không chỉ là phân cấp các lớp mà còn mô tả các quan hệ [Weiss,
1999].
- Ontology là bản mô tả hình thức rõ ràng của các khái niệm trong một lĩnh
vực, trong đó thuộc tính của mỗi khái niệm mô tả một số tính chất của khái niệm và
ràng buộc [Noy and McHuinness, 2001].
- Theo định nghĩa của Hendler năm 2001, Ontology là một tập hợp các thuật
ngữ tri thức (knowledge term), bao gồm từ vựng, các quan hệ ngữ nghĩa, và một số
luật suy diễn và logic về lĩnh vực chủ đề cụ thể . Các thành phần quan trọng nhất
trong định nghĩa này là quan hệ ngữ nghĩa (1) và suy diễn logic (2), trong đó (1)
phát biểu rằng Ontology xác định ngữ nghĩa của quan hệ giữa các khái niệm.
Ngoài ra, cộng đồng nghiên cứu phân biệt các Ontology dựa trên độ phức tạp

của mô hình biểu diễn Ontology.
- Lightweight Ontology: chứa các khái niệm, phân cấp khái niệm, mối quan
hệ giữa các khái niệm và các thuộc tính mô tả khái niệm.
- Heavyweight Ontology: bổ sung vào lighweight Ontology các tiền đề
(axioms) và ràng buộc (constraint).
Có thể khái quát một số lý do chính để phát triển Ontology như sau:
- Nhằm chia sẻ những hiểu biết về kiến trúc thông tin cho mọi người.
5
- Để sử dụng lại các tri thức.
- Để tạo ra nguồn dẫn chứng rõ ràng.
- Để phân loại miền tri thức từ các tri thức hành động.
- Để phân tích miền tri thức.
1.2. Một Ontology tổng quát được mô tả gồm các thành phần sau:
Có một số kỹ thuật lập mô hình và biểu diễn Ontology như frames,
first-order logic, description logic, các kỹ thuật công nghệ phần mềm, Mặc dù các
kỹ thuật này có thể biểu diễn cùng một cơ sở tri thức với các mức độ hình thức và
chi tiết khác nhau, Ontology được xây dựng đều có cùng các thành phần cơ bản sau:
- Các lớp (class): biểu diễn các khái niệm trong miền lĩnh vực, ví dụ cuốn
sách, bài báo, Các lớp thường được tổ chức phân cấp và áp dụng kỹ thuật thừa kế.
Phân cấp lớp được biểu diễn theo cây cấu trúc. Theo tính chất đa thừa kế, một lớp có
thể có nhiều lớp cha (superclass). Các lớp cũng có thể là cụ thể (concrete) hoặc trừu
tượng (abstract). Khác với lớp trừu tượng, lớp cụ thể có các thể hiện trực tiếp.
- Thuộc tính (property): mô tả các tính chất của khái niệm. Thuộc tính được
phân biệt với quan hệ (relation) dựa trên giá trị là một kiểu dữ liệu (string, number,
boolean, ).
- Quan hệ (relation): biểu diễn các kiểu quan hệ giữa các khái niệm. Các quan
hệ nhị phân được sử dụng để biểu diễn thuộc tính. Tuy nhiên, giá trị của quan hệ
khác với giá trị của thuộc tính ở chỗ: giá trị của quan hệ là một khái niệm.
- Thể hiện (instance): biểu diễn các thành phần cụ thể, là các thể hiện của một
lớp. Các thể hiện mới có thể được tạo và gán giá trị cho thuộc tính và quan hệ.

Thường trong các công cụ đồ họa xây dựng ontology, có giao diện nhập dữ liệu khi
tạo instance.
- Hàm (function): biểu diễn các quan hệ đặc biệt, trong đó, phần tử thứ n là
duy nhất đối với n-1 phần tử còn lại.
6
- Tiền đề (Axioms): biểu diễn các phát biểu luôn đúng. Axioms được sử dụng
để kiểm chứng sự nhất quán của ontology hoặc cơ sở tri thức.
Các khái niệm, quan hệ, thuộc tính và thể hiện được sử dụng để xây dựng các
ontology đơn giản (lightweight). Ontology phức tạp (Heavyweight) bổ sung thêm
axioms và function từ ontology đơn giản.
2. Các bước xây dựng Ontology:
Có nhiều phương pháp khác nhau để xây dựng một Ontology, nhưng nhìn
chung cc 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ả miền 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 xy 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 và tinh
chế dần sản phẩm chứ không phải là một quy trình khung với cc cơng đoạn tách rời
nhau.
Ngoài ra, công việc xây dựng Ontology cũng cần phải tính đến khả năng mở
rộng miền 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 qua
các các công đoạn cụ thể sau đây:
- 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.
7
- Tạo các thực thể cho lớp.
Vấn đề cốt lõi của các hệ thống này là xây dựng thành công các lớp và các
thuộc tính của cấu trúc Ontology. Chúng ta phải sử dụng mô hình để xây dựng
Ontology sao cho cân bằng giữa nhu cầu của miền ứng dụng và xây dựng cơ sở tri
thức nhằm thỏa mãn các yêu cầu để giải quyết các vấn đề hay ứng dụng.
Các ứng dụng trên Ontology hầu hết được thể hiện ở các dạng hệ chuyên gia
(Expert System), web ngữ nghĩa (Symantic Web) và khai phá dữ liệu (data mining).
Chúng ta nên chọn phát triển hệ thống ứng dụng theo mô hình hệ chuyên gia là tối
ưu nhất.
Bước 1, Xác định miền quan tâm và phạm vi của Ontology:
Giống như mọi công đoạn đặc tả khác, đặc tả Ontology bắt đầu bằng việc trả
lời những câu hỏi mang tính phân tích để nhận diện chính xác các yêu cầu. Thông
thường, các yêu cầu đối với một hệ thống Ontology là mô tả miền 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. Do đó,
những câu hỏi này thường là:
- Ontology cần mô tả miền nào?
- Ontology phục vụ cho mục đích chuyên biệt gì?
- Cơ sở tri thức trong Ontology sẽ trả lời 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?
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):
- 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?
8

- 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?
Bước 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. Ngồi ra, việc sử dụng lại cc 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. Lý do l cc ứ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) cc Ontology. Tn cc 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. Trong khi đó, 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.
Bước 3, Liệt kê các thuật ngữ quan trọng trong Ontology:
Đây là bước rất ích hữu, 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ở thnh thuộc tính, cịn động từ sẽ là
quan hệ giữa các lớp.
Bước 4, Xây dựng các lớp và cấu trúc lớp phân cấp:
9
Như đ nĩi, đâ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 3, sau đó xây dựng cấu trúc lớp phân cấp theo quan hệ lớp cha-lớp
con theo các phương pháp phân loại . Lớp ở vị trí càng cao trong cấu trúc này 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 cc lớp trung
gian, v cuối cng 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 nĩ trong mơ hình phn cấp ny 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.
Nhìn chung, 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ừ trn 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.
- Cch 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 miền 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.
Bước 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 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 bn
trong (intrinsic property) v thuộc tính bn ngồi (extrinsic property). Thuộc tính bên
10
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.
Bước 6, Định nghĩa các ràng buộc về thuộc tính và quan hệ của 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 lượng số (cardinality) v kiểu (type). Ràng
buộc lượng số 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 php định nghĩa chính xác khoảng giá trị của lượng số.
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). Khi 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ể.
Bước 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 xy dựng Ontology. Cơng việc
chính lc ny l tạo thực thể cho mỗi lớp v gn gi trị cho cc thuộc tính. Nhìn chung, cc
thực thể sẽ tạo nn nội dung của một cơ sở tri thức và là vấn đề được quan tâm trong
lĩnh vực Web ngữ nghĩa.
11
CHƯƠNG II. XÂY DỰNG ONTOLOGY VỚI PROTÉGÉ 4.3
1. Giới thiệu Protégé
Protégé là bộ phần mềm mã nguồn mở Java nổi tiếng. Protégé được nghiên
cứu và phát triển từ năm 1998 bởi nhóm nghiên cứu của Mark Musen, ĐH. Stanford
nhằm quản lý các thông tin trong lĩnh vực sinh y học. Đây là dự án được nhận được

sự quan tâm và tài trợ từ rất nhiều tổ chức, trong đó có Bộ Quốc Phòng Mỹ. Mã
nguồn Protégé có thể được tìm thấy tại website:
/>Protégé là nền tảng mã nguồn mở miễn phí cho phép cộng đồng người sử
dụng bằng các bộ công cụ để xây dựng các mô hình miền và các ứng dụng dựa trên
tri thức bằng các Ontology. Protégé thực thi các cấu trúc mô hình tri thức phong phú
và các hoạt động đó hỗ trợ khởi tạo, hiển thị và điều khiển các ontology trong các
định dạng. Protégé có thể được tuỳ biến để cung cấp miền thân thiện hỗ trợ tạo các
mô hình tri thức và nhập dữ liệu. Hơn nữa Protégé có thể được mở rộng như là một
kiến trúc plug-in hoặc một giao diện lập trình ứng dụng dựa trên Java để xây dựng
các công cụ dựa trên tri thức và các ứng dụng.
Các ưu điểm của Protégé là:
- Hỗ trợ đầy đủ ba phiên bản của ngôn ngữ OWL là OWL-Full, OWL-Lite và
OWL-DL.
- Nhờ sử dụng mô hình hướng đối tượng của ngôn ngữ Java, Protégé tỏ ra rất
hiệu quả trong việc mô hình các lớp, thực thể, quan hệ
- Giao diện thiết kế trực quan có tính tương tác cao. Người sử dụng có thể
định nghĩa các thành phần của Ontology trực tiếp từ các form.
- Cho phép biểu diễn trực quan Ontology dưới dạng các sơ đồ.
- Cho phép xây dựng Ontology từ nhiều nguồn khác nhau.
12
- Protégé tự động lưu một bản tạm của Ontology. Nếu có lỗi phát sinh trong
quá trình thao tác thì Ontology cũ sẽ tự động được phục hồi. Người thiết kế cũng có
thể chuyển qua lại giữa hai bản Ontology này bằng chức năng Revert to a Previous
Version và Active Current Version.
- Cung cấp chức năng tìm kiếm lỗi, kiểm tra tính nhất quán và đầy đủ của
Ontology. Để sử dụng, người thiết kế chọn chức năng Run Ontology Test và Check
Consistency.
- Cho phép các lớp và thuộc tính của Ontology này có thể được sử dụng trong
một Namespace khác mà chỉ cần sử dụng các URL để tham khảo. Để sử dụng, chọn
chức năng Move Resource to Namespace.

- Hỗ trợ suy luận trực tiếp trên Ontology dựa trên Interface chuẩn DL
Implementation Group (DIG).
- Hỗ trợ sinh mã tự động. Protégé cho phép chuyển Ontology thành mã nguồn
RDF/XML, OWL, DIG, Java, EMF Java Interfaces, Java Schema Classes Các mã
này có thể được nhúng trực tiếp vào ứng dụng và là đầu vào cho các thao tác trên
Ontology khi cần.
- Cung cấp đầy đủ chuẩn giao tiếp cho các Plug-in.
Tuy nhiên, Protégé cũng thể hiện một số hạn chế như không cho phép truy
vấn từng phần một cơ sở tri thức dẫn tới việc không quản lý hiệu quả các cơ sở tri
thức có kích thước lớn, hoặc chưa hỗ trợ kết nối trực tiếp với một số hệ quản trị cơ
sở tri thức phổ biến như Sesame
Một Ontology mô tả các khái niệm và các quan hệ quan trọng trong một miền
cụ thể, cung cấp các từ vựng cho miền đó cũng như là một đặc tả máy tính của ý
nghĩa của các thuật ngữ được sử dụng trong các từ vựng. Phạm vi của các Ontology
từ các phân lớp và phân loại, các lược đồ cơ sở dữ liệu đển các lý thuyết đầy đủ.
Trong những năm gần đây, các Ontology được chấp nhận trong rất nhiều công việc
và các cộng đồng khoa học để chia sẻ, sử dụng lại và xử lý tri thức miền. Ontology
là trung tâm của rất nhiều ứng dụng như cổng thông tin tri thức khoa học, các hệ
13
thống tích hợp và quản lý thông tin, thương mại điện tử và các dịch vụ web ngữ
nghĩa.
Nền tảng Protégé hỗ trợ hai công cụ để xây dựng mô hình Ontology.
Trình soạn thảo Protégé-Frame cho phép người sử dụng xây dựng và lưu trữ
các Ontology dưới dạng khung theo giao thức kết nối dựa trên tri thức mở. Trong
mô hình này một Ontology bao gồm một tập các lớp được tổ chức trong một hệ
thống tổng hợp để biểu diễn các khái niệm, một tập các slot liên quan đến lớp mô tả
các thuộc tính và các mối quan hệ, và một tập các thể hiện của các lớp này. Các thể
hiện của các khái niệm lưu giữ các giá trị cụ thể trong các thuộc tính của nó.
Trình soạn thảo Protégé-OWL cho phép người sử dụng xây dựng các
Ontology cho Web ngữ nghĩa, cụ thể trong ngôn ngữ Ontology Web. Một Ontology

có thể bao gồm các mô tả của các lớp, các thuộc tính và các thể hiện của nó. Từ một
Ontology, các ngữ nghĩa chuẩn OWL mô tả làm thế nào hướng các kết quả logic
của nó, không những các sự kiện được biểu diễn trong ontology mà còn được kế
thừa bới các ngữ nghĩa. Sự kế thừa có thể được dựa trên một tài liệu đơn hoặc nhiều
tài liệu phân tán đã được kết hợp bởi định nghĩa bằng các kỹ thuật OWL.
2 . Các thành phần của bản thể học OWL
OWL bản thể học có thành phần tương tự như Protégé bản thể học dựa trên
khung. Tuy nhiên, các thuật ngữ dùng để mô tả các thành phần này là hơi khác nhau
từ đó được sử dụng trong Protégé. Một Ontology OWL bao gồm cá nhân, Properties,
và lớp học, có khoảng tương ứng với Protégé Instances, Slots và lớp học.
2.1. Các đối tương cho Ontology
Các mô tả đối tượng
- Lớp tương đương (Equivalent classes)
- Lớp cha (superclass)
14
- Lớp kế thừa
- Thành viên
- Khóa
2.2. Thuộc tính (Properties)
Thể hiện quan hệ nhị phân của các thực thể (quan hệ giữa hai thực thể) như
liên kết hai thực thể với nhau
- Ví dụ thuộc tính “do_virus” liên kết hai thực thể “cúm_gà” và “H5N1”
Thuộc tính có có khả năng đảo ngược với nhau, ví dụ thuộc tính “isBaseOf”
có đảo ngược là “hasBase”
Các mô tả về thuộc tính:
15
- Functional: Quan hệ dạng hàm. Ví dụ: thuộc tính hasMother có tính chất
functinal
- Inverse Functional: Thuộc tính đảo. Ví dụ: hasAuthor có thuộc tính inverse
là writtenBy

- Transitive: Quan hệ bắc cầu
- Symmetric: Quan hệ đối xứng. Ví dụ thuộc tính hasSibling là đối xứng.
- Asymetric: Bất đối xứng
- Reflexive: Phản xạ. Ví dụ thuộc tính knows là phàn xạ chẳng hạn như Peter
knowsPeter
himself.
- Irreflexive: Không phản xạ
Hình : Minh họa về thuộc tính Protégé
16
2.3. Lớp (Classes)
Lớp OWL là một bộ những thực thể, các thực thể được mô tả logic để định
nghĩa các đối tượng của lớp
Lớp được xây dựng theo cấu trúc phân cấp cha-con như là một sự phân loại
các đối tượng
Ví dụ
Động vật là lớp cha của bò sát, bò, kiến…
4. Các bước xây dựng Ontology với Protégé
- Xác định Domain
- Liệt kê, xác định các concept
- Định nghĩa lớp, phân cấp lớp
- Xác định thuộc tính và các Restriction
- Tạo các thực thể
4.1. Xác định Domain
Kiểu phụ thuộc của Ontology, phạm vi Ontology, những người sử dụng sẽ
phát triển mô hình. Những thông tin hữu ích Ontology có thể cung cấp.
4.2. Liệt kê, xác định các concept
Xác định các thuật ngữ liên quan, chúng có thể được thay đổi và mở rộng
thêm. Xác định thuộc tính liên quan đến các thuật ngữ đó.
- Ví dụ các thuật ngữ liên quan đến con người có thế là nam, nữ, họ, tên…
17

4.3. Định nghĩa lớp, phân cấp lớp
Xác định các lớp và các lớp con của nó
Sự phân cấp các lớp dựa vào các giác quan, sự nhận thức và những sự thật
hiển nhiên.
- Ví dụ động vật sẽ có các lớp con là bò sát, thú…
4.4. Xác định thuộc tính và các Restriction
Xây dựng các thuộc tính để có thể mô tả cụ thể lớp và phân cấp lớp
- Lấy ví dụ thuộc tính con người là tên, tuổi, quê quán, ngày sinh…
Thêm vào thuộc tính các Restriction (giới hạn). Có thể thêm vào thuộc tính
quê quán Restriction là lớp tỉnh; lớp con người có thể tạo các thực thể có quê quán
trong lớp tỉnh.
4.5. Tạo các thực thể
Chèn thêm các thực thể cho lớp để làm rõ các lớp và thuộc tính của lớp đã tạo.
Ví dụ lớp con người có thực thể: Ngân, Lan, Hương, Nam…
5. Xây dựng một Ontology với Protégé
- Khởi động chương trình Protégé.
- Tạo lớp Class .
- Tạo các lớp con của lớp .
- Tạo các thuộc tính Properties.
- Tạo các thực thể của lớp .
- Tiến hành sinh luật và truy vấn.
18
5.1. Khởi động chương trình Protégé:
`
Hình : Màn hình khởi dộng của Protégé
5.2. Tạo lớp Class :
B1 : Click chọn Tab Classes (1)
B2 : Click chọn (2)
B3 : Đặt tên cho lớp " " (3)
19

Hình 8 Các bước tạo lớp trong Protégé
5.3. Tạo các lớp con
B1 : Click chọn lớp "WineDescription" vừa tạo (1)
B2 : Click chọn (2) để tạo lớp
B3 : Đặt tên các lớp con của lớp " WineDescription "
Ta sẽ được các lớp con của lớp " WineDescription " vừa tạo là Wincolor,
WinTaste.
B4 : Phân cấp lớp nếu có (3) (4)
20
Hình : Các bước tạo lớp con trong Protégé
5.4. Tạo các thuộc tính Properties
- Chọn tab Properties (1) rồi chọn (2)
- Chọn Add Sub property (3)
- Đặt tên thuộc tính (4)
- Chọn các đặc tả và mô tả cho thuộc tính nếu có như Funtional, Transitive,
Domains, Ranges….
21
22
Hình : Các bước tạo thuộc tính trong Protégé
5.5. Sơ đồ Ontology
- Chọn Tap OntoGaf (1).
- Chọn lớp muốn xem (2).
- Chọn các chế độ hiển thị (3).
23
24
25

×