Chatbots – entre rêves et réalité

Pourquoi aujourd’hui ?

La question est récurrente à chaque apparition d’une nouvelle technologie : pourquoi un tel engouement aujourd’hui ? S’agissant des chatbots qui défraient la chronique depuis quelques mois, la question apparaît d’autant plus pertinente que le concept d’agent conversationnel est tout sauf récent. On peut, si l’on veut, le faire remonter aux années 1950 lorsqu’Alan Turing proposait son célèbre test conçu pour évaluer l’aptitude d’une intelligence artificielle à imiter un humain lors d’un échange conversationnel. Les toutes premières tentatives de réalisation remontent quant à elles aux années 1960 avec le programme ELIZA qui imitait, très grossièrement, le questionnement d’un psychanalyste s’adressant à l’un de ses patients. Le caractère rustique du subterfuge n’empêcha au demeurant certains individus de développer une réelle dépendance émotionnelle vis-à-vis de leur « relation » avec ELIZA.

Cependant revenons à la question initiale. Les réponses, en l’occurrence, sont multiples. En voici quelques-unes qui nous paraissent déterminantes :

  • D’un point de vue commercial, l’explosion récente des chatbots remonte à avril 2016, lorsque Facebook décida d’ouvrir sa plateforme Messenger pour permettre à des développeurs tiers de concevoir des bots avec lesquels les utilisateurs engageraient la conversation comme ils le feraient avec leurs interlocuteurs humains. Le succès fut inespéré avec des dizaines de milliers de bots déployés en l’espace de quelques mois.
  • Il semble avéré que les utilisateurs de smartphones se lassent de plus en plus rapidement des app qu’ils y installent, surtout parmi les jeunes générations. Dans ce marché en stagnation, les bots pourraient bien apporter le renouveau tant attendu d’un modèle désormais à bout de souffle après dix années de bons et loyaux services.
  • Sur le plan technique, et pour ce qui concerne les assistant vocaux, les technologies de reconnaissance vocale ont permis il y a quelques années de franchir un seuil de fiabilité qui les rend à présent utilisables en pratique.
  • Toujours sur un plan technique, les technologies de traitement du langage naturel ont également fait des avancées significatives ces dernières années, notamment avec des algorithmes capables d’appréhender le contexte sémantique d’un mot ou même d’une phrase.
  • Enfin, sur un versant plus irrationnel, les chatbots ont toute l’apparence d’une concrétisation d’un rêve aussi ancien que l’informatique : celui de pouvoir interagir avec des machines de la manière la plus naturelle qui soit : par conversation. La dernière section de cet article sera consacrée à faire un point sur l’état de la recherche dans ce domaine.

Mais voilà bientôt une page que nous parlons de chatbots sans avoir pris la peine de définir ce terme. Acquittons-nous de cette obligation : un chatbot est une interface conversationnelle permettant d’interagir, soit avec une application existante dont elle facilite l’usage, soit avec une application conçue pour automatiser une conversation existante.

Dans la première catégorie on trouvera par exemple un chatbot qui permet d’organiser un voyage. L’IHM conversationnelle vient ici se substituer à un site web classique de réservation. Le chatbot simplifie la réservation car elle permet de formuler une demande de manière libre.

Dans la seconde on rangerait un chatbot de recommandation de produits à un client qu’il interroge pour connaître ses goûts.

Les challenges de la conception et de l’évaluation

Ne nous leurrons pas, en 2017 les chatbots ne sont que des piètres simulacres d’intelligence, à l’image de leur lointain ancêtre des sixties ELIZA. En réalité ni Siri, ni Cortana ne comprennent quoi que ce soit de ce qu’on leur dit ou, comme le formule plus poétiquement ce bloggeur : « A chatbot is like an inflatable doll: cheap and available, but not much else. » De cette pointe d’ironie on aurait tort toutefois de conclure que les bots sont d’inutiles gadgets ou encore qu’ils soient faciles à concevoir.

Les chatbots d’aujourd’hui fonctionnent tous peu ou prou sur le même principe. En fonction du message de l’utilisateur (vocal ou écrit) et du contexte de la conversation le bot utilise des techniques de machine learning pour identifier deux éléments principaux. Le premier est l’intention de l’utilisateur (consulter la météo, p.ex.), le second est une liste d’entités qui sont autant de paramètres qui viennent préciser cette intention (pour quel lieu et pour quelle date, p.ex.). Le contexte regroupe des informations concernant le déroulé de la conversation et ce que l’on connaît de l’utilisateur et de ses actions passées. A chaque contexte ainsi qualifié le bot associe ensuite une réponse sélectionnée dans une liste préétablie, celle-ci pouvant en comporter plusieurs centaines d’éléments. Cette association contexte-réponse peut être faite soit au moyen d’un arbre de décision construit explicitement par les concepteurs du bot, soit exploiter des techniques de machine learning supervisé capables d’apprendre une bonne réponse à partir d’un ensemble assez riche d’associations que l’on sait être correctes. Ces modèles sont dits « retrieval-based » (Britz, 2016).

