Your SlideShare is downloading. ×
0
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

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

1,188

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,188
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
21
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • vi presento una tesi dal titolo: Integrazione di ontologie su un sistema a regole: un caso di studio
  • 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.
  • 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à .
  • 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
  • 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.
  • 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 …
  • 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.
  • 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
  • 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
  • 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.
  • 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
  • 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
  • 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.
  • 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.).
  • 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
  • Concludendo è stato realizzato tre prototipi software che, sfruttando ciascuno il proprio tipo di ragionamento, utilizzano le informazione contenute in esse per ottenere dei risultati.
  • All’utente vengono posti tre cicli di domande: Sull’attrezzatura a disposizione
  • All’utente vengono posti tre cicli di domande: Sulle condizioni generiche di pesca (sul fondale, periodo dell’anno, del giorno, meterologiche ecc..)
  • All’utente vengono posti tre cicli di domande: Dettagli sulle attrezzature dichiarate a disposizione
  • 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.
  • Eventualmente la ricerca puo essere salvata e recuperata in un secondo momento.
  • 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
  • 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
  • Datatype sono relazione tra un individuo ed un tipo di dato primitivo
  • Le istanze rappresentano I veri e propri dati dell’onotologia. sono gli elementi che compongono una classe
  • 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
  • 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
  • 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
  • In questo caso si vede come la regola SWRL e la conoscenza OWL sia stata convertita in conoscenza Jess Classi e proprieta
  • Usando Run Jess si attiva il motore a regole di Jess avviando in questo modo il processo di inferenza e creando nuovi fatti asseriti
  • Qui ne possiamo vedere alcuni
  • Usando il pulsante OWL to Jess è possibile trasferire tutta la nuova conoscenza direttamente nell’ontologia
  • E il risultato è che ha tecnicaUsata viene riempito con la nuova conoscenza ottenuta dalla regola attivata
  • 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
  • I risultato viene mostrato in un tab demnominato con lo stesso nome della regola
  • 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
  • Transcript

    • 1. 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
    • 2.
      • L’Ontologia .
      • Nasce nell’ambito della filosofia
      • – Lo studio della realtà e della natura delle cose
      • Le 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 ontologie Integrazione di ontologie su un sistema a regole: un caso di studio
    • 3.
      • Specifica del W3C per definire ontologie
      • - Basato su RDF
      • - Comprende tre linguaggi, di espressività crescente
      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
    • 4.
      • 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 ontologie Integrazione di ontologie su un sistema a regole: un caso di studio
    • 5. Architettura di Protègè Integrazione di ontologie su un sistema a regole: un caso di studio
    • 6. Cosa sono le regole Integrazione di ontologie su un sistema a regole: un caso di studio
      • Una regola è un tipo di istruzione o comando che viene applicato in una certa situazione
      • Statement if-then
      IF premessa/condizione THEN conclusione/azione
    • 7. 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
    • 8. I sistemi ibridi Integrazione di ontologie su un sistema a regole: un caso di studio
      • 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à
    • 9. SWRL - S emantic W eb R ule L anguage Integrazione di ontologie su un sistema a regole: un caso di studio
      • Tutte le regole sono espresse in termini di concetti OWL (classi, proprietà, individui)
      • Regole come parte integrante dell’ontologia
      • Regole nella seguente formula:
      • a 1 ٨ … ٨ a n -> b 1 ٨ . . . ٨ b k
      • 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
    • 10. SWRL e le query Integrazione di ontologie su un sistema a regole: un caso di studio
      • 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 interrogazione
      • Ad 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
    • 11. “ 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
      • Pro e i contro dei sistemi a regole.
      • Pro e i contro delle ontologie.
      • Pro e contro di un approccio ibrido.
    • 12.
      • La pesca sportiva.
      • Perché:
      • Comporta un processo decisionale basato su esperienza
      • La conoscenza del dominio può essere formalizzata
      • Esiste un ragionamento
      Integrazione di ontologie su un sistema a regole: un caso di studio Il dominio applicativo
    • 13.
      • 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? Integrazione di ontologie su un sistema a regole: un caso di studio
      • Sistema esperto per il supporto alle decisioni, implementato in CLIPS
      • Base di conoscenza costituita da circa 500 regole
      Caratteristiche:
    • 14. Cos’è OntoFishing?
      • Caratteristiche:
      • Ontologia costruita con Protègè-OWL Plugin
      • Base 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 Pellet
      • Demo
      Integrazione di ontologie su un sistema a regole: un caso di studio
    • 15. Integrazione di ontologie su un sistema a regole: un caso di studio
      • 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?
    • 16. 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).
      Integrazione di ontologie su un sistema a regole: un caso di studio
    • 17. 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
    • 18. FishingHelper Integrazione di ontologie su un sistema a regole: un caso di studio
    • 19. FishingHelper - domande
    • 20. FishingHelper - domande
    • 21. FishingHelper - domande
    • 22. FishingHelper – il risultato
    • 23. FishingHelper
    • 24. OntoFishing - Classi
    • 25. OntoFishing – Proprietà Object
    • 26. OntoFishing – Proprietà Datatype
    • 27. OntoFishing - Istanze
    • 28. OntoFishing – Consistency Checking
    • 29. RuleFishingHelper
    • 30. RuleFishingHelper
    • 31. RuleFishingHelper
    • 32. RuleFishingHelper
    • 33. RuleFishingHelper
    • 34. RuleFishingHelper
    • 35. RuleFishingHelper
    • 36. RuleFishingHelper - query
    • 37. RuleFishingHelper - query
    • 38. RuleFishingHelper - query

    ×