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

Tiểu luận môn biểu diễn tri thức và suy luận TÌM HIỂU MÔ HÌNH ONTOLOGY TRONG BIỂU DIỄN TRI THỨC

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 (573.29 KB, 35 trang )

I. VẤN ĐỀ CƠ BẢN VỀ BIỂU DIỄN TRI THỨC
1. Định nghĩa tri thức
1
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

BÀI TIỂU LUẬN MÔN
BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
TÊN ĐỀ TÀI:
TÌM HIỂU MÔ HÌNH ONTOLOGY TRONG
BIỂU DIỄN TRI THỨC
Giảng viên hướng dẫn: PGS. TS. Đỗ Văn Nhơn
Họ tên học viên: Đặng Thị Mỹ Hạnh
Mã số học viên: CH1301012
- Dữ liệu là các con số, ký hiệu mà máy tính có thể lưu trữ, biểu diễn, xử lý.
Bản thân dữ liệu không có ý nghĩa. Chỉ khi con người cảm nhận, tư duy thì dữ liệu
mới có một ý nghĩa nhất định, đó chính là thông tin. Tri thức là kết tinh, cô đọng,
chắt lọc của thông tin. Tri thức hình thành từ quá trình xử lý thông tin.
Hình: Mô hình kim tự tháp từ dữ liệu đến tri thức
2. Phân loại tri thức
Các định lý toán học, định luật vật lý là các tri thức mang tính khẳng định sự
kiện.
Các phương pháp điều chế hóa học, thuật toán là tri thức mang tính thủ tục.
Các nhận định, kết luận về sự kiện, hiện tượng là tri thức mô tả.
Các ước lượng, suy đoán hình thành qua kinh nghiệm là tri thức heuristic.
3. Biểu diễn tri thức
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. 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ữ.
Có rất nhiều phương pháp biểu diễn tri thức như: theo logic mệnh đề và vị từ,


hệ luật dẫn, mạng ngữ nghĩa, frame, …
Đây là các phương pháp biểu diễn tri thức cơ bản, nhưng trong thực tế đối với
các tri thức mang tính chất phức tạp, thì chúng ta không thể sử dụng các phương
pháp này để biểu diễn tri thức. Và ngày nay, hướng tiếp cận mới đang được nghiên
2
cứu phát triển do khả năng ứng dụng cao của nó trong việc biểu diễn các tri thức là
Ontology.
II. TỔNG QUAN VỀ ONTOLOGY
1. Nguồn gốc
Ontology bắt nguồn từ Hy Lạp, từ ontos có nghĩa là sự tồn tại (being), từ
logos nghĩa là diễn đạt (word); có nghĩa là diễn đạt sự tồn tại.
Hình: Cây Brentano về các phạm trù của Aristotle
Hình: Một Ontology khác – Porphyry
2. Định nghĩa
Theo triết học thì ontology được định nghĩa như sau: “Ontology là một siêu
hình học nghiên cứu về sự tồn tại và hiện thân của tự nhiên” – Aristoteles.
3
Theo tin học thì ontology có những định nghĩa như sau:
- Theo John F.Sowa (2000) thì “Ontology là một bản liệt kê các kiểu của
những gì mà tồn tại trong miền D từ khía cạnh mà người sử dụng ngôn ngữ L để
mô tả D. Các kiểu của ontology gồm: vị tư, ý nghĩa từ, hay khái niệm và quan hệ
của ngôn ngữ L khi mô tả về D”.
- Theo A. Maedche & B. Motik & L. Stojanovic (2003) thì “Ontology là mô
hình khái niệm trong phạm vi ứng dụng nhất định, có thể chia sẽ và thực thi trên
máy tính”.
- Theo Gruber (1993) thì “Ontology là một đặc tả hình thức của những khái
niệm được trừu tượng hóa (có thể được thực thi trên máy tính) có thể chia sẻ cho
các nhóm người sử dụng hay nhóm máy tính hoặc giữa người và máy tính, và liên
quan đến một lĩnh vực cụ thể nào đó”.
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.
Ontology được sử dụng rộng rãi trong công nghệ tri thức, trí tuệ nhân tạo, và
khoa học máy tính trong các ứng dụng liên quan đến quản lý tri thức, xử lý ngôn
ngữ tự nhiên, thương mại điện tử, tích hợp thông tin, tìm kiếm thông tin, thiết kế
cơ sở dữ liệu…
4
Hình: Minh họa về chức năng của 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.
3. Các thành phần chính của Ontology
3.1. Các khái niệm (Concept)
Những khái niệm được tổ chức phân loại để định nghĩa tập hợp các thuộc tính
hoặc tập hợp các thao tác vốn đặc trưng của bất cứ thành phần nào của khái niệm.
Ví dụ: trong Ontology về hình học, tam giác và tứ giác là 2 khái niệm.
3.2. Quan hệ (Relation)
Kiểu tương tác giữa các khái niệm
Ví dụ: khái niệm tam giác cân là khái niệm con của khái niệm tam giác, vậy
“khái niệm con” là một quan hệ.
Đặc biệt hóa của quan hệ là các quan hệ phân cấp. Một số quan hệ phân cấp
thường dùng là: lưới, cây và xoắn.
Hình: Đồ thị lưới, cây và xoắn (từ trái sang)
5
Mỗi nút đại diện cho một khái niệm. Mũi tên trong các đồ thị bắt nguồn từ nút

