UONTED – CLEI – CLEC – CLEGA

L’economia del futuro (che non ha un futuro)

Archivio per semantic web

Semantic Web Lezione 1

Info sul corso: Il corso quest’anno sarà più ridotto e concentrato nella prima parte del periodo di lezioni.

Libri di testo:

Esame:

L’esame solitamente è composto da una prova scritta e da un orale, più un progetto da discutere durante l’orale. Dato che siamo in 3 studenti, il buon Gaspari propone di fondare l’esame solamente sul progetto (con frequenza delle lezioni).

Introduzione

…odio fare cose che so benissimo che il computer potrebbe fare per me…”

Il web semantico non esiste ancora, ma ci si sta lavorando. L’ispirazione viene da una [visione] di Tim Berners-Lee.

Con il termine web semantico si intende la trasformazione del World Wide Web in un ambiente dove i documenti pubblicati (pagine HTML, file, immagini, e così via) siano associati ad informazioni e dati (metadati) che ne specifichino il contesto semantico in un formato adatto all’interrogazione, all’interpretazione e, più in generale, all’elaborazione automatica.

Internet ha visto una grandissima evoluzione dal 6 agosto 1991 quando Tim Berners-Lee pubblicò il primo sito web delle rete Internet. Era un’epoca in cui erano pochi i dati ed i materiali disponibili in rete, pochissima informazione era reperibile. Tutti coloro che volevano sviluppare applicazioni dovevano reperire informazioni fuori dalla rete. Oggi invece l’informazione viene messa a disposizione, spesso gratuitamente, con un grande grado di parallelismo: in ogni istante migliaia-milioni di persone stanno aggiungendo informazione e materiale di varia natura sul web.

Nonostante l’evoluzione tecnica ed i passi compiuti verso il web 2.0, il web rimane soprattutto una gigantesca biblioteca di pagine HTML. Lo standard HTML ha la grossa limitazione di occuparsi solo ed esclusivamente della formattazione dei documenti, tralasciando del tutto la struttura ed il significato del contenuto. Questo pone notevoli difficoltà nel reperimento e riutilizzo delle informazioni. E’ sufficiente eseguire una ricerca con Google per verificarlo: solo una piccola percentuale è d’interesse per la ricerca che s’intende fare.

Il motore di ricerca non distingue il significato delle parole: la parola “rosso” può essere un aggettivo (fiore rosso) come anche il nome di un colore (il rosso) o addirittura un cognome di persona ben definita (il signor Rosso).

Con l’interpretazione del contenuto dei documenti saranno possibili ricerche molto più evolute delle attuali, attraverso la costruzione di reti di relazioni e connessioni tra documenti secondo logiche più elaborate del semplice link ipertestuale.

Il web può essere visto come tre successive generazioni:

  • Introduzione della tecnologia web (HTML), indipendente dalla piattaforma utilizzata, con un linguaggio di mark-up specializzato alla presentazione dei documenti. Interfacce uniformi e semplicità di accesso, bassa complessità (almeno lato client).
  • Pagine costituite da template vuoti e contenuti generati al volo estratti da database, anche più di uno. Le tecnologie lato server creano dinamicamente le pagine HTML da presentare agli utenti sulla base di “regole” date da chi predispone l’applicazione che genera la pagina. Il web 2.0 dà la possibilità agli utenti di creare i contenuti e di collaborare per lo sviluppo di un progetto o di una comunità.
  • Web Semantico: i contenuti sono processati e rielaborati automaticamente sulla base di regole date sia dal creatore delle applicazioni (motori semantici) sia dall’utilizzatore dei servizi.

Semantica

La semantica è quella parte della linguistica che studia il significato delle parole, degli insiemi delle parole, delle frasi e dei testi; è una scienza in stretto rapporto con altre discipline, come la semiologia, la logica, la psicologia, la teoria della comunicazione, la stilistica e la filosofia del linguaggio.

Sintassi

La sintassi è la branca della linguistica che studia le regole o le relazioni modulari che stabiliscono il posto che le parole occupano all’interno di una frase, come i sintagmi si compongano in frasi, e come le frasi si dispongano a formare un periodo.

Problemi con i motori di ricerca

I motori di ricerca restituiscono risultati basati su algoritmi molto complessi, ma basati sull’attuale modo di memorizzare l’informazione. Le informazioni sono oggi prevalentemente memorizzate secondo standard che non consentono di creare associazioni tra i simboli utilizzati come veicolo di informazione e la semantica da essi rappresentata. Non è possibile per un motore di ricerca riutilizzare e reinterpretare in modo automatico la conoscenza a cui ha accesso ma solamente tentare di classificarne la pertinenza rispetto alla domanda fatta secondo propri criteri.

Attualmente i motori di ricerca Internet restituiscono conoscenza: è compito dell’uomo capire e scartare ciò che non è pertinente, rielaborare e riassemblare le informazioni in funzione della specifica domanda.

Sia lezione 1 - img 01 - websemanticoe sia lezione 1 - img 02 - websemantico allora:

Definisco il fattore di lezione 1 - img 03 - websemantico e vedo che è alto, poiché l’intersezione tra i due insiemi non è molto lontana da ciò che cerco, ovvero trovo quasi tutto quello che mi interessa.

Definisco il fattore di lezione 1 - img 04 - websemantico e vedo che è basso, poiché i risultati pertinenti e utili sono dispersi in un mare di altri risultati non pertinenti.

Ci sono sempre cose che cerco ma non trovo, ma ci sono moltissime più cose che non cercavo ma che mi vengono presentate come risultato.

Supponiamo di progettare un viaggio e di raccogliere informazioni a tale scopo:

  1. E’ più conveniente il treno o l’aereo, oppure l’auto? E’ necessario fare diverse ricerche sui costi, sui percorsi, le distanze, le tappe da effettuare, gli orari dei trasporti pubblici e privati. Se si usa l’aereo, dove si atterra, come è il collegamento tra l’areoporto e la città, i costi collegati agli spostamenti.
  2. orari, combinazioni, prezzi, ecc.. Si tratta di un problema di minimo, trovare la soluzione migliore sotto certi vincoli.
  3. Un AGENTE, un programma automatico, potrebbe aggregare e rielaborare la conoscenza che è già pubblicata e reperibile online e presentare dei risultati.
  4. Purtroppo adesso i dati non sono strutturati per essere reinterpretati da un agente raccoglitore di informazioni.
  5. Per poter realizzare questo tipo di rielaborazioni sono necessarie delle trasformazioni della struttura che memorizza l’informazione.

Cosa potrebbero fare i motori di ricerca? Potrebbero ricercare concetti invece che keyword. Che cos’è un concetto?

Immaginiamo una pagina scritta in giapponese: non capiamo nulla, ma se ci viene indicato che la prima riga è il nome della persona, che si tratta di un curriculum vitae, che il primo paragrafo parla della educazione della persona, che il secondo elenca le esperienze lavorative, ecc…. Allora, anche se ancora non conosciamo il giapponese, siamo già in grado di capire almeno di che tipo di documento è, se è di interesse e come classificarlo.

HTML E XML

L’HTML è un linguaggio di mark up applicato alla presentazione del testo.

Per la costruzione del web semantico si utilizza l’XML, un linguaggio che consente di descrivere semanticamente le diverse parti di un documento. Con l’XML è possibile descrivere adeguatamente i contenuti di un documento ma la sintassi XML non definisce alcun meccanismo per realizzare le relazioni tra i documenti. Il meccanismo dei collegamenti ipertestuali HTML è inutile poiché non prevede la possibilità di descrivere il legame definito.

Se in un documento parlo di MARIO ROSSI è poi difficile capire se due documenti che parlano di Mario Rossi e si riferiscono alla stessa persona fisica o a due differenti, con conseguente scarsa qualità dei risultati restituiti dai motore di ricerca.

