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

Tiểu luận môn biểu diễn tri thức và suy luận ONTOLOGY LÀ GÌ TẠI SAO CẦN DÙNG 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 (596.66 KB, 21 trang )

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
__
Bài thu hoạch
Biểu Diễn Tri Thức Và Suy Luận
ONTOLOGY LÀ GÌ? TẠI SAO CẦN DÙNG
ONTOLOGY
Giảng viên hướng dẫn: PGS.TS. Đỗ Văn Nhơn
Học viên thực hiện: Huỳnh Văn Trận
MSHV: CH1301066
Tháng 3/2014
2
Ý Kiến














3
CHƯƠNG 1 Ontology là gì? 6
1.1 Khái niệm 6
1.2 Thành phần 7


1.2.1 Các cá thể (Individuals): 8
1.2.2 Các lớp (Classes): 8
1.2.3 Các thuộc tính (Attributes): 8
1.2.4 Các mối quan hệ (Relationships): 9
1.3 Phân loại 9
1.4 Xây dựng Ontology 11
1.4.1 Yêu cầu 11
1.4.2 Bước xây dựng 12
1.4.3 Ngôn ngữ OWL 14
1.4.4 Một số công cụ phát triển Ontology 16
CHƯƠNG 2 Ứng dụng Ontology trong quản lý trang thiết bị y tế 17
4
Giới Thiệu
Thuật ngữ “Ontology” đã xuất hiện từ rất sớm. Trong cuốn sách “Siêu hình”
(Metaphysics) của mình, Aristotle đã định nghĩa: “Ontology là một nhánh của triết
học, liên quan đến sự tồn tại và bản chất các sự vật trong thực tế”. Hay nói cách khác,
đối tượng nghiên cứu chủ yếu của Ontology xoay quanh việc phân loại các sự vật dựa
trên các đặc điểm mang tính bản chất của nó. Ontology là một thuật ngữ mượn từ triết
học được tạm dịch là “bản thể học”, nhằm chỉ khoa học mô tả các loại thực thể trong
thế giới thực và cách chúng liên kết với nhau. Trong ngành khoa học máy tính và khoa
học thông tin, Ontology mang ý nghĩa là các loại vật và quan hệ giữa chúng trong một
hệ thống hay ngữ cảnh cần quan tâm. Các loại vật này còn được gọi là khái niệm, thuật
ngữ hay từ vựng có thể được sử dụng trong một lĩnh vực chuyên môn nào đó.
Ontology cũng có thể hiểu là một ngôn ngữ hay một tập các quy tắc được dùng để xây
dựng một hệ thống Ontology. Một hệ thống Ontology định nghĩa một tập các từ vựng
mang tính phổ biến trong lĩnh vực chuyên môn nào đó và quan hệ giữa chúng. Sự định
nghĩa này có thể được hiểu bởi cả con người lẫn máy tính. Một cách khái quát, có thể
hiểu Ontology là "một biểu diễn của sự khái niệm hoá chung được chia sẻ" của một
miền hay lĩnh vực nhất định. Nó cung cấp một bộ từ vựng chung bao gồm các khái
niệm, các thuộc tính quan trọng và các định nghĩa về các khái niệm và các thuộc tính

này. Ngoài bộ từ vựng, Ontology còn cung cấp các ràng buộc, đôi khi các ràng buộc
này được coi như các giả định cơ sở về ý nghĩa mong muốn của bộ từ vựng, nó được
sử dụng trong một lĩnh vực mà có thể được giao tiếp giữa người và các hệ thống ứng
dụng phân tán khác.
Ontology đượ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, tin học y sinh 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ể. Việc tạo ra các lĩnh vực về Ontology cũng là cơ sở để định nghĩa và sử dụng của
cơ cấu một tổ chức kiến trúc(an enterprise architecture framework).
Trong bài thu hoạch này sẽ giới thiệu thế nào là ONTOLOGY, tại sao lại cần
ONTOLOGY. Ứng dụng của ONTOLOGY trong việc mô tả sản phẩm y tế.
5
CHƯƠNG 1 Ontology là gì?
1.1 Khái niệm
Nói một cách đơn giản 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.

Hình 1. Ontology
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ự
6

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…
1.2 Thành phần
Các thành phần thường gặp của Ontology bao gồm:
 Các cá thể(individuals): các thực thể hoặc các đối tượng (các đối tượng cơ
bản hoặc cấp độ nền).
 Các lớp(classes): các tập hợp, các bộ sưu tập, các khái niệm, các loại đối