chỉ ra nút cha của nút đó. Nút mà không có nút cha nào được gọi là khái niệm cơ
bản. Trong Ontology hình học, điểm là khái niệm cơ bản.
3.3. Hàm (function)
Các thao tác thực hiện trên Ontology.
Ví dụ: diện tích của tam giác có thể được tính toán bằng các thuộc tính trong
khái niệm tam giác như các cạnh của tam giác.
3.4. Tiên đề (Axiom)
Tiên đề có thể phân tích thành các luật, các luật thể hiện các tri thức mang
tính phổ quát trên các khái niệm và các loại sự kiện khác nhau. Mỗi luật cho một
quy tắc suy luận để đi đến một sự kiện mới từ sự kiện nào đó, và về mặt cấu trúc
nó gồm 2 thành phần chính là: phần giả thuyết và phần kết luận của luật. Phần giả
thiết và phần kết luận đều là các tập hợp sự kiện trên các đối tượng nhất định. Như
vậy, một luật r có thể được mô hình dưới dạng:
R: {sk
1
, sk
2
,…,sk
n
} => { sk
1
, sk
2
,…,sk
m
}
Ví dụ: nếu tam giác có 3 cạnh bằng nhau thì tam giác ABC là tam giác đều.
3.5. Thể hiện (instance)
Đại diện cho những phần tử riêng biệt của khái niệm hay quan hệ.
Ví dụ: tam giác được ký hiệu ABC là thể hiện của khái niệm tam giác.

4. Các kiểu Ontology
- Top-level ontology: từ vựng các khái niệm liên quan đến mọi thứ như không
gian, thời gian, sự kiện …không phụ thuộc vào một vấn đề cụ thể nào hoặc một
giới hạn nhất định.
6
- Domain ontology: từ vựng các khái niệm trong một phạm vi nào đó. Ví dụ:
ontology về lý thuyết hoặc các nguyên lý cơ bản của một miền.
- Task ontology: hệ thống các từ vừng của các thuật ngữ để giải quyết các vấn
đề kết hợp liên quan đến nhiệm vụ mà có thể cùng hoặc không cùng phạm vi ứng
dụng cụ thể. Ví dụ: Ontology về kế hoạch phân công nhiệm vụ.
- Application ontology: chứa các kiến thức cần thiết của một ứng dụng trong
phạm vị ứng dụng nhất định. Ví dụ: Ontology hình học.
5. Các yêu cầu khi xây dựng Ontology
Ngôn ngữ ontology cho phép người sử dụng viết rõ ràng, các khái niệm hình
thức của mô hình miền. Các yêu cầu chính:
- Cấu trúc rõ ràng: đây là điều kiện cần cho máy có thể xử lý thông tin.
- Ngữ nghĩa hình thức miêu tả ý nghĩa tri thức một cách chính xác: Ý nghĩa
của ngữ nghĩa hình thức tồn tại trong một thời gian dài trong miền toán logic. Việc
sử dụng ngữ nghĩa hình thức cho phép con người suy diễn tri thức. Với tri thức
trong ontology có thể suy diễn về:
+ Thành viên của lớp: Nếu x là một thể hiện của lớp C và C là lớp con của
lớp D thì chúng ta có x là thể hiện của lớp D.
+ Các lớp tương đương: Nếu lớp A tương đương với lớp B và lớp B tương
đương với lớp C, thì lớp A cũng tương đương với lớp C.
+ Tính nhất quán: Giả sử chúng ta khai báo x là thể hiện của lớp A và A là
lớp con của B∩ C, A là lớp con của lớp D, Lớp B và lớp D không có quan hệ với
nhau (disjoint). Thì chúng ta không nhất quán bởi vì A nên là rỗng nhưng lại có thể
hiện là x. Đây là một dấu hiệu của một lỗi trong ontology.
+ Phân loại : nếu chúng ta khai báo các cặp thuộc tính giá trị đã biết là điều
kiện đủ cho thành viên trong một lớp A, thì nếu một cá thể x thỏa mãn các điều

