Reconocimiento de intenciones | ranura NLU + subranuras Intent y Fallback
Last updated
Last updated
NLU es un Slot diseñado para implementar el reconocimiento de voz por parte del Agente - procesando mensajes en lenguaje natural para determinar la intención expresada (Intent) del Usuario Bot y, dependiendo de ella, moverse a la Rama de Script apropiada.
Una ranura NLU es una ranura compleja y no puede existir sin sus ranuras secundarias: la intención y las subranuras de reserva, que inician sus propias ramas de script a las que se realizará la transición una vez que se reconozca la intención correspondiente.
La Ranura NLU procesa la Petición entrante del Usuario Bot previamente registrada en la Variable de Contexto client_message.
Una ranura NLU sólo reconoce las intenciones que están incluidas en sus subranuras de intención; el resto de las intenciones existentes en la empresa no participan en el reconocimiento de esta ranura NLU. Por ejemplo, en la imagen anterior, el NLU Slot será entrenado para reconocer sólo los dos Intents que están seleccionados en sus intent Subslots. Si no se reconoce ninguno de estos Intents, la Conversación pasará a la Subslot de reserva.
La ranura NLU contiene una configuración de idioma - campo Idioma, que indica qué modelo de idioma utilizará la NLU. Cada ranura NLU puede reconocer con precisión sólo los mensajes que se expresan en el idioma especificado en la ranura. En las Subslots de cada NLU Slot, puede seleccionar sólo aquellos Intents cuya configuración especifique el mismo idioma que está seleccionado en la Slot.
Nombre - el nombre de la Ranura, que se mostrará en el Árbol de Script. La longitud máxima de un valor de campo es de 40 caracteres.
Umbral de confianza: valor mínimo de confianza en una intención reconocida, expresado en porcentaje, a partir del cual la intención se considera reconocida y la conversación puede pasar a su rama de script (la rama de script de la sublote de intención). El valor puede ser un número entero de 0 a 100.
Idioma - indica qué modelo de idioma utilizará la ranura NLU. La ranura reconocerá con precisión solo los mensajes que se expresen en el idioma seleccionado en el campo.
Después de guardar la ranura, el campo se bloquea y no está disponible para cambios.
Se recomienda establecer el valor del Umbral de Confianza basándose en la afirmación de que este valor debe ser inversamente proporcional al número de Intentos en la Ranura: cuantos más Intentos, más bajo debe ser el Umbral de Confianza. Para empezar, se recomienda establecer el valor en 15 y cambiar este valor dependiendo de los resultados de las pruebas del Agente. Más información: Probar y mejorar el reconocimiento de Agentes: selección del Umbral de Confianza
Ruso
Inglés
Portugués
Ucraniano
Español
Vietnamita
Tailandés
Indonesia
Malayo
Filipino
Serbio
Alemán
Polaco
Francés
Pakistán (urdu)
Kirguistán
Árabe
Nombre - el nombre de la Ranura, que se mostrará en el Árbol de Script. La longitud máxima de un valor de campo es de 40 caracteres. Si no se introduce un nombre, la Plataforma copia automáticamente el nombre de la Intención del campo Intención al campo Nombre.
Intent - Intención, tras el reconocimiento de la cual la Conversación irá a lo largo de la Rama de Guión que sigue a esta Subslot
El campo sólo muestra los Intents cuya configuración especifica el mismo idioma que el seleccionado en el campo Idioma de la NLU de la ranura.
Botón MOSTRAR INTENCIÓN EN UNA NUEVA PESTAÑA: al hacer clic en el botón, la intención seleccionada en el campo se abre en la siguiente pestaña del navegador.
Nombre - el nombre de la Ranura, que se mostrará en el Árbol de Script. La longitud máxima de un valor de campo es de 40 caracteres. Al crear una ranura NLU, el campo Nombre de la subranura de reserva se rellena automáticamente con el contenido del campo Nombre de la ranura NLU. Si se elimina el contenido del campo Nombre, la ranura secundaria del árbol de guiones aparecerá sin nombre.
Al crear una ranura NLU, se generan automáticamente dos subranuras de intención y una subranura de reserva. Si no hay intenciones en la empresa, se crearán subranuras con intenciones generadas automáticamente detrás de la ranura NLU:
a. Estos Intentos aparecerán en Recursos de la empresa. Acerca de la creación de Intenciones: Pestaña Intentos.
Puede sustituir Intents en Subslots generados expandiendo el Subslot haciendo doble clic con el ratón, haciendo clic en el nombre del Intent y seleccionando el deseado de la lista desplegable y haciendo clic en el botón Guardar.
Para añadir una nueva subranura, haga clic en el botón +. La nueva Subslot aparecerá en el Árbol de Script por encima de la Subslot, que siempre se encuentra en la parte inferior.
Para eliminar una subranura de intento, haga clic con el botón derecho del ratón sobre ella y pulse el botón Eliminar rama; a continuación, haga clic en Aceptar en el cuadro de diálogo emergente.
Es posible eliminar cualquier subranura de intención si, tras la eliminación, la ranura NLU sigue teniendo al menos dos subranuras de intención.
No es posible eliminar una de las dos últimas subslots de intento. Cuando intente hacerlo, aparecerá el siguiente error en la parte inferior central:
b. No es posible eliminar la subranura de reserva. Cuando intente hacerlo, aparecerá el siguiente error en la parte inferior central:
El NLU Slot se entrena en el Training Dataset de Intents añadido como su Subslot intent. La ranura NLU recibe la variable client_message сontext como entrada, la procesa, reconoce la intención y transfiere la conversación a la rama de script de intención reconocida. Si no se reconoce ninguna intención con el nivel de confianza adecuado, la conversación pasa a la ranura secundaria.
Entrenamiento: la ranura NLU se entrena con muestras de intenciones añadidas como sus subranuras de intención.
Importante: si el Agente fue editado, pero los cambios afectaron sólo al contenido de otras Ranuras, además de la Ranura NLU, entonces cuando el Agente sea reentrenado, la Ranura NLU no será reentrenada.
Recibir una Petición: el Slot NLU recibe el Mensaje del usuario Bot - el texto en la Variable de Contexto client_message.
Clasificación de la Petición: se clasifica el mensaje a partir de la variable client_message сontext y ordena todos los Intents de esta ranura NLU según el nivel de confianza en ellos - confidence (expresado en porcentaje, lo mismo que CONFIDENCE THRESHOLD).
Creación de la variable contextual nlu_result en el Contexto del Chat: se crea la variable contextual nlu_result, cuyo valor se convierte en un objeto json que contiene información sobre los 5 Intentos más reconocidos en orden descendente de confianza.
Ejemplo: [{'intent_name': 'size', 'confidence': 0.9993743300437927}, {'intent_name': 'product_in_stock', 'confidence': 0.00019508253899402916}, {'intent_name': 'model_price', 'confidence': 0.00012844 608863815665} , {'intent_name': 'address', 'confidence': 0.00010525238758418709}]
Transición a la intención: La intención con la máxima confianza, siempre que esta confianza >= UMBRAL DE CONFIANZA de la configuración de esta ranura NLU, es la intención por la que se reconoce la solicitud. En consecuencia:
La Conversación irá a la Rama Script de esta Subslot de intento;
la variable de contexto intent_name aparece en el Contexto de Chat ー el nombre de la Intención reconocida;
la variable de contexto de la intención aparece en el Contexto del Chat - el identificador de la Intención reconocida;
la variable contextual de confianza aparece en el Contexto del Chat - el nivel de confianza de que la Solicitud pertenece a un Intento específico, expresado en porcentaje.
Las variables de contexto de intención y confianza existen en el Contexto del Chat hasta la siguiente ejecución de la misma u otra Ranura NLU en este Agente.
Transición a la reserva: Si la confianza de todos los Intents está por debajo de CONFIDENCE THRESHOLD a partir de la configuración de este NLU Slot, entonces se considera que no se reconoció ni un solo Intent, como consecuencia:
La Conversación irá a la Rama de Script de Subslot de reserva;
la variable de contexto del error aparece en el Contexto del chat: el texto del error. Esta variable de contexto existe en el Contexto de Chat hasta:
siguiente ejecución de la misma u otra ranura NLU;
Ejecución de ranura de expresión regular (Comprobación del formato de los datos introducidos por el usuario del bot| Ranura de expresión regular y subranura de resultado);
Ejecución de ranura de solicitud externa (Ranura de solicitud externa (Envío de solicitudes a API desde script)).