Mi trabajo en Telefónica consiste en impulsar la venta de servicios TI. Es un campo extraordinariamente amplio, que abarca desde servicios cloud hasta cámaras termográficas que detectan la temperatura de las personas, muy útiles en la “nueva normalidad”, o entrenar a un chatbot…
Como hemos visto ya en este blog, su potencial es enorme. Un chatbot es un robot software que interactúa con nosotros a través de lenguaje natural para resolver las peticiones. Puede ser a través del menú de una página web o mediante la voz.
Recientemente un importante organismo nos planteó un reto. Se trataba de montar el piloto de un chatbot que ayudara a sus empleados a resolver las dudas sobre una aplicación.
Cada vez más chatbots en la nube
Era necesario tenerlo en tiempo récord y conseguir un buen impacto en el cliente para pasar a la siguiente fase del proyecto. Hablamos entonces con nuestro equipo de desarrollo y seleccionamos como plataforma para “construir” a nuestro nuevo amigo los servicios de Google en la nube: la Google Cloud Platform. Para ello, utilizamos Dialogflow, un servicio para el procesado de lenguaje natural (NLP por sus siglas en inglés: Natural Language Processing).
AWS y Azure también son plataformas válidas. Independientemente del proveedor escogido, lo que es una tendencia clara del mercado para este tipo de desarrollos es que se realiza cada vez más sobre plataformas en la nube.
Ventajas de cloud
Los principales motivos son:
- Entornos muy complejos de mantener en local, con constantes actualizaciones para mejorar los algoritmos.
- La nube proporciona una enorme elasticidad para atender las variaciones en el volumen de interacciones con el chatbot, que puede crecer de cientos a miles. Con la infraestructura en cloud esto no resulta un problema. Se factura por el número de peticiones realizadas, no por el hardware utilizado.
- La acumulación de inteligencia cognitiva que se produce, gracias a las múltiples peticiones que recibe.
¿En qué consiste entrenar a un chatbot?
El cliente nos pasó doscientas preguntas con sus correspondientes respuestas y, en poco tiempo, el desarrollo estaba preparado. Pero, antes de entregar la aplicación, ¡teníamos que entrenar al chatbot!
Y ¿en qué consiste entrenar a un chatbot?, os preguntaréis. Se trata de formular con distintas variaciones las preguntas sobre las dudas que debe resolver y comprobar que el algoritmo proporciona la respuesta adecuada siempre. Para ello es necesario plantearlas no solo de manera correcta, sino también con fallos sintácticos y gramaticales porque a veces la gente por errores propios o las prisas hace búsquedas en las que altera el orden de las letras incluso.
Chema Alonso contaba con mucha gracia en una presentación la forma en la que Aura debe “adivinar” a veces el nombre de las películas que le piden o su capacidad para entender el nombre de los actores a pesar de la pronunciación que se hace de ellos.
El proceso de aprendizaje
Si este entendimiento no ocurre hay que corregirlo para que vaya aprendiendo. Se trata de asegurarnos de que, ante distintas maneras de hacer la misma pregunta, el chatbot contesta adecuadamente en todos los casos.
Por ejemplo, para la cuestión “No me funciona el certificado, ¿qué puedo hacer?” hay que trabajar con todas las posibles variables:
- Si el certificado no me funciona, ¿qué hago?
- ¿Q hago cuando no funciona el certificaod?
- El certificado va mal, qué hago?
Hay que contemplar las distintas formas de plantear una duda y comprobar que el chatbot devuelve la respuesta correcta, independientemente de la forma en que se plantee la cuestión.
Como eran doscientas preguntas las que abarcaba este proyecto piloto y no teníamos apenas tiempo, las repartimos entre el equipo. A mí me tocaron quince de ellas para entrenar al chatbot.
Una evolución exponencial de las interfaces hombre-máquina
Pues bien, me quedé sorprendido con la naturalidad con la que el chatbot iba respondiendo a la pregunta de forma correcta aunque ésta presentara variantes. En la mayoría de los casos las correcciones que había que hacerle eran nimias y enseguida nuestro amigo tenía pocos problemas para resolver la cuestión. Se quedaba atascado con pocas. Ahí era donde el equipo de desarrollo tenía que hacer algún ajuste.
Gracias al trabajo en equipo pudimos entregar el piloto a tiempo. El cliente no era muy partidario de la nube pero le gustó tanto cómo funcionaba nuestra propuesta que nos seleccionó para la siguiente fase.
Ahora estamos a la espera de seguir avanzando. El trabajo realizado nos ha hecho darnos cuenta de que el entendimiento del lenguaje humano cada vez está más avanzado y que las interfaces hombre-máquina van a evolucionar de una forma exponencial en los próximos años. Me atrevo a decir que la utilización del lenguaje natural será la forma habitual de comunicarnos con los dispositivos.
Imagen: Pixabay

Soluciones y Sectores
Te puede interesar
-
Entrevista a Alfonso Hernández-Maureta, CFO de Sincrolab
Sincrolab es una empresa de e-health que desarrolla tratamientos digitales de prescripción dirigidos a la recuperación y el desarrollo de las ...
-
La inteligencia artificial: ¿Una solución o un problema para el arbitraje deportivo?
La tecnología digital va transformando todos los ámbitos de la vida ¿Por qué no habría de hacerlo con el ...
-
Talent Day 2023: El año del bienestar emocional en las empresas
El pasado mes Telefónica participó en uno de los eventos de referencia en el ámbito de la gestión de ...