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 2 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 “machineunderstandable” 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 3 Come realizzare l’interoperabilità? Vocabolario controllato l’interoperabilità migliora se gli stessi termini sono usati per denotare gli stessi concetti Ontologie Elementi principali 1. Un vocabolario controllato 2. Relazioni tassonomiche tra concetti 3. Altre relazioni tra concetti 4 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. 5 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’elaborazione della “sintassi” a quella della “semantica” . ma: da dove scaturiscono i “dati semantici”? Semantic Annotation 6 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) 7 Knowledge Resource Management Ontologia The Internet Utenti Meta-KR KR: Knowledge Resources 8 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 sul linguaggio. Modalità di annotazione 9 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 10 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. 11 Posizionamento dell’annotazione Embedded inserita all’interno dello stesso documento annotato <html> … <annot> … </html> Attached Memorizzata separatamente, collegata al documento da un link. annot <html> … </html> 12 Destinatario dell’annotazione Human user Ha lo scopo di fornire informazioni aggiuntive su una risorsa in questo caso l’annotazione in genere sarà poco formale 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 13 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 Solitamente è di tipo formale, ontology-based applicazioni software che cooperano 14 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) 15 Modalità di Annotazione NB. questa classificazione riguarda solo le SA Ontology-based Annotazione attraverso istanze di concetti L’annotazione consiste in 1. Associazione di una istanza all’elemento annotato 2. 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 16 Annotazione attraverso concetti Ontologia name Person address Is a Is a Is a Student Michele Missikoff è un <Researcher> ricercatore </Researcher> dello IASI CNR Researcher Annotazione attraverso istanze Faculty_Member Instance of IDMicheleMissikoff <IDMicheleMissikoff> Michele Missikoff </IDMicheleMissikoff> è un ricercatore dello IASI CNR 17 Classificazione di alcuni tool Ontomat Mnm Smore Annotea Formalità Posizionam Destinatar Risorsa Restriz. Formale (DAML+ OIL) Embedded (nell’header) Computer Pg.html Ontology- Istanze based Formale (DAML+ OIL, RDF) Attached Formale (RDF, DAML+ OIL, OWL) Embedded (nell’header) / (e-mail,Img.) Attached Infomale ElemAnn Ontology- Istanze based Computer Pg.html Computer Foto, mail, Pg.html Advised ?? Human user Pg.html Absence Non O-B -----Cohse Formale ------ Computer Doc/ Pg.html Ontology- Concetti based Melita Formale ------ Computer Doc Ontology- Istanze 18 based Tool Analizzati Si è riuscito ad annotare con: OntoMat-Annotizer Mnm Smore Problemi : Cohse (problemi d’istallazione) Melita (eseguibile non fornito) 19 Esempio Has_affiliate Organization Person Has affiliation Is a Is a Is a Is a Is a Researcher Is a Student University Reserch funding Institution Faculty_Member Instance of Instance of Michele Missikoff IASI-CNR 20 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 21 22 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). 23 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> … 24 …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> 25 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. 26 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. 27 Mnm (caratteristiche generali) Browser Browser Html Browser dell’ontologia Mark-up del testo Apprendimento automatico (Amilcare) Annotazione semi-automatica 28 29 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. 30 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> … 31 …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> 32 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) 33 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 34 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) 35 36 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) 37 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> Si è perso il Michele Missikoff link all’istanza Michele Missikoff </personal1.0:member> dell’ontologia </personal1.0:Organization> <personal1.0:Person rdf:ID="Michele_Missikoff"> </personal1.0:Person> </rdf:RDF> 38 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 39 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 40 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. 41 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. 42 References 1. (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) 2. M. Denny. Ontology Building: A Survey of Editing Tools November 06, 2002 3. S. Handschuh, S. Staab, A. Mädche . CREAM - Creating relational metadata with a component-based, ontology driven annotation framework . K-CAP 2001 4. S. Handschuh, S. Staab, A. Maedche. An AnnotationFramework for the Semantic 5. M. Missikoff, F. Schiappelli, F.Taglino A Controlled Language for Semantic Annoatation and Interoperability in e-Business Application IASI-CNR (Italy) 2003 6. M. Missikoff F. Schiappelli. Semantic Annotation for Enterprises Interoperability http://www.xml.comp/pub/a/2002/11/06/ontologies.html?pages=2 Web Karlsruhe, Germany 2001 IASI_CNR (Italy) 2003 43 References (2) 1. M. Vargas-Vera, E. Motta, J. Domingue, M. Lanzoni, A. Stutt and F. Ciravegna. 2. M. Vargas-Vera, E. Motta, J. Domingue, M. Lanzoni, A. Stutt and F. Ciravegna. 3. M. Vargas-Vera, J. Domingue, E. Motta, S. Buckingham Shum and M. Lanzoni. 4. A. Wolff, Z. Zdrahal, Z. Kouba. Tools for Personalised Annoatation and 5. WWW.semanticweb.org "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. "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. "Knowledge Extraction by using an Ontology-based Annotation Tool“. In proceedings of the Workshop Knowledge Markup & Semantic Annotation, KCAP'01, Victoria Canada, October 2001. Organization of Diverse Web Resources KMI 44