tượng, hoặc các loại khác.
 Các thuộc tính(attributes): các khía cạnh, đặc tính, tính năng, đặc điểm,
hoặc các thông số mà các đối tượng (và các lớp) có thể có.
 Các quan hệ(relations): cách thức mà các lớp và các cá thể có thể liên kết
với nhau.
 Các thuật ngữ chức năng(function terms): cấu trúc phức tạp được hình
thành từ các mối quan hệ nhất định có thể được sử dụng thay cho một thuật
ngữ cá thể trong một báo cáo(statement).
 Các sự hạn chế(restrictions): những mô tả chính thức được tuyên bố về
những điều phải chính xác cho một số khẳng định được chấp nhận ở đầu
vào.
 Các quy tắc(rules): tuyên bố có hình thức như một cặp nếu-thì (if-then) mô
tả suy luận logic có thể được rút ra từ một sự khẳng định trong từng hình
thức riêng.
 Các tiên đề(axioms): các khẳng định (bao gồm các quy tắc) trong một hình
thức hợp lý với nhau bao gồm các lý thuyết tổng thể mà Ontology mô tả
trong lĩnh vực của ứng dụng.
 Các sự kiện(events): sự thay đổi các thuộc tính hoặc các mối quan hệ.
Sau đây chúng ta sẽ tìm hiểu một số thành phần quan trọng nhất của một
Ontology.
7
1.2.1 Các cá thể (Individuals):
Các cá thể là các thành phần cơ bản, nền tảng của một Ontology. Các cá thể trong

một Ontology có thể bao gồm các đối tượng cụ thể như con người, động vật, cái bàn…
cũng như các cá thể trừu tượng như các thành viên hay các từ. Một Ontology có thể
không cần bất kỳ một cá thể nào, nhưng một trong những lý do chính của một
Ontology là để cung cấp một ngữ nghĩa của việc phân lớp các cá thể, mặc dù các cá
thể này không thực sự là một phần của Ontology.
1.2.2 Các lớp (Classes):
Các lớp là các nhóm, tập hợp các đối tượng trừu tượng. Chúng có thể chứa các cá
thể, các lớp khác, hay là sự phối hợp của cả hai. Một số ví dụ về các lớp học:
Người (person), các lớp của tất cả mọi người, hay đối tượng trừu tượng có thể
được mô tả bởi các tiêu chí để trở thành một con người.
Phương tiện xe cộ (vehicle), các lớp của tất cả các phương tiện xe cộ, hay đối
tượng trừu tượng có thể được mô tả bởi các tiêu chí để được một phương tiện xe cộ.
Xe hơi (cars), các lớp của tất cả các xe ô tô, hoặc đối tượng trừu tượng có thể được
mô tả bởi các tiêu chí để được một chiếc xe hơi.
Lớp học (class), đại diện cho lớp của tất cả các lớp học, hay đối tượng trừu tượng
có thể được mô tả bởi các tiêu chí để được một lớp học.
Đồ vật (Thing), đại diện cho lớp của tất cả mọi đồ vật, hoặc đối tượng trừu tượng
có thể được mô tả bởi các tiêu chí để được đồ vật.
Các Ontology biến đổi tuỳ thuộc vào cấu trúc và nội dung của nó: Một lớp có thể
chứa các lớp con, có thể là một lớp tổng quan (chứa tất cả mọi thứ), có thể là lớp chỉ
chứa những cá thể riêng lẻ, Một lớp có thể xếp gộp vào hoặc bị xếp gộp vào bởi các
lớp khác. Mối quan hệ xếp gộp này được sử dụng để tạo ra một cấu trúc có thứ bậc các
lớp, thường là với một lớp thông dụng nhất ở trên đỉnh và các lớp có kiểu rõ ràng cụ
thể ở phía dưới cùng.
1.2.3 Các thuộc tính (Attributes):
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
8
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ể là một kiểu dữ liệu phức tạp.
1.2.4 Các mối quan hệ (Relationships):
Mối quan hệ (còn gọi là quan hệ) giữa các đối tượng trong Ontology định rõ như
thế nào các đối tượng này có liên quan đến các đối tượng khác. Đặc trưng là một mối
quan hệ loại riêng biệt (hay lớp) mà quy định cụ thể trong chiều hướng các đối tượng
này có liên quan đến các đối tượng khác trong Ontology.
Chủ yếu sức mạnh của Ontology đến từ khả năng mô tả các mối quan hệ. Cùng
với nhau, tập hợp các mối quan hệ mô tả ngữ nghĩa trong một lĩnh vực nào đó. Các
thiết lập của các loại quan hệ được sử dụng(các lớp của các quan hệ) và hệ thống phân
cấp của nó mô tả sức mạnh biểu hiện của ngôn ngữ trong đó Ontology được thể hiện.
Một kiểu quan hệ quan trọng là kiểu quan hệ xếp gộp (subsumption). Kiểu quan
hệ này mô tả các đối tượng nào là các thành viên của các lớp nào của các đối tượng.
Ontology có thể phân biệt giữa các loại khác nhau của các quan hệ.
Ví dụ:
Loại quan hệ dành cho các quan hệ giữa các lớp
Loại quan hệ dành cho các quan hệ giữa các cá thể
Loại quan hệ dành cho các quan hệ giữa một cá thể và một lớp
Loại quan hệ dành cho các quan hệ giữa một đối tượng đơn lẻ và một bộ sưu
tập (collection)
Loại quan hệ dành cho các quan hệ giữa các bộ sưu tập
Loại quan hệ đôi khi là một lĩnh đặc trưng và sau đó được dùng để lưu trữ các
loại đặc trưng của sự kiện hoặc trả lời từng loại câu hỏi riêng biệt. Nếu các định
nghĩa của các loại quan hệ được bao gồm trong một Ontology, sau đó Ontology
định nghĩa riêng ngôn ngữ Ontology của nó.
1.3 Phân loại
Từ khi bắt đầu nghiên cứu về Ontology trong Khoa học máy tính, Ontology đã
được quan tâm với mong muốn tăng cường việc sử dụng lại hệ thống cơ sở tri thức bên
trong, và nó cũng đưa ra nhiều dạng Ontology mô tả khả năng khác nhau cho việc tái
9
sử dụng hệ thống cơ sở tri thức. Sự phân loại Ontology có thể được tạo ra theo chủ đề

