3. global.azurebootcamp.net
Bot ?
• Programme qui opère de manière autonome et automatise des
actions.
• Pas forcément intelligent.
• Différents types de bot : bot conversationnel, crawler,…
4. global.azurebootcamp.net
Bot design
• Bot design = réflexion sur le design du bot.
• Phase de conception avant le développement.
• Réfléchir sur :
• Les tâches/scope
• L’identité/personnalité
• L’ux conversationnel
4
5. global.azurebootcamp.net
Bot design : Bad bot
• Duplication de fonctionnalité.
• Vouloir en faire trop.
• Pas de fallback humain.
• Manque de transparence
• Conversation versus information
• Mauvaise UI
• Mauvaise compréhension du contexte
• Mauvaise gestion des erreurs humaines
• …
5
11. global.azurebootcamp.net
Bot Builder SDK
Dialog :
• Bloc de conversation
• Chargé sous forme de stack (LIFO)
Message :
• Echangé au sein d’un Dialog.
• Plusieurs contenus possibles (texte, voix, Rich Card, …)
Action :
• Attachée à un Dialog
• Charge un Dialog dans la stack
• Contextuel ou Global
Reconizer :
• Utilisé par les Actions.
• Charge un dialog en fonction des intentions de l’utilisateur
• RegExp ou Luis ou Custom
12. global.azurebootcamp.net
Bot Builder SDK V4 (Work In Progress)
• 2 nouveaux langage supporté : Java et Python.
• Changement d’architecture -> layered approach :
• Conversation : gestion des conversations.
• Middleware : hook lors de la réception et envoie de message.
• Memory : persistance de l’état du bot.
• …
12
13. global.azurebootcamp.net
Bot Builder SDK V4 : roadmap
• Mars 2018 : sécurisation de l’architecture
• Avril 2018 : migration v3->v4
• Mai 2018 : travail sur la qualité, public preview
13
Dailog linéaire : collecte des informations pour engager une actions
Dailog non linéaire : dépende des réponse des utilisateurs
Pour l’ux conversationel on peut écrire des scripts de dialog ou réaliser des schéma de conception
Conversation versus information : définir clairement les chemin menant à l’information, pas de surenchère d’humanisme,… Dessiner des limites que le bot ne pourra franchir.
Mauvaise compréhension du contexte : sauvegarde des précédente information, aidé par le NLP
Exemple 1 : manque de transparence, conversation vs information
Exemple 2 : gestion des erreurs
Exemple 3 : perte du contexte
Dialog : expliquer la stack, redirection de dialog, prompter l’utilisateur (text, number, button, …), waterfall, …
Messages : text, speech, card, … Peuvent être pro-actif (non lié au retour d’un utilisateur)
Reconizer : intention mapping avec un dialog.
Action : triggerAction global, reloadAction contextual, cancelAction contextual, Lorsqu’une phrase arrive on check toutes les actions lié au dialog dans la stack (contextuelle) sinon on check les action global. Match : quand charger ce dialog.