psdesign1 - Fotolia
Bâtir un assistant vocal : les précieux conseils d’un expert de la Banque Nationale du Canada
De l’évaluation des briques disponibles sur le marché au déploiement d’assistants vocaux, Éric Charton, directeur AI Science pour la Banque Nationale du Canada délivre de précieux conseils pour éviter les pièges et réussir ce type de projet NLP/NLU.
Lors de VoiceTech Paris, Éric Charton, directeur AI Science, pour la Banque Nationale du Canada a exposé les moyens mis en place au sein de son organisation pour développer les modèles NLU/NLP nécessaires au fonctionnement d’assistants vocaux employés dans des centres d’appel.
« Actuellement, nous avons plusieurs systèmes de dialogue qui sont en fonction dans la banque », assure-t-il. « Nous sommes passés à travers tout un ensemble d’expériences qui nous a permis d’établir une méthode pour construire les agents conversationnels les plus performants possibles ».
Dans un premier temps, il faut comprendre les particularités de l’architecture technologique d’un assistant vocal. Le néophyte pourrait croire que la voix des utilisateurs est directement interprétée, mais « l’agent conversationnel s’appuie toujours sur des données textuelles, jamais sur le signal de parole. Lorsque l’interlocuteur parle, il y a un décodage. Après ce décodage, le texte est transmis à l’agent conversationnel, qui active son ou ses modèles pour construire une réponse, à nouveau transposée en parole », déroule Éric Charton.
« Cela a une grande importante sur la manière dont nous travaillons », souligne-t-il.
Le rôle essentiel du décodeur vocal
Créer un décodeur capable de transformer la voix en texte n’est pas à la portée de toutes les entreprises. D’ailleurs, la plupart des organisations qui conçoivent un assistant vocal font appel aux technologies des fournisseurs cloud et des éditeurs du marché.
« Lorsque nous travaillons sur un agent conversationnel vocal, nous devons nous assurer de la qualité du décodeur de parole. Il y a une métrique pour mesurer cela : le Word Error Rate (WER) », explique Éric Charton.
Éric ChartonDirecteur AI Science, Banque Nationale du Canada
Le WER, en dehors de tout contexte, ne suffit pas. Il faut que cette métrique soit spécifiquement associée à une langue. De plus, le décodeur doit supporter les accents. « De par mon expérience, même chez les majors technologiques qui fournissent des agents conversationnels clés en main, les décodeurs de paroles sont souvent très bien réglés sur l’anglais, mais ont parfois des difficultés sur la langue française, en particulier quand il s’agit d’appréhender des accents de régions linguistiques », déclare le directeur. « C’est quelque chose que nous savons très bien au Québec : à Montréal, nous avons des dizaines d’accents différents. C’est généralement ce qui va mettre en déroute les décodeurs ».
Ensuite, le décodeur doit être configurable. « Le champ sémantique que l’on va utiliser pour les transactions avec le client est essentiel », assure Éric Charton. « Si une banque échange avec ses clients, il faut que le décodeur connaisse les acronymes en vigueur, par exemple le nom d’un produit bancaire. Si ces acronymes ne sont pas intégrés dans le modèle d’agent conversationnel, nous allons avoir beaucoup de mal à obtenir un décodage précis, interprétable par le modèle ».
À cet égard, toutes les solutions ne sont pas dotées du même niveau de service, selon le responsable. « Par exemple, il n’est pas possible d’accéder au décodeur d’Amazon LEX ; d’autres comme ceux de Nuance fonctionnent très bien », illustre-t-il. « Il y a une certaine disparité sur le marché ».
Anticiper le manque de transparence des fournisseurs
Revenons au WER. Il ne s’agit pas seulement de connaître le taux d’erreur sur une langue, mais de savoir avec quel corpus il a été obtenu, précise Éric Charton.
« Les fournisseurs peuvent indiquer des WER abstraits, car si cette métrique n’est pas évaluée sur des corpus de texte qui correspondent aux domaines sémantiques pour lesquels on développe un agent conversationnel, on va se confronter à une mesure biaisée. Il faudra alors refaire le travail à partir de données en provenance des centres d’appel sur lesquels l’on veut greffer l’agent conversationnel », constate-t-il.
Éric ChartonDirecteur AI Science, Banque Nationale du Canada
De manière générale, les éditeurs manqueraient de transparence sur le rôle des « éléments constitutifs » de leur service de construction d’assistants vocaux.
« Le rôle de chaque brique des agents conversationnels sur étagère n’est pas très clairement présenté par les fournisseurs. Chez Amazon, le terme de “Lambda Functions” ne correspond pas à l’architecture du système type décodeur/encodeur. C’est très difficile de savoir où ce composant est situé dans le pipeline pour créer l’agent conversationnel et donc d’évaluer son fonctionnement et son influence sur le système », remarque Éric Charton.
Google DialogFlow de GCP livrerait peu ou prou le même niveau détail. « Il est possible d’avoir des canaux vocaux et textuels, mais au centre du système, on n’explique pas vraiment au client qu’il y a un décodeur, que ce décodeur fournit de l’information à des modèles, le rôle très important de ce décodeur et les conséquences de ses performances. Ce sont des choses qui sont absentes des documentations et des relations avec le fournisseur, qui en parle très peu », affirme le directeur AI Science.
« En général, on conseille de mettre des experts du côté de l’entreprise, ou de l’organisation, qui veut construire un agent conversationnel pour justement introduire ces questions dans la discussion commerciale et dans le processus de développement », ajoute-t-il.
Qu’est-ce qu’un bon agent conversationnel ?
Mais un bon décodeur vocal n’est pas le seul ingrédient nécessaire à la réussite d’un tel projet NLP/NLU. Il faut comprendre ce que fait un assistant vocal et où il peut briller.
Ainsi, l’agent conversationnel est « un système qui gère un dialogue de manière automatisée. Il est relativement interactif, avec des niveaux de complexité plus ou moins grands », rappelle Éric Charton.
A contrario d’un chatbot basé sur une FAQ ou d’un système d’interrogation, l’agent conversationnel permet à la fois de collecter des informations, de répondre à des questions et de mener des échanges, explique-t-il. Le support – à savoir la voix ou le texte – « est tout à fait accessoire », mais il convient de hiérarchiser ces trois grandes fonctionnalités.
« Ce qui est vraiment important quand on veut construire un agent conversationnel, c’est déjà d’identifier les fonctions qu’il doit effectuer », déclare Éric Charton. « En règle générale, la technologie permet très facilement de répondre à une question. Il est un petit peu plus difficile de collecter une information, en particulier avec la voix – toujours à cause des problèmes de performance du décodeur. Et puis, l’action n’est possible que si la compréhension est parfaite ».
Dès lors, il faut assimiler deux concepts essentiels dans la conception d’un agent conversationnel, selon le responsable. Il s’agit de réagir à deux questions. « L’agent comprend-il correctement l’intention de l’utilisateur qui lui pose une question ? », expose-t-il. « En fonction de cette intention, quelle action peut-on prendre ? Cette action correspond à l’augmentation de la collecte d’informations ou l’obtention d’une réponse », ajoute-t-il.
Le cycle de vie de l’assistant vocal
Une fois ces deux concepts assimilés, il est temps de construire le modèle. Il faut alors concevoir un cycle de vie de l’agent conversationnel. « Le cycle de vie, c’est ce qui va nous permettre, de la conception à la production, de passer à travers les diverses étapes afin de construire un agent performant, capable de répondre à la plupart des questions et dans de bonnes conditions », déroule Éric Charton. « Ce qu’on appelle les bonnes conditions correspond à un certain niveau de précision, c’est-à-dire le fait que l’agent fasse le moins d’erreurs possible ».
De par l’expérience du directeur, « il est très difficile d’obtenir un agent 100 % performant dès le début ». Il faut donc procéder par itérations successives, afin « d’améliorer le modèle en permanence ».
Dans ce cycle de vie, il faut rapidement intégrer que ce système est « dirigé par les données », mais que toutes les données ne sont pas bonnes à prendre. « À partir du moment où l’on collecte le maximum de données parce qu’on n’a pas une vue très claire de l’environnement sur lequel on veut travailler et échanger avec les clients, l’on va avoir tendance à vouloir mettre toutes les données à l’intérieur du modèle. C’est une erreur », prévient Éric Charton.
Éric ChartonDirecteur AI Science, Banque Nationale du Canada
La raison est simple, selon le responsable. « Les modèles qui détectent l’intention sont généralement basés sur des algorithmes de deep learning ». Avec ceux-ci, « chaque intention est une classe », explique-t-il. « Cela a un rôle très important sur le fonctionnement des modèles de deep learning : si l’on a beaucoup de classes avec très peu de données d’apprentissage, l’on crée un déséquilibre et ces données vont faire baisser les performances [du modèle] ».
Il convient donc de trouver les données les plus importantes pour construire des modèles robustes. « Il faut identifier les sujets les plus populaires, très fréquemment demandés et faciles à traiter, qui vont satisfaire le plus grand nombre rapidement et ne pas chercher à avoir les sujets les plus complexes, uniques qui vont être difficiles à gérer avec les technologies actuelles ».
Les besoins des utilisateurs priment
En clair, pour obtenir un agent conversationnel performant, « il faut partir des besoins des utilisateurs ». « Par exemple, dans l’environnement bancaire, les questions fréquentes peuvent être : “quel est mon solde ?” ou encore “comment déclarer une carte volée ?” », illustre Éric Charton.
Au-delà des restrictions techniques des algorithmes, identifier des problèmes « simples à comprendre et à traiter » permet « non seulement de créer un agent conversationnel robuste en plus d’alléger la charge sur les centres d’appel ».
En cela, le concept macroéconomique d’optimum de Pareto est particulièrement utile, selon Éric Charton, en vue « de diviser en deux états possibles les intentions des utilisateurs ». La longue traîne représente alors les demandes uniques.
Ce n’est qu’une fois que l’agent conversationnel est mature « que l’on va traiter les questions répertoriées dans la longue traîne », indique le directeur. Pour autant, comme la technologie ne peut pas traiter les demandes les plus complexes, il faut pouvoir rediriger les requêtes vers un agent en chair et en os.
Comment déployer un assistant vocal ?
Certaines organisations auront besoin de déployer l’agent conversationnel même dysfonctionnel, car les « sources documentaires des entreprises sont majoritairement orientées affaires : les questions des clients sont connues, mais le volume de demande pour chaque question n’est pas forcément renseigné », prévient Éric Charton. Plus simplement, parfois, le manque de données provoque un vide. La multiplication des usages du bot NLU/NLP et leur supervision permettent alors de constater si les intentions repérées par la société sont les bonnes.
Cela demande de collecter des logs et de mettre en place des outils de supervision des performances « qui ne sont pas nécessairement livrés par les grands fournisseurs ». En interne, la Banque Nationale du Canada a mis au point un tableau de bord pour observer les intentions les plus recherchées, si les réponses sont satisfaisantes au regard de l’utilisateur, les questions sans réponse ou encore le passage ou non à une interaction. « Nous suivons de près le parcours des usagers et nous essayons de comprendre les raisons possibles des abandons », explique Éric Charton.
Mais là encore, il faut jouer intelligemment, selon le responsable. Le déploiement massif des modèles NLU/NLP d’assistants vocaux ou textuels est à proscrire tant que les performances ne sont pas maîtrisées. « Par un phénomène de rejet, un agent conversationnel qui fonctionne mal a tendance à créer davantage de charges de travail que celles qu’il est censé alléger. Et c’est ça une catastrophe », déplore le directeur.
Éric ChartonDirecteur AI Science, Banque Nationale du Canada
La solution se trouve dans la mise en ligne progressive, c’est-à-dire l’exposition de l’agent conversationnel « à des populations de plus en plus larges, par étape ».
Ainsi, la Banque Nationale du Canada a mis en place une grille comprenant cinq phases, en commençant par une Alpha auprès de 15 développeurs, puis une bêta auprès de 50 personnes, dont des spécialistes de l’IA et du dialogue (des linguistes) capables d’effectuer « des retours critiques et de fournir des informations importantes ».
Vient un prélancement d’une durée de deux semaines à un mois auprès de 150 utilisateurs experts. « Typiquement, ce sont des agents dans des centres d’appel qui auront une attitude positive, et qui ont encore une bonne résistance aux défauts », note Éric Charton. Cette notion de résistances aux défauts demande donc de trouver des « promoteurs » des projets NLU/NLP pour « éviter les phénomènes de rejet ».
Une fois ces étapes passées, un lancement est effectué auprès de 10 % du public cible, « idéalement des clients dont on a détecté un fort intérêt pour les nouvelles technologies ». Cette phase peut également entraîner une mise en ligne via des méthodes d’AB testing. Enfin, place au déploiement généralisé.
À ce moment-là, le travail de collecte et d’analyse de données prime. Cet effort de supervision conditionne les futures mises à jour, selon le responsable. Là encore, il faut faire participer des experts des modèles NLU et des data analysts. « L’on peut difficilement maintenir un agent conversationnel si l’on n’a pas des spécialistes de la compréhension du langage dans les équipes. Ce point est souvent omis par les fournisseurs de solutions », avertit Éric Charton.
Enfin, le maintien en condition opérationnelle impose d’ajouter continuellement les nouveaux produits ou services du catalogue de l’entreprise dans la base de données de l’assistant vocal.