2. Sommario
• Modelli Vettoriali
• Applicazioni nell’Information Filtering
• Modello basato su Random Projection
• Modello basato sull’operatore di negazione dei Semantic
Vectors
• Analisi del dataset Movielens
• Considerazioni critiche
• Applicazioni del modello
• YourFeeds - Filtraggio feed RSS
• SISCAPP - Progetto POR Grifo Multimedia
2
3. Vector Space Model
(VSM)
• Nasce con Salton (1975) e trova la sua
prima applicazione nell’Information Retrieval
• Definizione di uno spazio vettoriale di
dimensione pari ad N (N = numero delle
features che descrivono gli oggetti)
• Ogni elemento viene rappresentato come
un punto all’interno dello spazio vettoriale
3
5. Applicazioni
• Information Retrieval
• Ogni documento è un elemento dello
spazio vettoriale
• Rappresentazione della query utilizzando
un formalismo uniforme
• Calcolo della similarità del coseno per
individuare gli oggetti più simili alla query
5
6. Idea
• Investigare sull’applicazione dei modelli
vettoriali nell’ambito dell’Information Filtering
Information Filtering & Information Retrieval: two sides of the same coin?, Belkin, 1992
• Oggetti da filtrare = Documenti
• Query = Profilo
• Utilizzo degli stessi metodi di pesatura (TF/
IDF) e delle stesse metriche di similarità
(Cosine simlarity)
6
7. Analisi dei modelli
vettoriali
• Vantaggi
• Formalismi matematici ben definiti e consolidati (vettori, spazi vettoriali,
similarità del coseno, ecc.)
• Svantaggi
• Elevata dimensionalità
• Ponderare le applicazioni di processing linguistico (stemming,
posTagging, rimozione stopwords, ecc.)
• Metodo non scalabile
• La matrice termini/documento deve essere rigenerata ad ogni
interazione dell’utente con il sistema e ad ogni modifica del dataset
• Incapacità di gestire la semantica
• Un documento e la sua permutazione vengono rappresentati nello
stesso modo !
7
8. Approccio
• Esigenza di garantire al tempo stesso
• Efficienza e Scalabliità
• Modello espressivo
• Riduzione dello spazio vettoriale
• Modelli analizzati
• Random Projection (Sahlgren, 2001)
• Semantic Vectors (Widdows, 2007)
8
9. Random Projection
• Basato sulla cosiddetta “ipotesi distribuzionale”
• Quanto più due termini co-occorrono negli stessi contesti tanto
più è probabile che essi abbiano una correlazione semantica
• “Meaning is its use” (Wittgenstein)
• Base del modello: la parola (termine)
• Come rappresentare la parola?
• Una parola è la somma dei suoi contesti
• Cosa è il suo contesto?
• Le altre parole con cui co-occorre
9
10. Random Projection
• Ad ogni termine presente nel corpus di
documenti viene assegnato un vettore
random di dimensione predefinita
• Random = può assumere valori pari a
-1 , 0 o 1, distribuiti in modo casuale
• La rappresentazione vettoriale di un
termine viene combinata, iterando, con la
rappresentazione dei termini con cui co-
occorre
10
11. Random Projection
• La rappresentazione vettoriale di un termine
si ottiene combinando il proprio vettore
random con i vettori random di tutti gli altri
termini con cui co-occorre
• Generalizzando
• La rappresentazione vettoriale di un
documento si ottiene combinando le
rappresentazioni vettoriali di tutti i termini
che compaiono al suo interno
11
12. Random Projection
• Il modello basato su Random Projection si
è dimostrato essere
• Efficiente
• In grado di catturare la semantica dei
termini
• Approccio simile ad LSA (Latent
Semantic Analysis) ma molto più
scalabile
12
13. Note matematiche
• Random Projection
• Metodo di riduzione della dimensionalità efficiente.
Perchè?
• Perchè la distanza tra i punti nello spazio vettoriale viene
preservata. Perchè?
• Perchè presi due vettori, essi sono quasi sempre
ortogonali (prodotto scalare = 0). Perchè?
• Perchè i due vettori contengono un numero di zeri
molto più alto al numero degli 1 e -1, quindi il prodotto
scalare sarà un numero molto piccolo (e dunque
generalmente i vettori sono “nearly orthogonal”)
13
14. Modello n°1
• Attraverso la Random Projection abbiamo a disposizione
un modello in grado di rappresentare le entità da filtrare
• Come rappresentare il profilo dell’utente?
• Intuizione: il profilo dell’utente è rappresentato dai
termini presenti negli oggetti che ha gradito in passato
• Rappresentazione: combinando la
rappresentazione vettoriale dei termini otteniamo la
rappresentazione vettoriale del profilo
• Possiamo applicare la cosine similarity per individuare
gli oggetti più “vicini” all’utente
14
15. Modello n°2
• Il modello n°1 non gestisce i ratings rilasciati dall’utente
• Ipotesi
• Assegnare a ogni termine un peso proporzionale al
rating dato dall’utente nel valutare l’oggetto
• Nel profilo dell’utente ogni termine viene inserito un numero di
volte pari allo scostamento del rating dal valore medio (arrotondato
per eccesso)
• Rating = 3 , il termine “horror” viene inserito una volta.
• Rating = 5 , il termine viene inserito tre volte, ecc.
• Intuizione semplice: sperimentare dei meccanismi di pesatura più
complessi
15
16. Random Projection vs.
TF/IDF
• Differenze
• La costruzione della matrice utilizzando la proiezione
random riduce la complessità del modello
• L’utilizzo della proiezione random permette di gestire la
semantica latente dei documenti
• Analogie
• Rappresentazione di documenti e profilo utilizzando uno
spazio vettoriale
• Calcolo della similarità utilizzando la cosine similarity
• Nessuno dei due modelli gestisce il non gradimento
16
17. Semantic Vectors
• Package Open-Source scritto in Java
• Implementa un algoritmo basato su Random
Projection per l’indicizzazione di documenti
• Fornisce API per il calcolo della similarità
termine/termine - termine/documento -
documento/termine e documento/
documento
• Integra un operatore di negazione basato
sulla meccanica quantistica
17
18. Operatore di Negazione
• I sistemi di Information Retrieval attuali
non sono in grado di gestire query del
tipo “A not B”
• Nei Semantic Vectors si riapplicano alcuni
principi della meccanica quantistica per
definire un operatore di negazione
18
19. Operatore di Negazione
• Nello specifico
• A, B - vettori
• not B - sottospazio vettoriale ortogonale a quello generato dal
vettore B
• ortogonale = prodotto scalare uguale a zero = senza features in
comune
• A not B - proiezione del vettore A sul sottospazio vettoriale
ortogonale generato dal vettore B
• insieme dei vettori che condividono quante più features possibili
con A e quante meno feature possibili con B
• Si tratta ancora di un vettore, quindi è ancora un
elemento uniforme e dunque possiamo utilizzarlo
per cercare gli oggetti dello spazio più vicini ad esso!
19
20. Modello n°3
• Si crea un vettore like utilizzando il meccanismo
del modello n°1
• Si crea un vettore dislike individuando i termini
presenti nei documenti che non sono stati
graditi nella fase di training
• Si utilizza l’operatore di negazione per
istanziare il vettore like NOT dislike
• Si individuano gli elementi più vicini ad esso
nello spazio vettoriale
20
21. Modello n°4
• Estende il modello n°2 e n°3
• Utilizza un meccanismo di pesatura dei termini
• Nel profilo positivo ogni termine è presente un
numero di volte direttamente proporzionale al
rating
• Nel profilo negativo ogni termine è presente un
numero di volte inversamente proporzionale al
rating
• Utilizza l’operatore di negazione per istanziare un
profilo pesato “like NOT dislike”
21
22. Ricapitolando..
• Modello n°1
• Basato sulla Random Projection
• Modello n°2
• Basato sulla Random Projection, pesando i termini in
funzione del rating
• Modello n°3
• Basato su Random Projection e Semantic Vectors per la
negazione
• Modello n°4
• Basato su Random Projection e Semantic Vectors per la
negazione, pesando i termini in funzione del rating
22
24. Metriche
• NDPM
• Poco significativa: confronta tutte le possibili coppie di oggetti
verificando se l’ordinamento è corretto. Ma in un sistema di filtraggio
sono importanti solo i primi N oggetti, non tutti.
• Precision ed Average Precision (@1, @3, @5, @7, @10)
• La Average Precision modifica la precision dando più peso agli elementi
più in alto nel ranking (es. è più importante che sia corretto l’item
rankato come primo rispetto a quello rankato come quinto)
• NDCG - Normalized Discounted Cumulative Gain
• Confronta l’ordinamento proposto con l’ordinamento ottimale
• Impossibilità di calcolare la recall
• Non esiste un threshold oggettivo, quindi non è possibile utilizzare
metriche di classificazione
24
25. Baseline
• Random
• Bayes (FIRSt)
• Work in Progress
• TF/IDF
• Completate 2 tornate su 5 , quindici
giorni (a pieno regime) per ogni tornata
25
28. Tabella Riassuntiva
SemVec 1 SemVec 2 SemVec 3 SemVec 4 Bayes Random
Precision@1 85,93 86,33 85,97 86,78 86,39 84,01
Precision@3 85,78 85,97 86,19 86,33 85,97 84,40
Precision@5 85,75 86,10 85,99 86,16 85,83 84,66
Precision@7 85,61 85,92 85,88 85,95 85,77 84,91
Precision@10 85,45 85,76 85,76 85,83 85,75 84,97
• In generale i Semantic Vectors si comportano meglio del Bayesiano
• I modelli con pesatura si comportano meglio dei modelli senza pesatura
• L’operatore di negazione migliora la capacità predittiva
• L’incremento per i modelli senza pesatura è sempre superiore
all’incremento dei modelli con pesatura
• Scarto molto piccolo (anche rispetto al Random) indotto dal Dataset (85% di
voti positivi) 28
29. Conclusioni
• Il modello di filtraggio basato sui Semantic Vectors ha dato
risultati promettenti
• Capacità predittiva superiore al modello bayesiano
attualmente in uso
• Alta scalabilità
• Tempi 3 volte inferiori rispetto al bayesiano ed oltre 15
volte inferiori rispetto alla TF/IDF per il completamento di
una sperimentazione
• Margini di miglioramento
• Sperimentazione con altri meccanismi di pesatura
• Sperimentazione con altre funzioni di similarità (BM25?)
• Sperimentazione con altri dataset
29
30. Analisi del Dataset
• Il dataset acquisito da MovieLens è poco significativo
per un modello di raccomandazione content-based
• Questo motiva lo scarto molto piccolo tra i vari
modelli e la differenza non rilevante con il random
• Dataset sbilanciato
• 85% di voti positivi
• Spazio delle features molto sparso
• 24.975 features
30
31. Statistiche
!"#
%&#$ !"#$
$%"#
• 13334 features presenti solo una volta
• 53% del totale
• solo 2080 features presenti in più di 10 items
• 8% del totale! 31
32. Statistiche
• Nessuna delle 15 features più
frequenti (tranne forse death)
ci fornisce indicazioni reali sul
“contenuto” del film o sulle
preferenze dell’utente
• Bisogna ragionare sull’utilità di
adottare le descrizioni delle
trame
• La struttura attuale del
dataset è probabilmente
inadatta per una
sperimentazione
content-based
32
33. Analisi del Dataset
• A conferma dell’ipotesi, il recommender (semantic vectors e bayesiano) è stato
confrontato con il comportamento di un sistema che suggerisce a ciascun utente
gli item più popolari
• Ricavata con una semplice query sulle medie dei rating sui singoli oggetti
• Modello collaborativo,
• No calcolo dei neighbour
• No personalizzazione
• Risultati sorprendenti
• Precision circa 90% , oltre 3% rispetto ai nostri modelli
content-based!
• Uno spazio delle features così sparso genera rumore nelle predizioni
• L’utilizzo di un dataset processato con META non ha migliorato
(anzi, ha peggiorato :-) i risultati emersi
33
34. Analisi del Dataset
• L’estrazione del dataset da MovieLens ci ha permesso di testare i
nostri sistemi su dati più corposi
• Item: 520 vs 45 (dataset Pinacoteca)
• Lo spazio delle features è però inadatto ai modelli content-based
• Soluzioni
• Sostituzione delle descrizioni testuali con un insieme di
keywords (o tag) per ridurre la sparsità
• Individuazione di domini più adatti al modello content-based
• Raccomandazione di news o di articoli scientifici
• Creazione di un dataset ad-hoc da donare alla comunità :-)
34
35. Work in progress...
• YourFeeds (http://yourfeeds.altervista.org)
• Tesi di Laurea Triennale
• Estrazione dati da Facebook Connect
• Modellazione profilo keyword-based in APML
• Personalizzazione Feed RSS
• Sviluppi futuri: integrazione dei Semantic
Vectors per la gestione della matrice termini/
documento
35
39. Work in progress...
• Studenti Sancilio/Spagnoletta
• Estrazione dati da LinkedIn
• Modellazione APML
• Scenario applicativo (da individuare)
• Sviluppi futuri
• Estrazione API Twitter
• Convergenza dati Facebook - Twitter - LinkedIn
• Creazione di un’unica piattaforma di profilazione che analizza dati
sociali
• Profilo content-based portabile
39
40. Work in progress...
• Tag Recommender
• Estensione del modello content-based anche ai BibTex (tesi triennale)
• Sviluppo della demo (tesi triennale già assegnata, tesista disperso)
• POR Grifo Multimedia - SISCAPP
• Attualmente: D.4.1 - Architettura Siscapp
• Sviluppo di una componente di Query Expansion
• Arricchimento della query aggiungendo vincoli legati al profilo
dell’utente (conoscenze, competenze, ecc.)
• Sviluppo di una componente di Raccomandazione
• La scelta del modello dipenderà dai dati a disposizione
40