Cómo hacer un proyecto de chatbot

Las siguientes instrucciones lo ayudarán a guiarlo a través del proceso de creación de un chatbot de servicio al cliente desde cero. Esto no pretende ser una guía exhaustiva, pero debería ayudarlo a comenzar con la planificación y el proceso de pensamiento en torno a la construcción de su propio chatbot.

1. Determinar el papel del bot y establecer objetivos

Antes de comenzar, identifica lo que quieres que haga tu bot y sé específico. Siguiendo la regla de Pareto sobre un enfoque 80-20, identifique el 20 por ciento de las preguntas que se responden hoy en su centro de contacto, pero que representan el 80 por ciento del volumen de consultas entrantes. Determine si desea que su bot interprete las preguntas de manera muy limitada, desviando menos preguntas del centro de contacto pero siendo altamente preciso, o en general, creando una mayor tasa de desviación con el riesgo de responder incorrectamente.

2. Evaluar y elegir un canal.

Los chatbots basados ​​en texto pueden vivir en cualquier canal de comunicación que pueda llevar un diálogo, ya sea un canal de operador móvil tradicional (SMS, USSD), una aplicación de mensajería (Facebook Messenger, WeChat), redes sociales como Twitter o chat incrustado en un sitio web . Si está considerando agregar una experiencia de conversación a su aplicación móvil existente, haga esta pregunta: Dada la fatiga general de la aplicación, ¿agrega esta experiencia suficiente valor nuevo que justifique la inversión? A veces, un nuevo canal abre nuevas perspectivas para un mejor servicio al cliente.

3. Crear la arquitectura conversacional

Los chatbots tratan sobre una conversación continua que permite cualquier cantidad de respuestas entre el bot y el usuario. Al contrario de lo que experimentan los usuarios con aplicaciones móviles o sitios web, el canal de mensajería se basa en la historia o el flujo, donde todas las interacciones previas son siempre visibles para ambas partes.

Lo que esto significa para su diseño de chatbot es que los mensajes de los usuarios nunca pueden analizarse de forma aislada: son parte de una conversación más amplia. Como primer paso de diseño, por lo tanto, desea crear una arquitectura conversacional. Esto es similar a una arquitectura de información para una GUI, que coloca el contenido del sitio web en una jerarquía de páginas web (un mapa del sitio). Preste atención a las interacciones que pueden conducir a pasos de seguimiento que se refieren al diálogo anterior, y descubra cómo las va a manejar.

4. Diseñar flujos de diálogo y guiones gráficos

La Arquitectura conversacional es un ejercicio para ayudarlo a organizar su contenido y comenzar a pensar en las mejores formas de redactar las respuestas del bot. El flujo de diálogo entra en todos los detalles necesarios para que su desarrollador implemente el bot, y representa cada rama y coyuntura en la conversación.

El diseño detallado del mensaje ocurre fuera de los diagramas de flujo, ya que querrá diseñar variaciones del mismo mensaje para pasos de diálogo frecuentes. Esta es una técnica llamada solicitud aleatoria, en la que haces que el bot use variaciones de redacción para decir esencialmente lo mismo. Esto hará que toda la experiencia se sienta menos robótica y más humana, que es algo por lo que debemos esforzarnos en el diseño de bots.

5. Diseña las integraciones

Las integraciones de backend y datos pueden ser tan variadas como las aplicaciones que desea automatizar. Si ya tiene una integración con sus plataformas de autoservicio existentes (web o de voz) en algunos de sus sistemas, las mismas integraciones pueden reutilizarse para fines de chatbot. Por ejemplo, si su aplicación IVR (respuesta de voz interactiva) ya verifica a su cliente y puede proporcionar información sobre el estado del pedido, lo más probable es que la integración se pueda reutilizar para su chatbot.

6. Recopilar datos de chat

Uno de los recursos más importantes que necesitará reunir es una colección de variaciones de preguntas que reflejan las diferentes formas en que su cliente puede pedir algo. Si tiene la suerte de haber tenido agentes que se comunican con los clientes en los canales de chat, puede extraer esas conversaciones para obtener ejemplos reales.

