SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
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
    •   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
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
Modelli Vettoriali




        4
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Baseline
• Random
• Bayes (FIRSt)
• Work in Progress
  • TF/IDF
  • Completate 2 tornate su 5 , quindici
    giorni (a pieno regime) per ogni tornata

                    25
Risultati




    26
Risultati




    27
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
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
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
Statistiche
                                                !"#




        %&#$   !"#$




                                         $%"#




•   13334 features presenti solo una volta
    •   53% del totale
•   solo 2080 features presenti in più di 10 items
    •   8% del totale!     31
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
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
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
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
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
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
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
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
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
Modelli Vettoriali per il Filtraggio dell'Informazione

Más contenido relacionado

Ähnlich wie Modelli Vettoriali per il Filtraggio dell'Informazione

C#, imparare a programmare e sopravvivere
C#, imparare a programmare e sopravvivereC#, imparare a programmare e sopravvivere
C#, imparare a programmare e sopravvivereMatteo Valoriani
 
Presentazione Aggiornamento Agile Club Sviluppatori Puglia
Presentazione Aggiornamento Agile Club Sviluppatori PugliaPresentazione Aggiornamento Agile Club Sviluppatori Puglia
Presentazione Aggiornamento Agile Club Sviluppatori PugliaGiuseppe Ricci
 
Tecniche di fattorizzazione applicate ai recommender systems
Tecniche di fattorizzazione applicate ai recommender systemsTecniche di fattorizzazione applicate ai recommender systems
Tecniche di fattorizzazione applicate ai recommender systemsGiuseppe Ricci
 
Classificazione in efMRI: Un caso di studio sulla coniugazione dei verbi
Classificazione in efMRI: Un caso di studio sulla coniugazione dei verbiClassificazione in efMRI: Un caso di studio sulla coniugazione dei verbi
Classificazione in efMRI: Un caso di studio sulla coniugazione dei verbiLuca Vitale
 
Data Profiling with Metanome
Data Profiling with MetanomeData Profiling with Metanome
Data Profiling with MetanomeMatteo Senardi
 
Sistemi di raccomandazione
Sistemi di raccomandazioneSistemi di raccomandazione
Sistemi di raccomandazioneBig Data for You
 
Design patterns - parte 1
Design patterns - parte 1Design patterns - parte 1
Design patterns - parte 1Fabio Armani
 

Ähnlich wie Modelli Vettoriali per il Filtraggio dell'Informazione (10)

Sentiment candida 27_may
Sentiment candida 27_maySentiment candida 27_may
Sentiment candida 27_may
 
C#, imparare a programmare e sopravvivere
C#, imparare a programmare e sopravvivereC#, imparare a programmare e sopravvivere
C#, imparare a programmare e sopravvivere
 
Presentazione Aggiornamento Agile Club Sviluppatori Puglia
Presentazione Aggiornamento Agile Club Sviluppatori PugliaPresentazione Aggiornamento Agile Club Sviluppatori Puglia
Presentazione Aggiornamento Agile Club Sviluppatori Puglia
 
Tecniche di fattorizzazione applicate ai recommender systems
Tecniche di fattorizzazione applicate ai recommender systemsTecniche di fattorizzazione applicate ai recommender systems
Tecniche di fattorizzazione applicate ai recommender systems
 
Classificazione in efMRI: Un caso di studio sulla coniugazione dei verbi
Classificazione in efMRI: Un caso di studio sulla coniugazione dei verbiClassificazione in efMRI: Un caso di studio sulla coniugazione dei verbi
Classificazione in efMRI: Un caso di studio sulla coniugazione dei verbi
 
Data Profiling with Metanome
Data Profiling with MetanomeData Profiling with Metanome
Data Profiling with Metanome
 
Sistemi di raccomandazione
Sistemi di raccomandazioneSistemi di raccomandazione
Sistemi di raccomandazione
 
Ruby in 25 minuti
Ruby in 25 minutiRuby in 25 minuti
Ruby in 25 minuti
 
Design patterns - parte 1
Design patterns - parte 1Design patterns - parte 1
Design patterns - parte 1
 
Relaxed FD Discoverer
Relaxed FD DiscovererRelaxed FD Discoverer
Relaxed FD Discoverer
 

Mehr von Cataldo Musto

