Establecer el contexto de la intención - Amazon Lex

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Establecer el contexto de la intención

Puede hacer que Amazon Lex active las intenciones en función del contexto. Un contexto es una variable de estado que se puede asociar a una intención al definir un bot. Los contextos de una intención se configuran cuando se crea la intención mediante la consola o mediante la operación createIntent. Solo puede usar el contexto en la configuración regional inglesa (US) (en-US).

Hay dos tipos de relaciones para los contextos: los contextos de salida y los contextos de entrada. Un contexto de salida se activa cuando se cumple una intención asociada. Se devuelve un contexto de salida a la aplicación en respuesta de la operación recognizeText o recognizeUtterance y se establece para la sesión actual. Una vez activado un contexto, permanece activo durante el número de turnos o el límite de tiempo configurados cuando se definió el contexto.

Un contexto de entrada especifica las condiciones en las que se puede reconocer una intención. Una intención solo se puede reconocer durante una conversación cuando todos sus contextos de entrada están activos. Una intención sin contextos de entrada siempre es apta para el reconocimiento.

Amazon Lex administra automáticamente el ciclo de vida de los contextos que se activan al cumplir las intenciones con los contextos de salida. También puede configurar los contextos activos en una llamada a la operación RecognizeText o RecognizeUtterance.

También puede establecer el contexto de una conversación con la función de Lambda para la intención. El contexto de salida de Amazon Lex se envía al evento de entrada de la función de Lambda. La función de Lambda puede enviar contextos en su respuesta. Para obtener más información, consulte Habilitar la lógica personalizada con funciones de AWS Lambda.

Por ejemplo, supongamos que tiene la intención de reservar un coche de alquiler que está configurado para devolver un contexto de salida denominado «book_car_fulfilled». Cuando se cumple la intención, Amazon Lex establece la variable de contexto de salida «book_car_fulfilled». Dado que «book_car_fulfilled» es un contexto activo, ahora se tiene en cuenta el reconocimiento de una intención con el contexto «book_car_filled» establecido como contexto de entrada, siempre y cuando un enunciado del usuario se reconozca como un intento de provocar esa intención. Puede usarlo para fines que solo tengan sentido después de reservar un vehículo, como enviar un recibo por correo electrónico o modificar una reserva.

Contexto de salida

Amazon Lex activa los contextos de salida de una intención cuando se cumple la intención. Puede utilizar el contexto de salida para controlar las intenciones aptas para hacer un seguimiento de la intención actual.

Cada contexto tiene una lista de parámetros que se mantienen en la sesión. Los parámetros son los valores de los slots correspondientes a la intención cumplida. Puede utilizar estos parámetros para rellenar previamente los valores de los slots para otros propósitos. Para obtener más información, consulte Usar valores de slot predeterminados.

El contexto de salida se configura cuando crea una intención con la consola o con la operación CreateIntent. Puede configurar una intención con más de un contexto de salida. Cuando se cumple la intención, todos los contextos de salida se activan y se devuelven en la respuesta RecognizeText o RecognizeUtterance.

Cuando define un contexto de salida, también define su tiempo activo, la duración o el número de turnos que el contexto incluye en las respuestas de Amazon Lex. Un turno es una solicitud de su aplicación a Amazon Lex. Una vez transcurrido el número de turnos o el tiempo, el contexto deja de estar activo.

La aplicación puede usar el contexto de salida según sea necesario. Por ejemplo, su aplicación puede usar el contexto de salida para:

  • Cambiar el comportamiento de la aplicación en función del contexto. Por ejemplo, una aplicación de viajes podría tener una acción diferente para el contexto «book_car_filled» que para «rental_hotel_fulfilled».

  • Devolver el contexto de salida a Amazon Lex como contexto de entrada para el siguiente enunciado. Si Amazon Lex reconoce el enunciado como un intento de obtener una intención, utiliza el contexto para limitar las intenciones que se pueden devolver a las que tienen el contexto especificado.

Contexto de entrada

Establezca un contexto de entrada para limitar los puntos de la conversación en los que se reconoce la intención. Las intenciones sin un contexto de entrada siempre son aptas para ser reconocidas.

Los contextos de entrada a los que responde una intención se establecen mediante la consola o la operación CreateIntent. Una intención puede tener más de un contexto de entrada.

En el caso de una intención con más de un contexto de entrada, todos los contextos deben estar activos para activar la intención. Puede establecer un contexto de entrada al llamar a la operación RecognizeText, RecognizeUtterance o PutSession.

Puede configurar los slots con la intención de tomar los valores predeterminados del contexto activo actual. Los valores predeterminados se utilizan cuando Amazon Lex reconoce una nueva intención pero no recibe un valor de slot. Al definir el slot, debe especificar el nombre del contexto y el nombre del slot en el formulario #context-name.parameter-name. Para obtener más información, consulte Usar valores de slot predeterminados.