La nuova “visione” del web: il Web Semantico Il WWW • Un (immensa) rete di collegamenti fra pagine che contengono svariati tipi di risorse: – – – – Documenti testuali e multimediali Basi i dati Servizi: prenotazioni on-line, web assistant.. Programmi Problema: accessibilità dei contenuti • Come si accede alle informazioni sul web? – Parole chiave digitate dall’utente – Voci di una barra di navigazione • Nel primo caso l’efficacia dipende dagli algoritmi usati dai motori di ricerca (che studieremo in questo corso e anche nel corso algoritmi per il web) • Nel secondo caso, l’efficacia dipende da chi ha organizzato e programmato i contenuti del sito • In entrambe le situazioni, molto dipende dal potere evocativo di una espressione Parole e contenuti • Una espressione, o parola chiave, può avere un rapporto generico con il contenuto cui si riferisce • Nel caso di navigazione per parole-chiave, ambiguità: Es: albero: informatica, botanica, nautica? • Nel caso di barra di navigazione, come classificare un documento che parla di finanziamento del governo alle società calcistiche in pericolo di fallimento? Sport, politica, finanza? • Nel web, i collegamenti che consentono di raggiungere i contenuti sono intrinsecamente deboli, troppo generici e vaghi. Collegamenti sintattici e semantici • Le pagine web sono collegate sintatticamente mediante indici che localizzano la URL della pagina. Questi collegamenti permettono di identificare la pagina in modo univoco, e sono dunque piuttosto solidi (problemi di aggiornamento a parte) • La debolezza sta nei collegamenti semantici, cioè quelli che dovrebbero definire il significato della pagina indicizzata. • Oltre a portare in un determinato luogo (pagina web) un collegamento dovrebbe descrivere il luogo in cui porta. Questa funzione è la capacità semantica. L’organizzazione delle pagine web attualmente Organizzazione delle pagine con collegamenti semantici Collegamenti Semantici: ne avete già sentito parlare! • Quando interroghiamo una base di dati, ad esempio una biblioteca on-line, possiamo fare ricerche piuttosto raffinate, ad esempio, chiedere “quali autori hanno scritto almeno due libri sull’Information Retrieval” • L’utente può formulare una richiesta che imponga precise relazioni (“almeno due libri sull’IR”), e tali relazioni sono stabilite fra concetti (“autore” e “libro”) anziché fra parole chiave (non si ricerca la stringa “autore” o “libro”). • Questo è possibile perché esiste uno schema del DB, cioè un modello ed un insieme di regole che stabiliscono coe debbano essere organizzati i dati Schemi e collegamenti in un DB: esempio BOOK Schema 1 title ISBN authors name birthdate AUTHOR Schema name birthdate books title ISBN Web Semantico: utilizzare schemi per descrivere dominii di informazione • Tre livelli – I dati (le pagine web) – I metadati o annotazioni (collegamenti semantici) – Lo schema (o ontologia) del dominio PLACE CITY “..voli fra Parigi e New York AirPort kind_of near Building kind_of Ma cosa è il Semantic Web? • Il “Semantic Web Wedding Cake” Livello 1: URI URI: universal resource identifier include URL (locator, cioè ftp:.., http://…) e URN un nome che identifica la risorsa Unicode: assegna un unico numero ad ogni carattere, indipendentemente dalla piattaforma, programma, linguaggio. Lo Standard Unicode è stato adottato da: Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys ecc. http://www.unicode.org/ Livello 2: annotazione Annotazione: entità artificiali utilizzate per descrivere un documento, una sua parte, o una intera collezione. Una annotazione è una coppia (l,def) dove l è un label (ad esempio creator) e def è una definizione più o meno formalmente espressa del suo significato ed uso inteso Annotazione manuali: linguaggi di mark-up (XML, xmlschema..), metadati Annotazione automatica: metodi di elaborazione automatica del linguaggio naturale Linguaggi di mark-up: XML eXtensible Markup Language <header> <title>Extensib le Markup Language (XML)</title> <version>1.0 (Second Edition)</version> <w3c-doctype>W3C Recommendation</w3c-doctype> <pubdate><day>&draft.day;</day><month>&draft.month; </month><year>&draft.year;</year></pubdate> </author> <author role="2e" diff="a dd"><name>Eve Maler</name><affil iation>Sun Microsystems, Inc. </affiliation><email href="ma ilto:[email protected]">[email protected] </email> </author> <abstract> <p>The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to enable ge neric SGML to be served, receive d, and processed on the Web in the way that is now possi ble with HTML. XML has been designed for ease of implementation and for interoperability with both SGML and HTML.</p> </abstract> Livello 3: RDF resource description framework Un modello generale (e minimalista) per fare asserzioni semantiche su oggetti Web Un “oggetto Web” è detto Risorsa. Una Risorsa è qualsiasi entità identificabile mediante un URI (Uniform Resource Identifier); ciò include pagine Web e documenti XML. Una Proprietà è una risorsa che ha un nome, per esempio Author o Title. In molti casi, l’informazione è contenuta nel nome stesso. RDF (2) • Uno Statement (asserzione) è la combinazione di una Risorsa, una Proprietà ed un valore. Queste parti sono note come soggetto, predicato e oggetto dell’asserzione. Per esempio: "The Author of http://www.textuality.com/RDF/Why.html is Tim Bray." Il valore può essere una stringa, es: "Tim Bray" oppure un’altra risorsa, per esempio: "The Home-Page of http://www.textuality.com/RDF/Why.html is http://www.textuality.com." RDF (3) Queste proprietà astratte possono essere espresse usando ancora XML, Es: </rdf:Description> <rdf:Description ID="MotorVehicle"> <rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdfschema#Resource"/> </rdf:Description> <rdf:Description ID="Truck"> <rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:subClassOf rdf:resource="#MotorVehicle"/> Problemi dei linguaggi di annotazione RDF e XML hanno una semantica non esplicita, ed inoltre l’annotazione è manuale. Gran parte del testo è annotata con “tag” generiche, che non descrivono il contenuto. <abstract> <p>The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML.</p> ….. </abstract> Il livello ontologico Uno modello semantico (schema) ed un insieme di regole per “ragionare” sui dati a disposizione. Cos’è un’ontologia? • Alcune definizioni: – Filosofia: “a systematic explanation of being” – Neches : “…defines the basic terms and relations including the vocabulary of a topic area as well as the rules for combining terms and relations to define extensions to the vocabulary.” – Gruber, la più citata: “…an explicit specification of a conceptualization” – Borst, leggermente modificata:“…a formal specification of a shared conceptualization” – Guarino: “…a logical theory which gives an explicit, partial account of a conceptualization” Definizione formale di ontologia (1) • 1. un insieme di concetti (detti anche classi), • 2. le interconnessioni semantiche tra essi (dette relazioni concettuali, o attributi semantici) • 3. un eventuale livello logico che permetta di inferire nuovi fatti a partire da quelli codificati all’interno della risorsa (ad esempio, un insieme di assiomi o microteorie). Definizione formale di ontologia (2) • Un’ontologia O può dunque essere definita come una tripla (C, R, A) dove: – C è un insieme di concetti – R è un insieme di relazioni concettuali tali che ogni relazione in R è definita su CC. – A è un insieme di assiomi (se A = l’ontologia non è assiomatizzata) Definizione formale di ontologia (3) • Si osservi che gli insiemi C ed R individuano un grafo G = (V, E) tale che: – VC – E = { (c1, c2) CC : S R : (c1, c2) S } • e una funzione di etichettatura l : CC 2R tale che l(c1, c2) = { S R : (c1, c2) S }. Esempio • Un semplice esempio di ontologia è il seguente: O’ = (C’, R’, A’) dove: – C’ = { Entità, Oggetto, Persona, Meccanico, Automobile, Motore } – R’ = { è-un, ha-un, ripara } – A’ = { “a Automobile m Meccanico : ripara(p, a)” }) – è-un = { (Oggetto, Entità), (Persona, Entità), (Meccanico, Persona), (Automobile, Oggetto), (Motore, Oggetto) } – ha-un = { (Automobile, Motore) } – ripara = { (Meccanico, Automobile) } Esempio (2) Entity Kind_of Kind_of Person Object Kind_of Kind_of Kind_of Engine Has_part Car Repair Mechanic A cosa servono le ontologie? • Migliorare la comunicazione fra persone e organizzazioni • Favorire l’ interoperabilità fra sistemi – Condividere metodi di modellazione, paradigmi, linguaggi, e strumenti software – Supportare l’ ingegnerizzazione di sistemi IT (Information Technology): » favorire riusabilità/condivisibilità : condivisione delle rappresentazioni formali » migliorare la ricerca: usata come meta-data per indicizzare databases documenti e sistemi informativi in generale » esprimere specifiche: aiuta nell’identificare i requirements di un sistema IT » acquisire conoscenza (generalizzare ragionare) UN CASO D’USO SCHEDA REF 820 TITOLO Discorso di Raffaello Lambruschini in occasione dell’adunanza tenuta in onore di Vincenzo Gioberti DESCRIZIONE / Raffaello Lambruschini. - [documento manoscritto]. 5 luglio 1853. - 8 c. AUTORE Lambruschini, Raffaello INVENTARIO 58671 COLLOCAZIONE Busta 81.1394 NOTA Pubbl. in Atti, C. 31, 1853, p. 344. KEYWORDS Accademia dei Georgofili Annotazioni o metadati Un caso d’uso: recupero/classificazione di documenti • Supponiamo che ad un documento storico digitalizzato sia associato il seguente descrittore: “Discorso di Raffaello Lambruschini in occasione dell’adunanza tenuta in onore di Vincenzo Gioberti”. • Un sistema di information retrieval “classico” può estrarre le 4 parole chiave: discorso, Raffaello Lambruschini , adunanza, Vincenzo Gioberti, e con queste indicizzare il documento. • Sinonimia: Ad esempio, la parola adunanza ha, nella lingua italiana, i seguenti sinonimi : riunione, adunata, incontro, raduno, assemblea, consiglio, convegno, simposio, compagnia, folla, assembramento, e molti (se non tutti) fra questi termini avrebbero potuto essere usati dall’autore della descrizione in esame. • Una annotazione del tipo “meeting, get toghether” (il nome dell’annotazione è tratto dal lessico semantico on-line WordNet 1.7 ) potrebbe riconoscere SCHEDA REF 820 TITOLO Discorso/ORAL_COMMUNICATION di Raffaello Lambruschini/PEDAGOGIST in occasione dell’adunanza/MEETING tenuta in onore di Vincenzo Gioberti/PHYLOSOPHER DESCRIZIONE / Raffaello Lambruschini. - [documento manoscritto]. 5 luglio 1853. - 8 c. AUTORE Lambruschini, Raffaello INVENTARIO 58671 COLLOCAZIONE Busta 81.1394 NOTA Pubbl. in Atti, C. 31, 1853, p. 344. KEYWORDS Accademia dei Georgofili GRUPPO RELAZIONE_SOCIALE STUDIOSO GRUPPO_SOCIALE COMUNICAZIONE FILOSOFO PEDAGOGO COMUNICAZIONE_ORALE discorso Vincenzo Gioberti INCONTRO adunanza Raffaello Lambruschini Core Ontology GRUPPO RELAZIONE_SOCIALE STUDIOSO GRUPPO_SOCIALE COMUNICAZIONE FILOSOFO PEDAGOGO INCONTRO COMUNICAZIONE_ORALE Vincenzo Gioberti Raffaello Lambruschini DESCRIZIONE: comunicazione_orale, filosofo:Vincenzo_Gioberti, pedagogo: Raffaello_Lambruschini, incontro Un caso d’uso: navigazione assistita e storytelling “Nel 1483 approntò i disegni preparatori per il m onumento equestre in bronzo a Francesco Sforza e firmò il co ntratto con la confraternita della Concezione per la Vergine delle rocce. Nella "Vergine delle rocce" dipinta tra il 1483 e il 1486, la composizione a piramide del gruppo costituito dalla Madonna, dal Bambino, da S. Giovannino e da ll'Angelo è a rricchita e movimentata dall'incrociarsi di linee convergenti indicate dai gesti. La tecnica dello sfumato, il morbidissimo chiaroscuro tipico di Leonardo si sovrappone al disegno, e n e sfalda i contorni. “ Chiaroscuro Painting techniques In drawing, painting, and the graphic arts, the rendering of forms through a balanced contrast between light and dark areas. The technique which was introduced during the Renaissance, is effective in creating an illusion of depth and space around the principal figures in a composition. ... Una mini-ontologia delle tecniche pittoriche (estratta automaticamente) stipple technique painting rendering monotype framing combining etching acquaint matting chiaroscuro photomontage collage assemblage gouache conservation framing dry mount color-stencilpainting serigraph Esempio 2: Interoperabilità fra servizi web Sistema di prenotazioni ferroviarie (Agente 2) Segreteria Elettronica (Agente 1) KB1 - Riunione - Orario di lavoro - Sede di lavoro - Viaggio - …….. - Città di partenza - Città di arrivo - Data di partenza - Ora del giorno - …….. KB2 ma: cittaDiPartenza := sedeDiLavoro; cittaDiArrivo := luogoDelMeeting; E se cittaDiPartenza si chiama CittaPart o DepartureCity? Interoperabilità fra servizi web (2) Top Ontology City Sede-Lavoro Agent 1 Ontology Città_Part Città_Arr Agent 2 Ontology Esempio 3 E-learning Un messaggio inviato dal destinatario al mittente per informarlo che il frame è arrivato correttamente SebRow - sviluppato nel progetto 2003-2004 E-learning • E’ un “servizio” quindi in realtà rientra nel caso dell’esempio precedente • Navigazione “semantica” dei corsi • Classificazione materiale didattico • Reperimento di materiale didattico (ricerca per concetti) Problemi (alcuni..) • Ontologie (punti di vista) non identici, ma condivisi • Sistemi già esistenti: possono mantenere la propria struttura, ma se vogliono comunicare devono avere un protocollo comune • Ontologie esistenti compatibili in parte: per ora, quindi, soluzione parziale • Poichè necessita anche comunicazione uomo-macchina, condivisione delle ontologie anche tra macchine ed esseri umani Ontologie: Problemi di ricerca • E’ un’area di ricerca che si è molto espansa nell’ultima decade Metodologie Costruzione Gestione Fusione Ontologie Traduzione Mapping Riuso Aggiornamento Strumenti Apprendimento Valutazione Linguaggi Prossime lezioni • • • • Linguaggi Metodologie Strumenti Esempi di ontologie esistenti