XML dà infatti una descrizione, mediante i tag, del contenuto dei tag stessi. Ad esempio:

<course>
	<title> introduction to AI </title>
		<teacher> Mauro Gaspari </teacher>
		<students>Giovanni Gardini</students>
</course>

L’XML descrive come è strutturato questo piccolo albero di informazione ed esprime una modalità per esprimere contenuti. Ogni nodo ha una etichetta, degli attributi ed il suo contenuto.

XML e’ un notevole miglioramento rispetto a HTML, ma non consente di rappresentare la semantica. XML e’ un modo efficace memorizzare e condividere le informazioni, ma non dà certezza circa il reale significato di ciò che sto comunicando. XML realizza degli schemi, ma non indica differenze semantiche, o le indica anche se non vi sono.

Consideriamo le due seguenti frasi:

Il corso di web semantico è tenuto da Mauro Gaspari.”

Mauro Gaspari tiene il corso di web semantico.”

In XML la rappresentazione dei due concetti è diversa (si inverte soggetto e predicato). Tuttavia la semantica dei due concetti è la stessa, c’è lo stesso significato. Per noi questo tipo di inferenze sono automatiche, ma è possibile renderle accessibili anche ad una macchina? È questo lo scopo del web semantico. Una volta completato, sarà possibile «interrogare» il web su quello che «sa» riguardo certe risorse, non facendo una query su un singolo database o su una directory, ma ricercando nell’intero web semantico, che dovrebbe fare da collante per tutte le basi di dati locali, un po’ come fa l’attuale web, ma aggiungendo significato alle semplici stringhe di caratteri.

XML è dunque alla base del web semantico, e provvede a dare una rappresentazione dei dati. Altri strati successivi si occupano di creare relazioni.

LINGUAGGIO

  • SINTASSI
  • SEMANTICA
  • MECCANISMO DEDUTTIVO

All’interno di una pagina web ho delle entità che dichiarano dei concetti. Ad esempio utilizzo la notazione NOME(Mauro) per dichiarare che esiste una classe che si chiama NOME e che esiste un oggetto di quella classe che si chiama Mauro. Nel momento in cui dichiaro l’esistenza di qualcosa, questa cosa si assume associata al concetto di verità.

NOME(Mauro) è vero.

UOMO(Mauro) è vero.

MORTALE(UOMO) è vero

Sillogismi alla Socrate

UOMO(X) => MORTALE(X)

Attraverso le regole sintattiche che vedremo (logica) elaboreremo la conoscenza che noi descriviamo attraverso le entità che dichiareremo. Queste regole forniscono un modo per trasferire la verità attraverso i concetti dichiarati. Sono modi per calcolare la verità e collegare la conoscenza, meccanismi deduttivi che un programma utilizza per calcolare relazioni tra conoscenze.

Motore inferenziale

Partendo dall’insieme di regole date, dalle regole inferenziali, si ottengono risultati calcolando attraverso la logica dei predicati.

Ad esempio il MODUS PONENS

se A, A=>B se ho A, se so che A implica B, allora B.

Il motore di meccanismo deduttivo usa le regole a disposizione per calcolare la verità del predicato B. Attraverso una serie finita di passi supponiamo di arrivare a ciò che ci interessa, al nostro GOAL, il nostro obiettivo. Se il meccanismo deduttivo, partendo da cose vere e attraverso una catena di inferenze logiche corrette, arriva al goal, cioè a risultati giusti, attraverso un percorso detto CORRETTO.

Se il meccanismo deduttivo trova tutti i risultati giusti, allora è detto COMPLETO.

I meccanismi deduttivi sono spesso già implementati, per cui il lavoro che ci spetta sarà definire correttamente la conoscenza e fare dei buoni formalismi. Sarà difficile trovare un buon bilanciamento tra espressività ed efficienza: a volta la complessità del meccanismo deduttivo è esponenziale e dovremo tenere conto anche di altre proprietà come decidibilità, non decidibilità.