Integrazione di ontologie su un sistema a regole: un caso di studio

38
UNIVERSITÀ DEGLI STUDI DI BARI FACOLTÀ DI SCIENZE MM.FF.NN CORSO DI LAUREA TRIENNALE IN INFORMATICA Relatrice: Chiar.ma Prof.ssa F. Esposito Integrazione di ontologie su un sistema a regole: un caso di studio Correlatrice: Dott.ssa F. A. Lisi Tesi di Laurea di: Maria Pia De Marzo Anno Accademico 2007/2008

Transcript of Integrazione di ontologie su un sistema a regole: un caso di studio

Page 1: Integrazione di ontologie su un sistema a regole: un caso di studio

UNIVERSITÀ DEGLI STUDI DI BARI

FACOLTÀ DI SCIENZE MM.FF.NNCORSO DI LAUREA TRIENNALE IN INFORMATICA

Relatrice: Chiar.ma Prof.ssa F. Esposito

Integrazione di ontologie su un sistema a regole: un caso di studio

Correlatrice:Dott.ssa F. A. Lisi

Tesi di Laurea di:Maria Pia De Marzo

Anno Accademico 2007/2008

Page 2: Integrazione di ontologie su un sistema a regole: un caso di studio

• L’OntologiaL’Ontologia. Nasce nell’ambito della filosofia – Lo studio della realtà e della natura delle cose

• Le ontologieLe ontologie.Nel campo dell’informatica:– La definizione è molto più ristretta–“Un’ontologia è un’esplicita specificazione di una concettualizzazione”

T. R. Gruber. A translation approach to portable ontologies.

Knowledge Acquisition, 5(2):199-220, 1993

Le ontologieIn

tegr

azio

ne d

i ont

olog

ie su

un

sist

ema

a re

gole

: un

caso

di s

tudi

o

Page 3: Integrazione di ontologie su un sistema a regole: un caso di studio

Specifica del W3C per definire ontologie- Basato su RDF

- Comprende tre linguaggi, di espressività crescente

OWL – Ontology Web LanguageIn

tegr

azio

ne d

i ont

olog

ie su

un

sist

ema

a re

gole

: un

caso

di s

tudi

o

XML

RDF

RDF(S)

OWL

Syntax

Semantics

Page 4: Integrazione di ontologie su un sistema a regole: un caso di studio

Sviluppato dalla Standford Medical Informatics Per creare, memorizzare, visualizzare e gestire basi di conoscenza Open-source Implementato in Java Interoperabile Estensibile Vari formati di esportazione Interfacciamento con sistemi di controllo automatici

Consistency checking: per ogni classe, può esistere almeno un individuo appartenente a tale classe?

Protègè: un editor per ontologieIn

tegr

azio

ne d

i ont

olog

ie su

un

sist

ema

a re

gole

: un

caso

di s

tudi

o

Page 5: Integrazione di ontologie su un sistema a regole: un caso di studio

Architettura di ProtègèIn

tegr

azio

ne d

i ont

olog

ie su

un

sist

ema

a re

gole

: un

caso

di s

tudi

o

Page 6: Integrazione di ontologie su un sistema a regole: un caso di studio

Cosa sono le regoleIn

tegr

azio

ne d

i ont

olog

ie su

un

sist

ema

a re

gole

: un

caso

di s

tudi

o

Una regola è un tipo di istruzione o comando che viene applicato in una certa situazione Statement if-then

IF IF premessa/condizione

THENTHEN conclusione/azione

Page 7: Integrazione di ontologie su un sistema a regole: un caso di studio

I sistemi a regoleIn

tegr

azio

ne d

i ont

olog

ie su

un

sist

ema

a re

gole

: un

caso

di s

tudi

o

Base di conoscenza

[regole]

Motore inferenziale

Agenda

Memoria di lavoro [fatti]

Interfaccia utente

– Rappresentano la più semplice forma di intelligenza artificiale (AI) usata in ambito informatico

– Sono stati concepiti per una classe di applicazioni particolari (sistemi esperti o expert systems).

CLIPSCLIPS - 1984. Johnson Space Center della NASA- Software libero

