Créer un agent Dialogflow ES

Utilisez la console Dialogflow ES pour créer et tester un agent.

Avant de commencer

Avant de commencer, procédez comme suit :

Créer un agent

  1. Accédez à la console Dialogflow ES.
  2. Connectez-vous à la console Dialogflow si vous y êtes invité. Pour en savoir plus, consultez la présentation de la console Dialogflow.
  3. Dans le menu de la barre latérale, cliquez sur Agents.
  4. Sélectionnez l'onglet Your deployed agents (Vos agents déployés).
  5. Cliquez sur Create agent (Créer un agent).
  6. Saisissez le nom de l'agent, la langue par défaut et le fuseau horaire par défaut.
  7. Saisissez un projet existant. Pour autoriser la console Dialogflow à créer un projet, sélectionnez Create a new Google project.
  8. Cliquez sur Créer.

Intents

Les intents permettent de déterminer l'intention d'un utilisateur final dans le cadre d'un tour de conversation. Pour chaque agent, vous définissez un grand nombre d'intents qui, ensemble, permettent de traiter une conversation complète.

Intents par défaut

Lorsque vous créez un agent, Dialogflow crée deux intents par défaut pour vous :

  • Intent de bienvenue par défaut : cet intent est mis en correspondance lorsque l'utilisateur final entame une conversation avec votre agent. Il renvoie une réponse qui indique à l'utilisateur final ce que fait votre agent ou ce qu'il peut dire pour commencer une conversation.
  • Intent de remplacement par défaut : cet intent est mis en correspondance lorsque l'agent ne peut pas faire correspondre l'expression de l'utilisateur final à un autre intent.

Pour afficher ces intents, accédez à la liste des intents de votre agent :

  1. Accédez à la console Dialogflow ES.
  2. Sélectionnez l'agent que vous avez créé.
  3. Cliquez sur Intents dans le menu de la barre latérale.

La liste des intents de l'agent s'affiche au milieu de la console Dialogflow.

Capture d'écran de la liste des intents

Tester l'intent de remplacement par défaut

Capture d'écran du simulateur

Le simulateur Dialogflow se trouve à droite de la console. Il vous permet de tester votre agent en parlant ou en saisissant des messages.

Testez désormais votre agent :

  1. Cliquez sur le champ Essayez maintenant.
  2. Tapez What is your name?.
  3. Appuyez sur Entrée.

La réponse de l'agent s'affiche dans la section Default Response (Réponse par défaut). Puisque votre entrée ne correspond à aucun intent, l'intent de remplacement par défaut est mis en correspondance avec votre expression, et vous recevez l'une des réponses par défaut.

Créer un intent

