1 Introduction
L’Allocation Latente de Dirichlet (LDA) est un modèle probabiliste génératif puissant, largement utilisé pour la découverte de thèmes (topics) au sein de collections de documents. Son élégance réside dans sa capacité à modéliser la manière dont les documents pourraient avoir été engendrés à partir de thèmes sous-jacents, et comment ces thèmes sont eux-mêmes constitués de mots.
Pour appréhender LDA en profondeur, nous allons le construire et le formuler progressivement en deux étapes majeures :
- Le cœur de LDA – Le modèle génératif et ses distributions clés : Nous décrirons comment les mots des documents sont supposés être générés, en introduisant les distributions de probabilités fondamentales (notamment Multinomiales) qui régissent ce processus, en supposant que les “profils” des thèmes et des documents sont déjà définis.
- L’origine des distributions – Priors de Dirichlet et hyperparamètres : Nous expliquerons ensuite d’où proviennent ces “profils”, en introduisant les distributions de Dirichlet qui modélisent leur génération et les hyperparamètres (\(\alpha\), \(\beta\)/\(\eta\)) qui nous permettent de les influencer.
Cette approche progressive vise à clarifier la structure hiérarchique du modèle LDA.
2 Partie 1 : Le Cœur de LDA – Le Modèle Génératif et ses Distributions Clés
Cette première partie se concentre sur le mécanisme de génération des mots d’un document, une fois que l’on suppose connaître la “composition thématique” de ce document et la “définition en mots” de chaque thème.
2.1 L’Intuition Fondamentale (Rappel)
L’idée centrale de LDA est double :
- Les documents sont vus comme des mélanges de plusieurs thèmes.
- Les thèmes sont vus comme des distributions de probabilités sur des mots.
2.2 Le Processus Génératif Détaillé : L’Émergence des Mots
Imaginons que nous souhaitions générer les mots d’un document. LDA postule que ce processus fait intervenir deux ensembles de paramètres principaux que le modèle cherchera ensuite à apprendre à partir des données réelles :
\(\theta_d\) (theta) : La distribution des thèmes pour un document \(d\). C’est un vecteur de \(K\) probabilités, \((\theta_{d,1}, \theta_{d,2}, \dots, \theta_{d,K})\), où \(K\) est le nombre total de thèmes. Chaque \(\theta_{d,k}\) représente la proportion du thème \(k\) dans le document \(d\), et bien sûr, \(\sum_{k=1}^K \theta_{d,k} = 1\). Par exemple, pour \(K=3\) thèmes (Sport, Politique, Météo), un document \(d\) pourrait avoir \(\theta_d = (0.7, 0.2, 0.1)\), signifiant qu’il est à 70% sur le Sport, 20% sur la Politique, et 10% sur la Météo.
\(\beta_k\) (beta) : La distribution des mots pour un thème \(k\). C’est un vecteur de \(V\) probabilités, \((\beta_{k,1}, \beta_{k,2}, \dots, \beta_{k,V})\), où \(V\) est la taille du vocabulaire total (le nombre de mots uniques possibles). Chaque \(\beta_{k,v}\) est la probabilité que le mot \(v\) apparaisse étant donné le thème \(k\), et \(\sum_{v=1}^V \beta_{k,v} = 1\). Par exemple, pour le thème “Sport”, \(\beta_{Sport}\) pourrait avoir de fortes probabilités pour les mots “ballon”, “équipe”, “match”, et de faibles probabilités pour “ordinateur”, “galaxie”.
Génération des mots d’un document \(d\) (connaissant \(\theta_d\) et tous les \(\beta_k\)) :
Pour chaque emplacement de mot \(i\) dans le document \(d\) (qui contient \(N_d\) mots au total) :
Étape 1 : Choisir un thème \(z_{d,i}\) pour cet emplacement de mot. Ce thème est tiré au hasard en suivant les proportions définies par la distribution \(\theta_d\) du document. Mathématiquement, cela se modélise par un tirage dans une distribution Multinomiale (ou plus spécifiquement une distribution Catégorielle, qui est un cas particulier de la Multinomiale pour un seul tirage) : \[z_{d,i} \sim \text{Multinomial}(1, \theta_d)\] Ici, \(z_{d,i}\) sera l’un des \(K\) thèmes possibles. Le “1” indique qu’on tire un seul thème pour cet emplacement.
Étape 2 : Choisir un mot \(w_{d,i}\) pour cet emplacement, étant donné le thème \(z_{d,i}\) choisi. Une fois le thème \(z_{d,i}\) sélectionné (disons le thème \(k'\)), le mot \(w_{d,i}\) est tiré au hasard en suivant les probabilités de mots définies par la distribution \(\beta_{k'}\) (soit \(\beta_{z_{d,i}}\)). Ceci est également modélisé par un tirage dans une distribution Multinomiale : \[w_{d,i} \sim \text{Multinomial}(1, \beta_{z_{d,i}})\] Ici, \(w_{d,i}\) sera l’un des \(V\) mots du vocabulaire.
Ce processus en deux étapes (choisir un thème, puis choisir un mot de ce thème) est répété pour générer tous les \(N_d\) mots du document \(d\).
2.3 Ce que LDA Découvre (Les Sorties Principales)
Dans la pratique, nous ne connaissons pas les \(\theta_d\) ni les \(\beta_k\). Nous n’avons que les mots observés \(w_{d,i}\) dans nos documents. L’objectif de l’algorithme LDA est d’inférer ces structures latentes. Après son entraînement, LDA nous fournit :
- Les distributions de mots par thème : L’ensemble de tous les vecteurs \(\beta_k\) (pour \(k=1, \dots, K\)). Chaque \(\beta_k\) nous donne les mots les plus probables pour le thème \(k\).
- Les distributions de thèmes par document : L’ensemble de tous les vecteurs \(\theta_d\) (pour \(d=1, \dots, M\), où \(M\) est le nombre de documents). Chaque \(\theta_d\) nous donne la composition thématique du document \(d\).
- (Indirectement) Les assignations de thèmes par mot : Les \(z_{d,i}\) (bien que souvent sommés ou marginalisés dans les implémentations finales).
2.4 L’Objectif de l’Apprentissage : L’Inférence Statistique
Étant donné un corpus de documents (c’est-à-dire l’ensemble des mots observés \(w_{d,i}\)), l’apprentissage dans LDA consiste à estimer les paramètres latents du modèle : les distributions \(\theta_d\) (pour tous les documents) et \(\beta_k\) (pour tous les thèmes). Il s’agit d’un problème d’inférence statistique, souvent résolu par des méthodes itératives comme l’échantillonnage de Gibbs ou l’inférence variationnelle. Ces méthodes cherchent les valeurs de \(\theta_d\) et \(\beta_k\) qui rendent les documents observés les plus probables sous le modèle génératif décrit.
Transition : Nous avons vu comment les documents sont générés une fois que les distributions \(\theta_d\) (proportions de thèmes par document) et \(\beta_k\) (distributions de mots par thème) sont connues. Mais le modèle LDA ne s’arrête pas là. Il fait également des hypothèses sur la manière dont ces distributions \(\theta_d\) et \(\beta_k\) sont elles-mêmes générées. C’est ici qu’interviennent les distributions de Dirichlet et les hyperparamètres du modèle, qui constituent la partie “bayésienne hiérarchique” de LDA.
3 Partie 2 : L’Origine des Distributions – Priors de Dirichlet et Hyperparamètres
Dans un cadre bayésien, on ne suppose pas que les paramètres \(\theta_d\) et \(\beta_k\) peuvent prendre n’importe quelle forme sans contrainte. Au lieu de cela, on introduit des distributions a priori (priors) qui expriment nos attentes sur la structure de ces distributions avant même d’observer les données. Pour LDA, ces priors sont des distributions de Dirichlet.
3.1 La Distribution de Dirichlet : Une Distribution sur des Distributions
Avant de l’appliquer à LDA, comprenons brièvement ce qu’est une distribution de Dirichlet. Une distribution de Dirichlet est une distribution de probabilités sur des vecteurs de nombres réels positifs qui somment à 1. Autrement dit, elle génère des distributions de probabilités discrètes.
- Si \(\vec{x} = (x_1, x_2, \dots, x_K)\) tel que \(x_k \ge 0\) et \(\sum x_k = 1\), alors \(\vec{x}\) peut être un échantillon d’une distribution de Dirichlet.
- La distribution de Dirichlet est elle-même paramétrée par un vecteur de “concentrations” \(\vec{\alpha} = (\alpha_1, \alpha_2, \dots, \alpha_K)\), où tous les \(\alpha_k > 0\).
- Si les \(\alpha_k\) sont tous égaux et petits (par exemple, < 1), la Dirichlet tend à produire des vecteurs \(\vec{x}\) clairsemés (sparse), où quelques composantes \(x_k\) sont grandes et beaucoup sont proches de zéro.
- Si les \(\alpha_k\) sont tous égaux et grands (par exemple, > 1), la Dirichlet tend à produire des vecteurs \(\vec{x}\) denses et plus uniformes, où toutes les composantes \(x_k\) ont des valeurs similaires.
C’est exactement ce dont nous avons besoin pour modéliser \(\theta_d\) (une distribution sur \(K\) thèmes) et \(\beta_k\) (une distribution sur \(V\) mots).
3.2 2. L’Hyperparamètre Alpha (\(\alpha\)) et la Génération de \(\theta_d\)
Dans LDA, on suppose que la distribution des thèmes pour chaque document \(d\), \(\theta_d\), est elle-même tirée d’une distribution de Dirichlet paramétrée par un vecteur \(\vec{\alpha}\) de taille \(K\): \[\theta_d \sim \text{Dirichlet}(\vec{\alpha})\]
Rôle d’Alpha (\(\vec{\alpha}\)) : \(\vec{\alpha}\) est un hyperparamètre du modèle (fixé par l’utilisateur). Il contrôle la nature des mélanges de thèmes dans les documents.
- Si toutes les composantes de \(\vec{\alpha}\) sont faibles (par exemple, \(\alpha_k < 1\) pour tout \(k\), souvent un scalaire \(\alpha\) est utilisé tel que \(\alpha_k = \alpha\)), alors les \(\theta_d\) générés seront probablement clairsemés. Cela signifie que chaque document tendra à être dominé par un petit nombre de thèmes.
- Si toutes les composantes de \(\vec{\alpha}\) sont élevées (par exemple, \(\alpha_k > 1\)), alors les \(\theta_d\) générés seront probablement denses. Cela signifie que chaque document tendra à être un mélange plus équilibré de nombreux thèmes.
- La densité de probabilité de la distribution de Dirichlet est donnée par : \(P(\theta_d | \vec{\alpha}) = \frac{\Gamma(\sum_{k=1}^K \alpha_k)}{\prod_{k=1}^K \Gamma(\alpha_k)} \prod_{k=1}^K \theta_{d,k}^{\alpha_k - 1}\).
3.3 L’Hyperparamètre Eta (\(\eta\)) et la Génération de \(\beta_k\)
De manière similaire, on suppose que la distribution des mots pour chaque thème \(k\), \(\beta_k\), est tirée d’une distribution de Dirichlet paramétrée par un vecteur \(\vec{\eta}\) (souvent appelé \(\beta\) dans de nombreuses publications, mais nous utilisons \(\eta\) ici pour le paramètre du prior afin d’éviter la confusion avec \(\beta_k\) qui est la distribution elle-même) de taille \(V\) (la taille du vocabulaire) : \[\beta_k \sim \text{Dirichlet}(\vec{\eta})\]
Rôle d’Eta (\(\vec{\eta}\)) : \(\vec{\eta}\) est aussi un hyperparamètre. Il contrôle la nature des distributions de mots pour les thèmes.
- Si toutes les composantes de \(\vec{\eta}\) sont faibles (par exemple, \(\eta_v < 1\) pour tout mot \(v\), souvent un scalaire \(\eta\) est utilisé), alors les \(\beta_k\) générés seront probablement clairsemés. Cela signifie que chaque thème tendra à être défini par un petit nombre de mots très distinctifs et spécifiques.
- Si toutes les composantes de \(\vec{\eta}\) sont élevées (par exemple, \(\eta_v > 1\)), alors les \(\beta_k\) générés seront probablement denses. Cela signifie que chaque thème tendra à être défini par un plus grand nombre de mots, y compris des mots plus généraux.
- La densité de Dirichlet pour \(\beta_k\) est \(P(\beta_k | \vec{\eta}) = \frac{\Gamma(\sum_{v=1}^V \eta_v)}{\prod_{v=1}^V \Gamma(\eta_v)} \prod_{v=1}^V \beta_{k,v}^{\eta_v - 1}\).
Souvent, \(\vec{\alpha}\) et \(\vec{\eta}\) sont choisis comme des vecteurs symétriques, c’est-à-dire \(\alpha_k = \alpha_{sym}\) pour tous les \(k\), et \(\eta_v = \eta_{sym}\) pour tous les \(v\). On ajuste alors les scalaires \(\alpha_{sym}\) et \(\eta_{sym}\).
3.4 Le Modèle LDA Complet : Une Vision Hiérarchique
Nous pouvons maintenant résumer le processus génératif complet de LDA, qui est hiérarchique :
- Pour chaque thème \(k \in \{1, \dots, K\}\) :
- Tirer une distribution de mots pour ce thème : \(\beta_k \sim \text{Dirichlet}(\vec{\eta})\).
- Pour chaque document \(d \in \{1, \dots, M\}\) :
- Tirer une distribution de thèmes pour ce document : \(\theta_d \sim \text{Dirichlet}(\vec{\alpha})\).
- Pour chaque emplacement de mot \(i \in \{1, \dots, N_d\}\) dans le document \(d\) :
- Choisir une assignation de thème : \(z_{d,i} \sim \text{Multinomial}(1, \theta_d)\).
- Choisir le mot observé : \(w_{d,i} \sim \text{Multinomial}(1, \beta_{z_{d,i}})\).
Dans ce modèle complet : * Les mots \(w_{d,i}\) sont les seules données observées. * \(\vec{\alpha}\) et \(\vec{\eta}\) sont des hyperparamètres (fixés avant l’apprentissage). * Le nombre de thèmes \(K\) est également un hyperparamètre crucial. * L’objectif de l’inférence LDA est d’estimer les variables latentes \(\theta_d\), \(\beta_k\), et \(z_{d,i}\) à partir des \(w_{d,i}\) observés, et des hyperparamètres donnés.
3.5 Le Nombre de Thèmes (\(K\)) : Toujours Déterminant
Comme mentionné précédemment, \(K\) est un hyperparamètre que l’utilisateur doit spécifier. Son choix n’est pas régi par une distribution de Dirichlet mais est fondamental pour la granularité et l’interprétabilité des thèmes. Un \(K\) mal choisi peut mener à des thèmes trop vagues ou trop spécifiques. Son optimisation fait souvent l’objet d’expérimentations et d’évaluations qualitatives ou quantitatives (scores de cohérence, perplexité).
4 Conclusion
En formulant LDA de manière progressive, nous avons pu distinguer deux niveaux essentiels :
- Le mécanisme de génération des mots (Partie 1), conditionné par des distributions de thèmes par document (\(\theta_d\)) et des distributions de mots par thème (\(\beta_k\)), où les lois Multinomiales jouent un rôle central pour les choix discrets.
- L’origine de ces distributions \(\theta_d\) et \(\beta_k\) (Partie 2), qui sont elles-mêmes issues de distributions de Dirichlet, dont les paramètres (\(\vec{\alpha}\) et \(\vec{\eta}\)) agissent comme des hyperparamètres permettant de guider la structure attendue de ces distributions (leur “dispersion” ou “concentration”).
Cette structure hiérarchique bayésienne confère à LDA sa flexibilité et sa robustesse. Comprendre ces deux étapes permet non seulement de mieux saisir le fonctionnement interne de l’algorithme, mais aussi de faire des choix plus éclairés lors de la sélection des hyperparamètres pour une analyse thématique donnée. LDA reste ainsi un outil fondamental pour explorer et extraire du sens à partir de vastes corpus textuels.