• Saltar a la navegación principal
  • Saltar al contenido principal
Logo Codificando Bits

Codificando Bits

  • Academia
    • Rutas
    • Cursos
    • Proyectos
    • Tutoriales
  • Acceder
  • Suscribirse

6 – Modelado de tópicos con BERTopic

Lección 6 del curso Clustering de Texto y Modelado de Tópicos con LLMs.

En la lección anterior vimos qué es BERTopic, una librería de Python y un algoritmo que permite realizar el modelado de tópicos a partir de textos.

Así que en esta lección veremos de forma práctica cómo usar BERTopic para realizar el modelado de tópicos sobre el set de datos usado en la lección 3, que contiene aproximadamente 10.000 resúmenes de trabajos académicos en Español.

Comencemos entonces viendo cómo crear y entrenar un primer modelo BERTopic y entendamos las limitaciones que tiene esta implementación:

Contenido exclusivo para suscriptores

Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.

Como acabamos de ver, la creación y entrenamiento de BERTopic es realmente simple: basta con definir las instancias correspondientes al modelo de reducción de dimensionalidad (UMAP), al algoritmo de clustering (HDBSCAN) y luego usar el método «fit()» para presentarle al modelo tanto los resúmenes como sus correspondientes «embeddings».

Sin embargo, en muchos casos los tópicos obtenidos no representan adecuadamente los textos que hacen parte de dichas agrupaciones. En particular, muchas de las representaciones obtenidas contienen únicamente artículos o conectores («de», «para», «las», «los», etc.) y algunas palabras en los tópicos generados no contienen acentos (tildes).

Esto se debe a que algunos resúmenes están en idiomas diferentes al Español y a que el corpus contiene un elevado número de conectores. Adicionalmente, la eliminación de los acentos se debe a que por defecto BERTopic asume que los textos están en idioma Inglés.

Así que veamos cómo corregir todos estos problemas para obtener mejores representaciones de los tópicos para cada cluster:

Contenido exclusivo para suscriptores

Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.

Como acabamos de ver, al depurar los textos y preservar únicamente aquellos resúmenes en Español resolveremos parte de los problemas mencionados anteriormente. Y además, estas limitaciones desaparecen por completo cuando usamos un módulo c-TF-IDF personalizado (que elimina las «stop-words» ) y definimos el lenguaje en BERTopic como «spanish».

Y con esto pudimos comprobar que las representaciones obtenidas son bastante específicas y caracterizan adecuadamente cada uno de los «clusters» presentes en el corpus.

Finalmente, vimos cómo usar el modelo BERTopic obtenido para visualizar y caracterizar de manera un poco más detallada cada uno de los tópicos.

Sin embargo, existen otras herramientas, adicionales a las que acabamos de analizar, que nos permiten obtener representaciones aún mejores. De estas herramientas hablaremos en las dos últimas lecciones del curso, comenzando con la mejora de las representaciones en BERTopic usando re-rankers.

Todas las lecciones del curso Clustering de Texto y Modelado de Tópicos con LLMs

© Codificando Bits, LLC | Blog | Contacto | Servicios | Acerca de | Políticas

¿Has olvidado la contraseña?
¿Has perdido tu contraseña? Por favor, introduce tu nombre de usuario o dirección de correo electrónico. Recibirás por correo electrónico un enlace para crear una nueva contraseña.
body::-webkit-scrollbar { width: 7px; } body::-webkit-scrollbar-track { border-radius: 10px; background: #f0f0f0; } body::-webkit-scrollbar-thumb { border-radius: 50px; background: #dfdbdb }