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.
Définition du contexte d'intention
Amazon Lex peut déclencher des intentions en fonction du contexte. Un contexte est une variable d'état qui peut être associée à une intention lorsque vous définissez un bot.
Vous configurez les contextes d'une intention lorsque vous créez l'intention à l'aide de la console ou de l'PutIntentopération. Vous ne pouvez utiliser des contextes que dans les paramètres régionaux anglais (États-Unis) (en-US), et uniquement si vous définissez le enableModelImprovements
paramètre sur le true
moment où vous avez créé le bot avec l'PutBotopération.
Il existe deux types de relations pour les contextes, les contextes de sortie et les contextes d'entrée. Un contexte de sortie devient actif lorsqu'une intention associée est satisfaite. Un contexte de sortie est renvoyé à votre application dans la réponse de l'PostContentopération PostText or, et il est défini pour la session en cours. Une fois qu'un contexte est activé, il reste actif pendant le nombre de tours ou la limite de temps configurés lors de la définition du contexte.
Un contexte de saisie définit les conditions dans lesquelles une intention peut être reconnue. Une intention ne peut être reconnue au cours d'une conversation que lorsque tous ses contextes de saisie sont actifs. Une intention sans contexte de saisie est toujours éligible à la reconnaissance.
Amazon Lex gère automatiquement le cycle de vie des contextes activés en répondant aux intentions avec des contextes de sortie. Vous pouvez également définir des contextes actifs lors d'un appel à l'PostText
opération PostContent
or.
Vous pouvez également définir le contexte d'une conversation à l'aide de la fonction Lambda pour l'intention. Le contexte de sortie d'Amazon Lex est envoyé à l'événement d'entrée de la fonction Lambda. La fonction Lambda peut envoyer des contextes dans sa réponse. Pour de plus amples informations, veuillez consulter Format d'événement et de réponse d'entrée de la fonction Lambda.
Supposons, par exemple, que vous ayez l'intention de réserver une voiture de location configurée pour renvoyer un contexte de sortie appelé « book_car_fulfilled ». Lorsque l'intention est satisfaite, Amazon Lex définit la variable de contexte de sortie « book_car_fulfilled ». Puisque « book_car_fulfilled » est un contexte actif, une intention dont le contexte « book_car_fulfilled » est défini comme contexte d'entrée est désormais prise en compte pour reconnaissance, à condition qu'un énoncé de l'utilisateur soit reconnu comme une tentative de susciter cette intention. Vous pouvez l'utiliser à des fins qui n'ont de sens qu'après avoir réservé une voiture, par exemple en envoyant un reçu par e-mail ou en modifiant une réservation.
Contexte de sortie
Amazon Lex active les contextes de sortie d'une intention lorsque l'intention est satisfaite. Vous pouvez utiliser le contexte de sortie pour contrôler les intentions éligibles au suivi de l'intention actuelle.
Chaque contexte possède une liste de paramètres qui sont conservés dans la session. Les paramètres sont les valeurs des créneaux correspondant à l'intention réalisée. Vous pouvez utiliser ces paramètres pour préremplir les valeurs des emplacements à d'autres fins. Pour plus d’informations, consultez Utilisation des valeurs de slot par défaut.
Vous configurez le contexte de sortie lorsque vous créez une intention avec la console ou avec l'PutIntentopération. Vous pouvez configurer une intention avec plusieurs contextes de sortie. Lorsque l'intention est remplie, tous les contextes de sortie sont activés et renvoyés dans la PostContent réponse PostText or.
Ce qui suit montre comment attribuer un contexte de sortie à une intention à l'aide de la console.
Lorsque vous définissez un contexte de sortie, vous définissez également sa durée de vie, la durée ou le nombre de tours pendant lesquels le contexte est inclus dans les réponses d'Amazon Lex. Un tour correspond à une demande envoyée par votre application à Amazon Lex. Une fois le nombre de tours ou le temps écoulé, le contexte n'est plus actif.
Votre application peut utiliser le contexte de sortie selon ses besoins. Par exemple, votre application peut utiliser le contexte de sortie pour :
-
Modifiez le comportement de l'application en fonction du contexte. Par exemple, une application de voyage peut avoir une action différente pour le contexte « book_car_fulfilled » et « rental_hotel_fulfilled ».
-
Renvoie le contexte de sortie à Amazon Lex comme contexte d'entrée pour l'énoncé suivant. Si Amazon Lex considère l'énoncé comme une tentative de susciter une intention, il utilise le contexte pour limiter les intentions qui peuvent être renvoyées aux intentions correspondant au contexte spécifié.
Contexte de saisie
Vous définissez un contexte de saisie pour limiter les points de la conversation où l'intention est reconnue. Les intentions sans contexte de saisie peuvent toujours être reconnues.
Vous définissez les contextes de saisie auxquels une intention répond à l'aide de la console ou de l'PutIntent
opération. Une intention peut avoir plusieurs contextes d'entrée. Ce qui suit montre comment attribuer un contexte de saisie à une intention à l'aide de la console.
Pour une intention comportant plusieurs contextes d'entrée, tous les contextes doivent être actifs pour déclencher l'intention. Vous pouvez définir un contexte de saisie lorsque vous appelez l'PutSessionopération PostTextPostContent, ou.
Vous pouvez configurer les emplacements dans le but de prendre les valeurs par défaut du contexte actif actuel. Les valeurs par défaut sont utilisées lorsqu'Amazon Lex reconnaît une nouvelle intention mais ne reçoit pas de valeur de créneau. Vous spécifiez le nom du contexte et le nom du slot dans le formulaire #context-name.parameter-name
lorsque vous définissez le slot. Pour de plus amples informations, veuillez consulter Utilisation des valeurs de slot par défaut.