Actions conversationnelles (Dialogflow)

Les actions de conversation étendent les fonctionnalités de l'Assistant Google en permettant aux développeurs de créer des expériences ou des conversations personnalisées pour les utilisateurs de l'Assistant. Dans une conversation, votre action conversationnelle traite les requêtes de l'Assistant et renvoie des réponses avec des composants audio et visuels. Les actions de conversation peuvent également se connecter à des services externes pour ajouter une logique de conversation ou métier avant de renvoyer une réponse.

Par exemple, les utilisateurs peuvent appeler votre action de conversation pour obtenir une réponse de votre service de traitement externe lorsqu'ils souhaitent rechercher des informations, obtenir une recommandation personnalisée ou effectuer des transactions impliquant des paiements numériques.

Dans un aller-retour de conversation avec l'Assistant Google, un utilisateur pose une question sur une session de conférence et reçoit une réponse.
Figure 1 : Exemple d'action conversationnelle

Cas d'utilisation

Les actions de conversation sont particulièrement adaptées aux cas d'utilisation simples qui complètent une autre expérience. Les actions conversationnelles de bonne qualité appartiennent souvent à ces catégories générales:

  • Réponses auxquelles les utilisateurs peuvent facilement répondre. Des actions qui peuvent être effectuées avec des entrées familières, comme des heures ou des dates, comme la réservation d'un vol.
  • Actions rapides, mais incroyablement utiles En général, les utilisateurs bénéficient d'un avantage immédiat, puisqu'ils passent très peu de temps, par exemple pour savoir quand leur équipe de sport préférée va s'affronter.
  • Actions qui sont intrinsèquement plus adaptées à la voix. Il s'agit généralement de choses que vous souhaitez faire les mains libres, comme recevoir un coaching pendant le yoga ou un exercice léger.

Fonctionnement des actions de conversation

Contrairement aux applications mobiles et de bureau traditionnelles, qui utilisent des paradigmes centrés sur les ordinateurs, les utilisateurs interagissent avec Actions pour l'Assistant via des conversations naturelles. Les actions de conversation commencent lorsqu'elles sont appelées par un utilisateur et se poursuivent jusqu'à ce que celui-ci décide de la quitter (à l'aide de phrases prédéterminées) ou que votre action conversationnelle indique la fin de la conversation.

Au cours d'une conversation, l'Assistant transforme les entrées utilisateur de la voix en texte et les convertit en requêtes JSON pour le traitement du langage naturel. Ces requêtes sont envoyées à ce que l'on appelle le traitement de la conversation.

Le traitement de la conversation analyse la requête de l'utilisateur en données structurées, traite ces données, puis renvoie une réponse JSON webhook à l'Assistant. L'Assistant traite ensuite votre réponse et la présente à l'utilisateur.

Le traitement de la conversation peut être représenté par une entrée de requête JSON et une sortie de réponse JSON de webhook.
Figure 2. Le traitement des conversations est un système de sortie JSON de type In-JSON

Créer votre propre service de traitement du langage naturel peut s'avérer difficile. C'est pourquoi nous proposons Dialogflow un moyen de le gérer pour vous. Pour les développeurs qui ne peuvent pas utiliser Dialogflow, nous fournissons également le SDK Actions comme option de sauvegarde avec un chemin de développement distinct, mais connexe.

Une fois que vous avez configuré un agent dans Dialogflow, le traitement des conversations est enrichi par les fonctionnalités de Dialogflow, y compris la possibilité d'utiliser le traitement Dialogflow. Cette approche vous permet d'isoler le traitement des conversations des autres services dont vous pourriez avoir besoin pour fournir aux utilisateurs le résultat souhaité.

Actions on Google analyse l'énoncé de l'utilisateur et envoie une requête à Dialogflow. Dialogflow met en correspondance l'intent et extrait les paramètres à envoyer au traitement Dialogflow correspondant. Le traitement renvoie ensuite une réponse à Actions on Google, qui l'affiche sur une surface de l'Assistant.
Figure 3. Traitement des conversations lors de l'utilisation de Dialogflow

Créer une action conversationnelle

La création d'une action conversationnelle consiste principalement à concevoir la conversation et à en créer une. Considérez la conversation comme l'interface utilisateur de votre action conversationnelle. Vous devez réfléchir à la manière dont les utilisateurs appellent votre projet Actions, aux choses valables qu'ils peuvent dire dans une conversation et à la manière dont votre projet Actions y répond.