kiện, chúng ta có thể kết luận x phải là một thể hiện của A.
- Ngữ nghĩa là điều kiện tiên quyết cho việc hỗ trợ suy diễn: Hỗ trợ suy diễn
rất quan trọng bởi vì nó cho phép kiểm tra tính nhất quán của ontology và tri thức,
kiểm tra các quan hệ thừa giữa các lớp, tự động phân loại các thể hiện trong lớp.
Ngữ nghĩa hình thức và hỗ trợ suy diễn thường được cung cấp bởi việc ánh xạ
một ngôn ngữ ontology đến hình thức 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
7
đ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ả.
6. Tìm hiểu 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 (RDF là một khung – Framework mô tả các tài nguyên trên mạng.
Mục đích thiết kế của RDF để máy có thể hiểu được chứ không nhằm mục đích
hiển thị cho người dùng. RDF sử dụng xml để biểu diễn thông tin) và được kế thừa
từ ngôn ngữ DAML+OIL Web ontology - một dự án được hỗ trợ bởi W3C. OWL
biểu diễn ý nghĩa của các thuật ngữ trong các từ vựng và mối liên hệ giữa các thuật
ngữ này để đảm bảo phù hợp với quá trình xử lý bởi các phần mềm.
OWL được xem như là một kỹ thuật trọng yếu để cài đặt cho Semantic Web
trong tương lai. OWL được thiết kế đặc biệt để cung cấp một cách thức thông dụng
trong việc xử lý nội dung thông tin của Web. Ngôn ngữ này được kỳ vọng rằng sẽ
cho phép các hệ thống máy tính có thể đọc được thay thế cho con người. Vì OWL
được viết bởi XML, các thông tin OWL có thể dễ dàng trao đổi giữa các kiểu hệ
thống máy tính khác nhau, sử dụng các hệ điều hành và các ngôn ngữ ứng dụng
khác nhau. Mục đích chính của OWL là sẽ cung cấp các 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
8
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).
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.
III. PHƯƠNG PHÁP XÂY DỰNG ONTOLOGY
1. Quy trình phát triển Ontology
Trong những năm gần đây, một loạt các phương pháp luận khác nhau được
thiết kế để trợ giúp cho việc tiến hành phát triển các nhiệm vụ được báo cáo trong
tài liệu trí tuệ nhân tạo. Các phương pháp truyền thống gồm Cyc (Lenat & Guha
1990), Uschold và King (Uschold $ King 1995), Gruninger và Fox (Gruninger $
Fox 1995), Kactus (Kactus 1996),và Methontology (Fernandez-Lopez, Gomes-
Perez & Juritso 1997). Các phương pháp luận cung cấp các chỉ dẫn chung và có
cấu trúc. Nếu làm theo có thể tăng quy trình phát triển và cải tiến chất lượng cho
kết quả cuối cùng. Theo như đánh giá phương pháp luận “Methontology” là
phương pháp luận thiết kế ontology phổ biến nhất (được hỗ trợ môi trường
WebODE).
9
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. 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.
10
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ệ 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.
11

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 đó.
2. 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:
Hình: 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
12
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. 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.
3. Giới thiệu một vài Ontology
3.1. Lĩnh vực khách sạn
STT
Tên