Ayant compris cela, on entrevoit aussi bien les difficultés de conception d’un bot que les limites intrinsèques à ce modèle.

  • Concevoir un chatbot exige un important travail de scénarisation consacré à anticiper, autant qu’il est possible, tous les contextes auquel le bot sera confronté et leur associer une réponse adaptée. Ce travail a pour objectif principal de cadrer le domaine d’expertise du bot en éliminant les questions trop ouvertes ce qui évitera qu’une conversation ne s’égare trop rapidement dans les limbes du non-sens.
  • La plupart des échanges avec les bots d’aujourd’hui sont de nature transactionnelle. A chaque question le bot apporte une réponse ou, à l’inverse, il attend une réponse à la dernière question qu’il vient de poser. Les conversations longues où l’on se réfère aux échanges précédents (au moyen de pronoms par exemple) sont à ce jour hors de portée.
  • Lorsque l’on exploite le machine learning pour entrainer un algorithme à identifier l’intention, les entités et la réponse à apporter, il faut disposer d’un important jeu de données sous forme de conversations de références. Si l’on automatise une conversation existante, un historique d’échanges entre humains pourra constituer une bonne base de départ. Il faudra cependant lui adjoindre une phase de labellisation (quelles sont les bonnes et les mauvaises réponses) qui peut s’avérer fastidieuse. Si l’on crée un nouveau service, la construction de ce jeu de conversations de référence pourra être encore plus conséquente puisqu’il faudra le créer ex-nihilo.

A quoi viennent s’ajouter d’autres challenges, indépendants du modèle de bots utilisé. L’évaluation des performances d’un bot par exemple peut comporter des éléments subjectifs qui rendent l’entreprise délicate et couteuse. L’expérience tend ici à démontrer qu’aucune métrique connue ne rend compte de manière adéquate d’un jugement humain. Cette perception subjective pourra dépendre notamment de l’aptitude d’un bot à déceler ses propres limites pour aiguiller son interlocuteur vers un humain capable de gérer une situation imprévue.

Le futur dans les tuyaux des labos d’IA

Une approche pragmatique — les modèles génératifs

La principale faiblesse de l’approche « retrieval based » tient, on l’a vu, à son incapacité à faire face à toute situation imprévue. Pour surmonter cette limitation, l’une des pistes poursuivies par la recherche appliquée porte sur ce que l’on appelle les modèles génératifs. L’objectif de ces modèles est de construire de toutes pièces la réponse du bot plutôt que de la sélectionner parmi une liste préétablie. De prime abord le postulat de base de cette approche générative peut paraître audacieux puis qu’il stipule qu’une réponse à une question est une forme de… traduction de la question ! L’avantage de cette approche réside essentiellement dans le fait que la traduction automatique est une technologie déjà relativement bien maîtrisée. Elle exploite des réseaux de neurones dit récurrents capables de « traduire » une suite de mots, la question en l’occurrence, en une autre suite de mots, la réponse, tout en tenant compte du contexte sémantique de chaque terme dans la phrase.

Figure 1 : La génération d’une réponse à partir d’une question utilise des réseaux de neurones récurrents tout comme la traduction automatique.

Bien que prometteuses, ces technologies achoppent encore sur des difficultés fondamentales qui les rendent pour l’instant impropres à une mise en production :

  • La syntaxe et l’orthographe des réponses générées comportent encore de trop nombreuses erreurs pour être utilisables dans un contexte commercial où elles risquent de porter atteinte à la crédibilité de l’entreprise qui déploie le bot.
  • Même lorsque la syntaxe des réponses est correcte, les réponses manquent souvent de cohérence sémantique. Ainsi un bot à qui l’on pose la question : « Dans quelle ville habites-tu ?» pourra dire « Paris » et, un peu plus tard, répondre avec aplomb « Italie » à la question « Dans quel pays habites-tu ? ».
  • Les réponses sont souvent très génériques, du type « Voilà une bonne idée ! » ou « Je ne sais pas ». Les réponses automatiques générées par les premières versions de Google Smart Reply comprenaient par exemple une profusion de déclarations « I love you » et ceci quelle que soit le contenu du message.
  • Les réponses des modèles génératifs sont dépourvues de personnalité car, contrairement à celles faites par des humains, elles ne sont porteuses d’aucune intention.  Nul mystère à cela, les données qui permettent d’entrainer les algorithmes sont récoltées auprès de milliers d’interlocuteurs aux tempéraments et aux personnalités différentes, voire incompatibles. La conversation d’un chatbot n’est par conséquent qu’une moyenne flasque de ces milliers d’échanges. La R&D dans ce domaine progresse cependant rapidement et permet d’envisager de conférer à un agent conversationnel une personnalité cohérente au moyen de persona (Jiwei Li, 2016).
  • Le corpus de données nécessaires à l’entrainement de ces modèles génératifs sont extrêmement volumineux. Souvent ils ne sont même pas disponibles.
  • Les conversations longues sur des sujets ouverts sont pour l’instant totalement hors de portée de systèmes actuels.