Dans votre projet Actions, vous fournissez des métadonnées pour la publication du projet et vous spécifiez une méthode de traitement des conversations. Les développeurs qui utilisent Dialogflow associent leur agent Dialogflow au projet, puis créent le traitement via Dialogflow. Pour les développeurs qui utilisent le SDK Actions, la création d'un traitement de conversation implique le codage et le déploiement au format conversation webhook.

Lorsque vous concevez votre conversation, nous vous recommandons d'utiliser nos processus et nos principes de conception. Les interfaces de conversation sont encore une technologie relativement récente. Découvrir les bonnes pratiques peut vous faire gagner du temps par la suite.

Traitement à l'aide de Dialogflow

Lors de l'intégration à un agent Dialogflow, celui-ci gère la NLU pour les requêtes utilisateur dans votre action conversationnelle. Votre agent Dialogflow effectue les opérations suivantes au cours de cette étape:

  1. Analyse chaque requête entrante de l'Assistant en fonction des expressions d'entraînement que vous fournissez et du contexte de conversation.
  2. Fait correspondre chaque requête à un intent Dialogflow (également appelé événement).
  3. Extrait des paramètres dans les entités Dialogflow.

Votre agent Dialogflow peut ensuite appeler via son propre traitement (déployé en tant que webhook) pour exécuter une logique, telle que l'appel d'une API REST ou d'un autre service de backend qui génère une réponse à renvoyer à l'Assistant. Également appelé "fulfillment Dialogflow", ce webhook utilise le format de webhook Dialogflow.

Dialogflow accepte un énoncé utilisateur pour la mise en correspondance des intents et fournit les paramètres extraits au traitement Dialogflow. Le fulfillment renvoie une réponse à l'utilisateur.
Figure 4. Un agent Dialogflow analyse une requête utilisateur en données structurées pour le traitement Dialogflow

La création d'un traitement de conversation lors de l'utilisation de Dialogflow consiste principalement à développer votre webhook de fulfillment Dialogflow. Dans la documentation Actions on Google, vous trouverez des ressources qui vous aideront à concevoir, compiler et tester votre webhook de fulfillment Dialogflow. Ces ressources incluent notamment la bibliothèque cliente Node.js et la bibliothèque cliente Java.

Lorsque vous créez des applications avec Dialogflow, vous vous servez de la console Dialogflow pour créer des intents, des entités et des phrases d'entraînement Dialogflow.

Pour des informations plus générales sur Dialogflow, vous pouvez vous renseigner sur l'intégration d'Actions on Google dans la documentation Dialogflow.

Traitement à l'aide du SDK Actions

La création d'un traitement des conversations avec le SDK Actions consiste principalement à créer et à déployer votre package d'actions. Les packages d'actions sont créés au format ActionPackage et utilisent le format de webhook de conversation. Un package d'actions contient toutes les actions d'un projet Actions donné.

L'Assistant envoie des requêtes utilisateur à votre traitement des conversations à l'aide d'intents Actions on Google. Pour chaque intent, le webhook de fulfillment doit l'analyser, le traiter et renvoyer une réponse JSON à l'Assistant pour l'utilisateur.

Réponses

Lorsque vous créez une action pour l'Assistant, vous concevez vos conversations pour diverses surfaces, telles qu'une conversation vocale pour les enceintes à commande vocale ou une conversation visuelle sur une surface compatible avec l'Assistant. Cette approche permet aux utilisateurs d'effectuer des tâches rapidement par le biais d'accords vocaux ou visuels.

Lorsque vous créez votre traitement, vous pouvez choisir parmi différents types de réponses engageants que l'Assistant doit présenter aux utilisateurs. Il peut s'agir de bulles de chat contenant du texte simple, de réponses multimédias, de carrousels, ou même de contenu HTML utilisant Interactive Canvas.

Étapes suivantes

Suivez l'atelier de programmation Créer des actions pour l'Assistant Google (niveau 1) pour obtenir des instructions détaillées et détaillées qui vous aideront à créer votre première action conversationnelle.

Vous pouvez ensuite accéder à nos guides sur la création de votre propre traitement des conversations avec Dialogflow ou avec le SDK Actions. Vous pouvez également explorer ces ressources supplémentaires pour créer des actions de conversation: