Passer au contenu

Créer des systèmes intelligents de récupération de données avec l'IA

Le Web est devenu l’une des sources de données les plus riches pour les entreprises et les chercheurs. Mais les approches traditionnelles de web scraping ont du mal à suivre le rythme à mesure que les sites deviennent plus complexes. C’est là que l’intelligence artificielle peut transformer les capacités. En entraînant des modèles d'apprentissage automatique sur des ensembles de données personnalisés, nous pouvons automatiser l'automatisation en créant des agents de scraping intelligents qui comprennent les structures des sites Web, extraient des informations et imitent le comportement humain.

Dans ce guide complet, nous partagerons des techniques éprouvées pour développer des web scrapers basés sur l'IA. Nous fournirons des conseils prescriptifs sur la structuration des données de formation, l'architecture de pipelines évolutifs, le choix des bons outils et cadres, ainsi que les meilleures pratiques de gouvernance, avec des exemples concrets tout au long.

La complexité croissante du Web Scraping

Le volume de données précieuses en ligne explose. Il existe désormais 1.95 milliard de sites Web couvrant des centaines de domaines tels que l'actualité, le commerce électronique, la finance, l'immobilier, la recherche et bien plus encore. Malheureusement, extraire et structurer ces données via le web scraping traditionnel est devenu de plus en plus difficile :

  • Contenu dynamique : JavaScript et les API restituent désormais dynamiquement 85 % du contenu Web. Les scrapers doivent exécuter du code pour analyser complètement les pages.

  • Personnalisation: Les sites personnalisent le contenu pour les utilisateurs en fonction de la géolocalisation, des cookies, du comportement passé, etc. Les grattoirs doivent imiter les utilisateurs.

  • Des parcours en plusieurs étapes : Les données clés sont souvent enfouies dans des parcours complexes avec des formulaires, des clics, etc. Cela nécessite l'automatisation du navigateur.

  • Mesures anti-grattage : Tactiques courantes telles que la détection de robots, la limitation et le blocage des grattoirs de contrainte. Les stratégies d’évasion sont essentielles.

  • Vitesse de changement plus rapide : Les sites changent rapidement, cassant les grattoirs. Un entretien fréquent du grattoir est nécessaire.

À mesure que la complexité augmente, les sélections de base regex, XPath et CSS deviennent inadéquates. Les entreprises gaspillent d’énormes ressources en codant manuellement des grattoirs fragiles. Cela pousse les équipes data vers des approches plus intelligentes.

L’essor du Web Scraping piloté par l’IA

L'intelligence artificielle – en particulier l'apprentissage profond – fournit des techniques plus avancées pour automatiser le web scraping :

  • Vision par ordinateur (CV) les algorithmes peuvent analyser visuellement les structures et le contenu des pages comme les humains.

  • Traitement du langage naturel (NLP) peut interpréter un texte non structuré de manière efficace et dans son contexte.

  • Apprentissage par renforcement (RL) les agents peuvent imiter les parcours des utilisateurs sur les sites en effectuant des actions observées.

  • Réseaux génératifs créez des empreintes digitales aléatoires, semblables à celles des humains, pour éviter la détection de robots.

Lorsqu’ils sont combinés dans un pipeline de scraping intégré, ces modèles d’IA permettent une extraction et une transformation de données plus évolutives et plus pratiques. Les grandes entreprises utilisent désormais l’IA pour créer des agents de scraping auto-apprenants qui surpassent de loin les solutions traditionnelles.

Par exemple, les outils commerciaux de Meta extraient quotidiennement des millions d'attributs de produits sur des milliers de marques pour alimenter les boutiques Facebook en utilisant la vision par ordinateur. Pendant ce temps, Expedia a développé des agents Deep Scraping utilisant RL pour interagir de manière autonome avec les sites de réservation d'hôtels et récupérer la disponibilité des chambres.

Explorons maintenant des techniques éprouvées pour développer vos propres solutions de scraping intelligentes avec l'IA…

Structuration des données de formation pour les modèles d'IA

Comme pour toute application d’apprentissage automatique, des données de formation de qualité constituent la base du web scraping par l’IA. Les modèles ne peuvent être aussi bons que les exemples dont ils tirent des leçons.

La formation des données pour les scrapers implique généralement trois étapes :

1. Exploration du site – Tirez parti d’un robot d’exploration intelligent ou d’un cadre d’automatisation comme Scrapy pour créer un échantillon diversifié de pages à partir de sites cibles.

2 – Étiquetage manuel – Demandez à des annotateurs humains d’étiqueter les champs clés nécessaires sur chaque page – titres des produits, prix, notes, etc.

3. Nettoyage des données – Nettoyez les données étiquetées en dédupant, en corrigeant les formats et en les augmentant pour améliorer la couverture du modèle.

Idéalement, les pages devraient capturer toute la diversité du contenu que vous souhaitez extraire – à travers les catégories, les modèles, les cas extrêmes, etc. Incluez également un ensemble d'exemples négatifs qui ne contiennent pas les données permettant aux modèles de mieux distinguer le signal du bruit.

Par exemple, pour former un scraper pour les sites de commerce électronique, nous rassemblerions environ 1000 XNUMX pages de produits dans toutes les catégories et fournisseurs. Les annotateurs humains marqueraient les titres, les prix, les images, les notes, les SKU et d'autres attributs. Nous déduirons ensuite des exemples similaires, standardiserons les formats tels que la devise et les adresses, et élargirons l'ensemble de données en recadrant/rotant des images.

Un volume et une diversité suffisants sont essentiels – pour tous les produits, fournisseurs, saisons, etc. Une étude de Google a montré que les modèles de vision par ordinateur pour la vente au détail présentaient des taux d'erreur 95 % inférieurs avec 10 1 exemples de formation plutôt qu'avec 82 94. Pour la correspondance des produits, Facebook a amélioré la précision de 10 % à XNUMX % après une multiplication par XNUMX des données d'entraînement.

Dans l’ensemble, les modèles modernes d’apprentissage profond prospèrent sur des ensembles de données vastes et riches. En règle générale, visez plus de 1,000 XNUMX exemples par attribut que vous souhaitez extraire, idéalement sur divers sites et cas d'utilisation. Cela constitue une base solide pour des solutions de qualité production.

Modèles de formation pour extraire des données

Une fois que nous disposons d'un ensemble de données étiqueté, l'étape suivante consiste à former des modèles d'apprentissage automatique adaptés à nos tâches d'extraction spécifiques.

Pour structurer des pages Web, vision par ordinateur a tendance à donner de meilleurs résultats. Des modèles tels que les réseaux de neurones convolutifs (CNN) peuvent analyser visuellement la page rendue, en segmentant et en classant différents éléments tels que des photos de produits, des descriptions, des avis, etc.

Par exemple, voici un exemple de page produit avec des champs balisés par un modèle CNN :

[image]

Le modèle apprend les modèles visuels implicites de l'endroit où les magasins placent les titres, les prix, les images, etc. Il peut généraliser à travers les catégories et les fournisseurs en fonction des similitudes de présentation. Avec suffisamment de données de formation englobant divers sites et modèles, les modèles de CV atteignent une grande précision en extrayant de manière autonome des éléments de page arbitraires.

Cependant, certaines tâches nécessitent de percevoir la sémantique du texte au-delà des repères visuels. Traitement du langage naturel Les modèles (PNL) comme BERT sont idéaux pour digérer des descriptions de produits désordonnées, marquer des mots-clés ou analyser des avis.

Par exemple, ce modèle NLP extrait les attributs du produit du texte grâce à la reconnaissance d'entités nommées :

[image]

Pendant ce temps, apprentissage par renforcement les agents peuvent automatiser des processus en plusieurs étapes tels que les recherches, les filtres et les formulaires. L'agent explore au hasard les actions possibles telles que les clics, les remplissages, les survols, etc. et reçoit des récompenses pour des résultats tels que la soumission réussie d'une réservation. Cela permet à l’agent de naviguer efficacement dans les parcours.

Une fois formés, nous pouvons combiner ces modèles en un ensemble qui analyse les pages, extrait les entités et navigue comme le feraient les humains. Par exemple, un modèle de vision par ordinateur peut identifier le champ de recherche et le bouton d'envoi sur un site de vente au détail, permettant à l'agent d'effectuer automatiquement des recherches.

Il existe également des techniques puissantes comme transférer l'apprentissage qui affinent les modèles existants sur de nouveaux domaines, évitant ainsi une formation coûteuse à partir de zéro. Par exemple, de grands modèles de vision pré-entraînés peuvent rapidement apprendre à extraire des champs de sites immobiliers ou de recrutement.

