Extended Summary of " A Conceptual Bio-Inspired Framework for the Evolution o...
Integrazione di ontologie su un sistema a regole: un caso di studio
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
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.
9.
10.
11.
12.
13.
14.
15.
16.
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
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