Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Modelli Vettoriali per il Filtraggio dell'Informazione

1,525 views

Published on

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

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Modelli Vettoriali per il Filtraggio dell'Informazione

  1. 1. Modelli vettoriali per il filtraggio dell’informazione Cataldo Musto 5 maggio 10 1
  2. 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. 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
  4. 4. Modelli Vettoriali 4
  5. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  23. 23. 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
  24. 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. 25. Baseline • Random • Bayes (FIRSt) • Work in Progress • TF/IDF • Completate 2 tornate su 5 , quindici giorni (a pieno regime) per ogni tornata 25
  26. 26. Risultati 26
  27. 27. Risultati 27
  28. 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. 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. 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. 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. 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. 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. 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. 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
  36. 36. 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
  37. 37. 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
  38. 38. 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
  39. 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. 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

×