Usar puntuaciones de confianza de 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.

Usar puntuaciones de confianza de intención

Cuando un usuario hace un enunciado, Amazon Lex V2 utiliza la comprensión del lenguaje natural (NLU) para entender la solicitud del usuario y devolverle la intención correcta. De forma predeterminada, Amazon Lex V2 devuelve la intención más probable definida por su bot.

En algunos casos, puede resultar difícil para Amazon Lex V2 determinar la intención más probable. Por ejemplo, el usuario puede hacer un enunciado ambiguo o puede haber dos intenciones similares. Para ayudar a determinar la intención correcta, puede combinar sus conocimientos del dominio con las puntuaciones de confianza de la NLU en una lista de interpretaciones. Una puntuación de confianza es una calificación que proporciona Amazon Lex V2 y que muestra el grado de confianza en que una intención es la correcta.

Para determinar la diferencia entre dos intenciones en una interpretación, puede comparar sus puntuaciones de confianza. Por ejemplo, si una intención tiene una puntuación de confianza de 0,95 y otra tiene una puntuación de 0,65, la primera intención probablemente sea correcta. Sin embargo, si una intención tiene una puntuación de 0,75 y otra tiene una puntuación de 0,72, existe una ambigüedad entre las dos intenciones y es posible que pueda discriminar utilizando el conocimiento del dominio en su aplicación.

También puede utilizar las puntuaciones de confianza para crear aplicaciones de prueba que determinen si los cambios en los enunciados de una intención marcan una diferencia en el comportamiento del bot. Por ejemplo, puede obtener las puntuaciones de confianza de las intenciones de un bot utilizando un conjunto de enunciados y, a continuación, actualizar las intenciones con nuevos enunciados. A continuación, puede comprobar las puntuaciones de confianza para ver si se ha producido una mejora.

Las puntuaciones de confianza que devuelve Amazon Lex V2 son valores comparativos. No debe confiar en ellos como puntuación absoluta. Los valores pueden cambiar en función de las mejoras de Amazon Lex V2.

Amazon Lex V2 devuelve la intención más probable y hasta 4 intenciones alternativas con sus puntuaciones asociadas en la estructura de interpretations de cada respuesta. El siguiente código JSON muestra la estructura de interpretations de la respuesta de la operación RecognizeText:

"interpretations": [ { "intent": { "confirmationState": "string", "name": "string", "slots": { "string" : { "value": { "interpretedValue": "string", "originalValue": "string", "resolvedValues": [ "string" ] } } }, "state": "string" }, "nluConfidence": number } ]

AMAZON.FallbackIntent

Amazon Lex V2 devuelve AMAZON.FallbackIntent al ser la intención principal en dos situaciones:

  1. Si las puntuaciones de confianza de todas las intenciones posibles son inferiores al umbral de confianza. Puede utilizar el umbral predeterminado o puede definir el suyo propio. Si tiene AMAZON.KendraSearchIntent configurado, Amazon Lex V2 también lo devuelve en esta situación.

  2. Si la confianza en la interpretación AMAZON.FallbackIntent es superior a la confianza en la interpretación de todos los demás intentos.

Tenga en cuenta que Amazon Lex V2 no muestra una puntuación de confianza para AMAZON.FallbackIntent.

Establecer y cambiar el umbral de confianza

El umbral de confianza debe ser un número entre 0,00 y 1,00. Puede definir el umbral para cada idioma de su bot de las siguientes maneras:

Usar la consola de Amazon Lex V2

  • Para establecer el umbral al añadir un idioma a su bot con Añadir idioma, puede insertar el valor que desee en el panel del Umbral de puntuación de confianza.

  • Para actualizar el umbral, puede seleccionar Editar en el panel de Detalles del idioma en el idioma de su bot. A continuación, introduzca el valor que desee en el panel del Umbral de puntuación de confianza.

Usar operaciones de API

  • Para establecer el umbral, defina el parámetro nluIntentConfidenceThreshold de la operación CreateBotLocale.

  • Para actualizar el umbral de confianza, defina el parámetro nluIntentConfidenceThreshold de la operación UpdateBotLocale.

Administración de sesiones

Para cambiar la intención que Amazon Lex V2 utiliza en una conversación con el usuario, puede utilizar la respuesta del enlace de código del cuadro de diálogo (función de Lambda) o puede utilizar las API de administración de sesiones en su aplicación personalizada.

Usar una URL de función de Lambda

Cuando utiliza una función de Lambda, Amazon Lex V2 la llama con una estructura JSON que contiene la entrada a la función. La estructura JSON contiene un campo denominado currentIntent que incluye la intención que Amazon Lex V2 ha identificado como la intención más probable del enunciado del usuario. La estructura JSON también incluye un campo alternativeIntents que contiene hasta cuatro intenciones adicionales que pueden satisfacer la intención del usuario. Cada intención incluye un campo denominado nluIntentConfidenceScore que contiene la puntuación de confianza que Amazon Lex V2 asignó a la intención.

Para utilizar la intención alternativa, debe especificarla en la ConfirmIntent o la acción de diálogo ElicitSlot de la función de Lambda.

Para obtener más información, consulte Habilitar la lógica personalizada con funciones de AWS Lambda.

Usar la API de administración de sesiones

Para utilizar una intención diferente de la intención actual, utilice la operación PutSession. Por ejemplo, si decide que la primera alternativa es preferible a la intención que eligió Amazon Lex V2, puede utilizar la operación PutSession para cambiar las intenciones para que la siguiente intención con la que interactúe el usuario sea la que usted seleccionó.

Para obtener más información, consulte Administrar sesiones con la API de Amazon Lex V2.