Intents

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
Nom à afficher Nom affiché dans la console pour l'intent.
Étiquettes Étiquettes qui aident à catégoriser les intents. Par exemple: intent principal.
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.
Schémas DTMF Reportez-vous à DTMF pour les intégrations de téléphonie.

Correspondance d'intent

Lorsqu'un utilisateur final saisit une entrée (appui sur une touche textuelle, vocale ou téléphonique), Dialogflow la compare aux phrases d'entraînement d'intent afin de 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 à une route d'intent (un gestionnaire d'état avec une exigence d'intent) dans le champ d'application.

L'entrée à chaque pression de touche est mise en correspondance selon les modèles DTMF. Toutefois, lors de la recherche d'un intent correspondant à un texte, Dialogflow évalue les correspondances potentielles avec un niveau de confiance de détection d'intent, é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:

Les modèles de ML Dialogflow présentent un certain niveau de sensibilité à la casse, ce qui peut entraîner des scores de correspondance légèrement différents pour les entrées de l'utilisateur final dont seule la casse diffère. Pour en savoir plus, consultez le guide des bonnes pratiques de conception des agents.

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 des phrases d'entraînement devant être extraites en tant que paramètres. Sinon, Dialogflow n'extrairea 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 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

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é. Toutefois, les entités personnalisées peuvent également contenir des valeurs implicites. Cela se produit lorsque vous annotez 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é map, 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

Si votre agent initie la conversation, vous pouvez déclencher cet intent à l'aide de l'API. Utilisez 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.

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

Examinez régulièrement ces expressions, car elles n'ont peut-être pas été incluses dans le champ d'application de l'agent, mais ont par la suite été ajoutées à des intents.

L'intent négatif par défaut a un impact sur toutes les correspondances d'intents. Les expressions que vous y ajoutez peuvent bénéficier de la mise en correspondance pour un intent, mais nuire à la mise en correspondance pour un autre. Par exemple, vous pouvez ajouter "appels internationaux" à l'intent négatif par défaut pour éviter de faire 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 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 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 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

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 lors des conversations et peut suggérer de nouveaux intents ou recommander des phrases d'entraînement supplémentaires pour les intents existants. En acceptant ces suggestions, vous pouvez éviter les futures occurrences sans correspondance.

Lorsque vous utilisez les suggestions, vous pouvez ajuster la taille du cluster. Des valeurs plus faibles de la taille du cluster suggèrent davantage d'intents avec moins de phrases d'entraînement par intent. Des valeurs plus élevées pour la taille du cluster suggèrent moins d'intents avec plus d'expressions 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 selon vos besoins.
  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 nouvel intent.
  11. Cliquez sur Enregistrer ou Créer pour enregistrer les modifications. Lorsque vous acceptez des suggestions d'intents, ceux-ci restent dans la liste.

Diviser les 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 de les déplacer vers un nouvel intent:

Console

  1. Ouvrez la console Dialogflow CX.
  2. Sélectionnez 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 diviser.
  7. Cliquez sur Diviser.
  8. Sélectionnez des intents à partir de l'intent source.
  9. Cliquez sur Déplacer à droite.
  10. Fournissez d'autres détails sur l'intent cible.
  11. Cliquez sur Diviser.

Comparer et fusionner les intents

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

Console

  1. Ouvrez la console Dialogflow CX.
  2. Sélectionnez 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.

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

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

Chaque entrée contient soit le nom à afficher, la langue et la première expression d'entraînement, soit 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 qu'elles 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?

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

  • Remplacer les intents existants: un intent importé écrase tout 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. S'il existe les mêmes phrases d'entraînement, 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 que vous souhaitez 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:

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 et permet 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 fichier à importer est au format 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:

  • Import as new training phrases (Importer en tant que nouvelles phrases d'entraînement) : les phrases contenues dans les fichiers sont ajoutées à la liste des expressions existantes.
  • Replace existing training phrases (Remplacer des 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 "Importer" situé 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.

Lors de la conception d'agents, il est parfois utile de considérer les intents comme des intents principaux ou des 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 ultérieures d'un utilisateur final liées à l'intent principal. Ces questions ultérieures peuvent fournir du contexte supplémentaire pour les besoins de l'utilisateur final ou il peut s'agir de questions de suivi qui l'aident à clarifier ou à mieux comprendre quelque chose.

Un intent principal 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: Activer le 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: ...
Un intent supplémentaire est mis en correspondance