- 4 -
Introduzione
L’enorme avanzamento nell’ultimo decennio, delle tecnologie
legate ai telefoni cellulari ha indubbiamente cambiato le nostre
abitudini. Il cellulare, da semplice strumento addetto alla
comunicazione telefonica e all'invio e ricezione di messaggi di testo,
si è evoluto in un vero e proprio minicomputer mobile; lo testimonia la
rapida diffusione degli “smartphone”, telefoni cellulari caratterizzati
dalla presenza di un sistema operativo e dalla possibilità di installare
ed eseguire applicazioni.
Basandoci su quanto detto, l’obiettivo della tesi è quello di
implementare un’applicazione in grado di sfruttare il modulo GPS
integrato in determinati dispositivi mobili e, in base alla posizione
dell'utente, di raccomandare dei punti di interesse attraverso l’utilizzo
dei dati forniti dal servizio Maps di Google.Analizzando le piattaforme
per “mobili” presenti sul mercato, quella che sicuramente lo sta
rivoluzionando per la sua natura open è Android, va valutato anche
lo stretto legame della piattaforma con i servizi di Google, poiché
essa è stata sviluppata dall’Open Handset Alliance ovvero un
accordo di differenti compagnie con Google come capofila, il cui
obiettivo è sviluppare "standard aperti" per dispositivi mobili.
La tesi è suddivisa in cinque capitoli, il primo tratta i sistemi di
raccomandazione mobili orientati al turismo,il secondo fornisce una
panoramica sulla personalizzazione dei sistemi di raccomandazione
e sull’adattività di un sistema.
Il terzo capitolo descrive la piattaforma Android, la software
Development kit e l’ emulatore intergrato in essa.
Analizzando lo stretto legame della piattaforma con il servizio Maps
di Google, viene offerta una panoramica sulla sua integrazione
nell’applicazione, mediante l’utilizzo delle Google APIs.
- 5 -
Il quarto capitolo ha l’obiettivo di far comprendere il formato kml e il
suo apporto per la visualizzazione dei dati georeferenziati sulle
mappe.
Nel quinto capitolo viene analizzato il progetto di tesi MyM@p 2.0
ovvero l’applicazione per dispostivi mobili sviluppata per piattaforma
Android.Per la realizzazione del progetto si è partiti dall’analisi del
dominio e dell’utenza, per poi arrivare allo studio della sua
architettura.
Infine si è giunti all’implementazione mediante il linguaggio java con
supporto del formato xml per la realizzazione delle interfacce e del
kml per la visualizzazione dei dati georeferenziati.
- 6 -
Capitolo 1
Sistemi di raccomandazione “mobili” per il turismo
“Quello che l’informazione consuma è piuttosto ovvio: consuma
l’attenzione dei suoi destinatari. Dunque un’abbondanza di
informazione crea povertà d’attenzione, ed il bisogno di scegliere
come distribuire in maniera efficiente questa attenzione tra la
sovrabbondanza di informazioni che potrebbero consumarla”
H.A. Simon [1]
1.1 Cos’è un sistema di raccomandazione
La diffusione pervasiva delle tecnologie informatiche, e la crescente
diffusione dei contenuti digitali offrono agli utenti la possibilità di fare
del media digitale uno strumento da utilizzare in ogni contesto, e in
ogni occasione, e lo promuovono a dispositivo che può essere
d’ausilio alla vita dell’utilizzatore .
Questo rende il problema della gestione e dell’organizzazione di
questa mole informativa una questione prioritaria, che cerca
soluzioni nuove che facilitino l’esperienza dell’utente.
I sistemi di raccomandazione si inseriscono all’interno di questo
scenario, ci imbattiamo sempre più spesso in loro quando si ha ad
esempio a che fare con siti di e-commerce,che propongo consigli .
Insomma in ogni situazione in cui possa aver valore un consiglio. Il
grande merito di questi sistemi è infatti quello di fornire a chi li utilizza
uno strumento per valutare degli oggetti prima di investire tempo e
denaro su di essi.
- 7 -
E’ da notare come in un certo senso l’uso di questo tipo di strumento,
che implicitamente modella il meccanismo naturale tra gli uomini,
porti con se una forte connotazione sociale, oltre alla più evidente
valenza “economica”, al di là del contenuto delle raccomandazioni,
il semplice fatto che siano mantenuti dati su diversi utenti e sulle loro
preferenze rende possibile la scoperta di relazioni (implicite o
esplicite) tra persone, fondate sui loro gusti comuni.
Non è dunque improprio dire che ciascun sistema di
raccomandazione costruisce o, ancor meglio, rivela una rete di
legami tra persone, costituendo quindi una rete sociale.
I sistemi di raccomandazione inoltre si occupano di fornire agli utenti
consigli personalizzati, e di loro probabile interesse riguardo un set di
oggetti appartenenti ad uno specifico dominio, a partire dai dati di
cui dispone: informazioni su utenti e oggetti [2].
Le tecniche attraverso le quali i diversi sistemi predicono voti
sconosciuti a partire da quelli conosciuti, ed il modo in cui queste
predizioni sono sfruttate e rese fruibili all’utente finale, rappresentano
due fondamentali aspetti alla luce dei quali caratterizzare i sistemi
stessi.
Possiamo suddividere i sistemi di raccomandazione in:
• Sistemi Content-based: all’utente sono raccomandati oggetti simili
a quelli che gli sono piaciuti nel passato.
• Sistemi Collaborativi: all’utente sono raccomandati oggetti che
sono piaciuti ad altre persone con gusti simili.
• Sistemi Ibridi: combinano approcci content-based e collaborativi.
- 8 -
1.2 Cos’è un sistema di raccomandazione mobile
Un sistema di raccomandazione “mobile” è un sistema che lascia
agli utenti la facoltà e la libertà di esprimere preferenze per una
specifica sessione e le preferenze a lungo termine. L’obiettivo è di
fornire un sistema di supporto ad una particolare fascia di utenza
che si sposta frequentemente per motivi legati allo studio,al lavoro
e al turismo.
Essi partono dal presupposto che ci sono casi di sistemi di
raccomandazione che generano raccomandazioni personalizzate,
per gli utenti che sfruttano le conoscenze e le raccomandazioni
passate (acquisite in step precedenti).
I sistemi di raccomandazione mobile esistenti ad oggi non sono molti,
in quanto i telefoni cellulari e i PDA, hanno schermi con dimensioni
limitate, limitate tastiere e quindi sostenere una conversazione su un
dispositivo mobile risulta estremamente difficile, anche se con
l’avvento della tecnologia touch screen le case costruttrici stanno
aumentando le dimensioni degli schermi, e con le tastiere virtuali
questi sistemi diventano sempre più usabili.
Per capire comprendere le funzionalità e caratteristiche connesse ad
un mobile recommender system consideriamo, MobyRek.
MobyRek è un esempio di sistema di raccomandazione mobile che
“accompagna” il viaggiatore durante tutta la durata del suo viaggio
perché sono soggetti in movimento che durante il loro soggiorno
ricercano particolari prodotti di viaggio.
In questo sistema il supporto ai viaggiatori è fornito tramite
raccomandazioni personalizzate dove per ridurre al minimo lo sforzo
cognitivo dell’utente, MobyRek non richiede all’utente di eseguire
query precise e complete ma lo coinvolge in un dialogo, ovvero una
- 9 -
conversazione, che combina le raccomandazioni dell’utente con le
critiche dell’utente.
L’idea di base è che le critiche dell’utente siano più efficaci per
dedurre le esigenze dell’utente mantenendo viva l’interazione. In
un’interazione sistema-utente è più semplice ricevere critiche
piuttosto che ricevere proposte, è più probabile un’interazione con il
sistema che migliorare la raccomandazione.
Quando l’utente è in un specifico posto dove il sistema ha le
coordinate precise del luogo stesso, MobileRek, per prima cosa,
seleziona tutti i ristoranti vicini e poi tra questi scegli i ristoranti che
meglio si avvicinano alle preferenze del viaggiatore. Il sistema quindi
permette all’utente di poter “sfogliare” le proposte offerte e di
scegliere e/o criticarle, del tipo: “sono interessato a questo ristorante
ma è troppo costoso”. In relazione al tipo di critica effettuata, essa
viene automaticamente inserita nel sistema e viene identificata
come preferenza dell’utente. Quindi se il viaggiatore scarta un
ristorante perché troppo costoso il sistema scarterà tutti quei ristoranti
con costi al di sopra del ristorante criticato[12].
Considerando questo esempio di sistema si possono dedurre una
serie di vincoli e requisiti per la progettazione di un sistema di
raccomandazione mobile:
• l’interfaccia grafica per l’utente,di tipo user-friendly;
• il comportamento degli utenti di telefonia mobile, come ad
esempio immettere meno dati possibile per ricevere risultati
rapidamente;
• l’impatto dell’ambiente esterno, ad esempio luci,rumori,
interruzioni.
Infine, un sistema di raccomandazione mobile destinato a supportare
il viaggiatore durante il suo viaggio dovrebbe prendere in
considerazione le seguenti caratteristiche:
- 10 -
• agli utenti mobili non piace effettuare troppi input di dati ma
piuttosto rispondere a delle domande Si/No con un solo click;
• ogni sessione di interazione uomo-sistema deve essere di breve
durata;
• il viaggiatore deve ricevere una raccomandazione in poco
tempo;
• le preferenze sono valide solo per una sessione specifica
perché potrebbero essere piuttosto diverse in un’altra
interazione.
1.3 L’importanza della context-awarenes
La CA (Context Awareness) è un insieme di caratteristiche tecniche
in grado di dare valore aggiunto a servizi in differenti segmenti
applicativi.
Le applicazioni di Context Awareness possono sfruttare tali
caratteristiche per vari scopi:
• presentare informazioni: servizi che presentano informazioni di
contesto al cliente o utilizzano il contesto per proporgli una selezione
appropriata di azioni;
• eseguire comandi: servizi che eseguono comandi o riconfigurano
sistemi per il cliente in funzione di cambiamenti di contesto;
• tagging di informazioni: servizi in grado di associare
informazioni/oggetti collegati ad un servizio (documenti, sale riunioni,
incontri, stampanti/fax/pc) con informazioni di contesto(ora,
locazione, identità, attività).
L’approccio adottato nel progetto per sviluppare un sistema Context
Aware si basa su alcune considerazioni “chiave”:
1) disponibilità ed uso delle informazioni di contesto: