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

Joe Blog 24 PhD

(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) Lớp con của một 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,

(c) SE/FIT/HUT 2002

(c) SE/FIT/HUT 2002

giao, bù trong thao tác với lớp

2

Khai báo các thuộc tính

Khai báo các thuộc tính

(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

(c) SE/FIT/HUT 2002

(c) SE/FIT/HUT 2002

Ưu điểm OWL so với Database

(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.

(c) SE/FIT/HUT 2002

(c) SE/FIT/HUT 2002

XML

Khắc phục nhược điểm của XML

Ưu điểm của Ontology OWL

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

app#1 Action: Code to process the data

app#2 Action: Code to process the data

(cid:132) XSLT, XML APIs (SAX, DOM), XQuery, ...

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

3

Hạn chế của các ngôn ngữ trước đây.

Ví dụ ta có kịch bản sau:

(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”.

xmlns="http://www.camera.org#"> 75-300mm zoom 4.5-5.6 75-300mm zoom 4.5-5.6 0.002 1.0 seconds 0.002 1.0 seconds

325 USD

(c) SE/FIT/HUT 2002

(c) SE/FIT/HUT 2002

Ví dụ: Xây dựng Demo Camera Ontology

Mô hình hệ thống

OWL

Hunts.xml

Camera Application

OWL Genie

Input Data

Application

Output Data

Ontology(. OWL) Camera

(c) SE/FIT/HUT 2002

(c) SE/FIT/HUT 2002

Ta có một tài liệu

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#">

xmlns="http://www.camera.org#">

Malden, MA 617-555-1234

xmlns="http://www.camera.org#">

A Web Bot is launched to find camera info. The Bot finds this document at a Web site:

75-300mm zoom 4.5-5.6

75-300mm zoom 4.5-5.6

0.002 1.0 seconds

0.002 1.0 seconds

325 USD

(c) SE/FIT/HUT 2002

(c) SE/FIT/HUT 2002

4

Relationship?

A Match?

xmlns:rdf="&rdf;#">

xmlns="http://www.camera.org#">

Malden, MA 617-555-1234

xmlns="http://www.camera.org#">

xmlns="http://www.camera.org#">

xmlns="http://www.camera.org#">

75-300mm zoom 4.5-5.6

75-300mm zoom 4.5-5.6

75-300mm zoom 4.5-5.6

75-300mm zoom 4.5-5.6

Match?

0.002 1.0 seconds

0.002 1.0 seconds

0.002 1.0 seconds

0.002 1.0 seconds

325 USD

325 USD

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

My Life and Times Paul McCartney June, 1998

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