lunes, 25 de junio de 2018

¿Qué son los chatbots?


En el actual panorama de creciente automatización de procesos, de creciente sustitución de personas por robots (físicos o de software) y creciente también, uso de inteligencia como parte del software, una de las áreas de trabajo más activas es lo que se denomina familiarmente chatbots.

Unas piezas de sofware que emulan hasta cierto punto la conversación con un ser humano, en algunos casos sobre las aplicaciones de mensajería (Facebook Messenger, Slack y similares), en otros casos sobre soportes más tradicionales como los SMS o los correos electrónicos y en otras, en fin, haciendo uso avanzado de técnicas de inteligencia artificial como el procesamiento del lenguaje natural y el reconocimiento y síntesis de voz como podemos ver en Siri, Cortana, Alexa y en dispositivos para el hogar como Google Home o Amazon echo.

Para explorar el tema de los chatbots, acudo al libro de  Amir Shevat, titulado 'Designing bots: creating conversational experiences'. Y, empezando por el principio, me encuentro con una definición de qué son esos bots. Dice así:

At a very basic level, bots are a new user interface. This new user interface lets users interact with services and brands using their favorite messaging apps. Bots are a new way to expose software services through a conversational interface. Bots are also referred to as chatbots, conversational agents, conversational interfaces, chat agents and more. 

Algunas cosas a destacar. Por un lado, existen unos bots más complejos que otros pero, en cualquier caso, tienen un ámbito relativamente acotado: el servir de interfaz con humanos. Es decir, no se trata de robots de propósito general sino que su objetivo es 'sólo' dialogar con seres humanos (para ofrecer información, recibir instrucciones, etc). 

En general, estos chatbots deben luego interactuar con otro software que actua como 'backoffice' y que es el encargado de proporcionar los servicios propiamente dichos. Es decir, los chatbots son una forma de interfaz de usuario, de exponer unos servicios subyacentes, pero no son esos servicios.

Lo diferencial frente a otras formas de interfaz es que nos hallamos ante una interfaz de naturaleza conversacional, dialogada, lo que aporta mucha naturalidad a la interacción de cara a las personas, pero a cambio de exigir del bot una cierta sofisticación que le permita mantener esa conversación, entender el lenguaje natural y reaccionar ante imprevistos y comportamientos inesperados por parte del humano.

Esa capacidad de mantener un diálogo más o menos natural les proporciona a los chatbots una apariencia de inteligencia. En algún caso, de hecho, se apoyan en tecnología de inteligencia artificial pero también hay casos muchísimo más sencillos y que utilicen algoritmos mucho más prosaicos.

Nos quedamos, pues, con los chatbots como un sofware de interfaz de usuario de naturaleza conversacional. En próximos posts, hablaremos un poco más de esos chatbots.