«El medio es el mensaje» – Marshall McLuhan

Tabla de contenidos

Para empezar, ¿qué es el ajuste fino?

En general, el objetivo de la mayoría de los marcos de desarrollo de chatbots es crear un entorno que facilite la incorporación de técnicos de nivel medio.

En la mayoría de los casos, solo realizar tareas de procesamiento de lenguaje natural (NLP) exige un entorno de entrada y salida de datos más simple. Sin ninguna gestión de estado de diálogo, desambiguación, gestión de texto de respuesta, etc.

Dado que los marcos de desarrollo de chatbots van desde un entorno sin código hasta el código nativo (Pro-Code), la capacidad de ajuste aumenta. Y en la mayoría de los casos la barrera de entrada también aumenta.
Dado que los marcos de desarrollo de chatbots van desde un entorno sin código hasta el código nativo (Pro-Code), la capacidad de ajuste aumenta. Y en la mayoría de los casos la barrera de entrada también aumenta.

A medida que un agente conversacional crece y evoluciona con el tiempo, se introduce más complejidad. Esta complejidad está constituida por elementos como la gestión del diálogo, el mantenimiento del contexto, las franjas horarias, la conciencia contextual, la desambiguación, la digresión, etc.

Por lo tanto, surge la necesidad de flexibilidad en la interfaz utilizada para desarrollar y administrar el chatbot. Y este es especialmente el caso con el estado de diálogo.

El desafío es tener un diálogo natural y adaptativo que también sea predecible y manejable. Estos dos elementos se yuxtaponen.

Piensa en un diálogo natural y adaptativo en términos de la API del lenguaje OpenAI (basada en GPT-3) en comparación con la gestión de estado de diálogo de IBM Watson, por ejemplo.

Cuanto más sin código o con código bajo se vuelve la solución, más disminuye la capacidad de ajuste fino. Los ejemplos aquí son OpenAI Language API, Design Canvas, etc.

Cuanto más pro-código sea el entorno, por ejemplo, Microsoft Bot Framework o Cisco MindMeld, más ajustes serán posibles. Pero se introduce complejidad para la gestión y el desarrollo del entorno de IA conversacional.

Se ha hablado mucho sobre el enfoque de código bajo para el desarrollo de software y cómo actúa como catalizador para un desarrollo rápido. También cómo actúa como un vehículo para ofrecer soluciones con una codificación manual mínima a medida.
Se ha hablado mucho sobre el enfoque de código bajo para el desarrollo de software y cómo actúa como catalizador para un desarrollo rápido. También cómo actúa como un vehículo para ofrecer soluciones con una codificación manual mínima a medida.

Las interfaces de código bajo generalmente están disponibles a través de una sola o una colección de herramientas que son de naturaleza muy gráfica; e inicialmente intuitivas de usar.

Por lo tanto, inicialmente tiene la apariencia de una incorporación rápida y acelera el proceso de entrega de soluciones a la producción. Sin embargo, como ocurre con muchos enfoques de esta naturaleza, inicialmente parece una muy buena idea. A medida que la funcionalidad, la complejidad y la escalabilidad comienzan a desempeñar un papel, se encuentran grandes impedimentos.

Cuando alguien se refiere a la capacidad o al grado en que se puede realizar el ajuste fino, ¿a qué se refiere exactamente?

Algunos elementos comunes que constituyen el ajuste fino son:

  • Formularios y slots para capturar la entrada del usuario
  • Intenciones
  • Entidades
  • Generación de lenguaje natural (NLG)
  • Gestión de estado de diálogo
  • Gestión de mensajes/textos del chatbot
  • Digresión
  • Desambiguación

Tendencias generales en el mundo de los chatbots

Para empezar, están surgiendo seis tendencias generales de chatbots:

1️⃣ VoiceBots / Interfaces de voz. Ha habido una actividad creciente en las interfaces de voz/discurso, en particular el acceso a través de una llamada telefónica, y no necesariamente un dispositivo de asistente de voz cuya función es estrictamente esa.

IBM Watson Voice Agent se lanzó en 2018, pero a partir de marzo de 2021 quedará obsoleto y se integrará completamente en Watson Assistant como la integración telefónica recién lanzada.
Google DialogFlow CX y NVIDIA Riva se lanzaron recientemente.

2️⃣ Intento de desaprobación. Esto también se conoce como aprendizaje de extremo a extremo. La desaprobación de la intención introduce más flexibilidad en términos de las entradas del usuario y la coincidencia de esas entradas con un nodo de diálogo en particular.

Sin embargo, hay una pérdida de la capacidad de ajuste fino, por lo que queda por ver cómo se desarrollará esto en la práctica. Un escenario es que las habilidades sin intención son desarrolladas por unidades de negocios y no por equipos técnicos. Y estas habilidades actúan como una extensión de un asistente existente.

Ejemplos de implementaciones de desactivación de intenciones son IBM Watson Action, Microsoft Power Virtual Agents y Amazon Alexa Conversations.

