Réglage du comportement d'acheminement

Avant de passer votre assistant numérique en production, vous devez tester et affiner la manière dont il achemine et résout les intentions.

Entraînement de l'assistant numérique

Avant de régler votre assistant numérique, assurez-vous qu'il est entraîné. L'entraînement de l'assistant numérique vous permet de consolider les données d'entraînement de toutes les briques qu'il contient et d'étoffer les données d'entraînement de ses intentions intégrées (help, exit et unresolvedIntent).

Pour entraîner un assistant numérique, procédez comme suit :

  1. Ouvrez l'assistant numérique.
  2. Cliquez sur le bouton Entraîner (Il s'agit d'une image du bouton Entraîner.) et sélectionnez un modèle d'entraînement.

    Vous devez utiliser le même modèle d'entraînement pour entraîner la majeure partie des briques.

    Pour une présentation détaillée des modèles d'entraînement, reportez-vous à Quel modèle d'entraînement utiliser ?

Eléments à tester

Voici quelques comportements d'acheminement que vous devez tester et affiner :

  • Appel explicite (saisie utilisateur contenant le nom d'appel).

    Exemple (où Financial Wizard est le nom d'appel) : send money using financial wizard

  • Appel implicite (saisie utilisateur qui implique l'utilisation d'une brique sans inclure le nom d'appel).

    Exemple : send money

  • Variations ambiguës (pour évaluer l'efficacité de désambiguïsation de l'assistant numérique).

    Exemple (lorsque plusieurs briques vous permettent de passer une commande) : place order

  • Interruption d'un flux de conversation par un changement de sujet (ou non sequitur).

Continuez la lecture pour avoir plus d'informations sur le fonctionnement du modèle d'acheminement et sur les paramètres d'acheminement que vous pouvez adapter pour régler le comportement de l'assistant numérique.

Remarque

Le composant le plus important pour que l'acheminement fonctionne au mieux dans un assistant numérique est la conception des briques elles-mêmes. Si vous travaillez sur un projet pour lequel vous avez un impact à la fois sur la composition de l'assistant numérique et sur la conception des briques qu'il contient, il est recommandé de se concentrer sur l'optimisation de la résolution d'intention dans les briques avant d'affiner les paramètres d'acheminement de l'assistant numérique. Reportez-vous à Bonnes et mauvaises pratiques en matière de conception conversationnelle.

Modèle d'acheminement

Lorsqu'un utilisateur saisit une expression dans l'assistant numérique, ce dernier détermine l'acheminement de la conversation : vers une brique donnée, vers un état différent du flux en cours ou vers une intention intégrée de l'assistant numérique.

Le modèle d'acheminement repose sur des scores de confiance, qui sont calculés pour les briques et les intentions individuelles afin de mesurer leur adéquation avec la saisie utilisateur. Les scores de confiance sont dérivés en appliquant les algorithmes de traitement du langage naturel sous-jacents aux données d'entraînement de vos briques et de votre assistant numérique.

Les décisions d'acheminement sont ensuite prises en comparant les scores de confiance aux valeurs de divers paramètres d'acheminement, tels que le seuil de confiance des briques candidates et la marge de gain de confiance.

Le modèle d'acheminement dispose des couches de clé suivantes :

  • Déterminer les intentions système candidates : la saisie utilisateur est évaluée et les scores de confiance sont appliqués aux intentions de l'assistant numérique (exit, help et unresolvedIntent). Toutes les intentions dont le score de confiance dépasse la valeur du paramètre d'acheminement Seuil de confiance de l'intention système intégrée sont traitées comme des candidats en vue d'une évaluation supplémentaire.

  • Déterminer les briques candidates : la saisie utilisateur est évaluée et les scores de confiance sont appliqués à chaque brique. Les briques dont le score de confiance dépasse la valeur du paramètre d'acheminement Seuil de confiance des briques candidates sont traitées comme des briques candidates en vue d'une évaluation supplémentaire.

  • Déterminer les flux candidats : une fois les briques candidates identifiées, toutes les intentions qu'elles contiennent sont évaluées (selon le modèle d'intention de chaque brique) et les scores de confiance sont appliqués à chacune d'entre elles. De manière générale, toute intention dont le score de confiance dépasse la valeur du paramètre d'acheminement Seuil de confiance de sa brique (et non le paramètre Seuil de confiance des briques candidates de l'assistant numérique) est traitée comme un flux candidat.

Ce comportement d'acheminement peut être réglé en ajustant les paramètres d'acheminement de l'assistant numérique.

De plus, il existe des règles influant sur la formule d'acheminement dans des cas spécifiques. Ces cas sont les suivants :

  • Appel explicite : si un utilisateur inclut le nom d'appel d'une brique dans son entrée, l'assistant numérique s'acheminera directement vers cette brique, même si l'entrée correspond également à d'autres briques.

  • Acheminement contextuel : si un utilisateur interagit déjà avec une brique, cette brique a plus d'importance lors de la résolution de l'intention que les intentions d'autres briques.

  • Association de contexte : si la saisie utilisateur inclut un appel explicite à une brique mais aucune variation liée à une intention, le routeur associe la conversation à la brique. Autrement dit, la variation suivante est censée être associée à cette brique.

Etats de démarrage, de bienvenue et d'aide

Pour faciliter la navigation de l'utilisateur entre les différentes briques, les assistants numériques gèrent l'acheminement et l'affichage des états de démarrage, de bienvenue et d'aide de chaque brique ajoutée à l'assistant numérique.

Vous pouvez configurer chaque brique de façon à indiquer les états de son flux de dialogue que l'assistant numérique doit utiliser comme états de bienvenue, de démarrage et d'aide. Si ces états ne sont pas spécifiés dans les briques, l'assistant numérique définit le comportement par défaut.

Voici une explication rapide du fonctionnement de ces états.

  • Etat de démarrage : s'applique lorsque le moteur d'intentions détermine que l'utilisateur veut commencer à utiliser une brique donnée. Cela se produit généralement lorsque l'utilisateur exprime une intention liée à la brique.

    Si aucun état de démarrage n'est spécifié pour la brique, l'assistant numérique utilise simplement le premier état de la brique comme état de démarrage.

  • Etat de bienvenue : s'applique lorsque l'utilisateur saisit le nom d'appel sans indiquer d'intention.

    Exemple (où "banque de trésorerie" est le nom d'appel) : cash bank

    Si (et seulement si) un état de bienvenue n'a pas été indiqué dans la brique, l'assistant numérique fournit automatiquement une réponse par défaut composée d'une invite et d'une carte indiquant le nom d'affichage de la brique, une description d'une phrase et quelques exemples de variations. En outre, il offre à l'utilisateur la possibilité de quitter la conversation et d'obtenir de l'aide sur l'assistant numérique dans son ensemble.

    Voici un exemple de réponse de bienvenue par défaut appliquée à une brique bancaire.


    Description de l'image da-welcome-prompt.png ci-après
    Description de l'image da-welcome-prompt.png

    Vous pouvez également personnaliser l'invite de bienvenue par défaut à l'aide du paramètre de configuration Invite de bienvenue de la brique.

  • Etat d'aide : s'applique lorsque le moteur d'intentions détermine que l'utilisateur demande de l'aide ou toute autre information.

    Exemple : si un utilisateur se situe dans un flux de la brique bancaire servant à envoyer de l'argent et qu'il saisit "help" lorsqu'il est invité à indiquer un compte d'où l'argent doit être envoyé.

    Si (et seulement si) un état d'aide n'a pas été spécifié dans la brique, l'assistant numérique prépare automatiquement une réponse qui inclut une invite et une carte indiquant le nom d'affichage de la brique, une description d'une phrase et quelques exemples de variation. En outre, il offre à l'utilisateur la possibilité de quitter la conversation et d'obtenir de l'aide sur l'assistant numérique dans son ensemble.

    Voici un exemple d'invite d'aide et de carte préparé par l'assistant numérique :


    Description de l'image da-help-prompt.png ci-après
    Description de l'image da-help-prompt.png

    Vous pouvez également personnaliser l'invite d'aide par défaut à l'aide du paramètre de configuration Invite d'aide de la brique.

Indiquer les états de démarrage, de bienvenue et d'aide

Si le flux de dialogue de la brique est conçu en mode Visual, vous pouvez indiquer les états suivants avec les événements intégrés correspondants dans le flux principal :

  1. Dans la brique, cliquez sur Icône Flux.
  2. Sélectionnez Flux principal.
  3. Cliquez sur Icône Ajouter. dans la section Événements intégrés.
  4. Dans la boîte de dialogue Créer un gestionnaire d'événements intégré, sélectionnez le type d'événement dans le flux mis en correspondance, puis cliquez sur Créer.

Si le flux de dialogue de la brique est conçu en mode YAML, vous pouvez indiquer les états suivants dans les paramètres de la brique :

  1. Dans la brique, cliquez sur icône Paramètres et sélectionnez l'onglet Assistant numérique.
  2. Sélectionnez des états pour Etat de démarrage, Etat de bienvenue et/ou Etat d'aide.

Appel explicite

Un appel explicite se produit lorsque l'utilisateur saisit le nom d'appel d'une brique dans son entrée. En utilisant un appel explicite, l'utilisateur s'assure que son entrée est immédiatement acheminée vers la brique prévue et réduit ainsi le nombre d'échanges nécessaire à l'exécution de la tâche par l'assistant numérique.

Lorsqu'un appel explicite est utilisé, une pondération supplémentaire est donnée à la brique correspondante lors de la détermination de l'acheminement :

  • Si l'utilisateur ne se situe pas déjà dans une brique et entre un appel explicite, cet appel est prioritaire sur les autres flux dans le contexte de l'assistant numérique.

  • Si l'utilisateur se situe dans le flux d'une autre brique, l'assistant numérique essaie toujours de vérifier que l'utilisateur souhaite vraiment changer de brique.

Dans chaque assistant numérique, vous pouvez déterminer le nom d'appel à utiliser pour une brique donnée. Vous pouvez définir le nom d'appel sur la page de la brique dans l'assistant numérique. Pour y accéder, procédez comme suit :

  1. Dans la barre de navigation de gauche de l'assistant numérique, cliquez sur Icône Briques.
  2. Sélectionnez la brique dont vous voulez vérifier ou modifier le nom d'appel.
  3. Faites défiler la page vers le bas jusqu'au champ Appel.

Ce comportement est pris en charge par le paramètre d'acheminement Seuil de confiance d'appel explicite. Si le score de confiance pour un appel explicite dépasse ce seuil, les intentions d'autres briques ne sont pas prises en compte dans la décision d'acheminement. La valeur par défaut pour ce seuil est de 0,8 (80 % de confiance).

Remarque

Pour une entrée autre que l'anglais dans une brique, le nom d'appel de la brique doit être saisi avant tout autre mot pour que l'entrée soit reconnue comme un appel explicite. Par exemple, si la brique porte le nom d'appel Pizza King, l'expression "Pizza King, quiero una pizza grande" sera reconnue comme une invocation explicite, mais pas l'expression "Hola Pizza King, quiero una pizza grande".

Prise en compte du contexte

L'acheminement dans les assistants numériques prend en compte le contexte. Cela signifie qu'une pondération supplémentaire est appliquée aux intentions correspondantes appartenant à la brique que l'utilisateur est en train d'utiliser par rapport aux intentions des autres briques lors de la résolution.

Supposons, par exemple, que votre assistant numérique comporte une brique bancaire et une brique correspondant à une boutique de vente au détail en ligne. Si un utilisateur saisit la question "What’s my balance?", celle-ci peut aussi bien s'appliquer au solde du compte bancaire de l'utilisateur qu'au solde restant d'une carte-cadeau enregistrée auprès du détaillant en ligne.

  • Si l'utilisateur saisit cette question avant de saisir le contexte d'une brique, l'assistant numérique doit l'inviter à choisir le flux de solde à entrer (celui de la brique bancaire ou celui de la brique du détaillant).

  • Si l'utilisateur saisit cette question à partir d'une brique bancaire, l'assistant numérique doit choisir automatiquement le flux "solde" correspondant à la brique bancaire (et ignorer les intentions d'autres briques, même si elles répondent au paramètre d'acheminement du seuil de confiance standard).

Remarque

Même si l'utilisateur a terminé un flux au sein d'une brique, il reste dans le contexte de cette brique, sauf dans les situations suivantes :
  • Il a explicitement quitté la brique ou changé de brique.
  • Sa demande suivante est résolue en unresolvedIntent et ne correspond à aucune des autres intentions de la brique. Dans ce cas, le contexte passe sur l'assistant numérique, et celui-ci détermine le traitement de l'intention non résolue.

Par ailleurs, la prise en compte du contexte comprend les groupes de briques. Ainsi, lorsqu'une brique du contexte en cours est définie comme faisant partie d'un groupe de briques, le contexte inclut également les autres briques du groupe. Reportez-vous à Groupes de briques.

La prise en compte du contexte est prise en charge par le paramètre d'acheminement Seuil de prise en compte du contexte en cours uniquement. Si le score de confiance pour une intention dans le contexte en cours dépasse ce seuil, les intentions d'autres contextes ne sont pas prises en compte dans la décision d'acheminement. La valeur par défaut de ce seuil est fixée à 0,8 (80 %de confiance) pour s'assurer qu'une intention du contexte en cours est bien celle demandée avant d'exclure l'affichage des autres intentions.

Intentions unresolvedIntent et help

Dans le contexte d'une brique, si la saisie de l'utilisateur est mise en correspondance avec l'intention système help, l'utilisateur est routé vers un flux d'aide déterminé par cette brique (et non vers un flux déterminé au niveau de l'assistant numérique).

Par exemple, si un utilisateur interagit avec une brique et tape help, l'aide de la brique est fournie, et non celle de l'assistant numérique dans son ensemble.

Pour l'intention système unresolvedIntent, le comportement est différent. Si la saisie utilisateur est résolue en unresolvedIntent (et qu'il n'existe aucune autre intention correspondante dans la brique), la saisie est traitée comme une intention non résolue au niveau de l'assistant numérique. Toutefois, si unresolvedIntent est l'une des intentions correspondantes de la brique, celle-ci traite la réponse.

Ce comportement est pris en charge par le paramètre d'acheminement Seuil de confiance d'intention système intégrée. Si le score de confiance de l'une de ces intentions dépasse ce seuil, cette intention est traitée comme une candidate à une évaluation plus approfondie. A partir de la version 20.12 de la plate-forme, la valeur par défaut de ce seuil est 0,9 (90 % de confiance). Pour les versions antérieures de la plate-forme, la valeur par défaut est 0,6.

Intention exit

Si l'entrée utilisateur est mise en correspondance avec l'intention système exit, l'utilisateur est invité à quitter le flux actuel ou la brique entière, en fonction du contexte de l'utilisateur :

  • Si l'utilisateur est dans un flux, l'invite de sortie s'applique au flux.
  • Si l'utilisateur est dans une brique, mais pas dans un flux de cette brique, l'invite de sortie s'applique à cette brique.
Remarque

L'intention exit ne s'applique pas à l'assistant numérique lui-même. Les utilisateurs qui n'interagissent pas avec des briques sont simplement considérés comme inactifs.

Ce comportement est pris en charge par le paramètre d'acheminement Seuil de confiance d'intention système intégrée. Si le score de confiance de l'intention exit dépasse ce seuil, cette intention est traitée comme une candidate à une évaluation plus approfondie. A partir de la version 20.12 de la plate-forme, la valeur par défaut de ce seuil est 0,9 (90 % de confiance). Dans les versions antérieures de la plate-forme, la valeur par défaut est 0,6.

Groupes de briques

Pour les domaines de brique qui englobent de nombreuses fonctionnalités, il est souvent souhaitable de les diviser en plusieurs briques spécialisées. Ceci est particulièrement utile du point de vue du développement. Différentes équipes peuvent travailler sur chaque aspect fonctionnel, et publier les briques et leurs mises à jour aux échéances qui leur conviennent le mieux.

Lorsque vous disposez de plusieurs briques dans un domaine, il est probable que les utilisateurs passent de l'une à l'autre relativement souvent. Par exemple, dans une session donnée d'un assistant numérique contenant plusieurs briques liées aux RH, un utilisateur peut effectuer des demandes aux briques concernant la rémunération, les données personnelles et les congés.

Pour optimiser le comportement d'acheminement entre les briques associées, vous pouvez définir un groupe de briques. Au sein d'un assistant numérique, toutes les briques d'un groupe sont traitées comme une seule brique logique. Par conséquent, toutes les briques du groupe sont considérées comme faisant partie du contexte en cours. Ainsi, toutes leurs intentions sont pondérées de la même manière lors de la résolution d'intention.

Contexte de groupe ou contexte de brique

Lorsque vous disposez de groupes de briques dans votre assistant numérique, le moteur d'acheminement effectue le suivi du contexte de brique et du contexte de groupe.

Le moteur d'acheminement modifie le contexte de brique au sein d'un groupe s'il détermine qu'une autre brique du groupe est mieux adaptée pour traiter la demande utilisateur. Cette détermination est basée sur le classement des briques du groupe dans le modèle d'acheminement des briques candidates.

Remarque

Si le score de confiance de la meilleure brique candidate du groupe n'est pas plus de 5 % supérieur à celui de la brique en cours, le contexte de brique du groupe n'est pas modifié.

Lorsque vous utilisez le testeur d'acheminement, vous pouvez consulter la section Règles de l'onglet Routage pour surveiller les changements de contexte de brique dans un groupe.

Délimitation des groupes de briques

Chaque groupe de briques doit être un ensemble de briques au sein du même domaine avec des affinités linguistiques. Les briques du groupe doivent être divisées par fonction.

Par exemple, il peut être judicieux de rassembler les briques Avantages sociaux, Rémunération, Données personnelles et Embauche dans le groupe de briques HCM. Les briques Opportunités et Comptes peuvent appartenir à un groupe de briques Ventes.

Dénomination des groupes de briques

Pour organiser au mieux vos groupes de briques et éviter les conflits de noms, nous vous recommandons d'utiliser le modèle <nom de l'entreprise>.<domaine> pour les noms de vos groupes de briques.

Par exemple, vous pouvez créer un groupe nommé acme.hcm pour les briques HCM suivantes de la société fictive Acme.

  • Avantages sociaux
  • Rémunération
  • Absences
  • Données personnelles
  • Embauche

De même, si Acme dispose également des briques suivantes dans le domaine des ventes, vous pouvez utiliser acme.sales comme nom de groupe de briques :

  • Opportunités
  • Comptes
Briques communes et groupes de briques

Si vous disposez de briques communes pour des fonctions telles que l'aide ou la gestion des échanges de banalités, vous ne souhaitez probablement pas les traiter comme un groupe de briques distinct, car elles peuvent être appelées à tout moment dans la conversation, quel que soit le groupe de briques avec lequel l'utilisateur interagit principalement. Une fois qu'elles ont été appelées, vous devez vous assurer que l'utilisateur ne soit pas bloqué dans ces briques communes.

Pour faire en sorte que les autres groupes de briques affichent la même pondération qu'une brique commune une fois l'échange terminé avec la brique commune, vous pouvez inclure cette dernière dans un groupe de briques. Pour ce faire, incluez l'astérisque (*) dans le nom de groupe de la brique commune. Par exemple :

  • Si vous utilisez acme.* comme nom de groupe de briques, toutes les briques des groupes acme.hcm et acme.sales sont incluses, mais les briques du groupe appelé hooli.hcm ne le sont pas.
  • Si vous utilisez * comme nom de groupe de briques, tous les groupes sont inclus (mais pas les briques qui ne sont pas affectées à un groupe).

Lorsqu'un utilisateur passe d'une brique dans un groupe simple (groupe dont le nom ne comporte pas d'astérisque) à une brique avec un astérisque dans son nom de groupe, le contexte de groupe reste identique à celui d'avant le changement de brique. Par exemple, si une conversation passe d'une brique du groupe acme.hcm à une brique du groupe acme.*, le contexte de groupe reste acme.hcm.

Exemples : prise en compte du contexte dans les groupes de briques

Voici quelques exemples de fonctionnement de l'acheminement au sein d'un groupe ou entre les groupes :

  • Un utilisateur demande : "Quels sont les avantages sociaux auxquels j'ai droit ?". Le contexte de brique est la brique Avantages sociaux et le contexte de groupe est acme.hcm. L'utilisateur demande ensuite "Quel est mon salaire ?". Le contexte de brique devient Rémunération et le contexte de groupe reste acme.hcm.
  • Le contexte en cours d'un utilisateur est la brique Avantages sociaux, ce qui signifie que son contexte de groupe en cours est acme.hcm. L'utilisateur demande "Quelles sont les opportunités de vente ?". Cette demande est hors domaine non seulement pour la brique en cours, mais également pour toutes les briques du groupe HCM (bien que le terme "opportunités" puisse correspondre à la brique Embauche). L'utilisateur est acheminé vers la meilleure correspondance, Opportunités, dans le contexte de groupe acme.sales.
Exemple : prise en compte du contexte entre groupes de briques

Voici un exemple de prise en compte du contexte pour l'acheminement entre groupes de briques :

  • Un utilisateur saisit "Quels sont mes avantages sociaux", ce qui appelle la brique Avantages sociaux qui fait partie du groupe acme.hcm.

    Le contexte de l'utilisateur est la brique Avantages sociaux et le groupe acme.hcm.

  • L'utilisateur saisit "Raconte-moi une blague", ce qui appelle la brique Bavardage générique affectée au groupe acme.*.

    L'utilisateur est désormais dans le contexte de la brique Bavardage. Le contexte de groupe est désormais tout groupe correspondant à acme.*. Cela inclut à la fois acme.hcm (qui contient la brique Avantages sociaux appelée précédemment) et acme.sales, qui est constitué des briques Opportunités et Comptes.

  • L'utilisateur demande "quels sont mes avantages sociaux ?", puis écrit "J'ai une autre question".

    L'utilisateur est dans le contexte acme.hcm en raison de sa question sur les avantages sociaux, mais il est à présent acheminé vers l'intention misc.another.question dans la brique Divers, qui est membre du groupe acme.*.

    Lorsqu'un utilisateur accède à une brique appartenant à un groupe dont le nom inclut un astérisque (*), le contexte de groupe de l'utilisateur reste le même (acme.hcm dans cet exemple) avant l'acheminement vers la brique appartenant au groupe *.

  • L'utilisateur est actuellement dans le contexte de la brique nommée Divers, qui fournit des fonctions communes. Elle appartient au groupe acme.*, ce qui signifie que le contexte de groupe en cours de l'utilisateur rassemble tous les groupes acme (acme.sales et acme.hcm). Le contexte de brique en cours est Divers. L'utilisateur saisit : "Quels sont les avantages sociaux auxquels j'ai droit ?". Le contexte de brique en cours devient Avantages sociaux, qui appartient au groupe acme.hcm.
Ajout de groupes de briques

Vous pouvez définir le groupe auquel une brique appartient dans la brique elle-même et/ou dans un assistant numérique contenant le groupe.

Définition du groupe de briques dans la brique

Afin de définir un groupe pour une brique, procédez comme suit :

  1. Cliquez sur icône permettant d'ouvrir le menu latéral pour ouvrir le menu latéral, sélectionnez Développement > Briques, puis ouvrez votre brique.

  2. Dans la barre de navigation de gauche de la brique, cliquez sur icône Paramètres et sélectionnez l'onglet Assistant numérique.

  3. Entrez le nom du groupe dans le champ Groupe.

    Une fois que vous avez ajouté la brique à un assistant numérique, toute autre brique de l'assistant avec ce nom est considérée comme faisant partie du même groupe de briques.

Définition de groupes de briques dans l'assistant numérique

Si la brique a déjà été ajoutée à un assistant numérique, vous pouvez définir le groupe (ou remplacer le groupe désigné dans les paramètres de la brique) dans l'assistant numérique. Pour ce faire, procédez comme suit :

  1. Cliquez sur icône permettant d'ouvrir le menu latéral pour ouvrir le menu latéral, sélectionnez Développement > Assistants numériques, puis ouvrez l'assistant numérique.

  2. Dans la navigation de gauche de l'assistant numérique, cliquez sur Icône Briques et sélectionnez l'onglet Général.

  3. Entrez le nom du groupe dans le champ Groupe.

Association de contexte

Si la saisie utilisateur inclut un appel explicite à une brique mais aucune variation liée à une intention, le routeur associe la conversation à la brique pour la prochaine partie de la saisie utilisateur. Autrement dit, le routeur considère que la prochaine variation sera associée à cette brique et ne prend donc pas en compte les intentions des autres briques.

Si l'utilisateur saisit une entrée qui n'est pas associée à cette brique, le routeur la considère comme une intention non résolue dans la brique, même si cette variation pourrait correspondre à une intention d'une autre brique. (L'intention exit fait figure d'exception. Elle est toujours prise en compte.) Après cela, l'association est supprimée. Ainsi, si l'utilisateur répète cette entrée ou saisit une autre entrée sans lien avec le contexte associé, tous les flux sont de nouveau pris en compte.

Observez l'exemple de fonctionnement suivant lorsque l'utilisateur se comporte comme prévu :

  • L'utilisateur saisit "Go to Pizza Skill", ce qui est un appel explicite de Pizza Skill. (L'inclusion du nom de la brique dans la variation en fait un appel explicite.)

    A cette étape, la conversation est associée à Pizza Skill, ce qui signifie que l'assistant numérique recherche uniquement les correspondances dans Pizza Skill.

  • L'utilisateur saisit alors "I want to place an order".

    L'assistant numérique trouve une correspondance avec l'intention OrderPizza dans Pizza Skill et lance le flux de commande de pizza.

    A cette étape, l'association est enlevée.

Voici un exemple de fonctionnement normal lorsque l'utilisateur se comporte de façon moins prévisible :

  • L'utilisateur saisit "Go to Pizza Skill", ce qui est un appel explicite de Pizza Skill.

    A cette étape, la conversation est associée à Pizza Skill.

  • L'utilisateur saisit alors "transfer money".

    Cette entrée ne correspond à aucune intention de Pizza Skill, le routeur la traite comme une intention non résolue de Pizza Skill (et, selon la conception du flux d'unresolvedIntent, invite l'utilisateur à clarifier son entrée). Les intentions des autres briques (telles que Financial Skill) sont ignorées, même si elles contiennent des intentions correspondantes appropriées.

    L'association à Pizza Skill est retirée.

  • L'utilisateur répète sa demande de transfert d'argent.

    Une correspondance est trouvée dans Financial Skill et le flux de transfert d'argent est lancé.

Marge de gain et prise en compte générale

Pour vous aider à gérer les cas où la saisie utilisateur correspond bien à plusieurs briques candidates, vous pouvez ajuster les paramètres d'acheminement suivants :

  • Marge de gain de confiance : différence maximale entre le score de confiance de la brique candidate la mieux classée et les scores de confiance des briques candidates suivantes (qui dépassent également le seuil de confiance) pour que ces dernières soient prises en compte. Les intentions intégrées de l'assistant numérique (help, exit et unresolvedIntent) sont également prises en compte.

    Par exemple, si cette option est définie sur 10 % (.10) et que la brique candidate la mieux classée présente un score de confiance de 60 %, les autres briques dont le score de confiance est compris entre 50 % et 60 % seront également prises en compte.

  • Seuil de prise en compte général : score de confiance minimal requis pour prendre en compte toutes les intentions et tous les flux correspondants. Cette valeur est prioritaire par rapport à la marge de gain. (Lorsque le niveau de confiance est si élevé qu'il est impossible de savoir avec certitude quel flux l'utilisateur veut utiliser.)

    Par exemple, si l'option est définie sur 70 % (.70) et que deux briques candidates présentent des scores de confiance de 71 % et 90 % respectivement, ces briques candidates sont prises en compte, quelle que soit la valeur du paramètre Marge de gain de confiance.

Interruptions

Les assistants numériques sont conçus pour gérer les non-sequiturs, c'est-à-dire lorsqu'un utilisateur fournit des entrées qui ne sont pas directement associées à la réponse la plus récente de l'assistant numérique. Par exemple, si un utilisateur se trouve au milieu d'une commande de pizza, il risque de poser soudainement une question sur le solde de son compte bancaire afin de s'assurer qu'il peut payer la pizza. Les assistants numériques peuvent gérer les transitions vers différents flux, puis rediriger l'utilisateur vers le flux d'origine.

  • Avant de prendre des décisions en matière d'acheminement, les assistants numériques écoutent toujours les éléments suivants :

    • tentatives de sortie du flux par l'utilisateur

    • appels explicites d'autres briques

    Si le score de confiance de l'intention de sortie du système ou de l'appel explicite d'une autre brique respecte le seuil approprié, l'assistant numérique réachemine immédiatement l'utilisateur vers l'intention correspondante.

  • Si l'utilisateur ne tente pas de quitter ou de faire appel à une autre brique, mais que l'état en cours n'est pas en mesure de résoudre l'intention de l'utilisateur, l'assistant numérique réévalue la saisie utilisateur au regard de l'ensemble des briques, puis réachemine l'utilisateur vers l'intention et la brique appropriées.

    Les raisons possibles sont les suivantes :

Application d'appels à un composant System.Intent de brique

Les interruptions du flux peuvent être provoquées par le besoin soudain d'un utilisateur d'accéder à un flux différent dans la même brique ou à une brique totalement différente. Dans les briques basées sur YAML, pour prendre en charge les interruptions lorsque l'utilisateur doit accéder à une brique distincte, les assistants numériques interceptent par défaut les appels effectués sur le composant System.Intent de la brique avant que le flux en cours ne soit terminé (autrement dit, avant qu'une transition return ne soit appelée dans le flux).

Par exemple, ce code issu du flux de dialogue d'une brique contient des actions correspondant à des boutons qui permettent de commander une pizza ou de commander des pâtes. Cependant, une action textReceived: Intent permet de gérer le cas d'un utilisateur qui saisit un message au lieu de cliquer sur l'un des boutons.

ShowMenu:
 component: System.CommonResponse
 properties:
   metadata: ...
   processUserMessage: true
 transitions:
   actions:
     pizza: "OrderPizza"
     pasta: "OrderPasta"
     textReceived: Intent

Si cette brique est exécutée de façon autonome (sans faire partie d'un assistant numérique) et qu'un utilisateur saisit du texte, cette brique appelle System.Intent pour évaluer la saisie utilisateur et lui fournir une réponse appropriée. Toutefois, dans un assistant numérique, les intentions de toutes les briques qu'il comporte sont prises en compte dans l'évaluation (par défaut).

Si vous ne voulez pas que l'assistant numérique intercepte ces appels vers System.Intent, dans le composant System.Intent, définissez la propriété daIntercept sur "never" comme suit :

      daIntercept: "never"

Cela s'applique uniquement aux flux de dialogue conçus en mode YAML (car le concepteur de flux visuel ne dispose pas d'un équivalent du composant System.Intent).

Remarque

Pour que la valeur de la propriété daIntercept dépende de l'état de la conversation, vous devez configurer une variable dans le flux de dialogue. Par exemple, vous pouvez définir la valeur de la propriété sur ${daInterceptSetting.value}, où daInterceptSetting est une variable que vous avez définie dans le flux de dialogue qui prend la valeur "always" ou "never" en fonction du cheminement du flux de l'utilisateur au cours de la conversation.

Acheminement direct d'une brique vers une autre

Vous pouvez concevoir le flux de dialogue d'une brique de façon à appeler une autre brique directement dans l'assistant numérique. Par exemple, une brique servant à commander une pizza peut comporter un bouton qui permet à l'utilisateur de vérifier son solde bancaire avant d'achever sa commande.

Si un utilisateur sélectionne une option dans une brique qui mène à une autre brique, l'assistant numérique fournit à la fois l'acheminement vers la deuxième brique et l'acheminement de retour vers la brique d'origine (une fois le flux de la deuxième brique terminé).

Reportez-vous à Appel d'une brique à partir d'une autre brique à partir d'un flux de dialogue YAML.

Suppression de l'invite de sortie

Lorsque l'intention exit est détectée, l'utilisateur est généralement invité à confirmer sa sortie.

Si vous voulez que l'utilisateur puisse quitter sans invite de confirmation lorsque le score de confiance de l'intention de sortie atteint un certain seuil, vous pouvez modifier la valeur du paramètre Seuil de confiance d'invite de sortie. (Par défaut, ce paramètre est défini sur 1,01 (101 % de confiance), ce qui signifie qu'une invite de sortie est toujours affichée.)

Paramètres d'acheminement

Selon la composition des briques (et de leurs intentions) dans votre assistant numérique, vous devrez peut-être ajuster les valeurs des paramètres d'acheminement de l'assistant numérique afin de mieux contrôler la manière dont celui-ci répond aux saisies utilisateur.

Les paramètres d'acheminement prennent tous des valeurs comprises entre 0 (0 % de confiance) et 1 (100 % de confiance).

Voici un récapitulatif des paramètres d'acheminement de l'assistant numérique :

  • Seuil de confiance d'intention système intégrée : score de confiance minimal requis pour la mise en correspondance d'intentions système intégrées, comme help et exit. Valeur par défaut pour la version 20.12 et versions supérieures de la plate-forme : 0,9. Valeur par défaut pour la version 20.09 et versions inférieures de la plate-forme : 0,6.
    Remarque

    Si vous disposez d'un assistant numérique basé sur la version 20.09 ou une version antérieure de la plate-forme et que vous avez créé une version ou un clone de cet assistant numérique sur la version 20.12 ou ultérieure de la plate-forme, la valeur de ce paramètre est mise à jour vers 0,9 dans le nouvel assistant numérique, même si vous aviez modifié la valeur dans l'assistant numérique de base.
  • Seuil de confiance des briques candidates : score de confiance minimal requis pour mettre une brique candidate en correspondance. Valeur par défaut : 0,4
  • Marge de gain de confiance : différence maximale entre le score de confiance de la brique candidate la mieux classée et les scores de confiance des briques candidates suivantes (qui dépassent également le seuil de confiance) pour que ces dernières soient prises en compte. Les intentions intégrées de l'assistant numérique (help, exit et unresolvedIntent) sont également prises en compte. Valeur par défaut : 0,1

    Il existe un paramètre Marge de gain de confiance distinct pour les briques qui fonctionnent de la même manière, sauf qu'il s'applique aux scores de confiance des intentions dans la brique.

  • Seuil de prise en compte général : score de confiance minimal requis pour prendre en compte toutes les intentions et tous les flux correspondants. Cette valeur est prioritaire par rapport à la marge de gain. (Lorsque le niveau de confiance est si élevé qu'il est impossible de savoir avec certitude quel flux l'utilisateur veut utiliser.) Valeur par défaut : 0,8

  • Seuil de prise en compte du contexte en cours uniquement : score de fiabilité minimal requis lors de la prise en compte de la brique actuelle et de l'intention de sortie de l'assistant numérique uniquement. Si une entrée utilisateur correspond à une intention au-dessus de ce seuil, les autres intentions ne sont pas prises en compte même si elles atteignent le seuil de confiance.

    Ce paramètre est utile pour empêcher les invites de désambiguïsation pour la saisie utilisateur qui correspond bien aux intentions de plusieurs briques. Par exemple, l'entrée utilisateur "cancel order" peut bien correspondre aux intentions de différentes briques en matière de livraison alimentaire. Valeur par défaut : 0,8

  • Seuil de confiance d'appel explicite : score de confiance minimal requis pour la mise en correspondance avec l'entrée contenant l'appel explicite de la brique. Valeur par défaut : 0,8

  • Seuil de confiance d'invite de sortie : score de confiance minimal requis pour quitter sans inviter l'utilisateur à confirmer. La valeur par défaut de 1,01 (définie en dehors de la plage 0 à 1 pour les seuils de confiance) garantit qu'une invite de confirmation est toujours affichée. Si vous voulez que l'utilisateur puisse quitter sans invite de confirmation lorsque le score de confiance de sortie est élevé, abaissez-le à un seuil qui vous convient. Valeur par défaut : 1,01

Outre les paramètres d'acheminement de l'assistant numérique, il existe également les paramètres d'acheminement suivants pour les briques.

  • Seuil de confiance : score de confiance minimal requis pour mettre l'intention d'une brique en correspondance avec la saisie de l'utilisateur. S'il n'existe aucune correspondance, l'action de transition est définie sur unresolvedIntent. Valeur par défaut : 0,7
  • Marge de gain de confiance : seule l'intention principale qui dépasse le seuil de confiance est sélectionnée s'il s'agit de l'intention qui dépasse le seuil de confiance la plus élevée dans le classement. Si d'autres intentions qui dépassent le seuil de confiance ont des scores qui font partie de celui de l'intention principale avec une valeur inférieure à la marge de gain, ces intentions sont également présentées à l'utilisateur. Valeur par défaut : 0,1

Ajustement des paramètres d'acheminement

Pour accéder aux paramètres d'acheminement d'un assistant numérique, procédez comme suit :

  1. Cliquez sur icône permettant d'ouvrir le menu latéral pour ouvrir le menu latéral, sélectionnez Développement > Assistants numériques, puis ouvrez l'assistant numérique.

  2. Dans la barre de navigation de gauche de l'assistant numérique, cliquez sur icône Paramètres et sélectionnez l'onglet Configuration.

Pour accéder aux paramètres d'acheminement d'une brique, procédez comme suit :

  1. Cliquez sur icône permettant d'ouvrir le menu latéral pour ouvrir le menu latéral, sélectionnez Développement > Briques, puis ouvrez votre brique.

  2. Dans la barre de navigation de gauche de la brique, cliquez sur icône Paramètres et sélectionnez l'onglet Configuration.

Reportez-vous à Illustrations du comportement d'acheminement pour obtenir des exemples d'utilisation du testeur permettant de diagnostiquer le comportement d'acheminement. En outre, le tutoriel Introduction à l'acheminement dans les assistants numériques fournit également des exemples de ces paramètres en situation.

Remarque

A partir de la version 21.04, les clés de groupe de ressources sont générées automatiquement pour les propriétés avec des valeurs de texte. Vous pouvez modifier les valeurs de ces clés sur la page Groupes de ressources de l'assistant numérique. Dans la navigation de gauche de l'assistant numérique, cliquez sur Icône Groupe de ressources., puis sur l'onglet Configuration pour accéder à ces clés.

Testeur d'acheminement

Lorsque vous testez un assistant numérique, vous pouvez ouvrir l'onglet Acheminement du testeur pour voir les éléments suivants :

  • Intentions correspondant à la variation que vous avez saisie dans le testeur.

  • Aperçu des étapes d'acheminement réalisées.

  • Liste des règles appliquées à l'acheminement.

  • Liste des intentions mises en correspondance avec leur score de confiance.

    De plus, les valeurs des différents paramètres de seuil de confiance s'affichent afin que vous puissiez les comparer avec le score de confiance des intentions.

Pour utiliser le testeur d'acheminement d'un assistant numérique, procédez comme suit :

  1. Ouvrez l'assistant numérique à tester.

  2. En haut de la page, près des boutons Valider et Entraîner, cliquez sur icône du testeur de briques.

  3. Dans la liste déroulante Canal, sélectionnez le canal sur lequel vous prévoyez de déployer l'assistant numérique.

    En sélectionnant un canal, vous pouvez également afficher toutes les restrictions qu'il peut comporter.

  4. Dans le champ de texte au bas du testeur, entrez un texte de test.

  5. Dans le testeur, cliquez sur l'onglet Acheminement.

Voici à quoi ressemble l'onglet Routage pour l'exemple d'assistant numérique ODA_Pizza_Financial_Retail après la saisie de "what is account my balance" dans le testeur.


Description de l'image what-is-my-balance-fullscreen.png ci-après
Description de l'image what-is-my-balance-fullscreen.png

Illustrations du comportement d'acheminement

Voici quelques exemples qui, avec l'aide du testeur, illustrent le fonctionnement de l'acheminement dans les assistants numériques.

Exemple : acheminement vers le flux

Voici un exemple standard d'assistant numérique qui évalue la saisie utilisateur et achemine la conversation vers un flux spécifique.

Tout d'abord, voici la saisie utilisateur et la réponse initiale de l'assistant numérique :


Description de l'image route-flow1.png ci-après
Description de l'image route-flow1.png

Dans ce cas, la réponse de l'assistant numérique "How old are you?" indique le lancement du flux OrderPizza de Pizza Skill (qui exige que l'utilisateur soit âgé de 18 ans ou plus pour commander une pizza).

