La data SEO : du rêve à la réalité !

En vue d'obtenir l'outil rêvé au départ, qui marche en appuyant sur un seul et unique bouton, plusieurs mois de "test and learn" ont été nécessaires... avant d'obtenir un outil performant qui fonctionne.

Tout SEO qui se respecte doit s’entourer d’un maximum d'outils dans la limite de ses moyens, pour être précis et efficace dans ces analyses et recommandations. Pour Search Foresight, agence cofondée par deux référenceurs passionnés, il était primordial de s'armer d’outils du marché entre autres français. Néanmoins, ces outils ne couvrent qu'une partie de nos besoins. Il nous a paru opportun et nécessaire de mettre en place un pôle d'innovation dans le but de développer nos propres outils. Dans cet article, nous partageons avec vous, le retour d'expérience de nos data scientists, dans cette aventure passionnante qu'est la création d'outils estampillés Search Foresight.

Avant d’obtenir l’outil ultime, qui fonctionne en appuyant sur un seul et unique bouton (notre rêve de départ), plusieurs mois de “test and learn” ont été nécessaires, avant d’obtenir un outil performant (la réalité). Après ces mois de travail, difficile de croire tous ces bonimenteurs affirmant que leurs activités sont pilotées par une intelligence artificielle capable d'identifier, de manière précise, les actions à mener.

Aujourd’hui, il est devenu quasiment impossible de discuter d’un sujet orienté “data” sans immédiatement devoir citer la thématique d’intelligence artificielle ou IA (initiales renvoyant aux stéréotypes d’un outil ultra puissant à la limite du contrôle façon Terminator). 

Alors que la réalité est tout autre. 

L’IA est aujourd’hui très performante pour effectuer des tâches bien spécifiques pour lesquelles elle a été conçue (ex : reconnaissance faciale, traduction d’un langage à un autre, jouer à StarCraft, prédire vos futurs achats, etc). Nous devrions d’ailleurs parler plus de machine learning car c’est le processus le plus utilisé au quotidien.

Qu’est-ce-que le machine learning ? 

Le machine learning est un processus d’apprentissage d’un algorithme pour effectuer une tâche prédéfinie, sans l’avoir explicitement codé. Nous l’avons tous déjà fait au lycée lors de nos premières régressions linéaires. Nous avions un algorithme y = a*x + b et nous devions trouver les coefficient “a” et “b” en se référant à des combinaisons de points, notre data, afin de trouver “y”, notre tâche spécifique.

Comme vous pouvez l’imaginer, la data adéquate est nécessaire afin de trouver / apprendre nos coefficients. Dans cet exemple, nous en avions deux à calculer. Or, entraîner un algorithme n’est pas offert à tout le monde.

BERT (algorithme de Google lancé en octobre dernier) en possède 340 millions. Également, à titre de comparaison, BERT a requis pour son entraînement l’utilisation de deux corpus représentant respectivement 800 millions et 2,5 milliards de mots sur 64 TPUs (Tensor Processing Units: processeurs spécialement conçus pour l'entraînement de réseaux de neurones) pendant 4 jours. De plus, ce modèle est lourd à utiliser (gourmand en ressources) ce qui ne le rend pas déployable sur n’importe quel type d’infrastructure.

© Source

La donnée est donc un élément capital dans tout projet data, afin d’entraîner des modèles de machine learning, mais pas seulement. De nombreux insights clés se découvrent tout d’abord dans la donnée en elle-même, en l’analysant sous différents angles, avec de multiples outils de visualisations et des statistiques exploratoires. Cela demande de mettre en place de nombreuses structures techniques, nécessaires à sa correcte récupération, son stockage et sa qualification, dans un volume suffisant nous permettant d’obtenir une vision globale d’une problématique choisie:

  • Pour la récupération nous utilisons des machines virtuelles développées sous formes de conteneurs dédiées à l’extraction des données via des API ou des crawls.
  • De même pour la qualification : les conteneurs exploitent la puissance de calculs de notre infrastructure : l’enjeu pour nous étant d'attribuer pour chaque processus le nombre optimum de CPU et de mémoire afin de trouver le meilleur compromis entre le temps d'exécution et les coûts.
  • Pour le stockage des données nous exploitons plusieurs types de support parmi lesquels des bases de données spécialisées dans le stockage de grands volumes de données comme big query ou des base de données orientées document comme firestore.

De manière simple, notre plus grand challenge est d’obtenir la data adéquate avec une qualité minimale permettant son utilisation.

Sélectionner, obtenir et traiter cette donnée est la partie clé de la majorité des projets data et dans de nombreux cas, est suffisante en soi. 

Comment on gère la data chez Search Foresight

Pour ce faire, et de manière plus concrète, nous avons mis en place plusieurs scripts, hébergés sur des serveurs, afin de récolter autant de données que possible concernant la page de résultats qui remontent sur des champs sémantiques spécifiques sur Google (serp, volume de recherche, suggest, paa, etc). Combinés à l’utilisation d’APIs disponibles sur le marché, il nous est possible d’obtenir très rapidement une vision de l'environnement sémantique propre à chaque domaine.

Nous avons également développé des outils spécifiques pour répondre à certaines problématiques clients. Ces derniers s’articulent toujours de la manière suivante :

  1. Définition claire et précise du besoin,
  2. Récupération de tous les anciens travaux effectués se rapprochant de la nouvelle demande client,
  3. Elaboration d’un POC (Proof of Concept) conjointement entre les consultants et l’équipe data aboutissant à la validation ou non du projet,
  4. Création de l’outil à proprement parler, avec toutes les caractéristiques adéquates et les validations manuelles nécessaires à faire par les consultants afin de maîtriser et vérifier la qualité des résultats,
  5. Match entre les consultants réalisant leurs études à l’ancienne et le consultant aidé  des algorithmes de machine learning (et non terminator directement :)) pour identifier qui des deux, réalise le meilleur travail.

De manière générale, nos plus grosses contraintes proviennent de la donnée à récupérer. Nous travaillons principalement sur la sémantique, donc sur le texte présent au sein des sites. Cependant lors de son extraction, nous obtenons en premier lieu l’intégralité de leur code html, qui nécessite d’être fortement raffiné avant d’être utilisable. Ce raffinage n’est jamais évident car, même si certains éléments sont retirés de manière automatique (footer, header, etc), la majeure partie du nettoyage se fait au travers de scripts conçus avec l'expérience acquise au cours des projets (choix des meilleurs éléments à garder au sein du code html, génération des meilleurs ngrams, nettoyage du texte).

Cette création de donnée propre est l’étape fondatrice de tous nos processus data. Demeurant en constante évolution, elle reste vérifiée par nos consultants et mise à jour si besoin. Il s’agit d’un travail de concert entre les hommes et la machine.

De plus, certains de nos algorithmes de machine learning sont entièrement construits sur de la donnée textuelle et donc très sensibles à sa qualité. Dans ces cas, il est encore plus crucial que les résultats soient vérifiés en partie par nos équipes.

Il est certain que rien n’est automatique et l’atteinte d’un résultat aussi pertinent que l’humain est un long chemin à parcourir. Néanmoins, notre objectif n’est pas de le remplacer mais de faciliter son travail de traitement de la donnée pour se concentrer sur le plus important, l’atteinte des objectifs de nos clients