JessJess- 1990. Sandia National Laboratories- Ispirato dal modello di CLIPS

- Implementato in Java

Page 8: Integrazione di ontologie su un sistema a regole: un caso di studio

I sistemi ibridiIn

tegr

azio

ne d

i ont

olog

ie su

un

sist

ema

a re

gole

: un

caso

di s

tudi

o

Un sistema a regole codifica conoscenza per mezzo delle regole Le ontologie concettualizzano un dominio di interesse

E’ possibile integrare le due componenti in un’unica soluzione Definire le restrizioni che coinvolgono più di una proprietà Dedurre automaticamente le classi basate sulla composizioni di proprietà

Page 9: Integrazione di ontologie su un sistema a regole: un caso di studio

SWRL - Semantic Web Rule LanguageIn

tegr

azio

ne d

i ont

olog

ie su

un

sist

ema

a re

gole

: un

caso

di s

tudi

o Tutte le regole sono espresse in termini di concetti OWL (classi, proprietà, individui)

Regole come parte integrante dell’ontologia Regole nella seguente formula:

a1 ٨… ٨ an → b1 ٨. . . ٨ bk

Ad esempio:

Persona(?p) ٨ haBambino (?p,?s)٨ Femmina(?s) -> haFiglia(?p,?s)

In Protègè-OWL, SWRL è supportato dal plugin: SWRLJessTab integra il motore inferenziale di Jess asserisce nuovi fatti nella base di conoscenza

Page 10: Integrazione di ontologie su un sistema a regole: un caso di studio

SWRL e le queryIn

tegr

azio

ne d

i ont

olog

ie su

un

sist

ema

a re

gole

: un

caso

di s

tudi

o

SWRL non è un linguaggio per regole ma.. ..una regola può esser vista come una “query congiuntiva” Con l’uso di built-ins si può ottenere un’estensione di SWRL

simile a un linguaggio per interrogazioneAd esempio:Persona(?p) ٨ haEtà(?p,?a) ٨ swrlb:lessThan(?a,5) → query:select(?p,?a)

In Protègè-OWL è supportato dal plugin : SWRLQueryTab metodo per interrogare l’ontologia non prevede la creazione di nuova conoscenza

Page 11: Integrazione di ontologie su un sistema a regole: un caso di studio

“Studio delle ontologie e dei sistemi basati su regole e degli strumenti che consentono di integrarli, applicati

ad un dominio applicativo reale”

Inte

graz

ione

di o

ntol

ogie

su u

n si

stem

a a

rego

le: u

n ca

so d

i stu

dio

Il caso di studio

Obiettivo

1. Pro e i contro dei sistemi a regole.2. Pro e i contro delle ontologie.3. Pro e contro di un approccio ibrido.

Page 12: Integrazione di ontologie su un sistema a regole: un caso di studio

La pesca sportiva.La pesca sportiva.

Perché: Comporta un processo decisionale basato

su esperienza La conoscenza del dominio può essere

formalizzata Esiste un ragionamentoIn

tegr

azio

ne d

i ont

olog

ie su

un

sist

ema

a re

gole

: un

caso

di s

tudi

o

Il dominio applicativo

Page 13: Integrazione di ontologie su un sistema a regole: un caso di studio

Opera in forward (da un fatto conosciuto verso un goal specifico) Usa i fattori di certezza (Certainty Factors)

CF[h,e’] = MB[h,e’’] – MD[h,e’’’] Fornisce delle plausibili interpretazione di quello che i dati sembrano indicare Demo

Cos’è FishingHelper?In

tegr

azio

ne d

i ont

olog

ie su

un

sist

ema

a re

gole

: un

caso

di s

tudi

o

Sistema esperto per il supporto alle decisioni, implementato in CLIPS Base di conoscenza costituita da circa 500 regole

Caratteristiche:Caratteristiche:

Page 14: Integrazione di ontologie su un sistema a regole: un caso di studio

Cos’è OntoFishing?

Caratteristiche:Caratteristiche:

Ontologia costruita con Protègè-OWL PluginBase di conoscenza costituita da:

93 classi con 95 restrizioni 22 proprietà (object e datatype) 116 istanze

