- Un proyecto de ciencia de datos llevado a cabo durante 1,600 días terminó en fracaso al perder relevancia e interés
- Para intentar un nuevo desafío con datos de texto, se realizó un proyecto de “recolección y análisis de datos de news ticker”
- En marzo de 2020, se eligió como fuente de datos el news ticker de Tagesschau, un sitio alemán de noticias públicas que ofrecía noticias relacionadas con COVID-19
- En el tercer trimestre de 2022, cuando COVID-19 perdió importancia, se amplió hacia el news ticker sobre la guerra entre Ucrania y Rusia
- Se realizó un análisis de metapatrones de los datos (como la frecuencia de publicación) y del significado por temas
- Solo se hizo una exploración de datos de corto plazo; el análisis sustancial quedó incompleto
- En el tercer trimestre de 2024, el proyecto se abandonó por la pérdida de interés y la falta de tiempo
Recolección de datos y diseño del sistema
- Desde 2020 hasta 2024, durante 1,600 días, se recopilaron diariamente las URL de noticias y se descargaron los datos en bruto
- Tagesschau tiene cada día una lista de historias cortas de noticias, y cada historia incluye marca de tiempo, titular, texto principal y elementos multimedia
- Se construyó un pipeline de datos semiautomatizado, con trabajo manual y basado en Python, para convertir datos no estructurados en snippets de noticias estructurados
- Como era difícil automatizar la recolección de URL, se optó por visitar el sitio web todos los días y recopilar los enlaces manualmente. Esto se debía al esquema de URL no estructurado de Tagesschau
- Cada 4 a 8 semanas se procesaban en lote las páginas HTML con Python y se guardaban como datos en bruto
- Se analizaba el HTML con BeautifulSoup4 y se almacenaba en una base de datos SQLite
- Aunque gran parte del proyecto estaba automatizada, ni el pipeline manual de ETL ni el análisis real fueron automatizados
- Se enfatiza la importancia de conservar los datos HTML en bruto para prepararse ante cambios en la estructura del DOM
Lecciones del fracaso del proyecto
- Pensar en el storytelling:
- Diseñar desde el inicio del proyecto cómo se contará la historia para que los resultados puedan compartirse fácilmente
- Obtener resultados rápido:
- No solo recopilar datos, sino hacer análisis iniciales rápidamente con un dataset pequeño
- Publicar los resultados y mantener la motivación del trabajo (usando el enfoque “Show Your Work”)
- Automatización:
- Automatizar al máximo la recolección de datos y el pipeline ETL para minimizar el trabajo repetitivo
- Si fuera hoy, habría usado agentes de IA basados en LLM
- Evaluar la frecuencia de recolección de datos:
- Definir de antemano el ciclo de recolección (por ejemplo: diario vs. cada 30 segundos)
- Establecer una frecuencia de recolección que sí pueda automatizarse
- Guardar los datos en bruto:
- Guardar los datos en bruto permite responder a futuros cambios en la lógica de parsing
- Uso de la nube:
- Construir una infraestructura simple y confiable, y aprovechar la oportunidad para adquirir habilidades prácticas
Conclusión: crecer a través del fracaso
- Incluso un proyecto fallido puede convertirse en una experiencia de aprendizaje y ayudar a convertirse en “un mejor profesional de datos”
- El fracaso de un proyecto de ciencia de datos es una valiosa experiencia de aprendizaje y una oportunidad para acumular “cicatrices de guerra”
- Lamenta no haber aprovechado las oportunidades de automatización mediante procesamiento de lenguaje natural
- También lamenta mucho haber perdido la oportunidad de analizar cerca de 100 mil snippets de noticias
- Siguen apareciendo nuevos news ticker, como los de las elecciones de Estados Unidos de 2024, así que otras personas podrían retomar el proyecto
- Espera que alguien interesado continúe el proyecto, y está listo para compartir todos los datos
“¡Sal y construye algo!”
1 comentarios
Opiniones de Hacker News
Más que llamar a este proyecto un fracaso, lo vería como algo que se intentó por curiosidad y luego se abandonó. Solo con publicar una entrada en el blog y aparecer en HN ya me parece un éxito
El web scraping sigue siendo una parte difícil, y muchos sitios hacen esfuerzos para impedirlo
Había un proceso manual de visitar el sitio web de Tagesschau todos los días para recopilar enlaces. Eso no era un plan adecuado
Hice un proyecto de ciencia de datos sobre COVID como hobby, pero perdí el interés después de 6 meses. El scraper sigue corriendo en la nube
En lugar de hacerlo manualmente, debería haber automatizado usando un feed RSS
Es importante recibir retroalimentación desde el inicio del proyecto. Eso da una oportunidad para ajustar la dirección del proyecto y recuperar el interés
Me gusta la dinámica de los proyectos que abarcan distintos intereses. Aprovecho lo aprendido en varios proyectos para sacar ideas nuevas
El título puede ser engañoso. Configurar simplemente una tarea para scrapear un feed de noticias se puede hacer en unos días
A mucha gente le cuesta terminar proyectos personales. La ciencia de datos es un trabajo exploratorio para descubrir hallazgos dentro de un conjunto de datos
En el proceso de recopilación de datos, se necesitó trabajo manual por el esquema de URL no estructurado del sitio web de Tagesschau. Se necesita una fuente de datos estable
Los desarrolladores de sitios web no piensan en los scrapers. Si quieres recopilar un conjunto de datos único, conviene pedir a los desarrolladores web que ofrezcan una API pública