X
Développez vos premiers chatbots !
Alain Clapaud / vendredi 2 mars 2018 / Thèmes: Développement, Intelligence Artificielle, Dossier

Développez vos premiers chatbots !

Application la plus évidente de l’Intelligence artificielle, le chatbot est la technologie à la mode, outre le volet IA indispensable dans la compréhension du langage, un bot, c’est avant tout une application à développer.

Selon une enquête Humanis, 38 % des entreprises françaises interrogées en 2017 sont en train de mettre en place au moins un chatbot. Elles seraient 52 % à réfléchir sérieusement à la question. Beaucoup se tournent vers des start-up spécialisées, mais certaines directions générales qui considèrent l’IA comme stratégique pour le futur vont solliciter leur DSI.

Mettre en ligne un chatbot n’est pas si complexe qu’il n’y paraît. L’accès à l’IA est désormais extrêmement facile via le Cloud et le marché des API. Google, Microsoft, Facebook, Recast.AI proposent des API simples d’emploi, si bien qu’un développeur Node.js ou ASP. NET débutant va rapidement pouvoir mettre en ligne un bot. Rendre ce bot efficace, et surtout utile aux clients, est une autre histoire, mais à l’heure de la généralisation des assistants numériques, il est grand temps de monter en compétence sur la question.

Piston, le chatbot emploi créé par The Chatbot Factory pour LesEchos Start.

Une architecture commune à toutes les plates-formes

La première règle de conception d’une plate-forme de chatbot, c’est de la rendre indépendante de l’outil de communication. Aujourd’hui, Facebook Messenger est l’application la plus utilisée par les chatbots, mais outre Facebook, un même bot doit être capable de communiquer via Slack, Skype, la fenêtre de chat d’un site web. L’essor des assistants numérique, Microsoft Cortana, Amazon Alexa ou Google Assistant, ne va faire qu’amplifier ce besoin d’indépendance vis-à-vis des canaux d’échange. « Le moteur de chatbot est centralisé et doit être capable de gérer toutes les interfaces », résume Thomas Guenoux, cofondateur de KRDS/OhMyBot, concepteur de chatbots pour Sephora, la SNCF, BNP Paribas, Mercedes. « C’est dans cette optique qu’il faut architecturer un moteur de chatbot qu’il est ensuite possible de déployer sur différentes plates-formes. » Dans ce but, l’architecture du chatbot se décompose en un moteur qui prend en entrée des questions et qui génère des réponses en retour. Ce moteur vient se connecter aux platesformes qui vont lui servir d’interface utilisateur. « Un autre point important dans le développement d’une infrastructure de chatbot, c’est le serverless, c’est-à-dire de mettre en ligne une API de manière transparente vis-à-vis des serveurs. Nous utilisons beaucoup Lambda d’Amazon Web Services, et avec DynamoDB comme base de données. C’est une stack bien adaptée au développement de chatbot sur mesure, mais ce n’est pas la seule sur le marché. » Rivale de OhMyBot sur le marché français, la start-up The Chatbot Factory a fait le choix de développer sa propre plate-forme de gestion de bots. « Seule la brique de compréhension du langage naturel est externalisée », explique Matthieu Bietry, directeur technique associé de The Chatbot Factory. « Nous appelons généralement la brique de Recast.AI, mais nous pourrions très bien brancher une autre brique NLP (Natural Language Processing) équivalente. » Cette plate-forme supporte notamment Louis, le nouveau chatbot bagagiste d’Air France ou encore Piston, le chatbot emploi des Echos Start. Comme la plupart des plates-formes de bots modernes, celle-ci est divisée entre le module de connexion et d’échanges pour se connecter aux messageries instantanées et le module bot lui-même. « Celui-ci doit être à même de gérer le contexte de chaque utilisateurs », précise Matthieu Bietry. « Si un utilisateur a posé une question sur un produit précis et qu’il demande ensuite une précision, on part du principe qu’il parle du même produit. Il faut donc être capable de gérer ce contexte de conversation mais aussi savoir si l’utilisateur est déjà venu plusieurs fois, s’il possède un compte identifié afin de personnaliser la réponse. Ces données sont stockées dans MongoDB. »

Facebook propose des templates riches afin de permettre aux chatbots d’utiliser des contenus multimédias divers, mais aussi des éléments transactionnels comme les paiements en ligne.

Des écosystèmes applicatifs sont bien en place