MyrrorBot: a Digital Assistant Based on Holistic User Models for Personalize...
MyrrorBot: a Digital Assistant Based on Holistic User Models forPersonalize...MyrrorBot: a Digital Assistant Based on Holistic User Models forPersonalize...
MyrrorBot: a Digital Assistant Based on Holistic User Models for Personalize...Cataldo Musto
 
Fairness and Popularity Bias in Recommender Systems: an Empirical Evaluation
Fairness and Popularity Bias in Recommender Systems: an Empirical EvaluationFairness and Popularity Bias in Recommender Systems: an Empirical Evaluation
Fairness and Popularity Bias in Recommender Systems: an Empirical EvaluationCataldo Musto
 
Intelligenza Artificiale e Social Media - Monitoraggio della Farnesina e La M...
Intelligenza Artificiale e Social Media - Monitoraggio della Farnesina e La M...Intelligenza Artificiale e Social Media - Monitoraggio della Farnesina e La M...
Intelligenza Artificiale e Social Media - Monitoraggio della Farnesina e La M...Cataldo Musto
 
Exploring the Effects of Natural Language Justifications in Food Recommender ...
Exploring the Effects of Natural Language Justifications in Food Recommender ...Exploring the Effects of Natural Language Justifications in Food Recommender ...
Exploring the Effects of Natural Language Justifications in Food Recommender ...Cataldo Musto
 
Exploiting Distributional Semantics Models for Natural Language Context-aware...
Exploiting Distributional Semantics Models for Natural Language Context-aware...Exploiting Distributional Semantics Models for Natural Language Context-aware...
Exploiting Distributional Semantics Models for Natural Language Context-aware...Cataldo Musto
 
Towards a Knowledge-aware Food Recommender System Exploiting Holistic User Mo...
Towards a Knowledge-aware Food Recommender System Exploiting Holistic User Mo...Towards a Knowledge-aware Food Recommender System Exploiting Holistic User Mo...
Towards a Knowledge-aware Food Recommender System Exploiting Holistic User Mo...Cataldo Musto
 
Towards Queryable User Profiles: Introducing Conversational Agents in a Platf...
Towards Queryable User Profiles: Introducing Conversational Agents in a Platf...Towards Queryable User Profiles: Introducing Conversational Agents in a Platf...
Towards Queryable User Profiles: Introducing Conversational Agents in a Platf...Cataldo Musto
 
Hybrid Semantics aware Recommendations Exploiting Knowledge Graph Embeddings
Hybrid Semantics aware Recommendations Exploiting Knowledge Graph EmbeddingsHybrid Semantics aware Recommendations Exploiting Knowledge Graph Embeddings
Hybrid Semantics aware Recommendations Exploiting Knowledge Graph EmbeddingsCataldo Musto
 
Natural Language Justifications for Recommender Systems Exploiting Text Summa...
Natural Language Justifications for Recommender Systems Exploiting Text Summa...Natural Language Justifications for Recommender Systems Exploiting Text Summa...
Natural Language Justifications for Recommender Systems Exploiting Text Summa...Cataldo Musto
 
L'IA per l'Empowerment del Cittadino: Hate Map, Myrror, PA Risponde
L'IA per l'Empowerment del Cittadino: Hate Map, Myrror, PA RispondeL'IA per l'Empowerment del Cittadino: Hate Map, Myrror, PA Risponde
L'IA per l'Empowerment del Cittadino: Hate Map, Myrror, PA RispondeCataldo Musto
 
Explanation Strategies - Advances in Content-based Recommender System
Explanation Strategies - Advances in Content-based Recommender SystemExplanation Strategies - Advances in Content-based Recommender System
Explanation Strategies - Advances in Content-based Recommender SystemCataldo Musto
 
Justifying Recommendations through Aspect-based Sentiment Analysis of Users R...
Justifying Recommendations through Aspect-based Sentiment Analysis of Users R...Justifying Recommendations through Aspect-based Sentiment Analysis of Users R...
Justifying Recommendations through Aspect-based Sentiment Analysis of Users R...Cataldo Musto
 
ExpLOD: un framework per la generazione di spiegazioni per recommender system...
ExpLOD: un framework per la generazione di spiegazioni per recommender system...ExpLOD: un framework per la generazione di spiegazioni per recommender system...
ExpLOD: un framework per la generazione di spiegazioni per recommender system...Cataldo Musto
 
