Intents

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Un intent permet de catégoriser l'intention exprimée par un utilisateur final durant un tour de conversation. Par rapport aux intents ES, les intents CX ont été simplifiés pour être plus réutilisables.

Un intent contient les données suivantes :

Terme Définition
Phrases d'entraînement Les expressions d'entraînement sont des exemples de phrases que les utilisateurs finaux sont susceptibles de saisir ou de prononcer, appelées entrées de l'utilisateur final. Lorsque l'entrée de l'utilisateur final ressemble à l'une de ces expressions, Dialogflow établit la mise en correspondance avec l'intent. Il n'est pas nécessaire de définir tous les exemples de phrases possibles, car les fonctionnalités de machine learning intégrées de Dialogflow se chargent d'étendre votre liste aux phrases semblables.
Paramètres Vous définissez vos expressions d'entraînement pour utiliser des paramètres afin d'extraire des valeurs de parties spécifiques de l'entrée de l'utilisateur final.

Correspondance d'intent

Chaque fois qu'un utilisateur final écrit ou dit quelque chose, Dialogflow compare cette entrée de l'utilisateur final aux phrases d'entraînement de l'intent pour trouver la meilleure correspondance. Ce processus s'appelle la correspondance des intents. La correspondance des intents ne peut avoir lieu que pour les intents associés à une route d'intent (un gestionnaire d'état avec une exigence d'intent) dans la portée.

Lorsque vous recherchez un intent correspondant, Dialogflow évalue les correspondances potentielles avec un niveau de confiance de détection d'intents, également appelé score de confiance. Ces valeurs vont de 0.0 (complètement incertain) à 1.0 (totalement certain). Une fois que les intents sont notés, deux résultats sont possibles :

Phrases d'entraînement

Les expressions d'entraînement sont des exemples de phrases que les utilisateurs finaux sont susceptibles de saisir ou de prononcer, appelées entrées de l'utilisateur final. Pour chaque intent, vous définissez plusieurs phrases d'entraînement. Lorsqu'une entrée d'utilisateur final ressemble à l'une de ces phrases, Dialogflow la met en correspondance avec l'intent.

Par exemple, une phrase d'entraînement "Je veux une pizza" permet à votre agent de reconnaître les saisies de l'utilisateur final, telles que "Obtenir une pizza" ou "Commander une pizza".

