OVH NEWS | ACTUALIDAD, INNOVACIÓN Y TENDENCIAS IT


Descubrir, entender y adelantarse









05/06/2017
Compartir

Artículo redactado por Benjamin Coenen


[UX Labs] El chatbot de OVH: la inteligencia artificial al servicio de la experiencia del cliente


En el marco de los OVH UX Labs, un nuevo espacio colaborativo de I+D destinado a la mejora continua de la experiencia del cliente, tenemos el placer de presentar nuestro primer proyecto: el asistente virtual de OVH. Este chatbot, disponible en Facebook Messenger y Slack, es capaz de realizar un diagnóstico del alojamiento web del usuario y responder a una serie de preguntas relacionadas con dicho servicio. Pero esto no es más que el principio: ponemos a su disposición el código «open source» para que pueda ayudarnos a ampliar la cobertura funcional de nuestro chatbot.






El objetivo de este asistente virtual es reducir la frustración de los clientes ante determinados problemas (por ahora solo los relacionados con las soluciones de web hosting, aunque en el futuro, si el proyecto convence a los clientes, podría ampliarse a otras soluciones de OVH). De este modo, el usuario puede obtener un diagnóstico inmediato en caso de que su alojamiento deje de funcionar o haya un error en la configuración. Y todo ello sin necesidad de llamar al soporte ni de abrir un tíquet.

Para diseñar el chatbot, empezamos centrándonos en las principales causas de las llamadas de los clientes al equipo de soporte web. Como era de esperar, la causa más frecuente era: «Mi sitio web no funciona». Al estudiar con mayor profundidad este tipo de llamadas, pudimos establecer distintas categorías, con diferente nivel de complejidad. En algunos casos, el origen del problema era bastante simple y podía diagnosticarse automáticamente. En otros, era necesario desarrollar una inteligencia artificial capaz de identificar con precisión las causas del fallo. Así, tras unas preguntas, este asistente virtual puede detectar el origen del problema: desde un certificado SSL parcialmente configurado hasta problemas con la configuración DNS, pasando por errores de conexión a la base de datos. Próximamente, el chatbot de OVH también sabrá indicarle la tarea correspondiente a la resolución de una incidencia que afecte a una parte o la totalidad de la infraestructura de OVH.

¡Descubra en profundidad cómo funciona este chatbot!



Tecnologías utilizadas


Procesamiento del lenguaje
Para que nuestro chatbot pueda entender sus intenciones, tiene que realizar un procesamiento automático del lenguaje natural o PLN (del inglés Natural Language Processing). El PLN permite deducir la intención subyacente en una frase formulada en lenguaje humano. Para ello, hemos utilizado el servicio wit.ai, que, además de ser gratuito, dispone de una API REST (aunque existen otras alternativas, como api.ai, [url-"https://recast.ai/"]recast.ai[/url] o luis.ai, entre otras). Este motor PLN toma la frase introducida y elimina todas las palabras innecesarias para entender la intención, tales como determinantes, plurales, pronombres personales, etc. Una vez ha eliminado estos elementos, el sistema busca la intención entre las palabras restantes, basándose en un «catálogo de intenciones» que le hemos enseñado previamente. Así pues, para que la inteligencia artificial funcione correctamente, es necesaria una fase previa de aprendizaje. Por ejemplo: la intención de la frase «Mi sitio web no funciona» es «website_break». Este aprendizaje consiste simplemente en alimentar el motor de inteligencia artificial con distintos ejemplos de frases, asociándolos a la intención correspondiente.

Plataformas de comunicación
Ahora que nuestro chatbot «entiende» frases del lenguaje humano —o al menos es capaz de asociarlas a una intención— es el momento de proporcionarle un canal para que pueda comunicarse con los usuarios. Por su popularidad, la elección enseguida recae sobre Facebook Messenger, ya que ofrece una API HTTP para obtener distintos eventos, como la recepción o la lectura de un mensaje, la conexión... Estos eventos se recopilan gracias a un webhook HTTP que nosotros le proporcionamos al crear la aplicación Messenger en la interfaz para desarrolladores de Facebook Messenger. A continuación, las respuestas se envían mediante peticiones HTTP a la API de Messenger. La API de Slack, por su parte, tiene un funcionamiento similar, aunque difiere en algunos elementos relativos a la autenticación y los permisos de los equipos de Slack.

API
Para responder a los eventos enviados en los webhooks, necesitábamos una API HTTP, que desarrollamos en Node.Js con el framework Express.Js, y que se conecta a una base de datos MongoDB proporcionada por OVH en modo as a service. Cada plataforma de comunicación tiene rutas diferentes, que nosotros mismos indicamos en la interfaz para desarrolladores de Slack y Facebook Messenger. Cuando recibimos una frase, detectamos la intención mediante wit.ai y realizamos el tratamiento correspondiente, como puede ser buscar información en api.ovh.com. Todos nuestros logs se envían a Graylog a través del servicio Logs Data Platform que ofrece OVH. De esta forma, podemos monitorizar nuestros servicios para así detectar rápidamente posibles fallos o errores en nuestra API.

Un aspecto importante relativo de esta API es que, por razones de seguridad, Facebook y Slack exigen que el acceso a ella se realice a través de HTTPS. Para activar HTTPS, utilizamos otro servicio de OVH disponible en su versión beta: el SSL Gateway. Este servicio permite ahorrar un tiempo considerable, tanto en la implementación del SSL como en el posterior mantenimiento (renovación del certificado), ya que OVH se encarga de todo. Solo hay que indicarle una dirección IP y un dominio, ¡y listo! SSL Gateway le enviará por correo electrónico la información que deberá introducir en la zona DNS para poder comunicar con ese dominio por HTTPS.



El chatbot de OVH en «open source»... ¡ahora le toca a usted!


Utilizar un chatbot para enviar información o dar respuesta a determinadas preguntas abre un enorme abanico de posibilidades. Podemos imaginar y construir el proyecto que queramos, y nos gustaría desarrollar esas ideas con usted.

Por eso, tras haber refactorizado el código de algunas dependencias internas, ponemos a su disposición el código del chatbot de OVH en open source. Pero ¿qué tipo de contribuciones esperamos? ¿Cómo vamos a enriquecer este proyecto? ¡A continuación encontrará todas las respuestas!






Proyectos internos


Desde el lanzamiento del proyecto, hemos recopilado algunas ideas interesantes a nivel interno con el objetivo de ampliar la cobertura funcional y los usos del servicio. Próximamente, ofreceremos a los responsables de la mejora continua de cada universo de soluciones, que están en contacto permanente con los equipos de soporte técnico, la oportunidad de alimentar la base de datos de intenciones con las solicitudes más frecuentes de los usuarios, así como con las respuestas correspondientes a esas solicitudes.

A largo plazo, el chatbot estará disponible para todos los productos de OVH y, más allá del simple diagnóstico, ofrecerá la posibilidad de consultar una guía o un hilo en el foro de OVH en respuesta a una pregunta. Llegados a ese punto, el chatbot de OVH podría incluso sustituir al chat online disponible en el sitio web de OVH, que actualmente solo funciona con un número limitado de preguntas preestablecidas.

Asimismo, los customer advocates también barajan la posibilidad de utilizar la inteligencia artificial del chatbot para ofrecer un asesoramiento comercial básico basado en las necesidades de los clientes, como paso previo a la posibilidad de concertar una cita telefónica para proseguir la conversación con una persona.






¡Se aceptan contribuciones!


De forma paralela al trabajo de los equipos de OVH (que incluye además la implementación de un módulo de feedback en el chatbot, necesario para la evaluación y la mejora continua de la herramienta), nos gustaría recibir sus contribuciones. Hemos liberado el código del chatbot como open source con licencia BSD de 3 cláusulas para que usted pueda añadir intenciones y respuestas, así como ideas de diagnóstico. Y todo ello para cualquier servicio de OVH, gracias a la información disponible en la API de OVH. Así, si usted revende soluciones de OVH, podrá, por ejemplo, ofrecerle a sus clientes un asistente virtual de marca blanca, o incluso compartirlo con todo el mundo solicitando la incorporación de sus fragmentos de código a través de un pull-request en GitHub.

¡Pero eso no es todo! ¿Por qué no imaginar un sistema de monitorización o de alertas basado en el chatbot que le avise de que un disco se está quedando sin espacio o de una sobrecarga de CPU en el servidor? ¿Y si el chatbot estuviese disponible en nuevas aplicaciones como Twitter? ¡Sorpréndanos! Y si necesita ayuda para implementar su idea, ¡pregúntenos!



¿Desarrollar su propio chatbot?


Por último, el chatbot se ha diseñado a partir de componentes técnicos estandarizados disponibles en OVH (SSL Gateway, DBaaS, MongoDB, Logs Data Platform…). Próximamente, lanzaremos la versión beta de un componente que facilitará aún más el despliegue de su propio chatbot: «Fonction as a Service». Se trata de un servicio de procesamiento serverless, capaz de realizar cálculos bajo demanda en respuesta a determinados eventos, sin que usted tenga que preocuparse por los recursos subyacentes.

Esperamos entonces que muchos de nuestros clientes se animen a desplegar su propio chatbot, ya que, más allá del ruido generado (ya son muchos los que definen este fenómeno como una auténtica revolución en diversos ámbitos), hablamos de una potente herramienta, cuya ausencia de interfaz multiplica las posibilidades.