7 puntos por GN⁺ 2024-12-11 | 1 comentarios | Compartir por WhatsApp
  • 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

  1. 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
  2. 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”)
  3. 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
  4. 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
  5. Guardar los datos en bruto:
    • Guardar los datos en bruto permite responder a futuros cambios en la lógica de parsing
  6. 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

 
GN⁺ 2024-12-11
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

    • Si hubiera completado el proyecto, habría publicado un conjunto de datos que podría usarse en varios análisis con Python
    • También podría publicar el conjunto de datos en bruto y considerarlo un éxito
    • Con los avances de los LLMs, ahora consideraría modelos base presentados como agentes de IA
  • 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