Voici l'évaluation de l'intention qui mène à cette réponse :


Il s'agit d'une image de l'évaluation de l'intention dans le testeur.

Comme vous pouvez le voir, l'assistant numérique a détecté une correspondance forte avec Pizza Skill (100 %) et une correspondance faible avec Retail Skill (21,56 %).

  • Aucune correspondance n'a été trouvée pour les intentions système.

  • Une correspondance forte a été trouvée avec Pizza Skill (100 %) et une correspondance faible avec Retail Skill (21,56 %).

  • Etant donné que la correspondance avec Pizza Skill dépasse le seuil de confiance des briques candidates (fixé à 40 %), l'assistant numérique a évalué les flux de Pizza Skill.

    Vous pouvez ajuster la valeur du seuil de confiance des briques candidates dans les paramètres de configuration de l'assistant numérique. Pour y accéder, cliquez sur icône Paramètres et sélectionnez l'onglet Configuration.

  • Dans Pizza Skill, une correspondance (OrderPizza) a été trouvée.

  • Etant donné que la correspondance dépasse le seuil de confiance des flux de Pizza Skill (et qu'il n'y avait aucune autre correspondance à prendre en compte), le flux OrderPizza a été démarré.

    Vous pouvez définir le seuil de confiance de la brique dans les paramètres d'assistant numérique de cette brique. Pour ce faire, cliquez sur icône Paramètres et sélectionnez l'onglet Assistant numérique.

