Modelli vettoriali per il
filtraggio dell’informazione

        Cataldo Musto
          5 maggio 10



              1
Sommario
•   Modelli Vettoriali
•   Applicazioni nell’Information Filtering
    •   Modello basato su Random Projection
  ...
Vector Space Model
        (VSM)
• Nasce con Salton (1975) e trova la sua
  prima applicazione nell’Information Retrieval
...
Modelli Vettoriali




        4
Applicazioni
• Information Retrieval
 • Ogni documento è un elemento dello
    spazio vettoriale
 • Rappresentazione della...
Idea
•   Investigare sull’applicazione dei modelli
    vettoriali nell’ambito dell’Information Filtering
    Information F...
Analisi dei modelli
        vettoriali
•   Vantaggi
    •   Formalismi matematici ben definiti e consolidati (vettori, spaz...
Approccio
•   Esigenza di garantire al tempo stesso

    •   Efficienza e Scalabliità
    •   Modello espressivo
    •   Ri...
Random Projection
•   Basato sulla cosiddetta “ipotesi distribuzionale”
•   Quanto più due termini co-occorrono negli stes...
Random Projection
•   Ad ogni termine presente nel corpus di
    documenti viene assegnato un vettore
    random di dimens...
Random Projection
•   La rappresentazione vettoriale di un termine
    si ottiene combinando il proprio vettore
    random...
Random Projection
• Il modello basato su Random Projection si
  è dimostrato essere
  • Efficiente
  • In grado di catturar...
Note matematiche
•   Random Projection
    •   Metodo di riduzione della dimensionalità efficiente.
        Perchè?
    •  ...
Modello n°1
•   Attraverso la Random Projection abbiamo a disposizione
    un modello in grado di rappresentare le entità ...
Modello n°2
•   Il modello n°1 non gestisce i ratings rilasciati dall’utente
•   Ipotesi
    •   Assegnare a ogni termine ...
Random Projection vs.
      TF/IDF
•   Differenze
    •   La costruzione della matrice utilizzando la proiezione
        r...
Semantic Vectors
•   Package Open-Source scritto in Java
    •   Implementa un algoritmo basato su Random
        Projecti...
Operatore di Negazione

 • I sistemi di Information Retrieval attuali
   non sono in grado di gestire query del
   tipo “A...
Operatore di Negazione
 •   Nello specifico
     •   A, B - vettori
     •   not B - sottospazio vettoriale ortogonale a qu...
Modello n°3
•   Si crea un vettore like utilizzando il meccanismo
    del modello n°1
•   Si crea un vettore dislike indiv...
Modello n°4
•   Estende il modello n°2 e n°3
    •   Utilizza un meccanismo di pesatura dei termini
        •   Nel profilo...
Ricapitolando..
•   Modello n°1
    •   Basato sulla Random Projection
•   Modello n°2
    •   Basato sulla Random Project...
Sperimentazione
•   Dataset Movielens + Wikipedia
    •   613 utenti
    •   520 oggetti
        •   24.975 features
    •...
Metriche
•   NDPM
    •   Poco significativa: confronta tutte le possibili coppie di oggetti
        verificando se l’ordina...
Baseline
• Random
• Bayes (FIRSt)
• Work in Progress
  • TF/IDF
  • Completate 2 tornate su 5 , quindici
    giorni (a pie...
Risultati




    26
Risultati




    27
Tabella Riassuntiva
                SemVec 1    SemVec 2    SemVec 3     SemVec 4       Bayes     Random

Precision@1     ...
Conclusioni
•   Il modello di filtraggio basato sui Semantic Vectors ha dato
    risultati promettenti
    •   Capacità pre...
Analisi del Dataset
•   Il dataset acquisito da MovieLens è poco significativo
    per un modello di raccomandazione conten...
Statistiche
                                                !"#




        %&#$   !"#$




                              ...
Statistiche
•   Nessuna delle 15 features più
    frequenti (tranne forse death)
    ci fornisce indicazioni reali sul
   ...
Analisi del Dataset
•   A conferma dell’ipotesi, il recommender (semantic vectors e bayesiano) è stato
    confrontato con...
Analisi del Dataset
•   L’estrazione del dataset da MovieLens ci ha permesso di testare i
    nostri sistemi su dati più c...
Work in progress...
•   YourFeeds (http://yourfeeds.altervista.org)
•   Tesi di Laurea Triennale
•   Estrazione dati da Fa...
YourFeeds - APML
<APML xmlns="http://www.apml.org/apml-0.6" version="0.6">
<Head>
   <Title>ProfiloEttaMarasciulo</Title>
...
YourFeeds - Profilo
<APML xmlns="http://www.apml.org/apml-0.6" version="0.6">
<Head>
   <Title>ProfiloEttaMarasciulo</Title...
YourFeeds
<APML xmlns="http://www.apml.org/apml-0.6" version="0.6">
<Head>
   <Title>ProfiloEttaMarasciulo</Title>
</Head>...
Work in progress...
•   Studenti Sancilio/Spagnoletta
    •   Estrazione dati da LinkedIn
    •   Modellazione APML
    • ...
Work in progress...
•   Tag Recommender
    •   Estensione del modello content-based anche ai BibTex (tesi triennale)
    ...
Modelli Vettoriali per il Filtraggio dell'Informazione
Upcoming SlideShare
Loading in...5
×

Modelli Vettoriali per il Filtraggio dell'Informazione

1,288

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,288
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×