Si necesita crear sus datos iniciales a mano, asegúrese de que su colección incluya no solo las intuiciones de un desarrollador, sino también el aporte de la mayor cantidad de personas posible. Por lo tanto, un enfoque útil es trabajar con compañías de aseguramiento de la calidad y crowdsourcing que tengan acceso a una gran cantidad de personas de todo el mundo. Encontrar personas con los mismos antecedentes lingüísticos que los usuarios objetivo es útil. El mismo fondo lingüístico ayuda a crear datos más realistas, datos que incluso pueden incluir errores que son típicos para algunos hablantes no nativos.

7. Elija una plataforma y un enfoque de desarrollo

En esencia, la mayoría de los chatbots consideran las siguientes tareas clave que se deben realizar en las oraciones del lenguaje natural: (1) determinar la intención de la oración y (2) extraer datos de la oración. Básicamente, existen dos enfoques diferentes para estas tareas: (1) basado en la creación explícita de reglas de arriba hacia abajo y (2) utilizando algoritmos de aprendizaje automático para aprender la tarea de una gran colección de interacciones transcritas.

Si no tiene un conjunto de datos existente para entrenar una máquina, estará mejor con un enfoque basado en reglas lingüísticas. Este último también le permite mantener un mayor control sobre cómo se interpreta una pregunta, lo que importa en el servicio al cliente, ya que desea minimizar la cantidad de respuestas incorrectas dadas.

8. Implemente el flujo de diálogo e ingenie la comprensión del lenguaje natural.

Si seleccionó una plataforma basada en el aprendizaje automático, proporcionará a esta plataforma sus oraciones de ejemplo para cada intento posible. Cuantos más ejemplos proporcione, mejor aprenderá el algoritmo las variaciones de las expresiones lingüísticas que se pueden usar para cada intento, y mejor aprenderá a distinguir entre intentos. Tenga en cuenta que tendrá que reservar algunas de sus oraciones de ejemplo para el siguiente paso (prueba).

Si está trabajando con una plataforma basada en reglas lingüísticas, usará las oraciones de una manera diferente. Las reglas que elabores representarán explícitamente las características que determinan que una oración dada pertenece al intento A o al intento B.

9. Pruebas internas y revisión de su detección de casos de uso.

Ahora está listo para el segundo uso de su colección de oraciones de ejemplo: pruebas automatizadas. También desea tantos probadores humanos diversos como sea posible para las pruebas de “usuario real”. Pruebe y revise su componente de comprensión del lenguaje natural, así como el flujo de diálogo, hasta que alcance un nivel aceptable de precisión. Tenga en cuenta que este paso y el paso que lo precede son iterativos y aproximativos. Debido a la naturaleza del lenguaje humano y las infinitas expresiones posibles de cada pregunta o intento, el objetivo de una precisión del 100 por ciento es inalcanzable, incluso para un ser humano. Sin embargo, cada vez que repite estos pasos, se acerca.

10. Despliegue temprano y revisiones

Aunque esté listo para comenzar, el trabajo no termina cuando se despliega el bot. Los ajustes típicos incluyen volver a redactar las respuestas de su bot mientras revisa las preguntas de aclaración de seguimiento de sus clientes que no habrían sido necesarias si la respuesta del bot hubiera sido más clara. Es posible que deba ajustar la lógica de su clasificación de intenciones, ya sea mediante la manipulación explícita de las reglas o proporcionando más oraciones de ejemplo. Finalmente, es posible que deba agregar nuevos casos de uso si los casos de uso diseñados no cubren la mayoría de las solicitudes de los usuarios.

Para garantizar un resultado exitoso de su implementación de chatbot, vea la creación como un proceso iterativo: recopile los datos, revíselos y aplíquelos al diseño de su bot. Repetir. Sobre todo, registre todo para el futuro. El éxito de otros proyectos podría estar impulsado por las lecciones que aprenda de este.

Tobias Goebel es el Director de Tecnologías Emergentes, Bill Gay es el Director de Soluciones de Autoservicio y Experiencia del Usuario, y Lisa Michaud es Arquitecta de Datos en Aspect Software, una compañía de software para centros de llamadas.

Fuente: Venturebytes

El proceso

En primer lugar, crearemos el back-end requerido para que funcione el bot y luego integremos este backend con el front-end que construiremos usando React.js. Vamos a construir un bot de conversión de divisas, es decir, el bot convertirá monedas para nosotros cuando le demos las monedas de origen y destino a las que convertir. Suena bien, ¿no?
Usaremos Dialogflow para construir y entrenar el bot y luego usaremos un servicio Hasura como webhook para llamar a una API que nos ayudará a convertir monedas.

