La desambiguación es parte integral de las conversaciones humanas y debería ser parte de la experiencia con tu chatbot.

Tabla de contenidos

Introducción

Este artículo cubre tres enfoques para abordar la desambiguación de las expresiones del usuario.

En esencia, los tres enfoques son:

  • Antes y después de la conversación, intención y ejemplo de expresión basada.
  • En conversación: configuración global automatizada por skill.
  • En conversación: establecer por intención con diferentes umbrales.
  1. HumanFirst. La desambiguación se realiza por adelantado, idealmente antes del desarrollo del flujo de diálogo. La desambiguación se realiza en el nivel de pronunciación de intención/entrenamiento. Este es en gran medida un enfoque proactivo y evita resolver el problema en la conversación. Aunque HumanFirst aborda este problema en gran medida de forma proactiva, las conversaciones también se pueden analizar a posteriori. HumanFirst aborda los vectores verticales uno y dos de la IA conversacional. Y realmente habla del desarrollo impulsado por la intención.
  2. Asistente de IBM Watson. Aquí la desambiguación se establece en un chatbot o nivel de habilidad. El proceso está automatizado y la plataforma detecta la falta de una confianza de alta intención absoluta. Posteriormente ofreciendo al usuario unas cuantas opciones para elegir. Watson Assistant aborda este desafío en una conversación y con el aprendizaje automático, el proceso de capacitación se automatiza para futuras mejoras. IBM Watson Assistant utiliza una configuración global en el nivel de habilidad con las 3 a 5 intenciones principales presentadas a los usuarios.
  3. Cognicy.  Lo que hace que Cognigy sea diferente es que permite la configuración de desambiguación en un nivel de intención; por intención. Se pueden establecer dos umbrales, uno para la reconfirmación y otro para la confianza general. Las intenciones transaccionales o consecuentes más altas son buenas candidatas para la desambiguación.

Debe tenerse en cuenta que, en la mayoría de los marcos de chatbot, el sistema de gestión de estado de diálogo tiene la capacidad de comparar múltiples puntajes de confianza de intención. Se puede introducir lógica para analizar estos puntajes para determinar la respuesta apropiada para el usuario. El objetivo de este artículo es echar un vistazo a la tecnología destinada exclusivamente a abordar el problema de la ambigüedad.


Más sobre desambiguación

A estas alturas, todos sabemos que el objetivo principal de un chatbot es actuar como una interfaz conversacional, simulando las conversaciones que tenemos como humanos. Desafortunadamente, encontrarás que muchos de estos elementos básicos de la conversación humana no se presentan en la mayoría de los chatbots.

Un buen ejemplo de esto es la digresión… y otro es la desambiguación. A menudo, a lo largo de una conversación, nosotros, como humanos, detectaremos invariablemente e intuitivamente la ambigüedad.

La ambigüedad es cuando escuchamos una frase que está abierta a más de una interpretación. En lugar de simplemente salirnos por la tangente que no es la intención del enunciado, deberíamos realizar el acto de desambiguación; haciendo una pregunta de seguimiento. En pocas palabras, esto 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”.

¿Significa esto 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 en función de un determinado contexto; esto puede ser utilizado por el usuario para seleccionar y confirmar la opción más adecuada.


HumanFirst

HumanFirst sigue un enfoque de desarrollo impulsado por la intención que es proactivo, en el sentido de que la distinción entre ejemplos de capacitación similares y nombres de intención se realiza por adelantado.

En la interfaz de HumanFirst, se pueden importar declaraciones de usuario. A su vez, estas expresiones se pueden agrupar y las intenciones se pueden derivar de esto con diferentes granularidades y tamaños de grupos.

Después de este paso, una vez que se nombran los grupos y se crean las intenciones, el botón  Desambiguación se puede usar para detectar si alguna expresión en una intención seleccionada podría causar confusión. En esencia, lo que permite o plantea es ir desambiguando la conversación futura.

Una gran ventaja de la interfaz HumanFirst es el uso de controles deslizantes. Los datos se organizan automática e instantáneamente en consecuencia. Los usuarios pueden inspeccionar visualmente los datos y modificarlos. De este modo, se garantiza que se logre el equilibrio óptimo en la asignación de datos de entrenamiento a las intenciones.

Como se ve a continuación, la intención seleccionada está atenuada. Las intenciones disponibles o aplicables para la desambiguación se enumeran todas con una probabilidad del 16 %.

Las opciones disponibles para el usuario son:

  • Eliminar datos de entrenamiento no deseados.
  • Eliminar intentos duplicados.
  • Combinar intenciones similares.
  • Crear subintenciones.

Es necesario enfatizar que HumanFirst tiene un enfoque doble. Los datos de entrenamiento se pueden examinar y ajustar. Pero las conversaciones de los clientes también se pueden cargar y usar como un barómetro sobre cómo se definen las buenas intenciones. Y qué tan precisa es la segmentación de las intenciones.

Si tienes una IA conversacional implementada, este flujo de trabajo te permite mejorar continuamente la cobertura y la precisión, al identificar fácilmente nuevas intenciones y obtener ejemplos de capacitación para las existentes.

