SlideShare a Scribd company logo
1 of 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
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Le ontologie Integrazione di ontologie su un sistema a regole: un caso di studio
[object Object],[object Object],[object Object],OWL –  O ntology  W eb  L anguage Integrazione di ontologie su un sistema a regole: un caso di studio XML RDF RDF(S) OWL Syntax Semantics
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Protègè: un editor per ontologie Integrazione di ontologie su un sistema a regole: un caso di studio
Architettura di Protègè Integrazione di ontologie su un sistema a regole: un caso di studio
Cosa sono le regole Integrazione di ontologie su un sistema a regole: un caso di studio ,[object Object],[object Object],IF  premessa/condizione  THEN   conclusione/azione
I sistemi a regole Integrazione di ontologie su un sistema a regole: un caso di studio –  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). CLIPS   -  1984. Johnson Space  Center della NASA - Software libero Jess - 1990. Sandia National Laboratories - Ispirato dal modello di CLIPS   - Implementato in Java Base di conoscenza [regole] Motore inferenziale Agenda Memoria di lavoro [fatti] Interfaccia utente
I sistemi ibridi Integrazione di ontologie su un sistema a regole: un caso di studio ,[object Object],[object Object],[object Object],[object Object],[object Object]
SWRL -  S emantic  W eb  R ule  L anguage Integrazione di ontologie su un sistema a regole: un caso di studio ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SWRL e le query Integrazione di ontologie su un sistema a regole: un caso di studio ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
“ Studio delle ontologie e dei sistemi basati su regole e degli strumenti che consentono di integrarli, applicati ad un dominio applicativo reale” Integrazione di ontologie su un sistema a regole: un caso di studio Il caso di studio Obiettivo ,[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],Integrazione di ontologie su un sistema a regole: un caso di studio Il dominio applicativo
[object Object],[object Object],[object Object],[object Object],[object Object],Cos’è FishingHelper? Integrazione di ontologie su un sistema a regole: un caso di studio ,[object Object],[object Object],Caratteristiche:
Cos’è OntoFishing? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Cos’è RuleFishingHelper?
Conclusioni ,[object Object],[object Object],[object Object],[object Object],Integrazione di ontologie su un sistema a regole: un caso di studio
Maria Pia De Marzo Integrazione di ontologie su un sistema a regole: un caso di studio Grazie per l’attenzione Integrazione di ontologie su un sistema a regole: un caso di studio
FishingHelper  Integrazione di ontologie su un sistema a regole: un caso di studio
FishingHelper - domande
FishingHelper - domande
FishingHelper - domande
FishingHelper – il risultato
FishingHelper
OntoFishing - Classi
OntoFishing – Proprietà Object
OntoFishing – Proprietà Datatype
OntoFishing - Istanze
OntoFishing – Consistency Checking
RuleFishingHelper
RuleFishingHelper
RuleFishingHelper
RuleFishingHelper
RuleFishingHelper
RuleFishingHelper
RuleFishingHelper
RuleFishingHelper - query
RuleFishingHelper - query
RuleFishingHelper - query

More Related Content

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

Semantic Web e Linked Open Data - Parte I
Semantic Web e Linked Open Data - Parte ISemantic Web e Linked Open Data - Parte I
Semantic Web e Linked Open Data - Parte ICristiano Longo
 
(draft) perl e bioinformatica - presentazione per ipw2008
(draft) perl e bioinformatica - presentazione per ipw2008(draft) perl e bioinformatica - presentazione per ipw2008
(draft) perl e bioinformatica - presentazione per ipw2008Giovanni Marco Dall'Olio
 
Architetture Distribuite per la Creazione e lo Sfruttamento della Conoscenza,...
Architetture Distribuite per la Creazione e lo Sfruttamento della Conoscenza,...Architetture Distribuite per la Creazione e lo Sfruttamento della Conoscenza,...
Architetture Distribuite per la Creazione e lo Sfruttamento della Conoscenza,...Paolo Nesi
 
Introduzione sulla system biology nel contesto delle biotecnologie moderne Ti...
Introduzione sulla system biology nel contesto delle biotecnologie moderne Ti...Introduzione sulla system biology nel contesto delle biotecnologie moderne Ti...
Introduzione sulla system biology nel contesto delle biotecnologie moderne Ti...Mikel Txopitea Elorriaga
 
Ontologie13
Ontologie13Ontologie13
Ontologie13Daniele
 
Il Machine Learning illustrato
Il Machine Learning illustratoIl Machine Learning illustrato
Il Machine Learning illustratoAndrea Boero
 
Social Media Technologies, Part B of 2
Social Media Technologies, Part B of 2Social Media Technologies, Part B of 2
Social Media Technologies, Part B of 2Paolo Nesi
 
Extended Summary of " A Conceptual Bio-Inspired Framework for the Evolution o...
Extended Summary of " A Conceptual Bio-Inspired Framework for the Evolution o...Extended Summary of " A Conceptual Bio-Inspired Framework for the Evolution o...
Extended Summary of " A Conceptual Bio-Inspired Framework for the Evolution o...NicolettaGiurgevich
 

Similar to Integrazione di ontologie su un sistema a regole: un caso di studio (9)

Semantic Web e Linked Open Data - Parte I
Semantic Web e Linked Open Data - Parte ISemantic Web e Linked Open Data - Parte I
Semantic Web e Linked Open Data - Parte I
 
(draft) perl e bioinformatica - presentazione per ipw2008
(draft) perl e bioinformatica - presentazione per ipw2008(draft) perl e bioinformatica - presentazione per ipw2008
(draft) perl e bioinformatica - presentazione per ipw2008
 
Architetture Distribuite per la Creazione e lo Sfruttamento della Conoscenza,...
Architetture Distribuite per la Creazione e lo Sfruttamento della Conoscenza,...Architetture Distribuite per la Creazione e lo Sfruttamento della Conoscenza,...
Architetture Distribuite per la Creazione e lo Sfruttamento della Conoscenza,...
 
Introduzione sulla system biology nel contesto delle biotecnologie moderne Ti...
Introduzione sulla system biology nel contesto delle biotecnologie moderne Ti...Introduzione sulla system biology nel contesto delle biotecnologie moderne Ti...
Introduzione sulla system biology nel contesto delle biotecnologie moderne Ti...
 
Ontologie13
Ontologie13Ontologie13
Ontologie13
 
Il Machine Learning illustrato
Il Machine Learning illustratoIl Machine Learning illustrato
Il Machine Learning illustrato
 
Social Media Technologies, Part B of 2
Social Media Technologies, Part B of 2Social Media Technologies, Part B of 2
Social Media Technologies, Part B of 2
 
Strategie Per Un Lor Federato
Strategie Per Un Lor FederatoStrategie Per Un Lor Federato
Strategie Per Un Lor Federato
 
Extended Summary of " A Conceptual Bio-Inspired Framework for the Evolution o...
Extended Summary of " A Conceptual Bio-Inspired Framework for the Evolution o...Extended Summary of " A Conceptual Bio-Inspired Framework for the Evolution o...
Extended Summary of " A Conceptual Bio-Inspired Framework for the Evolution o...
 

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

Editor's Notes

  1. vi presento una tesi dal titolo: Integrazione di ontologie su un sistema a regole: un caso di studio
  2. Le ontologie trovano origine nella filosofia come studio dell’essere e dell’esistenza. In informatica la definizione è molto ristretta perche “ ciò che esiste è tutto ciò che puo essere rappresentato ”. Molto spesso nel campo informatico viene utilizzata e parafrasata la definizione di ontologia di Gruber Normalmente si tratta di una gerarchia di concetti correlati attraverso relazioni semantiche, ma le ontologie più elaborate forniscono anche regole (come assiomi e teoremi) che aiutano a specificare come è strutturato il dominio di interesse. O meglio un’ontologia si può assumere come una definizione “ Un’ontologia è un’esplicita specificazione di una concettualizzazione ”: differenti situazioni che coinvolgono gli stessi oggetti, descritti da differenti vocabolari, devono condividere la stessa concettualizzazione Per mezzo delle ontologie siamo in grado di implementare basi di conoscenza che può essere utilizzate come base per fare inferenza su di essa.
  3. Quando si parla di linguaggi di modellazione per ontologie, si parla di OWL. Si basa su RDF, infatti considerando lo stack del Web Semantico, OWL al di sopra di RDF. OWL descrive un standard, più ricco ed espressivo di RDF. – OWL Lite: tassonomie e espressione di semplici vincoli – OWL DL: corrisponde alla Description Logic (sottoinsieme computabile della FOL) – OWL Full: logiche di ordine superiore; non computabile Ogni linguaggio è estensione del linguaggio precedente OWL rappresenta lo standard attualmente proposto dal W3C; è un linguaggio di markup semantico per pubblicare e condividere ontologie, ed è costituito da tre sottolinguaggi. Considerando il linguaggio OWL DL nello specifico,i termini sono chiamati descrizioni di classi , gli operatori per la definizione di termini sono chiamati costruttori di classi , mentre i ruoli sono chiamati proprietà .
  4. OWL svolge quindi un ruolo cruciale, ma per sfruttarlo c’è la necessità di utilizzare strumenti software che consentano renderlo utilizzabile. Protégé, è un tool open-source, sviluppato dalla Standford Medical Informatics e implementato in Java, memorizzare visualizzare editare e gestire basi di conoscenza in un vasto range di applicazioni . E’ un tool open-source Implementato in Java. E’ interoperabile, perché grazie genera una consocenza ad accesso universale per molte applicazioni. ed è estendibile grazie alla sua interfaccia a plugin e alle numerose API. Esiste un numero consistente di formalismi per l’sportazione delle di ontologie (quali, ad esempio, Description Logics, XML, OWL, RDF); Permette l’interfacciamento con sistemi di contorollo autimatici come i reasoner, che permettono di effettuare Il “controllo della consistenza”, è uno degli scopi per il quale viene invocato un reasoner in un’ontologia per verificare la coerenza del modello creato
  5. l’architettura di Protégé è costituita da due componenti, una che si occupa della veste grafica, la graphical user-interface (GUI) o view part , e un parte API (Application Programming Interface) adibita alla modellazione o model part . L’architettura Protègè è costruita utilizzando un’architettura a più livelli. Le ontologie sono immagazzinate in un livello persistente (“DB Storage”) e accessibile tramite l’API di Protègè (“Protègè API”) consentire l’accesso alle classi proprietà e istanze dell’ontologia . L’API è utilizzata sia dalla applicazioni GUI di Protègè con i quali gli utenti accedono alle ontologie, sia dai programmi applicativi. La componente “Protègè GUI”, si occupa della gestione dei plugin i quali accedono alle ontologie per mezzo della API di Protègè e con il quale l’utente può interagire caricandoli all’interno della GUI di Protègè Il plugin OWL estende il core system di Protege, per rappresentare le descrizioni OWL, provvedendo anche ad estendere la API Java per accedere e manipolare le ontologie A livello ancora superiore si indviduano ulteriori API per estendere OWL con ulteriori plugin. Tra i plugin disonibili in Protgè ci sono delle estensioni che consentono di utilizzare le regole direttamente da Protègè sull’ontologia OWL.
  6. Tra i plugin disonibili in Protgè ci sono delle estensioni che consentono di utilizzare le regole direttamente da Protègè sull’ontologia OWL. Le regole in generale rappresentano Le regole sono molto simili agli statement if-then utilizzati nella programmazione trazionale dove …
  7. Un sistema a regole è un sistema che utilizza le regole per derivare delle conclusioni then da delle premesse if date. Un tipico sistema che utilizza le regole è costituito da: una base di conoscenza (o rule base) che contiene un insieme di regole le quali consento al problema di evolversi e produrre una soluzione. una memoria di lavoro (o fact base) la quale rappresenta lo stato iniziale del problema. Essa contiene l’insieme dei dati dai quali l’inferenza è derivata. un motore inferenziale che controlla l’intera esecuzione. Effettua il matching tra i fatti e le regole per verificare quale regola risulta applicabile. Può operare in forward e in backward, secondo il ciclo recognize-act: Match: i fatti con le regole Scegli quale regola istanziata attivare Esegui le azioni associate a quella regola. Tra i sistemi a regole piu conosciuti e utilizzati, individuiamo CLIPS e Jess.
  8. Quindi un sistema a regole non fa altro che codificare conoscenza per mezzo delle regole,; Le ontologie concettualizzano un dominio di interesse rappresentano le classi e le relazioni basilari tra di esse; Grazie all’esistenza di questi due sistemi è possibile integrare due componenti in unica soluzione In questo modo si ottiene una rappresentazione della conoscenza ontologica, con restrizione che coinvolgono piu di una proprietà, E dedurre automaticamente le classi basate sulla composizione di quelle proprietà è un modo di codificare la conoscenza, applicabile in svariati ambiti, in un sistema automatizzato che sfrutti le regole. Uno dei linguaggi che consentono di l’integrazione di una parte a regole e di una parte ontologie è SWRL
  9. e il modello semantico di OWL DL per fornire una semantica formale e una sintassi per le ontologie OWL, includendo semplicemente alcune regole le quali posso essere utilizzate allo scopo di ragionare su gli individui descritti in OWL e inferire nuova conoscenza su tali individui. LE REGOLE SWRL: Le regole vengono espresse come concetti OWL, questo facilita la completa integrazione di SWRL all’interno di OWL, garantendo un efficace trasferimento della nuova conoscenza dedotta dalle regole, perché conservano la stessa semantica. Le regole SWRL hanno la struttura di un’implicazione costituita da una parte antecedente, il punto di test sulle classi coinvolte, e una parte conseguente, che ne rappresenta rappresentano nuove conclusioni . In protege-Owl SWRL è supportato dal plugin: SWRLJessTab che permette mediante Integrazione del motore inferenziale di Jess per eseguire le regole Una asserzione di nuovi fatti nella base di conoscenza
  10. SWRL non è un linguaggio a regole, ma è possibile considerare le regole come query congiuntive Per mezzo dell’uso di built-ins proprie del linguaggio SWRL, si puo trasformare SWRL da linguaggio per le regole a linguaggio di interrogazione In Protègè-OWL è supportato dal plugin : SWRLQueryTab che permette di fare delle vere e proprie query sull’ontologia, selezionado gli elementi anche se non prevede la creazione di nuova conoscenza.
  11. Lo studio fatto sulle ontologie e i sistemi esperti è stato portata avanti analizzandlo non in modo astratto ma calati nel contesto di dominio concreto … Questo procedimento ha facilitato l’individuazione dei
  12. Il dominio applicativo è quello della pesca sportiva. … Parlare della collaborazione con l’esperto Analizzando il dominio, per mezzo dell’interazione con un esperto è stato possibile decretare che: L’esistenza di decisioni reali da prendere, fa presumere che il processo decisionale richiede esperienza La conoscenza del dominio propria dell’esperto,, per mezzo di strumenti informatici, può essere formalizzata L’esistenza di un ragionamento seppur semplice, ma permette di pensare a sistemi intelligenti che sfruttino la conoscenza formaizzata Alla luce di queste riflessioni sono stati realizzati tre prototipi
  13. E’ un sistema esperto in classificazione progettato con lo scopo di aiutare i pescatori nel processo decisionale di individuazione delle specie pescabili in un determinato sito di interesse. FishingHelper ragiona allo stesso modo di un esperto umano, performando non solo il ragionamento ma fornendo anche motivazioni sulle azioni intraprese e spiegazioni su quelle da intraprendere. Dettagli: Il sistema è stato realizzato utilizzando il linguaggio a regole CLIPS , utile per emulare alcune funzioni proprie dell’intelligenza umana Opera in forward Per gestire la conoscenza incerta fa uso dei fattori di certezza (CF) cumulativi, per generare la classificazione basati sul grado si fiducia e sfiducia assegnati alle ipotesi per avvalorare la fiducia e sfiducia delle conclusioni.
  14. OntoFishing, è un’ontologia di dominio utilizzata per rappresentare formalmente l’ambito della pesca sportiva. Fornisce una tassonomia di classi, relazioni e individui che lo descrivono e lo dettagliano. Per lo sviluppo ci si è serviti di Protege OWL-Plugin, L’ontologia è stata costruita utilizzando tutti e soli gli elementi di OWL DL. Per la definizione dell’ontologia ci si è limitati all’utilizzo di tutti e soli gli elementi del sottolinguaggio OWL DL sfruttanto il plugin Protègè-OWL . Questa scelta ha portato alla costruzione di una gerarchia di entità che avesse condizioni sufficienti solo per gli ultimi nodi dell’albero Consistenza di una classe (si può verificare se un’asserzione soddisfa i vincoli di cardinalità, di tipo, etc.).
  15. Rulefishing è una risposta ai problemi di espressività OWL, e alle problematiche connesse alla rappresentazione della conoscenza dei sistemi basati su regole. E’ un prototipo IBRIDO che sfrutta le regole in associazione con il dominio della conoscenza basata su una rappresentazione ontologica. estendere l’ontologia OWL sfruttando l’efficienza delle regole e fornendo la capacità di ragionare su di essa in modo deduttivo, ma conservando la massima compatibilità con l’esistente sintassi e semantica OWL SWRLJessTab come editor e per effettuare ragionamenti e inferire nuova conoscenza nell’ontologia OWL sfruttando Jess SWRLQueryTab per lavorare con le regole SWRL che contengono delle built-ins di interrogazione
  16. Concludendo è stato realizzato tre prototipi software che, sfruttando ciascuno il proprio tipo di ragionamento, utilizzano le informazione contenute in esse per ottenere dei risultati.
  17. All’utente vengono posti tre cicli di domande: Sull’attrezzatura a disposizione
  18. All’utente vengono posti tre cicli di domande: Sulle condizioni generiche di pesca (sul fondale, periodo dell’anno, del giorno, meterologiche ecc..)
  19. All’utente vengono posti tre cicli di domande: Dettagli sulle attrezzature dichiarate a disposizione
  20. Una volta terminato il ciclo di domande all’utente viene mostrata una classificazione delle specie, con la pertinenza in relazione alle Risposte alle domande date. A destra inoltre viene fornita una descrizione della specie.
  21. Eventualmente la ricerca puo essere salvata e recuperata in un secondo momento.
  22. L’ontologia presenta circa 93 classi. 4 sono le classi principali ATTREZZATURE; POSTAZIONE; SPECIE; TECNICA Ognuna dettagliata maggiormente nelle sottoclassi Le condizioni necessarie, cioe le restrizioni, sono state assegnate solo alle classi foglia cosi come gli individui che le compongono
  23. Le proprieta object descrivono relazioni binarie che coinvolgono gli individui di quella classe Relazionano elementi appartenenti a un dominio di applicazione con quelli appartenenti ad un range
  24. Datatype sono relazione tra un individuo ed un tipo di dato primitivo
  25. Le istanze rappresentano I veri e propri dati dell’onotologia. sono gli elementi che compongono una classe
  26. Infine il controllo della consistenza permette mediante connessione con il reasoner Pellet consiste nel determinare la non esistenza di regole che si sovrappongano o creino conflitti, cioè di non individuare inconsistenze
  27. Il prototipo consente per mezzo di regole di asserire nuova conoscenza Ad esempio considerata la strumento canna da traina, inzialmente il campo haTecnica usata è vacante
  28. Spostandosi sul tab SWRL Rule e richiamado il tool SWRLJEssTab siamo in grado di richiamare una regola, premendo il tasto OWL to SWRL siamo in grado di trasferire le regole SWRL e la conoscenza OWL a Jess
  29. In questo caso si vede come la regola SWRL e la conoscenza OWL sia stata convertita in conoscenza Jess Classi e proprieta
  30. Usando Run Jess si attiva il motore a regole di Jess avviando in questo modo il processo di inferenza e creando nuovi fatti asseriti
  31. Qui ne possiamo vedere alcuni
  32. Usando il pulsante OWL to Jess è possibile trasferire tutta la nuova conoscenza direttamente nell’ontologia
  33. E il risultato è che ha tecnicaUsata viene riempito con la nuova conoscenza ottenuta dalla regola attivata
  34. Selezionando sempre da SWRL Rule il tab SWRLQueryTab, si apre una nuva finestra, Tale finestra consente di richiamare le regole presenti in SWRL RULE. Usando il pulsante Run Rule siamo in grado di attivare
  35. I risultato viene mostrato in un tab demnominato con lo stesso nome della regola
  36. Nel quale è possibile visualizzare I risultati della query sulle classi dell’ontologia Tramite questo procedimento non asseriamo conoscenza nuova, ma siamo in grado di Estrarre informazioni specifiche dall’ontologia per mezzo delle regole