AlloCovid relève le défi de la compréhension naturelle par téléphone
Alors que le gouvernement se penche sur le cas de StopCovid, de nombreux agents conversationnels voient le jour pour informer le grand public et le guider les personnes potentiellement atteint du coronavirus. AlloCovid est l’un d’entre eux.
Ce bot vocal disponible par téléphone via un numéro vert émerge d’une collaboration entre des scientifiques de l’Inserm, de l’Université de Paris et plusieurs entreprises françaises dont e.Voyageurs SNCF, Allo Media et le cabinet Privacy Impact.
Le principe est simple. Un usager appelle une plateforme téléphonique nationale, DOM TOM inclus, au prix d’un appel normal, disponible 24h24 et 7 jours sur 7. Au lieu de passer par un serveur vocal ou d’attendre un téléconseiller, l’agent conversationnel d’AlloCovid soumet son interlocuteur à un questionnaire médical auquel il peut répondre de manière naturelle. Cette liste de questions élaborée suivant les directives du ministère des Solidarités et de la Santé permet à l’agent de détecter la gravité des symptômes et d’orienter les patients s’ils sont atteints du virus.
Techniquement, c’est e.Voyageurs SNCF qui mène le projet AlloCovid. Cette « usine digitale » créé en 2018 rassemble les équipes de développement des applications du groupe ferroviaire. Ludovic Grauser est responsable management des produits IA chez e.Voyageurs SNCF. Il gère différentes équipes qui développent des services basés sur le Deep learning, le machine learning, le NLU et le NLP. Ses équipes se sont spécialisées dans le développement de chatbots, particulièrement OUIbot. L’agent conversationnel de OUI.sncf est disponible sur une page Web, Messenger, Whatsapp, iMessage ou Google Assistant. Il permet non seulement de se renseigner sur les horaires des trains, mais également d’acheter des billets.
AlloCovid, un cousin de OUIbot de SNCF
OUIbot et AlloCovid sont développés à l’aide du même outil open source développé en interne : Tock (The Open Conversation Kit). Ce framework permet de développer et déployer des solutions conversationnelles basée sur le traitement du langage automatique. « Tock s’appuie sur des briques open source comme Stanford CoreNLP, Duckling ou OpenNLP », déclare Ludovic Grauser.
Après avoir répondu à différents appels à projets, le responsable a pris connaissance de l’algorithme d’orientation Covid19, développé par l’Institut Pasteur, qui permet d’évaluer les symptômes d’un patient à l’aide des questions élaborées par le ministère des Solidarités et de la Santé. « Nous avons alors réalisé un POC afin de concevoir un bot basé sur Tock et l’algorithme de l’Institut Pasteur. Le professeur épidémiologiste Xavier Jouven de l’Inserm a pu le tester et nous a confirmé son intérêt », relate Ludovic Grauser.
Pour qu’un maximum de Français puisse interagir avec ce bot, les équipes d’e.Voyageurs SNCF ont fait le choix d’utiliser une plateforme téléphonique gracieusement fournie par Orange. Or, « la qualité des appels téléphoniques est très basse et il est difficile d’effectuer de la retranscription en temps réel des discussions », explique le responsable. Pour surmonter ce défi, Ludovic Grauser et ses équipes font appel à une startup accélérée par l’incubateur OUIlink : Allo Media. Elle se spécialise dans la retranscription en temps réel d’appel téléphonique, habituellement en direction des services de relation client et de marketing.
« La plupart des questions de l’algorithme d’orientation attendent des réponses comme oui ou non, mais nous pressentions, de par notre expérience, qu’il était plus simple pour les gens de s’exprimer en langage naturel », estime Ludovic Grauser. « Le NLU permet de le faire, mais il faut entraîner le modèle. La grande puissance du conversationnel, c’est de comprendre des expressions et des intentions ».
Ainsi, les appels sont d’abord retranscrits par la technologie d’Allo Media qui communique en temps réel via une API HTTPS vers Tock. La plateforme d’e.Voyageurs SNCF transmet des indications vocalisée par Allo Media aux utilisateurs. Les interventions des potentiels patients sont envoyées sous forme de verbatim du service d’Allo Media vers Tock avec la même API. Tock les interprète à l’aide d’un modèle NLU. Si l’agent conversationnel ne comprend pas l’intention de son interlocuteur, la question est reformulée en indiquant les réponses attendues. « Par exemple, nous demandons si la personne a eu des douleurs pendant les dernières 24 heures et que le bot ne comprend pas la réponse, nous invitons notre interlocuteur à répondre par oui ou par non », illustre le responsable. « Si le bot ne comprend toujours pas, nous passons à la question suivante. Nous voulons éviter les blocages ».
Les collaborateurs de Ludovic Grauser ont appelé le numéro de test et ont répondu aux questions pour étoffer les capacités du bot. « Pendant cette phase de tests de trois jours avec les collaborateurs d’e.Voyageurs SNCF nous avons qualifié plus de 1000 phrases différentes pour déterminer si une réponse était positive ou négative », explique le responsable. « Je remercie vivement les équipes d’avoir participé aussi activement ».
Pour éprouver AlloCovid, les équipes mobilisées autour du projet ont réalisé un essai en collaboration avec le SAMU des Yvelines. Pendant sept jours, le bot a traité certains appels avec un médecin en double écoute pour valider le résultat transmis par l’agent et reprendre l’appel à la fin du questionnaire.
Lancé le 27 avril, le service téléphonique a déjà reçu plus de 7 000 appels. Afin d’assurer sa disponibilité, e.Voyageurs SNCF met à disposition 1000 instances de l’agent conversationnel. AlloCovid est observé quotidiennement afin de détecter les erreurs ou les mauvaises expériences. « Nous surveillons le nombre de fois où l’on répète une question par utilisateur, qui est un indicateur de mécompréhension de la part du bot. L’indice de répétition est pour l’instant très faible ».
Un soin tout particulier à la protection des données
La filiale de la SNCF héberge sa partie de l’application sur AWS et profiter des fonctionnalités de services managés et d’autoscaling. « Nous sommes habitués à la montée en charge, nous avons énormément de trafic sur OUIbot avec plus de 10 000 utilisateurs par jour », assure Ludovic Grauser. Toutefois, c’est la retranscription des entretiens en temps réel « qui est la plus gourmande en ressources ». L’outil d’Allo Media est lui hébergé sur OVH Cloud, qui est aussi partenaire du projet.
Évidemment, une telle application pose la question de l’anonymisation des données. En parallèle du développement d’AlloCovid, e.Voyageurs SNCF a fait appel au cabinet Privacy Impact, dirigé par Matthieu Camus, ingénieur - chercheur spécialisé en cybersécurité et ancien expert de la CNIL. « Matthieu Camus de Privacy Impact nous a aidés préparer l’anonymisation, le traitement et la manière de stocker les données », explique Ludovic Grauser. « Nous voulions être sûr d’être en conformité avec le RGPD, c’est très important pour nous de maintenir l’anonymat tout en collectant des données pertinentes pour l’Institut Pasteur et Santé Publique France».
Les numéros de téléphones sont directement anonymisés, chiffrés, les informations sur la taille et le poids sont agrégées sous forme d’IMC, l’outil ne conserve que des tranches d’âges. Les développeurs d’AlloCovid ont seulement accès au code postal des utilisateurs de l’agent conversationnel.
Des améliorations prévues pour accélérer le déconfinement
La filiale de la SNCF a également déployé un outil de visualisation pour suivre quelques indicateurs. La corrélation entre le code postal et les résultats des tests peut faciliter le suivi de l’épidémie.
L’équipe d’e.Voyageurs SNCF a également revu l’ordre des questions afin d’orienter au plus vite les patients atteint de pathologies aggravantes (problèmes rénaux, asthme, maladies chroniques, etc.).
En revanche, les résultats de ces autodiagnostics ne sont pas directement transmis au SAMU. « Pour le moment, nous conseillons aux personnes potentiellement atteintes du coronavirus d’appeler le 15. Nous avons commencé à collaborer avec Orange pour rediriger les utilisateurs vers les services de soin, mais l’infrastructure téléphonique liée au numéro d’urgence est complexe. Nous voulons être sûr que cela fonctionne », indique Ludovic Grauser.
Les développeurs d’AlloCovid explorent plusieurs possibilités pour améliorer l’agent conversationnel. Ils souhaiteraient envoyer les rapports aux services hospitaliers en s’intégrant avec leurs logiciels. L’équipe travaille également sur une fonctionnalité de rappel pour suivre les personnes ayant manifesté des symptômes liés au virus lors d’un appel. « Nous proposons déjà des fonctionnalités de type alerting à partir des différents bots que nous opérons. Techniquement, cela nous donne un défi supplémentaire, car il faut pouvoir détecter si la personne décroche ou si l’on tombe sur un répondeur », détaille le responsable du projet.
De son côté, Allo Media travaille à « détecter de la toux lors d’un appel téléphonique. C’est pour nous un possible axe d’amélioration d’AlloCovid » ajoute-t-il.