Tabla de contenidos
Introducción
Al crear o, más bien, elaborar una conversación de chatbot, nosotros, como diseñadores, debemos inspirarnos y orientarnos en las conversaciones del mundo real.
Naturaleza muerta del pintor holandés Henk Helmantel. Encontré ver sus pinturas en la vida real discordante. Sabes que es una abstracción de la realidad, pero que parece real.
Los elementos de la conversación humana deben identificarse y resumirse para incorporarlos en nuestra conversación de chatbot.
Las reglas y conceptos generales de las conversaciones humanas deben derivarse e implementarse a través de medios técnicamente astutos.
A continuación, enumero 10 elementos de la conversación humana que se pueden incorporar en una interfaz de IA conversacional. Los diseñadores conversacionales quieren que los usuarios hablen con su chatbot como a un humano … por lo tanto, es hora de que el chatbot converse más como un humano.
Christoph Niemann tiene ideas fascinantes sobre la abstracción y cuando el diseño visual se vuelve demasiado abstracto.
1. Digresión
La digresión es una parte común y natural de la mayoría de las conversaciones …
El hablante introduce un tema, posteriormente el hablante introduce un segundo tema, otra historia que parece no tener relación.
Y luego regresa al tema original.
La digresión también se puede explicar de la siguiente manera: cuando un usuario está en medio de un diálogo, también referido al recorrido del cliente, tema o historia del usuario.
Y está diseñado para lograr un único objetivo, pero el usuario decide cambiar abruptamente el tema para iniciar un flujo de diálogo diseñado para abordar un objetivo diferente.
Por lo tanto, el usuario quiere saltar a mitad de camino de un viaje o historia a otro.
Por lo general, esto no es posible dentro de un chatbot, y una vez que un usuario se ha comprometido con un viaje o tema, debe llevarlo a cabo. Normalmente, el diálogo no admite esta capacidad para que un usuario cambie de tema.
A menudo, un intento de divagar por parte del usuario termina en un “lo siento” del chatbot y rompe el viaje actual.
Por lo tanto, el marco de chatbot que está utilizando debería permitir la digresión. Donde los usuarios salen y vuelven a una conversación.
El enfoque fácil es estructurar la conversación de manera muy rígida desde la perspectiva del chatbot. Y canalizar al usuario dentro y fuera de la interfaz de conversación, esto incluso podría presentarse muy favorablemente en los informes. Pero la experiencia del usuario es espantosa.
La estructuración excesiva de la conversación rompe la belleza de una interfaz conversacional. Las interfaces de conversación no estructuradas son difíciles de diseñar, pero ofrecen una experiencia de usuario excepcional.
Una de las razones es que los usuarios están tan acostumbrados a tener que estructurar sus comentarios, que quieren disfrutar y ejercer la libertad de expresión (hablada o de texto), lo que puede llevar a la decepción si no se cumple la expectativa de libertad.
2. Desambiguación
A estas alturas, todos sabemos que el objetivo principal de un chatbot es actuar como una interfaz de conversación, simulando las conversaciones que tenemos como humanos …
Desafortunadamente, encontrará que muchos de los elementos básicos de la conversación humana no se introducen en la mayoría de los chatbots.
Un buen ejemplo de esto como hemos visto es la digresión 👆🏻… y otro es la desambiguación. A menudo, a lo largo de una conversación, nosotros, como seres humanos, detectamos de forma invariable e intuitiva la ambigüedad.
Ejemplo de IBM Watson Assistant de desambiguación entre nodos de diálogo
La ambigüedad es cuando escuchamos algo que se dice, que está abierto a más de una interpretación. En lugar de simplemente irme por una tangente que no es la intención del enunciado, realizo el acto de desambiguación; haciendo una pregunta de seguimiento.
En pocas palabras, elimina la ambigüedad de una declaración o diálogo.
La ambigüedad hace que las oraciones sean confusas. Por ejemplo, “Vi a mi amigo John con binoculares”. ¿Esto significa que John llevaba un par de binoculares? ¿O solo podía ver a John usando un par de binoculares?
Por lo tanto, necesito realizar una desambiguación y pedir una aclaración. Un chatbot se encuentra con el mismo problema, donde la expresión del usuario es ambigua y, en lugar de que el chatbot se active con una intención supuesta, podría pedirle al usuario que aclare su entrada. El chatbot puede presentar algunas opciones basadas en un contexto determinado; esto puede ser utilizado por el usuario para seleccionar y confirmar la opción más apropiada.
Solo para ilustrar cuán efectivos somos los humanos para desambiguar y detectar matices sutiles, eche un vistazo a las siguientes dos oraciones:
- Una gota de agua en mi teléfono móvil
- Dejo caer mi teléfono móvil al agua.
Estas dos oraciones tienen significados muy diferentes y, comparadas entre sí, no existe una ambigüedad real, pero para una interfaz conversacional esto será difícil de detectar y separar.
La desambiguación permite al chatbot solicitar una aclaración al usuario. El usuario debe probar previamente una lista de opciones relacionadas, lo que le permitirá eliminar la ambigüedad del cuadro de diálogo seleccionando una opción de la lista.
Pero la lista presentada debe ser relevante para el contexto del enunciado; por lo tanto, solo deben presentarse opciones contextuales.
La desambiguación permite que los chatbots soliciten ayuda al usuario cuando más de un nodo de diálogo puede aplicarse a la consulta del usuario.
En lugar de asignar la mejor intención de conjetura a la entrada del usuario, el chatbot puede crear una colección de nodos principales y presentarlos. En este caso, la decisión cuando existe ambigüedad, se difiere al usuario.
Lo que realmente es una situación en la que todos ganan es cuando los comentarios del usuario se pueden utilizar para mejorar su modelo de NLU; ya que se trata de datos de entrenamiento invaluables examinados por el usuario.
La desambiguación se puede activar cuando los puntajes de confianza de los intentos del finalista, que se detectan en la entrada del usuario, tienen un valor cercano al de los intentos principales.
Por tanto, no existe una separación clara y una certeza.
Por supuesto, debería haber una opción “no de las anteriores”, si un usuario selecciona esta opción, se puede realizar un traspaso de agente en vivo en tiempo real o se puede programar una devolución de llamada. O se puede presentar un conjunto más amplio de opciones.
3️. Auto aprendizaje
Como un conserje o recepcionista humano aprenderá con el tiempo y mejorará en su trabajo, un chatbot también debería aprender con el tiempo y mejorar. El aprendizaje debe tener lugar automáticamente.
Aquí hay un ejemplo práctico de cómo lograr esto …
Por ejemplo, la conversación de chatbot ideal es solo eso, como una conversación. El lenguaje natural está muy desestructurado. Cuando la conversación no está ganando terreno, tiene sentido introducir una forma de estructura.
Esta forma de estructura es idealmente:
Un menú corto de 3 a 4 elementos presentados al usuario.
Con elementos de menú vinculados contextualmente al contexto del último diálogo.
Actuar para desambiguar el contexto general.
Y una opción para que el usuario establezca un contexto no detectado.
Una vez que el usuario confirma el contexto, la estructura se puede eliminar de la conversación. Donde la conversación puede continuar desestructurada con lenguaje natural.
La breve introducción de la estructura es simplemente un mecanismo para promover el diálogo. Esto sirve como remedio contra la proliferación de reserva.
La idea detrás del autoaprendizaje es ordenar estos menús de desambiguación según el uso o la popularidad del usuario.
Un ejemplo práctico:
Cuando un cliente hace una pregunta que el asistente no está seguro de entender, el asistente suele mostrarle una lista de temas y le pide que elija el más adecuado.
Este proceso se llama desambiguación.
Si, cuando se muestra una lista similar de opciones, los clientes suelen hacer clic en la misma opción n. ° 2, por ejemplo), entonces su habilidad puede aprender de esa experiencia.
Puede aprender que la opción 2 es la mejor respuesta a ese tipo de pregunta. Y la próxima vez, puede incluir la opción n. ° 2 como primera opción, para que los clientes puedan acceder a ella más rápidamente.
Y, si el patrón persiste en el tiempo, puede cambiar aún más su comportamiento. En lugar de hacer que el cliente elija de una lista de opciones, puede devolver la opción # 2 como la respuesta inmediatamente.
La premisa de esta función es mejorar el proceso de desambiguación a lo largo del tiempo hasta tal punto que eventualmente se presente al usuario automáticamente la opción correcta. Por lo tanto, el chatbot aprende a eliminar la ambigüedad en nombre del usuario.
4️. Dominio e irrelevancia
Un agente de servicios no está capacitado para responder preguntas que son irrelevantes y están fuera del dominio de la organización.
¿Cómo se desarrolla para la entrada del usuario que no es relevante para su diseño?
En general, los chatbots están diseñados y desarrollados para un dominio específico. Estos dominios son limitados y aplicables a las preocupaciones de la organización a la que sirven. Por lo tanto, los chatbots son personalizados y están diseñados específicamente como una extensión de la operación de la organización, generalmente para permitir a los clientes el autoservicio.Como elemento adicional para hacer que el chatbot sea más interactivo y realista, y para antropomorfizar la interfaz, se introduce una pequeña charla. También conocido como charla.
Pero, ¿qué sucede si la expresión de un usuario queda fuera de este dominio limitado? Con la mayoría de las implementaciones, la intención de puntuación más alta se asigna a la expresión del usuario, en un intento frenético de responder a la consulta.
Negar asignación de intención falsa
Entonces, en lugar de afirmar que la intención está fuera de alcance, en un intento desesperado por manejar la expresión del usuario, el chatbot asigna la mejor intención de ajuste al usuario; a menudo mal.
Alternativamente, el chatbot continúa informando al usuario que no comprende; y hacer que el usuario reformule continuamente la entrada. Más bien, haz que el chatbot simplemente diga que la pregunta no es parte de su dominio.
Un elemento de diseño útil es tener dos o tres frases que sirvan como introducción para los usuarios primerizos; esbozar la esencia del dominio de chatbot.
Los enfoques tradicionales son:
Se inventan y se ingresan muchos ejemplos “fuera del alcance”. Lo que es difícil de conseguir.
Se intenta eliminar la ambigüedad de la entrada del usuario.
Pero en realidad, el chatbot debería simplemente indicar que la consulta está fuera de su dominio y brindar orientación al usuario.
OOD e ID
Por lo tanto, la entrada del usuario se puede dividir en dos grupos, entradas en el dominio (ID) y fuera del dominio (OOD). Las entradas de ID son donde puedes adjuntar la entrada del usuario a una intención basada en datos de entrenamiento existentes. La detección de OOD se refiere al proceso de etiquetado de datos que no coinciden con ninguna etiqueta en el conjunto de entrenamiento; intención.
Tradicionalmente, el entrenamiento de OOD requiere grandes cantidades de datos de entrenamiento, por lo tanto, OOD no funciona bien en los entornos de chatbot actuales.
Una ventaja de la mayoría de los entornos de desarrollo de chatbot es una cantidad muy limitada de datos de entrenamiento; quizás de 15 a 20 ejemplos de enunciados por intención.
No queremos que los desarrolladores dediquen una gran cantidad de tiempo a un elemento que no forma parte del núcleo del bot.
El desafío es que, como desarrollador, debe proporcionar datos y ejemplos de capacitación. El OOD o entrada irrelevante es posiblemente una cantidad infinita de escenarios ya que no hay límites que definan la irrelevancia.
Lo ideal es construir un modelo que pueda detectar entradas de OOD con un conjunto muy limitado de datos que definen la intención; o ningún dato de entrenamiento de OOD.
La segunda opción es la ideal …
5️. Intenciones compuestas
En la conversación humana, si una solicitud es demasiado larga, la dividimos en porciones más pequeñas y abordamos cada tema o intención por separado.
En resumen, el problema es … la entrada del usuario es demasiado larga, con múltiples solicitudes en una oración o enunciado.
En esencia, intenciones compuestas …
El medio impacta el mensaje, y en algunos medios, como sms / texto y aplicaciones de mensajería en general, la entrada del usuario puede ser más corta. Luego, en los medios de acceso a través de un teclado o un navegador, la entrada del usuario es nuevamente más larga.
Detección de entidades más complejas con entidades vinculadas
La entrada de usuario más larga puede tener varias oraciones, con numerosas intenciones de usuario incrustadas en el texto.
También puede haber varias entidades. Los usuarios no siempre hablan con expresiones de entidad y de intención única.
Por el contrario, los usuarios hablarán en expresiones compuestas. En el momento en que estas complejas declaraciones del usuario se lanzan al chatbot, el bot debe jugar un juego de ganador con una sola intención.
¿Qué intención de toda la serie de intenciones del usuario va a ganar esta ronda de diálogo?
Pero … ¿y si el chatbot pudiera detectar, que acaba de recibir cuatro frases? la intención del primero es el tiempo mañana en Ciudad del Cabo. La segunda oración es el precio de las acciones de Apple, la tercera es una alarma para mañana por la mañana, etc.
¿Demasiado ambicioso podrías pensar?
En absoluto … muy posible, factible y existen las herramientas para lograrlo.
Lo mejor de todo es que muchas de estas herramientas son de código abierto y de uso gratuito …
6. Antropomorfizar
Las personas responden bien a las personas, también a una representación gráfica de una persona.
Antropomorfizamos las cosas por naturaleza; los coches, los barcos, otros objetos inanimados … y los chatbots no son distintos. La percepción del usuario del chatbot definitivamente afecta la forma en que se involucran e interactúan.
IBM Virtual Voice Creator
La imagen de perfil que seleccione para su chatbot juega un papel importante. Con el guión, el lenguaje y la redacción de su chatbot.
La imagen de perfil más atractiva para su chatbot será la de una persona, una cara. Esta cara debe tener un nombre y también una forma de hablar, un vocabulario que sea consistente y relevante para la persona que desea establecer. Esto es crucial, ya que esta persona crecerá y, con el tiempo, será su empleado más valioso, ya sea digital.
Una persona crecerá en uso, a través de múltiples canales, en alcance y funcionalidad. De ahí la importancia de esta fundación.
7️. Entidades nombradas
Sin ningún tipo de formación, nosotros, como seres humanos, podemos comprender y detectar entidades generales como Amazon, Apple, Sudamérica, etc.
Pero primero, ¿qué es una entidad?
Las entidades son la información en la entrada del usuario que es relevante para las intenciones del usuario.
Las intenciones pueden verse como verbos (la acción que un usuario quiere ejecutar), las entidades representan sustantivos (por ejemplo, la ciudad, la fecha, la hora, la marca, el producto). Tenga en cuenta esto, cuando la intención es obtener un pronóstico del tiempo, se requieren las entidades de fecha y ubicación relevantes antes de que la aplicación pueda devolver un pronóstico preciso.
El reconocimiento de entidades en la entrada del usuario le ayuda a crear respuestas más útiles y específicas. Por ejemplo, es posible que tenga la intención #buy_something. Cuando un usuario realiza una solicitud que activa la intención #buy_something, la respuesta del asistente debe reflejar una comprensión de qué es lo que el cliente quiere comprar. Puede agregar una entidad de producto y luego usarla para extraer información de la entrada del usuario sobre el producto que le interesa al cliente.
Extraer entidades con nombre de una oración
Por ejemplo, spaCy tiene un sistema de detección de entidades muy eficiente que también asigna etiquetas. El modelo predeterminado identifica una serie de entidades numéricas y con nombre. Esto puede incluir lugares, empresas, productos y similares.
- Texto: el texto de la entidad original
- Inicio: Índice de inicio de entidad en el documento
- Fin: índice de fin de entidad en el document
- Etiqueta: etiqueta de entidad, es decir, tipo
Detalle de cada entidad con nombre detectada
Hay entidades nombradas que todos esperamos que sean de conocimiento común, estas también deben ser de conocimiento común para su chatbot. Lo ideal es que estén incluidos en su modelo NLU listo para usar.
8️. Modalidad mixta y componentes conversacionales
La conversación de persona a persona se lleva a cabo a través de varias modalidades, mezclando modalidades en una conversación y utilizando varios componentes conversacionales.
En primer lugar, debemos pensar en cualquier conversación, ya sea de voz o de texto, en ser presentada al usuario mediante componentes conversacionales …
Los componentes conversacionales son los diferentes elementos (o posibilidades si lo desea) disponibles dentro de un medio específico.
Por ejemplo, dentro de Facebook Messenger hay botones, carruseles, menús, respuestas rápidas y similares.
Estos permiten al desarrollador aprovechar estos componentes conversacionales al máximo, negando así cualquier noción de una interfaz conversacional en lenguaje natural puro.
Es simplemente una interfaz gráfica que vive dentro de un medio de conversación. O, si lo desea, una interfaz gráfica de usuario disponible dentro de un contenedor conversacional.
¿Esto está mal … no?
Lleva la interfaz al medio elegido por el usuario. Por lo tanto, hacerlo más accesible y eliminar las aplicaciones de fricción presentes.
El problema con este enfoque es que depende en gran medida de las posibilidades del medio.
Si desea implementar su chatbot en WhatsApp, los mismos componentes de conversación obviamente no estarán disponibles, y tendrá que apoyarse más en NLU, detección de palabras clave o una solución basada en menús. Con un medio aún más básico como los SMS, realmente dependen de NLU o de un menú controlado por números / palabras clave.
Cuando el menú está constituido por palabras clave o números, el menú tendrá que ser una palabra clave o un número que el usuario debe ingresar para navegar por la interfaz de usuario.
¿Es un chatbot?
Técnicamente, sí; ya que vive en un medio conversacional asincrónico de subprocesos múltiples.
¿Pero es de naturaleza conversacional? Uno tendría que argumentar que no.
Entonces, en el segundo ejemplo, se debe seguir un enfoque rudimentario por una sola razón, el medio no ofrece la funcionalidad rica y se basa principalmente en texto.
Con Voice, estos componentes desaparecen por completo. Con solo el componente de lenguaje natural disponible dentro del entorno de la interfaz de usuario de voz (VUI), no hay componentes para aprovechar con las prestaciones que son invisibles.
9️. Entidades contextuales
La detección de entidades que están incrustadas en las expresiones del usuario sigue siendo un desafío. Especialmente si desea capturar las entidades a través de métodos no estructurados y verdaderamente conversacionales.
Como humanos, generalmente no tenemos ningún problema para detectar entidades dentro de su contexto … tampoco debería tener una interfaz conversacional.
Las intenciones pueden verse como verbos, la intención del usuario. Puede pensar en la Búsqueda de Google como la máquina de detección de intenciones más grande del mundo.
Las entidades pueden verse como sustantivos. Si un usuario dice: Estoy tomando el tren de París a Lisboa… entonces las entidades son: tren, París y Lisboa.
Y aquí es donde LUIS de Microsoft es realmente el líder en la definición de entidades contextualmente.
Por supuesto, se pueden emplear métodos rudimentarios para extraer entidades de una oración o más … estos incluyen:
Preguntar al usuario por cada entidad individualmente, una tras otra. Independientemente de si el usuario ya lo ha dicho o no.
Utilice la detección de palabras o expresiones regulares para detectar o extraer palabras específicas. A medida que aumentan los datos, esto se vuelve cada vez más imposible.
El proceso de anotación es una forma de identificar entidades por su contexto dentro de una oración.
A menudo, las entidades tienen un conjunto finito de valores que se definen. Luego están las entidades que no se pueden representar mediante una lista finita; como ciudades del mundo o nombres o direcciones. Estos tipos de entidad tienen demasiadas variaciones para enumerarse individualmente.
Para estas entidades, debe utilizar anotaciones; entidades definidas por su uso contextual.
10. Variación
La falta de variación hace que la interacción se sienta monótona o robótica. Puede que se requiera un esfuerzo programático para introducir variaciones, pero es importante.
Muchos marcos de desarrollo tienen una funcionalidad que le permite aleatorizar fácilmente la salida de su bot. O al menos tener una secuencia de enunciados que rompa cualquier monotonía
Conclusión
El impedimento que se enfrenta con mayor frecuencia al implementar estos diez elementos de la conversación humana no son las consideraciones de diseño. Pero el del gravamen técnico. Por lo tanto, la decisión de qué plataforma utilizar se vuelve aún más crucial.