Metodologie per la gestione di conoscenza ontologica Prof. M.T. PAZIENZA a.a. 2008-2009 Sommario • Introduzione • Linguaggi per la gestione delle ontologie • Valutazioni (delle ontologie, dei tool basati su ontologie e degli ontology editors) Contesti di valutazione Poichè una ontologia si riferisce ad una sfera cognitiva ed è un artefatto software che deve essere usato (riusato) in diversi contesti applicativi e tecnologici, la sua valutazione si riferisce a diversi contesti: • valutazione del modello dell’ontologia, • valutazione dei tools che gestiscono un’ontologia all’interno di un framework, • valutazione degli ontology editors. Valutare una ontologia Non esistono criteri standard od universalmente condivisi; esistono variabili in funzione di scenari diversi. Esiste un agreement generale sui seguenti criteri: • copertura • precisione • dettaglio assiomatico • sostenibilità • flessibilità Tali criteri non sono in genere correlati e sono funzione dei diversi scenari applicativi Copertura di una ontologia La copertura è la misura della quantità dei modelli desiderati che siano rappresentabili da una ontologia. La copertura è complementare alla specificità. Una copertura ampia copre molti modelli/aspetti del mondo (Le ontologie a copertura ampia sono in genere più riusabili) Una copertura specifica è molto specifica su un aspetto, ma richiede estensioni se si vuole esprimere qualcosa di non specifico Copertura di una ontologia La copertura è una misura “funzionale” perché la sua misura richiede proprio ciò che si vuole costruire: lo spazio semantico di riferimento dell’ontologia. Le misure di copertura sono indotte a partire da altri tipi di dato (corpora testuali o domande rivolte ad esperti del dominio del quale l’ontologia dovrebbe coprire i modelli attesi) Precisione di una ontologia La precisione è una misura della selettività di una ontologia, ovvero individua quanti dei modelli rappresentabili in una ontologia sono effettivamente voluti. Anche la precisione è una misura “funzionale” Dettaglio assiomatico di una ontologia Si tratta della quantità di assiomi presenti in media per ogni classe dell’ontologia. Il dettaglio assiomatico è complementare alla precisione, alla espressività, ovvero alla complessità delle strutture logiche usate nella costruzione degli assiomi Il dettaglio assiomatico è misurabile in base alla ontologia stessa (è una misura “strutturale”) Sostenibilità di una ontologia La sostenibilità è una misura della possibilità nella realtà di usare un modello ontologico e di mantenerlo all’interno di una qualsivoglia organizzazione. Es. una ontologia con un alto dettaglio assiomatico, alta precisione, ampia copertura è onerosa da progettare, costruire, mantenere e usare in sistemi informativi con molti dati (alto numero di inferenze generate dai ragionatori automatici) Flessibilità di una ontologia La flessibilità è il numero dei diversi punti di vista del dominio che è possibile rappresentare. La misura della flessibilità è possibile solo in presenza di informazioni di dettaglio sulle caratteristiche di progettazione dell’ontologia stessa (componenti, criteri, processi decisionali, etc.) Valutazione dei tool basasti su ontologie Le ontologie cercano di catturare conoscenza di dominio che può essere riusata, condivisa, e resa operativa per molteplici applicazioni. La dimensione delle ontologie, la loro complessità, la necessità di rappresentare una conoscenza comune a più gruppi di persone, sono tutti fattori che limitano il loro affermarsi come strumento di base per le applicazioni. L’interoperabilità (semantica), la scalabilità, l’accesso multiutente sono fattori chiave per la loro diffusione a livello aziendale. Proprietà delle ontologie generate da tool di sviluppo Language conformity: la sintassi della rappresentazione dell’ontologia in un linguaggio speciale risulta conforme allo standard Nella valutazione l’outcome di un tool ontologico deve essere confrontato rispetto alla definizione sintattica, oppure rispetto ad una implementazione usata come riferimento Proprietà delle ontologie generate da tool di sviluppo Consistenza: rispetto alla propria semantica La valutazione della consistenza esprime quanto il tool sia capace di creare ontologie consistenti rispetto alla propria semantica, ovvero deve verificarsi che diverse parti di una ontologia non siano in contraddizione Proprietà delle tecnologie Interoperabilità semantica: grado di facilità con cui è possibile scambiare ontologie per un’applicazione. Non solo deve esserci language conformity, ma bisogna verificare che tool diversi interpretino le stesse cose nello stesso modo Proprietà delle tecnologie Turn around ability: capacità di produrre l’outcome di un tool sempre nello stesso modo Proprietà delle tecnologie Performance: tempo necessario per risolvere uno specifico task inferenziale (es. memorizzare ontologie di riferimento standard) Nella valutazione è necessario disporre di benchmarks e deve essere definito cosa si intende per “misura” di una ontologia, complessità del task e quali parametri influenzano, e come, la misura. Proprietà delle tecnologie Memory allocation: memoria necessaria al tool per gestire ontologie Nella valutazione è necessario disporre di benchmarks e deve essere definito cosa si intende per “misura” di una ontologia, complessità del task e quali parametri influenzano, e come, la misura. Proprietà delle tecnologie Scalabilità: valuta la performance ed il comportamento del tool rispetto alla memoria in funzione dell’aumento della dimensione dell’ontologia Proprietà delle tecnologie Integrazione in un framework: misura della facilità di usare il tool in ambienti diversi Connettività: capacità di collegarsi con altri tool (database, index servers, MS systems, Lotus Notes, etc) Tool per la costruzione di ontologie Gli ontology editors possono essere selezionati in base a criteri di: • • • • • • • • Funzionalità a livello di operazioni permesse Riusabilità di tutto o parte del contenuto ontologico Complessità dell’installazione Associabilità ad altri sistemi Scalabilità dell’ontologia al modificarsi del dominio Affidabilità rispetto agli accessi di uno sviluppatore Utilizzabilità in locale o remoto Efficienza nelle operazioni (processo iterativo di creazione dell’ontologia) • Visibilità del modello ontologico per un umano Funzionalità Add: fino a che punto il tool rende possibile l’aggiunta di classi, proprietà, relazioni ed istanze Modify: fino a che punto il tool rende possibile la modifica di classi, proprietà, relazioni ed istanze Delete : fino a che punto il tool rende possibile la rimozione di classi, proprietà, relazioni ed istanze L’implementazione di tutte queste funzionalità è importante perché ciascuna di esse va a modificare il modello ontologico Riusabilità Riusare: Ontologie: grado in cui una ontologia esistente può essere usata da una nuova versione dell’editor Classi: grado in cui una classe esistente può essere usata per creare una nuova ontologia Slot: grado in cui uno slot esistente può essere usato per creare una nuova ontologia Istanza: grado in cui una istanza esistente può essere usata per creare una nuova istanza di un’altra classe Dati: grado in cui dati esistenti possono essere usati per popolare istanze di una nuova ontologia La riusabilità rende più semplice e più economico lo sviluppo di nuove ed il riuso di ontologie esistenti Complessità • Installazione del processo: numero di passi e tempo necessario nella installazione • Necessità di una piattaforma: capacità dell’editor di funzionare su piattaforme diverse • Interfacce: amichevolezza dell’interfaccia dell’editor La complessità è relativa alla difficoltà con cui il tool può essere installato. Associabilità • Connettività ad un database: livello di interoperabilità con database diversi • Capacità di gestire macro: possibilità offerte dal tool per aggiungere macro all’ontologia (per supportare un appropriato data entry e la formattazione, e la presentazione all’utente) Caratteristiche importanti per la gestione delle ontologie in ambienti industriali Scalabilità • Aggiungere nuove superclassi/classi • Modificare superclassi in sottoclassi • Cancellare super/sotto classi esistenti Queste funzionalità permettono di modificare l’ontologia al variare della conoscenza di dominio. La cancellazione delle classi deve tener conto delle istanze eventuali associate alla classe Affidabilità • Validazione: controllare che non si aggiungano nuove classi/slot con un nome già esistente • Verifica: verifica e correzione di errori di lieve entità per migliorare la consistenza Il grado di affidabilità è importante per lo sviluppatore Utilizzabilità • Accessibilità: eventualmente online • Prezzo: richiesto per l’acquisto Caratteristiche rilevanti a livello industriale Efficienza • Model browsing: capacità offerta dall’editor per navigare facilmente nel modello ontologico • Query capability: capacità di supportare efficienti attività di ricerca sull’ontologia • Design tools: capacità di supportare lo sviluppatore con tool di disegno facili da usare Tali funzionalità sono collegate al fatto che la creazione di una ontologia è un processo iterativo Visibilità • Model creation using external programs: supporto alla visualizzazione del modello usando programmi esterno, es. plug-in • Model creation using internal programs: supporto alla visualizzazione del modello come built-in capability • Conversation to HTML pages: supporto alla visualizzazione del modello grazie alla capacità di convertire un’ontologia in pagine HTML La funzionalità di visibilità è richiesta a supporto della comprensione immediata del contenuto ontologico da parte di un utente umano. Riferimenti • Guarino N.: Formal ontologies in information systems”, Proceedings of Formal Ontology and Information Systems, 1998 • Arash Shaban-Nejad: tutorial on “Ontology: Foundation of Semantic Web”, 2004 • Whitepaper: Evaluation of Ontology-based Tools, 2001, OntoWeb D1,3. tools http://www.aifb.uni-karlsruhe.de/WBS/ysu/publications/eon2002_whitepaper.pdf • Murshed Ahsan, Ramanjit Singh: “Evaluation and Ranking of Ontology Construction Tools” . Technical Report DIT-05-013, Informatica e Telecomunicazioni, University of Trento. (2005) • D. Maynard.: “Benchmarking ontology-based annotation tools for the Semantic Web”; UK e-Science Programme All Hands Meeting (AHM2005) Workshop "Text Mining, e-Research and Grid-enabled Language Technology", Nottingham, UK, 2005.