Diseño conversacional
Estas son algunas de las mejores prácticas de alto nivel para diseñar conversaciones en asistentes digitales.
Los usuarios esperan implícitamente que las aplicaciones de software tengan cualidades humanas. Cuando una aplicación se considera "fácil de usar", suele ser porque presenta características humanas como la cortesía y el sentido común.
Con interfaces conversacionales (asistentes digitales), las expectativas son aún mayores. Como los asistentes digitales están diseñados en torno al concepto de la conversación humana, es especialmente importante diseñar bien el asistente digital para que cumpla las expectativas del usuario, tanto las conscientes como las inconscientes.
El diseño conversacional elimina los aspectos técnicos del modelo de interacción de una tarea o proceso subyacente y lo reemplaza con una conversación de sonido natural que los usuarios encuentran fácil de entender y atractiva.
Un buen diseño de conversación tiene como objetivo la eficiencia, tiene una comprensión del contexto, refleja las espaldas al usuario, es emocionalmente atractivo y crea grandes diálogos. Como ingeniero, podrías pensar que un buen diseño de conversación es fácil de lograr, pero ten en cuenta que no todos los grandes cantantes saben cómo escribir buenas letras. Y no todos los autores de buenas letras pueden cantar.
Su asistente digital no es humano, pero si utiliza técnicas e indicaciones conversacionales y muestra consideraciones humanas, puede hacer que las conversaciones parezcan más naturales (y agradables) y reducir la posibilidad de irritar a los usuarios. Estas cualidades en un asistente digital pueden dar a sus usuarios la confianza de que es capaz de abordar sus preocupaciones reales.
Estas son algunas técnicas conversacionales que pueden ayudar a que el asistente digital sea más atractivo para los usuarios.
Usuarios de Orient
Una parte básica pero importante del diseño de un asistente digital es asegurarse de que los usuarios puedan descubrir fácilmente cómo utilizarlo de forma eficaz.
Bienvenida
Para empezar con buen pie con los usuarios, reflexione sobre la manera en que el asistente digital saluda a los usuarios. Debería:
- Proporcionar una presentación positiva y cordial.
- Indicar qué puede hacer el asistente digital y/o qué se espera a continuación del usuario.
- Cambiar los saludos, especialmente para los asistentes digitales que hagan un uso repetido.
Los asistentes digitales incluyen una implantación de bienvenida por defecto, pero también pueden proporcionar su propia implantación.
Ayuda
Una parte importante de cualquier asistente digital es poder contar a los usuarios lo que el asistente digital puede hacer y ayudarles a salir del bloqueo si la conversación no va como esperan. Debería:
- Asegúrese de que el asistente digital puede gestionar una solicitud de ayuda en cualquier momento de la conversación, ya sea una solicitud explícita de ayuda o una consulta más sutil como "¿qué puede hacer?"
- Al dar la bienvenida a los usuarios, indique lo que puede hacer el asistente digital y/o lo que se espera por parte del usuario.
Los asistentes digitales incluyen una implantación de ayuda por defecto, pero puede que desee diseñar la experiencia de ayuda usted mismo.
Posibilidad de que los usuarios salgan
Forzar a un usuario a completar un hilo de conversación que haya iniciado por error equivale a una mala experiencia del usuario. Cuando un usuario está en una conversación, siempre debe tener una forma de salir, ya sea porque la conversación ha seguido un camino que no desea o simplemente porque no desea completarla en ese momento.
Puede llevar a cabo esta acción de varias formas. Por ejemplo, puede asegurarse de que todas las listas de opciones tengan una opción para salir de la conversación actual. O bien, puede utilizar la intención de salida incorporada del asistente digital para gestionar explícitamente cualquier solicitud específica para finalizar la conversación actual.
Indicaciones y pistas
En función de la complejidad de sus aptitudes y del asistente digital, puede ser útil que proporcione varias formas de orientación e indicaciones visuales para sugerir a los usuarios lo que pueden hacer. Pueden adoptar el formato de elementos como:
- Indicaciones en los mensajes (como "... o simplemente dígame que salga de esta conversación si no desea continuar").
- Información que indica al usuario lo que puede esperar una vez finalizada una acción.
- Botones para las acciones más comunes.
- Recordatorios intercalados a lo largo de la conversación que describen cómo hacer cosas como iniciar un menú, salir de una conversación, solicitar ayuda y hablar con un agente.
En algunos canales, también puede aprovechar las funciones específicas de la plataforma de mensajería para proporcionar botones para acciones comunes como salir y mostrar el menú.
Mostrar respuestas rápidas como botones de acción
Al solicitar información a los usuarios, es posible que pueda anticipar la elección del usuario en función de lo que la gente suele seleccionar.
Por ejemplo, si solicita una fecha para una entrada de calendario, las opciones comunes son "hoy" o "mañana". Por lo tanto, debajo del indicador, puede agregar dos botones que digan Hoy y Mañana. Cuando un usuario selecciona uno de los dos botones o introduce la etiqueta de uno de ellos, la fecha actual o la fecha de mañana se definen en la variable subyacente.
Otro ejemplo es el caso en el que el bot necesita una dirección de entrega. Si hay una dirección particular en el archivo, puede pedir una dirección de entrega y también incluir un botón de entrega a domicilio.
Al utilizar respuestas rápidas, asegúrese de que los usuarios entiendan que los botones no son su única opción y que un mensaje puede disparar el botón. Recuerde siempre que la conversación también significa voz y que los usuarios que operan el chatbot con su voz no tendrán la oportunidad de presionar un botón. Lo más probable es que mencionen la etiqueta del botón.
Garantizar la comprensión mutua
Para que las conversaciones salgan bien, debe asegurarse de que el asistente digital comprende a los usuarios y que el usuario entiende el asistente digital. Estas son algunas técnicas que ayudan en ese sentido.
Usar idioma sin formato
Ningún usuario habla del diseño de la base de datos de productos. Asegúrese de que el bot esté utilizando el idioma de su público objetivo para el que debe guiarle el usuario que ha definido. Por ejemplo:
-
"cuenta de usuario" en lugar de "ID de usuario"
-
"dónde puedo entregar esto" en lugar de "dirección de envío"
-
"Intenté lo mejor posible pero no pude encontrar lo que buscaba" en lugar de "la consulta no ha devuelto un resultado"
Además, puede hacer que los mensajes sean menos robóticos al proporcionar contexto y orientación.
Por lo tanto, en lugar de "¿Cuál es su ID de pedido?", podría proporcionar un mensaje más útil como "Puedo ayudarlo a encontrar su pedido". Si puedes decirme tu número de pedido, sería genial. Si no, ningún problema. También puedo buscar por producto o fecha".
No esperes que los usuarios conozcan las palabras mágicas
Imagine un bot de ventas que los representantes de ventas pudieran utilizar para solicitar una representación gráfica de los ingresos que generaron y cómo esos ingresos cumplían sus objetivos previstos.
Los gráficos se pueden realizar con muchas funciones, incluido el tipo de gráfico que se va a agregar, si se van a agregar etiquetas o no, el número de ejes Y que se van a mostrar. Un asistente digital en el que el representante de ventas tenga que solicitar sus estadísticas diciendo cosas como "Muéstrame mis ventas para Q2 / 2021 como un pastel con no_label double_y_axis en linear_plot" no funcionará en la práctica.
Deja las opciones claras, mantenlas conversacionales y usa el idioma de tu público objetivo. Si ofrece embudos, gráficos de Gantt, gráficos de dispersión, gráficos de burbujas y gráficos de Pareto, guarde esta información para usted y preséntela de manera diferente al usuario. A continuación, se muestran algunos ejemplos de lo que es más probable que pregunte un usuario de ese bot:
-
"Muéstrame un resumen de mis ventas para Q2 / 2021"
-
"Muéstrame mis ventas para Q2 / 2021 en comparación con el año pasado"
Para ambas consultas, la respuesta se podría representar con diferentes tipos de gráficos sin que el usuario tenga que entender las palabras mágicas que les dan lo que quieren. No solo hace que su asistente digital sea intuitivo de usar, sino que también reduce las opciones, lo cual es bueno teniendo en cuenta que las tareas conversacionales deben mantenerse cortas, como discutimos en la siguiente sección.
Proporcionar comentarios en la conversación
Asegúrese de que el bot no está diseñado como un juego de escape y de que proporciona suficientes punteros, comentarios, confirmación, señalización y ayuda para que los usuarios siempre entiendan lo que se espera de ellos ahora, lo que sigue y cómo dejar de atascarse. Estos son algunos ejemplos de estas técnicas:
-
Confirmación: "OK. Tengo tu orden".
-
Señalización: "OK. Tengo su orden. A continuación, necesito saber a dónde enviar esto".
-
Petición de datos: "OK. Tengo su orden. A continuación, necesito saber a dónde enviar esto. Así que déjame saber la dirección a la que debo entregarlo".
-
Ayuda: "OK. Tengo su orden. A continuación, necesito saber a dónde enviar esto. Por lo tanto, hágamelo saber la dirección a la que debo entregarlo o use el botón de abajo para enviarla a su dirección de casa.
Puede haber situaciones en las que el usuario no sepa qué información proporcionar o incluso haya perdido interés en completar una tarea. Una forma de ayudar en estos casos es mostrar controles adicionales (como botones) para que el usuario cancele una tarea o navegue a un estado de ayuda. Además, mediante el valor maxPrompts
en los componentes de entrada, incluso puede automatizar la navegación a un estado de ayuda cuando el usuario proporciona información incorrecta varias veces.
Desambiguar entrada de usuario
No tema que la aptitud verifique que ha comprendido lo que el usuario ha introducido. El lenguaje puede ser ambiguo, incluso en persona.
Por ejemplo, si es jueves y un usuario dice "Quiero reservar una cita el próximo sábado", se podría interpretar esa fecha como dentro de dos o de nueve días. En este caso, desearía que su aptitud verificara la fecha, quizás con palabras como "De acuerdo, solo para asegurarme de que le he entendido correctamente, ¿hablamos del sábado 10 o del sábado 17?"
En los flujos de diálogo, se recomienda utilizar entidades como tipos de variables al recopilar entradas de usuario. El uso de entidades como tipos de variables valida la entrada del usuario y detecta automáticamente la ambigüedad, lo que significa que todo lo que necesita hacer es encontrar la redacción correcta al solicitar a los usuarios.
Proporcionar peticiones de datos alternativas
Como se mencionó anteriormente, es importante escribir mensajes en un estilo conversacional. Pero, ¿qué sucede si ese mensaje tiene que repetirse porque el usuario no respondió correctamente? Por ejemplo:
"Poco Importante. Entonces, dime a dónde enviar esto"
"Poco Importante. Entonces, dime a dónde enviar esto"
"Poco Importante. Entonces, dime a dónde enviar esto"
Incluso los mensajes que se escriben en conversación sonarán robóticos y poco atractivos si se repiten. Por lo tanto, debe escribir varias versiones de cada campo para que un usuario vea texto diferente si se vuelve a solicitar (o si repite la conversación).
Puede utilizar varias peticiones de datos definidas en entidades para mostrar las peticiones de datos alternas automáticamente. Por lo tanto, si la información del usuario se valida mediante una variable de tipo de entidad, puede utilizar la propiedad de petición de datos de la entidad para definir tantas peticiones de datos como desee. Con el componente Resolver entidades, todo lo que debe hacer es asociarle la variable.
Divulgación gradual de información adicional
Tener indicaciones alternas es genial. Pero si un usuario no lo entiende, reformularlo solo lo hará un poco mejor. Aquí desea divulgar progresivamente más información o escalar cuando sea necesario.
- Bot: "Cool. Entonces, dime a dónde enviar esto"
- Usuario: "a mí"
- Bot: "Lo siento, pero 'para mí' no parece funcionar para mí. Si puedes darme un nombre de calle, un número de casa y un nombre de ciudad, entonces puedo enviarte esto".
- Usuario: "envíelo"
- Bot: "Se intentó, eso tampoco funcionó para mí. Realmente me gustaría ayudarte aquí. Tal vez quieras hablar con un colega humano mío. Si es así, pídeme que te conecte con un agente humano. O me das una dirección a la que puedo enviar esto".
En ese conjunto de peticiones de datos, observe cómo los mensajes revelan gradualmente más información para ayudar al usuario. El uso de entidades para definir los campos facilita la implementación de dicha conversación. Agregue un número de secuencia a las peticiones de datos.
El número de secuencia de un campo indica cuándo se muestra. El ejemplo anterior contiene mensajes con números de secuencia del 1 al 3. Si, a continuación, configura la propiedad maxPrompts
del componente Resolver entidades en 3
, un tercer intento de entrada de usuario fallido dispara la navegación a, por ejemplo, una ayuda o un estado de agente humano.
Las peticiones de datos con el mismo número de secuencia muestran un comportamiento alternativo, como se describe en la sección anterior. De esta manera, puede lograr ambas opciones, exponiendo gradualmente información adicional y mostrando indicaciones alternas.
Respuestas variadas y divulgación progresiva
Tenga preparadas varias respuestas para distintos momentos de la conversación. Las respuestas variadas mejoran la credibilidad de la aptitud con el usuario (no da la sensación de que esté atascado en un bucle). También puede utilizarlas para revelar progresivamente más información para ayudar a un usuario a salir del bloqueo.
Por ejemplo, si el usuario proporciona datos no válidos a la pregunta "¿Qué talla desea?", podría incluir después de esa petición de datos algo como "De acuerdo, vamos a intentar encontrarle una talla otra vez". Seleccione Pequeña, Mediana o Grande".
Confirmación y escucha reflexiva
Las respuestas de la aptitud deben utilizar la escucha reflexiva (la reiteración de los datos introducidos por el usuario, pero con diferentes palabras) para demostrar que la aptitud entiende las solicitudes del usuario antes de ir al siguiente paso. Por ejemplo, si el usuario pregunta “Quiero pedir una pizza”, la aptitud podría responder con “De acuerdo, vamos a iniciar su pedido de pizza” antes de continuar con la siguiente pregunta (como “¿De qué tamaño la desea?”). Observe también que esta confirmación puede expresarse implícitamente y con un tono humano natural ("Vamos a ponernos con su pedido de pizza") en lugar de algo más literal y menos natural (como "Solicitud de pedido de pizza confirmada").
Tenga en cuenta también la situación en la que un usuario ha introducido información, pero la aptitud necesita un poco de tiempo para ejecutar algo en el backend. En lugar de esperar a que termine el proceso antes de responder, es posible que desee confirmar que la solicitud está en curso. Por ejemplo, la aptitud podría responder con lo siguiente una vez que se hayan enviado los detalles de pago, pero antes de que se hayan procesado: "De acuerdo, tengo toda la información del pago. Permítame comprobar esos detalles con su banco”.
Del mismo modo, utilice el indicador de escritura para mostrar cuándo el asistente digital esté creando una respuesta.
Cierre la brecha que existe entre la inteligencia artificial y la comprensión humana
El cerebro humano es, con mucho, la computadora más lenta pero mejor del mundo. Y esto se debe a su capacidad para detectar y mantener el contexto. A pesar de todas las mejoras en la IA conversacional, experimentarás situaciones en las que el chatbot no podrá determinar qué quiere un usuario o para qué sirve la información que proporciona un usuario. Aquí es donde el diseño de la conversación necesita dar un paso adelante para ayudar a su chatbot y al usuario.
Considere los tres mensajes siguientes:
- "Bloquee mi diario de 10 a.m. a 12 p.m. mañana"
- "Establece un marcador en mi calendario para mañana a las 10 a.m. durante 2 horas"
- "Para 2 horas mañana, cree una entrada en mi horario a las 10 a.m."
Los tres mensajes dicen lo mismo y el cerebro humano inmediatamente consigue lo que el usuario quiere, cuál es la fecha del evento y cuál es la hora de inicio y de finalización.
La IA conversacional, cuando esté bien entrenada, comprenderá que "bloquear mi diario", "establecer un marcador en mi calendario" y "crear una entrada en mi horario" tienen el mismo significado, que es crear un evento en el calendario de usuario.
Sin embargo, en lo que respecta a la información, la IA conversacional extrae "mañana" como fecha del evento, a las 10 a.m. y a las 12 p.m. como hora y 2 horas como duración. Por sí mismo, podría tener problemas para comprender cuál es la hora de inicio de una reunión y cuál es la hora de finalización, especialmente cuando la hora de finalización debe calcularse a partir de una duración. ¿Y qué significa "mañana" desde la perspectiva de un bot si vives en Australia en lugar de (por ejemplo) Jordania?
Para lo que no pueda manejar en la implantación, su diseño debe manejarlo, incluso si significa admitir que el bot no entendió y, por lo tanto, vuelve a solicitar información.
Buenos modales
Un asistente digital debe mostrar consideración por el tiempo y las preocupaciones del usuario. A continuación, se muestran algunos aspectos de las buenas maneras de incorporar en su asistente digital.
Charlas
No solo las charlas son una parte natural de la conversación humana, sino que las personas también inician charlas con los asistentes digitales. Con los asistentes digitales en realidad tienen usos prácticos, tales como:
- Verificar que detrás de la interfaz de chat hay un bot y no un humano.
- Descubrir lo que puede hacer el asistente digital.
- Expresar frustración.
Por ejemplo, si el usuario introduce insultos, puede ser una indicación que el asistente digital puede utilizar para disculparse, pasar al usuario con un agente humano o intentar solucionar el problema.
Como mínimo, debería ser capaz de gestionar las charlas a un nivel básico. Si lo gestiona bien, conseguirá que su asistente digital parezca más inteligente, lo que ayuda a que el usuario confíe en él.
No echar la culpa
Tenga cuidado de no echar la culpa a los usuarios (de forma explícita o implícita) cuando introduzcan algún dato de forma incorrecta o realicen otra acción para interrumpir el progreso en la conversación. En esos casos, la redacción debe centrarse en el lugar en el que el asistente digital está teniendo dificultades, no en lo que el usuario no ha hecho correctamente.
Por ejemplo, la respuesta "Eso es un ID de orden incorrecto" implica sutilmente que el problema es culpa del usuario, lo que puede causar irritación u ofensa (y puede que ni siquiera sea el caso). Una respuesta más adecuada sería "No he encontrado una orden con ese número".
Uso de la empatía
Puede usar la empatía y el humor para que el asistente digital sea más personal, pero sea sensato y no se pase. Los costos de los malentendidos son mucho mayores que cualquier beneficio obtenido.
Por ejemplo, si un usuario de un asistente digital de registro de conferencias introduce "No voy a poder ir a la conferencia", lo siguiente sería un comienzo razonable de una respuesta: "Siento escuchar eso". Pero si el usuario dice en su lugar "No voy a poder ir a la conferencia porque mi hija va a tener un hijo", la respuesta no parecería nada empática.
Mantener interacciones cortas
Para hacer las cosas, piensa en el camino más corto desde el principio hasta el final de una conversación. Utilice las opciones que tenga para omitir una parada en una conversación. Estas son dos opciones que hay que tener en cuenta:
-
Utilice el espacio de entidad y guíe a los usuarios sobre cómo incluir parte, si no toda, de la información necesaria para una tarea en el primer mensaje.
En los flujos de diálogo diseñados en modo Visual, los componentes Respuesta común y Resolver entidad extraen automáticamente los valores de entidad proporcionados por los usuarios en su mensaje inicial y no solicitan esos valores proporcionados.
En los flujos de diálogo diseñados en modo YAML, puede utilizar la propiedad
nlpResultVariable
en los componentes de entrada para activar esta ranura automática. -
Permitir a los usuarios proporcionar información adicional cuando se les solicite. Por ejemplo, en un bot de pizza, cuando se le pide al usuario el tamaño de la pizza, ¿por qué no aceptar también el tipo de pizza y los ingredientes? La extracción de información fuera de orden se puede implementar fácilmente con las entidades de bolsa compuesta.
Diseño diferenciado al de una aplicación web
Es probable que su equipo tenga experiencia en el desarrollo de aplicaciones web y, por lo tanto, también será probable que aplique paradigmas de aplicación web al asistente digital, de forma consciente o subconsciente. Intente evitar esto. El sentido de un asistente digital es que un usuario realice una tarea con lenguaje natural, no colocar una aplicación web en una ventana más pequeña.
Aquí se detallan un par de aspectos que tener en cuenta:
- No utilice términos que suenen como nombres de campos de base de datos en una respuesta.
Por ejemplo, en lugar de responder con "ID de orden no válido", diga algo como "No he encontrado ese número de orden".
- Si el usuario realiza una solicitud y hay cientos de posibles soluciones, no responda con cientos de filas de datos entre las que se deberá desplazar. Piense en formas en las que pueda ayudar a los usuarios a acotar sus solicitudes antes de mostrarles una lista más concisa.
Por ejemplo, si entra en una vinoteca y pide una botella de vino, el dependiente no le dirá todas las botellas que tiene. Le preguntará acerca de sus preferencias (por ejemplo, tinto o blanco, de qué región y determinadas cualidades del vino) antes de enumerar algunas opciones específicas. Su aptitud puede funcionar de la misma manera.
- Busque formas de recopilar información para la conversación sin consultar al usuario cada uno de los detalles. Por ejemplo, puede disponer de un método para conocer la ubicación de un usuario sin tener que preguntarle. Otro ejemplo podría ser pedir al usuario que envíe una imagen (como un recibo) con la información necesaria.
Considere el soporte multilingüe
¿Alguna vez se ha preguntado por qué las instrucciones de instalación para los productos que se importan desde el extranjero a veces se traducen tan mal? Una razón probable es que se utilizó un servicio de traducción y el traductor no estaba familiarizado con el tema o el producto. Otra razón es que ciertos modismos no existen o se expresan de manera diferente en el idioma a traducir. Solo para darle algunos ejemplos de lo que funcionaría en los Estados Unidos, pero probablemente no en otra parte:
- "bajo el tiempo"
- "cuelga ahí"
- "Cruzaremos ese puente cuando lleguemos a él"
- "go neerlandés"
- "Llámalo un día"
Para asegurarse de que las conversaciones definidas para el asistente digital también funcionan cuando se traducen, tiene un par de opciones: anote cualquier idioma en un grupo de recursos para que el traductor sepa el significado de un mensaje o no utilice ningún identificador. Naturalmente, los servicios de traducción automática no le servirán bien al traducir las respuestas del bot a un idioma extranjero.
Lista de control para diseño conversacional
- ☑ Asegúrese de que el diseño de la conversación guíe a los usuarios en el uso del chatbot, independientemente de su experiencia actual.
- ☑ Si es posible, consulte con personas del grupo de usuarios de destino para ver si la persona está trabajando o no.
- ☑ Revise los mensajes del bot para ver los términos técnicos que no tienen mucho sentido para los usuarios.
Más Información
- Video de Oracle Digital Assistant Design Camp: El flujo de trabajo probado para diseñar conversaciones centradas en el ser humano