Les actions de conversation seront abandonnées le 13 juin 2023. Pour en savoir plus, consultez Abandon de la fonctionnalité Conversation.

Actions conversationnelles

Les actions de conversation vous permettent d'étendre l'Assistant Google avec vos propres interfaces de conversation qui permettent aux utilisateurs d'accéder à vos produits et services. Les actions utilisent le puissant moteur de compréhension du langage naturel (NLU, Natural Language Understanding) de l'Assistant pour traiter et comprendre l'entrée du langage naturel et effectuer des tâches en fonction de cette entrée.

Présentation

Une action conversationnelle est un objet simple qui définit un point d'entrée (appelé "appel") dans une conversation:

  • Un appel définit la manière dont les utilisateurs demandent à l'Assistant de démarrer une conversation avec l'une de vos actions. L'appel d'une action est défini par un seul intent qui est mis en correspondance lorsque les utilisateurs demandent l'action.
  • Une conversation définit la manière dont les utilisateurs interagissent avec une action après son appel. Vous créez des conversations avec des intents, des types, des scènes et des invites.
  • En outre, vos actions peuvent déléguer des tâches supplémentaires au traitement, qui sont des services Web qui communiquent avec vos actions via des webhooks. Cela vous permet de valider des données, d'appeler d'autres services Web, d'effectuer une logique métier, etc.

Regroupez une ou plusieurs actions, en fonction des cas d'utilisation importants pour vos utilisateurs, dans un conteneur logique appelé projet d'actions. Votre projet Actions contient l'intégralité de votre modèle d'invocation (l'ensemble de vos invocations), ce qui permet aux utilisateurs de commencer à des emplacements logiques dans votre modèle de conversation (tout ce que les utilisateurs peuvent dire et toutes les manières possibles de répondre aux utilisateurs).

Figure 1. Un ensemble d'actions qui servent de points d'entrée dans un modèle de conversation. Les intents qui peuvent être appelés sont considérés comme globals.

Appel

L'appel est associé à un nom à afficher qui représente une marque, un nom ou un persona qui permet aux utilisateurs de demander à l'Assistant d'appeler vos actions. Les utilisateurs peuvent utiliser ce nom à afficher seul (appelé "appel principal") ou l'associer à des liens profonds facultatifs pour appeler vos actions.

Par exemple, les utilisateurs peuvent dire les expressions suivantes pour appeler trois actions distinctes dans un projet, avec le nom à afficher "Facts on Google":

  • "Hey Google, parle à Facts about Google"
  • "Hey Google, discute de faits sur Google pour obtenir des informations sur l'entreprise"
  • "Hey Google, discute de faits sur Google pour obtenir des faits historiques"

Dans cet exemple, le premier appel est l'appel principal. Cet appel est associé à un intent système spécial nommé actions.intent.MAIN. Les deuxième et troisième appels sont des appels à lien profond qui vous permettent de spécifier des expressions supplémentaires qui permettent aux utilisateurs de demander une fonctionnalité spécifique. Ces appels correspondent aux intents utilisateur que vous avez désignés comme mondiaux. Dans cet exemple, chaque invocation fournit un point d'entrée dans une conversation et correspond à une seule action.

Figure 2. Exemple d'appel principal

La figure 2 décrit un flux d'appel principal type:

  1. Lorsque les utilisateurs demandent une action, ils demandent généralement l'Assistant par votre nom à afficher.
  2. L'Assistant associe la requête de l'utilisateur à l'intent correspondant qui correspond à la requête. Dans ce cas, il s'agit de actions.intent.MAIN.
  3. L'action est avertie de la correspondance d'intent et répond par l'invite correspondante pour démarrer une conversation avec l'utilisateur.

Conversation

Une conversation définit la manière dont les utilisateurs interagissent avec une action après son appel. Pour créer ces interactions, vous devez définir une entrée utilisateur valide pour votre conversation, la logique du traitement de cette entrée et les invites correspondantes pour répondre à l'utilisateur. La figure et l'explication suivantes illustrent le fonctionnement typique d'un tour de conversation avec les composants de bas niveau d'une conversation: intents, types, scènes et invites.

Figure 3. Exemple de conversation

La figure 3 décrit un tour de conversation type:

  1. Lorsque les utilisateurs disent quelque chose, la NLU de l'Assistant associe l'entrée à un intent approprié. Un intent est mis en correspondance si le modèle de langage correspondant à cet intent peut correspondre étroitement ou exactement à l'entrée utilisateur. Pour définir le modèle de langage, vous devez spécifier des expressions d'entraînement ou des exemples de phrases que les utilisateurs peuvent vouloir prononcer. L'Assistant prend ces expressions d'entraînement et les développe pour créer le modèle de langage de l'intent.
  2. Lorsque la NLU de l'Assistant correspond à un intent, il peut extraire les paramètres dont vous avez besoin à partir de l'entrée. Ces paramètres sont associés à des types, tels qu'une date ou un nombre. Vous annotez des parties spécifiques des phrases d'entraînement d'un intent pour spécifier les paramètres à extraire.
  3. Une scène traite ensuite l'intent correspondant. Vous pouvez considérer les scènes comme les exécuteurs logiques d'une action, qui effectuent le gros du travail et effectuent la logique nécessaire pour faire avancer une conversation. Les scènes s'exécutent en boucle, offrant ainsi un cycle de vie d'exécution flexible qui vous permet, par exemple, de valider les paramètres d'intent, de remplir les emplacements, de renvoyer des invites à l'utilisateur, etc.
  4. Lorsqu'une scène est terminée, elle revient généralement aux utilisateurs pour continuer la conversation ou peut mettre fin à la conversation si nécessaire.

Traitement

Lors d'un appel ou d'une conversation, votre action peut déclencher un webhook qui avertit un service de traitement pour effectuer certaines tâches.

Figure 4. Exemple de conversation

La figure 4 décrit comment générer des invites à l'aide du fulfillment, une façon courante d'utiliser le fulfillment:

  1. À des moments précis de l'exécution de votre action, elle peut déclencher un webhook qui envoie une requête à un gestionnaire de webhooks enregistré (votre service de traitement) avec une charge utile JSON.
  2. Votre fulfillment traite la requête, par exemple en appelant une API REST pour effectuer une recherche de données ou en validant certaines à partir de la charge utile JSON. Une manière très courante d'utiliser le traitement consiste à générer une invite dynamique au moment de l'exécution afin que vos conversations soient plus adaptées à l'utilisateur actuel.
  3. Votre fulfillment renvoie une réponse à votre action contenant une charge utile JSON. Il peut utiliser les données de la charge utile pour poursuivre son exécution et répondre à l'utilisateur.