¿Cuáles son buenas maneras de evaluar los temas generados al ejecutar LDA en un corpus?

Una razón por la cual LDA es más fácil de explicar y enseñar que otros modelos jerárquicos de ML es que generalmente puede contar una historia sobre los temas generados.

Puede hacer una asignación difícil de cada palabra a su tema más probable y examinar las palabras en cada tema. Si sus temas son buenos, debería poder contar esas historias.

Por ejemplo, en el artículo original de Biel, Ng y Jordan, los autores pudieron adjuntar etiquetas a sus temas que se correspondían bien con las palabras del tema.


Con las historias, no solo tiene la confianza de que sus temas captan una señal real, sino que también tiene una mejor capacidad para convencer a los demás de que está haciendo algo que vale la pena.

Fuente: http://www.cs.princeton.edu/~blei/papers/BleiNgJordan2003.pdf

Acabo de hacer este ejercicio. Analizamos casi 1 millón de reseñas y utilizamos LDA para crear un modelo con 75 temas. No encontré una mejor manera de evaluar realmente los temas, en lugar de que los humanos los miraran y vieran si tenían sentido.

Se necesita mucho trabajo para llegar al punto en que su tema tenga sentido. Comienza al principio, con calidad de datos:

1. ¿Estás permitiendo que las palabras entren en LDA que no pertenecen a la descripción de los temas?

En nuestro modelo solo usamos sustantivos (treebank NN y NNS). Parte del etiquetado del discurso es importante para construir la mayoría de los modelos de temas. Como mínimo, debe detener las palabras de detención comunes (the, a, it, etc.). También debe asegurarse de no permitir que las palabras de muy alta frecuencia dominen al resto del corpus. Probablemente tampoco quieras palabras muy poco frecuentes. En nuestro modelo, eliminamos las palabras que estaban en 5 o menos documentos y cualquier palabra que aparecía en más del 60% de los documentos.

Utilizamos técnicas como la corrección ortográfica y la lematización para agregar más palabras y reducir la dimensión de los datos. Esto puede o no ser apropiado para su modelo particular.

2. ¿Estás ejecutando LDA el tiempo suficiente?

Hay muchas formas de evaluar si LDA se está ejecutando el tiempo suficiente. Puede ver cosas como las diferencias de tema o la deriva del tema. Esto puede ayudarlo a comprender la convergencia. Este tipo de métodos requieren tiempo para establecerse, por lo que obtendrá temas deficientes a menos que permita una convergencia adecuada. Dependiendo del tamaño de los datos y de la cantidad de recursos que tenga, ¡esto podría llevar minutos, horas, días o incluso más!

3. ¿Seleccionó la cantidad adecuada de temas?

Es muy fácil elegir muy pocos o demasiados temas. Un método para evaluar la cantidad de temas es usar una búsqueda de cuadrícula y evaluar la perplejidad del modelo en los datos retenidos. Hicimos esto, pero no hay sustituto para ejecutar algunos modelos diferentes con diferentes números de temas y hacer que los humanos lo evalúen. Puede usar Mechanical Turk si tiene muchos datos / temas. En mi situación, nos decidimos por 75 temas y cada una de las cuatro personas de mi grupo tardó unas horas en ver las 10 palabras principales de cada tema.

Debido a que este es un aprendizaje no supervisado, no puede establecer arbitrariamente una serie de temas. Es similar a la agrupación K-means, tienes que encontrar el número ideal de centroides. Y de manera similar, existen métodos para ayudarlo a hacer esto, pero no es perfecto.

4. ¿Tiene sentido la densidad de palabras en los temas?

Si tiene temas con densidades débiles / bajas para sus palabras constituyentes, entonces es probable que sea un tema débil. Una vez que clasifique los documentos y asigne los nombres de los temas, extraiga los documentos que se correlacionan fuertemente con ese tema. Léelos, ¿tiene sentido el tema?

5. ¿La palabra tiene múltiples significados? ¿Necesitas agregar algo de contexto?

Muchas palabras pueden tener múltiples significados o contextos. De alguna manera, puede “ayudar” a la LDA mediante el uso de bigrams además de los unigrams normales. Puede usar pares de adjetivos / sustantivos, o simplemente sustantivos, verbos / sustantivos. Puede usar la fragmentación para ver frases verbales o solo frases nominales.

6. ¿Son sus expectativas demasiado altas?