El final

Dirígete a Dialogflow e iniciar sesión / registrarse. Ahora importe el agente preconstruido para el convertidor de divisas desde aquí . Puede personalizar este agente según sus necesidades y cómo desea que el bot interactúe con sus usuarios. Aquí hay información sobre cómo hacerlo. No olvide agregar intenciones para interacciones de usuario simples como Hola o Hola. Un bot no sirve de nada si no puede responder a los textos de saludo comunes. Así que por favor agrégalos.
Ahora tenemos el bot listo. Si prueba el bot ahora, no podrá convertir sus monedas. Solo podrá identificar las monedas de origen y destino porque todavía no hemos llamado ninguna API a través de un webhook que convertirá las monedas por nosotros y luego enviará estos datos a nuestro bot.

Escribiendo el backend

Ahora necesitamos escribir el código de back-end en Node.js que llamará a la API (API de tipos de cambio y conversión de moneda) y luego alojarlo en algún lugar. Usaremos Hasura para alojar esto, lo que hará que nuestro trabajo sea súper fácil. Luego agregaremos la URL de nuestro webhook en la sección de cumplimiento del bot de dialogflow.

  • Instalando Hasura en su sistema

Puede instalar el cli Hasura desde aquí

Hasura tiene algunas características sorprendentes y entre ellas se encuentran los inicios rápidos de hasura. Vamos a obtener un inicio rápido de Hasura desde el centro de Hasura que actuará como una base para nuestro proyecto Node.js + React.js. Para obtener el inicio rápido, ejecute los siguientes comandos:

$ # 1) Ejecute el comando de inicio rápido
$ hasura hasura de inicio rápido / hello-react
$ # 2) Git add, commit & push para implementar en su clúster
$ cd hello-react
$ git add. && git commit -m “Primera confirmación”
$ git push hasura master

Ahora tendremos una aplicación de reacción básica ejecutándose en esta ruta: ui. . http://hasura-app.io . Ahora lo que tenemos que hacer es agregar el código para el backend en esta ruta ` microservices / api` . Reemplazaremos la carpeta api con nuestro código de fondo. Puede obtener el código de back-end desde aquí.

api – Google Drive
Editar descripción drive.google.com

Elimine la carpeta api que ya existe, descargue la carpeta api del enlace anterior y colóquela en la misma ruta. El código de fondo que escribimos está en el archivo ‘src / server.js’. No se preocupe por los otros archivos, ya que son creados por Hasura. Si realiza estos pasos, su webhook se ejecutará en esta url : https: // api. ;. http://hasura-app.io/webhook . Si conoce Node.js, puede comprender fácilmente el código en server.js.

Agregar el webhook al bot de dialogflow

Ahora tenemos el webhook alojado usando Hasura y solo tenemos que agregar esto a nuestro bot de diálogo. Para hacerlo, visite su consola de diálogo de flujo. Haga clic en ‘la pestaña de cumplimiento y luego la consola se verá así:

Consola Dialogflow

En la sección de url solo agregue la url de nuestro webhook. Si olvida, esta fue la url de nuestro webhook : https: // api. ;. http://hasura-app.io/webhook

El frente

Ahora tenemos el back-end listo. Dialogflow ya tiene una interfaz y puede integrar directamente su bot en el sitio web que desee siguiendo las instrucciones en la página de integraciones. Pero vamos a diseñar un front end personalizado usando React.js. Llamaremos al bot de dialogflow con su token de acceso y buscaremos los datos en nuestro front end y lo mostraremos. El resultado sería que tendremos un increíble front end propio que no se parece en absoluto a los bots habituales de Dialogflow.

Explicar todo el código frontal está más allá del alcance de esta publicación de blog. Puede obtener el código de front-end desde aquí.

aplicación – Google Drive
Editar descripción drive.google.com

Ahora, al igual que colocamos el código de fondo en una ruta particular, haremos lo mismo con este archivo también. Descargue el archivo desde el enlace anterior y colóquelo en microservicios / ui / después de eliminar la carpeta de la aplicación. Ahora puede diseñarlo de la manera que desee y también puede llamar a cualquier bot de flujo de diálogo utilizando este código simplemente haciendo un cambio menor en el código de front-end. Este es el cambio que tendrías que hacer

