Intents

Un intent permet de catégoriser l'intention exprimée par un utilisateur final durant un tour de conversation.

Un intent contient les données suivantes :

Terme Définition
Nom à afficher Nom affiché dans la console pour l'intent.
Étiquettes Libellés permettant de classer les intents. Par exemple : intent de tête.
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 CX met en correspondance l'intent. Vous n'avez pas besoin de définir tous les exemples possibles, car la technologie de machine learning intégrée de Dialogflow CX étend de votre liste à d'autres expressions similaires.
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.
Modèles DTMF Consultez la page DTMF pour les intégrations de téléphonie.

Correspondance d'intent

Lorsqu'un utilisateur final saisit une entrée (texte, parole ou frappes sur un clavier téléphonique), Dialogflow compare cette entrée aux phrases d'entraînement de l'intent pour trouver la meilleure correspondance. Ce processus s'appelle la correspondance des intents. La mise en correspondance des intents ne peut se produire que pour les intents associés à un Route d'intent (gestionnaire d'état avec une exigence d'intent) dans la portée.

La saisie d'une pression sur une touche est mise en correspondance selon Formats DTMF : Lorsque vous recherchez une correspondance de texte, mais Dialogflow attribue un score aux correspondances potentielles grâce à un intent le niveau de confiance de détection, également appelé score de confiance. Ces valeurs vont de 0.0 (complètement incertain) à 1.0 (totalement certain). Une fois les intents évalué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".

Vous devez annoter toutes les parties de la phrase d'entraînement destinés à être extraits en tant que paramètres. Sinon, Dialogflow n'extraira pas les valeurs.

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 d'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 phrases 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 annoter le texte d'une phrase 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é ajoutée implicitement. Si le type d'entité est une entité de mappage, le texte devient aussi 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

Si votre agent lance la conversation, vous pouvez déclencher cet intent à l'aide de l'API. Utiliser la valeur projects/<PROJECT_ID>/locations/<LOCATION_ID>/agents/<AGENT_ID>/intents/00000000-0000-0000-0000-000000000000 dans le champ QueryInput.intent.intent lorsque vous appelez la méthode detectIntent ou streamingDetectIntent.

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.

De plus, vous devez ajouter des expressions possibles qui sont hors du champ d'application de l'agent, et ne correspondra à aucun intent. Cependant, évitez d'ajouter une très grande quantité de ces expressions. Par exemple, si vous définissez 10 000 expressions d'intent négatif par défaut, cela a un impact négatif sur la mise en correspondance normale des intents.

Vous devez régulièrement revoir ces expressions, car certaines de ces expressions peuvent avoir été à l'origine hors du champ d'application de l'agent, mais qui ont été ajoutées par la suite aux intents.

L'intent à exclure par défaut a un impact sur toutes les correspondances d'intents. Les expressions que vous lui ajoutez peuvent être utiles pour la mise en correspondance pour un intent mais nuisent à la correspondance pour une autre. Par exemple : vous pouvez ajouter "appels internationaux" à l'intent négatif par défaut pour éviter de mettre en correspondance un intent de voyage international. Toutefois, cela empêche également l'expression de la mise en correspondance d'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 Google Cloud.
  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 Save (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 d'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 Google Cloud.
  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 d'intent Interface d'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 Google Cloud.
  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 d'intent Interface d'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

Suggestions d'intents

Dialogflow analyse automatiquement les occurrences sans correspondance au cours des conversations et peut suggérer de nouveaux intents ou recommander des phrases d'entraînement supplémentaires pour les intents existants. Accepter ces suggestions peut vous aider à éviter que cela ne se reproduise.

Lorsque vous utilisez les suggestions, vous pouvez ajuster la taille du cluster. Des valeurs plus faibles pour la taille de cluster suggèrent un plus grand nombre d'intents avec moins de phrases d'entraînement par intent. Des valeurs plus élevées de la taille du cluster suggèrent moins d'intents avec plus de phrases d'entraînement par intent.

Pour accepter les suggestions d'intents :

Console

  1. Ouvrez la console Dialogflow CX.
  2. Choisissez votre projet Google Cloud.
  3. Sélectionnez votre agent.
  4. Sélectionnez l'onglet Manage (Gérer).
  5. Cliquez sur Intents.
  6. Cliquez sur l'onglet Suggestions.
  7. Ajustez la taille du cluster comme vous le souhaitez.
  8. Sélectionnez une suggestion.
  9. Sélectionnez les phrases d'entraînement de votre choix.
  10. Pour l'intent cible, ajoutez les phrases d'entraînement à un intent existant ou à un nouveau.
  11. Cliquez sur Enregistrer ou Créer pour enregistrer les modifications. Lorsque vous acceptez les suggestions d'intent, l'intent reste dans la liste de suggestions.

Diviser des intents

Vous pouvez diviser un intent en deux intents à l'aide de la console. L'interface vous permet de sélectionner des phrases d'entraînement à partir d'un intent source et les déplacer vers un nouvel intent:

Console

  1. Ouvrez la console Dialogflow CX.
  2. Choisissez votre projet.
  3. Sélectionnez votre agent.
  4. Sélectionnez l'onglet Manage (Gérer).
  5. Cliquez sur Intents.
  6. Sélectionnez l'intent que vous souhaitez scinder.
  7. Cliquez sur Diviser.
  8. Sélectionnez des intents à partir de l'intent source.
  9. Cliquez sur Déplacer à droite.
  10. Fournissez d'autres informations sur l'intent cible.
  11. Cliquez sur Diviser.

Comparer et fusionner des intents

Vous pouvez comparer ou fusionner deux intents à un seul intent à l'aide de la console:

Console

  1. Ouvrez la console Dialogflow CX.
  2. Choisissez votre projet.
  3. Sélectionnez votre agent.
  4. Sélectionnez l'onglet Manage (Gérer).
  5. Cliquez sur Intents.
  6. Sélectionnez les deux intents que vous souhaitez comparer ou fusionner.
  7. Cliquez sur Comparer.
  8. Les phrases d'entraînement sont affichées côte à côte à des fins de comparaison.
  9. Pour fusionner les deux intents, cliquez sur Merge (Fusionner).

Exporter et importer des intents

Vous pouvez exporter et importer des intents pour les partager entre agents.

L'une des options de format d'exportation est CSV, qui contient les colonnes suivantes:

  • Nom à afficher de l'intent
  • Langue
  • Expression

Chaque entrée contient le nom à afficher, la langue et la première phrase d'entraînement. ou simplement une phrase d'entraînement pour l'intent déclaré précédemment. Dialogflow encode les annotations dans les phrases d'entraînement exportées, afin que les annotations soient restaurées lors de l'importation. Le format de cet encodage est le suivant:

(annotated part)[entity, parameter]

Exemple :

Intent Display Name,Language,Phrase
Shirt Selection,en,I want a (green)[@sys.color, color] shirt
,,I would like a (yellow)[@sys.color, color] shirt
Store Hours,en,When are you open?
,,What are your hours?

Lorsque vous importez des intents, il peut y avoir des conflits de fusion lorsque le nom à afficher d'une dans votre agent existant correspond à celui d'un intent importé. Vous pouvez contrôler le comportement de fusion lorsque les noms d'affichage des intents correspondent en sélectionnant l'une des options suivantes :

  • Remplacer les intents existants: un intent importé écrase les intent du même nom dans votre agent existant.
  • Renommer et importer en tant que nouveaux intents: L'intent importé est renommé en ajoutant "_1" au nom à afficher.
  • Fusionner avec les intents existants: Les phrases d'entraînement d'un intent importé sont ajoutées à l'intent existant. Si les mêmes phrases d'entraînement existent, elles ne seront pas dupliquées.
  • Conserver les intents d'origine: L'intent existant reste inchangé et l'intent en conflit est ignoré. Les intents non conflictuels sont importés.

Pour exporter des intents:

Console

  1. Ouvrez la console Dialogflow CX.
  2. Choisissez votre projet Google Cloud.
  3. Sélectionnez votre agent.
  4. Sélectionnez l'onglet Manage (Gérer).
  5. Cliquez sur Intents.
  6. Sélectionnez chaque intent à exporter.
  7. Cliquez sur Exporter les intents sélectionnés.
  8. Sélectionnez le format et la destination souhaités.
  9. Cliquez sur Envoyer.

Pour importer des intents, procédez comme suit:

Console

  1. Ouvrez la console Dialogflow CX.
  2. Choisissez votre projet Google Cloud.
  3. Sélectionnez votre agent.
  4. Sélectionnez l'onglet Manage (Gérer).
  5. Cliquez sur Intents.
  6. Cliquez sur Importer.
  7. Sélectionnez la source.
  8. En cas de conflit, une boîte de dialogue s'affiche pour vous permettre de sélectionner le comportement de fusion.
  9. Cliquez sur Envoyer.

Exporter et importer des phrases d'entraînement

Vous pouvez exporter et importer des phrases d'entraînement pour un intent existant.

Le format de fichier à importer est CSV, sans en-tête de colonne et avec une seule colonne. Exemple :

"I want a pony"
"I need a pony"
"I must have a pony"

Lorsque vous importez des phrases d'entraînement, vous pouvez choisir l'un des modes d'importation suivants:

  • Importer en tant que nouvelles phrases d'entraînement: Les expressions contenues dans les fichiers sont ajoutées à la liste des expressions existantes.
  • Remplacer les phrases d'entraînement existantes: Les phrases d'entraînement existantes sont supprimées, et les phrases d'entraînement des fichiers sont ajoutées.

Par défaut, Les phrases d'entraînement importées sont automatiquement annotées. Vous pouvez désactiver ce comportement en sélectionnant Ignorer l'annotation automatique.

Pour exporter des phrases d'entraînement pour un intent, procédez comme suit:

Console

  1. Ouvrez la console Dialogflow CX.
  2. Choisissez votre projet Google Cloud.
  3. Sélectionnez votre agent.
  4. Sélectionnez l'onglet Manage (Gérer).
  5. Cliquez sur Intents.
  6. Sélectionnez un intent.
  7. Faites défiler la page jusqu'à la section Training phrases (Phrases d'entraînement).
  8. Sélectionnez les phrases d'entraînement que vous souhaitez exporter.
  9. Cliquez sur Exporter.

