Por: Martin Feldkircher (Escuela de Estudios Internacionales de Viena), Márton Kardos (Universidad de Aarhus, Dinamarca) y Petr Koráb (Text Mining Stories)
1.
El modelado de temas ha progresado recientemente en dos direcciones. El flujo de métodos estadísticos mejorados de los paquetes de Python se centra en modelos más robustos, eficientes y sin preprocesamiento, lo que produce menos temas basura (por ejemplo, FASTopic). El otro se basa en el poder de los modelos de lenguaje generativo para extraer temas intuitivamente comprensibles y sus descripciones (por ejemplo, TopicGPT[6], Lloom[5]).
Gracias a la investigación sobre métodos estadísticos para modelar representaciones de texto a partir de transformadores, los temas basura son la excepción y no la norma en los modelos más nuevos. Mientras tanto, enfoques novedosos basados en LLM están desafiando nuestras opiniones de larga data sobre qué es un modelo temático y qué puede hacer. Los nombres y descripciones de temas legibles por humanos se están convirtiendo cada vez más en un resultado esperado de un proceso de modelado de temas bien diseñado.
Por muy interesantes que sean estos desarrollos, el modelado de temas está lejos de ser un problema resuelto. Los modelos de temas neuronales pueden ser bastante inestables y, a veces, difíciles de confiar para los usuarios debido a su naturaleza de caja negra. Los métodos basados en LLM producen resultados impresionantes, pero en ocasiones pueden plantear dudas sobre la confianza, debido a alucinaciones y sensibilidad a cambios semánticamente irrelevantes en la información. Esto es especialmente un problema para el sector bancario, donde la (in)certidumbre es esencial. Ejecutar grandes modelos de lenguaje también supone una enorme carga infraestructural y computacional, y podría terminar costando grandes sumas de dinero incluso para conjuntos de datos más pequeños.
Nuestro tutorial anterior proporciona una introducción detallada sobre cómo los LLM mejoran el modelado de temas tradicional al etiquetar automáticamente los nombres de los temas. En este artículo, combinamos métodos actuales de modelado de temas con asistencia LLM específica. En nuestra opinión, una combinación de avances recientes en el modelado de lenguajes y el aprendizaje automático clásico puede brindar a los usuarios lo mejor de ambos mundos: un canal que combina las capacidades de grandes modelos de lenguaje con la eficiencia computacional, la confiabilidad y la estabilidad del aprendizaje automático probabilístico.
Este artículo explica tres nuevas técnicas de modelado de temas que deberían formar parte del conjunto de herramientas de PNL en 2026. Lo descubriremos:
Cómo utilizar indicaciones de texto para especificar en qué deben centrarse los modelos de temas (es decir, modelos de temas iniciales). Cómo los resúmenes generados por LLM pueden hacer que los modelos temáticos sean más precisos. Cómo se pueden utilizar los modelos generativos para etiquetar temas y proporcionar sus descripciones. Cómo se pueden utilizar estas técnicas para obtener conocimientos de la comunicación de los bancos centrales.
Los ilustramos en el corpus de discursos de comunicación del banco central del Banco Central Europeo. Este tipo de texto es largo, cuidadosamente estructurado y muy repetitivo: exactamente el tipo de datos donde los modelos temáticos estándar tienen dificultades y donde la interpretabilidad es esencial. Al combinar el modelado de temas iniciales con el resumen y análisis de documentos asistidos por LLM, mostramos cómo extraer temas enfocados, estables y económicamente significativos sin comprometer la transparencia o la escalabilidad.
2. Datos de ejemplo
Utilizamos las comunicaciones de la conferencia de prensa del Banco Central Europeo (BCE) como datos de texto de ejemplo. Desde 2002, el Consejo de Gobierno del BCE se reúne el primer jueves de cada mes y su comunicación del resultado de la reunión sigue la estructura de dos pasos ([2]).
Cómo funciona: Primero, a las 13:45 CET, el BCE publica una breve declaración de decisión de política monetaria (MPD), que contiene sólo información textual limitada. En segundo lugar, a las 14:30 CET, el presidente del BCE pronuncia una declaración introductoria durante una conferencia de prensa. Este documento cuidadosamente preparado explica los fundamentos detrás de las decisiones de política, describe la evaluación de las condiciones económicas por parte del BCE y proporciona orientación sobre futuras consideraciones de política. La declaración introductoria suele durar unos 15 minutos y va seguida de una sesión de preguntas y respuestas de 45 minutos.
Para este artículo, utilizamos las declaraciones introductorias, extraídas directamente del sitio web del BCE (publicadas con una licencia de datos flexible). El conjunto de datos contiene 279 declaraciones y así es como se ve:
Imagen 1: Conjunto de datos de comunicación del BCE. Fuente: Imagen de los autores.
3. Modelado de temas iniciales
Tradicionalmente, los modelos de temas se centran en identificar los temas más informativos en un conjunto de datos. Un enfoque ingenuo que adoptan los profesionales es ajustar un modelo más grande y luego, generalmente manualmente, filtrar los temas irrelevantes para su pregunta sobre datos.
¿Qué pasaría si pudiera condicionar un modelo de tema para que solo extraiga temas relevantes para su pregunta de datos? Esto es precisamente para lo que se utiliza el modelado de temas iniciales.
En algunos métodos, esto significa seleccionar un conjunto de palabras clave que reflejen su pregunta. Pero en el marco que exploramos en este artículo, puede especificar su interés en el texto libre utilizando una frase inicial que le indique al modelo en qué centrarse.
3.1 Modelo clave NMF
Usaremos el modelo de tema contextual KeyNMF de vanguardia ([3]). Es, en muchos aspectos, muy similar a los modelos temáticos más antiguos, ya que formula el descubrimiento de temas en términos de factorización matricial. En otras palabras, al utilizar este modelo, asumes que los temas son factores latentes, que tus documentos contienen en mayor o menor medida, que determinan y explican el contenido de esos documentos.
KeyNMF es contextual porque, a diferencia de los modelos más antiguos, utiliza representaciones de texto transformadoras sensibles al contexto. Para comprender cómo funciona el modelado inicial, debemos obtener una comprensión básica del modelo. El proceso de modelado ocurre en los siguientes pasos:
Codificamos nuestros documentos en vectores densos utilizando un transformador de oraciones. Codificamos el vocabulario de estos documentos en el mismo espacio de incrustación. Para cada documento, extraemos las N palabras clave principales tomando las palabras que tienen la mayor similitud de coseno con la incrustación del documento. La importancia de las palabras para un documento determinado es entonces la similitud del coseno, reducida a cero. Estas puntuaciones se organizan en una matriz de palabras clave, donde cada fila es un documento y las columnas corresponden a palabras. La matriz de palabras clave se descompone en una matriz de términos de tema y una matriz de tema de documento mediante la factorización de matrices no negativas.
Imagen 2: Arquitectura del modelo KeyNMF. Fuente: documentación de Turftopic
3.2 Clave sembradaNMF
El KeyNMF general, si bien es perfectamente adecuado para descubrir temas en un corpus, no es la opción más adecuada si necesitamos utilizar el modelo para una pregunta específica. Para que esto suceda, primero tenemos que especificar una frase inicial, una frase que indique mínimamente lo que nos interesa. Por ejemplo, al analizar el conjunto de datos de comunicación del BCE, esto podría ser “Expansión de la eurozona”.
Como los transformadores de oraciones pueden codificar esta frase inicial, podemos usarla para recuperar documentos que sean relevantes para nuestra pregunta:
Codificamos la frase inicial en el mismo espacio de incrustación que nuestros documentos y vocabulario. Para que nuestro modelo esté más atento a los documentos que contienen información relevante, calculamos una puntuación de relevancia del documento calculando la similitud del coseno con la incrustación de semillas. Podamos, de nuevo, a cero. Para exagerar la importancia de la semilla, se puede aplicar un exponente de semilla. Esto implica elevar las puntuaciones de relevancia del documento a la potencia de este exponente. Multiplicamos las entradas de la matriz de palabras clave por la relevancia del documento. Luego, como antes, usamos NMF para descomponer esta matriz de palabras clave, ahora condicionada.
Las ventajas de este enfoque son que es:
1) increíblemente flexible y 2) puede ahorrar mucho trabajo manual.
Tenga cuidado: algunos modelos de incrustación pueden ser sensibles a las frases y pueden recuperar diferentes puntuaciones de importancia del documento para el mismo documento con una frase inicial ligeramente diferente. Para solucionar esto, le recomendamos que utilice uno de los modelos de paráfrasis de los transformadores de oraciones, porque han sido entrenados deliberadamente para ser invariantes de fraseo y producir temas de alta calidad con KeyNMF.
3.3 Cómo utilizar KeyNMF sembrado
KeyNMF y su versión inicial están disponibles en PyPI en el paquete Turftopic, en un formato compatible con scikit-learn. Para especificar lo que le interesa, simplemente inicialice el modelo con una frase inicial:
de transformadores de oraciones importar SentenceTransformer de turftopic importar KeyNMF # Codificar documentos usando un codificador de transformador de oraciones = SentenceTransformer("paraphrase-mpnet-base-v2") embeddings = encoder.encode(documents, show_progress_bar=True) # Inicializar KeyNMF con 4 temas y un modelo de frase semilla = KeyNMF( n_components=4, encoder=encoder, seed_phrase="Expansión de la eurozona", seed_exponent=3.0, ) # Ajustar modelo model.fit(corpus) # Imprimir temas modelados model.print_topics()
Podemos ver que el modelo devuelve ID de temas con palabras clave típicas que están claramente relacionadas con el euro y la eurozona:
Encontrar temas interpretables a partir de un corpus es una tarea difícil y, a menudo, requiere algo más que un modelo estadístico que encuentre patrones en los datos sin procesar. Los LLM sirven como modelo de temas en dos áreas principales:
Leer un documento e identificar los aspectos correctos del texto a partir de una pregunta de datos específica. Interpretar el resultado del modelo temático en el contexto relevante.
En el siguiente texto, ahora exploraremos 1) cómo los LLM mejoran el procesamiento de documentos para un modelo temático y 2) cómo los modelos generativos mejoran la comprensión y la interpretación de los resultados del modelo.
Imagen 4: Canalización de modelado de temas ampliada con componentes LLM. Fuente: documentos de Turftopic.
4.1. Resumen de documentos
Uno de los talones de Aquiles de los transformadores de oraciones que utilizamos frecuentemente para el análisis de temas es su corta longitud de contexto. Los modelos de codificador que pueden leer contextos considerablemente más largos rara vez han sido evaluados por su desempeño en el modelado de temas. Por lo tanto, no sabíamos si estos modelos de transformadores más grandes funcionan o cómo funcionan en un proceso de modelado temático. Otro problema es que producen incrustaciones de dimensiones superiores, que a menudo afectan negativamente a los modelos de aprendizaje automático no supervisados ([4]). Puede deberse a que las distancias euclidianas se inflan en el espacio de dimensiones superiores o a que el número de parámetros aumenta con la dimensionalidad de entrada, lo que dificulta la recuperación de los parámetros.
Podemos resolver estos problemas mediante:
Dividir documentos en secciones más pequeñas que encajen en la ventana de contexto de un transformador de oraciones. Desafortunadamente, la fragmentación puede dar como resultado fragmentos de texto que están tremendamente fuera de contexto, y puede requerir un esfuerzo considerable fragmentar documentos en límites semánticamente sensibles. Utilizar modelos generativos para resumir el contenido de estos documentos. Los LLM se destacan en esta tarea y también pueden eliminar todo tipo de ruido basado en tokenización e información irrelevante de los textos que podrían obstaculizar nuestro modelo temático.
Resumamos ahora las ventajas y desventajas del uso de resúmenes generados por LLM en el modelado de temas en la siguiente imagen.
Imagen 5: Beneficios y desventajas del procesamiento de documentos asistido por LLM en el proceso de modelado de temas. Fuente: imagen de los autores.
La estrategia recomendada para el preprocesamiento de documentos asistido por LLM consta de dos pasos:
Entrene un modelo de tema con preprocesamiento simple o sin ningún preprocesamiento. Cuando descubra que los modelos temáticos tienen dificultades para interpretar su corpus, utilizar el resumen basado en LLM puede ser una buena opción si las compensaciones funcionan positivamente en su proyecto específico.
4.1.1. Resumen de documentos en código
Veamos ahora cómo podemos resumir documentos usando un LLM. En este ejemplo, usaremos GPT-5-nano, pero Turftopic también permite ejecutar LLM abiertos ejecutados localmente. Recomendamos utilizar LLM abiertos localmente, si es posible, debido a menores costos y mejor privacidad de los datos.
importar pandas como pd desde tqdm importar tqdm desde turftopic.analyzers importar OpenAIAnalyzer, LLMAnalyzer # Cargando los datos data = pd.read_parquet("data/ecb_data.parquet") content = list(data["content"]) # Escribimos un mensaje que extraerá la información relevante # Le pedimos al modelo que separe la información en puntos clave para que # sean más fáciles de modelar resumen_prompt="Resuma la siguiente conferencia de prensa del Banco Central Europeo en un conjunto de puntos clave separados por dos caracteres de nueva línea. Responda solo con el resumen, nada más. n {document}" # Formalice un resumido resumido = OpenAIAnalyzer("gpt-5-nano", resumen_prompt=summary_prompt) summaries =[]# Resumir el marco de datos, realizar un seguimiento de la ejecución del código para el documento en tqdm(data["content"], desc="Resumen de documentos…"): resumen = resumen.summarize_document(document) # Imprimimos resúmenes a medida que avanzamos como verificación de integridad, para asegurarnos # de que el mensaje funcione print(summary) summaries.append(summary) # Recopila resúmenes en un marco de datos resumen_df = pd.DataFrame( { "id": datos["id"], "fecha": datos["fecha"], "autor": datos["autor"], "título": datos["título"], "resumen": resúmenes, } )
A continuación, ajustaremos un modelo KeyNMF simple a los puntos clave de estos resúmenes y dejaremos que el modelo descubra la cantidad de temas utilizando el criterio de información bayesiano. Este enfoque funciona muy bien en este caso, pero tenga cuidado porque la detección automática del número de tema tiene sus desventajas. Consulte la tabla de clasificación de modelos de temas para obtener más información sobre cómo funcionan los modelos para detectar la cantidad de temas.
importar numpy como np importar pandas como pd de Sentence_transformers importar SentenceTransformer de turftopic importar KeyNMF # Crear corpus a partir de resúmenes de texto (no textos originales) corpus = list(summary_df["summary"]) # Recopilar puntos clave segmentando en puntos de salto de línea doble =[]para doc en corpus: _points = doc.split("nn") doc_points = [p para p en _points if len(p.strip().removeprefix(" – "))] points.extend(doc_points) # Dígale a KeyNMF que detecte automáticamente la cantidad de temas usando el modelo BIC = KeyNMF("auto", encoder="paraphrase-mpnet-base-v2") doc_topic = model.fit_transform(points) # Imprimir ID de temas con las palabras principales model.print_topics()
Aquí están los resultados de KeyNMF entrenados en resúmenes de documentos:
ID del tema Clasificación más alta0 inflación, hipo, expectativas, esperado, salario, energía, precios, precio, medio, presiones 1ecb, tasas, sin cambios, mantenido, clave, tasa, liquidez, bancos, mercado, intercambio 2m3, crédito, monetario, crecimiento, préstamos, liquidez, préstamos, financiero, dinero, m1 3euro, área, economía, billetes, esperado, intercambio, moneda, países, convergencia, 4reformas externas, fiscal, crecimiento, estructural, consolidación, mercados, potencial, productividad, mercado, 5 riesgos esenciales, desventaja, crecimiento, equilibrado, perspectivas, alza, precios, tensiones, potencial, estabilidad global 6, precio, medio, pacto, restos, riesgos, expectativas, término, al revés, política fiscal7, monetario, tarifa, fiscal, tarifas, decisiones, transmisión, medidas, restos, postura8gdp, crecimiento, real, económico, proyecciones, trimestre, demanda, q2, esperado, economía9council, gobernando, tarifa, decisión, reunión, refinanciación, consenso, unánime, asegurar, tasas Imagen 6: Resultados de 10 temas de KeyNMF entrenados en resúmenes de documentos. Fuente: imagen de los autores.
4.3. Análisis de temas con LLM
En un proceso típico de análisis de temas, un usuario primero entrenaría un modelo de tema, luego dedicaría tiempo a interpretar lo que el modelo ha descubierto, etiquetaría los temas manualmente y finalmente proporcionaría una breve descripción de los tipos de documentos que contiene el tema. Esto lleva mucho tiempo, especialmente en corpus con muchos temas identificados.
Esta parte ahora puede ser realizada por LLM que puedan generar fácilmente nombres y descripciones de temas legibles por humanos. Usaremos la misma API del analizador de Turftopic para lograr esto:
Aplicamos el analizador a las declaraciones introductorias emitidas por el BCE, que acompañan a cada decisión de política monetaria. Estas declaraciones se preparan cuidadosamente y siguen una estructura relativamente estándar. Aquí están los nombres de los temas etiquetados con sus descripciones y palabras principales impresas en análisis_resultado:
Imagen 7: Análisis de temas utilizando GPT-5-nano en Turftopic. Fuente: imagen de los autores.
A continuación, mostremos la prevalencia de los nombres de temas de KeyNMF etiquetados a lo largo del tiempo. Así de intensamente se discutieron estos temas en las conferencias de prensa del BCE durante los últimos 25 años:
desde fecha y hora importar fecha y hora importar plotly.express como px desde scipy.signal importar savgol_filter # crear marco de datos a partir de temas etiquetados, # combinar con marca de tiempo de la columna de fecha time_df = pd.DataFrame( dict( fecha=marcas de tiempo, **dict(zip(analysis_result.topic_names, doc_topic.T / doc_topic.sum(axis=1))) ) ).set_index("date") # agrupar marco de datos a frecuencia mensual time_df = time_df.groupby(by=[time_df.index.month, time_df.index.year]).mean() time_df.index = [datetime(year=y, mes=m, day=1) for m, y in time_df.index] time_df = time_df.sort_index() # mostrar marco de datos con Plotly para col en time_df.columns: time_df[col] = savgol_filter(time_df[col], 12, 2) fig = px.line( time_df.sort_index(), template="plotly_white", ) fig.show()
Aquí está el marco de datos del modelo de tema etiquetado que se muestra con frecuencia anual:
Imagen 8: Análisis de temas utilizando GPT-5-nano en Turftopic a lo largo del tiempo. Fuente: Imagen de los autores.
Resultados del modelo en contexto: el tema de la unión monetaria fue más prominente a principios de la década de 2000 (ver[5]para más información). El tema de la política monetaria y la decisión sobre las tasas alcanza su punto máximo al final de la crisis financiera global, alrededor de 2011, un período durante el cual el BCE (algunos comentaristas argumentan erróneamente) aumentó las tasas de interés. El momento en que se aborda el tema de la inflación y las expectativas de inflación también se corresponde con la evolución económica: aumenta bruscamente alrededor de 2022, cuando los precios de la energía llevaron la inflación a territorio de dos dígitos en la zona del euro por primera vez desde su creación.
5. Resumen
Resumamos ahora los puntos clave del artículo. Los requisitos y el código para este tutorial se encuentran en este repositorio.
El modelo de tema Seeded KeyNMF combina indicaciones de texto con el modelo de tema más reciente para concentrar el modelado en un problema determinado. Resumir datos para el modelado de temas reduce el tiempo de capacitación, pero tiene desventajas que deben considerarse en un proyecto. El paquete Tutftopic Python implementa descripciones y etiquetas sistemáticas con LLM recientes en una canalización de modelado de temas.
Referencias
[1]Taejin Park, Fernando Pérez-Cruz y Hyun Song Shin. 2025. Mapeo del espacio de las ideas de los banqueros centrales. En: BIS Working Papers, n.º 1299, 16 de octubre de 2025, 26 págs.
[2]Carlo Altavilla, Luca Brugnolini, Refet S. Gürkaynak, Roberto Motto y Giuseppe Ragusa. 2019. Medición de la política monetaria de la zona del euro. En: Revista de Economía Monetaria, Volumen 108, págs. 162-179.
[3]Ross Deans Kristensen-McLachlan, Rebecca MM Hicke, Márton Kardos y Mette Thunø. 2024. El contexto es clave (NMF): modelado de la dinámica de la información de actualidad en los medios de la diáspora china. En: CHR 2024: Conferencia de investigación en humanidades computacionales, 4 al 6 de diciembre de 2024, Aarhus, Dinamarca.
[4]Márton Kardos, Jan Kostkan, Kenneth Enevoldsen, Arnault-Quentin Vermillet, Kristoffer Nielbo y Roberta Rocca. 2025. S3 – Separación de señales semánticas. En: Actas de la 63ª Reunión Anual de la Asociación de Lingüística Computacional (Volumen 1: Artículos extensos), páginas 633–666, Viena, Austria. Asociación de Lingüística Computacional.
[5]Martin Feldkircher, Petr Koráb y Viktoriya Teliha. 2025. ¿De qué hablan los banqueros centrales? Evidencia del archivo del BIS. En: Documento de Trabajo CAMA Nro. 35/2025.
[6]Michelle S. Lam, Janice Teoh, James A. Landay, Jeffrey Heer y Michael S. Bernstein. 2024. Inducción de conceptos: análisis de texto no estructurado con conceptos de alto nivel utilizando LLooM. En: Actas de la Conferencia CHI de 2024 sobre factores humanos en sistemas informáticos (CHI '24). Association for Computing Machinery, Nueva York, NY, EE. UU., Artículo 766, 1–28. https://doi.org/10.1145/3613904.3642830.
[7]Chau Minh Pham, Alexander Hoyle, Simeng Sun, Philip Resnik y Mohit Iyyer. 2024. TopicGPT: un marco de modelado de temas basado en indicaciones. En Actas de la Conferencia de 2024 del Capítulo Norteamericano de la Asociación de Lingüística Computacional: Tecnologías del Lenguaje Humano (Volumen 1: Artículos extensos), páginas 2956–2984, Ciudad de México, México. Asociación de Lingüística Computacional.