Algoritmo Asignación latente de Dirichlet (LDA) - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Algoritmo Asignación latente de Dirichlet (LDA)

El algoritmo Amazon SageMaker Latent Dirichlet Allocation (LDA) es un algoritmo de aprendizaje no supervisado que intenta describir un conjunto de observaciones como una mezcla de categorías distintas. LDA se utiliza normalmente para detectar un número especificado por el usuario de temas compartidos por los documentos dentro de un cuerpo de textos. Aquí, cada observación es un documento, las características son la presencia (o recuento de apariciones) de cada palabra y las categorías son los temas. Puesto que el método no se supervisa, los temas no se especifican inicialmente y no se garantiza que se sigan los procedimientos de categorización naturales de los documentos. Los temas se aprenden como una distribución de probabilidad a través de las palabras que se generan en cada documento. Cada documento, a su vez, se describe como una combinación de temas.

El contenido exacto de dos documentos con combinaciones de temas similares no será el mismo. Sin embargo, en general, se puede esperar que estos documentos usen con más frecuencia un subconjunto compartido de palabras que cuando se compara con un documento de una combinación de temas diferentes. Esto permite a LDA detectar estos grupos de palabras y utilizaros para formar temas. A continuación mostramos un ejemplo muy sencillo, a partir de un conjunto de documentos en los que las únicas palabras que aparecen en ellos son: comer, dormir, jugar, maullar y ladrar, LDA produciría temas como estos:

Tema

comer dormir jugar maullar ladrar
Tema 1 0.1 0.3 0.2 0.4 0.0
Tema 2 0.2 0.1 0.4 0.0 0.3

Puede deducir que los documentos que tienen una mayor probabilidad de formar parte del Tema 1 tienen que ver con los gatos (que es más probable que maúllen y duerman) y es más probable que los documentos que formen parte del tema 2 tengan que ver con los perros (que prefieren jugar y ladrar). Puede encontrar estos temas a pesar de que las palabras "perro" y "gato" no aparezcan nunca en ninguno de los textos.

Elección entre Latent Dirichlet Allocation (LDA) y Neural Topic Model (NTM)

Los modelos temáticos se utilizan comúnmente para producir temas a partir de corpus que (1) encapsulan de manera uniforme el significado semántico y (2) describen bien los documentos. Por lo tanto, los modelos de temas tienen como objetivo minimizar la perplejidad y maximizar la uniformidad de los temas.

La perplejidad es una métrica intrínseca de evaluación del modelado del lenguaje que mide la inversa de la probabilidad media geométrica por palabra en los datos de la prueba. Una puntuación de perplejidad más baja indica un mejor rendimiento de generalización. Las investigaciones han demostrado que la probabilidad calculada por palabra a menudo no se ajusta al juicio humano, y puede no estar correlacionada en absoluto, por lo que se ha introducido la uniformidad temática. Cada tema deducido del modelo consta de palabras, y la uniformidad entre los temas se calcula con las N palabras principales del modelo para ese tema concreto. Suele definirse como el promedio o la mediana de las puntuaciones de similitud de palabras por pares de las palabras de ese tema; por ejemplo, información mutua puntual (PMI). Un modelo prometedor genera temas uniformes o temas con puntuaciones altas de uniformidad temática.

Si bien el objetivo es formar un modelo temático que minimice la perplejidad y maximice la uniformidad temática, a menudo existe un equilibrio entre el LDA y el NTM. Una investigación reciente de Amazon (Dinget y otros, 2018) ha demostrado que el NTM puede lograr una alta uniformidad temática, pero el LDA, entrenado con un muestreo fragmentado de Gibbs, logra una mayor perplejidad. Existe un equilibrio entre la perplejidad y la uniformidad de los temas. Desde un punto de vista práctico en cuanto al hardware y la potencia de cómputo, el hardware de SageMaker NTM es más flexible que el LDA y se puede escalar mejor, ya que NTM puede ejecutarse en la CPU y la GPU y se puede paralelizar en varias instancias de GPU, mientras que el LDA solo admite el entrenamiento de CPU en una sola instancia.

Interfaz de entrada/salida para el algoritmo LDA

LDA espera que se proporcionen datos sobre el canal de capacitación y admite de forma opcional un canal de prueba, que se puntúa mediante el modelo final. LDA es compatible con los formatos de archivo recordIO-wrapped-protobuf (denso y disperso) y CSV. Para CSV, los datos deben ser densos y tener la dimensión igual a número de registros * tamaño del vocabulario. Es posible capacitar la LDA en File o Pipe al utilizar recordIO-wrapped protobuf, pero solo en modo de archivo para el formato CSV.

Para la inferencia, se admiten los tipos de contenido text/csv, application/json y application/x-recordio-protobuf. Es posible pasar los datos dispersos para application/json y application/x-recordio-protobuf. La inferencia de LDA devuelve predicciones application/json o application/x-recordio-protobuf , que incluyen el vector topic_mixture para cada observación.

Para obtener más información sobre los formatos de capacitación e inferencia, consulte los Cuadernos de muestra de LDA.

Recomendación de la instancia EC2 para el algoritmo LDA

Actualmente, LDA solo es compatible con la capacitación de CPU de una instancia. Se recomiendan las instancias de CPU para el alojamiento o la inferencia.

Cuadernos de muestra de LDA

Para ver un ejemplo de cuaderno que muestra cómo entrenar el algoritmo de asignación SageMaker latente de Dirichlet en un conjunto de datos y, luego, cómo implementar el modelo entrenado para realizar inferencias sobre las mezclas de temas en los documentos de entrada, consulte Introducción a la SageMaker LDA. Para obtener instrucciones sobre cómo crear instancias de Jupyter Notebook y acceder a ellas con las que puede ejecutar el ejemplo, consulte. SageMaker Instancias de Amazon SageMaker Notebook Una vez que haya creado una instancia de bloc de notas y la haya abierto, seleccione la pestaña SageMaker Ejemplos para ver una lista de todos los SageMaker ejemplos. Los blocs de notas de modelado de ejemplos que utilizan los algoritmos NTM se encuentran en la sección de introducción a algoritmos de Amazon. Para abrir un cuaderno, haga clic en la pestaña Usar y seleccione Crear copia.