Tabla de contenidos
Introducción
Cuando se trata de la mejora del chatbot, hay tres elementos primordiales:
- Continuo
- Incremental
- Contextual
La mayoría de los entornos de NLU tienen herramientas existentes para mejorar la conversación. Estas herramientas a menudo se caracterizan por estos rasgos:
- Nivel alto
- Enfoque estadístico
- Abultar
- Centrado en métricas
- Difícil de dirigir
Hablamos del camino feliz y el camino de la reparación. El objetivo principal del camino de reparación es devolver al usuario al llamado camino feliz.
Pero, ¿no deberíamos pensar en cambiarle el nombre? ¿No es el camino feliz el camino diseñado… y el camino de reparación el camino del deseo del usuario?
Camino del deseo
La ruta deseada generalmente representa la ruta más corta o más fácil de navegar entre un punto de partida y un destino. En parques y áreas abiertas, el ancho y la severidad de la erosión son a menudo indicadores del nivel de tráfico que recibe un camino.
Los caminos del deseo surgen como atajos donde los caminos construidos o diseñados toman una ruta tortuosa, tienen brechas o, a veces, no existen.
Volviendo a los chatobots, en lugar de obligar a nuestros usuarios a participar en las conversaciones que diseñamos para ellos, ¿por qué no aprender cuál es su camino deseado implementar sus preferencias?
Alojamiento
Los paisajistas a veces se adaptan a los caminos deseados pavimentándolos, integrándolos así en la red de caminos oficiales en lugar de bloquearlos. La imagen de arriba es de un camino de deseo bloqueado y rehabilitado en un intento de obligar a los usuarios a seguir el camino diseñado.
A veces, los planificadores de tierras han dejado deliberadamente la tierra total o parcialmente sin reparar, esperando ver qué caminos de deseo se crean y luego pavimentando esos.
En Finlandia, se sabe que los planificadores visitan los parques inmediatamente después de la primera nevada, cuando los caminos existentes no son visibles.
Los caminos del deseo elegidos naturalmente, marcados por huellas, se pueden usar para guiar el enrutamiento de nuevos caminos construidos específicamente.
Elementos de un enfoque conversacional
De los caminos diseñados al alojamiento
Rasa adoptó un enfoque completamente alternativo en comparación con otros marcos de chatbot. Al introducir algo que ellos llaman Desarrollo impulsado por conversaciones (CDD). Este enfoque está incluido en su entorno Rasa-X.
Su enfoque es novedoso pero efectivo.
Con Rasa-X, lo que impulsa la mejora es una conversación real. Y al estudiar las conversaciones de los usuarios reales, se reduce el delta entre las conversaciones reales (deseo) y las conversaciones anticipadas (diseñadas).
Todo el proceso es muy eficiente debido a un ciclo cerrado desde la revisión hasta la anotación e incluso el “desarrollo” de NLU. Como verá más adelante en esta historia.
El proceso se simplifica y se convierte en una tarea administrativa.
Se niega la comunicación entre equipos y la traducción de tareas.
Compartiendo tu bot
La noción en Rasa-X de crear una URL a través de la cual puede crear una vista previa para los usuarios, recuerda mucho a la característica de IBM Watson.
Enlace de vista previa de IBM Watson Assistant
Lo que esto hace es crear una vía para compartir su bot de manera rápida y eficiente de una manera que se puede revocar nuevamente con la misma facilidad. Todo el tiempo creando conversaciones de usuario para analizar.
Bandeja de entrada de NLU: Convierte la capacitación de NLU en una tarea administrativa
Las declaraciones de los usuarios que no forman parte de tus datos de entrenamiento aparecen en tu Bandeja de entrada de NLU. Estas expresiones pueden anotarse y clasificarse dentro de la herramienta web.
Descripción general de Rasa X: instalación y funcionalidad
Instalación
Lo más probable es que desees instalar Rasa X en su máquina con Windows 10 para jugar. Te sugiero que primero instales el software de chatbot Rasa.
La instalación de Rasa X será realmente una extensión de su chatbot Rasa. Para instalar Rasa X, abra la ventana Anaconda Prompt. Activa tu entorno virtual y ejecuta el comando:
pip3 install rasa-x — extra-index-url https://pypi.rasa.com/simple
Una vez hayas instalado Rasa X con éxito, ejecuta el comando:
rasa x
En su ventana de Anaconda verás la URL donde se está ejecutando Rasa X. Simplemente ábrelo en tu navegador.
Rasa X se inició con éxito
El nombre de usuario y la contraseña se pueden encontrar en la cadena de inicialización dentro de la terminal anaconda.
Empiece a hablar con su bot
Antes de que puedas empezar a hablar con tu bot, tendrás que entrenar tu primer modelo:
rasa train
Y comienza tu bot:
rasa shell
Aprendizaje interactivo
Tiene la capacidad de hablar con su bot y hacer uso del aprendizaje interactivo durante una conversación. Esto cierra la brecha entre la experiencia práctica y los datos de capacitación.
Ventana de chat de aprendizaje interactivo
Bandeja de entrada de NLU
Cuando los usuarios hablan con su asistente, a través de un canal de mensajería, la función Share your bot o mediante la pantalla Talk to your bot, sus mensajes se canalizan a la bandeja de entrada de NLU. Cuando tenga mensajes sin procesar en la Bandeja de entrada, ahora verá un indicador en la barra lateral que le advierte que los mensajes están listos para ser revisados.
El modelo NLU se puede entrenar desde la consola, con una lista de todos los modelos disponibles y un indicador de cuál está actualmente en producción. Cambiar de modelo es sencillo. Esto es muy conveniente si deseas volver al último modelo; o incluso algunos modelos atrás.
Tu archivo de configuración de Pipeline está disponible a través de la consola, con historias y respuestas.
Creación de intenciones y entidades compuestas
Por último, me gustaría dedicar algo de tiempo a esta característica de Rasa X; gestionar y crear intenciones y entidades. Veo esto como una señal de que Rasa X probablemente se convertirá en una herramienta de desarrollo gráfico en toda regla.
Pero con una diferencia …
La mayoría de las demás GUI se centran en el flujo de diálogo, el flujo de llamadas, la state machine, la gestión del estado de la conversación… llámalo como quieras. Los productos que me vienen a la mente aquí son:
- Microsoft Composer
- Asistente Watson
- Agentes virtuales de Microsoft Power
- etc.
Es un desarrollo impulsado por el diseño del chatbot. O desarrollo impulsado por diálogo. La noción de, cuanto más mejoremos el diseño conversacional, más mejorará nuestro chatbot.
Rasa es único en el sentido de que abordan este problema desde una perspectiva conversacional. Algo a lo que se refieren como desarrollo impulsado por la conversación.
La atención se centra en mejorar la experiencia conversacional centrándose en:
- Charlar con su propio chatbot y corregirlo sobre la marcha (aprendizaje interactivo).
- Estudiar cómo interactúan sus usuarios con el chatbot.
La razón por la que digo que Rasa X es una excelente herramienta de desarrollo está ilustrada por su intención y gestión de entidades.
Veamos un ejemplo práctico; dentro de Rasa X puedes crear una nueva intención para tu chatbot.
Estamos nombrando nuestra nueva intención:
travel_detail
Una vez definido, debemos dar expresiones de ejemplo para esta intención. de quince a veinte ejemplos son buenos. Empezamos con el ejemplo:
I want to travel from Berlin to Stuttgart by train tomorrow.
Podemos guardar el ejemplo y agregar más ejemplos.
Exposición de ejemplo para la intención: travel_detail
El desafío es que dentro de esta intención existen múltiples entidades que nos gustaría capturar. Estas entidades pueden ser multadas gráficamente dentro de Rasa X y también contextualmente.
Las intenciones pueden verse como verbos y las entidades como sustantivos. La frase relleno de espacios también se refiere a la captura de entidades.
Contextualmente significa que las entidades no son reconocidas por el chatbot al pedirle al usuario directamente la entrada, o que se encuentran a través de una lista de búsqueda finita. Más bien, las entidades se detectan en función de su contexto dentro del enunciado u oración.
Esto está más alineado con la forma en que nosotros, como humanos, detectamos entidades en una conversación.
La palabra “Berlín” se selecciona y se etiqueta como tipo de entidad “from_city”
La palabra Berlín se puede resaltar y, de manera muy intuitiva, una ventana emergente nos pide que definamos un tipo de entidad o sinónimo. Por ahora nos enfocamos en el tipo de entidad.
Tenemos dos ciudades en la oración, una como punto de partida. El otro el destino.
De ahí a los tipos de entidad. En este contexto, marcamos Berlín como un tipo de entidad from_city.
Continuación de la anotación de entidad
Las otras entidades que nos interesan, las marcamos en la frase.
Cada una de las partes marcadas en la oración asignamos a un nombre de entidad que creamos. Las diferentes entidades están convenientemente marcadas en la oración con diferentes colores.
La lista de entidades son:
date_time travel_mode from_city to_city
Agregar más ejemplos de intenciones es fácil y el proceso se convierte casi en una tarea administrativa. A continuación, puede ver en la codificación de colores qué entidades son del mismo tipo.
Conclusión
El desafío que plantea un entorno de entrada no estructurado como los chabots es que no puede anticipar todas las variaciones posibles de la entrada del usuario.
Sin embargo, la entrada del usuario es un buen indicador de lo que piensan los usuarios. Y hacer uso de esas conversaciones, después del desarrollo impulsado por la conversación, conduce a iteraciones más rápidas y mejoras rápidas.