Cuando el motor de NLU activo es HumanFirst NLU y tiene intenciones entrenadas que salen, hay más funciones disponibles. Por ejemplo, seleccionar una intención específica y luego deslizar la escala de confianza para encontrar coincidencias a partir de nuevos datos de entrenamiento que no están etiquetados.

O clasifica automáticamente los datos sin etiquetar en 5 métricas para una inspección visual.


Asistente de IBM Watson

En las conversaciones, en lugar de establecer por defecto una intención con la mayor confianza, el chatbot debe verificar la puntuación de confianza de las 5 mejores coincidencias. Si estos puntajes son cercanos entre sí, muestra que tu chatbot en realidad opina que ni una sola intención abordará la consulta. Y se debe hacer una selección entre algunas opciones.

Aquí, la desambiguación permite que el chatbot solicite una aclaración al usuario. Una lista de opciones relacionadas debe mostrarse previamente para el usuario, lo que le permite 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 de la expresión; por lo tanto, solo se deben presentar opciones contextuales.

La desambiguación permite que los chatbots soliciten ayuda al usuario cuando más de un nodo de diálogo pueda aplicarse a la consulta del usuario.

En lugar de dar por hecho cual es la mejor intención para la entrada del usuario, el chatbot puede crear una colección de nodos principales y presentarlos. En este caso la decisión, cuando hay ambigüedad, se difiere al usuario.

Lo que realmente es una situación en la que todos ganan es cuando la retroalimentación del usuario puede usarse para mejorar el modelo NLU; ya que estos son datos de entrenamiento invaluables examinados por el usuario.

Por supuesto, debe haber una opción «ninguna de las anteriores», si un usuario selecciona esto, se puede realizar un traspaso de agente en vivo en tiempo real o se puede programar una devolución de llamada. O bien, se puede presentar un conjunto más amplio de opciones.

IBM Watson tiene una función integrada que permite la configuración de desambiguación. En este ejemplo práctico, puedes activar o desactivar la función.

Asimismo, se puede configurar el mensaje introduciendo la solicitud de aclaración. El valor predeterminado es «¿Quiso decir?»… Esto podría cambiarse a «Esto podría ayudar» o «Esto es lo que he encontrado al respecto».

También hay una opción disponible para ninguno de los anteriores y se puede limitar el número máximo de sugerencias. El alcance y el tamaño del cuadro de diálogo determinarán cuál podría ser este número.

Esto también proporciona un punto central donde se puede desactivar la desambiguación; esto como un interruptor de palanca global para habilitar o deshabilitar esta función.

Aparte de esto, cada nodo se puede agregar o eliminar individualmente a medida que cambia la estructura de la aplicación. Aquí, el nombre del nodo se vuelve importante ya que esto es lo que se mostrará al usuario. También hay una opción para agregar un nombre de nodo orientado tanto a nivel interno y externo.

Es crucial que el nombre del nodo que se muestra al usuario sea claro, presentable y explique la función y la intención del nodo al que se refiere.


Cognicy

Como se ve a continuación, dentro de cada intención se puede ingresar una oración de desambiguación. Esta oración se presenta al usuario para solicitar confirmación o permitir que el usuario reformule una solicitud.

El marco de Cognigy tiene dos configuraciones para administrar la desambiguación:

  • Umbral de reconfirmación
  • Umbral de confianza

La puntuación del umbral de confianza en una intención que se considera confirmada si se establece una sentencia de confirmación.

El umbral de confianza no tiene efecto a menos que la intención utilice sentencias de confirmación. El umbral de reconfirmación es su límite de confianza inferior. Debes configurarlo además del Umbral de confianza. Las puntuaciones de intención por encima del umbral de reconfirmación se confirman o marcan para reconfirmación.

Cognigy mantiene y desarrolla un documento JSON aumentado durante las conversaciones. Los puntajes de intención se pueden usar con scripts personalizados para dirigir la conversación en función de los resultados.


Conclusión

En conclusión, baste decir que el santo grial de los chatbots es imitar y alinearse con una conversación natural de persona a persona tanto como sea posible. Y para agregar a esto, cuando diseñamos el flujo conversacional para un chatbot, a menudo nos olvidamos de qué elementos son parte integral de una verdadera conversación humana.

La digresión es una gran parte de la conversación humana, junto con la desambiguación, por supuesto. La desambiguación niega hasta cierto punto el peligro de la proliferación de repliegues donde el diálogo no se lleva realmente adelante.

Con la desambiguación, se presenta al usuario un conjunto de opciones verdaderamente relacionadas y contextuales para que elija entre las que seguramente hará avanzar la conversación. O, en el caso de HumanFirst, se soluciona la ambigüedad en un nivel de NLU.

Y finalmente, probablemente lo peor que puede hacer tu chatbot, es presentar un conjunto de opciones que no está relacionado con el contexto actual. O un conjunto de opciones predefinidas y finitas que se repiten continuamente.

Por Cobus Greyling

Rasa Hero. NLP / NLU, Chatbots, Voz, UI / UX conversacional, Diseñador CX, Desarrollador, Interfaces de usuario ubicuas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *