Title: Presentazione di PowerPoint
1- DAL WEB AL SEMANTIC WEB
- Aspetti teorici e tecnologici
- Carmagnola Francesca
- Dipartimento Informatica
- C.so Svizzera 185, Torino
- carmagnola_at_di.unito.it
2TIRIAMO LE FILA DEL DISCORSO
- Al momento molti degli sforzi del WWW hanno uno
scopo generare informazioni che non siano
soltanto destinati alla lettura, ma che possano
essere riutilizzati per applicazioni automatiche - Non cè niente in un documento HTML che indichi
largomento trattato o la fonte delle
informazioni. Lunico tipo di ricerca che si può
fare su un documento è la ricerca manuale sul
contenuto - Il W3C considera lideale, futura evoluzione del
Web quella dal machine-representable al
machine-understandable - Le meta informazioni permettono agli autori di
specificare informazioni sui loro documenti
(informazioni su informazioni) che siano non
soltanto leggibili, ma anche interpretabili in
maniera intelligente dalle applicazioni di
rielaborazione, (es. dai motori di ricerca). - L'utilizzo di meta-informazioni porta al Web di
seconda generazione il Web Semantico
3SEMANTIC WEB
- Lidea è di generare documenti che possano al
tempo stesso essere letti ed apprezzati da esseri
umani, ma anche acceduti ed interpretati da
agenti automatici che potranno agire come agenti
di ricerca, filtri di informazioni o
intermediari (brokers) nelle comunicazioni - Il Web si deve dunque dotare di una
sovrastruttura per linteroperabilità semantica
tra le applicazioni, in modo da poter svolgere
quelle funzioni che oggi debbono essere fatte a
mano o codificate dentro ai programmi - Questo porta al web semantico, in cui non esprimo
testi (all'interno dei quali le informazioni
stanno nascoste e richiedono un umano), ma
affermazioni (informazioni non ambigue, che
esprimono relazioni tra oggetti, risorse, esseri
umani, fatti del mondo reale, e che possono
essere utilizzate anche da applicazioni
automatiche) - Il Semantic Web NON risulta separato e distinto
del Web odierno, ma è piuttosto una sua estensione
4OBIETTIVI DEL SEMANTIC WEB
Le pagine HTML contengono informazioni che
possono essere lette dalle persone Occorre
navigare manualmente, leggere diverse pagine
prima di trovare le informazioni che
interessano
5OBIETTIVI DEL SEMANTIC WEB
La stessa pagina può essere fornita in
RDF con dati e metadati che possono essere letti
dalle macchine, per esempio /Computers/Internet/
WWW/ index.rdf Un software può leggere i
metadati in RDF e decidere se i dati trovati sono
rilevanti o come procedere con la ricerca.
6COME REALIZZARE IL SEMANTIC WEB?
- In questi ultimi anni si sono fatti molti sforzi
per fornire tecnologie in grado di estendere il
Web così come lo conosciamo oggi verso una
dimensione semantica, implementando i concetti di
Ontologia, Agente Intelligente e Annotazione
semantica - Le tecnologie coinvolte per questo sviluppo sono
molteplici - URI, un meccanismo generico per identificare
risorse - XML, una meta-sintassi utilizzabile da ogni
applicazione - RDF, un linguaggio per esprimere affermazioni
- Linguaggi per la creazione di ontologie
(DAMLOIL, OWL)
7SEMANTIC WEB LAYER CAKE
Il Web semantico è stato pensato dal W3C come un
oggetto costruito attraverso strati sovrapposti
di linguaggi. Ogni nuovo strato usa o estende gli
strati precedenti
ONTOLOGIE
METADATI
Semantic Web Layer Cake Barners-Lee, 2003
DATI
DATI
DATI
DATI
8- OBIETTIVI DEL SEMANTIC WEB
- Supportare tecnologie che consentano lo scambio
globale di informazione - Condividere dati e metadati
-
- Realizzare appieno le potenzialità del Web
-
- Rendere efficiente e conveniente la
memorizzazione della conoscenza -
- Rendere linformazione accessibile in maniera
automatica ad agenti software -
- Favorire il riuso dellinformazione
-
- Integrare contenuti esistenti sul Web
9- Ottimizzare la ricerca di informazioni da parte
degli utenti coi motori di ricerca -
- Creare correlazioni semantiche tra pagine
appartenenti a domini diversi -
- Rendere possibile lautomazione di transazioni
commerciali -
- Garantire un livello di fiducia nella bontà delle
risposte ottenute
10LE ONTOLOGIE
11 ONTOLOGIE Metadati strutturati secondo un
ordine logico. Vengono espresse le relazioni fra
i metadati (concetti) METADATI Descrivono i
dati riportandoli ai concetti di uno schema.
DATI distribuiti nel Web (pagine web)
Esigenza di introdurre metadati (dati che
descrivono dati) per mappare i dati rispetto a
classi, o concetti, di questo schema di dominio
12MOTIVAZIONI ALLUSO DELLE ONTOLOGIE
Per raggiungere gli obiettivi evidenziati,
occorre perseguire lintegrazione fra le
informazioni sul web Integrazione di
informazioni Lintegrazione di dati eterogenei
presuppone che le applicazioni condividano lo
stesso linguaggio
Condivisione di conoscenza Diverse applicazioni
accedono alla medesima conoscenza
Riuso di conoscenza Diverse applicazioni riusano
la medesima conoscenza
13ESEMPIO
Dominio Psicologico una disfunzione?
Che cosè?
?
In relazione a uomo o animale?
Mucca
Pazza
Zoologia un tipo di mucca?
Dominio Medico una malattia?
14- Occorre eliminare la confusione terminologica e
concettuale ed individuare le entità cui un
pacchetto di conoscenza si riferisce - Organizzare e rendere esplicito il significato
referenziale permette di comprendere
linformazione - Condividere questa comprensione facilita il
recupero e il riutilizzo della conoscenza tra
agenti e in contesti diversi
ONTOLOGIE
15COSA SONO LE ONTOLOGIE
La parola Ontologia non ha un unico
significato Nellambito della filosofia,
rappresenta una branca della metafisica che
studia la natura di ciò che esiste. E legato
alla teoria dell'esistenza che si occupa di dare
risposte a domande del tipo cosè lesistenza?
Quali proprietà possono spiegarla? Come queste
proprietà la spiegano? Nellambito
dellIntelligenza Artificiale, indica la
specificazione di una concettualizzazione ovvero
una descrizione formale di un insieme di concetti
e delle relazioni che intercorrono tra essi.
Indica in sintesi, una classificazione
tassonomica delle componenti di un dominio che
vengono rappresentati in classi e sottoclassi In
questultima accezione, il termine Ontologia sta
diventando sempre più comune tra gli utenti e gli
sviluppatori del Web
16QUALCHE DEFINIZIONE
Unontologia fornisce i termini per descrivere
esplicitamente la concettualizzazione che sta
dietro la conoscenza rappresentata nella base di
conoscenza
Bernarasother, 96
Lontologia e vista come un vocabolario
(tassonomia) di concetti, che rappresenta un
determinato dominio di interesse, dotato di un
insieme di relazioni tra i concetti stessi che
consentono di capire come sono legati fra loro
Josephsonother, 99
Unontologia e una collezione di frasi che
definiscono le relazioni tra concetti e
specificano le regole logiche
Tim Berners-Lee, 99
17- Lontologia e una esplicita e formale
rappresentazione di una concettualizzazione
condivisa - Gruber, 96
- concettualizzazione modello astratto e
semplificato che identifica i concetti rilevanti
del mondo che noi desideriamo rappresentare - esplicita i tipi di concetti usati e le
restrizioni devono essere definiti
dichiaratamente - formale deve essere machine-understanstandable
- condivisa una ontologia cattura una conoscenza
consensuale, non ristretta a qualche individuo
18LA CONCETTUALIZZAZIONE
Concettualizzazione modello astratto e
semplificato che identifica i concetti rilevanti
del mondo che noi desideriamo rappresentare Essa
e indipendente dal vocabolario usato (es.lingua)
Differenti situazioni possono coinvolgere lo
stesso concetto descritto attraverso vocabolari
diversi. Differenti situazioni possono
coinvolgere la stessa concettualizzazione
MELA
APPLE
19IN SINTESI
- In sintesi, unontologia descrive formalmente il
dominio di un discorso e consiste in - una lista finita di termini che denotano
concetti (ossia classi di oggetti) del dominio - relazioni gerarchie di classi, proprietà,
restrizioni di valori, relazioni logiche e di
disgiunzione - Unontologia è un documento che descrive la
semantica dei termini di un dominio di conoscenza
attraverso le loro relazioni.
20ONTOLOGIE E SEMANTIC WEB
Lintroduzione delle ontologie nel Web consente
- interoperabilità condividere una comprensione
comune della struttura dellinformazione in un
gruppo - riuso della conoscenza del dominio, per non
duplicare sforzi nello sviluppo di sistemi
software - separazione della conoscenza dichiarativa sul
dominio dalla conoscenza procedurale - comunicazione tra agenti sw e tra sw e umani,
fornendo una terminologia comune - esplicitare le assunzioni sul dominio
21ONTOLOGIE E SEMANTIC WEB
Web attuale
Ontologie
informazioni in diversi formati
descrivendo in modo formale i contenuti di ogni
sorgente, possono essere utile per facilitare il
processo di ricerca su fonti eterogenee
22ONTOLOGIE E SEMANTIC WEB
Web attuale
Ontologie
Mancanza di struttura
descrivono in modo strutturato (XML-based) i
contenuti di ogni sorgente
23ONTOLOGIE E SEMANTIC WEB
Web attuale
Ontologie
Ambiguità semantica
definendo mediante unontologia il contesto di
riferimento, i termini utilizzati sono
relazionati a quellambito (interoperabilità
semantica)
24IN SINTESI
- Lintroduzione delle ontologie nel Web
- consente la strutturazione delle informazioni
- consente di esplicitare relazioni semantiche
- permette di superare alcuni aspetti critici del
Web tradizionale
25ESEMPIO
Africa world life Animal Plant Herbivore
Carnivore Tree Giraffa Leon
Pioppo
Dominio africa world life
26TRADUCENDO IN UN FORMALISMO SEMANTICO
lt?xml version"1.0" encoding"utf-8"?gt ltrdfRDF
xmlnsrdf"http//www.w3.org/1999/02/22-rdf-synta
x-ns" xmlnsowl"http// www.w3.org/1999/02/owl
"gt ... ltowlOntology rdfabout xmlbase
/gt ltowlClass rdfIDanimal gt ltrdfsComment
gtclasse degli animali lt/rdfsComment
gt lt/owlClassgt ltowlClass rdfIDplant
gt ltrdfsComment gtclasse delle piante, disgiunta
da animali lt/rdfsComment gt ltowlDisjointWith
rdfresourceanimal gt lt/owlClassgt ltowlClass
rdfIDtree gt ltrdfsComment gtclasse delle
alberi, sottoclasse d alberi lt/rdfsComment
gt ltrdfsSubClassOf rdfresourceplants
gt lt/owlClassgt
27TIPI DI ONTOLOGIE
Domain independent
Examplemedicine,physics,etc..
Exampleselling,teaching,etc..
28ELEMENTI DELLE ONTOLOGIE
Classi
Generalmente organizzati in tassonomie, ovvero
attraverso relazioni di specializzazione e
generalizzazione. La classe viene utilizzata
per descrivere i concetti (le classi di
individui) che si vuole rappresentare (es.
PERSONA, GENITORE, MADRE)
29ELEMENTI DELLE ONTOLOGIE
Proprieta e attributi
Rappresentano le relazioni esistenti tra le
classi del dominio (es. le MADRI sono
GENITORI, i GENITORI hanno figli che sono
PERSONE)
30ELEMENTI DELLE ONTOLOGIE
Proprieta e attributi
- Il legame tra MADRE e GENITORE (is_a) indica che
le MADRI sono GENITORI e definisce una
gerarchia tra concetti, provvedendo una base per
leredità di proprietà un concetto specifico
eredita le proprietà del concetto più generale
che lo sussume - E possibile rappresentare anche proprietà più
complesse della relazione is_a - Ad esempio, è possibile definire la proprietà
ha_figli, che connette le due classi GENITORE e
PERSONA, specificando degli attributi che ne
vincolano lapplicazione v/r denota una
restrizione sulle classi che possono soddisfare
la proprietà, mentre (1,n) rappresenta una
restrizione di cardinalità - Lesempio può essere letto come un GENITORE è
una PERSONA che ha almeno 1 figlio e tutti i
figli che ha sono PERSONE
31ELEMENTI DELLE ONTOLOGIE
Assiomi
- Vengono utilizzati per modellare in maniera
esplicita espressioni in ogni caso vere - Possono essere utilizzati per diversi scopi
definire il significato dei vari componenti
dellontologia, definire relazioni complesse,
verificare la correttezza dellinformazione
specificata o dedurre nuova informazione - (es. disjoint (MADRE, PADRE) esprime il fatto che
un elemento della classe PADRE non può mai essere
anche un elemento della classe MADRE)
32ELEMENTI DELLE ONTOLOGIE
Individui (o Istanze)
Sono i singoli oggetti contenuti in una classe, a
vari livelli di generalità, a seconda dello scopo
dellontologia
33ELEMENTI DELLE ONTOLOGIE
- Il contenuto di unontologia è quindi
rappresentato da - Un insieme di classi (concetti astrazioni del
mondo reale). - Un insieme di relazioni (tra 2 classi) un
esempio è la relazione IS_A - Un insieme di assiomi
- Un insieme di individui
- Una base di conoscenza (knowledge base) sulla
quale poter eseguire elaborazioni è data allora
da - Ontologia Istanze delle classe dellontologia
34Ontologie metodologia
- Progettare unontologia significa
- Definire le classi
- Organizzare le classi un una gerarchia
tassonomica (subclass-superclass) - Definire le proprietà e descrivere i valori
leciti per ciascuna di esse - Attribuire i valori alle proprietà per tutte le
istanze create
35Ontologie metodologia
- Lontologia deve riflettere la realtà del mondo
che cerca di modellare - Non vi è un metodo corretto a priori per
modellare un dominio di conoscenza - La soluzione migliore dipende dallapplicazione
prevista e dalle sue estensioni future
36Ontologie metodologia
- Approcci possibili
- Top-down
- si parte dalla definizione dei concetti più
generali e si specializzano tali definizioni in
concetti più specifici - Bottom-up
- si parte dalla definizione delle classi più
specifiche e si cerca di raggrupparle in gruppi
concettuali più astratti
37Ontologie metodologia
- Steps 1
- Determinare il dominio e lo scopo dellontologia
- Considerare la possibilità di riusare ontologie
esistenti - Elencare i termini principali dellontologia
- Definire le classi e la gerarchia tra le classi
- Definire le proprietà delle classi
- Definire vincoli sulle proprietà
- Creare le istanze
- 1Noy, McGuinness, Ontology Development 101 A
Guide to Creating Your First Ontology ,2001
38Ontologia Associazione Culturale
Una associazione culturale vuole tenere traccia
degli eventi che si svolgono nella propria città
in particolare si vuole sapere la data
dellevento , la sua tipologia, e una sua breve
descrizione. Di ogni evento si vuole inoltre
sapere il luogo in cui si svolge, specificandone
il nome, lindirizzo, la capienza ed il
proprietario. Si vuole inoltre tener traccia
degli artisti che partecipano allevento ed il
loro ingaggio. Un artista può partecipare a più
eventi. Di ogni artista si vuole sapere nome,
cognome e la sua arte. Inoltre ad ognuno viene
assegnato un voto di interesse compreso tra 1
(noioso) a 5 (fenomenale). Per ogni evento deve
infine essere identificato lorganizzatore (nome,
indirizzo, telefono)ogni evento ha un solo
organizzatore.
39Ontologie Steps
- Determinare il dominio e lo scopo dellontologia
- Quale e il dominio che deve essere descritto
dallontologia? - Per quale scopo creiamo lontologia?
- Come vogliamo utilizzarla?
- A quali tipi di domande lontologia dovrebbe
fornire una risposta?
Dominio degli eventi in un comune lontologia
sarà usata per tenere traccia di eventi, artisti
e luoghi. Le domande tipiche saranno Quali
eventi si svolgono in un dato luogo ? Quali
artisti partecipano ad un dato evento ?
40Ontologie Steps http//swoogle.umbc.edu/
- Considerare la possibilità di riusare ontologie
esistenti - Perché riusare ontologie esistenti?
- Per risparmiare sforzi progettuali
- Per usare ontologie che sono state già validate
attraverso validatori
41Ontologie Steps
- Considerare la possibilità di riusare ontologie
esistenti - Quali ontologie esistenti?
- Ontologie generali
- WordNet (www.cogsci.princeton.edu/wn/)
- Ontologie specifiche di dominio
- GO-Gene Ontology- (http//www.geneontology.org/)
42Ontologie Steps
- Considerare la possibilità di riusare ontologie
esistenti - Cosa riusare delle ontologie esistenti?
- Librerie ontologiche
- DAML ontology library (www.daml.org/ontologies)
- Ontolingua ontology library (www.ksl.stanford.edu/
software/ontololingua) - Protege ontology library (protege.stanford.edu/plu
gins.html) - Ontologie top level
- Cyc (www.cyc.com)
43Ontologie Steps
- Elencare i termini principali dellontologia
- Quali sono i termini di cui abbiamo necessità di
parlare? - Quali sono le proprietà di questi termini?
- Cosa vogliamo rappresentare con questi termini?
44Ontologie Steps
- Definire le classi e la gerarchia tra le classi
- Definire le classi
- I concetti (le classi) corrispondono solitamente
ai sostantivi utilizzati nel dominio di
conoscenza - È importante distinguere tra le classi e i
relativi nomi - Le classi rappresentano concetti nel dominio,e
non le parole usate per esprimere tali concetti - I sinonimi non costituiscono classi diverse
45Ontologie Steps
- Definire le classi e la gerarchia tra le classi
- Definire la gerarchia fra le classi
- Le relazioni gerarchiche sono transitive
- se B è sottoclasse di A e C è sottoclasse di B,
allora C è sottoclasse di A - Le sottoclassi solitamente hanno
- proprietà aggiuntive che la superclasse non
possiede, - hanno restrizioni diverse da quelle della
superclasse, - partecipano in relazioni diverse dalla
superclasse
46Ontologie Steps
- Definire la gerarchia tra le classi
- Definire la gerarchia fra le classi
- La gerarchia delle classi rappresenta la
relazione is-a - Una sottoclasse di una classe rappresenta un
concetto che è un tipo possibile di rispetto al
concetto rappresentato dalla superclasse
47Ontologie Steps
- Definire le proprietà delle classi
- Le proprietà (slot) degli oggetti possono
corrispondere ad aggettivi e a verbi - Proprietà intrinsiche (il gusto di un vino)
- Proprietà estrinsiche (il nome di un vino)
- Relazioni con altri soggetti (costruttore di ...)
48Ontologie Steps
- Definire le proprietà delle classi
- Le proprietà possono avere diverse restrizioni
(facet) - Cardinality
- Value type
- Domain
- Range
-
49Ontologie Steps
- Definire le proprietà delle classi
- Cardinality quanti valori posso avere in uno
slot - Cardinalità minima
- Cardinalità minima 1 significa che gli slot
devono avere almeno 1 valore - Cardinalità minima 0 significa che gli slot
possono avere nessun valore - Cardinalità massima
- Cardinalità massima 1 significa che gli slot
devono avere al massimo 1 valore
50Ontologie Steps
- Definire le proprietà delle classi
- Value type tipo di dato
- String stringa di caratteri (Prof.Silmon)
- Number un intero o un decimale (32, 4,5)
- Boolean valore vero/falso
- Enumerated type una lista di valori permessi
(alto, medio, basso) - Complex type unistanza di unaltra classe
51Ontologie Steps
- Definire le proprietà delle classi
- Domain a quali classi si applica questo slot
- Range classi permesse per gli slot definibili
sulle istanze -
52Ontologie Steps
- Creare le istanze
- La classe diventa una diretto tipo di istanza
- Le istanze devono assumere valori conformi
rispetto alle restrizioni (facet) stabilite - I tool di acquisizione di conoscenza spesso
verificano tale consistenza
53desc
EVENTO
Partecipa_a
si_svolge_in
organizza
LUOGO
ARTISTA
ORGANIZZATORE
ingaggio
isa
MUSICISTA
ATTORE
SCRITTORE
ARTISTA VISIVO
SPORTIVO
best_seller
carattere
genere
specialità
strumento
genere
54Riferimenti Internet
Come costruire unontologia http//protege.stanfo
rd.edu/publications/ontology_development/ontology1
01.html Manuale di utilizzo di
Protégé http//protege.stanford.edu/doc/users_gui
de/index.html Download Protégé (versione
3.0) http//protege.stanford.edu/
55Consigli 1/4
- Limitare lo scopo
-
- Unontologia non deve contenere tutte le
possibili informazioni su un dominio - Non e necessario specializzare più concetti
rispetto a quelli richiesti dallapplicazione - Non e necessario includere tutte le possibili
proprietà di una classe, ma solo le proprietà più
salienti e quelle che lapplicazione richiede
56Consigli 2/4
- Quando sono troppi e quando pochi?
- Se una classe ha solo una sottoclasse diretta,
potrebbe esserci un problema di modellazione
lontologia non è completa - Se una classe ha piu di 10-12 figli, potrebbero
essere necessarie sotto classi intermedie - Tuttavia, se non esiste nessuna classificazione
naturale, e preferibile avere un lungo elenco di
figli, piuttosto che raggruppamenti senza
significato
57Consigli 3/4
- Creare una classe oppure una proprietà?
- Se una distinzione è importante nel dominio, e si
pensa che oggetti con valori diversi per la
distinzione siano oggetti di tipo diverso, allora
conviene creare una nuova classe - Se i concetti con diversi valori degli slot
diventano restrizioni sugli slot di altre classi
è opportuno creare una nuova classe - Altrimenti la distinzione si rappresenta più
semplicemente mediante un diverso valore dello
slot -
58Consigli 4/4
- Garantire che la gerarchia delle classi sia
corretta - Una sottoclasse di una classe rappresenta un
concetto che è un tipo possibile di rispetto al
concetto rappresentato dalla superclasse - Le relazioni gerarchiche sono transitive
- se B è sottoclasse di A e C è sottoclasse di B,
allora C è sottoclasse di A
59Consigli 5/4
- Analizzare i figli della gerarchia
-
- I figli (siblings) sono le classi che sono
sottoclassi dirette della stessa classe. Tutti i
figli della gerarchia devono avere lo stesso
livello di generalità
60ESERCITAZIONE
Creare una ontologia del mondo universitario.
Supporre che lontologia verrà utilizzata da una
segreteria didattica, per tener traccia dei
corsi, dei professori che insegnano i corsi e
degli studenti che li seguono. Devono essere
quindi rappresentate le entità più importanti del
mondo (personale docente, professori, professori
ordinari, professori associati, ricercatori,
studenti, corsi, ) e le relazioni che
intercorrono tra di essi