Les étapes de cette section permettent de créer un intent qui répond à la question "What is your name?". Pour chaque intent, vous définissez de nombreuses phrases d'entraînement. qui sont des exemples de ce qu'un utilisateur final est susceptible de saisir ou de dire à votre agent (également appelée expression de l'utilisateur final). Définissez des phrases d'entraînement qui aident Dialogflow à faire correspondre des expressions à un intent.

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

  1. Cliquez sur le bouton d'ajout d'intent à côté de Intents dans le menu de la barre latérale.
  2. Saisissez get-agent-name dans le champ Intent name (Nom de l'intent).
  3. Dans la section Training phrases (Phrases d'entraînement), cliquez sur Add Training Phrases (Ajouter des phrases d'entraînement).
  4. Entrez les phrases d'entraînement suivantes :

    • What is your name?
    • Do you have a name?
    • Tell me your name

    Capture d'écran des phrases d'entraînement

  5. Dans la section Responses (Réponses), saisissez Texte Response (Réponse textuelle) dans la section :

    • My name is Dialogflow!

    Capture d'écran des phrases d'entraînement

  6. Cliquez sur le bouton Enregistrer et attendez que la boîte de dialogue Entraînement de l'agent indique que l'entraînement est terminé.

Tester l'intent

Capture d'écran du simulateur

Dans le simulateur, saisissez What's your name? et appuyez sur Entrée.

L'agent répond correctement à l'expression, même si celle-ci diffère légèrement des phrases d'entraînement fournies.

Dialogflow utilise les phrases d'entraînement comme exemples pour un modèle de machine learning afin de faire correspondre les expressions de l'utilisateur final à des intents. Le modèle vérifie l'expression par rapport à chaque intent de l'agent, attribue un score à chaque intent et associe à l'expression l'intent dont le score est le plus élevé. Si l'intent ayant le score le plus élevé a un score très faible, l'intent de remplacement est utilisé.

Paramètres et entités

Lorsqu'un intent est mis en correspondance au moment de l'exécution, Dialogflow fournit les valeurs extraites de l'expression de l'utilisateur final en tant que paramètres. Chaque paramètre est associé à un type, appelé type d'entité, qui détermine la manière exacte dont les données sont extraites. Contrairement aux entrées utilisateur brutes, les paramètres sont des données structurées pouvant être utilisées pour exécuter une logique ou générer des réponses.

Pour contrôler la manière dont les données sont extraites lorsque vous créez un agent, annotez des parties de vos phrases d'entraînement et configurez les paramètres associés.

Créer des paramètres

Pour créer des paramètres d'intent, procédez comme suit :

  1. Cliquez sur le bouton d'ajout à côté de la section Intents dans le menu de la barre latérale.
  2. Nommez l'intent set-language en haut de la page de l'intent.
  3. Ajoutez les phrases d'entraînement suivantes :
    • I know English
    • I speak French
    • I know how to write in German
  4. Cliquez sur le bouton Enregistrer et attendez que la boîte de dialogue Entraînement de l'agent indique que l'entraînement est terminé.

    Capture d'écran de la phrase d'entraînement annotée

Dialogflow détecte automatiquement les paramètres des phrases d'entraînement qui sont reconnues en tant qu'entités système. Ces entités sont fournies par Dialogflow pour de nombreux types de données courants tels que l'emplacement, la couleur et la date.

Une fois que vous avez ajouté des phrases d'entraînement, Dialogflow crée une ligne dans le tableau Action &parameters (Action et paramètres) :

Capture d'écran de la phrase d'entraînement annotée

  • Required (Requis) : la case n'est pas cochée, ce paramètre est donc facultatif.
  • Parameter Name (Nom du paramètre) : automatiquement nommé language, car il est reconnu comme une langue.
  • Entity (Entité) : reconnu en tant qu'entité système @sys.language.
  • Value (Valeur) : l'identifiant utilisé pour faire référence à la valeur de ce paramètre.
  • Is List (Liste) : la case n'est pas cochée, ce paramètre n'est donc pas une liste.

Utiliser les données de paramètre dans une réponse

Vous pouvez utiliser la valeur d'un paramètre dans vos réponses. Par exemple, vous pouvez utiliser la référence du paramètre $language dans vos réponses lorsque vous créez un agent. Au moment de l'exécution, l'agent la remplace par la langue spécifiée dans l'expression de l'utilisateur final.

Ajoutez une réponse qui utilise un paramètre :

  1. Accédez à la section Responses (Réponses).
  2. Dans la section Text Response (Réponse textuelle), ajoutez le texte suivant : Wow! I didn't know you knew $language.
  3. Cliquez sur le bouton Enregistrer et attendez que la boîte de dialogue Entraînement de l'agent indique que l'entraînement est terminé.

Tester le paramètre

Capture d'écran du simulateur

Dans le simulateur, saisissez I know Russian. Vous pouvez constater que Dialogflow a bien extrait le paramètre language avec la valeur Russian, et que ce mot a correctement été inséré là où la référence du paramètre était utilisée dans la réponse.Russian

Créer vos propres entités

Dans la plupart des cas, vous devez collecter des données spécifiques auprès des utilisateurs, et ces données ne sont pas fournies par les entités système. Pour gérer cette situation, vous pouvez créer des entités personnalisées.

Pour créer une entité personnalisée, procédez comme suit :

  1. Cliquez sur le bouton d'ajout d'entité add à côté de Entités dans le menu de la barre latérale.
  2. Saisissez language-programming comme nom d'entité.
  3. Ajoutez les entrées d'entité suivantes (lignes) :

    Valeur de référence Synonymes
    JavaScript JavaScript, js, ECMAScript
    Java Java
    Python Python, py
  4. Cliquez sur le bouton Enregistrer et attendez que la boîte de dialogue Entraînement de l'agent indique que l'entraînement est terminé.

Capture d'écran de l'utilisation d'une entité

Dialogflow peut gérer des cas simples comme le pluriel et les majuscules. Ajoutez tous les synonymes possibles pour vos entrées. Plus vous ajoutez de synonymes, mieux votre agent pourra identifier vos entités.

Utiliser votre nouvelle entité

Ajoutez des phrases d'entraînement à l'intent set-language qui utilise la nouvelle entité :

  1. Cliquez sur Intents dans le menu de la barre latérale.
  2. Cliquez sur l'intent set-language.
  3. Ajoutez les phrases d'entraînement suivantes :
    • I know javascript
    • I know how to code in Java
  4. Notez que les langages de programmation de ces phrases d'entraînement sont automatiquement annotés et ajoutés aux paramètres de la section Action and Parameters (Action et paramètres).
  5. Dans la section Responses (Réponses), ajoutez la seconde réponse textuelle suivante : $language-programming is an excellent programming language.
  6. Cliquez sur le bouton Enregistrer et attendez que la boîte de dialogue Entraînement de l'agent indique que l'entraînement est terminé.

Tester la nouvelle entité

Capture d'écran du simulateur

Dans le simulateur, saisissez I know how to code in py. Dialogflow extrait correctement py pour le paramètre language-programming, l'identifie comme correspondant à l'entité Python et insère la valeur dans la réponse.

Contextes

Pour contrôler le flux de la conversation, vous pouvez utiliser des contextes.

Ajouter un intent de suivi

Les intents de suivi vous permettent de contrôler une conversation sans avoir à créer ni gérer des contextes manuellement.

Lorsque vous créez un intent de suivi, un contexte de sortie est ajouté à l'intent parent et un contexte d'entrée du même nom est ajouté à l'intent enfant. Cela signifie que l'intent de suivi n'est mis en correspondance que lorsque l'intent parent est mis en correspondance lors du tour de conversation précédent.

Pour ajouter un intent de suivi personnalisé à l'intent set-language, procédez comme suit :

  1. Sélectionnez l'intent set-language (Langues) créé lors des étapes précédentes.
  2. Dans la section Response (Réponse), mettez à jour le texte de la réponse :
    • Wow! I didn't know you knew $language. How long have you known $language?
  3. Cliquez sur le bouton Enregistrer et attendez que la boîte de dialogue Entraînement de l'agent indique que l'entraînement est terminé.
  4. Cliquez sur Intents dans le menu de la barre latérale.
  5. Pointez le curseur sur l'intent set-language, puis cliquez sur Add follow-up intent (Ajouter un intent de suivi).
  6. Cliquez sur Custom (Personnalisé) dans la liste.
  7. Cliquez sur le bouton Enregistrer et attendez que la boîte de dialogue Entraînement de l'agent indique que l'entraînement est terminé.

Dialogflow donne automatiquement le nom set-language - custom (Langues - personnalisé) à l'intent de suivi.

Capture d'écran du suivi

Correspondance des intents avec les intents de suivi

Les intents de suivi ne sont mis en correspondance qu'après la mise en correspondance de l'intent parent. Étant donné que l'intent set-language - custom n'est mis en correspondance qu'après l'intent set-language , l'utilisateur vient de recevoir la question "How long have you known $language?" Ajoutez des phrases d'entraînement pour indiquer les réponses probables des utilisateurs à cette question :

  1. Cliquez sur Intents dans le menu de la barre latérale.
  2. Cliquez sur l'intent set-language - custom.
  3. Ajoutez les phrases d'entraînement suivantes :
    • 3 years
    • about 4 days
    • for 5 years
  4. Cliquez sur le bouton Enregistrer et attendez que la boîte de dialogue Entraînement de l'agent indique que l'entraînement est terminé.

Tester l'intent de suivi

Saisissez I know French dans le simulateur, puis répondez à la question How long have you known French avec about 2 weeks.

Malgré l'absence de réponse pour la deuxième expression (about 2 weeks), vous pouvez constater que l'expression est mise en correspondance avec l'intent correct (set-language - custom) et que le paramètre de durée est correctement analysé (2 weeks).

Intents et contextes

En examinant l'intent set-language, vous constatez que set-language-followup est répertorié en tant que contexte de sortie, précédé du chiffre 2. Ce chiffre indique la durée de vie.

Capture d'écran du contexte de sortie

Une fois que l'intent set-language est mis en correspondance, le contexte set-language-followup est actif et associé à la conversation pendant deux tours (durée de vie égale à 2). Par conséquent, lorsque vous répondez à une question telle que How long have you known $language?, le contexte set-language-followup est actif.

En examinant l'intent set-language - custom, vous constatez que set-language-followup est répertorié en tant que contexte d'entrée et qu'il est identique au contexte de sortie de l'intent set-language.

Tout intent dont le contexte d'entrée correspond à un contexte actif est privilégié lorsque Dialogflow met un intent en correspondance.

Contextes et paramètres

Les contextes stockent les valeurs des paramètres. Vous pouvez accéder aux valeurs des paramètres définis dans l'intent set-language lorsque son contexte de sortie est actif. Dans l'intent set-language - custom, vous n'avez demandé que la durée pendant laquelle l'utilisateur connaît la langue, et non la langue elle-même.

Pour référencer la langue dans la réponse, procédez comme suit :

  1. Remplacez la réponse textuelle de l'intent set-language - custom par I can't believe you've known #set-language-followup.language for $duration!.
  2. Cliquez sur le bouton Enregistrer et attendez que la boîte de dialogue Entraînement de l'agent indique que l'entraînement est terminé.

La référence #set-language-followup.language est une référence de paramètre pour un contexte actif.

Tester le paramètre de contexte

Saisissez I know French dans le simulateur, puis répondez à la question avec 1 week. Notez que la valeur du paramètre language est extraite du contexte.

Production

Avant d'exécuter votre agent en production, mettez en œuvre les bonnes pratiques pour la production.

Étape suivante

Lisez le guide de démarrage rapide sur le traitement.