Précurseur dans les plateformes de bots, Amazon Web Services fait face aujourd’hui à plusieurs concurrents de poids, à commencer par Google. L’Américain s’est doté d’API de reconnaissance du langage naturel avec l’acquisition d’API.AI en 2016. L’offre a été rebaptisée DialogFlow et elle est maintenant nativement intégrée à l’écosystème Google et la solution permet aussi le déploiement de chatbots sur Google Assistant et Google Home. Même démarche chez Facebook qui a mis la main sur une start-up française, wit.ai, qui lui a apporté sa technologie de reconnaissance du langage. Dernier venu sur ce marché des plates-formes de chatbot, Microsoft a présenté son Bot Framework lors de la dernière édition de Microsoft experiences. Comme ses concurrents, Microsoft a scindé la partie communication avec le Bot Connector capable de dialoguer sur Facebook, Slack, Skype, Telegram ou par SMS et le volet programmation du bot avec le Bot Builder, un SDK disponible pour ASP.NET et Node.js. Un template Visual Studio permet la génération d’une Web API qui va écouter le canal d’entrée et être appelée par le Bot Connector pour chaque phrase saisie par l’utilisateur. La brique NLP de Microsoft, baptisée Luis (pour Language Understanding Intelligent Service) joue alors un rôle clé : « Luis analyse l’intention de la phrase et lui a associé une probabilité. Cela permet au développeur d’adapter les réponses de son bot », explique Jean-Sébastien Dupuy, évangéliste technique développement mobile chez Microsoft. « L’intérêt de Luis, c’est qu’il apprend au fur et à mesure et comprend la majorité des phrases que les utilisateurs vont saisir. Une fois l’IA entrainée, on dispose d’une URL, un point d’entrée qui retourne un fichier JSON avec les différentes intentions et l’entité. »

Avec son Bot Framework, Microsoft fournit désormais toute une série d’outils et de services cloud afin de supporter les chatbots sur de multiples services et apps de communication instantanée.

Le Machine Learning indispensable, mais interchangeable

La brique de NLP qui s’appuie sur le Machine Learning pour reconnaître le langage naturel constitue être le point clé de l’architecture d’un chatbot. C’est cette approche qui permet théoriquement à un chatbot d’être de plus en plus performant au fur et à mesure qu’il apprend des conversations qu’il tient avec les internautes. Pourtant, ces API de NLP sont devenues pratiquement interchangeables pour les développeurs. Pour eux, le rôle de cette API consiste à relier le texte tapé par l’internaute à des intentions (des « intents » dans le jargon des chatbots) qui ont été prédéfinies, comme par exemple « réserver un restaurant », « louer une voiture », « dépanner mon accès internet ». Si l’algorithme arrive à faire ce lien entre le texte envoyé par l’utilisateur et une intention connue du moteur de chatbot, l’API renvoie l’intent en question et la liste des paramètres dont il dispose déjà, comme le type de restaurant, le lieu. Il suffit de saisir une dizaine de tournures de phrases par intent pour permettre au moteur, via le Machine Learning à comprendre l’infinité des tournures possibles d’une question. « On commence à avoir de bons résultats avec une dizaine de synonymes », estime Thomas Guenoux. « L’API envoie en retour d’une phrase un score entre 0 et 1 qui correspond au degré de certitude de la machine. Si le score est de 0,9, on peut être certain que l’algorithme a correctement analysé l’intention de l’internaute. Si celui-ci n’est que de 0,3, c’est au développeur de décider ce qu’il compte faire : soit faire répéter l’internaute ou lui demander des précisions, soit prendre le risque de faire l’action quand même. Tous les algorithmes de NLP fonctionnent de cette façon. »

La plate-forme Recast.AI est très populaire auprès des concepteurs de chatbots, notamment en France. Elle constitue une alternative performante aux solutions proposées par les Gafa.

L’essor actuel du Machine Learning explique incontestablement le regain d’intérêt des entreprises pour les chatbots, mais ce n’est pas la seule technique disponible pour discuter avec un internaute. Guilhem Valentin, directeur des opérations de l’éditeur Synapse Développement souligne l’approche radicalement différente du Toulousain : « Nous travaillons dans le domaine de l’analyse linguistique depuis près de 25 ans. Notre premier produit était un correcteur orthographique et, à partir de notre moteur de compréhension du langage, nous avons développé plusieurs fonctions sémantiques, dont un service de création de chatbot. » Celui-ci ne s’appuie pas uniquement sur le Machine Learning mais sur une approche sémantique de l’analyse de texte. « L’approche symbolique nous permet de bien comprendre la signification de chaque mot d’une phrase et c’est ce qui nous différencie du Machine Learning. Pour nous, les deux approches sont complémentaires et nous essayons de les combiner pour parvenir au meilleur résultat. » L’intérêt de cette approche sémantique est de proposer aux internautes des chatbots qui ne sont pas scénarisés. Il n’est plus nécessaire de coder tous les « intents » possibles, mais de faire lire au chatbot les documents afin de générer une base de connaissance avec toutes les questions qui seront susceptibles d’être posées sur le texte initial et les réponses.

Cette approche sera notamment mise en œuvre par EDF pour ses techniciens ainsi que par la Dépêche du Midi. Le chatbot Robin va automatiquement lire le journal tous les matins et répondre aux questions des lecteurs.

Avec Alexa, Amazon a su conquérir les développeurs qui ont créé des milliers de « skills » pour ses différents assistants. Arrivé bien plus tard sur le marché, Google pourrait bien refaire son retard rapidement.

L’architecture d’un bot pour un assistant numérique, tel que Amazon Echo, est similaire à celle d’un chatbot, en dépit de quelques spécificités comme les services STT (Speech-toText) et TTS (Text-ToSpeech) fournis par la plate-forme.

Les assistants numériques, une autre approche du dialogue

Messenger et les fenêtres de chat sur les sites web sont les moyens de communication les plus fréquents des chatbots actuels, mais l’essor des assistants numériques change la donne, notamment depuis l’arrivée de terminaux comme le Google Home ou la gamme des Amazon Echo. Disponible en France et en français, Google Home a pris de vitesse Amazon dans l’Hexagone, mais aux États-Unis, c’est bien Amazon qui a convaincu le plus de développeurs si l’on en croit le nombre de « Skills » déjà développés. La barre des 20 000 a été franchie en septembre 2017, même si bon nombre d’entre eux n’ont qu’un intérêt très limité. Sébastien Stormacq, responsable Architecture d’Alexa, chez Amazon UK, soulignait lors de la dernière conférence AWS Summit la simplicité du développement des Skills : « Il peut s’agir d’un web service chez AWS ou d’un web service de l’entreprise. L’hébergement de ce web service est libre, même si Amazon Web Services pousse les entreprises à exploiter AWS Lambda pour héberger leurs API. La Skill doit retourner un texte et Alexa va générer la voix via le service TTS (TextTo-Speech) qui est exécuté dans le Cloud. Le fichier son est ensuite envoyé sur le device. Développer une Skill, c’est avant tout développer une interface utilisateur et le code qui supporte cette interface. » À l’instar de Google pour Google Home et Google Assistant, Amazon Web Service fournit un environnement de développement et d’exécution des Skills complet qui s’appuie sur des standards du développement, avec des formats de données JSON et un SDK Node.js. Néanmoins développer un chatbot vocal présente quelques spécificités. Alors qu’une transaction sur le Web peut se dérouler sur une quinzaine de minutes, une interaction vocale est beaucoup plus courte, de l’ordre de 1 à 2 minutes, en vocal. Il faut aussi privilégier un échange direct : cela peut être immédiat avec l’utilisateur qui pose sa question et le Skill qui retourne immédiatement sa réponse. Difficile dans ces conditions de personnaliser un Skill, même si des solutions commencent à arriver, dont le standard SSML implémenté dans Alexa : « La réponse est un JSON où l’on donne le texte qui sera lu par Alexa. Il peut s’agir d’un format SSML (Speech Synthesis Mark-up Language), un format qui va permettre à Alexa de donner des intonations au texte, faire des pauses, accélérer le rythme de lecture ou ajouter des interjections type waow, boom, bang, etc. Des balises SSML permettent d’ajouter ce type d’éléments dans le dialogue. C’est aussi comme cela que l’on va pouvoir donner du caractère à Alexa. »

Avec l’arrivée attendue d’Alexa for Business, ou encore Microsoft qui déploie Cortana sur une ligne de montage chez PSA, les assistants numériques seront omniprésents tant dans les entreprises que sur le B2C. Il est grand temps de développer ses premiers bots et de monter en compétence sur cette nouvelle façon de concevoir une application.

Pour son assistant numérique MyxyPod, le Français Myxy a fait le choix de s’appuyer sur la plate-forme IBM Watson, un moyen de rester indépendant vis-à-vis de Google et Amazon, ses concurrents directs.


Guilhem Valentin, directeur des opérations de Synapse Développement :
« Le Machine Learning a ses limites »

