Si vous utilisez Amazon Lex V2, consultez plutôt le guide Amazon Lex V2.
Si vous utilisez Amazon Lex V1, nous vous recommandons de mettre à niveau vos robots vers Amazon Lex V2. Nous n'ajoutons plus de nouvelles fonctionnalités à la V1 et recommandons vivement d'utiliser la V2 pour tous les nouveaux robots.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
AMAZON.FallbackIntent
Lorsque la saisie d'une intention par un utilisateur ne correspond pas aux attentes d'un bot, vous pouvez configurer Amazon Lex pour qu'il invoque une intention de secours. Par exemple, si la saisie par l'utilisateur « J'aimerais commander des bonbons » ne correspond pas à l'intention de votre OrderFlowers
bot, Amazon Lex invoque l'intention de remplacement pour gérer la réponse.
Vous ajoutez une intention de secours en ajoutant le type d'intention AMAZON.FallbackIntent
intégré au bot. Vous pouvez spécifier l'intention à l'aide de l'opération PutBot ou en choisissant l'intention dans la liste des intentions intégrées dans la console.
L'appel d'une intention de secours se fait en deux étapes. Dans la première étape, l'intention de secours est mise en correspondance en fonction de l'entrée de l'utilisateur. Lorsque l'intention de secours est mise en correspondance, le comportement du bot dépend du nombre de nouvelles tentatives configurées pour une invite. Par exemple, si le nombre maximal de tentatives pour déterminer une intention est de 2, le bot renvoie l'invite de clarification du bot deux fois avant d'appeler l'intention de secours.
Amazon Lex répond à l'intention de remplacement dans les situations suivantes :
-
L'entrée de l'utilisateur pour une intention ne correspond pas à l'entrée attendue par le bot
-
L'entrée audio est du bruit ou l'entrée de texte n'est pas reconnue en tant que mots.
-
La saisie de l'utilisateur est ambiguë et Amazon Lex ne peut pas déterminer l'intention à invoquer.
L'intention de secours est appelée lorsque :
-
Le bot ne reconnaît pas l'entrée utilisateur en tant qu'intention après le nombre de tentatives de clarification configuré lors du démarrage de la conversation.
-
Une intention ne reconnaît pas l'entrée utilisateur comme valeur d'option après le nombre de tentatives configuré.
-
Une intention ne reconnaît pas l'entrée utilisateur comme réponse à une invite de confirmation après le nombre de tentatives configuré.
Vous pouvez utiliser les éléments suivants avec une intention de secours :
-
Une fonction Lambda d'exécution
-
Une déclaration de conclusion
-
Une invite de suivi
Vous ne pouvez pas ajouter les éléments suivants à une intention de secours :
-
Énoncés
-
Emplacements
-
Une fonction Lambda d'initialisation et de validation
-
Une invite de confirmation
Si vous avez configuré à la fois une déclaration d'annulation et une intention de remplacement pour un bot, Amazon Lex utilise l'intention de remplacement. Si vous avez besoin que votre bot dispose d'une déclaration d'annulation, vous pouvez utiliser la fonction d'exécution pour l'intention de remplacement afin de fournir le même comportement qu'une déclaration d'annulation. Pour plus d'informations, consultez le paramètre abortStatement
de l'opération PutBot.
Utilisation des invites de clarification
Si vous fournissez une invite de clarification au bot, l'invite est utilisée pour demander une intention valide auprès de l'utilisateur. L'invite de clarification est répétée le nombre de fois que vous avez configuré. Ensuite, l'intention de secours est appelée.
Si vous ne définissez pas de demande de clarification lorsque vous créez un bot et que l'utilisateur n'entame pas la conversation avec une intention valable, Amazon Lex indique immédiatement votre intention de secours.
Lorsque vous utilisez une intention de secours sans demander de précisions, Amazon Lex n'appelle pas la solution de secours dans les circonstances suivantes :
-
Lorsque l'utilisateur répond à une invite de suivi, mais qu'il ne fournit pas une intention. Par exemple, en réponse à une demande de suivi indiquant « Voulez-vous autre chose aujourd'hui ? » , l'utilisateur répond « Oui ». Amazon Lex renvoie une exception 400 Bad Request car aucune demande de clarification ne doit être envoyée à l'utilisateur pour obtenir une intention.
-
Lorsque vous utilisez une fonction AWS Lambda, vous renvoyez un type de dialogue
ElicitIntent
. Amazon Lex n'étant pas invité à clarifier l'intention de l'utilisateur, il renvoie une exception 400 Bad Request. -
Lorsque vous utilisez l'opération
PutSession
, vous envoyez un type de dialogueElicitIntent
. Amazon Lex n'étant pas invité à clarifier l'intention de l'utilisateur, il renvoie une exception 400 Bad Request.
Utilisation d'une fonction Lambda avec une intention de repli
Lorsqu'une intention de secours est appelée, la réponse dépend de la valeur du paramètre fulfillmentActivity
définie sur l'opération PutIntent. Le bot effectue l'une des opérations suivantes :
-
Il renvoie les informations d'intention à l'application cliente.
-
Appelle la fonction Lambda d'exécution. Il appelle la fonction avec les variables de session définies pour la session.
Pour plus d'informations sur la définition de la réponse lorsqu'une intention de secours est appelée, consultez le paramètre fulfillmentActivity
de l'opération PutIntent.
Si vous utilisez la fonction Lambda d'exécution dans le cadre de votre intention de secours, vous pouvez utiliser cette fonction pour appeler une autre intention ou pour établir une forme de communication avec l'utilisateur, telle que la collecte d'un numéro de rappel ou l'ouverture d'une session avec un représentant du service client.
Vous pouvez effectuer n'importe quelle action dans une fonction Lambda d'intention de secours que vous pouvez effectuer dans la fonction d'exécution pour toute autre intention. Pour plus d'informations sur la création d'une fonction d'exécution à l'aide d'AWS Lambda, consultez Utilisation des fonctions Lambda.
Une intention de secours peut être appelée plusieurs fois dans la même session. Supposons, par exemple, que votre fonction Lambda utilise l'action ElicitIntent
de dialogue pour demander à l'utilisateur une intention différente. Si Amazon Lex ne parvient pas à déduire l'intention de l'utilisateur après le nombre d'essais configuré, il invoque à nouveau l'intention de secours. Il appelle également l'intention de secours lorsque l'utilisateur ne répond pas avec une valeur d'option valide après le nombre de tentatives configuré.
Vous pouvez configurer une fonction Lambda pour suivre le nombre de fois que l'intention de secours est appelée à l'aide d'une variable de session. Votre fonction Lambda peut effectuer une action différente si elle est appelée plus de fois que le seuil que vous avez défini dans votre fonction Lambda. Pour plus d'informations sur les variables de session, consultez Définition des attributs de session.