Qui suis-je ?
Bonjour, je suis Oxymore. Je suis doctorant en informatique à l’Université de Fribourg (en Suisse) et travaille à l’institut HumanTech. Mes recherches se portent sur la gestion de données et le machine learning dans le contexte de la nutrition en particulier et de la santé de manière plus générale. Je touche donc aux algorithmes d’apprentissage automatique, au traitement naturel du language et plusieurs autres choses tout autant intéressantes.
Vous avez peut-être déjà vu passer mon nom, je fais partie de l’équipe qui développe le jeu "Asylamba: Influence" qui a également un sujet sur ce forum.
Rupert le nutritionniste est un petit projet sur lequel je travaille actuellement avec mon collègue Nathan et c’est ce que je vais vous présenter aujourd’hui.
Agent conversationnel
Vous avez probablement déjà entendu parler d’agent conversationnel, ou chatbot. Il s’agit de service avec lequel on interagit via une interface de chat. Ce service fonctionne avec des règles (si l’utilisateur dit ça, répond ça) ou de l’intelligence artificielle (ou les deux). Bien que les chatbots existent depuis longtemps (voir ELIZA en 1966), ils se sont démocratisés en 2016 depuis la conférence F8 de Facebook qui annonçait le support des chatbots dans son service de messagerie Messenger.
Depuis là, la hype a décollé, si bien que nous retrouvons des chatbots sur beaucoup de plateformes différentes : Messenger, Telegram, Discord, Skype, Slack, Twitter, et j’en passe.
Rupert
Rupert est donc un chatbot, vous l’aurez compris. Il officie comme coach nutritionnel en challengeant l’utilisateur quant à sa consommation de nourriture. Deux challenges sont disponibles :
- manger moins de viande
- manger les 5 portions quotidiennes de fruits et légumes recommandées
L’utilisateur choisit donc son challenge, définit sa consommation cible et là démarre une période d’une semaine où il devra quotidiennement faire part à Rupert de son avancée. Rupert va donc engager la conversation avec l’utilisateur une fois par jour. L’échange est bref, c’est le but. Après une semaine, Rupert fait un bilan et l’utilisateur choisit s’il veut poursuivre son challenge ou en démarrer un nouveau.
Les personnes qui souhaiteraient en savoir d’avantage sur des questions de nutrition peuvent le demander à Rupert. L’utilisateur peut notamment apprendre pourquoi il est mieux de réduire sa consommation de viande, en apprendre plus sur les labels des fruits en Suisse ou avoir la liste des légumes de saison. Pour cela, les onglets "en savoir plus" affichent des listes de sujets sur lesquels il suffit de cliquer pour que Rupert donne les infos.
Les informations sont données par Rupert sous la forme de discussions guidées où l’utilisateur presse simplement sur les propositions pour aller plus loin (vous le verrez assez vite).
Ah d’ailleurs, les chiffres mentionnées par Rupert sont spécifiques à la Suisse, mais le reste du contenu est valable pour tout le monde
Technologies
Le chatbot est développé avec le service en ligne Chatfuel. Il s’agit d’un service WYSIWYG qui facilite la conception des différentes interactions. J’ai choisi ce système notamment pour sa simplicité. Il suffit amplement pour un prototype de ce type. Par contre sa gestion de la compréhension du langage n’est pas très poussée. J’ai choisi d’axer mon développement sur l’efficacité des interactions, donc l’utilisateur se verra souvent proposer des réponses sur lesquelles il suffit de cliquer pour répondre plutôt que de le laisser écrire ce qu’il souhaite. Donc pas besoin de compréhension du langage poussée.
Ce service permet la gestion générale des dialogues, mais il fallait également une sorte d’intelligence pour la gestion de données et les traitements plus précis. Pour cela un webhook a été développé en Python. Et les données sont stockés dans une petite base de données MongoDB.
Le prototype est déployé sur Facebook et Rupert est donc joignable sur Messenger.
Recherche testeurs
Maintenant que le prototype est en ligne, j’ai besoin de testeurs. Mon but est de récolter des données sur l’utilisation de ce chatbot. Plus il y a de monde, mieux c’est. Je me tourne donc vers vous, qui lisez cet article .
Si vous avez quelques minutes à accorder à ce petit Rupert, je vous en serai grandement reconnaissant.
- Lien vers la page Fb : https://www.facebook.com/rupertlenutritionniste
- Lien direct sur Messenger : http://m.me/rupertlenutritionniste
En testant, si vous avez des remarques, critiques ou idées d’amélioration à formuler, c’est avec un grand plaisir que je les lirai.
Merci de votre attention !
Oxymore