Vous n'avez pas besoin de définir tous les exemples possibles, car le machine learning intégré de Dialogflow en développe d'autres à partir de votre liste et d'autres phrases semblables. Vous devez créer au moins 10 à 20 phrases d'entraînement (selon la complexité de l'intent) pour que votre agent puisse reconnaître différentes entrées d'utilisateur final. Par exemple, si vous souhaitez que votre intent identifie une entrée d'un utilisateur final concernant sa couleur préférée, vous pouvez définir les phrases d'entraînement suivantes :

  • "J'aime le rouge"
  • "Ma couleur préférée est le jaune"
  • "noir"
  • "Le bleu est ma couleur préférée"

Annoter les phrases d'entraînement

Vous pouvez contrôler l'extraction des données de l'utilisateur final en annotant des parties de vos phrases d'entraînement et en configurant les paramètres associés.

Par exemple, imaginons que vous définissiez une phrase d'entraînement comme "Quel temps fera-t-il demain à Tokyo ?". Vous devez annoter "demain" avec le paramètre date et "Tokyo" avec le paramètre location. Lorsque vous annotez des mots dans une phrase d'entraînement, Dialogflow reconnaît que ce ne sont que des exemples de valeurs réelles fournies par les utilisateurs finaux au moment de l'exécution. Si l'entrée d'un utilisateur final est "Quel temps est prévu pour vendredi à Sydney ?", Dialogflow extrait le paramètre date à partir de "vendredi" "et le paramètre location à partir de "Sydney".

Lorsque vous créez un agent avec la console, la plupart des annotations sont automatiquement créées lorsque vous ajoutez des phrases d'entraînement qui contiennent du texte pouvant être associé à un type d'entité existant. Ce texte est mis en surbrillance dans la console. Vous pouvez modifier ces annotations et ces paramètres si nécessaire.

Pour annoter manuellement une phrase d'entraînement à l'aide de la console, procédez comme suit :

  1. Sélectionnez le texte de la phrase d'entraînement que vous souhaitez annoter.
  2. Sélectionnez le type d'entité souhaité dans la liste.
  3. Un paramètre est créé pour vous dans le tableau des paramètres présenté ci-dessous.

Lorsque vous créez un agent avec l'API, vous devez annoter manuellement les parties d'une phrase d'entraînement. Consultez le type TrainingPhrase utilisé par le type Intent.

Sélectionnez un protocole et une version pour la référence de l'intent :

Protocole V3 V3beta1
REST Ressource d'intent Ressource d'intent
RPC Interface de l'intent Interface de l'intent
C++ IntentsClient Non disponible
C# IntentsClient Non disponible
Go IntentsClient Non disponible
Java IntentsClient IntentsClient
Node.js IntentsClient IntentsClient
PHP Non disponible Non disponible
Python IntentsClient IntentsClient
Ruby Non disponible Non disponible

Entités implicites créées par des expressions d'entraînement

La plupart des entités personnalisées sont définies explicitement en créant des types d'entités et en ajoutant des entrées d'entités. Toutefois, les entités personnalisées peuvent également contenir des valeurs implicites. Cela se produit lorsque vous annotez le texte d'une expression d'entraînement, où le texte annoté n'est pas une valeur définie par le type d'entité sélectionné. Le texte annoté devient une valeur de référence d'entité pour l'entrée d'entité implicitement ajoutée. Si le type d'entité est une entité de carte, le texte devient également un synonyme de l'entrée d'entité.

Intent d'accueil par défaut

Lorsque vous créez un agent, un intent de bienvenue par défaut est créé pour vous. Pour certaines langues, l'intent comporte des expressions d'entraînement simples telles que "Hi" ou "Hello", qui correspondent à l'entrée initiale de l'utilisateur final. Vous pouvez modifier cet intent comme bon vous semble.

Lorsque vous utilisez l'API, vous pouvez référencer cet intent avec l'ID d'intent suivant :

00000000-0000-0000-0000-000000000000

Intent négatif par défaut

Lorsque vous créez un agent, un intent négatif par défaut est créé pour vous. Vous pouvez ajouter des phrases d'entraînement à cet intent, qui agissent comme des exemples négatifs. Il peut arriver que l'entrée de l'utilisateur final ressemble légèrement à des expressions d'entraînement des intents normaux, mais vous ne voulez pas qu'elles correspondent à des intents normaux.

Par exemple, un agent de réservation de salle peut avoir une phrase d'entraînement telle que "Je souhaite réserver une chambre". Si l'utilisateur veut témoigner d'une expérience négative concernant une chambre, il pourrait dire "Je souhaite émettre des réserves sur cette chambre". Pour vous assurer que les données saisies par l'utilisateur final ne correspondent pas à votre intent, vous pouvez ajouter cette expression comme exemple négatif.

En outre, vous devez ajouter des expressions possibles hors du champ d'application de l'agent afin qu'elles ne correspondent à aucun intent. Toutefois, évitez d'ajouter un grand nombre de ces expressions. Par exemple, si vous définissez 10 000 expressions d'intent à exclure par défaut, cela aura un impact négatif sur la correspondance d'intent normale.

Vous devez examiner régulièrement ces expressions, car certaines d'entre elles étaient peut-être initialement hors du champ d'application de l'agent, mais ont ensuite été ajoutées aux intents.

L'intent négatif par défaut a un impact sur toutes les correspondances d'intents. Les expressions que vous ajoutez à cette dernière pourraient être bénéfiques pour un intent, mais nuire à la correspondance pour un autre. Par exemple, vous pouvez ajouter "appels internationaux" à l'intent négatif par défaut pour éviter de correspondre à un intent de voyage international. Toutefois, cela empêchera également cette expression de correspondre à un intent d'appel international.

Lorsque vous utilisez l'API, vous pouvez référencer cet intent avec l'ID d'intent suivant :

00000000-0000-0000-0000-000000000001

Annuler des intents

Au cours d'une conversation, l'utilisateur final peut vouloir annuler le sujet de conversation actuel. Par exemple, la page actuellement active peut demander une date pour un nouveau rendez-vous, mais l'utilisateur final a décidé de ne pas créer de nouveau rendez-vous. L'utilisateur final peut dire "annuler" ou "Je ne souhaite pas prendre de nouveau rendez-vous". Pour gérer cette situation, vous pouvez créer un ou plusieurs intents d'annulation pour votre agent. Vous pouvez nommer ces intents d'annulation comme vous le souhaitez, mais il est courant d'inclure "cancel" dans le nom. Vous devez associer ces intents d'annulation aux routes d'intent incluses dans la conversation à des moments pertinents. Ces routes d'intent doivent passer à une page appropriée pour gérer l'annulation.

Les phrases d'entraînement des intents d'annulation doivent gérer des tentatives d'annulation génériques et spécifiques à un sujet. Exemple :

  • Annuler
  • Arrêter
  • J'ai changé d'avis
  • Fermer
  • Revenir à l'ancienne console
  • Retour
  • Je ne souhaite pas prendre de nouveau rendez-vous
  • Annuler un nouveau rendez-vous
  • Supprimer un nouveau rendez-vous

Créer un intent

Pour créer un intent, procédez comme suit :

Console

  1. Ouvrez la console Dialogflow CX.
  2. Choisissez votre projet GCP.
  3. Sélectionnez votre agent.
  4. Sélectionnez l'onglet Manage (Gérer).
  5. Cliquez sur Intents.
  6. Cliquez sur +Create (Créer).
  7. Saisissez les données d'intent.
  8. Cliquez sur Enregistrer.

API

Consultez la méthode create pour le type Intent.

Sélectionnez un protocole et une version pour la référence de l'intent :

Protocole V3 V3beta1
REST Ressource d'intent Ressource d'intent
RPC Interface de l'intent Interface de l'intent
C++ IntentsClient Non disponible
C# IntentsClient Non disponible
Go IntentsClient Non disponible
Java IntentsClient IntentsClient
Node.js IntentsClient IntentsClient
PHP Non disponible Non disponible
Python IntentsClient IntentsClient
Ruby Non disponible Non disponible

Supprimer un intent

Pour supprimer un intent, procédez comme suit :

Console

  1. Ouvrez la console Dialogflow CX.
  2. Choisissez votre projet GCP.
  3. Sélectionnez votre agent.
  4. Sélectionnez l'onglet Manage (Gérer).
  5. Cliquez sur Intents.
  6. Passez la souris sur l'intent que vous souhaitez supprimer.
  7. Cliquez sur le bouton de suppression .

API

Consultez la méthode delete pour le type Intent.

Sélectionnez un protocole et une version pour la référence de l'intent :

Protocole V3 V3beta1
REST Ressource d'intent Ressource d'intent
RPC Interface de l'intent Interface de l'intent
C++ IntentsClient Non disponible
C# IntentsClient Non disponible
Go IntentsClient Non disponible
Java IntentsClient IntentsClient
Node.js IntentsClient IntentsClient
PHP Non disponible Non disponible
Python IntentsClient IntentsClient
Ruby Non disponible Non disponible

Accéder aux données de l'intent

Pour accéder aux données d'intents, procédez comme suit :

Console

  1. Ouvrez la console Dialogflow CX.
  2. Choisissez votre projet GCP.
  3. Sélectionnez votre agent.
  4. Sélectionnez l'onglet Manage (Gérer).
  5. Cliquez sur Intents.
  6. Cliquez sur l'intent auquel vous souhaitez accéder.
  7. Affichez ou mettez à jour les données de l'intent
  8. Cliquez sur Save (Enregistrer) pour enregistrer les modifications.

API

Consultez les méthodes get et patch/update pour le type Intent.

Sélectionnez un protocole et une version pour la référence de l'intent :

Protocole V3 V3beta1
REST Ressource d'intent Ressource d'intent
RPC Interface de l'intent Interface de l'intent
C++ IntentsClient Non disponible
C# IntentsClient Non disponible
Go IntentsClient Non disponible
Java IntentsClient IntentsClient
Node.js IntentsClient IntentsClient
PHP Non disponible Non disponible
Python IntentsClient IntentsClient
Ruby Non disponible Non disponible

Lors de la conception d'agents, il est parfois utile de considérer les intents comme des intents principaux ou des intents supplémentaires. Ces termes ne sont que conceptuels, et Dialogflow ne les distingue pas de manière native.

Un intent principal identifie l'objectif principal de l'utilisateur final pour interagir avec un agent. Un intent supplémentaire identifie les questions ultérieures d'un utilisateur final liées à l'intent principal. Les questions suivantes peuvent fournir davantage de contexte pour les besoins de l'utilisateur final, ou constituer des questions de suivi qui aident l'utilisateur final à clarifier ou à mieux comprendre quelque chose.

Un intent "head" est généralement l'un des premiers intents d'une conversation, et les questions des utilisateurs finaux correspondent à des intents supplémentaires. Exemple :

Dialogue Explanation
Utilisateur final : Activer le nouveau téléphone
Agent : Bien sûr que je peux vous aider. Quels sont les quatre derniers chiffres du numéro de téléphone que vous souhaitez activer ?
Intention correspondante
Utilisateur final : 1234
Agent : Êtes-vous prêt à activer votre téléphone maintenant ?
Un paramètre est défini
Utilisateur final : tous mes messages seront-ils transférés sur mon nouveau téléphone ?
Agent : ...
L'intent supplémentaire est mis en correspondance