Slots - 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.

Slots

Los slots son valores que proporciona el usuario para cumplir con la intención. Existen dos tipos de slots:

  • Tipo de slot integrado: puede utilizar los tipos de slot integrados para capturar valores estándar como el número, el nombre y la ciudad. Para obtener una lista de los tipos compatibles, consulte Tipos de slot integrados.

  • Tipo de slot personalizado: puede utilizar tipos de slot personalizados para obtener valores personalizados específicos de la intención. Por ejemplo, puede utilizar un tipo de slot personalizado para obtener el tipo de cuenta como «Cuenta corriente» o «Ahorros». Para obtener más información, consulte Tipo de ranura personalizado.

Para definir un slot en una intención, debe configurar lo siguiente:

  • Información sobre el slot: este campo contiene un nombre y una descripción opcional para el slot. Por ejemplo, puede proporcionar el nombre del slot como «NúmeroDeCuenta» para obtener los números de cuenta. Si el slot es obligatorio como parte del flujo de la conversación para cumplir con la intención, debe marcarse como obligatorio.

  • Tipo de slot: un tipo de slot define la lista de valores que puede aceptar una slot. Puede crear un tipo de slot personalizado o utilizar un tipo de slot predefinido.

  • Solicitud de slot: una solicitud de slot es una pregunta que se hace al usuario para recopilar información. Puede configurar el número de reintentos que se utilizan para recopilar información y la variación de la solicitud utilizada para cada reintento. También puede habilitar la invocación de una función de Lambda después de cada reintento para procesar la entrada recopilada e intentar convertirla en una entrada válida.

  • Esperar y continuar (opcional): al habilitar este comportamiento, los usuarios pueden decir frases como «espera un segundo» para que el bot espere a que encuentren la información y la proporcionen. Esto solo está habilitado para la transmisión de conversaciones. Para obtener más información, consulte Permitir que el bot espere a que el usuario proporcione más información.

  • Respuestas de captura de slots: puede configurar una respuesta correcta y una respuesta de error en función del resultado de capturar el valor del slot a partir de las entradas del usuario.

  • Ramificación condicional: puede aplicar condiciones después de reproducir la respuesta inicial. Cuando una condición se evalúa como «verdadero», se llevan a cabo las acciones que usted defina. Para obtener más información, consulte Añadir condiciones a las conversaciones ramificadas.

  • Enlace de código de diálogo: también puede utilizar un enlace de código Lambda para validar los valores de los slots y ejecutar la lógica empresarial. Para obtener más información, consulte Invocar el enlace de código de diálogo.

  • Tipo de entrada de usuario: puede configurar el tipo de entrada para que el bot pueda aceptar una modalidad específica. De forma predeterminada, se aceptan las modalidades de audio y DTMF. Puede configurarlo de forma selectiva como solo audio o solo DTMF.

  • Tiempos de espera y duraciones de entrada de audio: puede configurar los tiempos de espera de audio, incluidos los tiempos de espera de voz y tiempo de espera de silencio. Además, puede establecer la duración máxima del audio.

  • Tiempo de espera de entrada DTMF, caracteres y longitudes: puede configurar el tiempo de espera de DTMF junto con el carácter de eliminación y el carácter final. Además, puede establecer la duración máxima del DTMF.

  • Longitud del texto: puede establecer la longitud máxima para la modalidad del texto.

Una vez reproducido el mensaje del slot, el usuario proporciona el valor del slot como entrada. Si Amazon Lex V2 no entiende el valor de un slot proporcionado por el usuario, volverá a intentar obtener el slot hasta que comprenda un valor o hasta que supere el número máximo de reintentos que configuró para el slot. Con la configuración avanzada de reintentos, puede configurar los tiempos de espera, restringir el tipo de entrada y activar o desactivar la interrupción durante el mensaje inicial y los reintentos. Tras cada intento de captura de la entrada, Amazon Lex V2 puede llamar a la función de Lambda configurada para el bot con una etiqueta de invocación incluida para los reintentos. Puede usar la función de Lambda, por ejemplo, para aplicar su lógica empresarial e intentar resolverla en un valor válido. Esta función de Lambda se puede activar en las Opciones avanzadas para las indicaciones de slots.


                    Configure las indicaciones de slots para que su bot obtenga información.

Puede definir las respuestas que el bot debe enviar al usuario una vez introducido el valor del slot o si se supera el número máximo de reintentos. Por ejemplo, si se trata de un bot para programar el servicio de un coche, puede enviar un mensaje al usuario cuando introduzca el número de identificación del vehículo (VIN):

Gracias por proporcionarnos el número VIN de tu coche. Ahora procederé a programar una cita.

Puede crear dos respuestas:

  • Respuesta correcta: se envía cuando Amazon Lex V2 entiende el valor de un slot.

  • Respuesta de error: se envía cuando Amazon Lex V2 no entiende el valor de un slot del usuario tras el número máximo de reintentos.

Puede establecer valores, configurar los siguientes pasos y aplicar las condiciones correspondientes a cada respuesta para diseñar el flujo de la conversación.

En ausencia de una condición o de un siguiente paso explícito, Amazon Lex V2 pasa al siguiente slot en orden de prioridad.


                    Las opciones avanzadas para las respuestas de slots.

Puede utilizar una función de Lambda para validar un valor de slot que haya introducido un usuario y determinar cuál debe ser la siguiente acción. Por ejemplo, puede usar la función de validación para asegurarse de que el valor introducido se encuentra en el rango correcto o que tiene el formato correcto. Para activar la función de Lambda, seleccione la casilla de verificación Invocar la función de Lambda y el botón Activo en la sección Enlace del código de diálogo. Puede especificar una etiqueta de invocación para el enlace de código del diálogo. Esta etiqueta de invocación se puede utilizar en la función de Lambda para escribir la lógica empresarial correspondiente a la obtención de slots.


                    Las opciones para el enlace del código de diálogo.

Los slots que no son necesarios para la intención no forman parte del flujo principal de la conversación. Sin embargo, si el enunciado de un usuario contiene un valor que su bot identifica como correspondiente a un slot opcional, puede rellenar el slot con ese valor. Por ejemplo, si configura un bot de inteligencia empresarial para que tenga un slot City opcional y el enunciado del usuario What is the sales for April in San Diego?, el bot rellenará el slot opcional con San Diego. Puede configurar la lógica empresarial para que utilice el valor de slot opcional, si está presente.

Los slots que no sean necesarios para la intención no se pueden obtener mediante los siguientes pasos. Estos pasos solo se pueden completar durante la obtención de intenciones (como en el ejemplo anterior) o se pueden obtener configurando el estado del diálogo en la función de Lambda. Si el slot se obtiene mediante la función de Lambda, debe usar la función de Lambda para decidir el siguiente paso de la conversación una vez que se complete la obtención del slot. Para permitir el siguiente paso a la hora de compilar el bot, debe marcar el slot como obligatorio para esa intención.

nota

El 17 de agosto de 2022, Amazon Lex V2 publicó un cambio en la forma en que se gestionan las conversaciones con el usuario. Este cambio le da más control sobre la ruta que sigue el usuario a lo largo de la conversación. Para obtener más información, consulte Comprender la gestión del flujo de conversaciones. Los bots creados antes del 17 de agosto de 2022 no admiten mensajes de enlace de código de diálogo, ni permiten establecer valores, configurar los pasos siguientes ni añadir condiciones.

En los siguientes temas, se describe cómo configurar un bot para que vuelva a obtener un valor de slot que ya se ha ocupado y cómo crear un slot compuesto por varios valores: