Sistemi basati su conoscenza Semantic Web

Post on 19-Mar-2016

58 views 1 download

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

Sistemi basati su conoscenzaSemantic Web

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

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

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

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

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

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

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

</participants><introduction>

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

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.

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

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

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

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

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

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