590 likes | 725 Views
DAL WEB AL SEMANTIC WEB Aspetti teorici e tecnologici Carmagnola Francesca Dipartimento Informatica C.so Svizzera 185, Torino carmagnola@di.unito.it. TIRIAMO LE FILA DEL DISCORSO.
E N D
DAL WEB AL SEMANTIC WEB • Aspetti teorici e tecnologici • Carmagnola Francesca • Dipartimento Informatica • C.so Svizzera 185, Torino • carmagnola@di.unito.it
TIRIAMO 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 l’argomento trattato o la fonte delle informazioni. L’unico tipo di ricerca che si può fare su un documento è la ricerca manuale sul contenuto • Il W3C considera l’ideale, futura evoluzione del Web quella dal machine-representable al machine-understandable • Le metainformazioni 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
SEMANTIC WEB • L’idea è 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 l’interoperabilità 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
OBIETTIVI 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
OBIETTIVI 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.
COME 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 (DAML+OIL, OWL)
SEMANTIC 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
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 l’informazione accessibile in maniera automatica ad agenti software • Favorire il riuso dell’informazione • Integrare contenuti esistenti sul Web
Ottimizzare la ricerca di informazioni da parte degli utenti coi motori di ricerca • Creare correlazioni semantiche tra pagine appartenenti a domini diversi • Rendere possibile l’automazione di transazioni commerciali • Garantire un livello di fiducia nella bontà delle risposte ottenute
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 descrivonodati) per mappare i dati rispetto a classi, o concetti, di questo schema di dominio
MOTIVAZIONI ALL’USO DELLE ONTOLOGIE • Per raggiungere gli obiettivi evidenziati, occorre perseguire l’integrazione fra le informazioni sul web • Integrazione di informazioni • L’integrazione 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
ESEMPIO Dominio Psicologico: una disfunzione? Che cos’è? ? In relazione a uomo o animale? Mucca Pazza Zoologia: un tipo di mucca? Dominio Medico: una malattia?
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 l’informazione Condividere questa comprensione facilita il recupero e il riutilizzo della conoscenza tra agenti e in contesti diversi ONTOLOGIE
COSA SONO LE ONTOLOGIE La parola Ontologia non ha un unico significato Nell’ambito 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’è l’esistenza? Quali proprietà possono spiegarla? Come queste proprietàla spiegano? Nell’ambito dell’Intelligenza Artificiale, indica la specificazione di unaconcettualizzazione 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 quest’ultima accezione, il termine Ontologia sta diventando sempre più comune tra gli utenti e gli sviluppatoridel Web
QUALCHE DEFINIZIONE “Un’ontologia fornisce i termini per descrivere esplicitamente la concettualizzazione che sta dietro la conoscenza rappresentata nella base di conoscenza” [Bernaras&other, 96] “L’ontologia 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” [Josephson&other, 99] “Un’ontologia e’ una collezione di frasi che definiscono le relazioni tra concetti e specificano le regole logiche” [Tim Berners-Lee, 99]
“L’ontologia 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
LA 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
IN SINTESI… In sintesi, un’ontologia 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 • Un’ontologia è un documento che descrive la semantica dei termini di un dominio di conoscenza attraverso le loro relazioni.
ONTOLOGIE E SEMANTIC WEB L’introduzione delle ontologie nel Web consente: • interoperabilità: condividere una comprensione comune della struttura dell’informazione 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
ONTOLOGIE 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
ONTOLOGIE E SEMANTIC WEB Web attuale Ontologie Mancanza di struttura descrivono in modo strutturato (XML-based) i contenuti di ogni sorgente
ONTOLOGIE E SEMANTIC WEB Web attuale Ontologie Ambiguità semantica definendo mediante un’ontologia il contesto di riferimento, i termini utilizzati sono relazionati a quell’ambito (interoperabilità semantica)
IN SINTESI… L’introduzione delle ontologie nel Web: • consente la strutturazione delle informazioni • consente di esplicitare relazioni semantiche • permette di superare alcuni aspetti critici del Web tradizionale
ESEMPIO Africa world life Animal Plant Herbivore Carnivore Tree Giraffa Leon Pioppo Dominio: africa world life
TRADUCENDO IN UN FORMALISMO SEMANTICO… <?xml version="1.0" encoding="utf-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:owl="http:// www.w3.org/1999/02/owl#"> ... <owl:Ontology rdf:about =“xml:base “ /> <owl:Class rdf:ID=“animal“ > <rdfs:Comment >classe degli animali </rdfs:Comment > </owl:Class> <owl:Class rdf:ID=“plant“ > <rdfs:Comment >classe delle piante, disgiunta da animali </rdfs:Comment > <owl:DisjointWith rdf:resource=“animal“ > </owl:Class> <owl:Class rdf:ID=“tree“ > <rdfs:Comment >classe delle alberi, sottoclasse d alberi </rdfs:Comment > <rdfs:SubClassOf rdf:resource=“plants“ > </owl:Class>
TIPI DI ONTOLOGIE Domain independent Example:medicine,physics,etc.. Example:selling,teaching,etc..
FEMMINA PERSONA DONNA GENITORE MADRE PADRE ELEMENTI 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…)
v/r FEMMINA PERSONA ha_figli DONNA GENITORE (1,n) is_a PADRE MADRE ELEMENTI 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”…)
GENITORE MADRE PADRE disjoint ELEMENTI 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 dell’ontologia, definire relazioni complesse, verificare la correttezza dell’informazione 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)
FEMMINA PERSONA DONNA GENITORE MADRE PADRE Luca, Claudio,… Luisa, Anna, Maria,… ELEMENTI DELLE ONTOLOGIE Individui (o Istanze) Sono i singoli oggetti contenuti in una classe, a vari livelli di generalità, a seconda dello scopo dell’ontologia
ELEMENTI DELLE ONTOLOGIE Il contenuto di un’ontologia è 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 dell’ontologia
Ontologie: metodologia Progettare un’ontologia 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
Ontologie: metodologia • L’ontologia 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 dall’applicazione prevista e dalle sue estensioni future
Ontologie: 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
Ontologie: metodologia Steps[1] • Determinare il dominio e lo scopo dell’ontologia • Considerare la possibilità di riusare ontologie esistenti • Elencare i termini principali dell’ontologia • Definire le classi e la gerarchia tra le classi • Definire le proprietà delle classi • Definire vincoli sulle proprietà • Creare le istanze [1]Noy, McGuinness, “Ontology Development 101: A Guide to Creating Your First Ontology ”,2001
Ontologia “Associazione Culturale” “Una associazione culturale vuole tenere traccia degli eventi che si svolgono nella propria città: in particolare si vuole sapere la data dell’evento , la sua tipologia, e una sua breve descrizione. Di ogni evento si vuole inoltre sapere il luogo in cui si svolge, specificandone il nome, l’indirizzo, la capienza ed il proprietario. Si vuole inoltre tener traccia degli artisti che partecipano all’evento 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 l’organizzatore (nome, indirizzo, telefono);ogni evento ha un solo organizzatore. ”
Ontologie: Steps AD ESEMPIO Determinare il dominio e lo scopo dell’ontologia • Quale e’ il dominio che deve essere descritto dall’ontologia? • Per quale scopo creiamo l’ontologia? • Come vogliamo utilizzarla? • A quali tipi di domande l’ontologia dovrebbe fornire una risposta? Dominio degli eventi in un comune; l’ontologia 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 ? …
AD ESEMPIO Potrebbe già esistere una ontologia che descrive luoghi fisici, e che potrebbe essere importata nell’ontologia dell’associazione culturale Ontologie: 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
Ontologie: 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/)
Ontologie: 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/plugins.html) • Ontologie top level • Cyc (www.cyc.com)
Ontologie: Steps AD ESEMPIO Termini riguardanti il dominio degli eventi potrebbero essere: data dell’evento , luogo dell’evento, artista partecipante, indirizzo, organizzatore, capienza del luogo, tipo di evento ….. Elencare i termini principali dell’ontologia • Quali sono i termini di cui abbiamo necessità di parlare? • Quali sono le proprietà di questi termini? • Cosa vogliamo rappresentare con questi termini?
Ontologie: 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
Ontologie: 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
Ontologie: Steps AD ESEMPIO Dalla lista di termini precedenti: Musicista, scrittore, pittore….sono sottoclassi della classe artista, cioè tipi possibili di artista 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
Ontologie: Steps AD ESEMPIO La classe artista ha come proprietà: nome, cognome, voto (attributi) e partecipa_a (relazione). La sottoclasse musicista eredita da artista le proprietà nome cognome voto partecipa_a, e possiede in più la proprietà genere_musicale. 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 ...)
Ontologie: Steps AD ESEMPIO Lo slot voto dellaclasse artista è di tipo numerico, di cardinalità singola (un artista può avere un solo voto), ha un valore minimo pari a 1 e un voto massimo pari a 5, ed ha un valore di default pari a 3 (si suppone cioè che un’artista abbia generalmente un gradimento medio). Definire le proprietà delle classi • Le proprietà possono avere diverse restrizioni (“facet”): • Cardinality • Value type • Domain • Range
Ontologie: 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
Ontologie: 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: un’istanza di un’altra classe
Ontologie: Steps ADESEMPIO La relazione artista partecipa_aevento viene rappresentata nella classe artista come slot di tipo Instance: a tale slot potranno essere quindi assegnate solo istanze; inserendo l’ulteriore vincolo che tale istanze siano solo quelle della classe evento, la relazione viene quindi realizzata. In un mondo in cui tutti i musicisti sono bravi, si potrebbe inserire una restrizione sullo slot voto che il musicista eredita da artista, imponendo valori solo superiori a 4. Definire le proprietà delle classi • Domain: a quali classi si applica questo slot • Range: classi permesse per gli slot definibili sulle istanze