{"id":6908,"date":"2020-09-03T16:26:06","date_gmt":"2020-09-03T20:26:06","guid":{"rendered":"https:\/\/zux.zsm.mybluehost.me\/majoctobre2019\/chloe-levolution-ou-developper-un-chatbot-pour-la-covid-19-avec-rasa\/"},"modified":"2022-01-20T16:52:53","modified_gmt":"2022-01-20T20:52:53","slug":"chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa","status":"publish","type":"post","link":"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/","title":{"rendered":"Chlo\u00e9: L\u2019\u00e9volution, ou D\u00e9velopper un agent conversationnel pour la Covid-19 avec Rasa"},"content":{"rendered":"<p>[et_pb_section admin_label=\u00a0\u00bbsection\u00a0\u00bb]<br \/>\n[et_pb_row admin_label=\u00a0\u00bbrow\u00a0\u00bb]<br \/>\n[et_pb_column type=\u00a0\u00bb4_4&Prime;][et_pb_text admin_label=\u00a0\u00bbText\u00a0\u00bb]<\/p>\n<h2><span style=\"font-size: x-large; font-family: Abel; font-weight: normal;\"><strong>\u200b<\/strong><\/span>Contexte<\/h2>\n<p>Au moment o\u00f9 les mesures de confinement ont \u00e9t\u00e9 mises en place au Canada, nous avons \u00e9t\u00e9 approch\u00e9s par <a href=\"https:\/\/www.dialogue.co\/fr\/\" target=\"_blank\" rel=\"noopener\">Dialogue<\/a>, une compagnie sp\u00e9cialis\u00e9e en services de sant\u00e9 et t\u00e9l\u00e9m\u00e9decine, pour les aider dans la migration de Chlo\u00e9, leur agent conversationnel par r\u00e8gles pour la Covid-19, vers une solution plus conversationnelle en utilisant <a href=\"https:\/\/rasa.com\/\" target=\"_blank\" rel=\"noopener\">Rasa<\/a>. Nous avions aussi comme mandat d\u2019y ajouter des fonctionnalit\u00e9s. Il s\u2019agissait d\u2019un projet it\u00e9ratif s\u2019\u00e9talant sur 10 semaines, en mode agile.<\/p>\n<p><span style=\"font-size: x-large;\">Voici les principales fonctionnalit\u00e9s de Chlo\u00e9, \u00e0 haut niveau:<\/span><\/p>\n<ul>\n<li>Auto-\u00e9valuation: fournir des recommandations personnalis\u00e9es en fonction des sympt\u00f4mes et en suivant les consignes des gouvernements f\u00e9d\u00e9ral et provinciaux<\/li>\n<li>Questions-r\u00e9ponses (Q&amp;R): permettre \u00e0 l\u2019utilisatrice\u00b9 de poser des questions au sujet de la Covid-19 en utilisant un <a href=\"https:\/\/github.com\/dialoguemd\/covidfaq\" target=\"_blank\" rel=\"noopener\">mod\u00e8le<\/a> d\u00e9velopp\u00e9 par le <a href=\"https:\/\/mila.quebec\/\" target=\"_blank\" rel=\"noopener\">Mila<\/a>.<\/li>\n<li>Suivi quotidien: aider les utilisateurs \u00e0 suivre leurs sympt\u00f4mes au jour le jour. Lorsque l\u2019utilisatrice s\u2019inscrit au suivi quotidien, elle re\u00e7oit un lien par texto une fois par jour qui lui permet de joindre Chlo\u00e9 afin d\u2019\u00e9valuer la progression de ses sympt\u00f4mes.<\/li>\n<li>Recherche de cliniques de d\u00e9pistage: \u00e0 l\u2019aide de son code postal, fournir \u00e0 l\u2019utilisatrice une liste de cliniques de d\u00e9pistage pr\u00e8s de chez elle gr\u00e2ce \u00e0 l\u2019<a href=\"https:\/\/clinia.com\/en-ca\/product\/places\/covid-places\" target=\"_blank\" rel=\"noopener\">API de Clinia<\/a>.<\/li>\n<\/ul>\n<p>La conception de Chlo\u00e9 a \u00e9t\u00e9 effectu\u00e9e de mani\u00e8re it\u00e9rative \u00e0 mesure que nous ajoutions des fonctionnalit\u00e9s et a \u00e9t\u00e9 ajust\u00e9e pour tenir compte des commentaires de l\u2019\u00e9quipe m\u00e9dicale de Dialogue et des testeurs, \u00e9voluant constamment. L\u2019impl\u00e9mentation suivait, pas tr\u00e8s loin derri\u00e8re. Il y a plusieurs fa\u00e7ons de d\u00e9velopper certains patrons de dialogue avec Rasa et compte tenu des modifications constantes au design, nos choix d\u2019impl\u00e9mentation nous donnaient souvent l\u2019impression d\u2019errer dans un labyrinthe. Nous avons fini par en trouver la sortie, non sans avoir rebrouss\u00e9 chemin \u00e0 quelques reprises pour \u00e9viter de frapper un mur ou de grimper une falaise. \u00c9tant donn\u00e9 que nous n\u2019avions pas, d\u2019entr\u00e9e de jeu, une id\u00e9e pr\u00e9cise du design final, certains choix d\u2019impl\u00e9mentation sont plus ou moins coh\u00e9rents, et \u00e9tant donn\u00e9 l\u2019\u00e9ch\u00e9ancier tr\u00e8s serr\u00e9, nous n\u2019avons pas pu effectuer toute la refactorisation voulue. Cependant, ce contexte nous a aussi permis d\u2019explorer des chemins que nous n\u2019aurions pas parcourus avec Rasa si nous avions eu le temps de r\u00e9pertorier des patrons et de cr\u00e9er des composants g\u00e9n\u00e9riques pour les r\u00e9aliser.<\/p>\n<p>Dans cet article et dans le prochain de cette courte s\u00e9rie, je vais vous raconter l\u2019histoire du d\u00e9veloppement de Chlo\u00e9. Pour chaque \u00e9tape de notre parcours, je vais d\u00e9crire les principaux obstacles auxquels nous avons fait face ainsi que les d\u00e9cisions d\u2019impl\u00e9mentation que nous avons prises, souvent dans le feu de l\u2019action. Dans cette premi\u00e8re partie, nous allons principalement nous attarder aux fonctionnalit\u00e9s d\u2019auto-\u00e9valuation et de suivi quotidien.<\/p>\n<h2><\/h2>\n<h2>\u00c9pisode 1: Les dialogues d&rsquo;auto-\u00e9valuation<\/h2>\n<p><img decoding=\"async\" class=\"wp-image-6934 alignnone size-full lazyload\"Roboto Slab', Georgia, 'Times New Roman', serif; font-size: 29px;\" data-src=\"https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/09\/avertissement.jpeg\" alt=\"\" width=\"1925\" height=\"258\" data-srcset=\"https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/09\/avertissement.jpeg 1925w, https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/09\/avertissement-1280x172.jpeg 1280w, https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/09\/avertissement-980x131.jpeg 980w, https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/09\/avertissement-480x64.jpeg 480w\" data-sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1925px, 100vw\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" style=\"--smush-placeholder-width: 1925px; --smush-placeholder-aspect-ratio: 1925\/258;\" \/><\/p>\n<h3><\/h3>\n<h3>Sc\u00e8ne 1: Sprint vers la premi\u00e8re d\u00e9mo de l&rsquo;auto-\u00e9valuation<\/h3>\n<p>Tr\u00e8s t\u00f4t dans le projet (c\u2019est-\u00e0-dire au 8e jour), on nous a demand\u00e9 si nous pouvions d\u00e9montrer un dialogue d\u2019auto-\u00e9valuation \u00e0 la fin de la journ\u00e9e. Lorsque nous avons re\u00e7u la demande, la version initiale du design mijotait encore dans la t\u00eate de notre conceptrice; nous avions un projet Rasa fonctionnel, mais aucun dialogue n\u2019avait \u00e9t\u00e9 impl\u00e9ment\u00e9. Quoi qu\u2019il en soit, nous avons retrouss\u00e9 nos manches et avons produit cette d\u00e9mo.<\/p>\n<p>La d\u00e9mo initiale \u00e9tait un arbre de d\u00e9cision simple permettant d\u2019\u00e9valuer la gravit\u00e9 des sympt\u00f4mes de l\u2019utilisatrice et de proposer des recommandations ad\u00e9quates. Nous avons pris le chemin le plus court: pour chaque flux possible, nous avons d\u00e9fini une <em>histoire<\/em> (<a href=\"https:\/\/rasa.com\/docs\/rasa\/core\/stories\/\" target=\"_blank\" rel=\"noopener\">story<\/a>\u00b2) et avons utilis\u00e9 la <em>politique<\/em> de <a href=\"https:\/\/rasa.com\/docs\/rasa\/core\/policies\/#augmented-memoization-policy\" target=\"_blank\" rel=\"noopener\">m\u00e9mo\u00efsation<\/a>.<\/p>\n<h3><\/h3>\n<h3>Sc\u00e8ne 2: Le chemin devient boueux \u00e0 mesure que les flux d\u2019auto-\u00e9valuation se multiplient<\/h3>\n<p><span style=\"font-size: x-large;\">Le prochain ajout majeur aux flux de dialogue a \u00e9t\u00e9 la distinction, \u00e0 l\u2019entr\u00e9e de l\u2019auto-\u00e9valuation, entre trois situations:<\/span><\/p>\n<ul>\n<li>L\u2019utilisatrice pense \u00eatre malade et veut \u00e9valuer ses sympt\u00f4mes (cas initial)<\/li>\n<li>Elle a re\u00e7u un r\u00e9sultat positif au test de d\u00e9pistage et veut \u00e9valuer ses sympt\u00f4mes et obtenir des conseils<\/li>\n<li>Elle a effectu\u00e9 l\u2019auto-\u00e9valuation pr\u00e9c\u00e9demment et revient pour r\u00e9\u00e9valuer ses sympt\u00f4mes<\/li>\n<\/ul>\n<p>Cette distinction a cr\u00e9\u00e9 un certain nombre de variations au flux de base, comme par exemple demander si les sympt\u00f4mes ont empir\u00e9 dans le cas d\u2019une r\u00e9\u00e9valuation, ou encore d\u00e9marrer le dialogue en recommandant \u00e0 la personne de s\u2019isoler si elle a re\u00e7u un r\u00e9sultat positif.<\/p>\n<p>Nous avons suivi le m\u00eame chemin, ajoutant des <em>histoires<\/em> pour l\u2019impl\u00e9mentation de ces deux nouveaux flux de dialogue. Nous commencions toutefois \u00e0 constater que le nombre <em>d\u2019histoires<\/em> augmentait rapidement pour ces trois situations seulement (dont la complexit\u00e9 allait continuer \u00e0 augmenter), et que certaines portions semblables se r\u00e9p\u00e9taient entre les <em>histoires<\/em>.<\/p>\n<p><em>Deux histoires semblables pour une personne ayant des sympt\u00f4mes l\u00e9gers\u00b3<br \/>\n<\/em><\/p>\n<p><a href=\"https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/09\/2.bmp\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"wp-image-6894 size-full aligncenter\" src=\"https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/09\/2.bmp\" alt=\"\" width=\"576\" height=\"401\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Ne voyant pas de solution simple \u00e0 ceci dans les <em>histoires<\/em> &#8211; les <a href=\"https:\/\/rasa.com\/docs\/rasa\/core\/stories\/#checkpoints-and-or-statements\" target=\"_blank\" rel=\"noopener\">checkpoints et les instructions de type OR<\/a> ne nous aidaient pas car les sections similaires \u00e9taient prises en sandwich entre les diff\u00e9rentes <em>intentions<\/em> (intents) et les variations qu\u2019elles cr\u00e9ent &#8211; nous n\u2019avons pas fait de changements significatifs \u00e0 l\u2019impl\u00e9mentation \u00e0 ce moment-l\u00e0.<\/p>\n<p>Pendant que nous d\u00e9veloppions ces trois flux de dialogue, nous avons d\u00fb effectuer un ajout qui s\u2019appliquait aux trois: apr\u00e8s que l\u2019utilisatrice ait indiqu\u00e9 ne pas avoir de sympt\u00f4mes s\u00e9v\u00e8res, Chlo\u00e9 doit obtenir sa province de r\u00e9sidence et son \u00e2ge afin de lui fournir des recommandations plus pr\u00e9cises. Cette fois, la solution la plus simple a \u00e9t\u00e9 de recourir \u00e0 l\u2019utilisation d\u2019un <em>formulaire<\/em> (<a href=\"https:\/\/rasa.com\/docs\/rasa\/core\/forms\/\" target=\"_blank\" rel=\"noopener\">form<\/a>): l\u2019information doit \u00eatre conserv\u00e9e et le formulaire est facilement r\u00e9utilisable dans toutes nos <em>histoires<\/em>.<\/p>\n<h3><\/h3>\n<h3><\/h3>\n<h3>Sc\u00e8ne 3: Voie rapide vers l\u2019inscription au suivi quotidien<\/h3>\n<p><span style=\"font-size: 18px;\"><span style=\"font-size: large;\"><span style=\"font-size: x-large;\">Passons \u00e0 la prochaine fonctionnalit\u00e9: nous avons ensuite ajout\u00e9 l\u2019inscription au suivi quotidien. Si l\u2019utilisatrice a des sympt\u00f4mes, alors Chlo\u00e9 lui offre le suivi quotidien. Si elle accepte, Chlo\u00e9 collecte son nom et son num\u00e9ro de t\u00e9l\u00e9phone, note si elle a des ant\u00e9c\u00e9dents m\u00e9dicaux ou des probl\u00e8mes de sant\u00e9 qui pourraient augmenter ses risques de complications, etc. Ce flux de dialogue \u00e9tait aussi sans contredit un <em>formulaire<\/em>. Dans la premi\u00e8re version, plus simple, bien que nous utilisions du texte libre pour collecter le pr\u00e9nom et le num\u00e9ro de t\u00e9l\u00e9phone, il n\u2019y avait pas vraiment de gestion d\u2019erreur: nous utilisions la totalit\u00e9 du texte entr\u00e9 pour le pr\u00e9nom et tous les chiffres entr\u00e9s pour le num\u00e9ro de t\u00e9l\u00e9phone, en v\u00e9rifiant seulement s\u2019il y avait 10 ou 11 chiffres, sans quoi le num\u00e9ro \u00e9tait demand\u00e9 de nouveau.<\/span><\/span><br \/>\n<\/span><\/p>\n<h3><\/h3>\n<h3><\/h3>\n<h3>Sc\u00e8ne 4: R\u00e9pondre \u00e0 des questions et suivre TED<\/h3>\n<p>La fonctionnalit\u00e9 de questions et r\u00e9ponses (Q&amp;R) doit permettre \u00e0 l\u2019utilisatrice de poser toute question qu\u2019elle a au sujet de la Covid-19, envoyer cette question au module d\u00e9velopp\u00e9 par le Mila, recevoir la r\u00e9ponse et l\u2019afficher dans la conversation. Nous voulions rendre cette fonctionnalit\u00e9 disponible dans tous les flux de dialogue, en permettant d\u2019y acc\u00e9der par plusieurs endroits, mais aussi de poursuivre le dialogue dans diverses directions en fonction du r\u00e9sultat (je d\u00e9crirai les diff\u00e9rents types de r\u00e9sultat, de m\u00eame que les d\u00e9tails de cette fonctionnalit\u00e9 et son \u00e9volution, dans la prochaine partie de cet article).<\/p>\n<p>Puisque Chlo\u00e9 ne devait pas offrir d\u2019auto-\u00e9valuation si celle-ci avait d\u00e9j\u00e0 \u00e9t\u00e9 effectu\u00e9e au cours de la conversation, les transitions suivant le Q&amp;R d\u00e9pendaient \u00e9galement de cela, ce qui a eu pour effet de multiplier les voies de sortie. La politique de m\u00e9mo\u00efsation n\u2019aurait pas suffi pour apprendre cette diff\u00e9rence puisqu\u2019il est possible de repasser dans le module de Q&amp;R \u00e0 plusieurs reprises. Par cons\u00e9quent, nous avons ajout\u00e9 une <em>case caract\u00e9ris\u00e9e<\/em> (<a href=\"https:\/\/rasa.com\/docs\/rasa\/core\/slots\/#slot-types\" target=\"_blank\" rel=\"noopener\">featurized slot<\/a>) nomm\u00e9e <em>self_assess_done<\/em>, combin\u00e9e avec les histoires d\u2019auto-\u00e9valuation et de Q&amp;R, et nous nous avons eu recours \u00e0 la <em>politique <a href=\"https:\/\/rasa.com\/docs\/rasa\/core\/policies\/#ted-policy\" target=\"_blank\" rel=\"noopener\">TED<\/a><\/em> pour apprendre \u00e0 partir de quelques exemples. Cela a fonctionn\u00e9, mais notre fichier <em>d\u2019histoires<\/em> a soudainement beaucoup enfl\u00e9.<\/p>\n<p>&nbsp;<\/p>\n<h3><span style=\"font-family: 'Roboto Slab', Georgia, 'Times New Roman', serif; font-size: 29px;\">Intermission: Volte-face vers les formulaires pour \u00e9viter une jungle d\u2019histoires<\/span><\/h3>\n<p>Entrevoyant la multiplication et l\u2019allongement \u00e0 venir de nos <em>histoires<\/em>, nous avons d\u00e9cid\u00e9 de transf\u00e9rer la partie commune des \u00e9valuations dans un <em>formulaire<\/em> avant d\u2019int\u00e9grer compl\u00e8tement le Q&amp;R. Cela nous permettrait de raccourcir et de simplifier les <em>histoires<\/em>, mais \u00e9galement de faciliter la collecte d\u2019informations sous forme de cases (pr\u00e9sence de toux ou de fi\u00e8vre, qui \u00e9taient deux questions r\u00e9cemment ajout\u00e9es, ainsi que la gravit\u00e9 des sympt\u00f4mes), ces derni\u00e8res \u00e9tant n\u00e9cessaires si l\u2019utilisatrice s\u2019inscrivait au suivi quotidien. Un <em>formulaire<\/em> permettait, oui, de r\u00e9duire la redondance, mais nous for\u00e7ait aussi \u00e0 utiliser un ensemble de cases interm\u00e9diaires jetables afin de poser la s\u00e9rie de questions n\u00e9cessaires pour d\u00e9terminer la valeur d\u2019une case unique correspondant \u00e0 la gravit\u00e9 des sympt\u00f4mes. Cette case unique \u00e9tait caract\u00e9ris\u00e9e pour personnaliser l\u2019offre de suivi quotidien et les recommandations faisant suite au <em>formulaire<\/em> dans les <em>histoires<\/em>.<\/p>\n<p>Cependant, ce <em>formulaire<\/em> unique d\u2019\u00e9valuation n\u2019a pas fait long feu; le design a chang\u00e9 d\u00e8s que nous avons eu le dos tourn\u00e9. Deux messages de recommandations, au sujet de l\u2019isolement et de l\u2019assistance \u00e0 domicile, ont \u00e9t\u00e9 remplac\u00e9s par de petits flux de dialogue contenant chacun une question. La conception et l\u2019impl\u00e9mentation de ceux-ci ont beaucoup chang\u00e9. Au d\u00e9part, les deux flux \u00e9taient des <em>formulaires<\/em> qui ont \u00e9t\u00e9 ins\u00e9r\u00e9s l\u00e0 o\u00f9 se trouvaient les messages correspondants. Ensuite, nous avons d\u00fb tripler le formulaire d\u2019\u00e9valuation pour y ins\u00e9rer le flux d\u2019isolement au d\u00e9but, au milieu ou \u00e0 la fin selon la situation (\u00e9valuation r\u00e9guli\u00e8re, test positif ou r\u00e9\u00e9valuation). Plus tard, le flux d\u2019isolement a \u00e9t\u00e9 d\u00e9plac\u00e9 et modifi\u00e9 pour chaque situation, mais nous avons conserv\u00e9 trois versions distinctes du <em>formulaire<\/em> d\u2019\u00e9valuation pour graduellement y inclure les questions sp\u00e9cifiques qui ne faisaient pas partie de la version commune. Nous avons conserv\u00e9 du code en commun, mais le \u201ccomment\u201d a \u00e9volu\u00e9 avec le temps; nous \u00e9laborerons davantage sur ce sujet lorsque la question de la modularit\u00e9 sera trait\u00e9e dans un futur article.<\/p>\n<p><span style=\"font-size: x-large;\">\u00c0 cette \u00e9tape du projet, notre mod\u00e8le g\u00e9n\u00e9ral utilise une combinaison <em>d\u2019histoires<\/em>, de <em>formulaires<\/em> et <em>d\u2019<a href=\"https:\/\/rasa.com\/docs\/rasa\/core\/actions\/\" target=\"_blank\" rel=\"noopener\">actions<\/a><\/em>; et peut \u00eatre r\u00e9sum\u00e9 ainsi:<\/span><\/p>\n<ul>\n<li><em>Histoires<\/em>: effectuer la transition entre les flux et sous-flux de dialogue, d\u00e9finir les s\u00e9quences de formulaires, conditions et actions possibles pour chaque fonctionnalit\u00e9 et dialogue \u00e0 haut niveau<\/li>\n<li><em>Formulaires<\/em>: collecter des \u00e9l\u00e9ments d\u2019information et d\u00e9finir des arbres de d\u00e9cision, g\u00e9rer les sous-dialogues r\u00e9utilisables incluant au moins une question, etc.<\/li>\n<li><em>Actions<\/em>: utilisation vari\u00e9e lorsque la collecte d\u2019information n\u2019est pas requise, notamment l\u2019affichage de plusieurs messages cons\u00e9cutifs<\/li>\n<\/ul>\n<p>Voici un exemple <em>d\u2019histoire<\/em> illustrant le mod\u00e8le \u00e0 ce point-ci:<\/p>\n<p><em>Flux d\u2019auto-\u00e9valuation de base suivi d\u2019une question<\/em><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/09\/3.bmp\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"wp-image-6896 size-full aligncenter\" src=\"https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/09\/3.bmp\" alt=\"\" width=\"425\" height=\"493\" \/><\/a><\/p>\n<h3><\/h3>\n<h3><\/h3>\n<h3>Sc\u00e8ne 5: Suivi quotidien; un autre type d\u2019\u00e9valuation, un chemin connu<\/h3>\n<p><span style=\"font-size: 18px;\"><span style=\"font-size: large;\"><span style=\"font-size: x-large;\">Le but du suivi quotidien est de contacter l\u2019utilisatrice (qui s\u2019est pr\u00e9alablement inscrite) chaque jour pour \u00e9valuer ses sympt\u00f4mes et, entre autres choses, suivre leur progression. Une question initiale permet de d\u00e9terminer laquelle de ces trois situations s\u2019applique \u00e0 l&rsquo;utilisatrice: elle se sent mieux que la veille, elle se sent plus mal, ou il n\u2019y a pas de changement. Chaque situation a son propre arbre de d\u00e9cision, et chacun pr\u00e9sente des variations en fonction des sympt\u00f4mes de la veille. Bien que certaines questions soient communes aux trois flux de dialogue, globalement, les similarit\u00e9s \u00e9taient insuffisantes pour pouvoir r\u00e9utiliser des portions significatives du dialogue. Par cons\u00e9quent, riches de notre exp\u00e9rience dans l\u2019impl\u00e9mentation des flux d\u2019auto-\u00e9valuation, nous savions que la meilleure fa\u00e7on d\u2019impl\u00e9menter les flux de suivi quotidien serait par le biais de trois<\/span> <em>formulaires<\/em> distincts.<\/span><br \/>\n<\/span><\/p>\n<h3><\/h3>\n<h3>Sc\u00e8ne 5.5: Jusqu\u2019au bout du suivi quotidien<\/h3>\n<p><span style=\"font-size: 18px;\"><span style=\"font-size: large;\"><span style=\"font-size: x-large;\">Il y avait beaucoup plus que l\u2019\u00e9valuation au suivi quotidien: un dialogue de \u201clien invalide\u201d (l\u2019identifiant de l\u2019URL envoy\u00e9 \u00e0 l\u2019utilisatrice pour acc\u00e9der au suivi quotidien n\u2019existe pas), la possibilit\u00e9 de se d\u00e9sinscrire en un clic avant l\u2019\u00e9valuation, et une autre, selon les sympt\u00f4mes, apr\u00e8s l\u2019\u00e9valuation, ainsi qu\u2019un ensemble de recommandations \u00e0 la fin de la conversation. Le dialogue de lien invalide a \u00e9t\u00e9 ajout\u00e9 sous forme <em>d\u2019histoires<\/em> puisqu\u2019il faisait simplement le pont avec d\u2019autres fonctionnalit\u00e9s. Les offres de d\u00e9sinscription ont \u00e9t\u00e9 ajout\u00e9es comme <em>formulaires<\/em> puisque nous collections de l\u2019information et devions interroger notre base de donn\u00e9es. Les recommandations, quant \u00e0 elles, ont d\u2019abord fait partie d\u2019une action constituant un flux ind\u00e9pendant, appel\u00e9 si n\u00e9cessaire comme <em>action subs\u00e9quente<\/em> (<em><a href=\"https:\/\/rasa.com\/docs\/rasa\/api\/events\/#force-a-followup-action\" target=\"_blank\" rel=\"noopener\">followup action<\/a><\/em>) dans les <em>formulaires<\/em> de suivi quotidien ou de d\u00e9sinscription. Nous nous sommes toutefois rendu compte par la suite que les actions subs\u00e9quentes devaient quand m\u00eame faire partie des <em>histoires<\/em>, et lorsque nous avons ajout\u00e9 les transitions vers d\u2019autres fonctionnalit\u00e9s, il nous est apparu plus logique d\u2019inclure les recommandations directement dans le formulaire.<\/span><\/span><br \/>\n<\/span><\/p>\n<h2><\/h2>\n<h2><\/h2>\n<h2>Dans le prochain \u00e9pisode<\/h2>\n<p>Dans cette premi\u00e8re partie, j\u2019ai d\u00e9crit comment nous avons utilis\u00e9 les <em>histoires<\/em> et les <em>formulaires<\/em> pour impl\u00e9menter les multiples variantes des flux de dialogue d\u2019auto-\u00e9valuation et de suivi quotidien. Quoique les <em>histoires<\/em> \u00e9taient ad\u00e9quates au d\u00e9part pour d\u00e9finir des arbres de d\u00e9cision simples contenant peu de branches, il est rapidement devenu \u00e9vident qu\u2019elles ne constituaient pas le meilleur outil pour impl\u00e9menter des arbres de d\u00e9cision complexes, des branchements conditionnels ou encore des portions de flux r\u00e9utilisables. Nous avons donc d\u00fb cr\u00e9er plusieurs <em>formulaires<\/em> qui ont \u00e9t\u00e9 ench\u00e2ss\u00e9s dans des <em>histoires<\/em>, et recourir aux histoires pour g\u00e9rer les flux \u00e0 plus haut niveau.<\/p>\n<p><span style=\"font-size: x-large;\">Dans les phases suivantes du projet, nous avons ajout\u00e9 aux fonctionnalit\u00e9s initiales les \u00e9l\u00e9ments suivants:<\/span><\/p>\n<ul>\n<li>Nous avons augment\u00e9 et am\u00e9lior\u00e9 les flux du Q&amp;R<\/li>\n<li>Nous avons ajout\u00e9 la recherche de cliniques de d\u00e9pistage<\/li>\n<li>Nous avons ajout\u00e9 le support au langage naturel (NLU), d\u2019abord dans certaines portions du dialogue, et au final partout<\/li>\n<\/ul>\n<p>Ces ajouts ont soulev\u00e9 de nouveaux enjeux et pr\u00e9sent\u00e9 de nouveaux d\u00e9fis quant \u00e0 la fa\u00e7on d\u2019utiliser Rasa, non seulement dans la conception et le d\u00e9veloppement des dialogues, mais aussi pour s\u2019assurer que la performance et la pr\u00e9cision du traitement du langage naturel soient ad\u00e9quates.<\/p>\n<p>Nous nous attarderons \u00e0 ces sujets dans la deuxi\u00e8me partie de cet article.<\/p>\n<p>&nbsp;<\/p>\n<p><em><span style=\"font-size: small; font-family: inherit; font-weight: normal;\">\u00b9Nous utilisons majoritairement le f\u00e9minin afin d\u2019all\u00e9ger le texte<\/span><\/em><\/p>\n<p><em><span style=\"font-size: small; font-family: inherit; font-weight: normal;\">\u00b2Nous avons librement choisi de traduire les concepts les plus importants comme suit: story =&gt; histoire, form=&gt; formulaire, policy=&gt; politique, slot =&gt; case, featurized =&gt; caract\u00e9ris\u00e9e. Ces choix n\u2019engagent que nous.<\/span><\/em><\/p>\n<p><em><span style=\"font-size: small; font-family: inherit; font-weight: normal;\">\u00b3Le code a \u00e9t\u00e9 \u00e9crit en anglais; il s\u2019agit de code en source libre pouvant \u00eatre consult\u00e9 par quiconque. Il n\u2019a pas \u00e9t\u00e9 traduit pour conserver la correspondance avec le projet r\u00e9el.<\/span><\/em>[\/et_pb_text][\/et_pb_column]<br \/>\n[\/et_pb_row]<br \/>\n[\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[et_pb_section admin_label=\u00a0\u00bbsection\u00a0\u00bb] [et_pb_row admin_label=\u00a0\u00bbrow\u00a0\u00bb] [et_pb_column type=\u00a0\u00bb4_4&Prime;][et_pb_text admin_label=\u00a0\u00bbText\u00a0\u00bb] \u200bContexte Au moment o\u00f9 les mesures de confinement ont \u00e9t\u00e9 mises en place au Canada, nous avons \u00e9t\u00e9 approch\u00e9s par Dialogue, une compagnie sp\u00e9cialis\u00e9e en services de sant\u00e9 et t\u00e9l\u00e9m\u00e9decine, pour les aider dans la migration de Chlo\u00e9, leur agent conversationnel par r\u00e8gles pour la Covid-19, vers une [&hellip;]<\/p>\n","protected":false},"author":19,"featured_media":6974,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"off","_et_pb_old_content":"<h2><span style=\"font-size: x-large; font-family: Abel; font-weight: normal;\"><strong>\u200b<\/strong><\/span>Contexte<\/h2>\r\nAu moment o\u00f9 les mesures de confinement ont \u00e9t\u00e9 mises en place au Canada, nous avons \u00e9t\u00e9 approch\u00e9s par <a target=\"_blank\" href=\"https:\/\/www.dialogue.co\/fr\/\" rel=\"noopener\">Dialogue<\/a>, une compagnie sp\u00e9cialis\u00e9e en services de sant\u00e9 et t\u00e9l\u00e9m\u00e9decine, pour les aider dans la migration de Chlo\u00e9, leur chatbot par r\u00e8gles pour la Covid-19, vers une solution plus conversationnelle en utilisant <a target=\"_blank\" href=\"https:\/\/rasa.com\/\" rel=\"noopener\">Rasa<\/a>. Nous avions aussi comme mandat d\u2019y ajouter des fonctionnalit\u00e9s. Il s\u2019agissait d\u2019un projet it\u00e9ratif s\u2019\u00e9talant sur 10 semaines, en mode agile.\r\n\r\n<span style=\"font-size: x-large;\">Voici les principales fonctionnalit\u00e9s de Chlo\u00e9, \u00e0 haut niveau:<\/span>\r\n<ul>\r\n \t<li>Auto-\u00e9valuation: fournir des recommandations personnalis\u00e9es en fonction des sympt\u00f4mes et en suivant les consignes des gouvernements f\u00e9d\u00e9ral et provinciaux<\/li>\r\n \t<li>Questions-r\u00e9ponses (Q&R): permettre \u00e0 l\u2019utilisatrice\u00b9 de poser des questions au sujet de la Covid-19 en utilisant un <a target=\"_blank\" href=\"https:\/\/github.com\/dialoguemd\/covidfaq\" rel=\"noopener\">mod\u00e8le<\/a> d\u00e9velopp\u00e9 par le <a target=\"_blank\" href=\"https:\/\/mila.quebec\/\" rel=\"noopener\">Mila<\/a>.<\/li>\r\n \t<li>Suivi quotidien: aider les utilisateurs \u00e0 suivre leurs sympt\u00f4mes au jour le jour. Lorsque l\u2019utilisatrice s\u2019inscrit au suivi quotidien, elle re\u00e7oit un lien par texto une fois par jour qui lui permet de joindre Chlo\u00e9 afin d\u2019\u00e9valuer la progression de ses sympt\u00f4mes.<\/li>\r\n \t<li>Recherche de cliniques de d\u00e9pistage: \u00e0 l\u2019aide de son code postal, fournir \u00e0 l\u2019utilisatrice une liste de cliniques de d\u00e9pistage pr\u00e8s de chez elle gr\u00e2ce \u00e0 l\u2019<a target=\"_blank\" href=\"https:\/\/clinia.com\/en-ca\/product\/places\/covid-places\" rel=\"noopener\">API de Clinia<\/a>.<\/li>\r\n<\/ul>\r\nLa conception de Chlo\u00e9 a \u00e9t\u00e9 effectu\u00e9e de mani\u00e8re it\u00e9rative \u00e0 mesure que nous ajoutions des fonctionnalit\u00e9s et a \u00e9t\u00e9 ajust\u00e9e pour tenir compte des commentaires de l\u2019\u00e9quipe m\u00e9dicale de Dialogue et des testeurs, \u00e9voluant constamment. L\u2019impl\u00e9mentation suivait, pas tr\u00e8s loin derri\u00e8re. Il y a plusieurs fa\u00e7ons de d\u00e9velopper certains patrons de dialogue avec Rasa et compte tenu des modifications constantes au design, nos choix d\u2019impl\u00e9mentation nous donnaient souvent l\u2019impression d\u2019errer dans un labyrinthe. Nous avons fini par en trouver la sortie, non sans avoir rebrouss\u00e9 chemin \u00e0 quelques reprises pour \u00e9viter de frapper un mur ou de grimper une falaise. \u00c9tant donn\u00e9 que nous n\u2019avions pas, d\u2019entr\u00e9e de jeu, une id\u00e9e pr\u00e9cise du design final, certains choix d\u2019impl\u00e9mentation sont plus ou moins coh\u00e9rents, et \u00e9tant donn\u00e9 l\u2019\u00e9ch\u00e9ancier tr\u00e8s serr\u00e9, nous n\u2019avons pas pu effectuer toute la refactorisation voulue. Cependant, ce contexte nous a aussi permis d\u2019explorer des chemins que nous n\u2019aurions pas parcourus avec Rasa si nous avions eu le temps de r\u00e9pertorier des patrons et de cr\u00e9er des composants g\u00e9n\u00e9riques pour les r\u00e9aliser.\r\n\r\nDans cet article et dans le prochain de cette courte s\u00e9rie, je vais vous raconter l\u2019histoire du d\u00e9veloppement de Chlo\u00e9. Pour chaque \u00e9tape de notre parcours, je vais d\u00e9crire les principaux obstacles auxquels nous avons fait face ainsi que les d\u00e9cisions d\u2019impl\u00e9mentation que nous avons prises, souvent dans le feu de l\u2019action. Dans cette premi\u00e8re partie, nous allons principalement nous attarder aux fonctionnalit\u00e9s d\u2019auto-\u00e9valuation et de suivi quotidien.\r\n<h2><\/h2>\r\n<h2>\u00c9pisode 1: Les dialogues d'auto-\u00e9valuation<\/h2>\r\n<img class=\"wp-image-6934 alignnone size-full\" style=\"font-family: 'Roboto Slab', Georgia, 'Times New Roman', serif; font-size: 29px;\" src=\"https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/09\/avertissement.jpeg\" alt=\"\" width=\"1925\" height=\"258\" \/>\r\n<h3><\/h3>\r\n<h3>Sc\u00e8ne 1: Sprint vers la premi\u00e8re d\u00e9mo de l'auto-\u00e9valuation<\/h3>\r\nTr\u00e8s t\u00f4t dans le projet (c\u2019est-\u00e0-dire au 8e jour), on nous a demand\u00e9 si nous pouvions d\u00e9montrer un dialogue d\u2019auto-\u00e9valuation \u00e0 la fin de la journ\u00e9e. Lorsque nous avons re\u00e7u la demande, la version initiale du design mijotait encore dans la t\u00eate de notre conceptrice; nous avions un projet Rasa fonctionnel, mais aucun dialogue n\u2019avait \u00e9t\u00e9 impl\u00e9ment\u00e9. Quoi qu\u2019il en soit, nous avons retrouss\u00e9 nos manches et avons produit cette d\u00e9mo.\r\n\r\nLa d\u00e9mo initiale \u00e9tait un arbre de d\u00e9cision simple permettant d\u2019\u00e9valuer la gravit\u00e9 des sympt\u00f4mes de l\u2019utilisatrice et de proposer des recommandations ad\u00e9quates. Nous avons pris le chemin le plus court: pour chaque flux possible, nous avons d\u00e9fini une <em>histoire<\/em> (<a target=\"_blank\" href=\"https:\/\/rasa.com\/docs\/rasa\/core\/stories\/\" rel=\"noopener\">story<\/a>\u00b2) et avons utilis\u00e9 la <em>politique<\/em> de <a target=\"_blank\" href=\"https:\/\/rasa.com\/docs\/rasa\/core\/policies\/#augmented-memoization-policy\" rel=\"noopener\">m\u00e9mo\u00efsation<\/a>.\r\n<h3><\/h3>\r\n<h3>Sc\u00e8ne 2: Le chemin devient boueux \u00e0 mesure que les flux d\u2019auto-\u00e9valuation se multiplient<\/h3>\r\n<span style=\"font-size: x-large;\">Le prochain ajout majeur aux flux de dialogue a \u00e9t\u00e9 la distinction, \u00e0 l\u2019entr\u00e9e de l\u2019auto-\u00e9valuation, entre trois situations:<\/span>\r\n<ul>\r\n \t<li>L\u2019utilisatrice pense \u00eatre malade et veut \u00e9valuer ses sympt\u00f4mes (cas initial)<\/li>\r\n \t<li>Elle a re\u00e7u un r\u00e9sultat positif au test de d\u00e9pistage et veut \u00e9valuer ses sympt\u00f4mes et obtenir des conseils<\/li>\r\n \t<li>Elle a effectu\u00e9 l\u2019auto-\u00e9valuation pr\u00e9c\u00e9demment et revient pour r\u00e9\u00e9valuer ses sympt\u00f4mes<\/li>\r\n<\/ul>\r\nCette distinction a cr\u00e9\u00e9 un certain nombre de variations au flux de base, comme par exemple demander si les sympt\u00f4mes ont empir\u00e9 dans le cas d\u2019une r\u00e9\u00e9valuation, ou encore d\u00e9marrer le dialogue en recommandant \u00e0 la personne de s\u2019isoler si elle a re\u00e7u un r\u00e9sultat positif.\r\n\r\nNous avons suivi le m\u00eame chemin, ajoutant des <em>histoires<\/em> pour l\u2019impl\u00e9mentation de ces deux nouveaux flux de dialogue. Nous commencions toutefois \u00e0 constater que le nombre <em>d\u2019histoires<\/em> augmentait rapidement pour ces trois situations seulement (dont la complexit\u00e9 allait continuer \u00e0 augmenter), et que certaines portions semblables se r\u00e9p\u00e9taient entre les <em>histoires<\/em>.\r\n\r\n<em>Deux histoires semblables pour une personne ayant des sympt\u00f4mes l\u00e9gers\u00b3\r\n<\/em>\r\n\r\n<a target=\"_blank\" href=\"https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/09\/2.bmp\" rel=\"noopener\"><img class=\"wp-image-6894 size-full aligncenter\" src=\"https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/09\/2.bmp\" alt=\"\" width=\"576\" height=\"401\" \/><\/a>\r\n\r\n\u00a0\r\n\r\nNe voyant pas de solution simple \u00e0 ceci dans les <em>histoires<\/em> - les <a target=\"_blank\" href=\"https:\/\/rasa.com\/docs\/rasa\/core\/stories\/#checkpoints-and-or-statements\" rel=\"noopener\">checkpoints et les instructions de type OR<\/a> ne nous aidaient pas car les sections similaires \u00e9taient prises en sandwich entre les diff\u00e9rentes <em>intentions<\/em> (intents) et les variations qu\u2019elles cr\u00e9ent - nous n\u2019avons pas fait de changements significatifs \u00e0 l\u2019impl\u00e9mentation \u00e0 ce moment-l\u00e0.\r\n\r\nPendant que nous d\u00e9veloppions ces trois flux de dialogue, nous avons d\u00fb effectuer un ajout qui s\u2019appliquait aux trois: apr\u00e8s que l\u2019utilisatrice ait indiqu\u00e9 ne pas avoir de sympt\u00f4mes s\u00e9v\u00e8res, Chlo\u00e9 doit obtenir sa province de r\u00e9sidence et son \u00e2ge afin de lui fournir des recommandations plus pr\u00e9cises. Cette fois, la solution la plus simple a \u00e9t\u00e9 de recourir \u00e0 l\u2019utilisation d\u2019un <em>formulaire<\/em> (<a target=\"_blank\" href=\"https:\/\/rasa.com\/docs\/rasa\/core\/forms\/\" rel=\"noopener\">form<\/a>): l\u2019information doit \u00eatre conserv\u00e9e et le formulaire est facilement r\u00e9utilisable dans toutes nos <em>histoires<\/em>.\r\n<h3><\/h3>\r\n<h3><\/h3>\r\n<h3>Sc\u00e8ne 3: Voie rapide vers l\u2019inscription au suivi quotidien<\/h3>\r\n<span style=\"font-size: 18px;\"><span style=\"font-size: large;\"><span style=\"font-size: x-large;\">Passons \u00e0 la prochaine fonctionnalit\u00e9: nous avons ensuite ajout\u00e9 l\u2019inscription au suivi quotidien. Si l\u2019utilisatrice a des sympt\u00f4mes, alors Chlo\u00e9 lui offre le suivi quotidien. Si elle accepte, Chlo\u00e9 collecte son nom et son num\u00e9ro de t\u00e9l\u00e9phone, note si elle a des ant\u00e9c\u00e9dents m\u00e9dicaux ou des probl\u00e8mes de sant\u00e9 qui pourraient augmenter ses risques de complications, etc. Ce flux de dialogue \u00e9tait aussi sans contredit un <em>formulaire<\/em>. Dans la premi\u00e8re version, plus simple, bien que nous utilisions du texte libre pour collecter le pr\u00e9nom et le num\u00e9ro de t\u00e9l\u00e9phone, il n\u2019y avait pas vraiment de gestion d\u2019erreur: nous utilisions la totalit\u00e9 du texte entr\u00e9 pour le pr\u00e9nom et tous les chiffres entr\u00e9s pour le num\u00e9ro de t\u00e9l\u00e9phone, en v\u00e9rifiant seulement s\u2019il y avait 10 ou 11 chiffres, sans quoi le num\u00e9ro \u00e9tait demand\u00e9 de nouveau.<\/span><\/span>\r\n<\/span>\r\n<h3><\/h3>\r\n<h3><\/h3>\r\n<h3>Sc\u00e8ne 4: R\u00e9pondre \u00e0 des questions et suivre TED<\/h3>\r\nLa fonctionnalit\u00e9 de questions et r\u00e9ponses (Q&R) doit permettre \u00e0 l\u2019utilisatrice de poser toute question qu\u2019elle a au sujet de la Covid-19, envoyer cette question au module d\u00e9velopp\u00e9 par le Mila, recevoir la r\u00e9ponse et l\u2019afficher dans la conversation. Nous voulions rendre cette fonctionnalit\u00e9 disponible dans tous les flux de dialogue, en permettant d\u2019y acc\u00e9der par plusieurs endroits, mais aussi de poursuivre le dialogue dans diverses directions en fonction du r\u00e9sultat (je d\u00e9crirai les diff\u00e9rents types de r\u00e9sultat, de m\u00eame que les d\u00e9tails de cette fonctionnalit\u00e9 et son \u00e9volution, dans la prochaine partie de cet article).\r\n\r\nPuisque Chlo\u00e9 ne devait pas offrir d\u2019auto-\u00e9valuation si celle-ci avait d\u00e9j\u00e0 \u00e9t\u00e9 effectu\u00e9e au cours de la conversation, les transitions suivant le Q&R d\u00e9pendaient \u00e9galement de cela, ce qui a eu pour effet de multiplier les voies de sortie. La politique de m\u00e9mo\u00efsation n\u2019aurait pas suffi pour apprendre cette diff\u00e9rence puisqu\u2019il est possible de repasser dans le module de Q&R \u00e0 plusieurs reprises. Par cons\u00e9quent, nous avons ajout\u00e9 une <em>case caract\u00e9ris\u00e9e<\/em> (<a target=\"_blank\" href=\"https:\/\/rasa.com\/docs\/rasa\/core\/slots\/#slot-types\" rel=\"noopener\">featurized slot<\/a>) nomm\u00e9e <em>self_assess_done<\/em>, combin\u00e9e avec les histoires d\u2019auto-\u00e9valuation et de Q&R, et nous nous avons eu recours \u00e0 la <em>politique <a target=\"_blank\" href=\"https:\/\/rasa.com\/docs\/rasa\/core\/policies\/#ted-policy\" rel=\"noopener\">TED<\/a><\/em> pour apprendre \u00e0 partir de quelques exemples. Cela a fonctionn\u00e9, mais notre fichier <em>d\u2019histoires<\/em> a soudainement beaucoup enfl\u00e9.\r\n\r\n\u00a0\r\n<h3><span style=\"font-family: 'Roboto Slab', Georgia, 'Times New Roman', serif; font-size: 29px;\">Intermission: Volte-face vers les formulaires pour \u00e9viter une jungle d\u2019histoires<\/span><\/h3>\r\nEntrevoyant la multiplication et l\u2019allongement \u00e0 venir de nos <em>histoires<\/em>, nous avons d\u00e9cid\u00e9 de transf\u00e9rer la partie commune des \u00e9valuations dans un <em>formulaire<\/em> avant d\u2019int\u00e9grer compl\u00e8tement le Q&R. Cela nous permettrait de raccourcir et de simplifier les <em>histoires<\/em>, mais \u00e9galement de faciliter la collecte d\u2019informations sous forme de cases (pr\u00e9sence de toux ou de fi\u00e8vre, qui \u00e9taient deux questions r\u00e9cemment ajout\u00e9es, ainsi que la gravit\u00e9 des sympt\u00f4mes), ces derni\u00e8res \u00e9tant n\u00e9cessaires si l\u2019utilisatrice s\u2019inscrivait au suivi quotidien. Un <em>formulaire<\/em> permettait, oui, de r\u00e9duire la redondance, mais nous for\u00e7ait aussi \u00e0 utiliser un ensemble de cases interm\u00e9diaires jetables afin de poser la s\u00e9rie de questions n\u00e9cessaires pour d\u00e9terminer la valeur d\u2019une case unique correspondant \u00e0 la gravit\u00e9 des sympt\u00f4mes. Cette case unique \u00e9tait caract\u00e9ris\u00e9e pour personnaliser l\u2019offre de suivi quotidien et les recommandations faisant suite au <em>formulaire<\/em> dans les <em>histoires<\/em>.\r\n\r\nCependant, ce <em>formulaire<\/em> unique d\u2019\u00e9valuation n\u2019a pas fait long feu; le design a chang\u00e9 d\u00e8s que nous avons eu le dos tourn\u00e9. Deux messages de recommandations, au sujet de l\u2019isolement et de l\u2019assistance \u00e0 domicile, ont \u00e9t\u00e9 remplac\u00e9s par de petits flux de dialogue contenant chacun une question. La conception et l\u2019impl\u00e9mentation de ceux-ci ont beaucoup chang\u00e9. Au d\u00e9part, les deux flux \u00e9taient des <em>formulaires<\/em> qui ont \u00e9t\u00e9 ins\u00e9r\u00e9s l\u00e0 o\u00f9 se trouvaient les messages correspondants. Ensuite, nous avons d\u00fb tripler le formulaire d\u2019\u00e9valuation pour y ins\u00e9rer le flux d\u2019isolement au d\u00e9but, au milieu ou \u00e0 la fin selon la situation (\u00e9valuation r\u00e9guli\u00e8re, test positif ou r\u00e9\u00e9valuation). Plus tard, le flux d\u2019isolement a \u00e9t\u00e9 d\u00e9plac\u00e9 et modifi\u00e9 pour chaque situation, mais nous avons conserv\u00e9 trois versions distinctes du <em>formulaire<\/em> d\u2019\u00e9valuation pour graduellement y inclure les questions sp\u00e9cifiques qui ne faisaient pas partie de la version commune. Nous avons conserv\u00e9 du code en commun, mais le \u201ccomment\u201d a \u00e9volu\u00e9 avec le temps; nous \u00e9laborerons davantage sur ce sujet lorsque la question de la modularit\u00e9 sera trait\u00e9e dans un futur article.\r\n\r\n<span style=\"font-size: x-large;\">\u00c0 cette \u00e9tape du projet, notre mod\u00e8le g\u00e9n\u00e9ral utilise une combinaison <em>d\u2019histoires<\/em>, de <em>formulaires<\/em> et <em>d\u2019<a target=\"_blank\" href=\"https:\/\/rasa.com\/docs\/rasa\/core\/actions\/\" rel=\"noopener\">actions<\/a><\/em>; et peut \u00eatre r\u00e9sum\u00e9 ainsi:<\/span>\r\n<ul>\r\n \t<li><em>Histoires<\/em>: effectuer la transition entre les flux et sous-flux de dialogue, d\u00e9finir les s\u00e9quences de formulaires, conditions et actions possibles pour chaque fonctionnalit\u00e9 et dialogue \u00e0 haut niveau<\/li>\r\n \t<li><em>Formulaires<\/em>: collecter des \u00e9l\u00e9ments d\u2019information et d\u00e9finir des arbres de d\u00e9cision, g\u00e9rer les sous-dialogues r\u00e9utilisables incluant au moins une question, etc.<\/li>\r\n \t<li><em>Actions<\/em>: utilisation vari\u00e9e lorsque la collecte d\u2019information n\u2019est pas requise, notamment l\u2019affichage de plusieurs messages cons\u00e9cutifs<\/li>\r\n<\/ul>\r\nVoici un exemple <em>d\u2019histoire<\/em> illustrant le mod\u00e8le \u00e0 ce point-ci:\r\n\r\n<em>Flux d\u2019auto-\u00e9valuation de base suivi d\u2019une question<\/em>\r\n\r\n\u00a0\r\n\r\n<a target=\"_blank\" href=\"https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/09\/3.bmp\" rel=\"noopener\"><img class=\"wp-image-6896 size-full aligncenter\" src=\"https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/09\/3.bmp\" alt=\"\" width=\"425\" height=\"493\" \/><\/a>\r\n<h3><\/h3>\r\n<h3><\/h3>\r\n<h3>Sc\u00e8ne 5: Suivi quotidien; un autre type d\u2019\u00e9valuation, un chemin connu<\/h3>\r\n<span style=\"font-size: 18px;\"><span style=\"font-size: large;\"><span style=\"font-size: x-large;\">Le but du suivi quotidien est de contacter l\u2019utilisatrice (qui s\u2019est pr\u00e9alablement inscrite) chaque jour pour \u00e9valuer ses sympt\u00f4mes et, entre autres choses, suivre leur progression. Une question initiale permet de d\u00e9terminer laquelle de ces trois situations s\u2019applique \u00e0 l'utilisatrice: elle se sent mieux que la veille, elle se sent plus mal, ou il n\u2019y a pas de changement. Chaque situation a son propre arbre de d\u00e9cision, et chacun pr\u00e9sente des variations en fonction des sympt\u00f4mes de la veille. Bien que certaines questions soient communes aux trois flux de dialogue, globalement, les similarit\u00e9s \u00e9taient insuffisantes pour pouvoir r\u00e9utiliser des portions significatives du dialogue. Par cons\u00e9quent, riches de notre exp\u00e9rience dans l\u2019impl\u00e9mentation des flux d\u2019auto-\u00e9valuation, nous savions que la meilleure fa\u00e7on d\u2019impl\u00e9menter les flux de suivi quotidien serait par le biais de trois<\/span> <em>formulaires<\/em> distincts.<\/span>\r\n<\/span>\r\n<h3><\/h3>\r\n<h3>Sc\u00e8ne 5.5: Jusqu\u2019au bout du suivi quotidien<\/h3>\r\n<span style=\"font-size: 18px;\"><span style=\"font-size: large;\"><span style=\"font-size: x-large;\">Il y avait beaucoup plus que l\u2019\u00e9valuation au suivi quotidien: un dialogue de \u201clien invalide\u201d (l\u2019identifiant de l\u2019URL envoy\u00e9 \u00e0 l\u2019utilisatrice pour acc\u00e9der au suivi quotidien n\u2019existe pas), la possibilit\u00e9 de se d\u00e9sinscrire en un clic avant l\u2019\u00e9valuation, et une autre, selon les sympt\u00f4mes, apr\u00e8s l\u2019\u00e9valuation, ainsi qu\u2019un ensemble de recommandations \u00e0 la fin de la conversation. Le dialogue de lien invalide a \u00e9t\u00e9 ajout\u00e9 sous forme <em>d\u2019histoires<\/em> puisqu\u2019il faisait simplement le pont avec d\u2019autres fonctionnalit\u00e9s. Les offres de d\u00e9sinscription ont \u00e9t\u00e9 ajout\u00e9es comme <em>formulaires<\/em> puisque nous collections de l\u2019information et devions interroger notre base de donn\u00e9es. Les recommandations, quant \u00e0 elles, ont d\u2019abord fait partie d\u2019une action constituant un flux ind\u00e9pendant, appel\u00e9 si n\u00e9cessaire comme <em>action subs\u00e9quente<\/em> (<em><a target=\"_blank\" href=\"https:\/\/rasa.com\/docs\/rasa\/api\/events\/#force-a-followup-action\" rel=\"noopener\">followup action<\/a><\/em>) dans les <em>formulaires<\/em> de suivi quotidien ou de d\u00e9sinscription. Nous nous sommes toutefois rendu compte par la suite que les actions subs\u00e9quentes devaient quand m\u00eame faire partie des <em>histoires<\/em>, et lorsque nous avons ajout\u00e9 les transitions vers d\u2019autres fonctionnalit\u00e9s, il nous est apparu plus logique d\u2019inclure les recommandations directement dans le formulaire.<\/span><\/span>\r\n<\/span>\r\n<h2><\/h2>\r\n<h2><\/h2>\r\n<h2>Dans le prochain \u00e9pisode<\/h2>\r\nDans cette premi\u00e8re partie, j\u2019ai d\u00e9crit comment nous avons utilis\u00e9 les <em>histoires<\/em> et les <em>formulaires<\/em> pour impl\u00e9menter les multiples variantes des flux de dialogue d\u2019auto-\u00e9valuation et de suivi quotidien. Quoique les <em>histoires<\/em> \u00e9taient ad\u00e9quates au d\u00e9part pour d\u00e9finir des arbres de d\u00e9cision simples contenant peu de branches, il est rapidement devenu \u00e9vident qu\u2019elles ne constituaient pas le meilleur outil pour impl\u00e9menter des arbres de d\u00e9cision complexes, des branchements conditionnels ou encore des portions de flux r\u00e9utilisables. Nous avons donc d\u00fb cr\u00e9er plusieurs <em>formulaires<\/em> qui ont \u00e9t\u00e9 ench\u00e2ss\u00e9s dans des <em>histoires<\/em>, et recourir aux histoires pour g\u00e9rer les flux \u00e0 plus haut niveau.\r\n\r\n<span style=\"font-size: x-large;\">Dans les phases suivantes du projet, nous avons ajout\u00e9 aux fonctionnalit\u00e9s initiales les \u00e9l\u00e9ments suivants:<\/span>\r\n<ul>\r\n \t<li>Nous avons augment\u00e9 et am\u00e9lior\u00e9 les flux du Q&R<\/li>\r\n \t<li>Nous avons ajout\u00e9 la recherche de cliniques de d\u00e9pistage<\/li>\r\n \t<li>Nous avons ajout\u00e9 le support au langage naturel (NLU), d\u2019abord dans certaines portions du dialogue, et au final partout<\/li>\r\n<\/ul>\r\nCes ajouts ont soulev\u00e9 de nouveaux enjeux et pr\u00e9sent\u00e9 de nouveaux d\u00e9fis quant \u00e0 la fa\u00e7on d\u2019utiliser Rasa, non seulement dans la conception et le d\u00e9veloppement des dialogues, mais aussi pour s\u2019assurer que la performance et la pr\u00e9cision du traitement du langage naturel soient ad\u00e9quates.\r\n\r\nNous nous attarderons \u00e0 ces sujets dans la deuxi\u00e8me partie de cet article.\r\n\r\n\u00a0\r\n\r\n<em><span style=\"font-size: small; font-family: inherit; font-weight: normal;\">\u00b9Nous utilisons majoritairement le f\u00e9minin afin d\u2019all\u00e9ger le texte<\/span><\/em>\r\n\r\n<em><span style=\"font-size: small; font-family: inherit; font-weight: normal;\">\u00b2Nous avons librement choisi de traduire les concepts les plus importants comme suit: story => histoire, form=> formulaire, policy=> politique, slot => case, featurized => caract\u00e9ris\u00e9e. Ces choix n\u2019engagent que nous.<\/span><\/em>\r\n\r\n<em><span style=\"font-size: small; font-family: inherit; font-weight: normal;\">\u00b3Le code a \u00e9t\u00e9 \u00e9crit en anglais; il s\u2019agit de code en source libre pouvant \u00eatre consult\u00e9 par quiconque. Il n\u2019a pas \u00e9t\u00e9 traduit pour conserver la correspondance avec le projet r\u00e9el.<\/span><\/em>","_et_gb_content_width":"","om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[5],"tags":[54],"class_list":["post-6908","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blogue","tag-agent-conversationnel"],"aioseo_notices":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Chlo\u00e9: L\u2019\u00e9volution, ou D\u00e9velopper un agent conversationnel pour la Covid-19 avec Rasa &#183; AI Virtual Voice Experts with Google Dialogflow CX - CCAI - Nu Echo<\/title>\n<meta name=\"description\" content=\"Chlo\u00e9: L\u2019\u00e9volution, ou D\u00e9velopper un agent conversationnel pour la Covid-19 avec Rasa\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Chlo\u00e9: L\u2019\u00e9volution, ou D\u00e9velopper un agent conversationnel pour la Covid-19 avec Rasa &#183; AI Virtual Voice Experts with Google Dialogflow CX - CCAI - Nu Echo\" \/>\n<meta property=\"og:description\" content=\"Chlo\u00e9: L\u2019\u00e9volution, ou D\u00e9velopper un agent conversationnel pour la Covid-19 avec Rasa\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/\" \/>\n<meta property=\"og:site_name\" content=\"AI Virtual Voice Experts with Google Dialogflow CX - CCAI - Nu Echo\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/nuechoinc\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-09-03T20:26:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-01-20T20:52:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.nuecho.com\/wp-content\/uploads\/2019\/11\/Speech-Analytics.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1500\" \/>\n\t<meta property=\"og:image:height\" content=\"1500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Karine Dery\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@nuecho\" \/>\n<meta name=\"twitter:site\" content=\"@nuecho\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Karine Dery\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/\"},\"author\":{\"name\":\"Karine Dery\",\"@id\":\"https:\/\/www.nuecho.com\/fr\/#\/schema\/person\/63d5b2c316ed3d11678b2c2a74f949bc\"},\"headline\":\"Chlo\u00e9: L\u2019\u00e9volution, ou D\u00e9velopper un agent conversationnel pour la Covid-19 avec Rasa\",\"datePublished\":\"2020-09-03T20:26:06+00:00\",\"dateModified\":\"2022-01-20T20:52:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/\"},\"wordCount\":2712,\"publisher\":{\"@id\":\"https:\/\/www.nuecho.com\/fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/09\/Chlo\u00e9-je-pense-que-jai-la-covid-19.bmp\",\"keywords\":[\"agent conversationnel\"],\"articleSection\":[\"Blogue\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/\",\"url\":\"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/\",\"name\":\"Chlo\u00e9: L\u2019\u00e9volution, ou D\u00e9velopper un agent conversationnel pour la Covid-19 avec Rasa &#183; AI Virtual Voice Experts with Google Dialogflow CX - CCAI - Nu Echo\",\"isPartOf\":{\"@id\":\"https:\/\/www.nuecho.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/09\/Chlo\u00e9-je-pense-que-jai-la-covid-19.bmp\",\"datePublished\":\"2020-09-03T20:26:06+00:00\",\"dateModified\":\"2022-01-20T20:52:53+00:00\",\"description\":\"Chlo\u00e9: L\u2019\u00e9volution, ou D\u00e9velopper un agent conversationnel pour la Covid-19 avec Rasa\",\"breadcrumb\":{\"@id\":\"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/#primaryimage\",\"url\":\"https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/09\/Chlo\u00e9-je-pense-que-jai-la-covid-19.bmp\",\"contentUrl\":\"https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/09\/Chlo\u00e9-je-pense-que-jai-la-covid-19.bmp\",\"width\":576,\"height\":258},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.nuecho.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Chlo\u00e9: L\u2019\u00e9volution, ou D\u00e9velopper un agent conversationnel pour la Covid-19 avec Rasa\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.nuecho.com\/fr\/#website\",\"url\":\"https:\/\/www.nuecho.com\/fr\/\",\"name\":\"AI Virtual Voice Experts with Google Dialogflow CX - CCAI - Nu Echo\",\"description\":\"Nu Echo\",\"publisher\":{\"@id\":\"https:\/\/www.nuecho.com\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.nuecho.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.nuecho.com\/fr\/#organization\",\"name\":\"Nu Echo - Conversation AI | IA Conversationnelle\",\"url\":\"https:\/\/www.nuecho.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.nuecho.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.nuecho.com\/wp-content\/uploads\/2019\/03\/bottom-logo.png\",\"contentUrl\":\"https:\/\/www.nuecho.com\/wp-content\/uploads\/2019\/03\/bottom-logo.png\",\"width\":138,\"height\":27,\"caption\":\"Nu Echo - Conversation AI | IA Conversationnelle\"},\"image\":{\"@id\":\"https:\/\/www.nuecho.com\/fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/nuechoinc\/\",\"https:\/\/x.com\/nuecho\",\"https:\/\/ca.linkedin.com\/company\/nu-echo\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.nuecho.com\/fr\/#\/schema\/person\/63d5b2c316ed3d11678b2c2a74f949bc\",\"name\":\"Karine Dery\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.nuecho.com\/fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/01\/2016-10-08-346-Karine-150x150.jpg\",\"contentUrl\":\"https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/01\/2016-10-08-346-Karine-150x150.jpg\",\"caption\":\"Karine Dery\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/karine-dry-8a6b8516a\/\"],\"url\":\"https:\/\/www.nuecho.com\/fr\/author\/kdery\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Chlo\u00e9: L\u2019\u00e9volution, ou D\u00e9velopper un agent conversationnel pour la Covid-19 avec Rasa &#183; AI Virtual Voice Experts with Google Dialogflow CX - CCAI - Nu Echo","description":"Chlo\u00e9: L\u2019\u00e9volution, ou D\u00e9velopper un agent conversationnel pour la Covid-19 avec Rasa","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/","og_locale":"fr_FR","og_type":"article","og_title":"Chlo\u00e9: L\u2019\u00e9volution, ou D\u00e9velopper un agent conversationnel pour la Covid-19 avec Rasa &#183; AI Virtual Voice Experts with Google Dialogflow CX - CCAI - Nu Echo","og_description":"Chlo\u00e9: L\u2019\u00e9volution, ou D\u00e9velopper un agent conversationnel pour la Covid-19 avec Rasa","og_url":"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/","og_site_name":"AI Virtual Voice Experts with Google Dialogflow CX - CCAI - Nu Echo","article_publisher":"https:\/\/www.facebook.com\/nuechoinc\/","article_published_time":"2020-09-03T20:26:06+00:00","article_modified_time":"2022-01-20T20:52:53+00:00","og_image":[{"width":1500,"height":1500,"url":"https:\/\/www.nuecho.com\/wp-content\/uploads\/2019\/11\/Speech-Analytics.png","type":"image\/png"}],"author":"Karine Dery","twitter_card":"summary_large_image","twitter_creator":"@nuecho","twitter_site":"@nuecho","twitter_misc":{"\u00c9crit par":"Karine Dery","Dur\u00e9e de lecture estim\u00e9e":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/#article","isPartOf":{"@id":"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/"},"author":{"name":"Karine Dery","@id":"https:\/\/www.nuecho.com\/fr\/#\/schema\/person\/63d5b2c316ed3d11678b2c2a74f949bc"},"headline":"Chlo\u00e9: L\u2019\u00e9volution, ou D\u00e9velopper un agent conversationnel pour la Covid-19 avec Rasa","datePublished":"2020-09-03T20:26:06+00:00","dateModified":"2022-01-20T20:52:53+00:00","mainEntityOfPage":{"@id":"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/"},"wordCount":2712,"publisher":{"@id":"https:\/\/www.nuecho.com\/fr\/#organization"},"image":{"@id":"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/#primaryimage"},"thumbnailUrl":"https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/09\/Chlo\u00e9-je-pense-que-jai-la-covid-19.bmp","keywords":["agent conversationnel"],"articleSection":["Blogue"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/","url":"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/","name":"Chlo\u00e9: L\u2019\u00e9volution, ou D\u00e9velopper un agent conversationnel pour la Covid-19 avec Rasa &#183; AI Virtual Voice Experts with Google Dialogflow CX - CCAI - Nu Echo","isPartOf":{"@id":"https:\/\/www.nuecho.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/#primaryimage"},"image":{"@id":"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/#primaryimage"},"thumbnailUrl":"https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/09\/Chlo\u00e9-je-pense-que-jai-la-covid-19.bmp","datePublished":"2020-09-03T20:26:06+00:00","dateModified":"2022-01-20T20:52:53+00:00","description":"Chlo\u00e9: L\u2019\u00e9volution, ou D\u00e9velopper un agent conversationnel pour la Covid-19 avec Rasa","breadcrumb":{"@id":"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/#primaryimage","url":"https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/09\/Chlo\u00e9-je-pense-que-jai-la-covid-19.bmp","contentUrl":"https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/09\/Chlo\u00e9-je-pense-que-jai-la-covid-19.bmp","width":576,"height":258},{"@type":"BreadcrumbList","@id":"https:\/\/www.nuecho.com\/fr\/chloe-levolution-ou-developper-un-agent-conversationnel-pour-la-covid-19-avec-rasa\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.nuecho.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Chlo\u00e9: L\u2019\u00e9volution, ou D\u00e9velopper un agent conversationnel pour la Covid-19 avec Rasa"}]},{"@type":"WebSite","@id":"https:\/\/www.nuecho.com\/fr\/#website","url":"https:\/\/www.nuecho.com\/fr\/","name":"AI Virtual Voice Experts with Google Dialogflow CX - CCAI - Nu Echo","description":"Nu Echo","publisher":{"@id":"https:\/\/www.nuecho.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.nuecho.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.nuecho.com\/fr\/#organization","name":"Nu Echo - Conversation AI | IA Conversationnelle","url":"https:\/\/www.nuecho.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.nuecho.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/www.nuecho.com\/wp-content\/uploads\/2019\/03\/bottom-logo.png","contentUrl":"https:\/\/www.nuecho.com\/wp-content\/uploads\/2019\/03\/bottom-logo.png","width":138,"height":27,"caption":"Nu Echo - Conversation AI | IA Conversationnelle"},"image":{"@id":"https:\/\/www.nuecho.com\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/nuechoinc\/","https:\/\/x.com\/nuecho","https:\/\/ca.linkedin.com\/company\/nu-echo"]},{"@type":"Person","@id":"https:\/\/www.nuecho.com\/fr\/#\/schema\/person\/63d5b2c316ed3d11678b2c2a74f949bc","name":"Karine Dery","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.nuecho.com\/fr\/#\/schema\/person\/image\/","url":"https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/01\/2016-10-08-346-Karine-150x150.jpg","contentUrl":"https:\/\/www.nuecho.com\/wp-content\/uploads\/2020\/01\/2016-10-08-346-Karine-150x150.jpg","caption":"Karine Dery"},"sameAs":["https:\/\/www.linkedin.com\/in\/karine-dry-8a6b8516a\/"],"url":"https:\/\/www.nuecho.com\/fr\/author\/kdery\/"}]}},"_links":{"self":[{"href":"https:\/\/www.nuecho.com\/fr\/wp-json\/wp\/v2\/posts\/6908","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nuecho.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nuecho.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nuecho.com\/fr\/wp-json\/wp\/v2\/users\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nuecho.com\/fr\/wp-json\/wp\/v2\/comments?post=6908"}],"version-history":[{"count":10,"href":"https:\/\/www.nuecho.com\/fr\/wp-json\/wp\/v2\/posts\/6908\/revisions"}],"predecessor-version":[{"id":9379,"href":"https:\/\/www.nuecho.com\/fr\/wp-json\/wp\/v2\/posts\/6908\/revisions\/9379"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.nuecho.com\/fr\/wp-json\/wp\/v2\/media\/6974"}],"wp:attachment":[{"href":"https:\/\/www.nuecho.com\/fr\/wp-json\/wp\/v2\/media?parent=6908"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nuecho.com\/fr\/wp-json\/wp\/v2\/categories?post=6908"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nuecho.com\/fr\/wp-json\/wp\/v2\/tags?post=6908"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}