của sự khái niệm hóa.Trong khía cạnh này, phần cốt lõi nhất được tổng kết theo hình
bên cạnh.
Hình 2. Phân loại Ontology
Top-level Ontology: còn gọi là Ontology lớp cao, nhằm diễn tả những khái niệm
tổng quan và trừu tượng có thể được chia sẻ qua nhiều lĩnh vực và ứng dụng. Nó mượn
các ý niệm triết học mô tả những khái niệm lớp cao cho mọi vật về sự tồn tại của
chúng, như đối tượng vật chất hay đối tượng trừu tượng như là các ý niệm có đặc điểm
chung về tri thức nhận thức thông thường về hiện tượng như thời gian, không gian, các
tiến trình Do sự tổng quan của đó, nó không sử dụng trực tiếp trong các ứng dụng,
mà thông qua các Ontology khác.
Domain Ontology và task Ontology: các loại Ontology này lấy tri thức từ trong
những lĩnh vực xác định, như trong y khoa, địa lý hay tri thức về một tác vụ riêng biệt
như sự chẩn hoặc sự cấu hình. Về mặt ý tưởng thì Ontology loại này thu hẹp hơn và
xác định hơn so với Top-level Ontology. Sự khái niệm hóa trong một Domain
Ontology là giữ các tác vụ độc lập, khi những ý niệm trong một tác vụ Ontology được
miêu tả không có tính chất rõ rệt với chi tiết cụ thể đến một lĩnh vực. Sự phát triển của
Domain Ontology được thực hiện nhiều ở các lĩnh vực: y học, di truyền, địa lý, du
lịch, thông tin môi trường. Còn Task Ontology được phát minh cho các tác vụ xây
dựng, sắp xếp kế hoạch làm việc, giám sát trong một lĩnh vực khoa học, cơ sở tri thức
máy tính dạy học, sự theo dõi phóng tên lửa, các tác vụ hướng dẫn điều trị bệnh
10
Top - Level Ontology
Domain Ontology
Task - Ontology
Application Ontology
Application Ontology: càng thu hẹp về phạm vi, Application Ontology cung cập
một bộ từ vựng xác định được yêu cầu để mô tả sự ban hành các tác vụ chắc chắn
trong một ngữ cảnh ứng dụng cụ thể. Đặc biệt, nó sử dụng cả Domain Ontology và
Task Ontology và mô tả vai trò của chúng trong một tác cụ thể.
Chúng ta có thể thấy hệ thống phân cấp của Ontology thông qua sự trình bày ở