Exemple : désambiguïsation des intentions de brique

Voici un exemple simple montrant une situation où l'utilisateur doit être invité à clarifier son intention.

Tout d'abord, voici la conversation :


Description de l'image disambiguation1.png ci-après
Description de l'image disambiguation1.png

Comme vous pouvez le voir, l'assistant numérique n'est pas certain de comprendre ce que l'utilisateur recherche. Il l'invite donc à choisir parmi plusieurs options (pour lever l'ambiguïté).

Dans la section Appels d'intention du testeur, vous pouvez consulter les données qui ont conduit l'assistant numérique à fournir cette invite. Les briques candidates Fin Skill et Retail Skill ont obtenu un score élevé (100 %). Puis, pour chacune de ces briques, le routeur a identifié un flux candidat ayant également obtenu un score élevé (100 %).

Etant donné que les flux candidats GiftCardBalance et Balances dépassent le seuil de confiance et que la différence entre leur score est inférieure à la valeur Marge de confiance (10 %), l'assistant numérique demande à l'utilisateur de choisir entre ces intentions.

Exemple : appel explicite

Voici un exemple montrant une situation où l'utilisation d'un appel explicite a une incidence sur le comportement d'acheminement en prenant le pas sur d'autres critères, tels que le contexte actuel.

Voici la conversation :



Dans ce cas, l'utilisateur a commencé à utiliser l'assistant numérique pour vérifier son solde dans Retail Skill, mais a ensuite décidé de demander le solde de sa carte cadeau dans Retail Skill. Puisqu'il utilise un appel explicite (il appelle la brique par son nom d'appel, qui est aussi Retail Skill, et qui est défini sur la page de la brique dans l'assistant numérique), le routeur accorde plus d'importance à Retail Skill lorsqu'il tente de résoudre l'intention, même si l'utilisateur est dans le contexte de Financial Skill.

Voici l'endroit où le testeur appelle la règle d'acheminement :



Voici comment les appels d'intention sont traités :



Comme illustré sur l'image, il existe une correspondance pour le contexte en cours, mais elle est ignorée. La correspondance pour l'appel explicite de l'intention GiftCardBalance (100 %) de Retail Skill est prioritaire.

Exemple : prise en compte du contexte

L'exemple ci-dessous montre comment le testeur adopte un comportement d'acheminement contextuel.

Tout d'abord, voici la conversation :

Comme vous pouvez le voir, l'utilisateur commence par poser la question "what's my balance", puis répond à une invite servant à lever l'ambiguïté entre Fin Skill et Retail Skill, et obtient enfin le solde de son compte courant. L'utilisateur saisit alors "what's my balance" de nouveau. Cette fois-ci, il n'a pas besoin de parcourir des invites de désambiguïsation. Reportez-vous aux informations de l'onglet Acheminement pour comprendre pourquoi.

Dans la section Règles de l'onglet, les éléments suivants apparaissent :


Il s'agit d'une image de la section Règles montrant un niveau de confiance élevé.

Ainsi, même s'il existe des intentions correspondantes dans la brique Retail Skill, elles sont ignorées. La section Appels d'intention affiche toutes les intentions correspondantes, mais l'entrée correspondant au contexte en cours, qui contient uniquement l'intention Balances de la brique Fin Skill, est prioritaire.


Description de l'image context-awareness-current-context.png ci-après
Description de l'image context-awareness-current-context.png

Vous pouvez ajuster la valeur de Seuil de prise en compte du contexte en cours uniquement dans les paramètres de configuration de l'assistant numérique. Pour y accéder, cliquez sur icône Paramètres et sélectionnez l'onglet Configuration.

Tutoriel : Acheminement de l'assistant numérique

Vous pouvez obtenir un aperçu pratique de l'acheminement de l'assistant numérique en suivant le tutoriel Introduction à l'acheminement dans les assistants numériques.

Cas de test pour les assistants numériques

Vous pouvez créer des suites de tests et y compiler des tests à l'aide de la fonctionnalité Suites de tests du testeur de conversations. Vous pouvez créer les cas de test en enregistrant des conversations dans le testeur ou en les écrivant dans JSON.

Ces cas de test font partie des métadonnées de l'assistant numérique et persistent donc d'une version à l'autre. Dans les faits, les assistants numériques que vous extrayez de la banque de briques peuvent être composés de tests que vous pouvez ensuite exécuter pour vous assurer que toutes les modifications que vous avez apportées n'ont endommagé aucune des fonctions de base de l'assistant numérique.

La fonctionnalité de suites de tests fonctionne de la même manière pour les assistants numériques que pour les briques. Pour plus de détails, reportez-vous à Suites de tests et tests.

Test de l'acheminement avec le testeur de variations

Le testeur de variations (accessible en cliquant sur Tester les variations sur la page Briques) permet de tester la prise en compte du contexte de l'assistant numérique et son acheminement en saisissant des variations de test. Comme pour les tests de variations au niveau de la brique, vous pouvez utiliser le testeur de variations pour des tests ponctuels ou pour créer des cas de test conservés dans chaque version de l'assistant numérique.

Dans le cadre des tests de variations d'un assistant numérique, votre objectif n'est pas de tester l'intégralité du flux de conversation. (Le testeur de conversation remplit cette mission.) Vous testez plutôt des fragments d'une conversation. Plus précisément, vous vérifiez si l'assistant numérique achemine l'utilisateur vers la brique et l'intention appropriées, et si sa transition à partir du contexte initial est appropriée.

Tests rapides

Pour tester l'acheminement de votre assistant numérique, procédez comme suit :
  1. Sélectionnez la brique pour le contexte initial, ou N'importe quelle brique pour les tests sans contexte de brique spécifique (test émulant un accès initial à l'assistant numérique, par exemple).
  2. Si les briques inscrites auprès de l'assistant numérique prennent en charge plusieurs langues natives, choisissez la langue du test.
  3. Entrez une variation de test.
  4. Cliquez sur Tester, puis examinez les résultats de l'acheminement. Au lieu de mettre de côté ce test, vous pouvez l'ajouter en tant que cas de test en cliquant d'abord sur Enregistrer en tant que cas de test, puis en choisissant une suite de tests. Vous pouvez ensuite accéder au cas de test et le modifier à partir de la page Cas de test (accessible en cliquant sur Accéder aux cas de test).

