Creación del asistente digital

Estas son algunas de las mejores prácticas de alto nivel para crear asistentes digitales.

Un asistente digital utiliza el aprendizaje automático para enrutar los mensajes de usuario a una aptitud configurada que se ajuste mejor al contenido del mensaje. Para ello, todas las expresiones definidas en una aptitud se utilizan para entrenar un clasificador para esa aptitud. Por lo tanto, antes de probar las aptitudes en un asistente digital, asegúrese de que tienen un modelo bien entrenado para todas sus intenciones y de que ha probado la aptitud a fondo.


Descripción de build-digital-assistant.png

Acerca de la formación de unresolvedIntent en sus habilidades

Es posible crear una intención "unresolvedIntent" definida por el usuario para una aptitud y entrenarla con expresiones definidas por el usuario. Esta opción se generalizó antes de que se introdujeran los asistentes digitales. Con los asistentes digitales, esta opción de desarrollo ha perdido su relevancia y puede que ya no sea necesaria. Sin embargo, para que usted entienda, vamos a explicar de qué se trata y cómo y por qué funcionó.

La intención no resuelta de una aptitud maneja mensajes fuera del dominio para los que está diseñada una aptitud. Para ello, normalmente asigna un estado de flujo de diálogo a la transición de acción "unresolvedIntent" para informar al usuario de que la aptitud no ha podido manejar la solicitud.

Por ejemplo, una aptitud que maneja pedidos y entregas de pizza no está destinada a tratar transacciones financieras. Por lo tanto, cuando un usuario envía un mensaje para comprobar el saldo de una cuenta, la intención no resuelta gestionará la solicitud.

Supongamos ahora que un asistente digital tiene dos aptitudes definidas: una aptitud para gestionar pedidos y entregas de pizza y otra para gestionar casos de uso financieros. Si un usuario envía un mensaje que contiene una solicitud para comprobar el saldo de una cuenta, el asistente digital no lo reenvía a la aptitud pizza sino a la aptitud financiera. Esto significa que la intención no resuelta en la aptitud Pizza ya no se utiliza para manejar mensajes financieros.

Supongamos además, para el mismo asistente digital, que un usuario solicita información sobre el clima actual, que, por supuesto, no coincide con la pizza ni con la aptitud financiera. En este caso, ¿qué intención no resuelta de la aptitud cree que manejará esta solicitud? Lo hizo bien cuando gritó: "la intención no resuelta del asistente digital".

Al agregar aptitudes a un asistente digital y, a continuación, entrenar al asistente digital, el asistente digital aprende sobre el tipo de mensajes que cada una de las aptitudes configuradas desea manejar. Si el asistente digital no puede indicar a qué aptitud enrutar un mensaje, muestra la respuesta con la que está configurado para manejar intenciones no resueltas.

¿Qué significa esto para agregar y entrenar una intención "unresolvedIntent" personalizada en sus aptitudes? Esto significa que un modelo bien entrenado no necesita que se defina una intención "unresolvedIntent" personalizada en cada aptitud. Y, como recordatorio, tener modelos bien entrenados en todas sus habilidades es lo que la persona que usa el sombrero de "diseñador de modelos de IA" debe estar luchando.

En raras ocasiones, cuando una aptitud de un asistente digital responde incorrectamente a un mensaje que no debe manejar, puede agregar una intención "unresolvedIntent" personalizada para entrenar a la aptitud para que ya no responda a ella, de modo que se muestre el mensaje de intención no resuelta del asistente digital o que una intención de una de las otras aptitudes gestione la solicitud.

Recomendamos crear intenciones no resueltas personalizadas en una aptitud solo como último recurso (es decir, si las pruebas revelan un problema que no puede resolver volviendo a entrenar el modelo de intención afectado).

Digital Assistant es el hogar de tu persona

Un asistente digital proporciona una experiencia de chatbot unificada a los usuarios y, por lo tanto, requiere que la personalidad que ha definido esté presente de forma consistente en todas las conversaciones.

Grupos de Recursos

