Bots tontos en un mundo inteligente

En esta publicación te cuento cómo está mundo de los bots actualmente y puntos donde creo que puede mejorar.

Llevo casi 2 años trabajando con bots, más específicamente con el entorno de desarrollo de bots de Microsoft, es decir: Bot Framework, Bot Framework Composer, Azure con Azure Functions, AppInsights, CosmosDB, etc, etc, etc…

Y dentro de esto nuestras actividades son “puestas por alguien más”, sin embargo eso no ha evitado que me ponga a investigar externamente cómo es que se mueven los bots en la actualidad.

Soy una persona que odia DEMASIADO a los bots, no quisiera llegar a una empresa donde lo que me ofrece el bot no es la respuesta que busco, por lo que quisiera a un agente conversando para que resuelva mi duda, sin embargo entiendo que un bot ahorra muchísimo tiempo (y dinero) con tareas que son muy comúnes, pero para empezar, la mayoría de bots es complicado llegar a estos agentes, y con estas acciones “automatizadas” y estas problemáticas, empecemos a revisar, ¿qué diablos es un bot hoy en día?…

Vamos a empezar por explicar “bot tontos” para entender entonces qué es un bot hoy en día. Una palabra clave que normalmente relacionamos a los bots es “inteligencia”, es decir, un bot debe ser “inteligente”, pero después de trabajar con NLP/NLU/NLG y demás cosas, puedo decir, la mayoría de los bots, quizá un 90% son en realidad bot tontos, MUY tontos.

¿Pero qué significa esto?, que un bot depende casi en su totalidad que sigas un flujo correcto, flujos predefinidos que “si no te entiendo ahí me atoro”, tomemos por ejemplo el bot de Santander México:

Pensemos que tuvimos una mala experiencia en sucursal así que quisimos reportar al agente, el bot no sabe qué queremos en realidad porque no es parte de sus flujos. Entonces se atora, sin embargo algo que es cierto es que “Sandi” tiene suficiente inteligencia para interpretar frases, ¡GRACIAS NLP/NLU!

Pero, entonces, ¿qué más hay?, hay aún bots más tontos como el caso de AT&T:

Estos bots ya ni si quiera deberían ser como tal bots, algunos de ellos tienen una capa mínima de NLP, pero, podemos ver que nos da opciones (1,2,3,4…) y al final estos “1,2,3,4” se convierten en frases interpretadas normalmente detrás de cámaras, así, podemos usar “Ubicación de tiendas” o “4” pero el bot es tan tonto que sabe que un flujo diferente es poco probable así que retornan un “No entendí”:

Ahora, usemos una frase aquí para medir si al menos nos interpreta algo:

Como podemos ver, no interpretó nada, ¿tiene una posibilidad para la ley arco?, pues no, entiendo que quizá no es capaz de saberlo, pero, vamos ahora a un último ejemplo:

Aquí sí entró el servicio de procesado, pero como podemos ver me manda para “cómo hacer pagos” en otras palabras una opción que no tiene nada que ver en realidad, yo no quiero hacer un pago, tengo problemas con, esto significa que la app no me permite el pago, el pago es erróneo, entonces, ¿cómo es que está solventando esto el servicio?.

Muy posiblemente, dentro de las opciones de NLP y su procesado, detectamos que “pagos” está ahí y es una palabra clave así que retornó las “chances” con mayor probabilidad en pagos.

Y esto es justamente a lo que me refiero, los bots son bastante tontos como para no entender o diferenciar correctamente entre opciones haciendo que todo sea un flujo constante o correcto, si un bot fuera lo suficientemente inteligente, podría haber detectado “ok, habla de la ley arco, no puedo procesarlo, pero, puedo hacer llegar enlaces de ayuda”, ¿cómo se hace esto?, con aprendizaje máquina (machine learning) que permitiera al bot escalar en opciones “desconocidas” o que el equipo de desarrollo detrás de, pudiera dar seguimiento a casos no conocidos y usar el apoyo de algún API que en estos casos pueda escalar sin necesidad de hacer deploy en otras. Es decir:

Algo tan sencillo como esto permitiría que el bot empiece a escalar sin necesidad de muchas complejidades, “ok proceso que es ley arco, envío un enlace” y así sucesivamente.

Sin embargo, hoy en día la mayoría de las empresas solamente agregan opciones que sus “gerentes” consideran (o quien sea que esté a cargo del producto en sí mismo), por lo tanto terminamos con bots que no son de mucha ayuda, bots que si no tienen forma de contactar a agentes, terminan por estresar y dar una malísima experiencia de usuario o bots que ni si quiera parecen bots…

Como Megacable, que para mi, esto es if / else y no un bot…

Pero alguna vez leí a una persona que trabaja ahí como desarrollo que su idea era escalar este “bot”, ¿pero qué tan útil es poner if / else y respuestas genéricas?. La mayoría va a terminar en el atención a clientes peleándose con los mal entrenados agentes de atención de Megacable.

Si la idea detrás de un bot es automatizar peticiones constantes y ahorrar $ y tiempo a las empresas, ¿cuál es entonces esa utilidad de falso escalado?. Ahora bien, ¿cómo diablos se hacen estos bots en sí mismos?

Si vemos por ejemplo el caso de Bot Framework Composer para desarrollo de bots en Microsoft todo son diagramas, “si pasa esto, vamos para acá, si pasa aquello para allá”, teniendo también respaldo en tecnologías como NLP/NLU que nos permitan avanzar entre las “iteraciones”, hacer peticiones HTTP y demás herramientas que nos pueden funcionar.

Otro caso por ejemplo es Twilio Studio:

En este caso podríamos decir que incluso son más tontos porque aquí no hay procesamiento complejo de resultados de texto, para todo esto ocuparíamos un API externo.

Entonces terminamos con bots MUY tontos… o simplemente condicionales que en un código podríamos hacer con IF/ELSE, claro, una persona “mortal” que no es programadora puede usar estas herramientas, pero el problema también es que son costosas y casos gratis como el viejo snatchbot.me actualmente ya no son convenientes porque ya se volvieron producto.

Incluso nosotros como desarrolladores, los “gratuitos” en repositorios son complejos. Por lo tanto todo esto se vuelve caro, ¿qué sigue entonces, cómo solventamos todo esto?. Personalmente creo que debemos buscar un balance entre bots inteligentes y escalables y bots tontos y no escalables. Por ejemplo:

Utilizar una herramienta como Twilio Studio, implementando una herramienta de NLP, tipo “si el match es con x entonces vete por acá” y tener una especie de funcionamiento genérico escalable, y que sea gratis de utilizar y deployear de forma que “10,000 mensajes” no sea el límite, si no, como en el caso de WhatsApp, conversaciones, así, el servicio creo que podría ser incluso muy bien compensado.

En fin, esto no se trata tanto del dinero, pero, ¿qué sigue en estos bots?, ¿por qué seguimos este camino de desarrollar y mover bots tontos?. Por ahora creo que los bots deberían ser “detenidos” donde no hay necesidad de, y empezar a integrarlos para dar un punto de entrada más funcional y automatizada a las personas. Dejar atrás tantas plataformas “super completas” que en realidad solo agregan complejidad.

¿Y tú, qué opinas?, déjamelo saber en los comentarios.

¿Cuál es tu reacción?
+1
0
+1
0
+1
0
+1
0
+1
1
Total
0
Shares
Publicación anterior

Estrenos Netflix Diciembre 2022

Siguiente Publicación

Hackean a WhatsApp, casi 500 millones de cuentas se filtran

Publicaciones Relacionadas