Es probable que haya algunos temas difíciles de identificar. Las distribuciones de frecuencia insisten en que son un tema, pero puede ser débil. Puede clasificar el nombre del tema como “Ambiguo” o “Desconocido”. Creo que con nuestros 75 temas en casi 1 millón de comentarios, tuvimos quizás 7 o quizás 10 en la mayoría de los temas que eran muy débiles.

Algunas cosas que realmente pueden arruinar los temas son las palabras de sentimiento. A algunas personas les gusta usar las mismas palabras una y otra vez en sus escritos, como la palabra “genial”. He visto técnicas que limitan el uso de algunas palabras al construir casi un “conjunto” de palabras por documento. Personalmente no me gusta este enfoque. También he visto la transformación TF-IDF realizada en el corpus para dar diferentes pesos a las palabras. Experimenté con esto yo mismo, pero no es cierto para la LDA tradicional usar este enfoque (no digo que no valga la pena analizarlo).

David Mimno ha realizado un trabajo interesante en LDA, aquí hay un enfoque interesante para construir modelos en los que ha arreglado distribuciones de probabilidad de tema-palabra: Página sobre Cornell

Esta es una pregunta importante. Los modelos de temas a menudo se evalúan utilizando métricas internas, como la probabilidad de retención. Pero, como lo ha demostrado la gente del grupo de David Blei, este puede ser un indicador deficiente de la calidad de los temas, al menos según lo medido por los jueces humanos: Página sobre Wustl

Entonces, como señala William Chen, es importante mirar los temas en sí mismos y ver si cuentan una historia coherente y sensata. Agregaré que es importante no solo considerar las N palabras principales, sino también considerar las distribuciones de palabras dentro y entre temas, como Ben Schmidt argumenta en este excelente artículo sobre el uso del modelado de temas como una herramienta de descubrimiento / investigación: Words Alone: Desmantelamiento de modelos temáticos en las humanidades

Pero mirar muchas palabras en una lista puede ser difícil. Entonces, Jason Chuang (originalmente en Stanford, ahora en U Washington) co-desarrolló esto para ayudar: Termita: Técnicas de visualización para evaluar modelos de temas textuales

También puede usar nubes de palabras para visualizar las N palabras principales y representar palabras que son más o menos informativas (por ejemplo, palabras que están asociadas de manera exclusiva con ciertos temas) de una manera intuitiva: uso de nubes de palabras para resultados de modelado de temas

Finalmente, David Mimmo, uno de los antiguos postdocs de Blei, también ha desarrollado una métrica interna alternativa (aprovechando la información de coincidencia que no utiliza el modelo) que puede predecir si es probable que produzca temas “malos” (p. ej., temas incoherentes, temas “fusionados”, tema con “intrusiones”): página en Umass

More Interesting

¿Cuál es la correlación entre PNL, IA, aprendizaje automático, big data y ciencia de datos? ¿Existe una jerarquía o algo en común entre estos? ¿Cómo se relacionan estos problemas con el mundo real?

¿Qué tiene el futuro más brillante, big data / data science o desarrollo web?

Cómo seguir creciendo como analista de datos

¿Cuáles son algunos campos de proyecto de big data?

¿Cuál es el mejor instituto de formación Hadoop de big data en Noida?

¿Cuánta variedad hay en un puesto de ciencia de datos?

¿Cómo manejar los datos faltantes (estadísticas)? ¿Qué técnicas de imputación recomienda o sigue?

¿Qué es mejor para un estudiante de análisis de datos para estudiar, aprendizaje automático o series de tiempo? Tenemos que elegir uno como módulo electivo

¿Usas R estándar o Microsoft R Open? ¿Por qué?

¿A qué nivel, o cuánta programación, necesito saber para convertirme en científico de datos?

¿Qué debo saber sobre la División de Ciencias Fractales de Fractal Analytics?

¿Cuál es la diferencia entre análisis de datos y análisis de datos? ¿Cómo se refleja esta diferencia en los procedimientos de gestión de datos de una empresa?

¿Cuál es el mejor instituto para la formación en ciencia de datos en Jaipur?

Si pudiera realizar una pasantía como pasante de minería de datos en cualquier empresa de Silicon Valley, ¿dónde trabajaría y por qué?

¿Qué es la ciencia de datos? ¿Cuál es el alcance? ¿El análisis de datos y el análisis comercial son lo mismo? ¿Necesitamos estudiar programación?