L'allocation de Dirichlet latente (LDA) et le processus de Dirichlet hiérarchique (HDP) sont tous deux des processus de modélisation par sujet. La principale différence est que LDA requiert la spécification du nombre de sujets, contrairement à HDP. Pourquoi est-ce si? Et quelles sont les différences, les avantages et les inconvénients des deux méthodes de modélisation?
nlp
topic-model
lda
alvas
la source
la source
Réponses:
HDP est une extension de LDA, conçue pour traiter le cas où le nombre de composants de mélange (le nombre de "sujets" en termes de modélisation de document) n'est pas connu à priori. Voilà pourquoi il y a une différence.
En utilisant LDA pour la modélisation de documents, chaque sujet est traité comme une distribution de mots dans un vocabulaire connu. Pour chaque document, un mélange de sujets est tiré d'une distribution de Dirichlet, puis chaque mot du document est un dessin indépendant issu de ce mélange (c'est-à-dire qu'il sélectionne un sujet et l'utilise ensuite pour générer un mot).
Pour HDP (appliqué à la modélisation de documents), on utilise également un processus de Dirichlet pour capturer l'incertitude liée au nombre de sujets. Ainsi, une distribution de base commune est sélectionnée, qui représente l'ensemble infini infini de sujets possibles pour le corpus, puis la distribution finie de sujets pour chaque document est échantillonnée à partir de cette distribution de base.
En ce qui concerne les avantages et les inconvénients, le HDP présente l’avantage de pouvoir exploiter un nombre maximal de sujets et d’apprendre à partir des données plutôt que de le spécifier à l’avance. Je suppose que bien que cela soit plus compliqué à mettre en œuvre et inutile dans le cas où un nombre limité de sujets est acceptable.
la source
De manière anecdotique, je n'ai jamais été impressionné par les résultats de la hiérarchie LDA. Il ne semble tout simplement pas trouver un niveau optimal de granularité pour choisir le nombre de sujets. J'ai obtenu de bien meilleurs résultats en exécutant quelques itérations de la LDA standard, en inspectant manuellement les sujets qu'elle produit, en décidant d'augmenter ou de réduire le nombre de sujets et en continuant d'itérer jusqu'à l'obtention de la granularité que je recherche.
Rappelez-vous: LDA hiérarchique ne peut pas lire dans vos pensées ... elle ne sait pas à quoi vous comptez vraiment utiliser la modélisation de sujet. Tout comme avec la classification en k-means, vous devez choisir le k qui convient le mieux à votre cas d'utilisation.
la source
Comme il s’agit d’un des principaux succès de Google dans ce domaine, je tiens à souligner que l’allocation de Dirichlet latent (LDA), les processus de Dirichlet hiérarchique (HDP) et l’ allocation hiérarchique de Dirichlet latent (hLDA) sont tous des modèles distincts.
LDA modélise les documents en tant que mélanges de Dirichlet d'un nombre fixe de sujets, choisis en tant que paramètres du modèle par l'utilisateur, qui sont eux-mêmes des mélanges de Dirichlets de mots. Cela génère un regroupement probabiliste plat et doux de termes en sujets et de documents en sujets.
HDP modélise les sujets sous forme de mélanges de mots, un peu comme LDA, mais plutôt que les documents sont un mélange de nombre de sujets, le nombre de sujets est généré par un processus de dirichlet, le nombre de sujets étant également une variable aléatoire. La partie "hiérarchique" du nom fait référence à un autre niveau ajouté au modèle génératif (le processus dirichlet produisant le nombre de sujets), et non aux sujets eux-mêmes - les sujets sont toujours des regroupements à plat.
hLDA, d’autre part, est une adaptation de LDA qui modélise des sujets comme des mélanges d’un nouveau niveau distinct de sujets, tirés de distributions de Dirichlet.et non des processus. Il traite toujours le nombre de sujets comme un hyperparamètre, c’est-à-dire indépendamment des données. La différence réside dans le fait que la classification est maintenant hiérarchique: elle apprend à classer le premier ensemble de sujets eux-mêmes, donnant ainsi des relations plus générales et abstraites entre les sujets (et donc les mots et les documents). Pensez-y comme au regroupement des échanges de piles en mathématiques, sciences, programmation, histoire, etc., par opposition à la regroupement de la science des données et de la validation croisée dans un sujet abstrait de statistiques et de programmation qui partage certains concepts avec, par exemple, le génie logiciel. les échanges sont regroupés à un niveau plus concret avec les échanges informatiques, et la similitude entre tous les échanges mentionnés n'apparaît pas autant jusqu'à la couche supérieure des grappes.
la source
J'ai une situation où HDP fonctionne bien par rapport à LDA. J'ai environ 16 000 documents appartenant à différentes classes. Comme je ne connais pas le nombre de sujets différents que je peux rassembler pour chaque cours, HDP est vraiment utile dans ce cas.
la source