7 Introduzione
Introduzione
Visualizzare sul proprio cellulare i trailer e le informazioni di film, che potrebbero essere di nostro
gradimento, in programmazione nelle vicinanze, con relative informazioni sulla posizione del
cinema, e magari poter contattare telefonicamente il cinema per prenotare un posto o conoscere i
luoghi di interesse in prossimità, sono scenari che fino a qualche anno fa erano soltanto frutto
dell’immaginazione di qualche regista di film fanta-scientifici. Oggigiorno, invece, questo è uno
scenario reale, frutto delle stravolgenti innovazioni tecnologiche nel campo dei dispositivi mobili.
Attraverso tali innovazioni, infatti, è possibile avere conoscenza real-time del contesto in cui si
trova l’utente permettendo di offrire una vasta gamma di servizi fortemente personalizzati. Inoltre,
attraverso sistemi di supporto alla decisione e di information discovery, noti come Sistemi di
Raccomandazione, è possibile suggerire all'utente azioni da compiere davanti ad un vasto numero
di possibili scelte in maniera del tutto personale.
Come detto in precedenza lo scenario ipotizzato è di reale implementazione, infatti, nel lavoro di
tesi svolto, si è, proprio, realizzato un Sistema di Raccomandazione Contestuale per dispositivi
mobili che trae beneficio dall'utilizzo di dati semantici presenti nella Linked Data Cloud. Si è
ampliato un lavoro precedente [27], in cui si è provata l’efficacia dell’utilizzo di tecnologie
semantiche applicate ai sistemi di raccomandazione, andando ad aggiungere informazioni di
contesto alle raccomandazioni in modo da creare raccomandazioni piø utili ed intelligenti.
Sono passati piø di dieci anni da quando Tim Berners-Lee, direttore del WWW Consortium (W3C)
e ideatore dell’Internet moderno, ha proposto la sua visione del web del futuro. Il Semantic Web,
descritto nel Capitolo 2, si propone come una vera e propria innovazione promettendo ricerche piø
efficaci di contenuti e servizi, fruizione piø semplice e veloce dei servizi offerti, agenti intelligenti
in grado di automatizzare i compiti piø frequenti, software che “ragionano” su informazioni proprie
del livello concettuale umano, tutto questo senza che sia necessario uno stravolgimento dello spazio
virtuale presente, ma semplicemente una sua riorganizzazione semantica. Il Web semantico, quindi,
ha l’obiettivo di definire il modo di pubblicare informazioni in forma semantica e rendere queste
informazioni dati, tutto ciò è possibile grazie al Linked Data (Capitolo 3), esso stesso parte del Web
semantico, che definisce il modo di connettere tra loro questi dati attraverso l’uso di link. Secondo
questa nuova visione della rete è possibile, quindi, interrogare il “nuovo” Web, composto di dati,
per recuperare qualsiasi tipo di informazioni derivanti dalle piø diverse fonti , in modo mirato e
sfruttare tali informazioni proficuamente in svariati settori in cui è fondamentale avere la
conoscenza di un set di dati ristretto e rispondente ad una precisa interrogazione come per i sistemi
di raccomandazione I sistemi di raccomandazione, descritti in dettaglio nel Capitolo 4, sono
applicazioni che tentano di suggerire oggetti di interesse per l’utente (film, canzoni, libri, notizie,
pagine web...), basandosi su alcune informazioni di profilo. Una classe particolare di sistemi di
raccomandazione va sotto il nome di collaborative filtering. I sistemi di raccomandazione
appartenenti a questa famiglia (sistemi collaborativi) combinano le informazioni fornite dagli utenti
(es. i voti assegnati ad un insieme di oggetti), con dati raccolti implicitamente (es. gli oggetti
comprati in passato). Questi dati sono confrontati con dati simili appartenenti ad altri utenti, e viene
generata una lista di oggetti da raccomandare. Un altro tipo di implementazione (sistemi content-
8 Introduzione
based) prevede, invece, che la generazione delle liste di raccomandazione venga calcolata sulla base
dei contenuti stessi degli oggetti da consigliare: viene infatti creato un profilo utente che
corrisponde ai gusti dell'utente, dedotti dagli oggetti già valutati, ed in base a questi gusti si cercano
nel catalogo a disposizione altri oggetti con contenuti simili. Per le motivazioni descritte
successivamente nel presente documento, si è scelto di utilizzare un approccio content-based. I
sistemi tradizionali di raccomandazione di solito ignorato le informazioni contestuali e
semplicemente si focalizzato sulle preferenze precedenti degli utenti. Tuttavia, ci sono diversi
fattori che influenzano la decisione degli utenti che si basano sull’ambiente che circonda l’utente
stesso. Pertanto, in questa tesi, si propone un sistema che tiene conto di queste informazioni per
fornire risultati piø adatti che potrebbero soddisfare meglio le aspettative degli utenti. Come visibile
nel Capitolo 5 esistono principalmente tre paradigmi che consentono di incorporare le informazioni
contestuali nei sistemi di raccomandazione e questi sono: pre-filtraggio del contesto, post-filtraggio
del contesto e modellazione del contesto. Tali approcci, differiscono, nelle modalità con cui il
contesto è utilizzato nella creazione del processo di raccomandazione; per gli scopi della tesi il
post-filtraggio è risultato il metodo migliore. Particolare attenzione nel Capitolo 6, è stata inoltre
posta alle modalità con cui le persone reputano rilevanti le entità geografiche che le circondano; si
sono quindi utilizzati nel processo di raccomandazione i cinque criteri di Geographical Relevance
individuati da De Sabbatta e Reichenbacher [16] : hierarchy, cluster, co-location, association rule,
anchor point proximity.
Nella seconda parte della tesi è descritto il Context-Aware and Semantic Content-Based
Recommender System progettato (Capitolo), mentre nel Capitoli 8 e 9 sono descritte nel dettaglio le
tecniche di implementazione della soluzione proposta. Infine nel Capitolo 10 sono proposti alcuni
possibili sviluppi del sistema.
9 Il Web e le sue evoluzioni
1. Il Web e le sue evoluzioni
1.1. La storia del Web
Il termine World Wide Web fu utilizzato per la prima volta nel 1990 da Tim Berners Lee,
suo inventore, per indicare un insieme di tecnologie in grado di permettere il trasferimento e
lo scambio di informazioni utilizzando personal computer con hardware e sistemi operativi
differenti. Tim Berners-Lee pensò ad un sistema di gestione delle informazioni, in cui il
testo avrebbe potuto contenere link e riferimenti ad altri testi, permettendo al lettore di poter
passare di documento in documento. Egli creò un server per pubblicare questo modello di
documento (definito ipertesto), e un programma per la lettura di tali testi: il WorldWideWeb.
Questo software fu rilasciato la prima volta nel 1991, tuttavia furono necessari due passaggi
successivi affinchØ il WWW diventasse il piø famoso ed utilizzato strumento di
comunicazione. Nel mese di Aprile del 1993 il CERN rese di pubblico dominio il codice
sorgente del WorldWideWeb, in modo tale che chiunque avrebbe potuto usare o sviluppare
il software. Piø tardi, nel corso dello stesso anno, il National Center for Supercomputing
Applications (NCSA) rilasciò un programma il quale consentiva la navigazione tra pagine
Web, fu il primo browser che prese il nome Mosaic. Inizialmente tale software era
disponibile solo per sistemi Unix, ed in forma di codice sorgente, ma nel Dicembre del 1993
Mosaic fu rilasciato in una nuova versione con installer sia per sistemi Apple della
Macintosh che per sistemi Windows della Microsoft. Il primo browser vide rapidamente
una veloce espansione e con esso tutto il Web.
Figura 1-1 Tim Barners-Lee
Negli anni successivi il numero dei browser crebbe in maniera esponenziale; furono creati
molti progetti di ricerca presso le università e le aziende da cui nacquero software come il
browser Opera. Nel 1994 Tim Berners-Lee fondò il World Wide Web Consortium (W3C)
presso il Massachusetts Institute of Technology, con il supporto del CERN, DARPA e la
Commissione europea. L'intento con cui nacque il W3C era la standardizzazione dei
protocolli e delle tecnologie utilizzate per costruire il web in modo tale che i contenuti
fossero a disposizione di piø gente possibile. Dalla sua nascita, il W3C ha pubblicato
numerose specifiche (chiamate raccomandazioni) tra cui l'HTML 4.0, il formato per
immagini PNG ed i Cascading Style Sheets (CSS).
10 Il Web e le sue evoluzioni
Nel corso degli anni il Web ha subito numerose trasformazioni, adattandosi alle esigenze e
tendenze degli utenti. Dalla sua nascita fino ad oggi si sono osservate ben 3 trasformazioni
del web, chiamate Web 1.0, Web 2.0, ed una terza denominata Web 3.0 attualmente ai suoi
albori ed ancora in fase di completa definizione e diffusione. Fin dalla sua comparsa il web
si impose come strumento di collaborazione, infatti, dal primo momento in cui due computer
sono stati messi in comunicazione tra loro l’obiettivo è stato quello di poter comunicare e
scambiare informazioni per collaborare. Le sue evoluzioni hanno mantenuto tale filo
conduttore ossia la “collaborazione” intesa come scambio utile di informazione allo scopo di
accrescere la conoscenza comune. A sostegno di quanto sopra detto, il web è infatti il
principale strumento di collaborazione tra sviluppatori in quanto consente facilmente
scambio di esperienze e aumenta le possibilità e la velocità di risoluzione dei problemi
inerenti lo sviluppo del software; esistono numerosi forum e gruppi di discussione dove in
modo gratuito esperti mettono a disposizione la conoscenza maturata nel corso degli anni
per supportare ed aiutare altre persone. Tale fenomeno ha in seguito coinvolto tantissimi
settori non solo quelli dell’information technology o scientifici ma anche nel campo medico
umanistico e culturale.
In Figura 1-2 è riassunto l’intero processo di evoluzione del web con riferimento alle
tecnologie che hanno accompagnato tali evoluzioni. Riassumendo quanto visibile in Figura
1-2 è possibile notare che originariamente il Web è stato progettato come strumento per la
visualizzazione di documenti ipertestuali statici, quindi realizzati utilizzando il linguaggio di
markup HTML, tale web viene definito come Web 1.0 o Web Statico. In seguito, grazie
all'integrazione delle pagine web con i DBMS e all'impiego sempre piø frequente di sistemi
di gestione dei contenuti (CMS), il web si è evoluto nella versione chiamata Web 1.5.
Successivamente attraverso l'utilizzo di linguaggi di scripting, di elementi dinamici e dei
fogli di stile (CSS) per gli aspetti grafici, le semplici pagine ipertestuali si sono trasformate
in vere e proprie "applicazioni web" che si discostano dal vecchio concetto di semplice
ipertesto e che puntano a somigliare ad applicazioni tradizionali (Web 2.0) in cui l’utente è
posto al centro della rete e si trasforma da semplice fruitore di informazioni a creatore di
contenuti . Infine, negli ultimi anni il web si sta evolvendo nella sua terza versione in cui il
desiderio degli sviluppatori è che i suoi contenuti possano essere compresi ed utilizzati non
soltanto da uomini ma anche da “macchine”.
11 Il Web e le sue evoluzioni
Figura 1-2 Evoluzione del Web
(http://www.pcprofessionale.it/stappro61/uploads/2009/10/)
1.2. Il Web dei “documenti”, Web 1.0
Prima della nascita di Internet, la maggior parte delle connessioni tra elaboratori erano di
tipo locale (LAN) e il metodo di connessione utilizzato era il modello a mainframe. Molti
programmi di ricerca sui principi della connessione tra reti locali fisicamente separate, si
evolsero fino allo sviluppo del modello di scambio a pacchetti, su cui si basarono numerose
soluzioni di rete tra il 1960 e il 1970 tra cui ARPANET, culla di Internet. Le esigenze di
connessione delle persone e del sapere si traducono in pagine o siti “Web” contenenti
informazioni su qualsiasi dominio, nella prima versione del Web negli anni ’90. Questa fase
iniziale della storia del Web è stata denominata “Web 1.0” con l’unico scopo di distinguerla
da quella successiva.
Il Web 1.0 era caratterizzato da:
• Staticità: I siti Web contenevano informazione potenzialmente utile ma che
raramente subiva modifiche in quanto solo i webmaster, utenti esperti, erano in grado
di apportarle. Tutto ciò unitamente all’assenza di interattività decrementava
l’interesse dell’utente e il desiderio di replicare la visita ad un sito;
• Mancanza di interazione: Ai visitatori non erano forniti strumenti per contribuire alla
modifica del sito, o avere una qualunque altra influenza su di esso. L’utente era
quindi un “navigatore passivo” al quale era permesso, come unico ruolo attivo,
l’invio di posta elettronica in formato testuale;
• Applicazioni proprietarie: I produttori di applicazioni pubblicavano software
scaricabili senza consentire agli utenti di conoscerne l’evoluzione nel tempo o i
dettagli di funzionamento, nØ di modificarli.
12 Il Web e le sue evoluzioni
1.3. Il Web delle “persone”, Web 2.0
Il Web 2.0 è un termine utilizzato per indicare l'insieme di tutte quelle applicazioni online
che permettono uno spiccato livello di interazione tra il sito web e l'utente (blog, forum,
chat, wiki, ecc…) ottenute tipicamente attraverso opportune tecniche di programmazione
Web afferenti al paradigma del Web dinamico in contrapposizione al cosiddetto Web statico
o Web 1.0. L’inizio dell’era Web 2.0 viene fatta risalire al periodo successivo il cosiddetto
“scoppio della bolla dot-COM”, bolla speculativa avvenuta tra il 1995 e il 2001 durante la
quale, i mercati azionari nei Paesi occidentali hanno visto aumentare rapidamente la crescita
del settore di Internet. In tale periodo si è assistito alla fondazione di numerose nuove
società basate sull’erogazione di servizi nel WWW, comunemente denominate “dot-COM”.
A seguito di qualsiasi iniziativa di tipo dot-COM, in quegli anni, era facile ricevere
finanziamenti oppure veder schizzare verso l'alto il valore delle azioni quotate in borsa;
spesso però tali aziende fallirono così facilmente come nacquero.
Figura 1-3 Simpatica immagine che mette in risalto la centralità dell'utente nel Web 2.0
Come accade spesso nella storia il rinnovamento tecnologico di vasta portata è seguito da un
momento di crisi finanziaria, e le innovazioni apportate vengono assimilate soltanto
successivamente. Tuttavia non è possibile distinguere totalmente la prima fase, Web 1.0,
dalla seconda, Web 2.0, in quanto esse non sono separate da una specifica innovazione
tecnologica, bensì dalla nascita di nuove modalità di utilizzo e raffinamenti di tecnologie già
esistenti. Per questo motivo per definire il Web 2.0 si ricorre ad un insieme di applicazioni
che condividono caratteristiche “2.0” in comune, per le quali è stato coniato il neologismo.
Dal punto di vista di tecnologia di rete, il Web 2.0 è del tutto equivalente al Web 1.0, in
quanto l'infrastruttura a continua ad essere costituita dai protocolli TCP/IP e HTTP e
l'ipertesto è ancora il concetto base delle relazioni tra i contenuti. La differenza sostanziale,
sta nell'approccio con il quale gli utenti si orientano ed utilizzano il Web, si passa dalla
semplice consultazione alla possibilità di contribuire popolando e alimentando il Web con
propri contenuti. Nel Web 2.0, infatti, è l’utente stesso a creare contenuti, ad immettere
13 Il Web e le sue evoluzioni
nuova informazione ed a modificare quella già esistente. Nell’ultimo decennio sono nate
nuove piattaforme (ad es. Myspace, Facebook, Wordpress) che permettono a chiunque di
creare la propria pagina personale, a costo zero, in modo semplice e guidato. Tutto ciò è
possibile grazie ad una netta separazione tra contenuti e forma: la forma è dipendente dalla
piattaforma utilizzata, mentre il contenuto è inserito dall’utente.
Il grande incremento della quantità di navigatori avvenuto negli ultimi anni è stato possibile
proprio grazie alla semplicità di utilizzo dei nuovi strumenti ed alla rivoluzione delle
interfacce grafiche che hanno reso i contenuti della rete piø vicini agli utenti. Conseguenza
dell’aumento dei fruitori di Internet e dei contenuti online, è che ogni pagina Web è
diventata veicolo potenziale di pubblicità, oltre che luogo di libera espressione ad alto
impatto mediatico, e ciò ha consentito la nascita di nuove forme di mercato e guadagno e il
proliferare continuo di piattaforme di tipo social e centrate sull’utente.
Il Web 2.0 costituisce, quindi, un approccio filosofico alla rete in cui si pone enfasi alla
dimensione sociale della condivisione rispetto alla mera fruizione. Le nuove modalità di
utilizzo della rete aprono nuovi scenari in cui l'utente ha possibilità di fruire e di
creare/modificare i contenuti multimediali. Tale modalità di utilizzo della rete rappresenta la
concretizzazione delle aspettative dei creatori del Web, che solo grazie all'evoluzione
tecnologica oggi costituiscono una realtà accessibile.
1.4. Il Web dei “dati”, Web 3.0
“Il Web 3.0 è un termine a cui corrispondono significati diversi volti a descrivere l'evoluzione
dell'utilizzo del Web e l'interazione fra gli innumerevoli percorsi evolutivi possibili. Questi
includono:
• trasformare il Web in un database, cosa che faciliterebbe l'accesso ai contenuti da parte
di molteplici applicazioni che non siano dei browser;
• sfruttare al meglio le tecnologie basate sull'intelligenza artificiale;
• il web semantico;
• il Geospatial Web;
• il Web 3D;
• il Web Potenziato;
• la realtà aumentata”. [1]
La definizione di Web 3.0 sopra citata evidenzia l’ambiguità del termine, spesso utilizzato per
indicare tecnologie e visioni molto diverse tra loro ed a volte utilizzate anche impropriamente.
In particolare il termine Web 3.0 viene utilizzato per indicare il processo, già avviato da qualche
anno, di trasformazione del web in una base dati condivisa (Data Web). Tale evoluzione
consentirebbe l’accesso ai contenuti del web attraverso applicazioni diverse dai normali browser
e quindi sfruttabili in modo piø intelligente ed intensivo tramite l’intelligenza artificiale (web
semantico).
“I Data Web permettono un nuovo livello di integrazione e di interoperabilità delle
applicazioni, rendendo i dati disponibili a tutti e "linkabili" come se fossero pagine Web. Il
Data Web è il primo passo verso il vero e proprio Web semantico.”[24]