440 likes | 560 Views
Metodi e strumenti per l’annotazione semantica. Nunzia Osimi Tesista di Informatica presso il LEKS-CNR 14 Novembre 2003. Indice. Introduzione al Web Semantico Interoperabilità e ontologie L’annotazione semantica Criteri di classificazione delle AS Alcuni tool per l’annotazione semantica
E N D
Metodi e strumenti per l’annotazione semantica Nunzia Osimi Tesista di Informatica presso il LEKS-CNR 14 Novembre 2003
Indice • Introduzione al Web Semantico • Interoperabilità e ontologie • L’annotazione semantica • Criteri di classificazione delle AS • Alcuni tool per l’annotazione semantica • Conclusioni
Semantic Web: Motivazioni • Intento Originale: rendere la semantica delle informazioni accessibile agli elaboratori • Nel web attuale: necessario l’intervento umano per comprendere il contenuto di risorse • Obiettivo: rendere l’informazione “machine-understandable” • Soluzione: Utilizzare i metadati • Passo successivo: Interoperabilità Semantica • combinare informazioni provenienti da sorgenti diverse ai fini di realizzare: • estrazione intelligente, cioè semantica (“Smart” retrieval) • Scambio di informazioni tra applicazioni software • Web Services: ricerca e composizione di servizi
Come realizzare l’interoperabilità? • Vocabolario controllato l’interoperabilità migliora se gli stessi termini sono usati per denotare gli stessi concetti • Ontologie • Elementi principali • Un vocabolario controllato • Relazioni tassonomiche tra concetti • Altre relazioni tra concetti
Cos’è un’ ontologia? • Definizioni • “…an explicit specification of a conceptualization” (Gruber) • “…a formal specification of a shared conceptualization” (Borst) • “explicit” i tipi di concetti utilizzati e i vincoli su di essi sono definiti in modo esplicito. • “formal” definita in un ling. formale. • “shared” la conoscenza rappresentata in un’ontologia non è scaturita dalla decisione di un singolo individuo, ma è riconosciuta da una collettività. • “conceptualization“ perchè un’ ontologia identifica i concetti rilevanti di un dominio applicativo stabilito.
Generalità sulle ontologie • Come costruire un ontologia? • Nominando una commissione ad hoc … ma è necessaria una metodologia • Ad esempio, il Dublin Core ha impiegato anni per enucleare 15 elementi metadato principali. • approccio “Darwiniano” : • l’ontologia migliore/la più popolare prevale • Come combinazione di standard officiali e de-facto • Sono in corso progetti per la def. di “upper ontology” • le Ontologie consentono deduzioni (reasoning) • Ciò permette di spostarsi dall’elaborazionedella “sintassi” a quella della “semantica” . • ma: da dove scaturiscono i “dati semantici”? • Semantic Annotation
Annotazioni Semantiche • Sono informazioni semantiche associate a risorse web. • Perché si usano? • Per arricchire il contenuto informativo dei documenti • Per esprimere in maniera formale, il significato di : • Porzione di testo in un documento • Web service • Strutture dati coinvolte in un processo di collaborazione (interoperabilità tra applicazioni software)
Knowledge Resource Management Ontologia The Internet Utenti Meta-KR KR: Knowledge Resources
Criteri per classificare le annotazioni • Livello di formalità del linguaggio usato • Posizionamento dell’annotazione • Destinatario dell’annotazione • Tipo di risorsa annotata • Livello di restrizione imposto sullinguaggio. • Modalità di annotazione
Livello di formalità del linguaggio usato • formale • espressa in un linguaggio formale di rappresentazione della conoscenza • Alcuni linguaggi • RDF e RDFS: un framework per esprimere i metadati nel web • DAML, DAML+OIL, OWL sono usati per la definizione di ontologie • Permette di processare i dati senza l’intervento umano (machine understandable) • informale • Espressa in linguaggio naturale o in un linguaggio controllato • Permette di aggiungere informazioni su documenti o risorse, fruibili da un utente umano
Esempio • Esempio Annotazione Formale in RDF <Researcher rdf:about=“file:///C:\…\PagineHtml\Michele Missikoff.htm#Michele Missikoff"> <first_Name> Michele </first_Name> <last_Name> Missikoff </last_Name> <has_affiliation rdf:resource=“file:///C:\…\Michele Missikoff.htm#IASI - CNR"/> </Researcher> • Esempio Annotazione Informale in linguaggio naturale Michele Missikoff un ricercatore dello IASI-CNR.
Posizionamento dell’annotazione • Embedded • inserita all’interno dello stesso documento annotato • Attached • Memorizzata separatamente, collegata al documento da un link. <html> … <annot> … </html> annot <html> … </html>
Destinatario dell’annotazione • Human user • Ha lo scopo di fornire informazioni aggiuntive su una risorsa • in questo caso l’annotazione in genere sarà pocoformale probabilmente realizzata in linguaggio naturale • Computer • Ha lo scopo di esplicitare il significato di una risorsa • in tal caso l’annotazione deve essere di tipo formale per poi essere processabile da una macchina
Tipo di risorsa annotata • Annotazione di documenti • Frammento di testo, pagina HTM, immagini, ecc. • Annotazione di Web Services • Esprimere cosa fa un servizio, descrivere i parametri di input e l’output • Solitamente è di tipo formale • Annotazione di strutture dati, processi,… • coinvolti nello scambio di informazioni tra applicazioni software che cooperano • Solitamente è di tipo formale, ontology-based
Livello di restrizione imposto al linguaggio • Absence • i termini del linguaggio possono essere usati senza vincoli • Advised (consigliato…) • si è liberi di scegliere se utilizzare o meno un glossario, un ontologia, (o anche parole chiavi) in alternativa al linguaggio naturale. • Mandatory (vincolante) • C’è l’obbligo di usare un glossario di riferimento o un ontologia (Annotazione Ontology-based)
Modalità di Annotazione NB. questa classificazione riguarda solo le SA Ontology-based • Annotazione attraverso istanze di concetti • L’annotazione consiste in • Associazione di una istanza all’elemento annotato • Valorizzazione delle proprietà che descrivono l’istanza • Annotazione attraverso concetti • L’annotazione consiste in • Associazione di un concetto dell’ontologia all’elemento annotato • Associazione di una composizione di concetti dell’ontologia (attraverso opportuni operatori) all’elemento annotato
Annotazione attraverso concetti Ontologia Person name Michele Missikoff è un <Researcher> ricercatore </Researcher> dello IASI CNR address Is a Is a Is a Student Researcher Annotazione attraverso istanze Faculty_Member <IDMicheleMissikoff> Michele Missikoff </IDMicheleMissikoff> è un ricercatore dello IASI CNR Instance of IDMicheleMissikoff
Classificazione di alcuni tool documenti Si Annotea Melita
Tool Analizzati • Si è riuscito ad annotare con: • OntoMat-Annotizer • Mnm • Smore • Problemi : • Cohse (problemi d’istallazione) • Melita (eseguibile non fornito)
Esempio Has_affiliate Person Organization Has affiliation Is a Is a Is a Is a Is a Researcher Student Is a University Reserch funding Institution Faculty_Member Instance of Michele Missikoff Instance of IASI-CNR
Ontomat (caratteristiche generali) • Visualizzazione dell’ontologia (in DAML+OIL) mediante albero • Browser per l’esplorazione dell’ontologia e delle istanze • Browser Html che visualizza le parti di testo annotate. • Implementato in Java, permette l’estensione tramite plugin • Le annotazioni avvengono mediante drag’n’drop
Ontomat • Input : • ontologia (DAML+OIL) • pagina html • Output : • Pagina Html con annotazioni inserite nell’ header • Istanze esportate (annotazione in DAML+OIL) • Ontologia (DAML+OIL) • Ontologia + Istanze (DAML+OIL).
Annotazione(istanza esportata da OntoMat) <rdf:RDF ... > <Research_Funding_Institution rdf:about="http://…\Michele Missikoff.htm#IASI-CNR"> <address> Viale Manzoni,30 </address> <country> Italy </country> <location> Rome </location> <name> IASI-CNR </name> <has_affiliate rdf:resource="http://…\Michele Missikoff.htm#Michele Missikoff"/> </Research_Funding_Institution> …
…esempio … <Researcher rdf:about="http://…\Michele Missikoff.htm#Michele Missikoff"> <first_Name> Michele </first_Name> <last_Name> Missikoff </last_Name> <has_affiliation rdf:resource="http://…\Michele Missikoff.htm#IASI-CNR"/> </Researcher> </rdf:RDF>
Pro e contro di OntoMat (1) PRO • Interfaccia User-friendly • Chiara distinzione tra classi, attributi, relazioni e istanze • Fornisce l’help on line (Wizard) • Estendibile ad altri linguaggi tramite plugin.
Pro e contro di OntoMat (2) CONTRO • Impone vincoli sulla visualizzazione delle proprietà che descrivono una classe: una proprietà P può essere utilizzata per descrivere una istanza di una classe C, soltanto se C è stata definita attraverso un "restriction“ su P • Non effettua reasoning: non gestisce in modo automatico l’inversa di una relazione • L’importazione di “ontologia+istanze” non avviene in modo corretto: le istanze non vengono caricate automaticamente.
Mnm (caratteristiche generali) • Browser • Browser Html • Browser dell’ontologia • Mark-up del testo • Apprendimento automatico (Amilcare) • Annotazione semi-automatica
Mnm (I/O) • Input: • ontologia in DAML/ DAML+OIL/ RDF • Pagina Html. • Output: • Base di conoscenza rappresentante l’annotazione del documento in DAML/ DAML+OIL/ RDF • File “dummy” (proprietario) che mantiene il collegamento tra annotazione e documento.
Annotazione (base di conoscenza salvata con MNM) <rdf:RDF…. > <rdf:Description rdf:about='file:/…/MnM2/ KbCreated/Misha1.rdf#Michele Missikoff'> <rdf:type rdf:resource='file:/…/MnM2/Ontologies/ s_community.rdfs#Person'/> <NS0:name>Michele Missikoff</NS0:name> <NS0:worksAt>LEKS</NS0:worksAt> </rdf:Description> …
…esempio … <rdf:Description rdf:about='file:/…/MnM2/ KbCreated/Misha1.rdf#LEKS'> <rdf:type rdf:resource='file:/…/MnM2/Ontologies/ s_community.rdfs#Organisation'/> <NS0:title>Lab for Ent. Knowledge Systems </NS0:title> <NS0:location>IASI-CNR</NS0:location> </rdf:Description> … </rdf:RDF>
Pro e contro di MNM (1) PRO • La parte di testo annotata è facilmente riconoscibile perché evidenziata in diversi colori • Possibilità di definire le annotazioni attraverso form o tramite selezione del testo • Effettua Apprendimento automatico (Amilcare)
Pro e contro di MNM (2) CONTRO • Struttura ontologia è poco intuitiva • Presuppone conoscenza dell’ RDF da parte dell’utente • Impone vincoli sulla visualizzazione delle proprietà che descrivono una classe: una proprietà P può essere utilizzata per descrivere una istanza di una classe C soltanto se C è stata dichiarata come dominio di P. OSS: OntoMat e MNM non interpretano l’ input allo stesso modo
Smore (caratteristiche generali) • Fornisce Editor pagine html • Fornisce un collegamento alle esistenti ontologie su Internet per renderle utilizzabili all’interno della propria web-page. • Possibile creazione di una propria ontologia personalizzata costruibile a partire dall’esistenti (Editor di Ontologie)
Smore • Input: • ontologia in RDF, DAML, DAML+OIL, OWL • Pagina html • Output • file dataset proprietario (.dat) (rappresentante la struttura usata per annotare) • Pagina html • annotazione in RDF (è possibile salvare sia l’annotazione pura sia il documento con annotazione “embeded” nell’header)
Annotazione (file RDF salvato con Smore) <rdf:RDF … xmlns:personal1.0="http://www.cs.umd.edu/projects/plus/DAML/onts/personal1.0.daml#"> <personal1.0:Organization rdf:ID="LEKS"> <personal1.0:member> Michele Missikoff </personal1.0:member> </personal1.0:Organization> <personal1.0:Person rdf:ID="Michele_Missikoff"> </personal1.0:Person> </rdf:RDF> Si è perso il link all’istanza Michele Missikoff dell’ontologia
Pro e contro di Smore (1) PRO • E’ necessaria una minima conoscenza della sintassi e dei termini del RDF da parte dell’utente. • Unico tool esaminato che permette di annotare anche in OWL
Pro e contro di Smore (2) CONTRO • Poco comprensibile come creare effettivamente le istanze di classi e le relazioni tra istanze definite a partire da una ontologia fissata • Help in linea poco dettagliato, molte funzionalità rimangono oscure • Poco stabile, genera eccezioni durante l’esecuzione
Conclusioni (1) Obiettivo di questo lavoro era trovare un tool che avesse le seguenti caratteristiche: • Formale • Machine-oriented • Per annotare qualsiasi tipo di risorsa • documenti, • webServices, • risorse coinvolte in un processo di interoperabilità tra applicazioni soft. • Ontology-based • Possibilità di annotare sia concetti che istanze • Di facile utilizzo (anche da utente inesperto) • Escluso OntoMat gli altri tool sono risultati poco stabili e poco user-friendly.
Conclusioni (2) Soluzioni possibili: • Estendere OntoMat con Plugin per la gestione di OWL (lasciando comunque cosi’ irrisolta l’ annotazione attraverso concetti ) • Creare una nuova applicazione che soddisfi tutte le esigenze elencate.
References (1) • S. Bechhofer, C. Goble. Towards Annotation using DAML+OIL K-CAP 2001 workshop on Knowledge Markup and Semantic Annotation, Victoria B.C, October 2001. (COHSE) • M. Denny.Ontology Building: A Survey of Editing Tools November 06, 2002 http://www.xml.comp/pub/a/2002/11/06/ontologies.html?pages=2 • S. Handschuh, S. Staab, A. Mädche . CREAM - Creating relational metadata with a component-based, ontology driven annotation framework . K-CAP 2001 • S. Handschuh, S. Staab, A. Maedche. An AnnotationFramework for the Semantic Web Karlsruhe, Germany 2001 • M. Missikoff, F. Schiappelli, F.Taglino A Controlled Language for Semantic Annoatation and Interoperability in e-Business Application IASI-CNR (Italy) 2003 • M. Missikoff F. Schiappelli. Semantic Annotation for Enterprises Interoperability IASI_CNR (Italy) 2003
References (2) • M. Vargas-Vera, E. Motta, J. Domingue, M. Lanzoni, A. Stutt and F. Ciravegna. "MnM: Ontology Driven Semi-Automatic and Automatic Support for Semantic Markup",The 13th International Conference on Knowledge Engineering and Management (EKAW 2002), ed Gomez-Perez, A., Springer Verlag, 2002. • M. Vargas-Vera, E. Motta, J. Domingue, M. Lanzoni, A. Stutt and F. Ciravegna."MnM: Ontology Driven Tool for Semantic Markup", European Conference on Artificial Intelligence (ECAI 2002). In proceedings of the Workshop Semantic Authoring, Annotation & Knowledge Markup (SAAKM 2002). Lyon France, July 22-23, 2002. • M. Vargas-Vera, J. Domingue, E. Motta, S. Buckingham Shum and M. Lanzoni. "Knowledge Extraction by using an Ontology-based Annotation Tool“. In proceedings of the Workshop Knowledge Markup & Semantic Annotation, K-CAP'01, Victoria Canada, October 2001. • A. Wolff, Z. Zdrahal, Z. Kouba. Tools for Personalised Annoatation and Organization of Diverse Web Resources KMI • WWW.semanticweb.org