Bài 5<br />
Ontology – Bản thể học<br />
<br />
I. Khái niệm<br />
II. Mô tả<br />
III. Ứng dụng<br />
<br />
1. Mục đích<br />
Để chia sẽ hiểu biết về cấu trúc của thông tin<br />
giữa con người và các Agent.<br />
Để có thể tái sử dụng tri thức trong lĩnh vực đó.<br />
Làm cho lĩnh vực rõ ràng, tạo điều kiện thay<br />
đổi khi tri thức về lĩnh vực thay đổi<br />
Tách rời tri thức lĩnh vực và tri thức xử lí.<br />
Để phân tích tri thức.<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
2.Các khái niệm cơ bản<br />
What is an ontology?<br />
The word ontology comes from the Greek ontos for<br />
being and logos for word<br />
Ontology : A common vocabulary and agreed upon<br />
meanings to describe a subject domain.<br />
Ontology là định nghĩa hình thức một cách rõ ràng của<br />
các khái niệm trong một lĩnh vực và mối liên quan giữa<br />
các khái niệm này. Nói cách khác Ontology là sự mã<br />
hoá các tri thức trong một lĩnh vực nhất định.<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
Bản chất ontology<br />
Định nghĩa trái ngược nhau<br />
Các khái niệm trong một lĩnh vực nào đó (được định<br />
nghĩa như một lớp đôi khi vẫn gọi là các khái niệm),<br />
Các giá trị của từng khái niệm mô tả các đặc điểm và<br />
các thuộc tính của khái niệm đó (vị trí đôi khi được<br />
coi là vai trò hay giá trị),<br />
Sự giới hạn cho các vị trí (các khía cạnh đôi khi<br />
được gọi là giới hạn của vai trò).<br />
Ontology là một tập các thể hiện đặc biệt của các lớp<br />
tạo thành cơ sở tri thức.<br />
(c) SE/FIT/HUT 2002<br />
<br />
Định nghĩa<br />
Ontology là một mô tả hình thức rõ ràng của một khái<br />
niệm (Gruber 1993)<br />
Ontology định nghĩa và mô tả các thuật ngữ trong một<br />
lĩnh vực tri thức (W3C)<br />
Ontology là mô tả chi tiết của các khái niệm trong<br />
một lĩnh vực, đặc điểm của các khái niệm đó và các<br />
ràng buộc phải tuân theo. (Natylia F.Noy and Deborah<br />
L.McGuiness)<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
3. Phân loại Ontology<br />
Vocabulary specification<br />
Domain theory<br />
Conceptual schema (for a data base)<br />
Class-subclass taxonomy ( phân loại)<br />
Object schema<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
1<br />
<br />
Chia sẻ từ vựng<br />
Shared vocabulary<br />
Mức thấp trong giao tiếp giữa các Agent:<br />
Chia sẻ từ vựng<br />
Đảm bảo tính thống nhất tránh nhầm lẫn:<br />
Ví dụ<br />
shipper: date merchandise shipped<br />
receiver: date merchandise received<br />
<br />
Định nghĩa về 1 lĩnh vực<br />
Domain theory<br />
Đưa ra định nghĩa về các chủ đề trong 1<br />
lĩnh vực, ý nghĩa thỏa thuận<br />
list of terms with agreed meaning<br />
shipper-ontology != receiver-ontology<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
Conceptual Schema<br />
Sơ đồ nguyên lý<br />
<br />
Cấu trúc - Taxonomy<br />
Ontology: các khái niệm được định nghĩa như lớp<br />
và được mô tả dưới các đặc điểm và các thuộc tính<br />
của khái niệm đó<br />
Ontology là một tập các thể hiện đặc biệt của các lớp<br />
tạo thành cơ sở tri thức<br />
Một lớp có thể có các lớp con mô tả các khái niệm<br />
chi tiết hơn các lớp trên<br />
<br />
Sơ đồ nguyên lý: sơ đồ<br />
mô tả ý nghĩa mong<br />
muốn của các nguyên lý<br />
sử dụng trong CSDL<br />
<br />
Ví dụ, một lớp rượu mô tả toàn bộ các loại rượu. chúng ta<br />
có thể phân chia rượu ra thành rượu đỏ, trắng, hồng. Một<br />
sự lựa chọn khác chúng ta có thể phân chia rượu ra thành<br />
có ga và không ga.<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
Toy taxonomy of Living beings<br />
<br />
Object Schema<br />
Các vai trò mô tả các giá trị và các thể hiện của một<br />
lớp.<br />
Ví dụ, rượu Hà Nội có đầy đủ thành phần, nó được sản<br />
xuất tại nhà máy rượu Hà Nội.<br />
Ở mức lớp chúng ta có thể nói các thể hiện của lớp rượu có<br />
các thể hiện mô tả thành phần, nơi sản xuất, mùi vị ... của<br />
chúng.<br />
<br />
Tất cả các thể hiện của lớp rượu, và lớp con của nó<br />
Rượu Hà nội, có một giá trị về nơi sản xuất, nó là một<br />
thể hiện của lớp Nhà máy rượu. Tất cả các thể hiện của<br />
lớp nhà máy rượu có một giá trị các sản phẩm rượu mà<br />
nhà máy đó sản xuất.<br />
(c) SE/FIT/HUT 2002<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
2<br />
<br />
Example<br />
<br />
II. Phát triển một ontology ?<br />
Dog<br />
Company<br />
<br />
Person<br />
<br />
Vehicle<br />
type<br />
<br />
type<br />
type<br />
<br />
type<br />
Toyota 853<br />
isOwned<br />
Ford 243<br />
<br />
type<br />
Rover<br />
<br />
Berizon<br />
<br />
George owns<br />
<br />
Định nghĩa các lớp trong một ontology.<br />
Sắp xếp các lớp theo một trật tự.<br />
Định nghĩa các vị trí và mô tả các giá trị cho phép<br />
đối với các vị trị đó.<br />
Điền giá trị cho các vị trí cho các thể hiện.<br />
Chúng ta có thể tạo một cơ sở tri thức bằng cách<br />
định nghĩa các thể hiện đặc biệt của các lớp thông<br />
qua điền các giá trị thông tin và các giới hạn cho các<br />
vị trí.<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
Lớp trong ontology<br />
lớp là trọng tâm của hầu hết các ontology.<br />
Lớp miêu tả các khái niệm trong lĩnh vực quan tâm.<br />
Ví dụ, một lớp rượu mô tả toàn bộ các loại rượu.<br />
Các loại rượu đặc biệt là các thể hiện của lớp này.<br />
Một lớp có thể có các lớp con mô tả các khái niệm<br />
chi tiết hơn các lớp trên.<br />
Ví dụ, chúng ta có thể phân chia rượu ra thành rượu<br />
đỏ, trắng, hồng. Một sự lựa chọn khác chúng ta có<br />
thể phân chia rượu ra thành có ga và không ga.<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
thiết kế ontology được bắt nguồn<br />
từ thiết kế hướng đối tượng?<br />
phát triển ontology là rất khác biệt so với thiết kế lớp<br />
và các quan hệ trong lập trình hướng đối tượng.<br />
Lập trình hướng đối tượng tập trung vào các phương<br />
thức của một lớp, một người lập trình có thể lựa<br />
chọn thiết kế dựa trên thuộc tính hoạt động của một<br />
lớp,<br />
thiết kế ontology dựa trên thuộc tính cấu trúc của<br />
một lớp. Kết quả là, cấu trúc và quan hệ của các lớp<br />
trong ontology khác biệt với cấu trúc của lĩnh vực<br />
tương ứng trong lập trình hướng đối tượng.<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
Phân loại trong thiết kế<br />
Implicit vs. Explicit Ontologies<br />
<br />
Các hệ thống liên hệ và làm việc với nhau bắt<br />
buộc phải chia sẻ Ontology của mình<br />
Ontology chia làm 2 loại: implicit or explicit.<br />
Implicit ontology: thường được biểu diễn chỉ<br />
trong các thủ thục<br />
Explicit ontologies:biểu diễn đặc tả định<br />
nghĩa nên tri thức thường dưới dạng các ngôn<br />
ngữ mô tả tri thức<br />
(c) SE/FIT/HUT 2002<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
Conceptualizations, Vocabularies<br />
and Axiom itization<br />
3 dạng đặc thù của explicit ontologies<br />
Conceptualization involves the underlying model of the<br />
domain in terms of objects, attributes and relations.<br />
Vocabulary involves assigning symbols or terms to refer to<br />
those objects, attributes and relations.<br />
Axiomitization: Bao gồm các luật được mã hóa và các ràng<br />
buộc có thể mô tả đặc thù của mô hình domain<br />
<br />
2 ontology có thể<br />
Dựa trên các nguyên lý khác nhau<br />
Dựa trên cùng nguyên lý nhưng sử dụng từ vựng khác nhau<br />
Phân biệt dự trên mức độ tiên đề hóa của chúng<br />
(c) SE/FIT/HUT 2002<br />
<br />
3<br />
<br />
Mô tả hình thức<br />
the systematic, formal, axiomatic development of the logic of all<br />
forms and modes of being [Guarino and Giaretta, 1995].<br />
<br />
Tính chất<br />
Ontology có tính hình thức:<br />
ngữ nghĩa được định nghĩa rõ ràng hoặc có cơ sở toán học cho ý nghĩa của<br />
chúng.<br />
<br />
Ontology cung cấp khả năng đọc hiểu cho con người.<br />
chúng có thể được phát triển, chia sẻ, hiểu bởi không chỉ các chương trình máy<br />
tính mà còn bởi các người dùng, các chuyên gia và người thiết kế ontology về<br />
lĩnh vực đó.<br />
<br />
Ontology là sự toàn diện.<br />
Chúng được thiết kế với mục đích có được ý nghĩa đầy đủ của các khái niệm giao<br />
dịch được yêu cầu.<br />
tất cả ý nghĩa của các khái niệm được thu tóm trong ontology thì nó có thể được<br />
hiểu, thay đổi, kiểm soát bởi bất kì ai có liên quan đến lĩnh vực đó.<br />
Nó trở thành một mô tả sống và là một tài nguyên có giá trị khi các hệ thông ứng<br />
dụng sử dụng và phát triển nó.<br />
<br />
Ontology có thể chia sẻ.<br />
kết hợp các ontology được phát triển riêng rẽ, sử dụng chúng để cho phép giao<br />
tiếp giữa các hệ thống thông tin cần chia sẽ thông tin dựa trên các khái niệm<br />
chung.<br />
<br />
Một ontology là một bộ 5: O:=(C,R,Hc,rel,Ao) trong<br />
đó<br />
Hai tập C(concept),R(relation) phần tử ứng với một<br />
khái niệm hoặc một mối quan hệ<br />
Một cây phân cấp các khái niệm Hc(hierirchy) : Hc ⊆<br />
CxC biểu diễn một mối quan hệ trực tiếp và bắc cầu.<br />
Hc(C1,C2) biểi diễn C1 là khái niệm con của C2.<br />
Một hàm rel : R→CxC biểu diễn các mối quan hệ<br />
không hình thành cây phân cấp<br />
Ao tập các tiên đề được biểu diễn bằng một ngôn ngữ<br />
logic thích hợp<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
Ứng dụng của Ontology<br />
<br />
Ví dụ<br />
<br />
Web Portal<br />
Tìm kiếm multimedia<br />
Quản lý nội dung các Website lớn<br />
Thiết kế các tài liệu<br />
Các Agents<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
III. Ứng dụng Ontology trong hệ<br />
Agent<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
Web Portal<br />
<br />
Các Agent dùng Ontology để làm tri thức cho<br />
việc xử lý thông tin<br />
Các Agent có thể sử dụng Ontology làm ngôn<br />
ngữ để trao đổi thông tin<br />
Các Agent có thể truy xuất thông tin từ nhiều<br />
Ontology độc lập để giải quyết bài toán<br />
<br />
Là trang web cung cấp các thông tin về một<br />
chủ đề nào đó: ví dụ như về một thành phố cụ<br />
thể hoặc về một sở thích cá nhân<br />
Ontology cung cấp khả năng định nghĩa và<br />
mô tả các thuật ngữ trong lĩnh vực nên cho<br />
phép khả năng tìm kiếm thông tin mạnh hơn<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
4<br />
<br />
Tìm kiếm Multimedia<br />
Ontology cung cấp các mô tả ngữ nghĩa bằng<br />
text cho các dữ liệu âm thanh, hình ảnh v.v...<br />
để thuận lợi cho việc tìm kiếm<br />
Multimedia Ontology gồm 2 loại<br />
Loại mô tả các dữ liệu media<br />
Loại mô tả nội dung các dữ liệu<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
Thiết kế các tài liệu<br />
Trong một số lĩnh vực như hàng không cần<br />
xây dựng một lượng lớn các tài liệu.<br />
Có thể xây dựng một ontology các thuật ngữ<br />
trong lĩnh vực. Từ các thuật ngữ đó sẽ có<br />
tham chiếu đến các tài liệu có liên quan<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
Quản lý nội dung Website<br />
Web site của các tổ chức lớn thường chứa<br />
nhiều loại thông tin. Ontology có thể giúp<br />
phân loại thông tin giúp cho việc tìm kiếm<br />
thông tin.<br />
Mỗi đối tượng sử dụng sẽ chỉ quan tâm đến<br />
một phần của dữ liệu và có một ontology<br />
riêng. Các ontology này có thể có phần trùng<br />
nhau giúp cho việc dịch các thuật ngữ<br />
(c) SE/FIT/HUT 2002<br />
<br />
Kết luận Ontology<br />
( Bachimont )<br />
Một ontology là kết quả của mô<br />
hình hoá.<br />
Việc mô hình hoá liên quan đến<br />
việc đặc trưng hoá các từ gốc biểu<br />
diễn tri thức<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
Một ontology được đặc trưng theo<br />
3 mức<br />
Mức ngữ nghĩa<br />
ontology là 1 cây khái niệm. Nó được đặc trưng bởi các từ mà sự<br />
thông dịch chúng bị ràng buộc bởi nhiều nguyên tắc khác nhau.<br />
Những nguyên tắc này tương ứng với các chuyển giao ngữ nghĩa vì<br />
thế các từ này không nhập nhằng và không phụ thuộc ngữ cảnh..<br />
<br />
Ontology Enginerring<br />
<br />
Mức mô tả đặc điểm<br />
ontology là 1 lưới các khái niệm mẫu. Các khái niệm này được đặc<br />
trưng bởi các từ mà ý nghĩa của chúng được trình bày rõ ở phần mở<br />
rộng của đối tượng.<br />
<br />
Mức thao tác<br />
ontology là 1 lưới các khái niệm tính toán. Các khái niệm này được<br />
đặc trưng bởi các hành động thực hiện trên chúng .<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
5<br />
<br />