Comment intégrer une API d'intelligence artificielle

Comment intégrer une API d'intelligence artificielle IBM, Microsoft, Google ou Amazon proposent des briques cloud d'intelligence artificielle sous forme d'APIs. Leur utilisation nécessite un certain nombre de prérequis techniques et de compétences spécifiques. Explications.

Longtemps, l'intelligence artificielle est restée confinée dans les labos de R&D d'un IBM ou d'un Microsoft. Si la reconnaissance vocale, l'analyse du langage, la reconnaissance de formes ou la traduction automatique existent depuis des décennies, elles restaient jusqu'ici entre les mains de chercheurs. Le cloud a permis de démocratiser leur usage.

Sur leurs plateformes cloud respectives, IBM, Microsoft, Google et Amazon commercialisent des offres associant ce type de services cognitifs à des technologies de machine learning. Le tout combiné à de la puissance de calcul. Ces offres sont accompagnées de tutoriaux et d'une riche documentation technique.

Comment utiliser une API d'intelligence artificielle 

Pour autant, la promesse marketing de s'adresser à une population de développeurs lambda montre rapidement ses limites. "Les modèles de prédiction préétablis proposés par ces acteurs sont censés répondre par défaut aux grands cas d'usage. Mais très vite, on sort des sentiers battus et il faut passer par le code", tempère Philippe Harel, responsable de la practice data science chez Umanis et co-auteur d'un e-book sur le sujet.

 

"Il ne suffit pas d'appeler une API pour avoir la reconnaissance du langage", poursuit-il. "Non, il faut embarquer tout le vocabulaire spécifique à une entreprise, son catalogue produits. Idem pour la reconnaissance d'images. Pour trouver des objets dans un flux d'images, il faut préalablement avoir chargé les photos des produits."

Un certain nombre de sociétés de services comme Umanis, Evea Group, Exakis ou Infinite Square se sont positionnées pour accompagner les entreprises dans ce type de projet. C'est également le cas des agences spécialisées dans la création de chatbots.

Watson, la plateforme de machine learning d'IBM, propose des templates génériques à même d'intégrer des données issues de plusieurs systèmes d'autres fournisseurs IT. © Capture JDN

Contextualiser les données en fonction du métier

Un projet d'intelligence artificielle se distingue d'un projet classique de business intelligence attaquant des données structurées dans une base relationnelle. Là, en prérequis, il faut, selon Philippe Harel, s'enquérir de la disponibilité et de la qualité des données. "Elles peuvent être 'silotées'. Plus l'entreprise est grosse et plus la rétention de l'information est forte. Par ailleurs, ces données sont-elles 'sales' ou 'nettoyées' ? En soi, ce n'est pas grave mais il faut le savoir en amont", indique l'expert.

Les données doivent être ensuite comprises d'un point de vue métier. Ce qui suppose un effort de contextualisation. Expert IBM et responsable de l'entité dédiée au cognitif chez Evea Group, Michel Caussanel fait appel à des linguistes pour personnaliser un moteur aux besoins spécifiques d'une entreprise. Il a notamment travaillé sur un service de dialogue pour la SNCF. "Au sein de la question 'je cherche des idées de randonnée en juin du côté de Dijon', il faut identifier toutes les variables abordées", explique-t-il. "La variable de temps. En juin d'accord, mais une randonnée de quelle durée ? La variable de lieu ensuite. A combien de kilomètres autour de Dijon ? Et puis une randonnée à pied ou à vélo ?" Enfin, il y a des données implicites. "Combien de personnes effectueront cette randonnée ? S'agit-il  d'adultes ? Et/ou d'enfants ? Et pour quel budget ? C'est tout un art de la conversation basée sur des questions ouvertes."

Mettre le métier le plus tôt possible dans la boucle

Il y a aussi des arbitrages à faire. "Dans le traitement automatique d'un mail ou d'une session de chat, ne pas traiter un message et le confier à un opérateur humain, c'est une façon de le traiter", estime Michel Caussanel. "L'automate peut aussi hiérarchiser les priorités et identifier que M. Dupont est un client important. Cela marchera d'autant mieux si les process métiers ont été clairement identifiés."

Déployer une équipe pluridisciplinaire