lớp
Thuộc tính Mô tả
Tên
Loại
Mô tả
1
Hotel
hasPaymentMethodTy
pe
Object
Hình thức thanh
toán
HasHotelInfo Object
Chứa các thông tin
khái quát về khách
sạn
HasHoteEquiment Object
Các thiết bị trong
khách sạn
HotelLocation
Enumera
tion
Vị trí của khách
sạn
HasHotelRoom
Enumera
tion
Các loại phòng
trong khách sạn
(phòng ở, phòng

dành cho hội thảo,
phòng thể thao…)
hasHotelContact Object
Thông tin liên hệ
với khách sạn.
HasHotelCatering Object
Các dịch vụ cung
cấp đồ ăn trong
khách sạn.
HasCustomer Object
Thông tin về khách
hàng của khách sạn
HasHotelMessages Object
Nội dung các thông
điệp để các
HotelAgent sử
dụng giao tiếp với
các agent khác.
13
2
Hotel
Info
AreaWeather
Enumera
tion
Thời tiết đặc trưng
của khách sạn
Thông tin
về khách
sạn

CheckIn Date
Thời điểm nhận
dịch vụ
CheckOut date
Thời điểm trả dịch
vụ khách sạn (ví dụ
trả phòng)
StartNumber Int
Cấp bậc của khách
sạn : ? sao
WhenBuilt Int
Năm xây dựng
khách sạn: ví dụ
khi giới thiệu một
khách sạn cổ kính,
thiết kế theo kiến
trúc cổ.
HasHotelSize Object
Kích thước của
khách sạn. Khách
sạn rộng như nào,
có tất cả bao nhiêu
phòng…
3 hasP
ayme
ntMe
thod
Type
BankDebit Object
Thanh toán theo

mã ngân hàng
Các hình
thức thanh
toán
CreditCard Object
Thanh toán bằng
thẻ tín dụng
4
Hotel
Equi
pmen
t
Lounge
Lift
Airconditioning
Fitnessroom
Sauna
Swimmingpool
Steambath
Whirlpool
Solarium
Bowlinglane
Các thiết bị
trong
khách sạn
14
Playroom
Playground
Parkingplace
Bar

Park
Parkingplaces
Laundry
Safe
Telephoneoperator
Roomservice24hours
Conferencerooms
Internetaccess
Fax
Photocopier
Videoconferenceequipment
Nightclub
Cafe
Tenniscourt
Readingroom
Tvroom
Ariporttransfer
Currencyexchange
Medicalservice
Facilitiesfordisabled
5 Hotel
Loca
tion
Centre
Nearcentre
Outside
Countryside
Nearrailwaystation
Nearpublictransport
Vị trí của

khách sạn
15
Nearairport
Nearbeach
6
Weat
her
Warm
Cool
Wet
7
Bank
Debit
AcountNumber
String Số tài khoản
Thanh toán
bằng tài
khoản ngân
hàng
AcountOwer
String
Tên chủ tài
khoản
BankCode
String
Mã ngân
hàng
8
Hotel
Size

numberOfFloor Int Số tầng
Độ lớn của
khách sạn
9
NumberOfMeetingRoom
Int
Số phòng
họp
10
NumberOfLivingRoom Int
Số phòng
ngủ
NumberOfPartyRoom Int
Số phòng
dùng để tổ
chức tiệc
11
Hotel
Roo
m
LivingRoom Object Phòng ở
MeetingRoom Object Phòng họp
PartyRoom Object
Phòng tổ
chức tiệc
SportRoom Object
Phòng thể
thao
16
12

Meet
ingR
oom
Amount
Int
Sức chứa
trung bình
LargestRoomSpace
Float
Không gian
rộng nhất
LargestSeatingCapacity Int
Số ghế
nhiều nhất
có thể chứa
hasMeetingRoom
Equipment Object
Các thiết bị
trong phòng
họp
SmallestRoomSpace Int
Không gian
phòng nhỏ
nhất
SmallestSeatingCapacity
Int
Sức chứa ít
nhất
13
Meet

