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:
Réponses:
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:
Quelques différences sont discutées dans les diapositives word2vec, LDA, et l'introduction d'un nouvel algorithme hybride: lda2vec - Christopher Moody .
la source
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.
la source
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 hT o p i c 2 V e c t o g e t h e r m i t h
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.
la source
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:
word2vec
produit 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,word2vec
comme utiliser l'ordre des mots et attribuer une signification sémantique aux distances entre les représentations des mots.LDA
d'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 à celuidoc2vec
qui fait le même travail et qui est présenté ici par Tomas Mikolov (l'auteur utilise le termeparagraph vectors
). Ou avecLSI
d'ailleurs.Donc, pour répondre directement à vos deux questions:
word2vec
pour 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.la source
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.)
la source