LDA vs word2vec


39

J'essaie de comprendre ce qu'est la similitude entre Latent Dirichlet Allocation et word2vec pour calculer la similarité de mots.

Si je comprends bien, LDA mappe les mots sur un vecteur de probabilités de sujets latents , tandis que word2vec les mappe sur un vecteur de nombres réels (liés à la décomposition en valeurs singulières d’informations mutuelles ponctuelles, voir O. Levy, Y. Goldberg, «Neural Word Embedding». factorisation implicite de la matrice " ; voir aussi Comment fonctionne word2vec? ).

Je suis intéressé à la fois par les relations théoriques (on peut considérer une généralisation ou la variation de l’autre) et par la pratique (quand utiliser l’un mais pas l’autre).

En relation:


J'ai trouvé cette présentation sur-le-champ: slideshare.net/ChristopherMoody3/…
Piotr Migdal

Vous devriez regarder Doc2vec (aka. Paragraphe2vec). Les vecteurs de document résument le document au lieu de mots.
Sachinruk

Réponses:


19

Une réponse aux modèles de sujets et aux méthodes de co-occurrence de mots couvre la différence (skip-gram word2vec est la compression d' informations mutuelles point par point (PMI) ).

Alors:

  • aucune méthode n'est une généralisation d'une autre,
  • word2vec nous permet d'utiliser la géométrie vectorielle (comme l'analogie des mots, par exemple , j'ai écrit un aperçu de word2vec )vkjeng-vmunen+vwomunenvqvouseen
  • LDA voit des corrélations plus élevées que deux éléments,
  • LDA donne des sujets interprétables.

Quelques différences sont discutées dans les diapositives word2vec, LDA, et l'introduction d'un nouvel algorithme hybride: lda2vec - Christopher Moody .


1
Je tiens à préciser que "LDA donne des sujets interprétables" pour indiquer que les sujets de LDA sont potentiellement interprétables. L'idée de "sujet" de LDA est une construction purement mathématique qui ne correspond pas toujours à ce que l'être humain considère comme un sujet.
Wayne

Un concept clé que vous avez oublié est que LDA utilise une approche de mots croisés, de sorte qu'elle ne connaît que les cooccurrences dans un document, tandis que word2vec (ou plus exactement doc2vec) prend en compte le contexte d'un mot.
Wayne

13

Les deux algorithmes diffèrent un peu dans leur but.

LDA vise principalement à décrire des documents et des collections de documents en leur attribuant des distributions de sujets, lesquelles sont à leur tour affectées, comme vous l'avez mentionné.

word2vec cherche à incorporer des mots dans un espace vectoriel à facteur latent, une idée issue des représentations distribuées de Bengio et al. Il peut également être utilisé pour décrire des documents, mais n'est pas vraiment conçu pour la tâche.


1
Vous pourriez théoriquement obtenir quelque chose d'analogue aux incorporations vectorielles de word2vec en calculant P (topic | word) à partir de LDA, mais comme @Bar l'a déclaré, ces modèles ont été conçus pour différentes tâches. Si vous comparez les distributions P (topic | word) de LDA avec les incorporations vectorielles de word2vec, je doute qu'elles soient très similaires. LDA capture les associations au niveau des documents tandis que word2vec en capture des très locales.
Zubin

4

Il existe une relation entre LDA et , un modèle utilisé pour l'apprentissage des représentations de sujet distribuées représentations de mot. LDA est utilisé pour construire une log-vraisemblance pour CBOW et Skip-gram. L'explication suivante se trouve à l'intérieur de la section 3 de l'ouvrage Topic2Vec: Apprentissage des représentations distribuées de sujets : t o g e t h e r m i t hTopjec2Vectogether wjeth

={w1:z1,...,wM:zM}zjewje

LCBOW()=1MΣje=1M(bûchep(wje|weXt)+bûchep(zje|weXt))

LSkjep-grunem()=1MΣje=1MΣ-kck,c0(bûchep(wje+c|wje)+bûchep(wje+c|zje))

COSjeNE SjeMjeLUNERjeTY

De plus, vous trouverez à l’intérieur de cet ouvrage des phrases telles que:

"la probabilité n'est pas le meilleur choix pour la représentation des entités"

et

"LDA préfère décrire la relation statistique entre les occurrences plutôt que de véritables informations sémantiques intégrées dans des mots, des sujets et des documents"

ce qui vous aidera à mieux comprendre les différents modèles.


2

D'autres réponses ici couvrent les différences techniques entre ces deux algorithmes, mais je pense que la différence fondamentale réside dans leur objectif: ces deux algorithmes ont été conçus pour faire des choses différentes:

word2vecproduit finalement un mappage entre des mots et un vecteur de longueur fixe. Si nous le comparions à une autre approche bien connue, il serait plus logique de le faire en utilisant un autre outil conçu dans le même but, comme le sac de mots (modèle BOW). Celui-ci fait la même chose mais manque de certaines caractéristiques souhaitées, word2veccomme utiliser l'ordre des mots et attribuer une signification sémantique aux distances entre les représentations des mots.

LDAd'autre part, crée une correspondance entre un document de longueur variée et un vecteur. Ce document peut être une phrase, un paragraphe ou un fichier de texte intégral, mais ce n’est pas un mot. Il serait plus logique de le comparer à celui doc2vecqui fait le même travail et qui est présenté ici par Tomas Mikolov (l'auteur utilise le terme paragraph vectors). Ou avec LSId'ailleurs.

Donc, pour répondre directement à vos deux questions:

  1. Aucun d’eux n’est une généralisation ou une variation de l’autre
  2. Utilisez LDA pour mapper un document sur un vecteur de longueur fixe. Vous pouvez ensuite utiliser ce vecteur dans un algorithme ML traditionnel, tel qu'un classificateur qui accepte un document et prédit une étiquette sentimentale, par exemple.
  3. Utilisez word2vecpour mapper un mot sur un vecteur de longueur fixe. Vous pouvez également utiliser ces vecteurs pour alimenter des modèles ML dans lesquels l'entrée est un mot, par exemple lorsque vous développez un auto-compléteur qui se nourrit de mots précédents et tente de prédire le mot suivant.

1

D'un point de vue pratique ...

LDA commence par une saisie de mots qui prend en compte les mots qui apparaissent simultanément dans les documents, sans toutefois prêter attention au contexte immédiat des mots. Cela signifie que les mots peuvent apparaître n'importe où dans le document et dans n'importe quel ordre, ce qui supprime un certain niveau d'informations. En revanche, word2vec concerne le contexte dans lequel un mot est utilisé - mais peut-être pas un ordre exact.

Les "sujets" de LDA sont une construction mathématique et vous ne devez pas les confondre avec des sujets humains réels. Vous pouvez vous retrouver avec des sujets sans interprétation humaine - ils ressemblent davantage à des artefacts du processus qu'à des sujets réels - et vous pouvez vous retrouver avec des sujets à différents niveaux d'abstraction, y compris des sujets qui couvrent fondamentalement le même sujet humain. C'est un peu comme lire des feuilles de thé.

J'ai trouvé que LDA était utile pour explorer des données, mais pas vraiment pour fournir une solution, mais votre kilométrage peut varier.

Word2vec ne crée pas de sujets directement. Il projette les mots dans un espace de grande dimension basé sur un usage similaire. Il peut donc avoir ses propres surprises en termes de mots que vous pensez distincts - ou même opposés - qui peuvent être proches les uns des autres dans l'espace.

Vous pouvez utiliser l'un ou l'autre pour déterminer si les mots sont "similaires". Avec LDA: les mots ont-ils des poids similaires dans les mêmes sujets? Avec word2vec: sont-ils proches (dans une certaine mesure) dans l'espace d'intégration?

Vous pouvez utiliser l'un ou l'autre pour déterminer si les documents sont similaires. Avec LDA, vous recherchiez un mélange similaire de sujets et avec word2vec, vous feriez quelque chose de similaire à l’addition des vecteurs des mots du document. ("Document" peut être une phrase, un paragraphe, une page ou un document entier.) Doc2vec est une version modifiée de word2vec qui permet la comparaison directe de documents.

Alors que LDA élimine certaines informations contextuelles avec son approche de sac à mots, elle a des sujets (ou "sujets"), ce que word2vec n'a pas. Il est donc simple d'utiliser doc2vec pour dire «Montrez-moi des documents similaires à celui-ci», alors qu'avec LDA, il est simple de dire «Montrez-moi les documents dans lesquels le sujet A est au premier plan». (Encore une fois, sachant que le "sujet A" émerge d'un processus mathématique sur vos documents et vous déterminez ensuite le ou les sujets humains auxquels il correspond le plus.)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.