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.
Les critères de qualité de vos pages web selon Google
LDA & LSI : à quoi peuvent-ils servir dans un moteur de recherche
1. A quoi peut servir LDA / LSI dans un
moteur de recherche ?
8.3.12
1
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. 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. 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
6. Exemple
Matrice d’association Mots - Documents
c1 c2 c3 c4 c5 m1 m2 m3 m4
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. 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. Similarité entre deux vecteurs documents
Simple, rapide à calculer
(vecteurs très creux)
xT y
cos(x, y )
|| x || || y ||
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
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. 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)
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)
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. 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. 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. 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