- 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
- Considerar o storytelling:
- Desde o início do projeto, pensar no storytelling e desenhar tudo para que os resultados possam ser compartilhados com facilidade
- 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”)
- 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
- 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
- Armazenar dados brutos:
- Armazenar os dados brutos para possibilitar resposta futura a mudanças na lógica de parsing
- 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
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
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