Software
Innovación
Inteligencia artificial

Bots, ¿Profetas de una nueva era?

Con este artículo, se pretenden aclarar las siguientes cuestiones: ¿Qué es un bot?, ¿Por qué se está hablando tanto de ellos? y ¿Cuál será su papel en el futuro?

Si el año 2013 fue el año del Big Data, este 2016 ha sido el de los bots. Y es que han dado mucho de qué hablar, apareciendo incluso en medios tan importantes como "The Economist", generando una corriente a la que se han sumado todos los grandes de la industria tecnológica apresurándose a decir que son el futuro del desarrollo del software.

Fuente de la imagen

¿Qué es un bot?

Un bot (aféresis del término “robot”) es un programa capaz de automatizar tareas con cierta lógica e interactuando con el entorno.

Las funcionalidades de los bots van desde la realización de tareas básicas, como la automatización de tareas repetitivas, hasta otras más complejas que conllevan la toma de decisiones teniendo en cuenta filtros o parámetros que están incluidos en su código de programación. De este modo, los bots pueden utilizarse tanto como para hacer una reserva en un restaurante, como para obtener y procesar información de forma masiva o incluso entablar conversaciones con los usuarios de determinados servicios, siendo capaces de ayudarles a elegir la mejor opción y resolver sus dudas.

Siendo así, es importante enfatizar que un bot no siempre tiene por qué ir asociado al concepto de inteligencia artificial (AI), hay algunos que la usan y otros no. Hay bots que ejecutan trabajos en serie, como por ejemplo el rastreo de páginas web, y otros que van  mostrando una serie de opciones, en base a las decisiones que va tomando el usuario.

Bots, unos antiguos compañeros de viaje

La idea de crear bots, tiene más de 65 años. Todo empezó en 1950 cuando Alan Turing presentó lo que se conoce como el Test de Turing. Este consistía en que un humano interrogara a otro humano y también a una computadora a través de mensajes de texto. Si al acabar el interrogatorio, el interrogador no era capaz de distinguir al humano de la computadora,  se podía decir que la computadora había pasado el test y podía decirse que “era inteligente”.

Los dos primeros bots que estuvieron cerca de pasar este Test fueron ELIZA (1966) y PARRY (1972). Tras éstos vino Jabberwacky (1981) que fue el primero capaz de aprender de  las conversaciones que mantenía con los usuarios. Después de éste, ha habido muchos más que han dado paso a sistemas más sofisticados como Cleverbot.

De este modo, se puede decir que los bots están con nosotros desde hace bastante tiempo pero ¿por qué ahora son el foco de atención? Tres cosas son las que pueden responder está pregunta:

  • Mejora de la capacidad de computación & AI: en los últimos años la capacidad de proceso de los servidores ha aumentado exponencialmente, ésto, sumado a los grandes avances que se han producido en el área de la inteligencia artificial, ha hecho que ahora se disponga de muchos más recursos para el desarrollo de bots.
  • El incremento del tamaño del mercado potencial: hoy en día el tamaño del mercado disponible es enorme, y en cualquier momento surgen nuevos canales que dan acceso a millones de personas.
  • El mayor uso de las aplicaciones de mensajería: actualmente, la gente las ve como un medio de comunicación, más cómodo, confiable y no contaminado. Con estas aplicaciones, se obtienen muy buenos resultados de comunicación, y apenas se recibe spam.

Tipos de Bots

  • Chatbot o bot conversacional, están diseñados para mantener una conversación con humanos a través de un sistema de diálogos. Los más sofisticados utilizan sistemas de procesamiento  de lenguaje natural (NLP) y los más simples construyen sus respuestas en base a unas reglas. Se les suele dotar de una "personalidad" similar a la de un humano.

Ya mencionados con anterioridad, estarían ELIZA que es la madre de todos los bots y Cleverbot, uno los ejemplos más avanzados que utiliza una AI capaz de aprender de las interacciones con los humanos.

  • Crawlers, son bots que se utilizan para recolectar información de otras APIs o sitios webs.