En el archivo index.js en la línea 145 simplemente agregue el token de acceso de su bot de diálogo. Puede obtener el token de acceso de cliente de su bot de diálogo de flujo haciendo clic en la configuración (el icono de engranaje) en la consola de diálogo de flujo.

Ahora, como hemos realizado cambios en nuestro proyecto Hasura, queremos que estos cambios se publiquen en la URL. Ejecute estos comandos para enviar sus cambios al clúster.

git add .

git commit -m “first commit”

git push hasura master

Si has hecho todo correctamente, así es como se comportará tu bot:

Súper genial, ¿no?

Recuerde que si no le gusta esta interfaz de usuario, puede cambiarla haciendo cambios en los archivos CSS y tener una apariencia personalizada para el bot. Diviértete construyendo bots !!

Este artículo fue publicado originalmente en Medium. Aquí hay un enlace a la publicación original: Cómo construir un bot de Dialogflow usando Hasura – The Punjabi Geek – Medium. Siéntase libre de seguirme en medio -The Punjabi Geek – Medio y conectarse conmigo en LinkedIn y Twitter . También estoy en Instagram .

Hay dos versiones:
1. Chatbot simple
Puedes visitar esta url: una guía interactiva para escribir bots en Python.
Básicamente determinará la respuesta a cada pregunta posible.
Por ejemplo, si el usuario dice una oración que tiene palabras clave hola, entonces su chatbot responderá “heno”.

2. Chatbot complejo usando Machine Learning
En realidad, la aplicación de machine learning en python es muy fácil. Porque la biblioteca de aprendizaje automático ya está muy en Python. Ejemplo como este: ChatterBot 0.4.3.
Pero tiene que aprender todos los algoritmos aplicados en el aprendizaje automático para la mejor práctica.

Puede probar con Chattypeople o Meokay , no necesita codificar, son precompilaciones , solo necesita arrastrar y soltar. Podría ser más fácil para usted si primero descubre qué tipo de chatbot necesita, en qué plataforma, por qué lo necesita, etc.
Al principio estaba usando varios, pero eran complicados y ahora estoy usando Chattypeople , sin codificación, ¡solo arrastrar y soltar!

Encontrando el éxito con Chatbots

https://goo.gl/hcYyD5

Visite este enlace y haga clic en suscribirse, Manténgase actualizado sobre Inteligencia Artificial

Hice mi propio doctor bot muy muy muy simple en solo aprender. Código fuente disponible.

https://code.sololearn.com/WXDMX

Hola ,

Puedes hacer Chatbot con un simple paso

aqui esta el video

More Interesting

¿Son los algoritmos genéticos en sí mismos una forma de inteligencia artificial?

No soy bueno en programación dinámica y no puedo hacer ni un solo problema de DP. Donde me falta

¿Por qué son importantes los números primos para la seguridad informática?

¿Alguna vez ha enviado un artículo científico sobre un algoritmo que funciona tan bien como los métodos más modernos pero realmente no sabe por qué? ¿Puedes decir 'tal vez' al explicar tu método?

¿Podría hacerlo sin espacio adicional y en tiempo de ejecución O (n)?

¿Cómo puedo implementar algoritmos de aprendizaje automático en una aplicación web?

¿Cómo resolver la pregunta 1 de ZIO2015? ¿Es un enfoque de programación dinámica?

En el algoritmo de coincidencia del patrón de fuerza bruta cuando todos los caracteres en el patrón son únicos, entonces la fuerza bruta se puede implementar en la complejidad Big-oh (n) donde n es la longitud de la cadena (referencia: introducción a los algoritmos). ¿Alguien puede ayudarme con el algoritmo? Gracias por adelantado

Como principiante, ¿debería leer el libro CLRS antes de comenzar con Interviewbit?

¿Qué es un algoritmo increíble que encontraste?

¿Cómo podrían analizarse las preguntas arbitrarias de Quora para adivinar si el cartel es suicida?

Si un hombre está limitado por el conocimiento, ¿podemos crear un algoritmo para sus elecciones y determinar su futuro?

Cómo probar la diferencia significativa entre dos algoritmos de clasificación

Si recibe fondos de miles de millones de dólares y tiene la tarea de crear un motor de búsqueda para competir con Google, ¿cómo sería su motor de búsqueda?

¿Qué significa el algoritmo en informática?