43 votos

LDA vs word2vec

Estoy tratando de entender cuál es la similitud entre Asignación latente de Dirichlet y word2vec para calcular la similitud de las palabras.

Según tengo entendido, el LDA asigna las palabras a un vector de probabilidades de latente mientras que word2vec los asigna a un vector de números reales (relacionado con la descomposición del valor singular de la información mutua puntual, véase O. Levy, Y. Goldberg, "Neural Word Embedding as Implicit Matrix Factorization". ; véase también ¿Cómo funciona word2vec? ).

Me interesan tanto las relaciones teóricas (si una puede considerarse una generalización, o una variación de la otra) como las prácticas (cuándo utilizar una y no la otra).

Relacionado:

20voto

Carl McTague Puntos 111

Una respuesta a Modelos temáticos y métodos de co-ocurrencia de palabras cubre la diferencia (skip-gram word2vec es la compresión de información mutua puntual (PMI) ).

Así que:

  • ningún método es una generalización de otro,
  • word2vec nos permite utilizar la geometría vectorial (como la analogía de palabras, por ejemplo $v_{king} - v_{man} + v_{woman} \approx v_{queen}$ , Escribí un resumen de word2vec )
  • LDA ve correlaciones más altas que las de dos elementos,
  • El LDA proporciona temas interpretables.

En las diapositivas se comentan algunas diferencias word2vec, LDA, y la introducción de un nuevo algoritmo híbrido: lda2vec - Christopher Moody .

15voto

Paulo Sérgio Puntos 465

Los dos algoritmos difieren bastante en su finalidad.

LDA tiene como objetivo principal describir documentos y colecciones de documentos asignándoles distribuciones de temas, que a su vez tienen asignadas distribuciones de palabras, como mencionas.

word2vec busca incrustar las palabras en un espacio vectorial de factores latentes, una idea originada en las representaciones distribuidas de Bengio et al. También puede utilizarse para describir documentos, pero no está realmente diseñado para esta tarea.

4voto

AndrewS Puntos 3208

Existe una relación entre LDA y $\bf {Topic2Vec}$ un modelo utilizado para el aprendizaje de Representaciones Temáticas Distribuidas $\bf together\ with$ Representaciones de palabras. El LDA se utiliza para construir una probabilidad logarítmica para CBOW y Skip-gram. La siguiente explicación está dentro de la sección 3 del trabajo Topic2Vec: Aprendizaje de representaciones distribuidas de temas :

"Cuando se entrena, dada una secuencia palabra-tema de un documento $D=\{w_1 : z_1, ...,w_M : z_M \}$ , donde $z_i$ es la palabra $w_i$ El objetivo de aprendizaje es maximizar las siguientes probabilidades logarítmicas, basadas en CBOW y Skip-gram, respectivamente".

$$\mathcal{L}_{CBOW}(D) = \frac1M \sum^{M}_{i=1}(\log p(w_i|w_{ext}) + \log p(z_i|w_{ext}))$$

$$\mathcal{L}_{Skip-gram}(D)= \frac1M \sum^{M}_{i=1}\sum_{-k\le c\le k,c\neq0}(\log p(w_{i+c}|w_i) + \log p(w_{i+c}|z_i))$$

En la sección 4.2, los autores explican: "los temas y las palabras se representan igualmente como los vectores de baja dimensión, podemos CALCULAR INMEDIATAMENTE EL $\bf {COSINE\ SIMILARITY}$ entre palabras y temas. Para cada tema, seleccionamos las palabras de mayor similitud".

Además, encontrarás dentro de ese trabajo algunas frases como:

"La probabilidad no es la mejor opción para la representación de características"

y

"LDA prefiere describir la relación estadística de las ocurrencias en lugar de la información semántica real incrustada en las palabras, los temas y los documentos"

que le ayudará a entender mejor los diferentes modelos.

3voto

CitadelCSAlum Puntos 2266

Otras respuestas aquí cubren las diferencias técnicas entre esos dos algoritmos, sin embargo creo que la diferencia principal es su propósito: Esos dos algoritmos fueron diseñados para hacer cosas diferentes:

word2vec en última instancia, produce un mapeo entre palabras y un vector de longitud fija. Si tuviéramos que compararlo con otro enfoque bien conocido, tendría más sentido hacerlo con otra herramienta diseñada para el mismo fin, como el modelo Bag of Words (BOW). Éste hace lo mismo pero carece de algunas características deseadas de word2vec como utilizar el orden de las palabras y asignar un significado semántico a las distancias entre las representaciones de las palabras.

LDA por otro lado, crea un mapeo a partir de una longitud variada documento a un vector. Este documento puede ser una frase, un párrafo o un archivo de texto completo, pero no es una sola palabra. Tendría más sentido compararlo con doc2vec que hace el mismo trabajo y es presentado por Tomas Mikolov aquí (el autor utiliza el término paragraph vectors ). O con LSI para el caso.

Así que para responder directamente a sus dos preguntas:

  1. Ninguna de ellas es una generalización o variación de la otra
  2. Utilizar el LDA para mapear un documento a un vector de longitud fija. A continuación, puede utilizar este vector en un algoritmo tradicional de ML, como un clasificador que acepta un documento y predice una etiqueta sentimental, por ejemplo.
  3. Utilice word2vec para mapear un palabra a un vector de longitud fija. También se pueden utilizar estos vectores para alimentar modelos de ML en los que la entrada son palabras, por ejemplo cuando se desarrolla un autocompletador que se alimenta de palabras anteriores e intenta predecir la siguiente.

1voto

Loren Pechtel Puntos 2212

Desde un punto de vista práctico...

El LDA comienza con una bolsa de palabras de entrada que tiene en cuenta las palabras que coinciden en los documentos, pero no presta atención al contexto inmediato de las palabras. Esto significa que las palabras pueden aparecer en cualquier lugar del documento y en cualquier orden, lo que elimina cierto nivel de información. En cambio, word2vec tiene en cuenta el contexto en el que se utiliza una palabra, aunque quizá no el orden exacto.

Los "temas" de LDA son una construcción matemática y no debes confundirlos con temas humanos reales. Puedes acabar con temas que no tienen interpretación humana -son más bien artefactos del proceso que temas reales- y puedes acabar con temas en diferentes niveles de abstracción, incluyendo temas que básicamente cubren el mismo tema humano. Es un poco como leer las hojas de té.

He encontrado el LDA útil para explorar los datos, pero no tan útil para proporcionar una solución, pero su kilometraje puede variar.

Word2vec no crea temas directamente en absoluto. Proyecta palabras en un espacio de alta dimensión basado en un uso similar, por lo que puede tener sus propias sorpresas en cuanto a que palabras que usted considera distintas -o incluso opuestas- pueden estar cerca unas de otras en el espacio.

Puede utilizar cualquiera de los dos métodos para determinar si las palabras son "similares". Con LDA: ¿tienen las palabras pesos similares en los mismos temas? Con word2vec: ¿están cerca (por alguna medida) en el espacio de incrustación?

Puede utilizar cualquiera de ellos para determinar si los documentos son similares. Con LDA, se buscaría una mezcla similar de temas, y con word2vec se haría algo como sumar los vectores de las palabras del documento. ("Documento" puede ser una frase, un párrafo, una página o un documento entero.) Doc2vec es una versión modificada de word2vec que permite la comparación directa de documentos.

Aunque LDA desecha parte de la información contextual con su enfoque de bolsa de palabras, tiene temas (o "tópicos"), que word2vec no tiene. Así que es sencillo usar doc2vec para decir: "Muéstrame documentos que son similares a este", mientras que con LDA es sencillo decir: "Muéstrame documentos donde el tema A es prominente". (De nuevo, sabiendo que el "tema A" emerge de un proceso matemático en tus documentos y entonces averiguas a qué tema(s) humano(s) corresponde mayoritariamente).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X