Sistemi basati su conoscenza Semantic Web Prof. M.T. PAZIENZA a.a
Introduzione Internet contiene enormi quantità di dati memorizzati in milioni di pagine che vengono usate per lo scambio di informazioni. In maggioranza sul web vengono create pagine a contenuto testuale ma prive di qualunque tipo di annotazione semantica. A causa di ciò il processo di ricerca si basa ancora quasi esclusivamente su keywords vanificando gli obiettivi ambiziosi di accesso alle informazioni supportato dal web
Tim Berners-Lee visione (2001) “... a goal of the Web was that, if the interaction between person and hypertext could be so intuitive that the machine-readable information space gave an accurate representation of the state of people's thoughts, interactions, and work patterns, then machine analysis could become a very powerful management tool, seeing patterns in our work and facilitating our working together through the typical problems which beset the management of large organizations.” T. Berners Lee (ed altri) continuano a lavorare per la realizzazione di un tale progetto ambizioso ormai universalmente noto come Semantic Web
Situazione attuale: syntactic Web [Hendler & Miller 02]
Il syntactic Web è…...un luogo in cui i calcolatori si preocupano della presentazione (attività facile da fare) gli uomini curano l’interpretazione ed i collegamenti (possono fare deduzioni da informazion parziali, associazioni mentali, possono combinare tra loro informazioni diverse, in lingue diverse etc). –hypermedia, una digital library Una libreria di documenti (web pages) interconnessi da link ipermediali –Un database, una piattaforma per applicazioni Un comune portale, accessibile da pagine web, di applicazioni che presentino i propri risultati come pagine web. –Una piattaforma per multimedia BBC Radio 4 anywhere in the world! Terminator 3 trailers! –Uno schema unico per i nomi Identificatori unici per questi documenti... e gli agenti?
… Perchè le informazioni siano processabili da un agente c’è bisogno di: –nomi non ambigui per le risorse (URIs) che possono anche collegare dati ad oggetti del mondo reale –un modello di dati comune: RDF unitamente a modalità di accesso a quei dati sul Web –vocabolari comuni: RDFS, OWL –logiche per il ragionamento: OWL, Regole The “Semantic Web” is an infrastructure for the interchange and the integration of data on the Web che estende il web sintattico e non lo sostituisce
Resource Description Framework ( RDF ) RDF permette di scrivere statements che siano machine-processable. Uno statement RDF è come una frase in cui quasi tutte le parole sono URI (Uniform Resource Identifier). Ciascuno statement RDF ha tre componenti: un soggetto, un predicato e un oggetto. Esempio di statement RDF:. Cosa è scritto nello statement? Il primo URI è il soggetto (in questo caso la pagina di Aaron Swartz ). Il secondo URI è il predicato e mette in relazione il soggetto con l’oggetto. (In questo esempio il predicato è "reallyLikes“). Il terzo URI è l’oggetto. (Qui l’oggetto è il libro di Tim Berners-Lee "Weaving the Web“), così nell’esempio si dice che Aaron Swartz really likes "Weaving the Web."Aaron Swartz
Resource Description Framework ( RDF ) RDF è un grafo. Una tripla (s,p,o) soggetto-proprietà-oggetto può essere vista come un arco etichettato in un grafo –i.e., un insieme di statements RDF è un grafo diretto etichettato “oggetti” e “soggetti” sono nodi del grafo “proprietà” sono gli archi
Il Semantic Web è… Il Semantic Web è un web di dati, una sorta di enorme database globale. La motivazione per la creazione di una tale infrastruttura è altrove, qui si può solo identificare l’architettura per sè.
Semantic web roadmap La parte a sinistra, il web, mostra come una URI, tramite l’HTTP, viene convertita nella rappresentazione di un documento. E’ poi convertita in XML e poi in RDF, per produrre un grafo RDF o, a livello logico, in una formula logica. La parte a destra, la parte semantica, mostra come il grafo RDF contiene un riferimento all’URI.
Il syntactic Web è… Un luogo dove 1.gli elaboratori gestiscono la visualizzazione dei documenti (compito ben definito e facilmente implementabile) 2.le persone realizzano i collegamenti concettuali e l’interpretazione (compito ancora non ben definito e difficile da realizzare) Sarebbe interessante sviluppare processi automatici per il punto 2
Aspettative per il SW Porre domande complesse che implichino background knowledge (vorrei informazioni su chi insegna“basi di dati”) Localizzare informazioni specifiche all’interno di data repositories (ricerche di percorsi di viaggio, prezzi di prodotti di una categoria merceologica, risultati di esperimenti, …) Delegare a web “agents” compiti complessi (mostrami un sito dove comprare un laptop potente, non molto costoso e soprattutto leggero)
Qual è il problema? Consideriamo una pagina web
Qual è il problema? Consideriamo un’altra pagina web
Qual è il problema? Consideriamo ancora un’altra pagina web
Qual è il problema? Le pagine sono state visualizzate negli opportuni formati e colori, i link ipertestuali sono opportunamente visualizzati e collegati ad altri contenuti; il tutto indipendentemente dal linguaggio in cui le pagine sono state scritte Il contenuto (semantico) di ciascuna pagina è accessibile solo agli umani ma non agli elaboratori …
Un esempio: analisi della query Who holds the Database course? [Who] [holds] [the Database course]? lsubjlobj NPK:course_cNPKVPK syntactic analysis list_all(X). relation(E,teach), arg1(E, person_c(X)), arg2(E,course_c(“ Database course “ )) semantic analysis
Un esempio: matching della query list_all(X). relation(E,teach), arg1(E, person_c(X)), arg2(E,course_c(“ Database course “ )) teach
L’informazione vista dalla macchina…
Solutione: XML markup con tag ricchi di significato …
Ma cosa dire circa i contenuti?… …
C’è bisogno di semantica External agreement sul significato delle annotazioni Accordo sul significato di un insieme di tag di annotazione Problemi possibili Scarsa flessibilità Numero limitato di fatti che possono essere espressi Uso di Ontologie per specificare il significato delle annotazioni –Le ontologie forniscono un vocabolario di termini –Nuovi termini possono essere formati combinando termini preesistenti: “Conceptual Lego” –Il significato (semantica) di tali termini è formalmente specificato –E’ possibile specificare relazioni tra termini in ontologie diverse.
[AKT 2003]
Quali le difficoltà? I linguaggi ontologici sono complessi Le ontologie sono complesse (le persone le realizzano facilmente usando l’intuizione piuttosto che la logica; ma l’intuizione è difficile da formalizzare) La complessità del problema è nota sin dall’antichità (Aristotele), ed ora torna di attualità perché il SW diventa significativo una volta definiti i problemi di rappresentazione della conoscenza
Struttura delle ontologie Le ontologie in genere si basano su due componenti principali: Vengono usati nomi per indicare concetti di dominio –Elefante è un concetto i cui membri sono degli animali –Erbivoro è un concetto i cui membri sono proprio quegli animali che mangiano solo piante o parti di piante –Elefante adulto è un concetto i cui membri sono proprio quegli elefanti con età superiore a 20 anni Conoscenza di background /vincoli sul dominio –Gli elefanti adulti pesano almeno 2000 kg –Tutti gli elefanti sono o elefanti africani o elefanti indiani –Nessun individuo può essere contemporaneamente un erbivoro ed un carnivoro
Gestione delle ontologie Necessità di definire tool e servizi per aiutare gli utenti a: –Disegnare e mantenere ontologie di qualità, ovvero: Ricche di significato — tutte le classi definite devono avere istanze Corrette — catturare le intuizioni degli esperti Scarsamente ridontanti — evitare sinonimi inutili Ampiamente assiomatizzate — descrizioni dettagliate –Memorizzare numerose istanze di classi di dominio, ovvero: Annotazioni dalle pagine web –Rispondere a query relative a classi ed istanze dell’ontologia, ovvero: Trovare classi più generali/specifiche Trovare pagine/annotazioni corrispondenti ad una data descrizione –Integrare ed allineare più ontologie
Premise: a promise …quindi… The concept of machine-understandable documents does not imply some magical artificial intelligence which allows machines to comprehend human mumblings. It only indicates a machine's ability to solve a well-defined problem by performing well-defined operations on existing well-defined data. Instead of asking machines to understand people's language, it involves asking people to make the extra effort. Tim Berners-Lee, “What the Semantic Web can represent”,
Soluzioni per il SW L’adesione a linguaggi per la rappresentazione della conoscenza sul web, come RDF e OWL, dovrebbe garantire una effettiva interoperabilità della conoscenza distribuita tra più sorgenti informative autonomamente definite. Il passaggio da syntactic a semantic web più che richiedere una maggiore intelligenza da parte dei sistemi di calcolo, può avvenire se si definiscono metodologie condivise (standard) per la rappresentazione della conoscenza. …ma…
Modelli e Meta-modelli OWL, RDF etc.. non sono modelli del mondo/dominio, sono modelli per la rappresentazione della conoscenza e, di conseguenza, meta-modelli per descrivere oggetti del mondo reale. Se si afferma A is-a B, si intende: che tutte le istanze di A sono anche istanze di B che tutte le istanze di A sono soggette alle restrizioni delle proprietà che sono specificate su B … Non si può affermare: come le istanze di A (o B ) si relazionino con oggetti del mondo reale
Soluzioni per il SW Per tornare alle parole di Berners-Lee, non c’è alcuna necessità di –“magical artificial intelligence” –natural language understanding bensì soltanto di aderire ad un livello ontologico –non necessariamente ad una sola ontologia generale … –…ma un insieme di ontologie di fiducia che vengono condivise in un dato contesto.
Semantica di una ontologia La semantica di una ontologia viene definita tramite: –l’interpretazione data da coloro che usano l’ontologia stessa all’interno di un framework specifico (red car è una macchina rossa o un modellino di macchina rossa?) –l’uso che le applicazioni fanno dei concetti dell’ontologia all’interno del framework in cui sono coinvolte Lo spazio dei nomi si comporta, sotto tutti gli aspetti, come referente degli oggetti all’interno dello stesso framework. Si ipotizza che: –gli umani siano capaci di interpretare nella stessa maniera gli stessi nomi nello stesso spazio dei nomi, così come –le macchine siano capaci di usare tali dati consistentemente.
Esistono molte ontologie tra loro diverse e continuamente altre vengono sviluppate relativamente allo stesso dominio o a domini parzialmente sovrapposti Integrare le loro informazioni è importante sia: a livello di schema Migrazione della conoscenza ed interrogazioni remote a livello di dati Espandere la conoscenza relativa agli stessi oggetti Tale integrazione può essere realizzata attraverso processi di Ontology Merging (produzione di una sola risorsa globale da altre pre-esistenti) Ontology Alignment (mappings tra due risorse esistenti) Cosa accade in caso di mancato agreement semantico? SISI SJSJ SKSK
La mancanza di un qualsivoglia accordo rende difficile che: –concettualizzazioni analoghe in diverse ontologie siano facilmente “mappate” una con l’altra –questi mappings siano “semanticamente conservativi” Ciò implica che i sistemi di calcolo siano coinvolti in attività ulteriori di processing per rendere la conoscenza : –“comprensibile” –interoperabile
Ruolo del linguaggio naturale Su quale informazione possono basarsi le macchine? Il linguaggio Il linguaggio (naturale), alla fine, può essere considerato l’ultima risorsa sfruttabile Rimane l’unico modo per trasferire la semantica dei dati Aiuta gli umani a capire come oggetti formali corrispondano alla loro conoscenza sul mondo Può essere d’aiuto alle macchine nell’armonizzare differenti concettualizzazioni Pro: offre un modo ricco ed universalmente accettato per esprimere il significato Contro: è ambiguo; fenomeni di synonimia ed omonimia L’importanza del linguaggio è spesso sottostimata, sotto molti aspetti: –Risultati sperimentali (e.g. nel Ontology Alignment) –Standard (nessuno standard nè per associare il linguaggio alla conoscenza concettuale, nè per rappresentare la stessa conoscenza linguistica) –Risorse / Infrastrutture
Web 2.0 E’ il web “sociale”, concepito non più come una grande biblioteca di documenti in cui autori e lettori sono nettamente distinti, ma come un insieme di applicazioni collaborative in cui ciascuno è autore e lettore allo stesso tempo, e interagisce con gli altri per costruire conoscenza e servizi a valore aggiunto ciascun utente può pubblicare online propri contenuti in modo fortemente automatizzato, tali contenuti possono coprire tutta la gamma della multimedialità, dai semplici testi ai video; ne sono un esempio i Blog o siti come YouTube; tutti possono intervenire sui contenuti pubblicati per classificarli con parole chiave a seconda del proprio punto di vista (è la cosiddetta Folksonomy), per commentarli, per diffonderli segnalandoli ad altre persone; i contenuti (notizie, filmati, mappe geografiche interattive, ecc.) possono essere condivisi in modo automatico su siti diversi e possono essere utilizzati per comporre siti e “pannelli di controllo” personalizzati (i cosiddetti Mash-Up); si diffondono applicazioni web che permettono la produzione collaborativa a distanza dei contenuti (es. i Wiki, divenuti famosi in particolar modo con Wikipedia).
Web 2.0 problemi Non è così automatico che tutti partecipino al Web 2.0: Per un coinvolgimento anche ai livelli più alti occorre creare infrastrutture che sappiano integrare tecnologie e persone: occorrono figure professionali che conoscano profondamente il contesto in cui le persone operano nel lavoro e nella società e sappiano mettere in gioco competenze di tipo relazionale. L’unica misura della qualità dell' innovazione fondata su Web 2.0 è l’adesione dei destinatari che producono e consumano informazione, non l’efficienza delle tecnologie. Il rischio è di centrare l’attenzione sulle singole applicazioni di successo (che spesso sono rapidamente superate) piuttosto che sui modelli e le infrastrutture che vengono proposti.
Argomenti trattati in questa lezione Web (luog di condivisione di documenti) Semantic Web Linguaggi per la rappresentazione della conoscenza sul Web Ontologie a supporto della condivisione della conoscenza sul Web Web 2.0