« Beaucoup des chatbots développés aujourd’hui sont très scénarisés et ne fonctionnement bien que sur des périmètres très restreints. Cette approche est adaptée pour commander des pizzas où le scénario est assez évident, mais si on veut mettre en place un chatbot capable de répondre des questions portant sur un vaste champ de connaissances, c’est plus complexe. Les solutions sur le marché se basent sur une définition des intentions et des actions et lorsqu’il s’agit de périmètres de connaissances plus ouverts, cette approche est bien trop complexe à maintenir. Il n’est pas possible d’aller au-delà de 100 à 200 intentions, grand maximum. Notre approche basée sur la linguistique permet de répondre à plusieurs centaines de milliers de réponses possibles. C’est ce qui pousse de nombreux concepteurs de chatbots à s’intéresser à notre approche pour avoir des chatbots plus automatisés. »


Xavier de Baillenx, Innovation Lead  chez Match.com / Meetic :
« Notre premier allié, c’est l’utilisateur »

« Après un an et demi passé à développer notre chatbot Lara, le premier enseignement, c’est que l’on apprend des utilisateurs. Notre premier allié, c’est l’utilisateur : depuis le premier jour, nous apprenons de chaque conversation. Quand on est sur un site web et que 30 % de l’audience disparaît sur une page, il est difficile de comprendre pourquoi cette audience s’en va. Sur un agent conversationnel, vous avez les verbatim de l’utilisateur et il est plus facile d’essayer de le comprendre. La difficulté, c’est d’analyser ; et ce qui est intéressant, c’est que l’utilisateur lui-même va apprendre à notre chatbot. Si l’utilisateur fait une erreur d’orthographe, le chatbot ne comprend pas : Lara va dire qu’elle ne comprend pas et répondre “ Cherchez-vous un home ou une femme ? ”, et si l’utilisateur clique “ Une femme ”, on intègre la phrase tapée par l’utilisateur dans le réseau de neurones avec une donnée qui est annotée non pas par notre équipe, mais par l’utilisateur lui-même. Cela permet d’avoir rapidement un volume important de contenu annoté. Or, l’IA ne fonctionne que si elle dispose d’une grande quantité de données et cette approche permet à Lara d’apprendre toutes les langues grâce aux utilisateurs eux-mêmes. »


Thomas Guenoux, alias Thomas Gx,  co-fondateur de KRDS/OhMyBot :
« Node.js, le langage des chatbots »

« S’il est théoriquement possible de développer des bots dans n’importe quel langage, Node.js s’est aujourd’hui imposé dans le monde du développement de chatbot. C’est sans doute dû au fait qu’il s’agit d’une génération de développeurs qui aime bien le JavaScript. En outre, Node.js offre la capacité de faire des traitements « en live », c’est-à-dire fonctionner en temps réel via des sockets, ce qui permet de tenir une conversation en mode push et être réactifs aux requêtes de l’utilisateur. C’est la raison pour laquelle Node.js est particulièrement populaire auprès des développeurs de Chatbots, même si certains développent des chatbot en Java, Python. C’est plus une question d’affinité des développeurs que réellement un avantage en termes de performance. »


Les API de Natural Language Processing,  une technologie aujourd’hui banalisée

Globalement, toutes les API de NLP (Natural Language Processing) à l’image de Microsoft Luis fonctionnent sur un même schéma. Après que le développeur a saisi l’ensemble des « intents » (intentions) qui correspondent à une action de son bot, le moteur de Machine Learning va délivrer son analyse de chaque requête des internautes avec l’intent qu’il estime le plus proche. Une probabilité est affectée à cette analyse, au développeur de juger si celle-ci est suffisante pour déclencher une action. En outre chaque matin, un humain, le « Bot Trainer » va catégoriser les questions auxquelles l’IA n’a pu affecter d’intent la veille, ce qui permet d’entraîner le moteur et de le rendre plus pertinent.

Meetic a choisi de personnaliser son chatbot avec l’avatar Lara. En fait, ce sont trois chatbots différents qui ont été créés afin d’aider les internautes à s’inscrire, les aider en cas de perte de mot de passe et, enfin, de trouver un profil qui « matche » avec leurs souhaits.

5341

x
Rechercher dans les dossiers

Actuellement à la Une...
Le gouvernement parviendra-t-il à unir sous une même bannière les telcos malgré les inimitiés entre les acteurs de ce marché ultra-concurrentiel ? Le comité de filière stratégique, qui s’appuiera sur les fédérations en place, devrait être signé mercredi prochain.

Les fonds Elliott Management et Francisco Partners se seraient associés afin de mettre la main sur le fournisseur de logiciels d’acc&egra...