Myrror: una piattaforma per Holistic User Modeling e Quantified Self
Myrror: una piattaforma per Holistic User Modeling e Quantified SelfMyrror: una piattaforma per Holistic User Modeling e Quantified Self
Myrror: una piattaforma per Holistic User Modeling e Quantified SelfCataldo Musto
 
Semantic Holistic User Modeling for Personalized Access to Digital Content an...
Semantic Holistic User Modeling for Personalized Access to Digital Content an...Semantic Holistic User Modeling for Personalized Access to Digital Content an...
Semantic Holistic User Modeling for Personalized Access to Digital Content an...Cataldo Musto
 
Holistic User Modeling for Personalized Services in Smart Cities
Holistic User Modeling for Personalized Services in Smart CitiesHolistic User Modeling for Personalized Services in Smart Cities
Holistic User Modeling for Personalized Services in Smart CitiesCataldo Musto
 
A Framework for Holistic User Modeling Merging Heterogeneous Digital Footprints
A Framework for Holistic User Modeling Merging Heterogeneous Digital FootprintsA Framework for Holistic User Modeling Merging Heterogeneous Digital Footprints
A Framework for Holistic User Modeling Merging Heterogeneous Digital FootprintsCataldo Musto
 
eHealth, mHealth in Otorinolaringoiatria: innovazioni dirompenti o disastrose?
eHealth, mHealth in Otorinolaringoiatria: innovazioni dirompenti o disastrose?eHealth, mHealth in Otorinolaringoiatria: innovazioni dirompenti o disastrose?
eHealth, mHealth in Otorinolaringoiatria: innovazioni dirompenti o disastrose?Cataldo Musto
 
Semantics-aware Recommender Systems Exploiting Linked Open Data and Graph-bas...
Semantics-aware Recommender Systems Exploiting Linked Open Data and Graph-bas...Semantics-aware Recommender Systems Exploiting Linked Open Data and Graph-bas...
Semantics-aware Recommender Systems Exploiting Linked Open Data and Graph-bas...Cataldo Musto
 
Il Linguaggio dell'Odio sui Social Network
Il Linguaggio dell'Odio sui Social NetworkIl Linguaggio dell'Odio sui Social Network
Il Linguaggio dell'Odio sui Social NetworkCataldo Musto
 

Mehr von Cataldo Musto (20)

MyrrorBot: a Digital Assistant Based on Holistic User Models for Personalize...
MyrrorBot: a Digital Assistant Based on Holistic User Models forPersonalize...MyrrorBot: a Digital Assistant Based on Holistic User Models forPersonalize...
MyrrorBot: a Digital Assistant Based on Holistic User Models for Personalize...
 
Fairness and Popularity Bias in Recommender Systems: an Empirical Evaluation
Fairness and Popularity Bias in Recommender Systems: an Empirical EvaluationFairness and Popularity Bias in Recommender Systems: an Empirical Evaluation
Fairness and Popularity Bias in Recommender Systems: an Empirical Evaluation
 
Intelligenza Artificiale e Social Media - Monitoraggio della Farnesina e La M...
Intelligenza Artificiale e Social Media - Monitoraggio della Farnesina e La M...Intelligenza Artificiale e Social Media - Monitoraggio della Farnesina e La M...
Intelligenza Artificiale e Social Media - Monitoraggio della Farnesina e La M...
 
Exploring the Effects of Natural Language Justifications in Food Recommender ...
Exploring the Effects of Natural Language Justifications in Food Recommender ...Exploring the Effects of Natural Language Justifications in Food Recommender ...
Exploring the Effects of Natural Language Justifications in Food Recommender ...
 
Exploiting Distributional Semantics Models for Natural Language Context-aware...
Exploiting Distributional Semantics Models for Natural Language Context-aware...Exploiting Distributional Semantics Models for Natural Language Context-aware...
Exploiting Distributional Semantics Models for Natural Language Context-aware...
 
Towards a Knowledge-aware Food Recommender System Exploiting Holistic User Mo...
Towards a Knowledge-aware Food Recommender System Exploiting Holistic User Mo...Towards a Knowledge-aware Food Recommender System Exploiting Holistic User Mo...
Towards a Knowledge-aware Food Recommender System Exploiting Holistic User Mo...
 
Towards Queryable User Profiles: Introducing Conversational Agents in a Platf...
Towards Queryable User Profiles: Introducing Conversational Agents in a Platf...Towards Queryable User Profiles: Introducing Conversational Agents in a Platf...
Towards Queryable User Profiles: Introducing Conversational Agents in a Platf...
 