Ces déboires ne devraient cependant pas trop nous surprendre car, à bien y réfléchir, créer un chatbot capable de tenir une conversation longue et cohérente sur des sujets ouverts s’apparente construire à une AI susceptible de passer le test de Turing. Les modèles génératifs constituent une avancée certes indéniable par rapport aux réponses préfabriquées des modèles de type retrieval-based mais ils restent toutefois très en deçà d’une authentique IA forte.

Une approche plus fondamentale — comprendre la compréhension

Aucune tentative d’attaquer le problème de la construction (à long terme) d’un système capable de comprendre le sens d’un texte et de répondre à des questions ouvertes ne pourra éluder des questions fondamentales telles que : « Que veut dire comprendre ? » ou même « Qu’est-ce que l’intelligence ? ». Une brève méditation sur la notion de contexte évoquée précédemment nous suggère une piste :

L’essence de l’intelligence est la double capacité à (1) maintenir sur le long terme une représentation schématique du monde et (2) à prédire son évolution.

Prenant au pied de la lettre ce postulat, plusieurs chercheurs dans l’équipe de Yann LeCun chez Facebook Research ont récemment proposé une approche crédible pour aborder ces questions et faire, peut-être, les premiers pas vers la conception d’agents conversationnels intelligents (Facebook Research ) (Mikael Henaff, 2017) (Jason Weston, 2015). Leur contribution concerne plus spécifiquement le premier point.

Pour comprendre leur démarche, rappelons que depuis une quinzaine d’années la plupart des succès engrangés par le machine learning (traduction automatique, reconnaissance d’images ou de la voix) reposent sur le postulat qu’il est plus efficace d’entrainer des algorithmes peu sophistiqués sur de volumineux jeux de données que l’inverse. Cette approche obère toutefois la découverte de nouveaux algorithmes capables d’apprendre et de raisonner sur la base de jeu de données modestes, ce qui reste l’une des clés de l’IA. L’approche par force brutale empêche également l’identification détaillée des mécanismes élémentaires du raisonnement qui seront, quoiqu’il advienne, des prérequis que tout système intelligent devra posséder.

S’inspirant d’une démarche bien connue du génie logiciel (les tests unitaires), ces chercheurs préconisent, avant même la conception de nouveaux algorithmes, d’élaborer des jeux de données synthétiques de petite taille, dont chacun aura vocation à tester un aspect spécifique du raisonnement ou de la compréhension du langage. Ces tâches, pour l’instant au nombre de vingt, ont été baptisées les bAbI tasks, une terminologique qui évoque l’enfance d’une discipline destinée à faire encore de nombreux progrès. Voici quatre exemples constitués chacun d’une « mini-histoire » à l’issue de laquelle une question est posée au système testé :

Figure 2 : 4 exemples de « bAbI tasks » conçues pour tester différentes aptitudes au raisonnement d’un algorithme de compréhension du langage naturel.

Chacune des 20 bAbI task est illustrée par 1000 (ou 10’000) exemples destinés à entrainer les algorithmes et 1000 (ou 10’000) autres exemples destinés à les évaluer une fois entrainés. On considère qu’un algorithme résout correctement une tâche dès lors que 95% des réponses qu’il fournit sont correctes.

Les exemples ne sont pas créés manuellement mais calculés à partir d’un modèle physique, une sorte de micro-univers si l’on veut, qui comporte des entités comme des personnages, des lieux et des objets et des actions opérant sur ces entités (« Paul mange la pomme dans la cuisine »). Les personnages sont dotés d’un état mental (« avoir faim » p.ex.), les objets ont des propriétés (leur couleur p.ex.) et les lieux ont un agencement précis et des notions de proximité etc. Il est important de noter que l’objectif n’est pas de construire des algorithmes capables de résoudre efficacement telle ou telle tâche mais de construire des systèmes capables d’apprendre à les résoudre toutes, ce qui est bien évidemment beaucoup plus ambitieux.

