Lors du meetup LyonJS du 8 janvier 2019, nous avons échangé sur le développement de chatbots avec JavaScript, Node.js et le framework open source Botkit. Un bot d'exemple sur Slack a été décortiqué pour comprendre les grands principes de fonctionnement de Botkit.
2. Qui suis-je ?
Christophe Bouvard – Entrepreneur, créateur de chatbots et d'assistants virtuels
Chatbot clé en main pour les
entreprises et leurs collaborateurs :
• Support informatique / helpdesk,
• Support administratif / RH,
• Tout domaine de l’entreprise.
Méthodologie pour faire grandir les idées
d’expériences conversationnelles :
• Concevoir,
• Prototyper et itérer,
• Apprendre à partir des
expérimentations.
3. Livre paru en décembre
https://www.editions-eni.fr/livre/botkit-developpez-vos-bots-avec-javascript-et-node-js-9782409016646
6. Compétences du chatbot Astro
• Dire bonjour
• Déterminer le signe astrologie de l’utilisateur
• Gérer la non compréhension
7. Botkit
• Framework de développement de bots
• Messageries supportées : Slack, FB Messenger, Skype, Web, SMS, …
• 8,7k ★ sur Github
• Dates clés :
• Fin 2015 : Howdy (XOXCO) lance Botkit en même que l’annonce du support
des bots par Slack
• Fin 2018 : Microsoft annonce le rachat d’Howdy
14. Configuration dans Slack
• Aller dans l’interface Slack API (https://api.slack.com/apps)
• Créer une app au niveau de la plate-forme Slack
• Ajouter un « Bot User »
• Installer l’app dans un espace de travail
• Positionner le jeton « Bot User OAuth Access Token » et le secret de
signature en variables d’environnement
15. Compétence Bonjour
(1)
(1) Pattern(s) à vérifier sur le message de l’utilisateur
(2) Type(s) d’événement
(3) Fonction callback invoquée par Botkit à l’arrivée de l’événement
(4) Réponse simple du bot
(2)
(3)
(4)
16. Gestion de la non compréhension
Avertissement : ce traitement par défaut des messages utilisateurs est
volontairement simpliste pour alléger le contenu de la présentation.
Utiliser ce type de traitement dans un bot à destination des vrais
humains serait criminel. Merci de votre attention.
17. Compétence Signe (1/2) Animation de conversation par Botkit
avec une file de messages/questions
19. Intelligence artificielle pour les chatbots
• Compréhension du langage naturel (NLU)
• Intégration des moteurs d’IA / NLU dans Botkit via un mécanisme de
middleware
• Exemple de middleware à installer : npm install botkit-middleware-
watson
Moteur
d’intelligence
artificielle (NLU)
Phrase Phrase
Données
actionnables
21. Quelques évolutions possibles du bot Astro
• Fonctionnellement
• Ajout de compétences !!!
• Avec Slack
• Interactions avec des composants
graphiques : boutons, dialogues, …
• Commande Slack du type « /astro »
• Notifications push
• Avec Botkit
• Autres canaux : Facebook Messenger,
Skype, …
• Connexion à une base de données pour le
contexte utilisateur
Aperçu de blocks dans Slack
22. 3 clés pour des chatbots réussis
Bons outils
(facile à dire…)
CUX Design
(vraiment !)
Entraînement du bot
(oui, et ce n’est pas si évident)
23. Continuons la discussion
• Meetup Chatbots & Digital Assistants Lyon
• https://www.meetup.com/fr-FR/Chatbots-Voice-Assistants-Lyon/
• Prochain meetup : mardi 5 février
• Groupe LinkedIn Chatbots & Digital Assistants Rhône-Alpes
• https://www.linkedin.com/groups/8705775/
24. Aller plus loin avec Botkit ?
https://www.editions-eni.fr/livre/botkit-developpez-vos-bots-avec-javascript-et-node-js-9782409016646