Hybrid Semantics aware Recommendations Exploiting Knowledge Graph Embeddings
Hybrid Semantics aware Recommendations Exploiting Knowledge Graph EmbeddingsHybrid Semantics aware Recommendations Exploiting Knowledge Graph Embeddings
Hybrid Semantics aware Recommendations Exploiting Knowledge Graph Embeddings
 
Natural Language Justifications for Recommender Systems Exploiting Text Summa...
Natural Language Justifications for Recommender Systems Exploiting Text Summa...Natural Language Justifications for Recommender Systems Exploiting Text Summa...
Natural Language Justifications for Recommender Systems Exploiting Text Summa...
 
L'IA per l'Empowerment del Cittadino: Hate Map, Myrror, PA Risponde
L'IA per l'Empowerment del Cittadino: Hate Map, Myrror, PA RispondeL'IA per l'Empowerment del Cittadino: Hate Map, Myrror, PA Risponde
L'IA per l'Empowerment del Cittadino: Hate Map, Myrror, PA Risponde
 
Explanation Strategies - Advances in Content-based Recommender System
Explanation Strategies - Advances in Content-based Recommender SystemExplanation Strategies - Advances in Content-based Recommender System
Explanation Strategies - Advances in Content-based Recommender System
 
Justifying Recommendations through Aspect-based Sentiment Analysis of Users R...
Justifying Recommendations through Aspect-based Sentiment Analysis of Users R...Justifying Recommendations through Aspect-based Sentiment Analysis of Users R...
Justifying Recommendations through Aspect-based Sentiment Analysis of Users R...
 
ExpLOD: un framework per la generazione di spiegazioni per recommender system...
ExpLOD: un framework per la generazione di spiegazioni per recommender system...ExpLOD: un framework per la generazione di spiegazioni per recommender system...
ExpLOD: un framework per la generazione di spiegazioni per recommender system...
 
Myrror: una piattaforma per Holistic User Modeling e Quantified Self
Myrror: una piattaforma per Holistic User Modeling e Quantified SelfMyrror: una piattaforma per Holistic User Modeling e Quantified Self
Myrror: una piattaforma per Holistic User Modeling e Quantified Self
 
Semantic Holistic User Modeling for Personalized Access to Digital Content an...
Semantic Holistic User Modeling for Personalized Access to Digital Content an...Semantic Holistic User Modeling for Personalized Access to Digital Content an...
Semantic Holistic User Modeling for Personalized Access to Digital Content an...
 
Holistic User Modeling for Personalized Services in Smart Cities
Holistic User Modeling for Personalized Services in Smart CitiesHolistic User Modeling for Personalized Services in Smart Cities
Holistic User Modeling for Personalized Services in Smart Cities
 
A Framework for Holistic User Modeling Merging Heterogeneous Digital Footprints
A Framework for Holistic User Modeling Merging Heterogeneous Digital FootprintsA Framework for Holistic User Modeling Merging Heterogeneous Digital Footprints
A Framework for Holistic User Modeling Merging Heterogeneous Digital Footprints
 
eHealth, mHealth in Otorinolaringoiatria: innovazioni dirompenti o disastrose?
eHealth, mHealth in Otorinolaringoiatria: innovazioni dirompenti o disastrose?eHealth, mHealth in Otorinolaringoiatria: innovazioni dirompenti o disastrose?
eHealth, mHealth in Otorinolaringoiatria: innovazioni dirompenti o disastrose?
 
Semantics-aware Recommender Systems Exploiting Linked Open Data and Graph-bas...
Semantics-aware Recommender Systems Exploiting Linked Open Data and Graph-bas...Semantics-aware Recommender Systems Exploiting Linked Open Data and Graph-bas...
Semantics-aware Recommender Systems Exploiting Linked Open Data and Graph-bas...
 
Il Linguaggio dell'Odio sui Social Network
Il Linguaggio dell'Odio sui Social NetworkIl Linguaggio dell'Odio sui Social Network
Il Linguaggio dell'Odio sui Social Network
 

Modelli Vettoriali per il Filtraggio dell'Informazione

  • 1. Modelli vettoriali per il filtraggio dell’informazione Cataldo Musto 5 maggio 10 1
  • 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
  • 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. 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
  • 26. Risultati 26
  • 27. Risultati 27
  • 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
  • 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. 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. 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. 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