Volver al blog
Equipo Punto Medio

Cómo agrupamos noticias en eventos del mundo real

Cómo agrupamos noticias en eventos del mundo real

En Punto Medio, una de las tareas más fundamentales de nuestra plataforma es simple de enunciar pero difícil de resolver: dado un conjunto de miles de artículos de distintos medios, ¿cuáles hablan del mismo evento?

No del mismo tema, sino del mismo hecho concreto que ocurrió en el mundo.

Esta distinción parece obvia pero tiene consecuencias técnicas enormes. Dos artículos pueden hablar del presidente argentino y de legislación, pero uno puede referirse a la aprobación de un conjunto de leyes y el otro al veto de una reforma tributaria. Son eventos distintos que no deberían agruparse juntos.

Para atacar este problema, publicamos un paper de investigación que proponemos compartir con la comunidad. Podés leerlo completo acá: A Multi-Signal Graph-Based Approach for Real-World Event Detection in News Articles.

El problema con la similitud semántica

El punto de partida natural para agrupar artículos es usar embeddings de texto y comparar qué tan similares son semánticamente. Es una técnica sólida, ampliamente usada, y sirve como punto de comparación.

Para establecer una línea de base, implementamos un pipeline clásico: embeddings, reducción de dimensionalidad con PCA, y clustering con HDBSCAN. Los resultados fueron buenos en homogeneidad (98%) — los clusters formados eran puros — pero revelaron una limitación importante: casi el 40% de los artículos quedaban sin asignar, marcados como ruido.

En producción, eso significa que cuatro de cada diez artículos no llegan a ningún evento. Para una plataforma que quiere cubrir el ecosistema mediático de forma completa, eso es un problema serio.

Además, la similitud semántica falla cuando dos eventos distintos comparten vocabulario similar — como dos notas sobre política legislativa del mismo país. El modelo los acerca en el espacio de embeddings aunque describan hechos completamente distintos.

La solución: múltiples señales, estructura de grafo

El pipeline que proponemos combina tres señales complementarias:

1. Embeddings semánticos con búsqueda KNN Cada artículo se representa como un vector de alta dimensión. Para cada artículo, recuperamos sus K vecinos más cercanos (K=100) en el espacio de embeddings. Esto genera pares candidatos a comparar sin tener que comparar todos contra todos.

2. Extracción y desambiguación de entidades nombradas Aplicamos NER para identificar personas, organizaciones, lugares y entidades misceláneas. Luego vinculamos cada mención a su título en Wikipedia, obteniendo un identificador canónico único. Así, "el presidente argentino" y "Javier Milei" convergen al mismo nodo de conocimiento.

La similitud de entidades entre dos artículos se mide con Jaccard sobre los conjuntos de entidades normalizadas.

3. Cross-encoder fine-tuneado Un modelo BERT fine-tuneado sobre el dataset HLGD evalúa directamente si dos artículos describen el mismo evento. A diferencia de comparar embeddings por separado, el cross-encoder procesa los dos textos en conjunto, permitiendo capturar interacciones finas: referencias temporales compartidas, entidades en común, contexto narrativo.

4. Grafo de similitud y detección de comunidades Con todos los pares puntuados, construimos un grafo donde cada nodo es un artículo y cada arista tiene como peso el score de similitud. Descartamos las aristas por debajo de 0.5 para reducir ruido.

Luego aplicamos el algoritmo de Leiden para detectar comunidades dentro del grafo. Leiden es una mejora sobre Louvain que garantiza comunidades bien conectadas y converge más rápido. Cada comunidad detectada corresponde a un evento del mundo real.

Resultados

Métrica Baseline (HDBSCAN) Pipeline multi-señal
Homogeneidad 0.98 0.95
Completitud 0.75 0.86
V-measure 0.85 0.90
Similitud intra-cluster 0.88 0.96
Cobertura de artículos 61% 89%

La mejora más significativa es la cobertura: pasamos de cubrir el 61% de los artículos al 89%, con solo un ~4% de caída en homogeneidad. Los clusters siguen siendo puros pero ahora agrupan muchos más artículos que el baseline dejaba sin asignar.

Por qué esto importa para Punto Medio

Este trabajo no es solo una contribución académica — es la columna vertebral técnica de nuestra plataforma. Para poder comparar cómo distintos medios cubren un mismo evento, primero tenemos que saber con precisión cuáles artículos pertenecen a ese evento.

Un pipeline que deja el 40% de los artículos sin agrupar no puede ofrecerle a nadie una visión completa del ecosistema. Uno que agrupa por similitud temática termina mezclando eventos distintos, distorsionando el análisis.

Este pipeline multi-señal es el primer paso para construir algo más ambicioso: entender no solo qué se reporta, sino cómo y por qué.

El paper completo, el código y los datos están disponibles públicamente: