Questa nuova massa di informazioni ha però un’enorme carenza, manca di struttura.
I blog, come diari, non hanno nessuna pretesa di uniformità tematica. È normale che
due articoli consecutivi dello stesso blog affrontino argomenti completamente diversi. Per
questa ragione molti software per gestire blog offrono oggi la possibilità di associare ad
un articolo delle parole chiave, delle etichette con cui l’autore può classificare gli articoli
per argomento.
Questa soluzione è diventata uno standard de facto, mentre ufficialmente la ricerca
era ed è tuttora mirata verso la creazione di una struttura semantica generica che per-
metta di esprimere tutte le relazioni possibili nel web, il cosiddetto web semantico.
Anche se la potenza espressiva di una ontologia ben progettata è sicuramente supe-
riore alla potenza espressiva dell’associazione di una parola chiave ad un contenuto, è
anche vero che il numero di utenti in grado di associare una parola chiave o una sem-
plice “etichetta” ad un sito web, è molto superiore al numero di utenti in grado di sfrut-
tare gli strumenti ed i linguaggi messi a disposizione dalla ricerca nel campo del web
semantico.
Possiamo quindi assumere che, fino a quando non esisteranno interfacce ad elevata
usabilità per la creazione di contenuti con informazione semantica, il web si presenterà
con un’esigua porzione “semanticizzata” ed una ben più grande porzione semplice-
mente “etichettata”.
Quando più utenti classificano delle risorse con l’uso di etichette, si viene a creare
una struttura che è stata definita col neologismo folksonomia (vedi capitolo 2).
1.1 Struttura della tesi
La tesi si pone come obiettivo l’ordinamento personalizzato delle risorse usando le infor-
mazioni sulla personalità dell’utente presenti in una folksonomia.
Per far questo il lavoro è stato diviso in più fasi:
1. il primo capitolo presenta un panorama molto sintetico di tutte le scienze o tecno-
logie che sono entrate in gioco nelle varie fasi del lavoro,
2. il secondo capitolo presenta le folksonomie e ne formalizza una definizione matri-
ciale,
3. il terzo capitolo presenta il sito origine dei dati e continua con una sintesi stati-
stica dei dati stessi,
4. il quarto capitolo presenta le misure di similarità definite in una folksonomia,
5. il quinto capitolo presenta gli algoritmi di suggerimento personalizzato,
6. il sesto capitolo presenta le misure di valutazione della qualità di predizione,
7. il settimo capitolo presenta e commenta i risultati degli esperimenti,
8. l’ottavo ed ultimo capitolo conclude il lavoro con riflessioni e spunti per il futuro.
8 Introduzione
1.2 Reperire informazioni in internet
Internet è essenzialmente uno strumento per la condivisione delle informazioni, ogni
utente accede ad internet per trovare informazioni e per scambiarle con altri.
In estrema sintesi è possibile classificare il reperimento di informazioni in due classi:
1. il reperimento attivo di informazioni, cioè la ricerca di informazioni specifiche per
affrontare una situazione contingente (ad esempio, cercare il significato di una
parola sul dizionario),
2. il reperimento passivo di informazioni, cioè la normale prassi di tenersi aggiornati
su argomenti di interesse generale (ad esempio, leggere il quotidiano o guardare la
televisione).
Esistono anche fonti di informazione passiva specializzata, come ad esempio canali tema-
tici o riviste specializzate. Questo tipo di informazione è comunque indirizzata ad un
pubblico più ampio del singolo utente. Per questo nella grande maggioranza dei casi,
l’utente cerca attivamente le informazioni che lo interessano.
La ricerca di informazioni si basa, in sintesi, su tre tipologie di fonti:
1. l’esperienza personale,
2. il consiglio di conoscenti (scelti in base all’argomento),
3. le fonti impersonali (giornali, enciclopedie).
Fonti che possono essere interpretate nel ristretto ambito della navigazione web come:
1. i propri bookmark,
2. il consiglio di conoscenti,
3. i motori di ricerca ed i portali internet.
Possiamo notare che l’evoluzione più marcata si è verificata nell’ambito dei portali e dei
motori di ricerca. I motori di ricerca si sono evoluti molto negli ultimi anni e la qualità
della ricerca è cresciuta sensibilmente [17]’98, [16]’2000; parallelamente sono nati portali
(tematici o meno) che forniscono un’abbondante quantità di informazioni per l’utente
che intende tenersi aggiornato.
Gli sviluppi in internet delle prime due fonti sono invece molto più limitati, e non
godono ancora pienamente dei vantaggi della condivisione di informazioni e della comu-
nicazione a distanza che internet offre. Ad esempio ci potremmo aspettare una
migliore “memoria” dei siti visitati in passato (e poi regolarmente dimenticati e cercati
nuovamente), oppure un qualche metodo automatico per trovare persone con interessi
simili ai nostri, anche se non le conosciamo personalmente.
Guardandoci attorno però possiamo vedere che molti degli ingredienti che potrebbero
permettere una visione personalizzata del web sono già in uso. Il dubbio che deve essere
chiarito è: sono già questi i germogli della futura evoluzione del web, oppure i veri ger-
mogli devono ancora spuntare?
1.2 Reperire informazioni in internet 9
1.3 Ricerche collegate
I sistemi di filtraggio collaborativo sono oggetto di ricerca da molti anni. Forse tra le
prime ricerche effettuate la più famose sono Tapestry (1992) [10] e GroupLens (1994)
[20]; poi sicuramente è da citare il lavoro “Recommender systems” (Resnick e Varian,
1997) [21] a cui dobbiamo la definizione di “Sistemi di Raccomandazione”, cioè di sistemi
disegnati per prevedere le preferenze di un utente usando le preferenze espresse dagli
altri utenti del sistema.
Al crescere del numero delle pubblicazioni si è resa necessaria la scelta di una termi-
nologia più precisa [2]’97 e di un’identificazione più chiara delle problematiche di questa
tipologia di sistemi [18]’01. Presto si sono rese necessarie anche delle ricerche compara-
tive (Herlocker 2004) [13], mirate a confrontare i risultati sperimentali. Infatti spesso
ogni lavoro ha introdotto una nuova misura di prestazione e questo rende molto difficile
un confronto tra algoritmi diversi.
Possiamo riassumere che la ricerca nell’ambito del "suggerimento collaborativo" (ter-
mine usato in questo testo per definire genericamente i sistemi di suggerimento collabo-
rativo basati sugli utenti, sui contenuti o misti) ha esplorato una vasta gamma di
approcci, e trovato applicazioni su una vasta gamma di archivi: dai primi suggerimenti
di articoli in Usenet di GroupLens [20]’94 al suggerimento di film sull’archivio Bellcore
[14]’95 fino al recente suggerimento di comunità interessanti in Orkut [23]’05.
Vediamo brevemente prima una panoramica sui sistemi di raccomandazione e poi
una breve presentazione del processo di scoperta del sapere (Knowledge Discovery o
Data Mining) che sempre più spesso caratterizza le prime fasi dell’approccio ad una base
di dati ignota.
1.3.1 Sistemi di raccomandazione
I sistemi di raccomandazione (Resnick & Varian, 1997) [21] sono sistemi progettati per
predire le preferenze di un utente, usando in modo collettivo le informazioni acquisite su
tutti gli utenti del sistema.
Esistono sistemi che fanno uso delle sole raccomandazioni degli utenti, sistemi che
usano le sole caratteristiche estratte dall’oggetto suggerito e sistemi che operano in modo
misto.
Indipendentemente dal tipo di sistema, il processo di suggerimento presenta dei pro-
blemi comuni [18].
Il problema dei nuovi utenti. Il sistema deve essere in grado di fare predizioni
"interessanti" anche dopo un breve periodo d’uso per evitare che l’utente smetta
di usare il sistema.
Il problema del rinnovo continuo. Nuovi oggetti vengono aggiunti con continuità
al sistema. Un sistema basato solo sulle preferenze degli utenti rischia di non
essere in grado di fare predizioni accurate sui nuovi ingressi.
10 Introduzione
Il problema della sparsità delle preferenze. In ogni sistema di raccomandazione
il numero di oggetti con molte preferenze espresse è molto inferiore al numero
complessivo degli oggetti presenti e raccomandabili.
Il problema delle prestazioni. Sistemi di questo tipo sono spesso destinati ad
operare in tempo reale con un numero molto alto di richieste ed archivi in con-
tinua crescita.
I sistemi che usano solo le valutazioni degli utenti si dicono "sistemi di raccomandazione
collaborativa". In questo tipo di sistemi non vengono suggeriti oggetti simili a quelli
scelti dall’utente nel passato, ma vengono suggeriti gli oggetti scelti nel passato da utenti
simili. Esempi di questo tipo sono GroupLens [20] ed il sistema di raccomandazione di
film Bellcore [14]. Questo tipo di sistemi "puri" è il più sensibile al problema del rinnovo
continuo.
Al contrario i sistemi basati esclusivamente sulle caratteristiche degli oggetti catalo-
gati, “sistemi di raccomandazione basati sul contenuto”, sono meno sensibili al problema
del rinnovo continuo, ma rischiano di essere affetti dal problema dei nuovi utenti. Inoltre
sistemi di questo tipo hanno problemi nel catalogare informazioni di tipo non testuale e
rischiano nel tempo di specializzarsi troppo sul profilo dell’utente [2].
Il sistema presentato in questa tesi è un sistema basato sulle sole preferenze degli
utenti, ma come nel lavoro di Han e Karipys del 2005 [12] gli oggetti non sono entità
atomiche ma hanno degli attributi, però a differenza di [12]’05 gli attributi sono specifici
per ogni utente.
1.3.2 Data Mining
Si definisce “Data Mining” (DM) o anche "Knowledge Discovery in Databases" (KDD) il
processo molto euristico che si avvale dell’uso simbiotico di varie scienze e tecnologie al
fine di estrarre conoscenza da grandi archivi di dati.
Secondo Frawley et al . [9]’92 è possibile definire lo "Knowledge Discovery" come il
processo di estrazione di informazioni implicite, precedentemente ignote e potenzialmente
utili, dai dati .
Nel processo di scoperta sono necessarie come minimo competenze in quattro ambiti.
Conoscenza delle tecnologie di archiviazione. Quando si presenta un problema
di KDD, i dati da analizzare sono in archivi che raramente hanno dimensioni infe-
riori al milione di record. Senza un’adeguata padronanza delle tecnologie di archi-
viazione esistenti, il problema può risultare ingestibile fin dalle prime fasi
dell’analisi.
Nozioni di statistica. Una volta organizzati i dati in un archivio interrogabile, il
primo passo è quello di comprendere la struttura dei dati. Una volta comprese le
relazioni fondamentali, sarà possibile identificare i dati interessanti e scartare i
dati non adatti.
1.3 Ricerche collegate 11
Nozioni di apprendimento automatico. Spesso una conoscenza dei fondamenti
dell’apprendimento automatico può essere molto utile, sia per affiancare agli stru-
menti della statistica degli strumenti più specifici al particolare dominio, sia per
impostare la base di dati fin dalle prime fasi della scoperta e renderla adatta ad
un futuro utilizzo nel campo dell’intelligenza artificiale.
Conoscenza delle tecnologie di visualizzazione. Quando la dimensione dei dati
o il numero di dimensioni delle variabili supera un certo limite, una corretta
visualizzazione grafica può dare ottimi suggerimenti sulle direzioni verso cui diri-
gere l’esplorazione.
L’uso combinato di queste scienze o tecnologie permette di speculare informazioni sinte-
tiche (conoscenza) da archivi precedentemente opachi alla vista del ricercatore.
In questo lavoro ho usato ben pochi tra gli strumenti offerti dall’evoluzione del
campo del Data Mining avvenuta negli ultimi anni, ma comunque ritengo importante
sottolineare come molte delle competenze richieste siano in effetti parte della formazione
ingegneristica offerta dall’università italiana.
12 Introduzione