Dentro de este grupo estarían las web crawler (araña web), programas encargados de rastrear las páginas web que visitan para ser procesadas por un motor de búsqueda que las indexa construyéndose así un sistema de búsquedas rápido. Los dos ejemplos más comunes de web crawler serían googlebot y bingbot.

Otros crawlers están pensados para monitorizar cambios en otros sistemas. Dentro de esta variedad encontramos:​

  • Los asistentes de precios que detectan e informan de cambios de precios en sitios web de ecommerce.
  • Y los alertbot que monitorizan el estado de un sitio web (tiempo de actividad, errores y problemas de rendimiento).
  • ​​​​​Bots transacionales, estos actúan como agentes en nombre de los seres humanos e  interactúan con sistemas externos para llevar a cabo una transacción específica, moviendo datos de una plataforma a otra. Este tipo de bots puede interactuar con cualquier API, pudiendo aportar soluciones más personalizadas.

X.ai es por ejemplo un bot que interactúa con las personas a través de correo electrónico para encontrar los horarios de reunión de los equipos distribuidos.

  • Bots informativos, ayudan a gestionar la información que se van publicando en los diferentes canales de información. Tanto TechCrunch y la CNN, disponen de un bot que informa de los canales de noticias disponibles y donde los usuarios puede gestionar de cuáles de ellos recibir notificaciones.
  • Game Bots, son bots contra los que se puede jugar. Detective, una variación del test de Turing, es un ejemplo de este tipo de bot. Otro tipo de bots incluidos dentro de esta categoría son los video game bots,  capaces de jugar por sí mismos en un videojuego. Los video game bots que hay en los CRPG (computer role-playing games) son particularmente conocidos ya que se requiere una gran capacidad de estrategia para ganarlos. Es muy habitual también usar estos bots en los juegos denominados "shooters", en los que sustituyen a un jugador humano.
  • Hackers Bots diseñados para distribuir malware aprovechando vulnerabilidades de seguridad. Su función principal es la de tomar el control de ordenadores y llevar a cabo actividades fraudulentas. Los ordenadores infectados se denominan zombies y las redes de ordenadores infectados, botnets. Este verano de 2016, DARPA celebró el concurso llamado Cyber Grand Challenge, con el objetivo de que grupos de investigadores desarrollaran bots de inteligencia artificial que fueran capaces de hackear diversos sistemas.
  • Scrapers Bots, se encargan de robar contenido de sitios web (direcciones de email, imágenes, texto, etc.).
  • Spambots, programas diseñados para el envío masivo de spam. Son capaces de crear cuentas de correo, por lo que ahora la mayoría de esos sitios cuentan con un paso adicional en el que el usuario debe escribir una palabra presentada en formato gráfico (captchas), algo muy difícil de interpretar para un bot tradicional. Aunque ya hay modelos de inteligencia artificial que pueden resolver estas medidas de protección.
  • Bots Imitadores, diseñados para imitar el comportamiento de una persona. Han sido utilizados para difundir propaganda política a través de Twitter o hacer ataques de denegación de servicio (DDoS).

En este punto conviene aclarar que programas como AlexaGoogle NowSIRICortanaM de Facebook o VIV, no son bots, son asistentes virtuales.  La diferencia entre ambos es que los asistentes son generalistas y los bots son especialistas, es decir están pensados para la realización de tareas muy concretas, de modo que los asistentes hacen uso de los bots para la realización de tareas más específicas.

Fuente de la imagen

¿Dónde viven los Bots?

Podemos encontrar bots en muchos sitios: internet (arañas web), aplicaciones de mensajería (Facebook Messenger, Slack, Skype, etc) y en redes internas (bots que monitorizan el estado de los sistemas). Sin embargo, actualmente, la industria está muy centrada en los chatbots para aplicaciones de mensajería, al margen de las tan conocidas redes sociales, puesto que se está viendo que su uso está creciendo exponencialmente.

 

