Aller au contenu principal

L’IA pour faciliter la migration de données

Veille et inspiration

Article de Maxime Nadeau, associé iX

Comment on réduit les coûts et automatise les migrations de données avec l'IA.

Dans cet article, on présente comment on peut utiliser l'IA pour réduire significativement les coûts de migration des contenus d'une plateforme. Ce problème très concret fait partie des irritants et parfois des défis des refontes de plateforme ou de site web.

Les coûts ou l'effort nécessaire pour transférer les données d'une solution à une autre sont parmi les plus grands freins à la modernisation des systèmes numériques. Trop souvent, la solution existante et la solution de destination ne partagent aucun standard qui faciliterait ce déplacement de données. Par exemple, pensez au transfert d'articles de blogue vers un nouveau système de gestion de contenu (auquel on réfère souvent par l’acronyme SGC ou CMS pour content management system). Généralement, ce contenu est enregistré sous forme de longs textes HTML, contenant des balises et des instructions qui peuvent être pertinentes dans la plateforme actuelle, mais qui pourraient poser problème dans la nouvelle. Pour passer d’un environnement à l’autre, on a généralement l’option de créer un script d’importation ou de prévoir de longues journées de copier-coller! Une tâche sans grande valeur ajoutée, mais qui est parfois plus économique que de passer beaucoup de temps à peaufiner un script d’importation nickel.

La validation des données représente également un défi de taille : souvent, les organisations migrent d'une plateforme à une autre parce que leur logique commerciale a évolué et que la solution précédente ne répond plus à leurs exigences actuelles. Même les données structurées peuvent devenir inadaptées dans le nouveau système. Prenons l'exemple d'un champ de formulaire destiné à recueillir un numéro de téléphone : dans l'ancien système, l’utilisateur pouvait inscrire son numéro et ajouter «poste 222» ou «ext. 222» dans ce même champ. Dans la nouvelle plateforme, on voudra peut-être que ces informations soient saisies dans des champs distincts. Ce simple changement demandera de «nettoyer» les données existantes pour assurer leur conformité.

Vous vous dites qu’avec tout le progrès que nous avons fait dans les dernières années, ça ne devrait pas être si compliqué? On s’est dit la même chose en tournant notre regard vers l’intelligence artificielle! Eh oui, encore elle! Et alerte au divulgâcheur: ça fonctionne!

Si vous êtes curieuse ou curieux de connaître notre méthode, voici nos solutions pour réduire la friction dans les étapes de migration de contenus et de données.

Comment nettoie-t-on les données avec l'IA?

L'IA est un outil extrêmement utile lorsque l'on a besoin d'une fonction qui «raisonne». Dans le domaine de la programmation, il faut expliquer exhaustivement à l'ordinateur les instructions à suivre. Prenons l'exemple du numéro de téléphone : un développeur devrait envisager tous les cas de figure possibles existants pour écrire un numéro de téléphone, ce qui n'est pas une mince tâche. En effet, lorsqu’on leur laisse le champ libre pour saisir leur numéro de téléphone, certaines personnes utilisent des parenthèses, d’autres ajoutent des espaces, des points, des emojis, voire une photo de chat (bon, peut-être pas pour ce dernier exemple!).

En utilisant un modèle de langage (LLM) tel que ChatGPT, on peut définir des instructions plus floues, sans avoir à détailler tous les cas d’exemptions possibles et inimaginables. En bref, c'est comme un langage de programmation, mais vraiment très permissif !

Par exemple, on peut lui donner l'instruction suivante :

Tu es un assistant qui permet de standardiser les numéros de téléphone. Pour chaque numéro de téléphone donné, j'aimerais que tu l’uniformises comme ceci:  

1 444 555 6666

et que tu retires toute mention de poste ou d'extension.

C'est une technique que l'on appelle le few-shot learning — avec très peu d'exemples, le modèle permet de comprendre notre objectif et exécute en chaîne les instructions. Pas besoin de lui expliquer en détail tous les cas de figure :

Le même principe peut être appliqué avec davantage de conditions ou d'instructions pour des tâches plus complexes, comme par exemple nettoyer un article de blogue.

Comment valide-t-on les données?

ChatGPT, c'est comme une personne : parfois, il peut se tromper. Si on lui demande de traiter une grande quantité de données, il faut s’attendre à des erreurs d'interprétation. Il est aussi possible que les données ne soient même pas valides à la base. Comme dans cet exemple où il manque un numéro. ChatGPT retourne tout simplement le numéro comme s'il était valide.

C’est là que la programmation redevient utile (Haha ! Tu ne voleras pas tout notre travail, OpenAI !).
Plutôt que de taper nos instructions dans la boîte de conversation de ChatGPT ou d’un autre LLM, on utilise l'API d'OpenAI pour envoyer et traiter les données de manière brute et plus directement.

