DiscoverConstruyendo SoftwareConstruyendo Chatbots
Construyendo Chatbots

Construyendo Chatbots

Update: 2020-06-02
Share

Description








Frank Herbert en su saga de fantasía Dune habla de una realidad donde el ser humano crea las máquinas pensantes, hasta un punto en que se revelan y entran en guerra con la humanidad.





Matrix toma la misma temática y la lleva un paso más, siendo las máquinas las que exterminan a la humanidad.





En resumen, le tenemos miedo a las máquinas, al menos el imaginario colectivo lo tiene.





Los que trabajamos en tecnología sabemos que todos estos miedos son infundados, al menos en esta realidad en la que estamos hoy.





Sin embargo, existe la inteligencia artificial, que lejos de ser una cosa futurista, es algo que desde hace muchos años se estudia. La potencialidad de enseñarle a una máquina a tomar decisiones basada en casos previos, en otras palabras que la máquina aprenda.





Una de las líneas donde hoy la inteligencia artificial tiene mayor uso es en el desarrollo de los llamadas chatbots, o robots conversacionales.





Enseñarle a una máquina una de las cosas más complejas y sutiles que tiene nuestra especie, a comunicarse. La capacidad de comprender lo que un humano que habla de una manera poco estructurada dice.





¿Son una moda los chatbots?





Vale la pena preguntarnos sin los chatbots son una moda, como lo fueron las canchas de paddle en su momento, o si realmente llegaron para quedarse.





Según Gartner, para 2022 el 70% de los ejecutivos tendrán contacto con plataformas conversacionales a diario.





Podemos discutir su le creemos a Gartner o no, pero la realidad es que mas o menos siempre le emboca en sus predicciones.





¿Qué son los chatbots?





Podemos definir al chatbot cono una interfaz invisible de nuestro sistema, en otras palabras una cara más del multiexperience





Es una manera de que mis sistemas interactúen con el mundo, disponiendo yo como programador las interfaces necesarias para eso.





Esto es solo una cara, la del usuario, pero del lado de atrás de la cortina tenemos que enseñarle a al robot a entender a los usuarios y saber que respuestas debemos dar.





Una ventaja de los chatbots es que estamos poniendo nuestro sistema en todos lados donde mi usuario está, en el whatsapp, en el messanger, en un chat modal dentro de mi web, en mi app, en cualquier lugar donde el usuario esté.





Tipos de Chatbots





Existen dos tipos de chatbots:





Chatbots de comandos (scripted chatbot)





Son interfaces tontas que nos indican que hacer dentro de un menú de opciones, por ejemplo:





«Hola, soy rorro-bot su asistente, indique como puedo ayudarlo:
1 – Ver mi estado de cuenta
2 – Saber mis vencimientos
3 – Hablar con un humano»





Aquí no hay gran ciencia, podemos rústicamente solucionarlo con una secuencia de if o un poco más inteligente si lo hacemos guardando información en tablas de las sencuencias.





Chatbots que reconocen lenguaje natural





Acá está lo divertido. Usar los proveedores de NLP (naturale language proccesing) para interpretar las sentencias del usuario y dar una respuesta.





Watson de IBM o Dialog Flow de Google u otros proveedores hoy nos dan este servicios de NLP que podemos usar en nuestras aplicaciones, para que vamos a reinventar la rueda.





Se alguna forma es la casuística lo que nos ayuda a entrenar mejor ese chatbot. Por ejemplo si le quiero preguntar al bot como se llama, eso lo podemos expresar de distintas formas:





  • Cómo te llamas?
  • Quién sos?
  • Quién eres?
  • Cómo es tú nombre?
  • Quién sos vos?




La magia den NLP es poder intrepretar esas entradas y darnos una salida que podamos trabajar de forma de forma computacional. En tras palabras decirnos cuál es la intención del usuario para que podamos responderle en función de las entidades donde tengo esa información.





¿Necesito incorporar chatbots a mis sistemas?





Existen hoy empresas que se dedican hacer chatbots e incorporarlos a nuestros sistemas, se venden como expertos en la materia.





Estas empresas dicen que ahorran hasta un 72% de interacciones con humanos, reduciendo así los equipos de atención al público de manera significativa.





No se la realidad de esos números, pero si creo que los chatbots son un jugador que puede ayudar en nuestras organizaciones, al menos en algunas.





Acá tenemos dos opciones, ir por chatbots pre armados o tirarnos al agua y construirlos nosotros.





Quién se meta con esto verá que en el proceso de construcción hay mucha tarea repetida pero que aplica a distintas instancias: el hecho de recabar los casos no comprendidos y usarlos para entrenar el nodo NLP, el poder ir a buscar entidades que estén relacionados con la intención del usuario, el exponer los servicios, etc





Pero a mi entender no hay «rocket science» no es algo super complejo que no lo podamos hacer nosotros si tenemos la experiencia técnica adecuada.





Está interesante que sea algo que siga patrones de desarrollo, y ahí que una herramienta lowcode nos pueda ayudar en el desarrollo, ocultando la complejidad de la elaboración de estos chatbots.





En resumen…





Los chatbots van a ser cada vez más comunes y puede ser que mañana nos pidan que los elaboremos como parte de nuestra oferta, como al que le pedían una página web en la era de Visual Basic 6, debemos entender cómo funcionan y tenerlo en nuestra oferta.





Si las herramientas que usamos para construir software me encapsulan la complejidad, entonces estoy preparado para meterme en este mundo que está en constante cambio.













Bonus track





Les dejo esta genialidad del cuarteto de nos que habla de todo esto de una forma muy gráfica





<iframe width="560" height="315" src="https://www.youtube.com/embed/C_WVQOAgll8" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>






La entrada Construyendo Chatbots se publicó primero en Construyendo Software.

Comments 
00:00
00:00
x

0.5x

0.8x

1.0x

1.25x

1.5x

2.0x

3.0x

Sleep Timer

Off

End of Episode

5 Minutes

10 Minutes

15 Minutes

30 Minutes

45 Minutes

60 Minutes

120 Minutes

Construyendo Chatbots

Construyendo Chatbots

Rodrigo Álvarez