Lịch sử Các ngôn ngữ biểu diễn
(cid:132) Có nhiều kiểu ngôn ngữ khác nhau được sử dụng để
Bài 7 Ngôn ngữ và công cụ Ontology
hunglt@it-hut.edu.vn
biểu diễn các ontology • LOOM [MacGregor, 1991] • CyCL [Lenat & Guha, 1990] • F-Logic [Kifer, Lausen, Wu, 1995] • Conceptual Graphs [Sowa, 1993] • Ontolingua [Gruber, 1993] and KIF [Genesereth
&Fikes, 1992]
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
RDF Resource Description Frame
Các ngôn ngữ biểu diễn
(cid:132) Ngày nay có nhiều ngôn ngữ để biểu diễn các ontology hơn
(cid:132) RDF là mô hình đơn giản để mô tả các đối tượng
bằng bộ ba: Đối tượng - Thuộc tính - Giá trị
• RDF-Schema [Brickley, Guha, 98] • UML: Unified Modeling Language • OIL: Ontology Interchange and Inference [Horrockset al.,
00]
(cid:132) XOL: Ontology Exchange Language (cf.http://www.ai.sri.com/~pkarp/xol/)
• XRDFS: An Extensible Framework for Modelingontologies in
RDF(S) [Staab et al., 00]
(cid:132) RML - Rule Markup Language (http://www.dfki.uni-kl.de/ruleml/) (cid:132) OWL - Ontology Web Language
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
RDF
RDFS (RDF Schema)
Mô hình RDF không thể đủ cho dữ liệu lớn, có
nhiều mối quan hệ
(cid:132) Do số lượng các khái niệm rất lớn, có nhiều mối quan hệ nên đặt ra yêu cầu xây dựng thành từng lớp --> Xây dựng Ontology
(cid:132) RDFS dựa trên RDF để định nghĩa tập các lớp và
thuộc tính
(cid:132) Định nghĩa lớp
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
1
Định nghĩa thuộc tính RDFS
Định nghĩa 1cá thể RDFS
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
OWL (Web Ontology Language)
(cid:132) Được xây dựng từ RDFS và RDF bằng cách đưa thêm nhiều từ khoá để mô tả chi tiết hơn mối quan hệ
OWL
Semantics
Semantics
OWL
(cid:132) Dựa trên ngôn ngữ DAML + OIL (cid:132) Chia làm 3 mức: OWL Lite, OWL DL, OWL Full
RDF Schema
Syntax
Syntax
XML/DTD/XML Schemas
XML/DTD/XML Schemas
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
Định nghĩa lớp
Ontology sử dụng OWL là gì ?
OWL cung cấp các cú pháp để định nghĩa các
(cid:132) Ontology là một tập hợp các định nghĩa về ngữ nghĩa
xung quanh một lĩnh vực(domain) nào đó.
(cid:132) OWL là một tập các phần tử và thuộc tính
(cid:132)
lớp
(cid:132)
XML(elements and attributes) đã được chuẩn hoá
dùng để định nghĩa nên các khái niệm và quan hệ
giữa chúng. OWL được mở rộng từ RDF schema. />
(cid:132) Trong OWL một lớp có thể được định
nghĩa là một tập của các cá thể
(Individual) (cid:132) Owl cung cấp các phép toán như: hợp, giao, bù trong thao tác với lớp 2 (cid:132) Trong Owl có sự kế thừa giữa các lớp do đó (cid:132) Mỗi lớp trong Owl đều có các thuộc tính của nó các lớp con sẽ mang đầy đủ các thuộc tính của
lớp cha (cid:132) Trong mỗi lớp có thể định nghĩa giới hạn lại Range của thuộc tính cụ thể nào đó (cid:132) Mỗi thuộc tính đều có giá trị
(cid:132) Có hai loại thuộc tính (cid:132) Có các kiểu thuộc tính sau (cid:132) Thuộc tính kiểu Literal : String, int, (cid:132) Symmetric propety: thuộc tính kiểu đối …. xứng (cid:132) Thuộc tính kiểu Object (cid:132) Mỗi thuộc tính đều có Domain và (cid:132) Traisitive Property: thuộc tính kiểu bắc cầu
(cid:132) Functional Property: thuộc tính duy nhất
(cid:132) Inverse Property: thuộc tính kiểu đảo ngược
(cid:132) Inverse Funtional Property Range
(cid:132) Domain: chỉ ra thuộc tính thuộc về lớp nào (cid:132) Range: miền giá trị của thuộc tính (cid:132) DataProperty (cid:132) Mềm dẻo(Extensible): Với OWL dễ dàng hơn nhiều khi thêm một thuộc tính mới. Còn
DataBase nếư bạn thêm một cột mới, có thể sẽ
ảnh hưởng tới các Application khác. rdf:resource="http://www.w3.org/2001/XMLSchema#nonNe
gativeInteger"/> (cid:132) Linh động(Portable): dễ di chuyển 1 tài liệu OWL hơn là di chuyển DataBase (cid:132) ObjectProperty (cid:132) Phù hợp với thế giới thực, bởi ở thế giới thực mọi thứ có thể bị thay đổi. XML XML (cid:132) OWL sử dụng cú pháp của XML mô tả ngữ nghĩa
(cid:132) Các Tools thông thường của XML có thể sử dụng cho OWL (cid:132) XSLT, XML APIs (SAX, DOM), XQuery, ... 3 Hạn chế của các ngôn ngữ trước đây. (cid:132) Camera Application đang tìm kiếm
những document thỏa mãn yêu cầu
với những đặc điểm quan trọng sau: (cid:132) “I am interested in purchasing a
Camera with a 75-300mm zoom
lens size, that has an aperture of
4.5-5.6, and a shutter speed that
ranges from 1/500 sec. to 1.0 sec”.
Ví dụ: Xây dựng Demo Camera Ontology OWL Camera
Application OWL
Genie Input Data Application Output Data Truy vấn này có thể biểu diễn bằng XML: xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> A Web Bot is launched to
find camera info. The Bot
finds this document at a
Web site: 4 xmlns:rdf="&rdf;#"> xmlns="http://www.camera.org#"> xmlns="http://www.camera.org#">
xmlns="http://www.camera.org#"> xmlns="http://www.camera.org#">
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
Khai báo các thuộc tính
Khai báo các thuộc tính
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
Ưu điểm OWL so với Database
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
Khắc phục nhược điểm của
XML
Ưu điểm của Ontology OWL
app#1
Action: Code to
process the data
app#2
Action: Code to
process the data
OWL Document
Semantic Definitions
app#1
Semantics: Code
to interpret(giải thích) the data
Action: Code to
process the data
app#2
Semantics: Code
to interpret the data
Action: Code to
process the data
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
Ví dụ ta có kịch bản sau:
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
Mô hình hệ thống
Hunts.xml
Ontology(. OWL)
Camera
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
Ta có một tài liệu
xmlns="http://www.camera.org#">
xmlns="http://www.camera.org#">
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
Relationship?
A Match?
Match?
Chi tiết
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
Database = Ontology + Instances
Các Tool xây dựng Ontology
(cid:132) OntoEdit (cid:132) Protégé-2000 Ontology Editor (cid:132) Text-To-Onto (cid:132) Asium
My Life and Times
Paul McCartney
June, 1998
Illusions
Richard Bach
1972
First and Last Freedom
J. Krishnamurti
1974
BookCatalogue
author date title
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
C. Xây dựng Ontology của hệ thống
Protégé-2000 Ontology Editor
(cid:132) Trong hệ thống này chúng ta sẽ xây dựng Ontology mô tả quá trình khám chữa bênh của bệnh nhân
(cid:132) Tất cả các đối tượng như Bệnh Nhân, Bác Sĩ, Hồ sơ bệnh án, Bệnh .. đều được tạo thành các lớp trong các file OWL riêng biệt
(cid:132) Các lớp này có sự kế thừa lẫn nhau (cid:132) Giao diện và Database cũng được định
nghĩa sẵn trong Ontology
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
5
Thiết kế hệ thống Ontology
Thiết kế hệ thống Ontology
(cid:137) Quy trình xây dựng
(cid:137) Phương pháp luận
(cid:137)Xác định lĩnh vực và phạm vi của
Ontology
(cid:137)Tái sử dụng Ontology (cid:137)Xác định các khái niệm quan trọng (cid:137)Định nghĩa các lớp và cấu trúc phân cấp (cid:137)Xác định các thuộc tính cho các lớp (cid:137)Xác định các giá trị cho các thuộc tính
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
Resource
Person Documents Organization Medicine
Top-Level
Thiết kế hệ thống Ontology
(cid:137) Mô hình tổng quan (cid:137) Mô hình chi tiết
Patient Khoa Thuốc Xét nghiệm Provider Đơn thuốc Hội chứng
Middle-Level
(cid:137) Person Ontologies (cid:137) Document Ontologies (cid:137) Medicine Ontologies (cid:137) Organization Ontologies
Bottom-Level
Quan hệ cha -con
Khái niệm (C)
Quan hệ khái niệm – thực thể
Quan hệ ràng buộc
Cá thể (I)
Triệu Chứng Individu al Individu al Individu al Thể hiện
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
Document Medicine Person Organization Medicine
Phiếu xét nghiệm Phiếu khám Bệnh lịch Đơn thuốc Thuốc Patient Provider Department Action
Nurse Doctor Physician Nhập viện Chuyển Khoa/Viện Xuất viện Hoá đơn Daily Note
Documents Ontologies
Xét nghiệm Indiviual Indiviual Indiviual Indiviual
Person & Organization Ontologies
(c) SE/FIT/HUT 2002
(c) SE/FIT/HUT 2002
6
Medicine
Action Nhóm thuốc Bệnh án Hội chứng Nhóm triệu chứng
Ảnh Nhóm xét nghiệm Bệnh Thể hiện Thuốc
Xét nghiệm Triệu chứng Indiviual
Medicine Ontologies
Indiviual Indiviual
(c) SE/FIT/HUT 2002
7