On envoie des blocs de données avec les instructions et chaque résultat est inspecté selon notre logique de validation programmatique. Il existe plusieurs bibliothèques de validation que l’on peut utiliser et personnaliser pour atteindre nos objectifs sans avoir à partir de zéro (par exemple: Pydantic ou Zod). À cette étape, c’est beaucoup plus facile, car on s’attend à obtenir 11 chiffres séparés par des espaces dans un schéma défini. Donc, tout ce qui ne rentre pas dans ces paramètres est automatiquement identifié et mis de côté de la base de données à migrer. C’est au tour de l’humain de passer à l’action et de traiter manuellement ces cas d’exceptions.

Comment automatiser le processus?

Pour automatiser le processus, on doit tout d’abord créer un script qui récupère les données et les envoie à ChatGPT via l’API. Le retour est ensuite traité par un valideur avant d'être ajouté à la base de données finale. 
Devant chaque nouveau projet de migration, on doit considérer sa complexité et la quantité du contenu à déplacer et à normaliser pour évaluer ce qui est le plus rentable. On doit se poser les questions suivantes:

  • Automatiser le processus prend-il plus de temps que de procéder à la migration manuellement ?
  • Le nouveau système peut-il simplement prendre les données exactement dans le même format ?

Si la réponse à la dernière question est oui, l'automatisation de ce processus devient secondaire.

Anonymiser les données

Il est important de ne pas envoyer les données privées d'une organisation ou de clients à un LLM qui ne nous appartient pas. Heureusement, il existe quelques solutions pour l’éviter.

La première est d'héberger temporairement un LLM open source sur une infrastructure privée. Par exemple, dans bien des cas il suffira d’installer les versions simplifiées de Mistral ou bien LLaMA-3 pour pallier le problème de gestion des données sensibles. Ces solutions demeurent assez sophistiquées pour répondre aux besoins de manière efficace. Il suffira d’héberger le modèle choisi sur un ordinateur performant ou de l’héberger sur un service externe, au Canada, pendant quelques heures. Une fois le traitement des données complété, on coupe le service et on paye seulement pour le temps et les ressources utilisées.

L'autre solution pour anonymiser les données consiste à utiliser des fragments ou des techniques d'obfuscation. Cela signifie que jamais le contexte complet d'une fiche ou d'une entrée de base de données ne sera envoyé qu'à un seul outil. Cela peut être une solution à envisager lorsque les exigences en termes de sécurité sont moins importantes.

Disons que lorsque le projet inclut une partie plus sensible, confier la tâche à des professionnels (comme nous!) peut vous éviter une gestion plus complexe, mais les solutions décrites demeurent accessibles à toutes les personnes à l’aise avec les nouvelles technologies. Et si on parle de contenus provenant d’un blogue, par exemple, ou de tout autre contenu sans données personnelles ou sensibles, on peut sauter l'étape d'anonymisation.

En somme

La flexibilité des technologies actuelles, comme les modèles de langage, permet non seulement de simplifier et de standardiser des données de façon presque intuitive, mais également d'appliquer ces méthodes à des bases de données existantes nécessitant des mises à jour ou des corrections.

En intégrant des solutions d'IA, telles que ChatGPT, avec des outils de validation et d'automatisation adaptés, les organisations peuvent non seulement réaliser des économies significatives, mais aussi améliorer la qualité et l'accessibilité de leurs données. Que ce soit pour des tâches simples ou pour des opérations complexes, la technologie nous offre aujourd'hui des moyens d'optimiser continuellement nos systèmes d'information.

Toutefois, il convient de souligner l'importance de traiter les données de manière sécurisée, en évitant la divulgation d'informations privées et en respectant les normes de confidentialité. Les solutions d'hébergement privé ou les techniques d'obfuscation des données représentent des options viables pour maintenir la sécurité tout en exploitant les avantages de l'IA. Enfin, l'automatisation des processus manuels grâce à l'intelligence artificielle n'est pas seulement une question de faisabilité technique, mais aussi de stratégie et de gestion prudente des risques.
 

— 

Outils
Modèles de langage et API: API OpenAIMistralLLaMA-3
Bibliothèques de validation: Pydantic et Zod
Logique de chaîne (non mentionné dans l'article): LangChain

Si vous avez des questions ou un projet en tête à faire évaluer par nos experts, contactez-nous dès aujourd'hui.

 


 

La série IA d’iX: Potentiel exponentiel pour les PME?

De quelle manière intelligente peut-on pleinement tirer profit de l’intelligence artificielle? En tant que facilitateurs des interactions avec le numérique, et étant donné notre proximité et notre rôle d’accompagnement auprès des PME, on partage ici nos réflexions sur la question, de même que nos mises en pratique très concrètes. Plus que jamais, l’intelligence artificielle est accessible. Ceci dit, avant de se lancer, comme avec tout projet, il faut définir ses objectifs et bien comprendre les limites et les possibles qu’offre l’IA. Malgré son petit côté magique, l’intelligence artificielle demande une bonne dose d’intelligence humaine pour faire sens et être réellement utilisable. 

Vous pourriez aussi aimer ces article, dans la même série:

 


Autre nouvelle

Veille et inspiration

Transformez vos données en vraie valeur

Écrivez-nous ou appelez-nous au 1-866-654-3434. Vous pouvez aussi utiliser le formulaire accessible ci-contre.

Tous les champs sont obligatoires à moins d'indication contraire.