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

Codificando Bits

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

3 – Clustering de texto con LLMs pre-entrenados

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

En la lección anterior vimos todos los pasos necesarios para realizar el clustering de texto, entre los que se cuentan el uso de un Gran Modelo de Lenguaje (LLM) para la obtención de los «embeddings», la reducción de dimensionalidad de dichos «embeddings» y la aplicación de un algoritmo de clustering.

Así que en esta lección veremos de forma práctica cómo implementar un sistema de clustering de texto usando LLMs pre-entrenados. Así que veremos cómo tomar un conjunto de textos, correspondientes a resúmenes de diferentes trabajos académicos en Español, y cómo implementar las diferentes etapas de este sistema de agrupamiento.

Comencemos viendo entonces las librerías a usar, el problema a resolver y el set de datos de esta práctica:

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.

En este caso usaremos varios módulos de Python provenientes de librerías de HuggingFace y el objetivo es implementar un sistema que genere de forma automática las agrupaciones de texto más adecuadas teniendo en cuenta el contenido de los resúmenes.

Para ello usaremos un set de datos que contiene 10.021 resúmenes en Español, correspondientes a diferentes temáticas.

Teniendo claros estos elementos, veamos ahora sí en detalle cómo implementar el clustering de estos textos:

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.

Muy bien, acabamos de ver los criterios para elegir el LLM a usar en este caso. Se trata de un modelo de «embedding» que tiene una ventana de contexto de 2.408 tokens y que genera embeddings de 768 elementos, lo cual resulta adecuado para los propósitos de este proyecto.

Además, vimos cómo realizar la reducción de dimensionalidad usando el algoritmo UMAP y cómo usar el algoritmo HDBSCAN para obtener los diferentes «clusters» de texto.

En este caso es importante tener en cuenta que para ajustar los hiper-parámetros de HDBSCAN debemos considerar no sólo el puntaje silueta promedio de las agrupaciones sino que debemos también dar importancia al porcentaje de textos etiquetados como «outliers» así como al número de agrupaciones obtenidas.

Teniendo esto en cuenta, el modelo HDBSCAN obtenido genera un total de 82 agrupaciones y un porcentaje de «outliers» de aproximadamente el 37%.

Así que para terminar esta lección, veamos cómo analizar las agrupaciones de texto obtenidas:

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, existen varias formas de analizar las agrupaciones obtenidas. Por ejemplo, podemos realizar un conteo de la cantidad de textos en cada agrupación o podemos muestrear aleatoriamente algunas agrupaciones e imprimir algunos de sus textos para ver si existe coherencia semántica entre ellos. O podemos simplemente hacer un gráfico 2D de las agrupaciones obtenidas y añadir a dicho gráfico los «outliers».

Aunque todo esto nos permitió confirmar que las agrupaciones obtenidas resultan adecuadas, la principal limitación de esta implementación es que resulta difícil determinar de manera precisa cuáles son las temáticas o tópicos de cada una de estas agrupaciones.

Es decir, el «clustering» de texto arroja simplemente las agrupaciones pero no nos da indicación alguna de las temáticas asociadas a cada una de ellas. Sin embargo, este inconveniente se resuelve precisamente con el modelado de tópicos que será precisamente el tema del segundo módulo del curso.

Así que en la próxima lección comenzaremos entendiendo qué es el modelado de tópicos.

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 }