Pour importer des phrases d'entraînement pour un intent, procédez comme suit:

Console

  1. Ouvrez la console Dialogflow CX.
  2. Choisissez votre projet Google Cloud.
  3. Sélectionnez votre agent.
  4. Sélectionnez l'onglet Manage (Gérer).
  5. Cliquez sur Intents.
  6. Sélectionnez un intent.
  7. Faites défiler la page jusqu'à la section Training phrases (Phrases d'entraînement).
  8. Si vous le souhaitez, sélectionnez Ignorer l'annotation automatique.
  9. Cliquez sur le bouton d'importation juste au-dessus de la liste des expressions d'entraînement.
  10. Sélectionnez un fichier et un mode d'importation.
  11. Cliquez sur Envoyer.

Lorsque vous concevez des agents, il est parfois utile de considérer les intents comme intents head ou intents supplémentaires.

Un intent principal identifie l'objectif principal de l'utilisateur final pour interagir avec un agent. Un intent supplémentaire identifie les questions suivantes d'un utilisateur final liés à l'intent principal. Les questions suivantes peuvent vous fournir davantage de contexte. pour les besoins de l'utilisateur final, ou il peut s'agir de 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 mis en correspondance dans une conversation. et d'autres questions de l'utilisateur final correspondent à des intents supplémentaires. Exemple :

Dialogue Explication
Utilisateur final: Active un nouveau téléphone
Agent: Bien sûr, je peux vous aider. Quels sont les quatre derniers chiffres du numéro de téléphone que vous souhaitez activer ?
L'intent principal est mis en correspondance
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