Cas de test

Vous pouvez créer un cas de test de variation d'assistant numérique de la même manière que vous créez un cas de test de niveau brique : enregistrez un test rapide en tant que cas de test dans le testeur de variations à l'aide de la boîte de dialogue Nouveau cas de test, que vous ouvrez en cliquant sur + Cas de test, ou en important un fichier CSV. Cependant, étant donné que les cas de test d'assistant numérique se concentrent sur l'acheminement dans les briques et les transitions de contexte, ainsi que sur les intentions attendues, ils incluent des valeurs pour la brique attendue et le contexte initial (brique au sein de l'assistant numérique).

La Création d'une exécution de cas de test est également semblable à la création d'un cas de test au niveau de la brique : vous pouvez filtrer les cas de test à inclure dans une exécution et, une fois l'exécution terminée, vous examinez les résultats et les analyses de répartition.

Création d'un cas de test de routage
Pour créer un seul cas de test, procédez comme suit :
  1. Cliquez sur + Cas de test.
  2. Remplissez la boîte de dialogue Nouveau cas de test :
    • Si nécessaire, désactivez le cas de test.
    • Saisissez la variation de test.
    • Sélectionnez la suite de tests.
    • Entrez la brique attendue.
    • Sélectionnez l'intention attendue.
    • Si les briques inscrites auprès de l'assistant numérique sont multilingues, vous pouvez sélectionner la balise de langue et la langue attendue.
    • Sélectionnez le contexte initial : sélectionnez une brique, ou choisissez N'importe quelle brique (sans contexte).
  3. Cliquez sur Ajouter à la suite. Vous pouvez ensuite modifier ou supprimer le cas de test à partir de la page Cas de test. Vous pouvez tester la prise en compte du contexte en combinant le contexte initial avec la brique attendue. Grâce à ces combinaisons, vous pouvez déterminer si l'utilisateur est susceptible d'être bloqué dans une brique car le contexte de l'utilisateur n'a pas changé même après une demande adressée à une autre brique. Pour savoir comment votre assistant numérique achemine une demande lorsqu'aucun contexte n'a été défini, choisissez N'importe quelle brique.
  4. Cliquez sur Ajouter à la suite.
Ajout de cas de test pour les intentions système

Si vous avez entraîné les intentions système avec des variations supplémentaires, vous pouvez tester la mise en correspondance d'intentions en créant des cas de test spécifiques à l'intention système. Si un cas de test réussit, cela signifie que le routage du contexte basé sur l'intention du système a été conservé à la lumière de la formation mise à jour.

Le processus de création de ces cas de test est le même que celui de création d'un cas de test pour le routage et le contexte, mais pour le test d'intention système, vous ne testez pas une brique attendue. Au lieu de cela, vous vérifiez que l'intention système n'entre pas en conflit avec les autres intentions système ou avec les intentions appartenant aux aptitudes des membres.
  • Choisissez l'assistant numérique pour la brique attendue.
  • Choisissez l'une des intentions système (exit, help, unresolvedIntent) pour Intention attendue.
    Remarque

    Vous ne pouvez pas tester l'intention du système Welcome.
  • Pour vérifier le routage de l'intention système dans un contexte de brique spécifique, choisissez une brique dans le menu Routage initial.
Import de cas de test pour les suites de tests d'assistant numérique
Vous pouvez créer des cas de test et des suites de tests en masse en important un fichier CSV comme vous le feriez au niveau de la brique (c'est-à-dire, en cliquant sur Plus > Importer sur la page Cas de test). Les fichiers CSV d'assistant numérique possèdent les mêmes colonnes que les fichiers CSV de brique, mais incluent également les colonnes initialContent et expectedSkill :
  • testSuite : si vous n'indiquez pas de suite de tests, les cas de test sont ajoutés à la suite de tests par défaut.
  • utterance : exemple de variation (requis).
  • expectedIntent : intention correspondante (requise).
  • enabled : la valeur TRUE inclut le cas de test dans l'exécution de test. La valeur FALSE l'exclut.
  • languageTag : facultatif.
  • expectedLanguageTag : facultatif.
  • initialContext : nom d'une brique ou N'importe quelle brique pour tester la variation sans contexte d'acheminement.
  • expectedSkill : vide, ce champ équivaut à choisir unresolvedSkill.