Le patron de Twitter milite en faveur d’un protocole ouvert et décentralisé pour les réseaux sociaux, afin de faciliter la lutte contre la désinformation et le harcèlement, ainsi que le développement d’algorithmes de recommandations.

Après le rachat de la branche entreprise de Symantec par Broadcom, trois acquéreurs se sont manifestés pour mettre la main sur ses activités grand public, rebaptisées Norton LifeLock. McAfee fait partie des acheteurs potentiels.

Alors que l’opérateur bénéficie d’un sursis, Infranum a pris position en faveur du maintien d’un acteur op&eacu...

Preuve s’il en est du dynamisme de la filière cybersécurité en France, c’est une cinquantaine de candidatures que le jury chargé de décerner le prix Startup du FIC ont dû départager. La messagerie instantanée Olvid a remporté le trophée.

Disponible depuis quelques semaines pour les internautes américains, le nouvel algorithme doit rendre plus efficaces les recherches complexes ou exprimées en langage quasi naturel associant de nombreux mots avec des prépositions.

C’est la fin de l’application de gestion de tâches, rachetée en 2015 puis dépecée par Microsoft. Elle est remplacée par To Do, l’application maison de Redmond vers laquelle se sont reportées la majeure partie des fonctionnalités de Wunderlist.

Surfant sur la maturité du multicloud, le spécialiste français des interconnexions cloud annonce avoir réuni 22 millions d’euros auprès de ses investisseurs historiques et de nouveaux entrants au capital, dont Orange Digital Ventures. Cette somme permettra à Intercloud de se renforcer en Europe.

La Cnil vient de mettre en demeure une entreprise de la région toulousaine qui abusait un peu trop de la vidéosurveillance dans ses locaux, surtout à des fins de localisation de ses salariés, le tout accompagné d’un défaut d’information et de sécurisation.

Toutes les News
LIVRES BLANCS
Les entreprises et les organismes publics se focalisent aujourd’hui sur la transformation numérique. En conséquence, les DevOps et l’agilité sont au premier plan des discussions autour des stratégies informatiques. Pour offrir ces deux avantages, les entreprises travaillent de plus en plus avec les fournisseurs de services de cloud public et développent désormais des clouds sur site à partir d’une infrastructure qui répond à trois exigences de base:
1. Agilité sans friction des ressources physiques
2. Systèmes de contrôle optimisant l'utilisation des ressources physiques et offrant un retour sur investissement maximal
3. Intégration des divers composants de l'infrastructure pour un provisionnement et une gestion des ressources automatisés.


Pour fonctionner, votre entreprise doit pouvoir compter sur une solution de sauvegarde efficace, essentielle dans un monde marqué par une croissance exponentielle des données. Vous devez à la fois accélérer vos sauvegardes et pouvoir y accéder plus rapidement pour satisfaire les exigences actuelles de continuité d’activité, disponibilité, protection des données et conformité réglementaire. Dans cette ère de croissance effrénée, les cibles sur bande hors site et autres approches traditionnelles sont simplement dépassées.


L’Intelligence Artificielle promet de révolutionner la perception de la cybersécurité au coeur des entreprises, mais pas uniquement. Ce changement de paradigme engage, en effet, une redéfinition complète des règles du jeu pour les DSI et les RSSI, ainsi que l’ensemble des acteurs de la sécurité.


Lorsque l'on déploie des postes de travail, ils ont généralement tous la même configuration matérielle et logicielle (avec certaines spécificités selon les services). Mais on ne peut pas toujours tout prévoir et il arrive par exemple que de nouveaux programmes doivent être installés ou n’aient pas été prévus. L’accumulation de logiciels « lourds » est susceptible de provoquer des lenteurs significatives sur un PC allant jusqu’à l’extinction nette de l’application. Ce livre blanc explique comment optimiser les performances au travers de 5 conseils rapides à mettre en place.


Ce guide est conçu pour aider les entreprises à évaluer les solutions de sécurité des terminaux. Il peut être utilisé par les membres de l'équipe de réponse aux incidents et des opérations de sécurité travaillant avec des outils de sécurité des points finaux sur une base quotidienne. Il peut également être utilisé par les responsables informatiques, les professionnels de la sécurité, les responsables de la conformité et d’autres personnes pour évaluer leurs performances. les capacités de l’entreprise en matière de cybersécurité, identifier les lacunes dans la sécurité des terminaux et sélectionner les bons produits pour combler ces lacunes.


Tous les Livres Blancs