Recomendaciones de mejores prácticas para crear bots en Architect
Descripción general de la tecnología de bots
Genesys Dialog Engine Bot Flows, como cualquier herramienta avanzada de aprendizaje automático, funciona aprendiendo de múltiples ejemplos y luego definiéndolos para categorizar casos similares no vistos anteriormente. El bot aprende de los ejemplos, no de las reglas.
Las fortalezas de este enfoque incluyen:
- Flexibilidad de idioma de entrada y cálculo de datos ocultos. El bot hace conjeturas basadas en conversaciones anteriores.
- Puntuación de confianza estadística para que sepa qué tan segura está la respuesta del bot con las respuestas.
- Degradación elegante, que no es un enfoque de aprobación o falla, sino una pérdida gradual de certeza para los datos ruidosos.
El enfoque de aprendizaje automático tiene un costo: es posible que no tenga resultados predeterminados para todas las entradas. La toma de decisiones de la inteligencia artificial (IA) se basa en sus propios cálculos y conclusiones, no en comandos directos. Los ejemplos de aprendizaje sesgan el motor hacia la respuesta correcta, pero no siempre lo garantizan.
Este artículo brinda orientación sobre los tipos de cambios en el modelo que son de bajo y alto riesgo dentro de los cambios de sesgo del modelo. Para más información, ver Acerca de los flujos de bot del motor de diálogo de Genesys y Precios de Genesys Dialog Engine Bot Flows.
Considere las siguientes capacidades del sistema cuando diseñe su modelo:
- Funcionalidad de reenvío: Configure la disponibilidad del agente para recibir una interacción de voz, mensaje o chat, si es necesario.
- Funciones integradas:
- Confirme declaraciones poco claras haciendo una hipótesis y pidiendo confirmar o negar la intención propuesta.
- Complete los espacios y, opcionalmente, las confirmaciones de espacios para una intención y los detalles requeridos antes de actuar. Las ranuras integradas incluyen fecha, hora, moneda y número.
- Los tipos de tragamonedas personalizados le permiten definir tipos de tragamonedas y usarlos para asignar tragamonedas. Architect admite tres tipos de ranuras personalizadas:
- un tipo de lista
- un tipo de lista dinámica
- un tipo de expresión regular (regex)
- Capaz de hacer preguntas de seguimiento, incluyendo:
- si y no preguntas
- Preguntas para llenar espacios
- Opcionalmente, filtra los saludos.
- Revise el comportamiento de manejo de eventos para mayor claridad. Por ejemplo, eventos de error, fallas de reconocimiento y escalamiento de agentes.
Cuando defina intenciones, tenga en cuenta las siguientes pautas:
Definir elementos de acción para posibles intenciones
- Haga una lista de los elementos de acción que desea que cubra el bot.
- Evalúe si estas solicitudes y los ejemplos correspondientes son buenos candidatos para un bot:
- ¿Están bien definidos los casos?
- ¿Los ejemplos comparten vocabulario que el bot puede usar como ancla para el aprendizaje?
- ¿Los ejemplos de posibles solicitudes difieren lo suficiente?
- ¿Puede proporcionar suficientes ejemplos distintos? Las mejores prácticas recomiendan entre 15 y 30 ejemplos.
- Revise los datos existentes y determine cómo se compara su lista con los casos del mundo real.
- Asegúrese de que sus definiciones tengan límites claros y no se superpongan.
- Si tiene ejemplos que se encuentran entre intenciones, decida dónde prefiere que vayan y vuelva a dibujar los límites de definición de intención para acomodarlos.
- Prepare una lista de intenciones más pequeña y más importante al principio. En iteraciones futuras, puede expandir un modelo de prueba de concepto que funcione bien.
Use patrones de nomenclatura de intenciones consistentes
- Configure los nombres de las intenciones para que funcionen dentro de una oración rápida; por ejemplo, "Creo que está interesado en [nombre de la intención]".
- Asegúrese de que todas las intenciones se ajusten al patrón.
- Use nombres más cortos si es posible. Este punto es especialmente importante para los bots de voz. La confirmación, la eliminación de ambigüedades y las indicaciones que contienen nombres de intenciones largos no funcionan bien con la voz.
- Utilice una redacción breve pero natural que se ajuste a la gramática rápida.
- Elija entre avisos predeterminados y personalizados para cada intento, según el caso de uso.
- Asegúrese de que las indicaciones personalizadas y predeterminadas sean breves.
Cuando proporcione ejemplos de intenciones, tenga en cuenta estas pautas de mejores prácticas:
- Proporcione al menos 20 a 30 ejemplos típicos por intención.
- Asegúrese de proporcionar variaciones de intención, como:
- Incluya variedad en forma de preguntas o declaraciones que la gente pueda hacer.
- Agregue palabras clave que representen la intención.
- Agregue frases cortas y oraciones completas.
- Agregue sinónimos para la acción de la intención; por ejemplo, reserve un hotel, reserve una habitación y haga una reserva.
- Si tiene varias intenciones que comparten el mismo léxico, asegúrese de proporcionar ejemplos suficientemente equilibrados en ambos lados y priorice frases de ejemplo que distingan las dos intenciones. Por ejemplo: “deje un mensaje para un médico” y “consulte a un médico”. Incluir verbos que distingan diferentes acciones sobre el mismo sustantivo ayuda a un correcto aprendizaje.
- Si una intención tiene espacios para llenar, asegúrese de que:
- Defina la ranura y los tipos de ranura.
- Incluya valores plurales y sinónimos.
- Marque entidades en frases de ejemplo de intención.
- Seleccione avisos predeterminados o personalizados para cada ranura.
- En sus indicaciones, proporcione instrucciones o ejemplos para formatos de tragamonedas integrados.
Cuando defina entidades, tenga en cuenta las siguientes pautas:
- Defina los tipos de información que llenan los espacios para realizar la acción de intención o para informar el recorrido del cliente.
- Si es posible, cree clases de tragamonedas que no se superpongan y pregunte:
- ¿Se requiere esta información para la toma de medidas o para el enrutamiento de bots?
- ¿Se guardará y utilizará esta información en el recorrido del cliente?
- Considere elegir una estrategia diferente para los datos si responde "sí" a:
- ¿Es esta información difícil de capturar? ¿Es demasiado detallado, hay demasiadas opciones con redacción que pueden evitar que el bot dirija al cliente en la dirección correcta?
- Si el bot no captura estos datos, ¿fallará la clasificación de intenciones?
- Una estrategia diferente puede ser un espacio de entidad que no sea obligatorio, que solo se elija cuando esté presente y no se solicite, o que se capture como una intención diferente.
- Evite los tragamonedas generales con una amplia gama de valores de tragamonedas que no se pueden anticipar.
- Evite preguntas abiertas como cómo o por qué. Confíe en dirigir a los clientes a opciones limitadas en su lugar.
- Considere preguntas binarias para la captura de información; por ejemplo, use preguntas integradas de sí o no para solicitar espacios).
Cuando proporcione ejemplos de entidades, considere estas pautas de mejores prácticas:
- Necesita un mínimo de dos ejemplos de valor de ranura resaltados en su conjunto de entrenamiento de intenciones.
- Si tiene ejemplos de tragamonedas en su conjunto de entrenamiento, intente resaltar todos o la mayoría de los casos, especialmente los valores comunes y los sinónimos.
Asegúrese de crear mensajes que:
- Son breves y claras.
- Encaja bien con la gramática de posibles intenciones predeterminadas o inserciones de nombres de espacios.
Considere las variaciones y ajustes necesarios para un bot de voz.
- Intenciones: No es necesario variar los formatos de números. Sin embargo, asegúrese de saber qué formato numérico devuelve su componente de voz a texto y asegúrese de representar ese formato en sus intenciones.
- Indicaciones: Asegúrese de construir indicaciones de voz con una selección de palabras breve y mínima. A diferencia de los mensajes de texto, no puede volver a revisarlos. Las mejores prácticas recomiendan indicaciones de voz simples y breves, con pocas o menos de tres palabras y sin repetición.
En esta sección, se describen las recomendaciones del conjunto de pruebas, las pautas para las pruebas de bots de voz y las pruebas de motores de bots de texto o voz.
Recomendaciones del conjunto de pruebas
Un bot basado en el aprendizaje automático debe pasar por múltiples iteraciones de prueba y corrección al agregar ejemplos y reequilibrar los conjuntos de entrenamiento. Las mejores prácticas recomiendan que cree un conjunto de prueba deliberado a partir de declaraciones de clientes del mundo real y lo reutilice con cada iteración para ver mejoras.
Para obtener el mejor resultado, se recomiendan las pruebas de bot de extremo a extremo a través de llamadas simuladas y las pruebas solo de NLU basadas en un conjunto de ejemplos de prueba predefinidos. Si tiene información sobre la frecuencia de la intención o ideas sobre qué casos son más centrales o más importantes para su negocio, asegúrese de representarlos bien en su conjunto de prueba.
Pruebas de bots de voz
Las siguientes pautas lo ayudan a determinar si el reconocimiento de voz automático afecta el rendimiento. Durante el proceso de prueba, asegúrese de que sus ejemplos de intención estén representados en diferentes voces y entornos:
- Diferencias de léxico generacional
- Comprensión de reconocimiento de voz automático (ASR) de dialecto regional
- Representación de género. Por ejemplo, las voces con un tono más alto tienen un rango acústico más pequeño y pueden ser más difíciles de comprender para el motor ASR)
- Pruebas en entornos ruidosos, como un teléfono, un teléfono con ruido de tráfico o de televisión de fondo.
Pruebas de motores de bots (texto o voz)
- Utilice variaciones para cada intención. Por ejemplo, “Necesito una habitación para mañana”. o “Quiero reservar una habitación para mañana”.
- Casos de prueba en los que una intención no está clara. Por ejemplo, problemas de límites, superposición de vocabulario entre intenciones, una intención solicitada con un nivel de detalle diferente.
- Pruebe el modelo utilizando expresiones de una sola palabra clave o frases cortas.
- Pruebe el modelo utilizando intents con y sin espacios.
- Verifique si las palabras generales crean un sesgo fuerte. Por ejemplo, ¿las palabras "por qué" o "ayúdame" seleccionan automáticamente una intención sobre otra? En este caso, la acción correctiva recomendada es equilibrar el modelo agregando esas palabras a otras intenciones, cuando corresponda.
- Determina si las palabras clave compartidas crean un sesgo fuerte. Por ejemplo, "cuenta" en las intenciones bancarias. En este caso, la acción correctiva recomendada es decidir sobre un incumplimiento y luego fortalecer los subcampos.
Durante el análisis posterior a la prueba, revise las áreas de mejora, evalúe la tasa de éxito de la prueba del modelo y trabaje con el panel de aprendizaje.
Revisar para mejorar
Después de entrenar y probar su bot, revise las áreas de mejora. Utilice la información de confianza en la clasificación de intenciones para diagnosticar problemas y orientar las mejoras:
Si la intención incorrecta se hipotetiza con alta confianza:
- ¿Hay palabras esenciales en su ejemplo de prueba que sugieran más de una intención?
- ¿Debería redefinir los límites de intención, fusionar o limpiar ejemplos en intenciones que son demasiado similares y, por lo tanto, confunden el modelo?
Si la intención incorrecta se hipotetiza con baja confianza:
- ¿Es el ejemplo uno “típico”? Siga las pautas mencionadas anteriormente en este artículo.
- ¿Es el ejemplo “marginal”? Concéntrese primero en los ejemplos centrales. Después de corregir esos ejemplos, puede abordar los casos límite con ejemplos de intención.
Si la confianza para los ejemplos de intención central está por debajo del umbral de confirmación:
- Vea la definición de la intención y las intenciones relacionadas o similares. ¿La definición y el vocabulario se superponen demasiado? ¿Existen posibles fusiones entre intentos demasiado similares? ¿Debería eliminar algunos ejemplos de "intención en competencia"?
- ¿Es el ejemplo “marginal”? Puede esperar una menor confianza si existen menos ejemplos en la definición de la intención o si otras intenciones comparten casos similares.
- Si los puntos anteriores no se aplican, puede ajustar el umbral de confirmación a la baja.
Evaluar el éxito general de la prueba del modelo.
- Evalúe la relevancia de sus intenciones para los casos de prueba y ajuste si falta algún caso central.
- Centra tu atención en las frases clave, no en el contenido perdido. Si usa datos reales, considere si debe realizar cambios relevantes en las pruebas, como minimizar la redacción de oraciones.
- Considere si incluir más ejemplos de capacitación; por ejemplo, variación sintáctica y sinónimos.
- Equilibre sus intenciones para que eliminen el sesgo existente en frases comunes y palabras clave compartidas. Si un ejemplo incluye un sesgo fuerte que interfiere con la resolución de la intención, elimínelo.
Trabajar con el panel de aprendizaje
El panel de aprendizaje está diseñado para ayudar con la mejora del modelo. Ve casos de uso reales con clasificación de intenciones y puede corregir la clasificación. Sin embargo, recuerde que un modelo se desempeña mejor cuando está bien entrenado y equilibrado. Resista los intentos de agregar todo en el panel de aprendizaje al conjunto de entrenamiento del modelo. Es probable que este paso resulte en un sesgo hacia las intenciones comunes y puede proporcionar oraciones basura que nublen el aprendizaje del modelo.
Lo mejor es agregar al modelo los casos centrales y destacados que están clasificados incorrectamente o tienen poca confianza en su clasificación.
La naturaleza estadística del aprendizaje automático significa que intenta cubrir bien el 99 por ciento de los casos más comunes. Cuanto menos común sea el caso, más probable es que no esté cubierto y ausente del aprendizaje. Si intenta agregar absolutamente todos los casos al modelo, el rendimiento en los casos más centrales disminuye y el éxito empresarial general del caso de uso disminuye con él.