Mejorar el reconocimiento de los valores de los slots con sugerencias en tiempo de ejecució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.

Mejorar el reconocimiento de los valores de los slots con sugerencias en tiempo de ejecución

Con las sugerencias en tiempo de ejecución, puede proporcionar a Amazon Lex V2 un conjunto de valores de slot según el contexto para obtener un mejor reconocimiento en las conversaciones de audio y mejorar las resoluciones de los slots. Puede utilizar las sugerencias en tiempo de ejecución para proporcionar una lista de frases en tiempo de ejecución que sean candidatas para la resolución de un valor de slot.

Por ejemplo, si un usuario que interactúa con un bot de reservas de vuelos viaja con frecuencia a San Francisco, Yakarta, Seúl y Moscú, puede configurar las sugerencias en tiempo de ejecución con una lista de estas cuatro ciudades cuando busque el destino para mejorar el reconocimiento de las ciudades que viaja con más frecuencia.

Las sugerencias sobre el tiempo de ejecución solo están disponibles en inglés (EE. UU.) e inglés (Reino Unido). Se pueden usar con los siguientes tipos de slot:

  • Tipos de slots personalizados

  • AMAZON.City

  • AMAZON.Country

  • AMAZON.FirstName

  • AMAZON.LastName

  • AMAZON.State

  • AMAZON.StreetName

Consejos básicos sobre el tiempo de ejecución

  • Las sugerencias en tiempo de ejecución se utilizan únicamente cuando se obtiene un valor de slot por parte de un usuario.

  • Cuando se utilizan sugerencias en tiempo de ejecución, se prefieren los valores de las sugerencias a los valores similares. Por ejemplo, en el caso de un bot que pide comida, puede configurar una lista de elementos del menú como sugerencias en tiempo de ejecución y, al mismo tiempo, buscar alimentos en un slot personalizado para preferir «filete» en lugar de «ribete» que suene similar.

  • Si la entrada del usuario es diferente de los valores proporcionados en las sugerencias en tiempo de ejecución, se utilizará la entrada original del usuario para el slot.

  • En el caso de los tipos de slot personalizados, los valores proporcionados como sugerencias en tiempo de ejecución se utilizarán para resolver el slot, incluso si no formaron parte del slot personalizado durante la creación del bot.

  • Las sugerencias en tiempo de ejecución solo se admiten para entradas de audio de 8 kHz. Están disponibles con integraciones de centros de contacto compatibles con Amazon Lex V2. Las sugerencias en tiempo de ejecución no se proporcionan para la entrada de audio desde la ventana de prueba de la consola de Amazon Lex V2 porque utiliza una entrada de audio de 16 kHz.

nota

Antes de poder usar las sugerencias en tiempo de ejecución con un bot existente, primero debe volver a compilarlo. Las versiones existentes de un bot no admiten sugerencias en tiempo de ejecución. Debe crear una nueva versión del bot para usarlas.

Puede enviar sugerencias en tiempo de ejecución a Amazon Lex V2 mediante las operaciones PutSession, RecognizeText, RecognizeUtterance o StartConversatio. También puede añadir sugerencias en tiempo de ejecución mediante una función de Lambda.

Puede enviar sugerencias en tiempo de ejecución al principio de una conversación para configurar las sugerencias para cada slot utilizado en el bot, o puede enviar sugerencias como parte del estado de la sesión durante una conversación. El atributo runtimeHints asigna un slot a las sugerencias de ese slot.

Una vez que envíe una sugerencia de tiempo de ejecución a Amazon Lex V2, esta persiste durante cada turno de la conversación hasta que finalice la sesión. Si envía una estructura de runtimeHints nula, se utilizan las sugerencias existentes. Puede modificar las sugerencias de la siguiente manera:

  • Enviar una nueva estructura de runtimeHints al bot. Los contenidos de la nueva estructura sustituyen a los existentes.

  • Enviar una nueva estructura vacía de runtimeHints al bot. Esto borra las sugerencias en tiempo de ejecución para el bot.

Añadir los valores de los slots en su contexto

Añada contexto a su bot proporcionando los valores de slot esperados como sugerencias en tiempo de ejecución cuando su aplicación tenga información sobre el próximo enunciado probable del usuario. Añada un enlace de código de diálogo Lambda a su bot (consulte Habilitar la lógica personalizada con funciones de AWS Lambda para obtener más información) y utilice el campo ProposedNextState en Interpretar el formato del evento de entrada para determinar las sugerencias en tiempo de ejecución que debe incluir para mejorar la conversación con el usuario.

Por ejemplo, en una aplicación bancaria, puede generar una lista de apodos de cuentas para un usuario específico y, a continuación, utilizarla para obtener la cuenta a la que el usuario quiere acceder.

Envíe sugerencias sobre el tiempo de ejecución al inicio de la conversación cuando disponga de contexto para ayudar al bot a interpretar las entradas de los usuarios. Por ejemplo, si tiene el número de teléfono del usuario, puede usar esta información para buscarlo y usar la operación PutSession o StartConversation para pasar sugerencias sobre su nombre y apellidos al bot si está buscando el nombre del usuario para validar sus credenciales.

Durante una conversación, es posible que recopile información sobre el valor de un slot que pueda ayudarle con el valor de otro slot. Por ejemplo, si tienes el número de cuenta del usuario en una aplicación de mantenimiento de coches, puede buscar los coches que son propiedad del cliente y pasarlos como sugerencias para encontrar otro slot.

Escriba separado mediante puntos o espacios los acrónimos u otras palabras cuyas letras deban pronunciarse por separado. No utilice letras individuales a menos que formen parte de una frase, como «J. P. Morgan» o «A.W.S». Puede utilizar letras mayúsculas o minúsculas para definir los acrónimos.

Añadir sugerencias a un slot

Para añadir sugerencias en tiempo de ejecución a un slot, se utiliza la estructura de runtimeHints que forma parte de la estructura de sessionState. A continuación se muestra un ejemplo de la estructura de runtimeHints. Proporciona sugerencias para dos slots, «Nombre» y «Apellido» para la intención de «ConcertarCita».

{ "sessionState": { "intent": {}, "activeContexts": [], "dialogAction": {}, "originatingRequestId": {}, "sessionAttributes": {}, "runtimeHints": { "slotHints": { "MakeAppointment": { "FirstName": { "runtimeHintValues": [ { "phrase": "John" }, { "phrase": "Mary" } ] }, "LastName": { "runtimeHintValues": [ { "phrase": "Stiles" }, { "phrase": "Major" } ] } } } } } }

También puede utilizar una función de Lambda para añadir sugerencias sobre el tiempo de ejecución durante una conversación. Para añadir sugerencias en tiempo de ejecución, añada la estructura de runtimeHints al estado de sesión de la respuesta que la función de Lambda envía a Amazon Lex V2. Para obtener más información, consulte Preparar el formato de respuesta.

Debe especificar un intentName y un slotName válidos en la solicitud; de lo contrario, Amazon Lex V2 devolverá un error de tiempo de ejecución.