41
Modelli vettoriali per il filtraggio dell’informazione Cataldo Musto 5 maggio 10 1

Modelli Vettoriali per il Filtraggio dell'Informazione

Embed Size (px)

DESCRIPTION

Slides della Presentazione tenuta in Università in data 5 maggio 2010.Cataldo Musto

Citation preview

Page 1: Modelli Vettoriali per il Filtraggio dell'Informazione

Modelli vettoriali per il filtraggio dell’informazione

Cataldo Musto5 maggio 10

1

Page 2: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 3: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 4: Modelli Vettoriali per il Filtraggio dell'Informazione

Modelli Vettoriali

4

Page 5: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 6: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 7: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 8: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 9: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 10: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 11: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 12: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 13: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 14: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 15: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 16: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 17: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 18: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 19: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 20: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 21: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 22: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 23: Modelli Vettoriali per il Filtraggio dell'Informazione

Sperimentazione• Dataset Movielens + Wikipedia

• 613 utenti

• 520 oggetti

• 24.975 features

• 40k ratings

• Sbilanciato: 85% di ratings positivi (>=3)

• 5-fold cross validation

• Processing linguistico: rimozione stopwords

23

Page 24: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 25: Modelli Vettoriali per il Filtraggio dell'Informazione

Baseline

• Random

• Bayes (FIRSt)

• Work in Progress

• TF/IDF

• Completate 2 tornate su 5 , quindici giorni (a pieno regime) per ogni tornata

25

Page 26: Modelli Vettoriali per il Filtraggio dell'Informazione

Risultati

26

Page 27: Modelli Vettoriali per il Filtraggio dell'Informazione

Risultati

27

Page 28: Modelli Vettoriali per il Filtraggio dell'Informazione

Tabella RiassuntivaSemVec 1 SemVec 2 SemVec 3 SemVec 4 Bayes Random

Precision@1

Precision@3

Precision@5

Precision@7

Precision@10

85,93 86,33 85,97 86,78 86,39 84,01

85,78 85,97 86,19 86,33 85,97 84,40

85,75 86,10 85,99 86,16 85,83 84,66

85,61 85,92 85,88 85,95 85,77 84,91

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

Page 29: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 30: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 31: Modelli Vettoriali per il Filtraggio dell'Informazione

Statistiche

• 13334 features presenti solo una volta

• 53% del totale

• solo 2080 features presenti in più di 10 items

• 8% del totale!

!"#$%&#$

!"#

$%"#

31

Page 32: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 33: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 34: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 35: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 36: Modelli Vettoriali per il Filtraggio dell'Informazione

YourFeeds - APML

<APML xmlns="http://www.apml.org/apml-0.6" version="0.6"> <Head> <Title>ProfiloEttaMarasciulo</Title> </Head> <Body> <Profile name="Home"> <ImplicitData> <Concepts>

<Concept key="facebook" value="0.125" from=“YourFeeds.org" updated="2010-03-28T14:24:35Z" />

<Concept key="monopoli" value="0.1875" from=“YourFeeds.org" updated="2010-03-28T14:24:35Z" />

</Concepts> </ImplicitData>

36

Page 37: Modelli Vettoriali per il Filtraggio dell'Informazione

YourFeeds - Profilo

<APML xmlns="http://www.apml.org/apml-0.6" version="0.6"> <Head> <Title>ProfiloEttaMarasciulo</Title> </Head> <Body> <Profile name="Home"> <ImplicitData> <Concepts>

<Concept key="facebook" value="0.125" from=“YourFeeds.org" updated="2010-03-28T14:24:35Z" />

<Concept key="monopoli" value="0.1875" from=“YourFeeds.org" updated="2010-03-28T14:24:35Z" />

</Concepts> </ImplicitData>

37

Page 38: Modelli Vettoriali per il Filtraggio dell'Informazione

YourFeeds

<APML xmlns="http://www.apml.org/apml-0.6" version="0.6"> <Head> <Title>ProfiloEttaMarasciulo</Title> </Head> <Body> <Profile name="Home"> <ImplicitData> <Concepts>

<Concept key="facebook" value="0.125" from=“YourFeeds.org" updated="2010-03-28T14:24:35Z" />

<Concept key="monopoli" value="0.1875" from=“YourFeeds.org" updated="2010-03-28T14:24:35Z" />

</Concepts> </ImplicitData>

38

Page 39: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 40: Modelli Vettoriali per il Filtraggio dell'Informazione

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

Page 41: Modelli Vettoriali per il Filtraggio dell'Informazione