trên: Ontology ở lớp thấp hơn kế thừa và chuyên môn hóa các khái niệm và mối quan
hệ từOntology lớp trên. Ontology lớp thấp cụ thể hơn và phạm vi ứng dụng thu hẹp
hơn, còn Ontology ở lớp cao có khả năng rộng hơn, chủ yếu dành cho việc kế thừa và
sử dụng lại.
1.4 Xây dựng Ontology
1.4.1 Yêu cầu
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ó 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.
11
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ả.
1.4.2 Bước xây dựng
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 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.
12
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 như: nhân viên lễ tân, nhân viên vệ
13
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 đó.
1.4.3 Ngôn ngữ OWL
OWL (The Web Ontology Language) là một ngôn ngữ gần như XML dùng để mô
tả các hệ cơ sở tri thức. OWL là một ngôn ngữ đánh dấu dùng để xuất bản và chia sẻ
dữ liệu trên Internet thông qua những mô hình dữ liệu gọi là “Ontology”. Ontology mô
tả 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
14

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 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.
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ó 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).
15
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.
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
1.4.4 Một số công cụ phát triển Ontology
Một số công cụ phát triển và hiệu chỉnh có giá trị trong việc làm giảm độ phức tạp
và thời gian dùng cho nhiệm vụ xây dựng Ontology. Các công cụ như Kaon, OileEd
và Protégé cung cấp các giao diện nhằm giúp đỡ người sử dụng thực hiện các hoạt
động chính yêu trong trong quá trình phát triển một Ontology. Việc lựa chọn một công
cụ hiệu chỉnh phù hợp nhất có nhiều khó khăn vì mỗi kiểu Ontology có các yêu cầu về
kinh phí, thời gian, tài nguyên khác nhau. Để giúp cho việc giải quyết vướng mắc này,
Singh & Murshed (2005) đưa ra các tiêu chuẩn đánh giá công cụ tạo Ontology. Tiêu
chuẩn bao gồm tính năng, khả năng sử dụng lại, lưu trữ dữ liệu, mức độ phức tạp, quan
hệ, tính lâu bền, độ an toàn, độ chắc chắn, khả năng học, tính khả dụng, hiệu lực, và
tính rõ ràng. Protégé và OntoEditFree được phát triển bởi Singh & Murshed sử dụng
các tiêu chuẩn này.
Một số công cụ hiệu chỉnh Ontology phổ biến:
16
Hình 3. Các công cụ phát triển Ontology
Protégé hỗ trợ OWL, là công cụ được sử dụng rộng rãi và lâu nhất hiện nay. Nó
cho phép người sử dụng định nghĩa và chỉnh sửa các lớp Ontology, các thuộc tính và
quan hệ và các thể hiện sử dụng cấu trúc cây. Các Ontology có thể được đưa ra theo
các định dạng RDF(S), XML Schema. Platform protégé cung cấp hai cách chính mô
hình hóa Ontology thông qua Protégé - Frame và Protégé – OWL, ngoài ra có thể có

nhiều plugin. Chúng ta có thể quan sát một cách trực quan thông qua OWL Viz, nó
cho phép quan sát Ontology dưới dạng đồ họa và đưa file ảnh JPEG. Ngoài ra còn hỗ
trợ truy vấn SPARQL.
CHƯƠNG 2 Ứng dụng Ontology trong quản lý trang thiết bị y tế
Trong lĩnh vực y tế có hàng triệu sản phẩm y tế phục vụ với những mục đích khác
nhau, ví dụ như găng tay, kim tiêm, nẹp chân tay, đinh ốc khoan xương … Với từng
sản phẩm khác nhau như vậy làm sao có thể phân loại được chúng thông qua thông tin
mô tả. Do vậy đối với 1 sản phẩm y tế ta sẽ tạo cho chúng 1 bộ thuộc tính cùng với giá
trị của chúng. Giá trị thuộc tính của những thuộc tính này sẽ mô tả đầy đủ tính năng,
tính chất cơ bản của 1 sản phẩm. Giúp cho bác sĩ lựa chọn đúng sản phẩm khi cần điều
trị cho bệnh nhân.
17
Ví dụ:
Hình 4. Sản phẩm y tế mẫu
Hình 5. Chi tiết 1 sản phẩm y tế
Trong ví dụ trên cho ta thấy được bộ thuộc tính của sản phẩm trên.
Hiện tại có tới hàng triệu sản phẩm y tế khác nhau. Với hàng trăm ngàn loại khác
nhau. Do vậy để phân loại 1 sản phẩm thuộc về loại sản phẩm nào thì rất khó. Ví dụ:
trên thị trường sản phẩm y tế có rất nhìu loại, sản phẩm khác nhau về găng tay, chúng
sẽ được dùng trong rất nhiều trường hợp khác nhau như là mổ, pha chế, … và cũng sẽ
có những thông tin khác nhau như là kích thước (Size), độ dài (Length), thành phần
(Composition) … và có chung thuộc tính gọi là danh từ (Noun) là GLOVE.
Hiện nay, theo ghi nhận từ ứng dụng này thì đã tổng hợp một bộ khá lớn thuộc
tính trong các sản phẩm y tế.
18
Hình 6. Bộ thuộc tính
Với yêu cầu đặt ra là nếu các sản phẩm cùng loại thì sẽ xuất hiện bộ thuộc tính và
giá trị của load đó. Không hiện hết bộ thuộc tính bên trên vì có những thuộc tính ở loại
sản phẩm này có mà loại sản phẩm kia thì không có.
Để giải quyết được yêu cầu này, dự án đã xây dựng nên 1 bộ Ontology để quản lý