Le degré de difficulté de chaque tâche peut être modulé de différentes manières :

  • Plus le nombre d’exemples utilisés pour l’entrainement est faible, plus difficile sera la tâche. A ce jour résoudre les 20 bAbI tasks avec seulement 1000 exemples est encore un problème ouvert.
  • Dans chaque exemple de l’ensemble d’entrainement on peut décider d’inclure (supervision forte) ou non (supervision faible) la chaîne de déduction qui permet d’arriver à la réponse correcte. Le cas à supervision faible est naturellement beaucoup plus ardu puisque l’algorithme doit découvrir par lui-même le bon cheminement.

D’autres problèmes encore, analogues au bAbI tasks mais moins artificiels, utilisent des histoires pour enfants (Children’s Book Test) à propos desquelles on pose différentes questions pour tester les facultés de compréhension d’un système intelligent. Là encore, la difficulté est modulable. Il est par exemple plus aisé pour un algorithme de répondre à une question s’il la connaît avant de parcourir le texte car il pourra alors focaliser sa lecture sur les seuls aspects sémantiques liés à la question posée. Sans connaissance préalable l’algorithme est contraint de forger une représentation complète du sens de l’histoire.

Nous vivons une époque formidable !

Au moment où était publiées les 20 bAbI tasks (Jason Weston, 2015) aucun algorithme n’était encore capable de les résoudre toutes. Pourtant, quelques mois plus tard, une autre équipe de FB Research (Mikael Henaff, 2017) releva le challenge avec succès, du moins dans une version où les jeux d’entrainement comportent 10’000 exemples pour chaque tâche. Pour réaliser cette prouesse les auteurs ont concocté une architecture de calcul novatrice qui conjugue les propriétés usuelles d’un réseau de neurones (aptitude à apprendre des associations) avec celle d’une architecture dotée d’une mémoire à accès dynamique à long terme (aptitude au calcul et au raisonnement).

Assurément, les questions et les doutes ne manquent pas s’agissant des stratégies pour créer des agents intelligents.

  • Il semble légitime de questionner par exemple la pertinence d’une approche de l’IA basée uniquement sur l’analyse textuelle. Le sens d’une phrase ou d’un texte n’est-il pas plutôt à chercher dans la capacité à faire l’expérience sensible du monde comme nous le suggère notre propre expérience ?
  • Par ailleurs n’est-il pas illusoire de vouloir créer des agents intelligents « isolés ». L’intelligence n’émerge-t-elle pas plutôt au sein d’un collectif de systèmes en interaction ?
  • Les approches par micro mondes comme celui qui permet de définir les bAbI task pourront-elles passer à l’échelle sans faire face à une explosion combinatoire ?

Quoiqu’il en soit ces explorations fascinantes et ces premiers succès témoignent de la vitalité de la recherche actuelle en IA. Ils illustrent aussi de manière probante la persévérance et l’humilité nécessaires pour attaquer les grands problèmes ouverts de la science et de la technologie.

Il est grisant d’imaginer que notre époque, qui doit pour l’instant se contenter de robots commandeurs de pizza et de bouquets de fleurs, est par ailleurs aussi celle qui a le privilège d’être témoin des tous premiers balbutiements d’une IA généraliste. Des développements qui, d’ici quelques années ou quelques décennies, pourraient bien contribuer à transformer le monde plus qu’aucune invention ne l’a jamais faite auparavant.


Travaux cités

A Persona-Based Neural Conversation Model Jiwei Li Michel Galley, Chris Brockett, Georgios P. Spithourakis, Jianfeng Gao, Bill Dolan // arXiv.org. – juin 8 2016.

Chatbots, écosystème et paysage des startups  Dantec Maxime Le // LinkedIn. – 24 février 2017.

Crafting an Artificial Soul  Tam Steve // Medium. – 7 février 2017.

Deep Learning for Chatbots  Britz Denny // WILDML. – 6 Avril 2016.

The bAbI project  Facebook Research  // Facebook Research.

Towards AI-Complete Question Answering: A Set of Prerequisite Toy Tasks  Jason Weston Antoine Bordes, Sumit Chopra, Alexander M. Rush, Bart van Merriënboer, Armand Joulin, Tomas Mikolov // arXiv.org. – 31 décembre 2015.

Tracking the World State with Recurrent Entity Networks Mikael Henaff Jason Weston, Arthur Szlam, Antoine Bordes, Yann LeCun // arXiv.org. – 25 mars 2017.

Newsletter

Recevez notre newsletter bi-mensuelle

Commenter