Dans l’ensemble, avec suffisamment de données étiquetées et de réglage du modèle, nous pouvons automatiser un large éventail de tâches de scraping. Mais pour passer à la production, nous avons besoin de pipelines robustes…

Architecture de pipelines de scraping d'IA de bout en bout

Pour rendre opérationnel le scraping de l’IA, nous devons créer des pipelines de niveau production couvrant l’ingestion, l’amélioration et le stockage des données extraites. Les éléments clés comprennent :

Robots d'exploration intelligents – Explorez les sites cibles et alimentez les pages vers des modèles ML. Des outils comme Scrapy, Puppeteer ou des robots d'exploration commerciaux sont utiles ici.

Nettoyage de données – Prétraiter les pages avant ML – dédupliquer, corriger le formatage, extraire le texte/les images bruts.

Intégration du modèle – Service de modèles hautes performances, souvent via des microservices ou des fonctions sans serveur.

Post-traitement des résultats – Rejoignez les champs extraits sur plusieurs pages, résolvez les doublons/conflits, normalisez les formats.

Stockage et observabilité – Bases de données structurées comme Postgres pour stocker des données nettoyées combinées à la journalisation et à la surveillance.

Boucles de rétroaction continues – Acheminez les exemples de pages vers la boucle d’entraînement du modèle pour effectuer un recyclage sur de nouvelles données.

Il existe également des considérations architecturales importantes autour de :

  • Inférence de modèle à mise à l'échelle horizontale pour gérer la charge
  • Routage à faible latence des pages vers les services d'extraction
  • Gestion des extractions ayant échoué via une logique de repli/examen humain
  • Sécuriser l’accès API aux données et assurer la transparence

De nombreuses plates-formes cloud comme AWS, GCP et Azure fournissent une orchestration gérée pour les pipelines ML de production. Mais les alternatives open source sont également robustes une fois configurées – par exemple, en combinant Kubernetes, Kafka, Airflow, dbt et Metabase.

En fin de compte, la pile dépend de votre échelle et de votre environnement. Mais la clé est de créer un pipeline évolutif, observable et itératif, permettant une amélioration continue du scraping grâce à l’IA.

Exemples concrets de scraping amélioré par l'IA

Les grandes entreprises utilisent désormais des techniques d’IA pour atteindre une échelle, une précision et une automatisation sans précédent dans l’extraction de données Web. Par exemple:

Expedia a développé des scrapers IA qui imitent la navigation humaine sur les sites d'hôtels et de vols. Les modèles remplissent des formulaires, sélectionnent des dates/salles, soumettent des recherches et bien plus encore pour naviguer de manière autonome dans leurs voyages – bien au-delà du scraping de page statique.

Amazon utilise des algorithmes de vision par ordinateur pour extraire des produits de sites Web. Cela alimente les pages Product Graph et Marketplace Alternative où Amazon suggère des articles identiques/de remplacement trouvés à des prix inférieurs ailleurs.

Meta exploite l'IA pour les outils de commerce pour ingérer en permanence les données produits de milliers de marques et de flux. Cela permet des catalogues de produits dynamiques dans les magasins Facebook et Instagram.

Airbnb utilise le ML pour extraire les points d'intérêt des sites Web des villes : musées, monuments, restaurants, etc. Cela aide Airbnb à générer automatiquement des guides locaux sur les villes adaptés aux intérêts des utilisateurs.

Moyeu de grattage fournit des modèles d'IA prêts à l'emploi via Portia pour simplifier l'extraction sur le terrain pour les utilisateurs non techniques. Les utilisateurs étiquetent simplement quelques exemples et Portia forme des modèles personnalisés.

Ceux-ci démontrent comment l’IA peut automatiser des tâches complexes de web scraping qui sont impossibles à réaliser manuellement sur la longue traîne des sites. Explorons ensuite les outils pour commencer à créer vos propres solutions.

Boîtes à outils pour développer des grattoirs Web IA

Compte tenu des progrès rapides de l’IA, de puissantes boîtes à outils sont disponibles gratuitement pour des tâches courantes telles que la vision par ordinateur, la PNL et l’apprentissage automatique général :

OpenCV fournit des algorithmes pour le traitement d'images, la détection de fonctionnalités et les réseaux de neurones convolutifs – idéaux pour analyser les mises en page visuelles.

SpaCy fournit des modèles NLP de qualité production pour l'analyse de texte, le NER, la classification des sentiments, etc. afin de digérer le contenu non structuré.

Transformateurs HuggingFace propose des modèles PNL pré-entraînés de pointe comme BERT, affinables sur des tâches d'extraction de texte spécifiques.

TensorFlow ainsi que PyTorch sont des cadres d'apprentissage profond de premier plan qui fournissent les éléments de base pour la conception de réseaux neuronaux.

Scikit-Apprendre permet un apprentissage automatique général comme les forêts aléatoires et les SVM pour les approches non neuronales.

Marionnettiste, Dramaturge ainsi que Sélénium automatiser les tests du navigateur et peut s'intégrer au ML pour des interactions plus intelligentes.

Il existe également des services gérés comme IA de Google Cloud, Services cognitifs Azureet une AWS Sage Maker qui simplifient la création, la formation et le déploiement de modèles à grande échelle dans le cloud.

Pour l'orchestration globale du pipeline, Kubeflow, MLflow ainsi que Métaflux aider à produire des flux en tirant parti des bibliothèques ci-dessus.

Grâce à ces outils, plates-formes et frameworks, les équipes de données peuvent développer rapidement des solutions basées sur l'IA adaptées à leurs besoins d'extraction de données Web. Mais nous avons encore besoin des meilleures pratiques pour faire fonctionner les scrapers de manière fiable…

Gouverner le scraping de l’IA pour une amélioration continue

Comme tout système logiciel de production, nous devons gérer activement les modèles d’IA pour maintenir les performances attendues à mesure que les sites Web évoluent. Les domaines clés comprennent :

Surveillance de la dérive des données

Mesurez en continu la précision de l’extraction sur les pages en direct. S'il diminue de manière significative pour un site ou un type de page, ces échantillons devraient déclencher une reconversion.

Gestion des versions du modèle

Versionnez les modèles et conservez les anciennes variantes à portée de main. Si les nouvelles versions régressent en production, revenez au dernier bon modèle connu.

Priorisation de la dette technique

Enregistrez les anomalies, les échecs ou les domaines nécessitant une amélioration. Accorder la priorité au traitement des dettes à fort impact grâce à l’augmentation des données, à l’ajustement des modèles, etc.

Déploiements Canaries

Testez d’abord les modifications du modèle sur un sous-ensemble du trafic. Ne favorisez le déploiement complet que lorsque les mesures prouvent des améliorations par rapport à l'ancienne version.

Test A / B

Essayez de nouveaux modèles côte à côte avec les anciens et laissez les mesures en ligne déterminer le gagnant. Cela permet d’introduire en toute sécurité des modifications de modèle.

Grâce à des MLOps et DevOps robustes, nous pouvons maintenir les scrapers IA d'une précision maximale tout au long des modifications du site Web.

L’avenir radieux de l’extraction de données améliorée par l’IA

L'apprentissage automatique avancé a ouvert de nouvelles possibilités d'extraction de données structurées à partir de la richesse des informations du Web. Les tâches qui nécessitaient autrefois d'énormes efforts manuels peuvent désormais être automatisées intelligemment pour divers cas d'utilisation.

À mesure que les modèles continuent de s'améliorer, nous pouvons nous attendre à des solutions « sans code » permettant aux utilisateurs non techniques de former visuellement des scrapers spécifiques à leurs sites et à leurs besoins en données. Tester de nouvelles pages par rapport à des modèles pour détecter les changements et ajuster les grattoirs gagnera également du terrain.

Mais ces possibilités s’accompagnent de responsabilités en matière de transparence, d’éthique et d’action pour le bien commun. L'ouverture du Web a favorisé une vaste innovation. Avec l'IA, nous devons faire avancer cette tradition de manière réfléchie.

Approché avec soin et de manière collaborative, l’apprentissage automatique promet de révolutionner la manière dont les entreprises, les universitaires et les gouvernements exploitent le Web comme moteur d’informations et de progrès pour tous.

Mots clés:

Prendre part à la conversation

Votre adresse email n'apparaitra pas. Les champs obligatoires sont marqués *