3️⃣ Fusionar intenciones y entidades. Las intenciones y las entidades continúan fusionándose y la anotación contextual de las entidades dentro de la intención o el enunciado se está volviendo común y muy necesaria.

Las entidades compuestas también se están volviendo más importantes. La fusión de intenciones y entidades es un proceso en el que las entidades están estrechamente vinculadas a un determinado contexto dentro de una determinada intención. Dando como resultado un ciclo de retroalimentación eficiente.

4️⃣ Estructuras de datos de entidad. Las estructuras de datos se introducen en las Entidades… Esta tendencia es visible con las herramientas Rasa, Alexa Conversations y especialmente Microsoft LUIS. Rasa lo llama Entidades, Roles y Grupos. AWS lo llama Slots with Properties.

Y Microsoft LUIS, entidades de ML que se pueden descomponer. Cisco MindMeld también dedicó tiempo a crear entidades.

5️⃣ Instalaciones de borde. Las instalaciones perimetrales son cada vez más importantes…NVIDIA Riva y Rasa vienen a la mente para instalarlas en cualquier lugar. Por ejemplo, vehículos autónomos, etc.

6️⃣ Depreciación de la máquina de estado. Desaprobar la Máquina de Estado es inevitable, Rasa está liderando el sector en este sentido. IBM está introduciendo la automatización en su sistema de gestión de diálogos con puntuaciones de esfuerzo del cliente y menús de desambiguación automática. Es necesario mencionar las acciones de Watson.

La mayoría de los marcos convergen en ideas como intenciones, entidades, mensajes de diálogo y se siguen enfoques similares. Mientras que cuando se trata del desarrollo y la gestión del estado de diálogo, existe un enfoque significativamente dispar del problema.

NVIDIA está trabajando en Riva Studio, que probablemente incluirá el desarrollo de estados de diálogo. Algo que no es parte de Riva ahora. Las demostraciones actuales de Riva utilizan Rasa y Google Dialogflow para la gestión de diálogos. Esto ilustra la versatilidad de NVIDIA Riva.

Inicialmente, las decisiones técnicas y de diseño son fáciles. Sin embargo, a medida que la tecnología crece y el chatbot escala, esas decisiones técnicas y de diseño se vuelven más difíciles y cargadas de ramificaciones. De ahí que sean necesarias cuidadosas consideraciones iniciales. Sobre todo si se hace una inversión; de lo contrario, se puede seguir un enfoque de prototipo/prueba.
Inicialmente, las decisiones técnicas y de diseño son fáciles. Sin embargo, a medida que la tecnología crece y el chatbot escala, esas decisiones técnicas y de diseño se vuelven más difíciles y cargadas de ramificaciones. De ahí que sean necesarias cuidadosas consideraciones iniciales. Sobre todo si se hace una inversión; de lo contrario, se puede seguir un enfoque de prototipo/prueba.

Tendencias tecnológicas y entre industrias

Las tendencias sobre chatbots que se están viendo en todas las industrias y plataformas tecnológicas son:

  • Desaprobación de intención
  • Desambiguación de intenciones con menús de aprendizaje automático
  • La fusión de intenciones y entidades
  • Desaprobación de la Máquina de Estado. O al menos, hacia la desaprobación de una máquina de estado condicional rígida.
  • Entidades complejas: la introducción de entidades con propiedades, grupos, roles, etc.

Hay crecimiento tanto horizontal como vertical con la tecnología de chatbot.

Crecimiento de la capacidad de Chatbot
Crecimiento de la capacidad de Chatbot

En el diagrama anterior, está claro dónde se está produciendo este crecimiento:

  • Verticales — Tecnología

La interfaz de usuario conversacional se está alejando de un menú preestablecido estructurado y una interfaz basada en palabras clave. Con un movimiento hacia la entrada de lenguaje natural no estructurado y una entrada conversacional más larga.

Permitir a los usuarios la desambiguación cuando dos o tres intenciones tienen una puntuación similar. Usando esto como un mecanismo para el autoaprendizaje.

  • Horizontal — Experiencia de usuario

En esta dimensión, el bot se está transformando de un bot de mensajería a una interfaz verdaderamente conversacional. Lejos de la navegación de clics a la eventual entrada de lenguaje natural compuesto sin restricciones del usuario.

Para cerrar, el empleado digital

El final del juego es donde el empleado digital, que emerge del entorno chatbot, ha evolucionado hacia áreas de texto y voz.

Con conciencia contextual en cuatro niveles:

  • Dentro de la conversación actual
  • De conversaciones anteriores
  • Contexto extraído de CRM y otras fuentes de datos relacionadas con clientes/usuarios
  • Y a través de diferentes medios.

El empleado digital crecerá a través de diferentes medios y modalidades. Dominar idiomas con detección, traducción, tono, sentimiento y categorización automática de conversaciones.

Los medios incluirán dispositivos como Google Home, Amazon Echo, IVR tradicional y más. Como nosotros, como humanos, podemos conversar en texto o voz; de igual forma el empleado digital podrá conversar en texto o voz.

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 *