Créer et déployer un chatbot à l'aide de Dialogflow (présentation)

Cet article présente une série de tutoriels en plusieurs parties qui expliquent comment créer, sécuriser et faire évoluer un chatbot à l'aide de Dialogflow dans Google Cloud. Ce tutoriel s'adresse aux développeurs et aux ingénieurs souhaitant créer un chatbot basé sur leurs propres données.

L'histoire des interfaces utilisateur de conversation est aussi ancienne que celle des ordinateurs modernes. Créé entre 1964 et 1966 au laboratoire d'intelligence artificielle du MIT, ELIZA fut l'un des premiers systèmes informatiques de traitement du langage naturel. Les chatbots en sont un type. Les systèmes de réponse aux questions, capables de comprendre les questions des utilisateurs et d'y répondre, sont une version bien connue des chatbots. Le système Watson d'IBM, par exemple, est un système capable de répondre aux questions posées en langage naturel.

Récemment, les chatbots de QR ont considérablement évolué avec l'introduction de produits tels que Siri, Cortana et l'Assistant Google. Le schéma suivant représente l'architecture type d'un système de bot conversationnel.

Architecture d'un système de chatbot

L'architecture du système comprend les composants suivants :

  • Intégration multicanal : toute interface de conversation se connecte à plusieurs canaux, qui peuvent être au format voix et texte.
  • Gestion des conversations : ce composant constitue le cœur de l'interface et fournit généralement les fonctionnalités suivantes :

    • Reconnaissance vocale (STT) et synthèse vocale (TTS) : les interfaces de conversation peuvent interagir avec la parole et le texte.
    • Agent virtuel : les agents sont responsables de la gestion des flux conversationnels en fonction de l'intention ou de la motivation extraite de la conversation de l'utilisateur. Une bonne interface conversationnelle dispose d'un agent capable de gérer des conversations linéaires et non linéaires.
  • Interface de fulfillment : aucune interface conversationnelle n'est complète sans une interface de fulfillment robuste, indispensable pour connecter des agents virtuels à des systèmes externes. Cette interface permet la connexion à des systèmes externes afin d'extraire des informations dynamiques et de poursuivre ou mener à bien une conversation.

Dialogflow est une suite de développement de bout en bout de type conception unique/déploiement universel. Elle est destinée à la création d'interfaces conversationnelles pour les sites Web, les applications mobiles, les plates-formes de messagerie couramment utilisées et les appareils IoT. Vous pouvez l'utiliser pour élaborer des interfaces telles que des chatbots et des systèmes de réponse vocale interactive, qui offrent des interactions riches et naturelles avec les utilisateurs.

La création d'un chatbot passe par le prétraitement de données afin de créer des thèmes, puis par l'extraction et l'enregistrement de synonymes associés à des thèmes donnés. Ces données sont importées dans Dialogflow et les thèmes dans des entités. Les entités constituent le mécanisme de Dialogflow permettant d'identifier et d'extraire des données utiles à partir d'entrées en langage naturel. Une fois les entités en place, vous créez des intents dans votre agent, qui mappent les entrées utilisateur avec les réponses. Dans chaque intent, vous définissez des exemples d'instructions utilisateur pouvant le déclencher, les éléments à extraire de l'instruction et la manière d'y répondre.

Dialogflow peut se connecter, intent par intent, à des systèmes externes à l'aide du code de fulfillment déployé en tant que webhook. Au cours d'une conversation, le code de fulfillment vous permet d'utiliser les informations extraites par le système de traitement du langage naturel de Dialogflow pour générer des réponses dynamiques ou déclencher des actions sur votre backend.

Enfin, vous déployez une interface utilisateur personnalisée qui interagit avec le chatbot à l'aide de l'API JavaScript de Dialogflow.

Étapes suivantes

Cette série de tutoriels est constituée des articles suivants :