A quoi peut servir LDA / LSI dans un    moteur de recherche ?    8.3.121
Introduction•   Techniques de modélisation de corpus de documents    •   LSI : Latent Semantic Indexing    •   LDA : Laten...
Vector Space Model (année 60-70)• Représenter un document par un vecteur de mots de très  grande dimension (Gérald Salton)
Vector Space Model• Chaque entrée (dimension) du vecteur correspond à un mot  différent, la valeur de l’entrée est typique...
Exemple Ensemble de documents (Deerwester et al. 1990)
Exemple  Matrice d’association Mots - Documents                 c1   c2   c3   c4    c5   m1   m2   m3   m4
Hypothèses• Hypothèses du modèle vectoriel en « sac de mots »   • Tous les mots jouent le même rôle : Agrégation (par comp...
Mon premier moteur de recherche• Ensemble de documents : le web• Comment trouver le document le plus pertinent pour une  r...
Similarité entre deux vecteurs documents                           Simple, rapide à calculer                             (...
Latent Semantic Indexing• Vecteurs de trop grandes dimensions• Pas de prise en compte de la synonymie / polysémie   • Regr...
SVD
Selection des topics
Probabilistic Latent Semantic Indexing• Un model génératif probabiliste   • Supposons que le texte a été produit par un pr...
Le modèle pLSI : vue génération                  d                                           Pour chaque mot du document d...
Apprentissage par méthode EM Likelihood E-step M-step
Exemple
Mesure de pertinence• Supposons que l’on connaisse un ensemble de « réponses  correctes » pour une requête donnée. On les ...
Efficacité
Le modèle LDA   z1   z2   z3   z4   z1   z2   z3   z4    z1   z2   z3    z4   w1   w2   w3   w4   w1   w2   w3   w4    w1 ...
Estimation du modèle• Plusieurs techniques ont vues le jour simultanément :   • Inférence variationelle – Blei et al. 2002...
Expérimentation Wikipedia – 3.2 millions de documents – 100k dimensions – 100 topics Temps : 11hrs Core Duo 2.5Ghz 4Go / 3...
Références• GenSim : module python de calcul du LSI / LDA online distribué  basé sur Hoffman et al. 2010• Online Learning ...
Prochain SlideShare
Chargement dans…5
×

LDA & LSI : à quoi peuvent-ils servir dans un moteur de recherche

2 099 vues

Publié le

Présentation de Romain Rivière, Manager de l'équipe recherche chez Twenga SA.

Les algorithmes LDA et LSI ont souvent été présentés au sein de la communauté SEO comme des méthodes révolutionnaires que, forcément, les moteurs comme Google utilisent dans leur algorithme de classement.

Ces algos sont en réalité anciens et leur champ d'application parfaitement délimité.
Cette présentation rappelle ce que sont vraiment ces méthodes.

0 commentaire
3 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 099
Sur SlideShare
0
Issues des intégrations
0
Intégrations
6
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
3
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

LDA & LSI : à quoi peuvent-ils servir dans un moteur de recherche

  1. 1. A quoi peut servir LDA / LSI dans un moteur de recherche ? 8.3.121
  2. 2. Introduction• Techniques de modélisation de corpus de documents • LSI : Latent Semantic Indexing • LDA : Latent Dirichlet Allocation• Projection des documents dans un espace vectoriel• Réduction de dimensions • Approche algébrique • Approche probabiliste• Comment se servir de ces modèles en recherche d’informations?• 50 ans de recherche en IR en 30 minutes…
  3. 3. Vector Space Model (année 60-70)• Représenter un document par un vecteur de mots de très grande dimension (Gérald Salton)
  4. 4. Vector Space Model• Chaque entrée (dimension) du vecteur correspond à un mot différent, la valeur de l’entrée est typiquement le nombre d’occurrences (mais peut être plus complexe : TF.IDF [1983])• Le nombre de mot/dimension est typiquement > 1.000.000 • Suppression des stops words (le, la, les, …) • Stemming : supprime la fin des mots • Demanderaient, Demandes, Demander… devient « Demand »• Sur le web, un document peut être un site web, une page web, un paragraphe sur une page...• Comparer des documents == Comparer des vecteurs
  5. 5. Exemple Ensemble de documents (Deerwester et al. 1990)
  6. 6. Exemple Matrice d’association Mots - Documents c1 c2 c3 c4 c5 m1 m2 m3 m4
  7. 7. Hypothèses• Hypothèses du modèle vectoriel en « sac de mots » • Tous les mots jouent le même rôle : Agrégation (par comptage, TFIDF…) sur toutes les occurrences d’un mot • L’ordre des mots dans un document n’est pas important • L’ordre des documents n’est pas important• Reste nécessaire pour tous les modèles suivants
  8. 8. Mon premier moteur de recherche• Ensemble de documents : le web• Comment trouver le document le plus pertinent pour une requête donnée? • Une requête est un petit document • Calcul la similarité entre la requête et tous les documents • Retourne le plus proche• Qu’est ce que deux documents similaires?• Qu’est ce que deux vecteurs documents similaires?
  9. 9. Similarité entre deux vecteurs documents Simple, rapide à calculer (vecteurs très creux) xT y cos(x, y ) || x || || y ||
  10. 10. Latent Semantic Indexing• Vecteurs de trop grandes dimensions• Pas de prise en compte de la synonymie / polysémie • Regrouper les mots de même sens • Modéliser les thèmes d’intérêts• Réduction de dimension du VSM • Introduction de topics latent • Groupe ensemble des mots co-occurrents (dans un même document) • Diminution du bruit, principalement sur les fréquences faibles
  11. 11. SVD
  12. 12. Selection des topics
  13. 13. Probabilistic Latent Semantic Indexing• Un model génératif probabiliste • Supposons que le texte a été produit par un processus aléatoire dont les paramètres sont inconnus • Calculer les paramètres qui explique le mieux les datas disponibles • Produire un texte avec les même propriétés• Le modèle probabiliste :
  14. 14. Le modèle pLSI : vue génération d Pour chaque mot du document d,  Choisir un topic z conformement à une loi multinomial conditionné par d zd1 zd2 zd3 zd4  Engendrer un mot conformément à une multinomial de parametre wd1 wd2 wd3 wd4 donné par z Modèle Probabilistic Latent Semantic Indexing (pLSI)
  15. 15. Apprentissage par méthode EM Likelihood E-step M-step
  16. 16. Exemple
  17. 17. Mesure de pertinence• Supposons que l’on connaisse un ensemble de « réponses correctes » pour une requête donnée. On les appelle des réponses pertinentes pour cette requête.• Précision : pourcentage des documents retournés qui sont pertinents• Rappel : pourcentage de documents retournés sur l’ensemble de tous les documents• F-mesure = 2.Précision.Rappel/(Précision+Rappel)
  18. 18. Efficacité
  19. 19. Le modèle LDA z1 z2 z3 z4 z1 z2 z3 z4 z1 z2 z3 z4 w1 w2 w3 w4 w1 w2 w3 w4 w1 w2 w3 w4 Pour chaque document, Choisir ~Dirichlet( ) Pour chacun des N mots:  Choisir un topic zn» Multinomial( )  Choisir un mot wn conformément à p(wn|zn, ), une distribution multinomiale de paramètre correspondant au topic zn.
  20. 20. Estimation du modèle• Plusieurs techniques ont vues le jour simultanément : • Inférence variationelle – Blei et al. 2002 • Méthode Expectation-Propagation – Minka et Lafferty 2002 • Echantillonneur de Gibbs – Griffiths et Steyvers 2002• Calcul des paramètres du modèle • Matrice des probabilités mots/topics • Vecteur de probabilités topics/documents
  21. 21. Expérimentation Wikipedia – 3.2 millions de documents – 100k dimensions – 100 topics Temps : 11hrs Core Duo 2.5Ghz 4Go / 3h20 sur 4 workers 2ghz Xeons 4Go
  22. 22. Références• GenSim : module python de calcul du LSI / LDA online distribué basé sur Hoffman et al. 2010• Online Learning for Latent Dirichlet Allocation – Hoffman, Blei, Bach 2010• Latent Dirichlet Allocation – Blei, Ng, Jordan 2003• Probabilistic Latent Semantic Indexing – Hoffman 1999• Indexing by Latent Semantic Analysis – Deerwester, Dumais, Harshman 1990

×