ingR
oom
Equi
pmen
t
Internet
Wifi
Micro
Projector
BufferBreak
Các thiết bị
trong
phòng họp
có thể có
14
Spor
Rom
fitnessCenter
Sauna
Massage
Spa
Playroom
waterSport
Phòng có
các dụng
cụ, trang
thiết bị cho
các hoạt
động thể
thao.

15 Hotel
Cont
act
Email
String
Địa chỉ
email
hasAddress Object Địa chỉ cụ
thể của
khách sạn
17
hasName Object
Tên người
cần liên hệ
phoneNumber (10<=
phoneNumber<= 11)
Int
Số điện
thoại liên
lạc
Fax (10<=
phoneNumber<= 11)
Int Số fax
16
Livin
gRoo
m
hasBedType
Enumeratio
n

numberRoo
m
Chi tiết về
phòng ở
của khách
sạn
hasRoomEquipment
Object
Các thiết bị
trong phòng

hasRoomLocation Object
Vị trí của
phòng đó
hasRoomType
Object
Phòng thuộc
loại nào
Smoker Boolean
Phòng có
được hút
thuốc hay
không
numberRoom int Số phòng
has Availability Object
Thời gian
sẵn sàng của
phòng
17
BedT

ype
SingleBed
DoubleBed
KingSizeBed
QueenSizeBed
Couch
ChildBed
BabyBed
BunkBed
Loại
giường
18 Roo
mEq
AirConditioned
18
uipm
ent
Bath
Shower
Toilet
HairDryer
Minibar
Safe
Radio
TV
Telephone
Fax
InternetAccess
Balcony
CDPlayer

SeparateToilet
SideBoard
Wardrobe
Whirlpool
DoubleWashBasin
Bathrobe
19
Roo
m
Loca
tion
Seaside
Seaview
Lakeside
Lakeview
Poolside
Roadside
Moutainview
Valleyview
Valleyside
Vị trí của
phòng
19
20
Roo
mTy
pe
Singleroom
Twimroom
Doubleroom

Multiplepersonroom
Juniorsuit
Suite
21
Avail
abilit
y
FromDate datetime
Ngày bắt đầu
đặt phòng
Ngày
phòng đã
được đặt
ToDate Datetime
Ngày kết thúc
phòng đặt
22
Addr
ess
city
String Thành phố
Địa chỉ của
khách sạn
hasCountry
Enumeration Nước nào
street
String Đường phố
zipcode
Int Mã nước
23

Nam
e
GivenName
Tên
Tên của
một người
NamePrefix
string
Tên tiền tố:
Mr
Mrs
Miss
Surname
String Tên họ
24 Hotel
Carte
ring
CateringPrice
Price
Chi phí cho
dịch vụ ăn
uống
Các dịch
vụ phục vụ
đồ ăn trong
khách sạn
hasCateringType Object Loại dịch vụ
20
hasCuisineType
Enumeration Kiểu nấu ăn

has Restaurant Object Loại món
25
Cater
ing
Type
Breakfast
Lunch
Dinner
HalfBoard
FullBoard
AllInclusive
Snacks
FastFood
26
Cuisi
neTy
pe
Italia
French
Chinese
Japanese
Local
International
27 Resta
urant
ClosingTime
Time
Thời gian đóng
cửa
MaxSeatingCapacity

Int
Chỗ ngồi lớn
nhất của quán
MaxSingleParty
Int
Số bữa tiệc đơn
được tổ chức
lớn nhất có thể
OfferBreakfast
Boolean
Phục vụ bữa
sang
OfferBrunch Boolean Phục vụ bữa ăn
giữa buổi
21
OfferDinner
Boolean
Phục vụ bữa ăn
tối
OfferLunch
Boolean
Phục vụ bữa ăn
trưa
OpeningTime
Time
Thời gian mở
cửa
RestaurantName
String Tên quán
28 Price

