Asignación de Dirichlet latente versus proceso de Dirichlet jerárquico

49

La asignación de Dirichlet latente (LDA) y el proceso de Dirichlet jerárquico (HDP) son procesos de modelado de temas. La principal diferencia es que LDA requiere la especificación de la cantidad de temas, y HDP no. ¿Por qué es así? ¿Y cuáles son las diferencias, pros y contras de ambos métodos de modelado de temas?

alvas
fuente
¿Se supone que HDP está basado en datos en cuanto a la cantidad de temas que seleccionará? En el aspecto práctico, traté de ejecutar la implementación HDP de Blei y solo me comí toda la memoria hasta que eliminé el proceso. Tengo 16GB de RAM y poco más de 100K documentos cortos para analizar.
Vladislavs Dovgalecs

Respuestas:

35

HDP es una extensión de LDA, diseñada para abordar el caso en el que el número de componentes de la mezcla (el número de "temas" en términos de modelado de documentos) no se conoce a priori. Esa es la razón por la cual hay una diferencia.

Usando LDA para modelar documentos, uno trata cada "tema" como una distribución de palabras en algún vocabulario conocido. Para cada documento, se extrae una mezcla de temas de una distribución de Dirichlet, y luego cada palabra en el documento es un sorteo independiente de esa mezcla (es decir, seleccionando un tema y luego usándolo para generar una palabra).

Para HDP (aplicado al modelado de documentos), también se usa un proceso de Dirichlet para capturar la incertidumbre en la cantidad de temas. Por lo tanto, se selecciona una distribución base común que representa el conjunto infinitamente posible de temas posibles para el corpus, y luego la distribución finita de temas para cada documento se muestrea a partir de esta distribución base.

En cuanto a los pros y los contras, HDP tiene la ventaja de que la cantidad máxima de temas puede ser ilimitada y aprender de los datos en lugar de especificarse de antemano. Sin embargo, supongo que es más complicado de implementar e innecesario en el caso de que un número limitado de temas sea aceptable.

Tim Goodman
fuente
22

Como anécdota, nunca me ha impresionado la salida de LDA jerárquica. Simplemente no parece encontrar un nivel óptimo de granularidad para elegir el número de temas. He obtenido resultados mucho mejores ejecutando algunas iteraciones de LDA regular, inspeccionando manualmente los temas que produjo, decidiendo si aumentar o disminuir el número de temas y continuar iterando hasta obtener la granularidad que estoy buscando.

Recuerde: la LDA jerárquica no puede leer su mente ... no sabe para qué pretende utilizar el modelado de temas. Al igual que con la agrupación k-means, debe elegir la k que tenga más sentido para su caso de uso.

Charlie Greenbacker
fuente
16

Quería señalar, ya que este es uno de los principales éxitos de Google para este tema, que la asignación de Dirichlet latente (LDA), los procesos de Dirichlet jerárquico (HDP) y la asignación jerárquica de Dirichlet latente (hLDA) son modelos distintos.

LDA modela documentos como mezclas dirichlet de un número fijo de temas, elegidos como parámetro del modelo por el usuario, que a su vez son mezclas dirichlet de palabras. Esto genera una agrupación probabilística plana y suave de términos en temas y documentos en temas.

HDP modela temas como mezclas de palabras, al igual que LDA, pero en lugar de que los documentos sean mezclas de un número fijo de temas, el número de temas es generado por un proceso de dirichlet, lo que resulta en que el número de temas sea también una variable aleatoria. La parte "jerárquica" del nombre se refiere a otro nivel que se agrega al modelo generativo (el proceso de dirichlet que produce el número de temas), no los temas en sí, los temas siguen siendo agrupaciones planas.

hLDA, por otro lado, es una adaptación de LDA que modela temas como mezclas de un nuevo nivel distinto de temas, extraído de distribuciones de dirichlety no procesos. Todavía trata el número de temas como un hiperparámetro, es decir, independiente de los datos. La diferencia es que la agrupación ahora es jerárquica: aprende una agrupación del primer conjunto de temas en sí mismos, dando una relación más general y abstracta entre los temas (y, por lo tanto, las palabras y los documentos). Piense en ello como agrupar los intercambios de pila en matemáticas, ciencias, programación, historia, etc., en lugar de agrupar la ciencia de datos y la validación cruzada en un tema abstracto de estadísticas y programación que comparte algunos conceptos con, por ejemplo, ingeniería de software, pero la ingeniería de software El intercambio se agrupa en un nivel más concreto con el intercambio de ciencias de la computación, y la similitud entre todos los intercambios mencionados no aparece tanto hasta la capa superior de los grupos.

usuario38663
fuente
0

Tengo una situación en la que HDP funciona bien en comparación con LDA. Tengo alrededor de 16000 documentos que pertenecen a varias clases. Como no sé cuántos temas diferentes puedo reunir para cada clase, HDP es realmente útil en este caso.

Nischal Hp
fuente