Al igual que las aptitudes, los asistentes digitales se pueden configurar para soportar varios idiomas. Los asistentes digitales necesitan todas las aptitudes configuradas para soportar los idiomas que soporta. Esto también incluye el tipo de soporte de idioma, que podría estar basado en NLU nativo o mediante el uso de servicios de traducción externos.

Todas las peticiones de datos y mensajes que muestra el asistente digital al enrutar mensajes de usuario a aptitudes deben proceder de grupos de recursos. Tener esos mensajes en un solo lugar facilita garantizar la consistencia, realizar ediciones y entregarlos a un traductor para su traducción.

Diálogos de desambiguación e interrupción

Aunque un asistente digital está formado por muchas aptitudes diferentes, no debe revelar estos detalles técnicos a los usuarios. Oracle Digital Assistant utiliza cuadros de diálogo configurables que se muestran al usuario cuando un mensaje de usuario cambia el contexto conversacional a una aptitud o intención diferente y cuando el contexto se restablece a la conversación original. Asegúrese de definir los mensajes de transición para que sean menos robóticos.

Por ejemplo, el mensaje que aparece durante el enrutamiento de non sequitur se define en la configuración del asistente digital como "Switching to ${system.routingToIntent} in ${system.routingToSkill} now". Para navegar a una intención de "crear gasto" en una aptitud de "gastos", el mensaje impreso sería, "Switching to create expense in expenses skill", que no es la forma en que un humano lo diría.

Si cambia la plantilla de mensaje a "Sure, let's ${system.routingToIntent} for you", el mensaje de usuario puede convertirse en "Sure, Let's create a new expense for you" (donde la parte "crear un nuevo gasto" del mensaje es el nombre mostrado que ha definido para la intención en la aptitud).

Sin embargo, esto significa que debe asegurarse de que los nombres mostrados de todas las intenciones están definidos de modo que los mensajes impresos en el nivel del asistente digital siempre se impriman de forma semántica correcta. Por lo tanto, le recomendamos que revise todos los mensajes del separador Configuraciones del panel de configuración del asistente digital y:

  • Cambie las plantillas existentes según sus necesidades.

  • Mueva las plantillas personalizadas a grupos de recursos. Agregue un marcador de posición en el que se deba agregar la expresión dinámica al mensaje. Por ejemplo, " Sure, let's {0} for you". La referencia del grupo de recursos se crearía como ${rb('key_name', ${system.routingToIntent})}.

  • Revise los nombres mostrados que ha definido para las intenciones en las aptitudes y asegúrese de que encajan en las plantillas de mensajes que ha definido en las configuraciones del asistente digital.

  • Revise los nombres de llamada de aptitud, que se definen en la página Configuración de la aptitud, para asegurarse de que los nombres también se ajustan lingüísticamente a su uso en las plantillas de mensajes.

  • Opcionalmente, cambie la configuración como Umbral de confianza de petición de datos de interrupción para mostrar solo la petición de datos cuando la confianza sea baja o para suprimirla por completo.

  • En los valores de configuración, cambie el umbral de confianza, que determina cuándo se considera que una aptitud es una aptitud candidata. Recomendamos definir este umbral en un valor inferior al valor por defecto y, a continuación, aumentarlo gradualmente con el tiempo. Lo que quieres encontrar es el punto ideal que resuelve todas tus habilidades con confianza sin un mal enrutamiento.

Lista de control para crear su asistente digital

  • ☑ Asegúrese de que las aptitudes agregadas a un asistente digital tengan un modelo bien entrenado y probado para todas sus intenciones.
  • ☑ Revise los valores de configuración del asistente digital para adaptar las plantillas de mensajes para los mensajes incorporados a sus necesidades y a la persona del bot.
  • ☑ Revise los nombres mostrados de la intención y los nombres de llamada de aptitud para asegurarse de que su redacción se ajusta a las plantillas de asistente digital definidas.
  • ☑ Al probar las conversaciones del asistente digital, asegúrese de que el usuario definido para el bot esté siempre presente.