Amount Float Số tiền
Chi phí
CurrencyCode
Enumeratio
n
Đơn vị tiền sử
dụng
29
Curr
ency
Code
VND
USD
EURO
Đơn vị tiền
tệ
30
Cust
omer
HasContact Object
Địa chỉ liên hệ
khách hàng của
khách sạn
Khách
hàng của
khách sạn
customerType Enumeration
Nhóm khách
hàng
Preference Enumeration

Sở thích của
khách hàng
31
Cust
omer
Type
Adults
Children
Teenagers
Families
Singles
Seniors
SchoolGroups
TourGroups
Các loại
nhóm
khách hàng
của khách
sạn
32
Prefe
rence
Cycling
22
Sea
Climb up Mountain
Ski
fish
33 Mess
age

Hotel
Msg_HotelAvailabilit
yRQ
Object
Thông điệp yêu
cầu kiểm tra độ
sẵn sàng của một
dịch vụ khách sạn
Msg_HotelAvailabilit
yRS
Object
Thông điệp trả
lời tính sẵn sàng
của một dịch vụ
khách sạn
Msg_PublishHotelSer
viceRQ
Object
Thông điệp yêu
cầu quảng bá một
dịch vụ khách sạn
lên hệ thống du
lịch
Msg_PublishHotelSer
viceRS
Object
Thông điệp trả
lời khi một dịch
vụ được đăng ký
lên hệ thống

Msg_AlterHotelServic
eRQ
Object
Thông điệp yêu
cầu thay đổi
thông tin của một
dịch vụ đã được
đăng ký với hệ
thống du lịch
Msg_AlterHotelServic
eRS
Object
Thông điệp trẳ
lời cho việc thay
đổi thông tin dịch
vụ khi
HotelAgent yêu
cầu.
Msg_RegisterHotelRQ Object Thông điệp yêu
cầu đăng ký làm
nhà cung cấp
dịch vụ khách sạn
23
với hệ thống
Msg_RegisterHotelRS Object
Thông điệp trả
lời khi người
dùng muốn đăng
ký làm nhà cung
cấp dịch vụ

khách sạn.0
Msg_HotelBookRQ Object
Yêu cầu đặt dịch
vụ khách sạn
Msg_HotelBookRS Object
Thông tin về việc
đặt dịch vụ
34
Msg
_Hot
elAv
ailabi
lityR
Q
FromDate Time Thời gian bắt đầu
Cụ thể
thông điệp
kiểm tra
tính sẵn
sàng của
một dịch
vụ
ToDate Time
Thời gian kết
thúc
Domain String
Hotel: Thuộc linh
vực khách sạn
ServiceType String
Loại dịch vụ cần

kiểm tra tính sẵn
sàng
35
Msg
_Hot
elAv
ailabi
lityR
S
Domain String
Hotel: Thuộc lĩnh
vực khách sạn
ServiceType String
Loại dịch vụ đã
được kiểm tra
tính sẵn sàng
Result Boolean
Kết quả sau khi
kiểm tra
36 Msg
_Pub
lishH
otelS
ervic
Domain String
Hotel : lĩnh vực
khách sạn
ServiceName String Tên dịch vụ
24
eRQ

ServiceType String Loại dịch vụ
Description String
Miêu tả về dịch
vụ cần đăng ký
Price
Price
Chi phí nếu đặt
dịch vụ
IDService String
Mã dịch vụ cần
đăng ký lên hệ
thống
HotelName String
Tên Khách sạn
đăng ký ( là tên
đăng nhập của
HotelAgent)
37
Msg
_Pub
lishH
otelS
ervic
eRS
Result Boolean
Kết quả việc
đăng ký dịch vụ
trong hệ thống
38
Msg

_Alte
rHot
elSer
vice
RQ
Domain String
Lĩnh vực khách
sạn: Hotel
IDService String
Mã dịch vụ muốn
yêu cầu thay đổi
thông tin đã đăng
ký.
39 Msg
_Alte
rHot
elSer
vice
RS
Domain String
Hotel : lĩnh vực
khách sạn
ServiceName String
Tên dịch vụ thay
doi
ServiceType String Loại dịch vụ
Description String
Thong tin mieu ta
ve dịch vụ
Price Price Giá của dịch vụ

25

×