Partant du même constat, Philippe Harel conseille de mettre le métier le plus tôt possible dans la boucle. "L'essentiel du projet consiste à définir son périmètre, les objectifs poursuivis et les critères de succès. Un bot qui fournit une recommandation non pertinente ou 5 secondes trop tard serait contreproductif car déceptif pour l'utilisateur. La partie code occupe finalement peu de temps", analyse le consultant.

Ce type de projet agile et itératif nécessite donc une équipe pluridisciplinaire associant un expert métier, un chef de projet, un développeur et un data scientist. "Il faut démarrer sur un périmètre restreint, sans s'engager sur une trop longue période. Ce que l'on va coder aujourd'hui sera peut-être proposé nativement demain. D'où l'intérêt de regarder attentivement les feuilles de route des fournisseurs de cloud", ajoute Philippe Harel.

Maîtriser R et Python et les frameworks des prestataires

Pour la partie code, R et Python sont les langages les plus usités en data science. A côté de ces environnements de programmation open source, agnostiques vis-à-vis des plateformes cloud, on trouve des environnements spécifiques qu'il convient parfois de maîtriser. Pour son Bot Framework, Microsoft a ainsi développé un moteur d'interprétation sémantique qui lui est propre, baptisé Luis (Language Understanding Intelligent Service). De son côté, Amazon propose Lex, la technologie utilisée pour son assistant intelligent Alexa. Quant à Facebook, il s'appuie sur la technologie de reconnaissance vocale de Wit.ai, une start-up qu'il a rachetée en 2015.

Le service cloud Azure Machine Learning de Microsoft permet de modéliser des processus d'auto-apprentissage. © Capture JDN

IBM a, lui, fait le choix de verser son framework UIMA (Unstructured Information Management Architecture) à la communauté Apache. Ce kit de développement logiciel (SDK) permet la création d'applications d'analyse de textes ou plus généralement de données non structurées.

Tous les grands clouds se positionnent sur le créneau de l'AI

De façon plus globale, Philippe Harel distingue Microsoft Cortana et IBM Watson qui proposent des templates génériques à même d'intégrer des données issues de plusieurs systèmes d'autres fournisseurs IT. Avec CoPilot, SAP fait de l'intelligence artificielle sur les données métier (issues du ERP). Idem pour le CRM Salesforce avec Einstein.

Face à ces géants, des start-up tentent d'exister en répondant à un besoin spécifique mais leur pérennité n'est pas assurée. Beaucoup se font racheter par ces mêmes GAFA comme Deep Mind par Google, Perceptio par Apple, Orbeus par Amazon.

S'appuyer au maximum sur les ressources du cloud

Se pose ensuite la question de savoir comment ces briques d'intelligence artificielle vont interagir avec le système d'information de l'entreprise. Philippe Harel conseille de s'appuyer au maximum sur les ressources du cloud. "Pour faire tourner les algorithmes, les infrastructures internes sont rarement utilisées. Cela nécessite trop de volumétrie et de puissance de calcul. Et puis, pourquoi faire venir en interne des données qui sont de plus en plus nées dans le cloud ?", analyse-t-il.

La puissance de calcul est nécessaire lors des POC (proof of concept) pour créer des algorithmes pertinents. Le besoin de traiter de fortes volumétries vient ensuite quand il s'agit d'alimenter le modèle en données comme, par exemple, pour un moteur de détection d'images. Une fois le modèle établi, les données de test peuvent être supprimées. En phase de production, l'algorithme peut se limiter aux données en transit dans le cloud, cryptées et si possible anonymisées, et non plus hébergées.

L'émergence de projers d'AI avec d'avantage d'ambition

La question de l'internalisation se pose toutefois pour les applications critiques. Prenons l'exemple d'un dispositif de détection d'anomalies par reconnaissance d'images sur une ligne de production industrielle. Si pendant deux heures, l'appel à l'API est coupé suite à une coupure internet, que se passe-t-il ? Les produits défaillants qui n'auront pas été mis de côté seront-ils commercialisés ? Dans ces cas précis, Philippe Harel conseille d'utiliser le cloud pour créer l'algorithme avant de le rapatrier pour l'exécuter sur site.

Depuis la fin du premier trimestre 2016, notre consultant assiste à une explosion de projets d'intelligence artificielle avec davantage d'ambition. Les projets classiques de churn management, de maintenance prédictive ou de détection d'anomalies laissent place aux interactions en langage naturel avec notamment le phénomène des bots.