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, les agents conversationnels (Dialogflow CX) établissent la mise en correspondance avec l'intent. Il n'est pas nécessaire de définir tous les exemples possibles, car le machine learning intégré des agents conversationnels (Dialogflow CX) étend votre liste aux 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 DTMF pour l'intégration de partenaires de téléphonie. |
Correspondance d'intent
Lorsqu'un utilisateur final saisit une entrée (texte, parole ou frappe de touches sur un téléphone), les agents conversationnels (Dialogflow CX) comparent 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 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.
Les entrées de frappe sont mises en correspondance en fonction des modèles DTMF. Toutefois, lorsque vous recherchez un intent correspondant à un message, les agents de conversation (Dialogflow CX) évaluent 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:
- Si l'intent ayant le score le plus élevé a un score de confiance supérieur ou égal au paramètre seuil de classification, il est renvoyé en tant que correspondance.
- Si aucun intent ne correspond au seuil défini, un événement de non- correspondance est appelé.
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, les agents conversationnels (Dialogflow CX) établissent la mise 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".
Il n'est pas nécessaire de définir tous les exemples possibles, car le machine learning intégré des agents conversationnels (Dialogflow CX) 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, les agents conversationnels (Dialogflow CX) reconnaissent 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 ?",
Les agents de conversation (Dialogflow CX) extraient 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ées à être extraites 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 :
- Sélectionnez le texte de la phrase d'entraînement que vous souhaitez annoter.
- Sélectionnez le type d'entité souhaité dans la liste.
- 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 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 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é 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
Si votre agent lance 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 ne relèvent pas du champ d'application de l'agent, afin qu'elles ne correspondent à aucun intent. Toutefois, évitez d'ajouter un très grand nombre 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 examiner régulièrement ces expressions, car certaines d'entre elles n'étaient initialement pas du ressort de l'agent, mais ont été ajoutées aux intents par la suite.
L'intent négatif par défaut a un impact sur toutes les mises en correspondance d'intent. Les expressions que vous y ajoutez peuvent améliorer la mise en correspondance pour un intent, mais l'affecter 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 phrase 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
- Ouvrez la console Dialogflow CX.
- Choisissez votre projet Google Cloud.
- Sélectionnez votre agent.
- Sélectionnez l'onglet Manage (Gérer).
- Cliquez sur Intents.
- Cliquez sur +Create (Créer).
- Saisissez les données d'intent.
- 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 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
- Ouvrez la console Dialogflow CX.
- Choisissez votre projet Google Cloud.
- Sélectionnez votre agent.
- Sélectionnez l'onglet Manage (Gérer).
- Cliquez sur Intents.
- Passez la souris sur l'intent que vous souhaitez supprimer.
- Cliquez sur le bouton de suppression delete.
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
- Ouvrez la console Dialogflow CX.
- Choisissez votre projet Google Cloud.
- Sélectionnez votre agent.
- Sélectionnez l'onglet Manage (Gérer).
- Cliquez sur Intents.
- Cliquez sur l'intent auquel vous souhaitez accéder.
- Affichez ou mettez à jour les données de l'intent
- 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 |
Suggestions d'intent
Dialogflow analyse automatiquement les occurrences de non-correspondance lors 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 des 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 taille de cluster suggèrent moins d'intents avec plus de phrases d'entraînement par intent.
Pour accepter les suggestions d'intents:
Console
- Ouvrez la console Dialogflow CX.
- Choisissez votre projet Google Cloud.
- Sélectionnez votre agent.
- Sélectionnez l'onglet Manage (Gérer).
- Cliquez sur Intents.
- Cliquez sur l'onglet Suggestions.
- Ajustez la taille du cluster comme vous le souhaitez.
- Sélectionnez une suggestion.
- Sélectionnez les phrases d'entraînement de votre choix.
- Pour l'intent cible, ajoutez les phrases d'entraînement à un intent existant ou à un nouveau.
- Cliquez sur Enregistrer ou Créer pour enregistrer les modifications. Lorsque vous acceptez des suggestions d'intent, l'intent reste dans la liste des suggestions.
Intents fractionnés
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
- Ouvrez la console Dialogflow CX.
- Choisissez votre projet.
- Sélectionnez votre agent.
- Sélectionnez l'onglet Manage (Gérer).
- Cliquez sur Intents.
- Sélectionnez l'intent que vous souhaitez scinder.
- Cliquez sur Diviser.
- Sélectionnez des intents à partir de l'intent source.
- Cliquez sur Déplacer vers la droite.
- Fournissez d'autres informations sur l'intent cible.
- Cliquez sur Diviser.
Comparer et fusionner des intents
Vous pouvez comparer ou fusionner deux intents en un seul intent à l'aide de la console:
Console
- Ouvrez la console Dialogflow CX.
- Choisissez votre projet.
- Sélectionnez votre agent.
- Sélectionnez l'onglet Manage (Gérer).
- Cliquez sur Intents.
- Sélectionnez les deux intents que vous souhaitez comparer ou fusionner.
- Cliquez sur Comparer.
- Les phrases d'entraînement sont affichées côte à côte à des fins de comparaison.
- Pour fusionner les deux intents, cliquez sur Fusionner.
Exporter et importer des intents
Vous pouvez exporter et importer des intents pour les partager entre les agents.
L'une des options de format d'exportation est le format CSV, qui comporte 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 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?
Lorsque vous importez des intents, des conflits de fusion peuvent se produire 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 d'affichage des intents correspondent en sélectionnant l'une des options suivantes:
- Remplacer les intents existants: un intent importé écrase tous les intents portant le 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 des intents existants : les phrases d'entraînement d'un intent importé sont ajoutées à l'intent existant. Si des phrases d'entraînement identiques 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
- Ouvrez la console Dialogflow CX.
- Choisissez votre projet Google Cloud.
- Sélectionnez votre agent.
- Sélectionnez l'onglet Manage (Gérer).
- Cliquez sur Intents.
- Sélectionnez chaque intent à exporter.
- Cliquez sur Exporter les intents sélectionnés.
- Sélectionnez le format et la destination souhaités.
- Cliquez sur Envoyer.
Pour importer des intents:
Console
- Ouvrez la console Dialogflow CX.
- Choisissez votre projet Google Cloud.
- Sélectionnez votre agent.
- Sélectionnez l'onglet Manage (Gérer).
- Cliquez sur Intents.
- Cliquez sur Importer.
- Sélectionnez la source.
- En cas de conflit, une boîte de dialogue s'affiche pour vous permettre de sélectionner le comportement de fusion.
- 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 pour l'importation 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 phrases des fichiers sont ajoutées à la liste des phrases existantes.
- Remplacer les expressions d'entraînement existantes : les expressions d'entraînement existantes sont supprimées, et les expressions d'entraînement des fichiers sont ajoutées.
Par défaut, les expressions 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:
Console
- Ouvrez la console Dialogflow CX.
- Choisissez votre projet Google Cloud.
- Sélectionnez votre agent.
- Sélectionnez l'onglet Manage (Gérer).
- Cliquez sur Intents.
- Sélectionnez un intent.
- Faites défiler la page jusqu'à la section Training phrases (Phrases d'entraînement).
- Sélectionnez les phrases d'entraînement que vous souhaitez exporter.
- Cliquez sur Exporter.
Pour importer des phrases d'entraînement pour un intent:
Console
- Ouvrez la console Dialogflow CX.
- Choisissez votre projet Google Cloud.
- Sélectionnez votre agent.
- Sélectionnez l'onglet Manage (Gérer).
- Cliquez sur Intents.
- Sélectionnez un intent.
- Faites défiler la page jusqu'à la section Training phrases (Phrases d'entraînement).
- Si vous le souhaitez, sélectionnez Ignorer l'annotation automatique.
- Cliquez sur le bouton d'importation juste au-dessus de la liste des expressions d'entraînement.
- Sélectionnez un fichier et un mode d'importation.
- Cliquez sur Envoyer.
Intents principaux et supplémentaires
Lorsque vous concevez des 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 lorsqu'il interagit 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 un contexte supplémentaire sur 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 les questions ultérieures de l'utilisateur final correspondent à des intents supplémentaires. Exemple :
Dialogue | Explication |
---|---|
Utilisateur final: Activer 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 de tête 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 vers mon nouveau téléphone ? Agent: ... |
L'intent complémentaire est mis en correspondance |