7 pontos por GN⁺ 2024-12-11 | 1 comentários | Compartilhar no WhatsApp
  • Um projeto de ciência de dados conduzido por 1.600 dias terminou em fracasso à medida que o interesse se perdeu
  • Para tentar um novo desafio lidando com dados de texto, foi realizado um projeto de "coleta e análise de dados de ticker de notícias"
    • Em março de 2020, o ticker de notícias da Tagesschau, site público de notícias da Alemanha que fornecia notícias relacionadas à COVID-19, foi escolhido como fonte de dados
    • No 3º trimestre de 2022, à medida que a COVID-19 perdeu importância, o projeto foi expandido para incluir tickers de notícias sobre a guerra entre Ucrânia e Rússia
    • Foram realizadas análises de metapadrões dos dados (como frequência de publicação) e análises semânticas por tema
  • Apenas exploração de dados de curto prazo foi realizada, e a análise substantiva ficou inacabada
  • No 3º trimestre de 2024, o projeto foi interrompido por queda de interesse e falta de tempo

Coleta de dados e desenho do sistema

  • De 2020 a 2024, durante 1.600 dias, URLs de dados de notícias foram coletadas diariamente e os dados brutos foram baixados
    • A Tagesschau publica diariamente uma lista de notícias curtas, e cada item inclui timestamp, manchete, texto principal e elementos multimídia
  • Foi construído um pipeline de dados semiautomatizado, com trabalho manual e baseado em Python, para transformar dados não estruturados em snippets de notícias estruturados
    • Como era difícil automatizar a coleta de URLs, optou-se por visitar o site todos os dias e coletar manualmente os links. Isso ocorreu por causa do esquema de URLs não estruturado da Tagesschau
    • A cada 4 a 8 semanas, páginas HTML eram processadas em lote com Python e salvas como dados brutos
    • O HTML foi analisado com BeautifulSoup4 e armazenado em um banco de dados SQLite
    • Grande parte do projeto foi automatizada, mas o pipeline manual de ETL e a análise em si não foram automatizados
    • Foi enfatizada a preservação dos dados HTML brutos para se preparar para mudanças na estrutura do DOM

Lições do fracasso do projeto

  1. Considerar o storytelling:
    • Desde o início do projeto, pensar no storytelling e desenhar tudo para que os resultados possam ser compartilhados com facilidade
  2. Gerar resultados rapidamente:
    • Em vez de apenas coletar dados, realizar uma análise inicial rápida com um pequeno conjunto de dados
    • Publicar os resultados e manter a motivação do trabalho (usando a abordagem “Show Your Work”)
  3. Automação:
    • Automatizar ao máximo a coleta de dados e o pipeline de ETL para minimizar trabalho repetitivo
    • Hoje, ele teria usado agentes de IA baseados em LLM
  4. Avaliar a frequência de coleta de dados:
    • Definir antecipadamente o ciclo de coleta (ex.: diariamente vs. a cada 30 segundos)
    • Estabelecer uma frequência de coleta de dados que possa ser automatizada
  5. Armazenar dados brutos:
    • Armazenar os dados brutos para possibilitar resposta futura a mudanças na lógica de parsing
  6. Uso da nuvem:
    • Construir uma infraestrutura simples e confiável e criar uma oportunidade para aprender tecnologias usadas na prática

Conclusão: crescimento por meio do fracasso

  • Mesmo um projeto fracassado pode se tornar uma experiência de aprendizado e ajudar alguém a se tornar um "profissional de dados melhor"
  • O fracasso em projetos de ciência de dados é uma valiosa experiência de aprendizado e uma oportunidade para acumular “cicatrizes de batalha”
  • É lamentável não ter aproveitado oportunidades de automação por meio de processamento de linguagem natural
  • Também é uma grande pena ter perdido a oportunidade de analisar cerca de 100 mil snippets de notícias
  • Novos tickers de notícias, como os da eleição dos EUA de 2024, continuam surgindo, então outras pessoas podem dar continuidade ao trabalho
    • Espera-se que alguém interessado continue o projeto, e todos os dados estão prontos para serem compartilhados

“Go out and build something!”

1 comentários

 
GN⁺ 2024-12-11
Comentários do Hacker News
  • Em vez de chamar este projeto de fracasso, vejo mais como algo tentado por curiosidade e depois interrompido. Só de publicar no blog e ser apresentado no HN, já considero um sucesso

    • Se o projeto tivesse sido concluído, provavelmente teria sido publicado um dataset usando Python para várias análises
    • Também é possível publicar o dataset bruto e considerar isso um sucesso
    • Com o avanço dos LLMs, agora eu consideraria modelos base empacotados como agentes de IA
  • Web scraping continua sendo uma parte difícil, e muitos sites se esforçam para impedir scraping

  • Houve um processo manual de visitar o site da Tagesschau todos os dias para coletar links. Isso não era adequado como plano de execução

  • Fiz um projeto de hobby de ciência de dados relacionado à COVID, mas perdi o interesse depois de 6 meses. O scraper continua rodando na nuvem

  • Em vez de trabalho manual, deveria ter usado feed RSS para automatizar

  • É importante receber feedback desde o início do projeto. Isso oferece uma oportunidade de ajustar a direção do projeto e reacender o interesse

  • Gosto da dinâmica de projetos que abrangem vários interesses. Aproveito o que aprendi em diferentes projetos para obter novas ideias

  • O título pode induzir ao erro. Configurar algo que simplesmente faz scraping de um feed de notícias pode ser feito em poucos dias

  • Muitas pessoas têm dificuldade para concluir projetos pessoais. Ciência de dados é um trabalho exploratório de descobrir insights em datasets

  • No processo de coleta de dados, foi necessário trabalho manual por causa do esquema de URL não estruturado do site da Tagesschau. É necessária uma fonte de dados estável

  • Desenvolvedores de sites não levam scrapers em consideração. Para coletar um dataset único, é melhor pedir aos desenvolvedores web que forneçam uma API pública