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
Scarica

Annotazioni Semantiche