Publicado: 22 de abril de 2024
Colaboradores: Jacob Murel Ph.D., Eda Kavlakoglu
La asignación latente de Dirichlet es una técnica de modelización de temas para descubrir los temas centrales y sus distribuciones en un conjunto de documentos.
La asignación latente de Dirichlet (LDA), que no debe confundirse con el análisis discriminante lineal en machine learning, es un enfoque bayesiano de modelado de temas. En pocas palabras, la LDA es una forma condicional y probabilística de modelado de temas.
El modelado de temas es una técnica de procesamiento del lenguaje natural (PLN) que aplica el aprendizaje no supervisado en conjuntos de datos de texto grandes para producir un conjunto resumido de términos derivados de esos documentos. Estos términos están destinados a representar el conjunto principal general de temas de la colección. De esta manera, los modelos de temas tienen como objetivo descubrir los temas latentes o temas que caracterizan a una colección de documentos.1
Los usuarios pueden generar fácilmente modelos de temas LDA utilizando el kit de herramientas de lenguaje natural de scikit-learn (o sklearn) (enlace externo a ibm.com) (NLTK) y gensim (enlace externo a ibm.com) en Python. Los paquetes topicmodels (enlace externo a ibm.com) y lda (enlace externo a ibm.com) en R también contienen funciones para generar modelos de temas LDA.
Conozca los obstáculos para la adopción de la IA, en particular la falta de soluciones de gestión de riesgos y gobierno de la IA.
Regístrese para recibir la guía sobre modelos fundacionales
La LDA es un modelo probabilístico. Esto significa que el algoritmo LDA genera temas, clasificando palabras y documentos entre estos diferentes temas, de acuerdo con distribuciones de probabilidad. Pero, ¿por qué es este un método apropiado para descubrir estructuras temáticas ocultas en los datos de texto? Básicamente, la LDA asume que los documentos se han generado a través de un muestreo aleatorio de temas previos al documento, e intenta aplicar ingeniería inversa a este muestreo.
El proceso de texto generativo imaginado de la LDA comienza con temas previos al documento. Cada tema es un vocabulario fijo de palabras, en el que cada palabra tiene una probabilidad de pertenecer a ese tema. Nótese que a las palabras se les asignan probabilidades en lugar de una categoría discreta para dar cuenta de la pluralidad potencial de significado y uso. Luego, para crear un documento de texto, la máquina genera aleatoriamente una distribución sobre temas, por ejemplo, ochenta y cinco por ciento política, diez por ciento finanzas, cinco por ciento historia. Para cada palabra de este documento, la máquina selecciona aleatoriamente uno de los temas elegidos y emite de manera aleatoria una palabra de ese tema. Tenga en cuenta que la LDA no genera documentos por sí mismo de esta manera. Más bien, este es el proceso por el cual la LDA asume que se generan los documentos. La propia LDA intenta revertir este proceso para descubrir los temas generales y ocultos que impregnan un corpus de documentos.
Esta figura ilustra el supuesto proceso de generación de texto subyacente a la LDA:
En la parte inferior de esta imagen hay una variedad aleatoria de temas compuestos por una distribución de palabras. Estos temas existen para todos los documentos de la colección. Para generar un documento determinado (en este ejemplo, Otelo de Shakespeare), la máquina genera una distribución de temas, que es el gráfico del extremo derecho. Esta distribución son los temas (y la proporción de cada uno) que compondrán el documento. Para cada palabra del documento, la máquina selecciona al azar uno de los temas elegidos (la columna de puntos de colores) y, a su vez, elige una palabra al azar (los términos resaltados).2 Tenga en cuenta que esta visualización es solo un ejemplo ilustrativo, no el resultado de ningún modelo de tema real o generación de texto. Sin embargo, como se ha mencionado, la LDA asume que cada documento es generado por este proceso generativo general, que la LDA intenta realizar ingeniería inversa.
Al igual que otros enfoques de modelado de temas, como el análisis semántico latente (LSA), la LDA aborda los documentos de toda la corpora como bolsa de palabras. Esto significa que la LDA ignora el orden de las palabras y el contexto. En cambio, se centra en la frecuencia con la que las palabras aparecen y coexisten dentro de cada documento individual.3 La frecuencia de las palabras y la coocurrencia se modelan en la matriz de términos del documento. Aquí, los documentos son filas y palabras individuales son columnas, o viceversa. El valor de cada celda indica la frecuencia con la que aparece una palabra determinada en cada documento.4
Mediante la matriz documento-término, el algoritmo LDA genera distribuciones de temas (es decir, listas de palabras clave con probabilidades respectivas) de acuerdo con la frecuencia de palabras y las coocurrencias. Al realizar un seguimiento de la frecuencia de la coocurrencia, la LDA asume que las palabras que aparecen juntas son probablemente parte de temas similares. A continuación, el algoritmo asigna distribuciones de temas de documentos basadas en los clústeres de palabras que aparecen en el documento dado.5
Por ejemplo, supongamos que generamos un modelo LDA para una colección de artículos de noticias que tiene la siguiente salida parcial
Estos son dos temas que pueden describirse como inmigración (Tema 1) y astronomía (Tema 2). Las puntuaciones adjuntas a cada palabra son la probabilidad de que esa palabra clave aparezca en su tema dado. Las probabilidades adjuntas a cada documento son las probabilidades respectivas de que ese documento pertenezca a una mezcla de temas, dada la distribución y la coocurrencia de palabras de cada tema dentro de ese documento. Por ejemplo, la primera fila de la tabla enumera el borde bajo el Tema 1 con una probabilidad del 40 % y un espacio en el Tema 2 con una probabilidad del 60 %. Estos porcentajes indican la probabilidad de que sus respectivos términos aparezcan en ese tema a lo largo de todo el corpus. La primera fila del documento dice Documento 1: Tema 1: .95, Tema 2: .05. Esto significa que, basándose en la aparición de palabras en el Documento 1, el modelo proyecta que el Documento 1 se deriva en un 95 % del Tema 1 y un 5 % del Tema 2. En otras palabras, nuestro modelo hipotético LDA asume que estos son los temas y las proporciones de esos temas utilizados para generar el modelo.
Por supuesto, las palabras polisémicas en particular crean problemas para categorías tan discretas; por ejemplo, alienígena puede hacer referencia a un inmigrante humano o a una criatura extraterrestre. En tales casos, ¿cómo determina el algoritmo LDA a qué tema pertenece la palabra (y, por extensión, el documento)?
Al asignar temas a las palabras, el algoritmo LDA utiliza lo que se conoce como muestreo de Gibbs. La fórmula de muestreo de Gibbs es:
Comprender las operaciones exactas de esta ecuación y sus hiperparámetros requiere conocimientos básicos de estadística y de las técnicas de Monte Carlo de cadenas de Markov (estas últimas se emplean a menudo en el aprendizaje por refuerzo). No obstante, podemos resumir los componentes principales de la ecuación:
Tenga en cuenta que el muestreo de Gibbs es un proceso iterativo. Es decir, una palabra no se muestrea una vez, se le asigna un tema y se desecha. En cambio, el muestreo de Gibbs hace pasar cada palabra por múltiples iteraciones, actualizando las probabilidades tema-palabra en función de las demás.6
La característica distintiva de LDA es la distribución probabilística de cada documento en un conjunto compartido de temas. Al igual que con otros enfoques de modelado de temas, estos temas y su distribución en cada documento no se conocen. El modelado de temas no está supervisado; no hay datos etiquetados manualmente que guíen el análisis. Al descubrir estructuras temáticas ocultas, la LDA finalmente anota documentos en una colección. Estas anotaciones (es decir, los temas descubiertos) se pueden utilizar para clasificar textos. De este modo, la LDA ayuda a los sistemas de recuperación de información automatizando la anotación y la organización de grandes colecciones de documentos.7
Al igual que con muchas técnicas de minería de texto en ciencia de datos, el preprocesamiento de texto mejora enormemente los resultados del modelo LDA. La eliminación de palabras irrelevantes elimina las palabras comunes y semánticamente irrelevantes. El cálculo o la lemmtización ayuda a reducir las variantes morfológicas a formas básicas, con lo que se fusionan variaciones de una palabra que, de otro modo, la máquina podría separar, por ejemplo,bailar, baile, bailarín, etc.
Puesto que los modelos LDA son probabilísticos y no deterministas, la optimización del modelo puede ser un proceso difícil. No hay un número determinado de temas que produzca los mejores resultados, ni parece existir ningún principio rector, como un número determinado de temas adecuados para un número determinado de documentos. De hecho, el ajuste fino de los parámetros del modelo para producir temas interpretables y coherentes implica una gran cantidad de prueba y error.
¿Qué herramientas o métricas están disponibles para ayudar a un usuario a ajustar un modelo LDA? Para los que son nuevos en la modelización de temas, puede resultar frustrante saber que no hay una métrica de rendimiento única, ni siquiera una colección de, adoptada en la literatura.
Cualitativo. Lo crea o no, la evaluación cualitativa no es infrecuente, especialmente en aplicaciones del mundo real. A menudo, esto puede implicar el examen de las cinco o diez palabras clave principales para cada tema. Se utilizan después para evaluar los temas según su interpretación por parte de los usuarios humanos.8 Este tipo de "globo ocular", así que para hablar, requiere una cantidad significativa de conocimiento de dominio experto y familiaridad con los documentos en consideración.9
Coherencia. La coherencia de temas es un método cuantitativo popular para evaluar los temas generados. Una puntuación de coherencia temática mide la frecuencia con la que las palabras más probables de un tema determinado coexisten en los mismos documentos a lo largo del corpus. Más concretamente, calcula la frecuencia de coocurrencia de cada par de palabras de las n palabras principales de un tema frente a la frecuencia de palabras de cada individuo en todo el corpus. Su objetivo es cuantificar la coherencia de un tema determinado. La puntuación de coherencia global de un modelo promedia la puntuación de coherencia de cada tema individual. En efecto, esta puntuación global significa la coherencia media de los temas dentro de un modelo dado. Como su nombre indica, la coherencia evalúa los modelos únicamente en función de la cohesión de sus temas. Sin embargo, los temas también deben mantener un grado de exclusividad, para el que actualmente no existe una medida cuantitativa.10
Investigaciones recientes demuestran que las métricas cuantitativas, como la puntuación de coherencia, no son fiables para la evaluación de modelos temáticos. Esto se debe, en parte, a la ambigüedad del objetivo evaluativo declarado de interpretabilidad: ¿qué hace que un modelo y sus resultados sean interpretables?11 Además, es posible que las métricas automatizadas diseñadas para sistemas más antiguos no se extrapolen bien a los sistemas más nuevos. Este problema se complica por la falta de transparencia en muchos experimentos publicados que impiden la generalización de los métodos de evaluación a otros conjuntos de datos o dominios.12 Las investigaciones se han centrado recientemente en las aplicaciones de la inteligencia artificial, en particular los modelos de lenguaje de gran tamaño (LLM), como medio para diseñar y evaluar modelos LDA para un objetivo de investigación específico.13 Si bien esto muestra resultados prometedores, se necesita más investigación.
Los modelos de temas son un método de PLN no supervisado para resumir datos de texto a través de grupos de palabras. Ayudan en las tareas de clasificación de textos y recuperación de información.
Entrene y ajuste un modelo de tema LDA con NLTK y Gensim de Python.
Explore el modelado de temas y cómo funciona en este artículo de IBM Community.
1 Daniel Jurafsky and James Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition. 3º edición. 2023.https://web.stanford.edu/~jurafsky/slp3/(enlace externo a ibm.com). Jay Alammar y Maarten Grootendorst. Hands-On Large Language Models. O'Reilly. 2024.
2 David Blei. “Probabilistic Topic Models”. Communications of the ACM. Vol. 55. n.º 4. 2012. pp. 77-84. Zhiyuan Chen y Bing Liu. “Topic Models for NLP Applications”. Encyclopedia of Machine Learning and Data Mining. Springer. 2017.
3 Matthew Jockers. Text Analysis with R for Students of Literature. Springer. 2014.
4 Cole Howard, Hobson Lane y Hannes Hapke, Natural Language Processing in Action. Manning Publications. 2019. Sowmya Vajjala, Bodhisattwa Majumder, Anuj Gupta, Harshit Surana. Practical Natural Language Processing. O’Reilly. 2020.
5 Sowmya Vajjala, Bodhisattwa Majumder, Anuj Gupta, Harshit Surana. Practical Natural Language Processing. O’Reilly. 2020. David Blei, Andrew Ng, and Michael Jordan. “Lantent Dirichlet Allocation”. Journal of Machine Learning Research. Vol. 3. 2003. pp. 993-1022.
6 Zhiyuan Chen y Bing Liu. “Topic Models for NLP Applications”. Encyclopedia of Machine Learning and Data Mining. Springer. 2017.
7 David Blei. “Probabilistic Topic Models”. Communications of the ACM. Vol. 55. n.º 4. 2012. pp. 77-84.
8 Chandler Camille May. “Topic Modeling in Theory and Practice”. Disertación. John Hopkins University. 2022.
9 Matthew Gillings y Andrew Hardie. “The interpretation of topic models for scholarly analysis: An evaluation and critique of current practice”. Digital Scholarship in the Humanities. Vol. 38. n.º 2. 2023, pp. 530-543.https://academic.oup.com/dsh/article-abstract/38/2/530/6957052(enlace externo a ibm.com)
10 Chandler Camille May. “Topic Modeling in Theory and Practice”. Dissertation. John Hopkins University. 2022.https://aclanthology.org/D11-1024/ (enlace externo a ibm.com).
11 Zachary Lipton, “The Mythos of Model Interpretability: In machine learning, the concept of interpretability is both important and slippery”. Queue. Vol. 16. N.º 3. pp. 31-57. https://dl.acm.org/doi/10.1145/3236386.3241340 (enlace externo a ibm.com). Caitlin Doogan y Wray Buntine. “Topic Model or Topic Twaddle? Re-evaluating Semantic Interpretability Measures”. Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. 2021. pp. 3824-3848. https://aclanthology.org/2021.naacl-main.300 (enlace externo a ibm.com).
12 Alexander Hoyle, Pranav Goel, Andrew Hian-Cheong, Denis Peskov, Jordan Boyd-Graber, Philip Resnik. “Is Automated Topic Model Evaluation Broken? The Incoherence of Coherence”. Advances in Neural Information Processing Systems. 2021. pp. 2018-2033. https://proceedings.neurips.cc/paper_files/paper/2021/hash/0f83556a305d789b1d71815e8ea4f4b0-Abstract.html (enlace externo a ibm.com). Caitlin Doogan y Wray Buntine. “Topic Model or Topic Twaddle? Re-evaluating Semantic Interpretability Measures”. Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. 2021. pp. 3824-3848. https://aclanthology.org/2021.naacl-main.300 (enlace externo a ibm.com).
13 Dominik Stammbach, Vilém Zouhar, Alexander Hoyle, Mrinmaya Sachan, y Elliott Ash. “Revisiting Automated Topic Model Evaluation with Large Language Models”. Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing. 2023. pp. 9348-9357. https://aclanthology.org/2023.emnlp-main.581/ (enlace externo a ibm.com).