Sistemi basati su conoscenza Semantic Web

36
Sistemi basati su conoscenza Semantic Web Prof. M.T. PAZIENZA a.a. 2007-2008

description

Sistemi basati su conoscenza Semantic Web. Prof. M.T. PAZIENZA a.a. 2007-2008. Introduzione. Internet contiene enormi quantità di dati memorizzati in milioni di pagine che vengono usate per lo scambio di informazioni. - PowerPoint PPT Presentation

Transcript of Sistemi basati su conoscenza Semantic Web

Page 1: Sistemi basati su conoscenza Semantic Web

Sistemi basati su conoscenzaSemantic Web

Prof. M.T. PAZIENZAa.a. 2007-2008

Page 2: Sistemi basati su conoscenza Semantic Web

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

Page 3: Sistemi basati su conoscenza Semantic 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

Page 4: Sistemi basati su conoscenza Semantic Web

Situazione attuale: syntactic Web

[Hendler & Miller 02]

Page 5: Sistemi basati su conoscenza Semantic Web

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?

Page 6: Sistemi basati su conoscenza Semantic Web

…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

Page 7: Sistemi basati su conoscenza Semantic Web

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:<http://aaronsw.com/>

<http://love.example.org/terms/reallyLikes> <http://www.w3.org/People/Berners-Lee/Weaving/> .

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."

Page 8: Sistemi basati su conoscenza Semantic Web

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

Page 9: Sistemi basati su conoscenza Semantic Web

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è.

Page 10: Sistemi basati su conoscenza Semantic Web

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.

Page 11: Sistemi basati su conoscenza Semantic Web

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

Page 12: Sistemi basati su conoscenza Semantic Web

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)

Page 13: Sistemi basati su conoscenza Semantic Web

Qual è il problema?

Consideriamo una pagina web

Page 14: Sistemi basati su conoscenza Semantic Web

Qual è il problema?

Consideriamo un’altra pagina web

Page 15: Sistemi basati su conoscenza Semantic Web

Qual è il problema?

Consideriamo ancora un’altra pagina web

Page 16: Sistemi basati su conoscenza Semantic 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 …

Page 17: Sistemi basati su conoscenza Semantic Web

Un esempio: analisi della query

Who holds the Database course?

[Who] [holds] [the Database course]?

lsubj lobj

NPK:course_cNPK VPK

syntactic analysis

list_all(X).relation(E,teach),arg1(E, person_c(X)),arg2(E,course_c(“Database course“))

semantic analysis

Page 18: Sistemi basati su conoscenza Semantic Web

Un esempio: matching della query

list_all(X).relation(E,teach),arg1(E, person_c(X)),arg2(E,course_c(“Database course“))

teach

Page 19: Sistemi basati su conoscenza Semantic Web

L’informazione vista dalla macchina…

Page 20: Sistemi basati su conoscenza Semantic Web

Solutione: XML markup con tag ricchi di significato

<name> </name><location> </location>

<date> </date><slogan> </slogan><participants>

</participants><introduction>

</introduction><speaker> </speaker><bio> </bio>…

Page 21: Sistemi basati su conoscenza Semantic Web

C’è bisogno di semantica

External agreement sul significato delle annotazioniAccordo sul significato di un insieme di tag di annotazione

Problemi possibiliScarsa 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.

Page 22: Sistemi basati su conoscenza Semantic Web

[AKT 2003]

Page 23: Sistemi basati su conoscenza Semantic Web

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

Page 24: Sistemi basati su conoscenza Semantic Web

Struttura delle ontologieLe 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

Page 25: Sistemi basati su conoscenza Semantic Web

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

Page 26: Sistemi basati su conoscenza Semantic Web

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”, 1998.http://www.w3.org/DesignIssues/RDFnot.html

Page 27: Sistemi basati su conoscenza Semantic Web

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…

Page 28: Sistemi basati su conoscenza Semantic Web

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 Bche 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

Page 29: Sistemi basati su conoscenza Semantic Web

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.

Page 30: Sistemi basati su conoscenza Semantic Web

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.

Page 31: Sistemi basati su conoscenza Semantic Web

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 datiEspandere 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?

SI

SJ

SK

Page 32: Sistemi basati su conoscenza Semantic Web

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

Page 33: Sistemi basati su conoscenza Semantic Web

Ruolo del linguaggio naturale

Su quale informazione possono basarsi le macchine? Il linguaggio

Il linguaggio (naturale), alla fine, può essere considerato l’ultima risorsa sfruttabileRimane 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 significatoContro: è 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

Page 34: Sistemi basati su conoscenza Semantic Web

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).

Page 35: Sistemi basati su conoscenza Semantic Web

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.

Page 36: Sistemi basati su conoscenza Semantic Web

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