Por otro lado, también se está viendo que el número de personas que las usa es muy grande. Alrededor de 2500 millones de personas tienen al menos una aplicación de mensajería en sus teléfonos móviles.

Debido a esto, los bots con mayor interés, dependen de las aplicaciones de mensajería, que están incluidas dentro de lo que se conoce como plataformas para bots. Algo se esquematiza en el siguiente gráfico:

 

Fuente de la imagen

Leyendo de izquierda a derecha, un usuario primero elige el modo de interaccióntexto, texto & voz o sólo voz. Éste dictaminará a que plataformas se tiene acceso. Por ejemplo, si el usuario sólo quiere interactuar vía voz, podrá interactuar con los asistentes Siri (Mac) o Alexa (Amazon). Sin embargo, si el usuario utiliza una aplicación de mensajería como Telegram, las posibilidades aumentan considerablemente y se enfrenta al problema de saber qué bot elegir. Para solventar esto, algunas plataformas, como Slack, tienen una tienda de bots o plataformas de distribución donde el usuario puede ver  los bots disponibles. También existen  tiendas de bots independientes como BotListChatBottle o Botpages.

Una vez elegido el bot, este se podrá desplegar en una o varias plataformas, según haya sido diseñado. De este modo, puede decirse que los bots viven en las plataformas donde pueden ser desplegados y así interactuar con los usuarios y realizar su trabajo.

Todo parece indicar que los bots serán el medio para que la gente haga todo tipo de cosas, sin tener que salir de las propias aplicaciones de mensajería.  Solamente en Facebook y Messenger hay ya más de 33.000 bots disponibles, por lo que hay y habrá una gran cantidad de bots disponibles para solventar las necesidades de los usuarios y dar servicios de todo tipo (ocio, gaming, moda, información, etc.).

Construyendo bots

Los bots se construyen utilizando los llamados Bot Frameworks, que permiten diseñar la estructura del bot, es decir, lo que sería el cuerpo, haciendo uso de los lenguajes de programación que soporten dichas plataformas.  

Para dotarlos de inteligencia, se utilizan la redes neurales (si se quiere construir una inteligencia "hand-made") o plataformas de inteligencia artificial (IA) existentes en el mercado.

El ensamblaje de la inteligencia dentro de la estructura del bot también se hace mediante  el lenguaje de programación que se haya escogido para construir el cuerpo del mismo.

IBM, MicrosoftFacebookGoogleOracle, Amazon y otras empresas, que han visto que los bots son una gran oportunidad de negocio, se han unido a la carrera para construir plataformas, herramientas y servicios de desarrollo y uso de los bots.

El siguiente gráfico resume la situación actual del ecosistema de los bots. En él puede verse que hay muchos agentes implicados, teniendo ya algunos de ellos una integración vertical, como por ejemplo Microsoft que dispone de una asistente virtual (Cortana), una aplicación de mensajería (Skype), plataformas de IA (LUIS & Cognitive Services) y un Bot Framework (Microsoft Bot Framework).

Todo esto viene a indicar, que se está haciendo una  gran apuesta en todo lo relacionado con los bots y que no parece que se trate de una moda o algo pasajero. Más bien tiene pinta de que han venido para quedarse y dar paso a una nueva era, joven, dinámica y llena de oportunidades, en la que va a cambiar la forma en que nos relacionamos con la tecnología, y  donde la anticipación, innovación, especificidad y capacidad de integración serán aspectos fundamentales.

 

Jesús Javier Moralo García

 Bioinformático y Máster en Big Data & Analytics por Datahack. Tiene más de 13 años de experiencia en el uso de las TI para la gestión, análisis e integración de datos. Ha trabajado tanto en la empresa privada como en instituciones científicas como el CSIC. Actualmente trabaja como Data Creative en Datahack. Madrid, España.



Revistas Digitales

DealerWorld Digital

 

También es noticia...

ciberseguridad Ciberseguridad

Documentos Computerworld

Registro:

Eventos: