- Un projet de data science mené pendant 1 600 jours s’est soldé par un échec à mesure que l’intérêt s’est émoussé
- Pour relever un nouveau défi autour des données textuelles, le projet de « collecte et analyse de données de news ticker » a été lancé
- En mars 2020, le news ticker du site d’actualités public allemand Tagesschau, qui diffusait des informations liées au COVID-19, a été choisi comme source de données
- Au 3e trimestre 2022, à mesure que le COVID-19 perdait en importance, le projet a été étendu au news ticker lié à la guerre Russie-Ukraine
- Analyse réalisée des métapatrons des données (fréquence de publication, etc.) et du sens par thème
- Seule une exploration de données à court terme a été menée, l’analyse de fond est restée inachevée
- Au 3e trimestre 2024, le projet a été arrêté en raison d’une baisse d’intérêt et d’un manque de temps
Collecte des données et conception du système
- De 2020 à 2024, pendant 1 600 jours, les URL des données d’actualité ont été collectées chaque jour et les données brutes téléchargées
- Tagesschau propose chaque jour une liste de courtes actualités, chaque élément comprenant un horodatage, un titre, le texte principal et des éléments multimédias
- Un pipeline de données semi-automatisé, mêlant travail manuel et Python, a été mis en place pour transformer des données non structurées en snippets d’actualité structurés
- Comme l’automatisation de la collecte d’URL était difficile, le choix a été fait de visiter le site chaque jour et de récupérer les liens manuellement, en raison du schéma d’URL non structuré de Tagesschau
- Toutes les 4 à 8 semaines, les pages HTML étaient traitées par lots avec Python puis enregistrées comme données brutes
- Les pages HTML étaient analysées avec BeautifulSoup4 puis stockées dans une base de données SQLite
- Une grande partie du projet a été automatisée, mais le pipeline ETL manuel et l’analyse proprement dite ne l’ont pas été
- L’importance de conserver les données HTML brutes a été soulignée pour faire face aux changements de structure du DOM
Enseignements tirés de l’échec du projet
- Penser au storytelling :
- Concevoir le storytelling dès le début du projet afin de faciliter le partage des résultats
- Obtenir rapidement des résultats :
- Ne pas se contenter d’accumuler des données, mais réaliser rapidement une analyse initiale sur un petit jeu de données
- Publier les résultats pour maintenir la motivation de travail (approche « Show Your Work »)
- Automatisation :
- Automatiser au maximum la collecte des données et le pipeline ETL afin de minimiser les tâches répétitives
- Aujourd’hui, des agents IA basés sur des LLM auraient été utilisés
- Évaluer la fréquence de collecte des données :
- Définir à l’avance le rythme de collecte (par ex. chaque jour vs toutes les 30 secondes)
- Fixer une fréquence de collecte pouvant être automatisée
- Stocker les données brutes :
- Conserver les données brutes pour pouvoir s’adapter plus tard à une logique de parsing modifiée
- Tirer parti du cloud :
- Mettre en place une infrastructure simple et fiable, tout en créant une occasion d’acquérir des compétences pratiques
Conclusion : grandir grâce à l’échec
- Même un projet raté devient une expérience d’apprentissage qui aide à devenir « un meilleur praticien de la donnée »
- L’échec d’un projet de data science est une expérience d’apprentissage précieuse et une occasion d’accumuler des « cicatrices de bataille »
- Le regret principal est de ne pas avoir su exploiter les possibilités d’automatisation offertes par le traitement automatique du langage naturel
- Le fait d’avoir manqué l’occasion d’analyser environ 100 000 snippets d’actualité est également un grand regret
- De nouveaux news tickers continuent d’apparaître, comme autour de l’élection américaine de 2024, et d’autres peuvent donc reprendre le flambeau
- L’auteur espère qu’une personne intéressée poursuivra le projet et se dit prêt à partager toutes les données
« Go out and build something! »
1 commentaires
Avis Hacker News
Plutôt que d’appeler ce projet un échec, je le vois comme une tentative menée par curiosité puis abandonnée. Le simple fait d’avoir publié un billet de blog et d’avoir été présenté sur HN en fait déjà une réussite à mes yeux.
Le web scraping reste une tâche difficile, et de nombreux sites font beaucoup d’efforts pour l’empêcher.
Il y avait un processus manuel consistant à visiter chaque jour le site de Tagesschau pour collecter les liens. Ce n’était pas une bonne approche de départ.
J’ai mené un projet hobby de data science lié au COVID, mais j’ai perdu tout intérêt au bout de six mois. Le scraper continue de tourner dans le cloud.
Il aurait fallu automatiser cela avec un flux RSS au lieu de procéder manuellement.
Il est important d’obtenir des retours dès le début du projet. Cela permet d’ajuster sa direction et offre une occasion de raviver l’intérêt.
J’aime la dynamique des projets qui couvrent des centres d’intérêt variés. Ce que j’apprends d’un projet me sert à faire émerger de nouvelles idées pour les suivants.
Le titre peut induire en erreur. Mettre en place un simple scraping de flux d’actualités peut se faire en quelques jours.
Beaucoup de gens ont du mal à mener leurs projets personnels à terme. La data science est un travail exploratoire qui consiste à découvrir des enseignements à partir d’un jeu de données.
Lors de la collecte des données, le schéma d’URL non structuré du site de Tagesschau a nécessité du travail manuel. Il faut une source de données fiable.
Les développeurs de sites web ne pensent pas aux scrapers. Pour collecter un jeu de données unique, mieux vaut demander aux développeurs web de fournir une API publique.