Intents

Les intents représentent une tâche que l'Assistant a besoin que votre action exécute, comme une entrée utilisateur à traiter ou un événement système à gérer. Les intents vous permettent de créer vos modèles d'appel et de conversation. Lorsque ces événements se produisent, l'environnement d'exécution de l'Assistant le met en correspondance avec l'intent correspondant et l'envoie à votre action à traiter. Il existe deux principaux types d'intents, décrits dans la liste suivante:

  • Les intents utilisateur vous permettent d'étendre la capacité de l'Assistant à comprendre les requêtes des utilisateurs spécifiques à votre marque et à vos services. Vous définissez des phrases d'entraînement personnalisées dans un intent, ce qui génère à son tour le modèle de langage de l'intent. Ce modèle de langage améliore la NLU de l'Assistant et sa capacité à comprendre davantage.

  • Les intents système ont des données d'entraînement ou d'autres signaux d'entrée non conversationnels définis par l'Assistant. Vous n'avez donc pas besoin de définir de phrases d'entraînement pour ces intents. L'Assistant associe ces intents de manière standard lors d'événements système connus tels que l'appel principal ou lorsque les utilisateurs ne fournissent aucune entrée.

Figure 1. Scénario courant de mise en correspondance des intents Un utilisateur dit quelque chose qui correspond à un intent global. La scène correspondante s'active et consomme davantage d'entrées utilisateur. Un autre intent est mis en correspondance, qui passe à une autre scène et l'active.

Intents utilisateur

Lorsque vous créez des actions, vous créez des intents utilisateur contenant des phrases d'entraînement, ce qui permet à l'Assistant de mieux comprendre. L'Assistant utilise vos phrases d'entraînement pour augmenter sa NLU lorsqu'il délègue des requêtes utilisateur à vos actions.

Dans ce cas, l'Assistant assure la communication entre l'utilisateur et vos actions, en mappant l'entrée utilisateur à un intent dont le modèle de langage correspond. L'Assistant informe ensuite vos actions de l'intent correspondant, afin que vous puissiez le traiter dans une scène.

Lorsque vous créez des intents utilisateur, vous spécifiez les éléments suivants:

  • Une désignation d'intent global définit si l'environnement d'exécution de l'Assistant peut ou non correspondre à l'intent utilisateur spécifié au moment de l'appel ainsi que lors d'une conversation. Par défaut, l'Assistant ne peut mettre en correspondance les intents utilisateur que lors d'une conversation. Seuls les intents que vous marquez comme globaux peuvent être appelés dans des liens profonds.

  • Les phrases d'entraînement sont des exemples de ce qu'un utilisateur peut dire pour correspondre à l'intent. Le moteur NLU (Natural Language Understanding, compréhension du langage naturel) de l'Assistant développe naturellement ces phrases d'entraînement pour inclure d'autres expressions similaires. En fournissant un grand ensemble d'exemples de haute qualité, vous augmentez la qualité de l'intent et la justesse de mise en correspondance.

  • Les paramètres sont des données typées que vous souhaitez extraire de l'entrée utilisateur. Pour créer un paramètre, annotez les phrases d'entraînement avec des types afin d'informer le moteur NLU que vous souhaitez que des portions de l'entrée utilisateur soient extraites. Vous pouvez utiliser des types système ou créer vos propres types personnalisés pour les paramètres.

Lorsque le moteur NLU détecte une correspondance de paramètre dans l'entrée utilisateur, il extrait la valeur en tant que paramètre saisi afin que vous puissiez exécuter la logique avec elle dans une scène. Si un paramètre d'intent porte le même nom qu'un emplacement de scène, l'environnement d'exécution de l'Assistant remplit automatiquement l'emplacement de la scène avec la valeur du paramètre d'intent. Pour en savoir plus, consultez la documentation sur le mappage des valeurs d'emplacements.

Les paramètres d'intent acceptent également les correspondances "partielles". Par exemple, si vous spécifiez un type de DateTime et que l'utilisateur ne fournit qu'une date, la NLU extrait quand même la valeur partielle en tant que paramètre.

Vous pouvez utiliser votre propre NLU pour gérer toutes les entrées utilisateur pour une action. Par exemple, vous pouvez choisir que votre action réponde à tous les scénarios d'absence de correspondance au cours d'une conversation. Pour vous assurer de capturer toutes les entrées utilisateur, créez un intent avec le type de texte au format libre. Toutefois, évitez d'utiliser des intents personnalisés pour ignorer globalement le comportement sans correspondance par défaut de l'Assistant, car cela peut avoir un impact négatif sur la capacité des utilisateurs à passer d'une action à l'autre.

Lorsque vous créez un intent personnalisé dans la console Actions, Actions Builder suggère des intents système pouvant remplir le même rôle que votre intent utilisateur. Pour en savoir plus sur les intents système, consultez la section suivante.

Intents système

L'Assistant établit une correspondance entre les intents système en fonction des événements système standards. Ces événements peuvent avoir un modèle de langage défini par le système, comme les utilisateurs qui disent "pause" pour mettre en pause le lecteur multimédia, ou ne pas avoir de modèle de langage (par exemple, les utilisateurs ne fournissant aucune entrée). Étant donné que ces intents sont fournis par l'Assistant, vous n'avez pas à vous soucier de la façon dont ils sont mis en correspondance, mais seulement à la manière de gérer les intents lorsqu'ils sont mis en correspondance.

Les intents système remplacent également la création d'intents utilisateur pour les actions fréquemment requises, telles que YES et NO. Les intents système sont entraînés pour toutes les langues, ce qui vous permet de mettre plus facilement en œuvre une expérience cohérente pour vos utilisateurs dans plusieurs langues. Les intents système peuvent également être définis en tant qu'intents globaux.

Les intents système disposent de versions gérées. Vous pouvez utiliser une version spécifique d'un intent système tant qu'elle est compatible avec l'Assistant. Si une action utilise une version non compatible d'un intent système, cet intent système est automatiquement mis à jour vers une version compatible.

Liste des intents

Intention Description
actions.intent.MAIN Chaque projet Actions doit contenir cet appel principal par défaut, lié à votre nom à afficher. Les utilisateurs prononcent des expressions telles que "Ok Google, parle à <nom à afficher>" pour appeler l'action.

actions.intent.NO_MATCH_1

actions.intent.NO_MATCH_2

actions.intent.NO_MATCH_FINAL

Ces intents sont mis en correspondance lorsque l'utilisateur dit quelque chose qui ne peut pas être mis en correspondance avec un intent dans votre action. Vous pouvez définir des nouvelles invites et un message de sortie dans l'intent final.

actions.intent.NO_INPUT_1

actions.intent.NO_INPUT_2

actions.intent.NO_INPUT_FINAL

Ces intents sont mis en correspondance lorsque l'utilisateur ne reçoit aucune entrée après huit secondes. Vous pouvez définir des nouvelles invites pour chaque intent et un message de sortie dans l'intent final.

actions.intent.CANCEL Cet intent est mis en correspondance lorsque l'utilisateur souhaite quitter vos actions au cours d'une conversation, par exemple lorsqu'il dit "Je veux quitter".
actions.intent.MEDIA_STATUS_FINISHED Cet intent est mis en correspondance et envoyé à votre action lorsqu'un utilisateur lit un contenu multimédia ou passe au contenu multimédia suivant.
actions.intent.MEDIA_STATUS_PAUSED Cet intent est mis en correspondance et envoyé à votre action lorsqu'un utilisateur met en pause la lecture des contenus multimédias dans une réponse.
actions.intent.MEDIA_STATUS_STOPPED Cet intent est mis en correspondance et envoyé à votre action lorsqu'un utilisateur arrête ou quitte la lecture du contenu multimédia à partir d'une réponse multimédia.
actions.intent.MEDIA_STATUS_FAILED Cet intent est mis en correspondance et envoyé à votre action lorsque le lecteur d'une réponse multimédia ne parvient pas à lire le contenu.
actions.intent.YES

Cet intent est mis en correspondance lorsqu'un utilisateur fournit une réponse positive à votre action.

actions.intent.NO

Cet intent est mis en correspondance lorsqu'un utilisateur fournit une réponse négative à votre action.

actions.intent.REPEAT

Cet intent est mis en correspondance lorsqu'un utilisateur demande à l'action de répéter la dernière réponse. Les requêtes répétées sont automatiquement gérées par l'Assistant si l'intent système n'est pas activé dans l'agent. L'activation de cet intent système vous permet de modifier la manière dont les requêtes répétées sont traitées, ainsi que les réponses.

actions.intent.PLAY_GAME Cet intent est mis en correspondance lorsqu'un utilisateur demande à jouer à un jeu. Cet intent vous permet d'activer un appel implicite (appel sans utiliser votre nom à afficher) fourni par Actions on Google.

Ajouter d'autres langues

Certains intents système, tels que YES, NO et NO_MATCH, ne sont compatibles qu'en anglais.Pour que d'autres langues soient prises en charge, vous devez créer des intents utilisateur correspondant à ces intents système. Vos nouveaux intents doivent être gérés dans votre code de la même manière que les intents système que vous avez implémentés.

Par exemple, supposons que vous développez une nouvelle action et que vous ayez implémenté l'intent système YES. L'intent système YES n'est disponible qu'en anglais, mais vous souhaitez également que votre application prenne en charge les interactions en allemand et en japonais. Pour prendre en charge les langues supplémentaires, vous devez créer un intent qui inclut des phrases d'entraînement pour l'allemand et le japonais, puis implémenter la gestion que vous avez utilisée pour l'intent système YES.

En savoir plus sur la création d'intents utilisateur

En savoir plus sur la localisation des intents utilisateur

Rendement sans correspondance

Lorsque la réponse d'un utilisateur ne correspond pas à l'un de vos intents, l'Assistant tente de gérer l'entrée. Ce comportement facilite la modification des actions par les utilisateurs au milieu d'une conversation. Par exemple, un utilisateur demande : "Quels sont les films à l'affiche cette semaine ?", puis change de contexte en cours de conversation : "Quel temps fera-t-il demain ?" Dans cet exemple, comme "Quel temps fera-t-il demain ?" n'est pas une réponse valide à la conversation déclenchée par l'invite initiale, l'Assistant tente automatiquement de gérer la correspondance et de placer l'utilisateur dans une conversation appropriée.

Si l'Assistant ne parvient pas à trouver une action appropriée correspondant à l'entrée utilisateur, il continue dans le contexte de votre action.

Étant donné que l'Assistant peut interrompre votre action pour répondre à un scénario d'absence de correspondance valide, n'utilisez pas l'intent système NO_MATCH pour répondre aux requêtes des utilisateurs. Vous ne devez utiliser l'intent NO_MATCH que pour redemander l'utilisateur.