He creado una pipeline que convierte noticias en eventos
He construido una pipeline de noticias que transforma miles de URLs en eventos estructurados y utilizables 🗞️⚙️
Al principio, el problema parece sencillo:
🔎 Buscar noticias
📝 Resumir los artículos
📲 Mostrar los resultados al usuario
Pero encontrar información es la parte fácil.
La parte difícil es decidir:
- ¿Es realmente relevante?
- ¿Es importante o rutinario?
- ¿Es un evento nuevo?
- ¿Es otra fuente sobre un evento que ya conocemos?
- ¿Es una actualización, una corrección o un duplicado?
- ¿Podemos rastrear cada afirmación hasta su fuente original?
Después de casi un mes ejecutando el pipeline, he analizado los datos reales de la base de datos 👇
El sistema completó 883 de 908 procesos de descubrimiento: una tasa de finalización del 97,3% ✅
Esos procesos generaron:
🔗 9.475 URLs candidatas
🌍 7.299 URLs únicas
🗑️ 5.147 resultados irrelevantes
📦 133 resultados rutinarios o históricos
⬆️ 4.195 candidatos seleccionados para normalización
Es decir, más de la mitad de todo lo que encontramos es ruido.
Después, los elementos seleccionados pasaron por un proceso de resolución de identidad.
El sistema tenía que decidir si cada elemento describía algo nuevo o algo que ya existía en nuestro registro de eventos.
Los resultados explícitos de la normalización fueron:
🆕 1.884 eventos nuevos
🔁 1.495 coincidencias con eventos existentes
🧩 332 desarrollos duplicados
📈 3 desarrollos realmente nuevos
Esto es lo más interesante.
La mayor parte del valor de la pipeline está en filtrar los eventos duplicados, antiguos o de bajo valor.
Sin resolución de identidad, un mismo acontecimiento puede aparecer como diez titulares distintos publicados por diez medios diferentes.
Un agregador de noticias básico muestra diez noticias.
Un sistema de inteligencia útil debe entender que las diez hablan del mismo acontecimiento.
El registro compartido contiene ahora:
📌 2.339 eventos públicos canónicos
📚 2.349 desarrollos de eventos
📰 3.713 fuentes asociadas
Cada evento tiene al menos un desarrollo y una fuente.
El pipeline conserva la diferencia entre:
- El acontecimiento real
- Un nuevo desarrollo dentro de ese acontecimiento
- Una fuente que informa sobre el desarrollo
- La vista personalizada que cada usuario recibe
Esta separación permite gestionar correctamente las correcciones, las actualizaciones, la deduplicación, las cronologías y la trazabilidad de las fuentes.
Contrario a lo que pueda parecer, encontrar más información NO es el problema.
El problema es comprimir información ruidosa y repetitiva hasta convertirla en un conjunto más pequeño de hechos fiables, sin perder el contexto ni la trazabilidad 🎯
Por eso la mayoría de agregadores de noticias toman la ruta fácil: escogen un conjunto pequeño de fuentes de noticias fiables que no están duplicadas.
Así se ahorran tener que lidiar con este problema.
Pero, a cambio, se dejan un montón de noticias importantes en el tintero.
Renuncian ha encontrar todo porque se niegan a levantar todas las piedras.
pd: los datos son de una versión antigua de la pipeline y con unos pocos activos. La nueva versión es todavía mejor :)