tất các các thuộc tính của sản phẩm. Bộ Ontology này sẽ biểu diễn được 1 bộ thuộc
tính chuẩn cho từng loại sản phẩm khác nhau.
Định nghĩa Ontology cho trường hợp này: tên gọi là Ontology Families Giá trị của
thuộc tính NOUN kết hợp với 1 giá trị của thuộc tính khác NOUN sẽ cho ra 1 bộ thuộc
tính và thứ tự nhất định. Và bộ thuộc tính này sẽ nằm trong bộ thuộc tính trên.
Hiện tại thì ứng dụng xây dựng bộ Ontology trên giá trị của thuộc tính NOUN kết
hợp với giá trị của thuộc tính TYPE để xác định được bộ thuộc tính nhất định.
19
Hình 7. Ontology Families
Trên đây là 1 ví dụ cho thuộc tính Noun có giá trị là GLOVE, ứng với từng giá trị
của thuộc tính TYPE khác nhau sẽ cho bộ thuộc tính khác nhau. Hiện tại ứng dụng có
336 giá trị NOUN khác nhau và 37315 ontology families.
Hình 8. Ontology Families trên ứng dụng
Nếu 1 sản phẩm y tế mới chưa có tồn tại trong ứng dụng thì khi vào ứng dụng sẽ
được hiện lên những thuộc tính trong bộ ontologies nó thuộc về.
20
Nếu 1 sản phẩm có giá trị thuộc tính NOUN chưa tồn tại trong Ontoloy thì sản
phẩm này sẽ thuộc về 1 ontology UNKNOWN. Ontology UNKNOWN sẽ chứa tất các
các thuộc tính.
Ứng với mỗi giá trị thuộc tính NOUN, sẽ tạo cho nó 1 ontology gọi là
UNKNOWN Family để khi không tìm thấy Families cho giá trị thuộc tính NOUN đó
sẽ dùng UNKNOWN Family này.
Đây là 1 phần nhỏ trong ứng dụng hỗ trợ mua bán sản phẩm y tế do công ty
ELARION cùng với công ty MEPERIA (USA) outsourcing cho tập đoàn McKesson
(USA). Và em là người thực hiện chính trong việc tạo ra bộ ontologies.
Để tham khảo bảng ontology familities có thể truy cập theo địa chỉ sau:
/>thông tin đăng nhập: password: 12345678
vào mục “Description Management”  “Description Settings”
21
Tài liệu tham khảo

Tiếng Việt
[1] Võ Hoàng Nguyên, Hoàng Lê Quân - Tháng 5/2009 - GIỚI THIỆU
SEMANTIC WEB & ONTOLOGY
[2] TS. Hoàng Hữu Hạnh, ĐH Khoa Học Huế. - Slide: Ontologies in the
Semantic Web
[3] TS. Hoàng Hữu Hạnh, ĐH Khoa Học Huế. - Slide: OWL - W3C’s Web
Ontology Language
Tiếng Anh
[4] />[5] />[6] />[7] />[8] B. Chandrasekaran and John R. Josephson, Ohio State University V.
Richard Benjamins, University of Amsterdam - What Are Ontologies, and Why
Do We Need Them?
22

×