Sistemi basati su conoscenza Semantic Web Prof. M.T. PAZIENZA a.a. 2005-2006 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 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? syntactic analysis lsubj lobj [Who] [holds] [the Database course]? NPK VPK NPK:course_c semantic analysis list_all(X). relation(E,teach), arg1(E, person_c(X)), arg2(E,course_c(“Database course“)) 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… WWW2002 The eleventh international world wide web conference Sheraton waikiki hotel Honolulu, hawaii, USA 7-11 may 2002 1 location 5 days learn interact Registered participants coming from australia, canada, chile denmark, france, germany, ghana, hong kong, india, ireland, italy, japan, malta, new zealand, the netherlands, norway, singapore, switzerland, the united kingdom, the united states, vietnam, zaire Register now On the 7th May Honolulu will provide the backdrop of the eleventh international world wide web conference This prestigious event Speakers confirmed Tim berners-lee Tim is the well known inventor of the Web, Ian Foster Ian is the pioneer of the Grid, the next generation internet Solutione: XML markup con tag ricchi di significato <name>WWW2002 The eleventh international world wide webcon</name> <location>Sheraton waikiki hotel Honolulu, hawaii, USA</location> <date>7-11 may 2002</date> <slogan>1 location 5 days learn interact</slogan> <participants>Registered participants coming from australia, canada, chile denmark, france, germany, ghana, hong kong, india, ireland, italy, japan, malta, new zealand, the netherlands, norway, singapore, switzerland, the united kingdom, the united states, vietnam, zaire</participants> <introduction>Register now On the 7th May Honolulu will provide the backdrop of the eleventh international world wide web conference This prestigious event Speakers confirmed</introduction> <speaker>Tim berners-lee</speaker> <bio>Tim is the well known inventor of the Web,</bio>… 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 posso 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 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”, 1998. http://www.w3.org/DesignIssues/RDFnot.html …quindi… 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. Cosa accade in caso di mancato agreement semantico? Esistono molte ontologie tra loro diverse e altre saranno sviluppate in futuro relativamente allo stesso dominio o domini parzialmente sovrapposti Integrare le loro informazioni è importante sia: a livello di schema SI Migrazione della conoscenza ed interrogazioni remote a livello di dati SJ SK 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? 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’armonizzae 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