Controllo della consistenza mediante il ragionamento automatico:

usa come reasoner PelletDemo

Inte

graz

ione

di o

ntol

ogie

su u

n si

stem

a a

rego

le: u

n ca

so d

i stu

dio

Page 15: Integrazione di ontologie su un sistema a regole: un caso di studio

Inte

graz

ione

di o

ntol

ogie

su u

n si

stem

a a

rego

le: u

n ca

so d

i stu

dio Caratteristiche:Caratteristiche:

Estensione dell’ontologia OntoFishing con SWRL Costituito da 20 regole

regole deduttive regole di interrogazione

Ragionamento deduttivo mediante Jess Uso del plugin SWRL Rules da Protègè-OWL:

SWRLJessTab SWRLQueryTab

Demo

Cos’è RuleFishingHelper?

Page 16: Integrazione di ontologie su un sistema a regole: un caso di studio

Conclusioni

Tre prototipi software: FishingHelper, OntoFishing,

RuleFishingHelper

Ciascun prototipo ha delle caratteristiche diverse e soffre di

limiti proprie del sottostante livello di conoscenza.

L’approccio ibrido coniuga le caratteristiche dei sistemi a regole

e ontologie.

L’attuale orientamento è indirizzato verso le ontologie integrate

con le regole (ad esempio il Semantic Web).

Inte

graz

ione

di o

ntol

ogie

su u

n si

stem

a a

rego

le: u

n ca

so d

i stu

dio

Page 17: Integrazione di ontologie su un sistema a regole: un caso di studio

Integrazione di ontologie su un sistema a regole: un caso di studio

Grazie per l’attenzione

Maria Pia De Marzo

Inte

graz

ione

di o

ntol

ogie

su u

n si

stem

a a

rego

le: u

n ca

so d

i stu

dio

Page 18: Integrazione di ontologie su un sistema a regole: un caso di studio

Inte

graz

ione

di o

ntol

ogie

su u

n si

stem

a a

rego

le: u

n ca

so d

i stu

dio

FishingHelper

Page 19: Integrazione di ontologie su un sistema a regole: un caso di studio

FishingHelper - domande

Page 20: Integrazione di ontologie su un sistema a regole: un caso di studio

FishingHelper - domande

Page 21: Integrazione di ontologie su un sistema a regole: un caso di studio

FishingHelper - domande

Page 22: Integrazione di ontologie su un sistema a regole: un caso di studio

FishingHelper – il risultato

Page 23: Integrazione di ontologie su un sistema a regole: un caso di studio

FishingHelper

Page 24: Integrazione di ontologie su un sistema a regole: un caso di studio

OntoFishing - Classi

Page 25: Integrazione di ontologie su un sistema a regole: un caso di studio

OntoFishing – Proprietà Object

Page 26: Integrazione di ontologie su un sistema a regole: un caso di studio

OntoFishing – Proprietà Datatype

Page 27: Integrazione di ontologie su un sistema a regole: un caso di studio

OntoFishing - Istanze

Page 28: Integrazione di ontologie su un sistema a regole: un caso di studio

OntoFishing – Consistency Checking

Page 29: Integrazione di ontologie su un sistema a regole: un caso di studio

RuleFishingHelper

Page 30: Integrazione di ontologie su un sistema a regole: un caso di studio

RuleFishingHelper

Page 31: Integrazione di ontologie su un sistema a regole: un caso di studio

RuleFishingHelper

Page 32: Integrazione di ontologie su un sistema a regole: un caso di studio

RuleFishingHelper

Page 33: Integrazione di ontologie su un sistema a regole: un caso di studio

RuleFishingHelper

Page 34: Integrazione di ontologie su un sistema a regole: un caso di studio

34

RuleFishingHelper

Page 35: Integrazione di ontologie su un sistema a regole: un caso di studio

RuleFishingHelper

Page 36: Integrazione di ontologie su un sistema a regole: un caso di studio

RuleFishingHelper - query

Page 37: Integrazione di ontologie su un sistema a regole: un caso di studio

RuleFishingHelper - query

Page 38: Integrazione di ontologie su un sistema a regole: un caso di studio

RuleFishingHelper - query