
Existe una tendencia en muchos comunicados sobre RPA a añadir las palabras “Inteligencia Artificial” (AI en inglés) en su mensaje, de tal manera que se podría pensar que un cierto proveedor de tecnología RPA incluye Inteligencia Artificial en sus productos.
Es cierto que ambas tecnologías se complementan bien y desde cualquier producto RPA se puede llamar fácilmente a un servicio externo de inteligencia artificial. Por ejemplo, ya existen múltiples robots que llaman a los servicios de Google Cloud Natural Language, IBM Watson o Microsoft Azure Text Analytics entre otras opciones.
Sin embargo, lo que realmente despertaba mi curiosidad era saber si los productos de RPA incluían o no algún tipo de inteligencia artificial por sí mismos (sin llamar a herramientas externas). Así que, después de leer multitud de artículos y visionar otros tantos vídeos de demonstraciones, he intentado separar la paja del grano e identificar lo que realmente incluyen los principales proveedores de RPA en sus productos.
Pero antes de nada, es necesario entender correctamente algunos términos básicos que se utilizan en este contexto.
Inteligencia Artificial
El diccionario de Oxford la define como:
Programa de computación diseñado para realizar determinadas operaciones que se consideran propias de la inteligencia humana.
Una de las herramientas más importantes que utiliza la Inteligencia Artificial para resolver estos problemas es Machine Learning (Auto Aprendizaje), que es una técnica por la cual los sistemas aprenden algo automáticamente a medida que se les va suministrando información. Para aprender se usan distintos métodos; probabilísticos, clasificadores (máquinas de vectores, vecino más cercano, árboles de decisión…), clustering, regresión, etc.
Otro término que suele aparecer es el de Computer Vision (Visión Artificial), que es una disciplina de la Inteligencia Artificial cuyo objetivo es que un sistema entienda y clasifique imágenes como lo haría una persona. Para ello se puede utilizar Machine Learning u otro tipo de técnicas.
De forma parecida, el Procesamiento de Lenguaje Natural (NLP en inglés), es otra disciplina de la Inteligencia Artificial cuyo objetivo es que un sistema entienda y procese el lenguaje humano. También se utilizan técnicas de Machine Learning para identificar la estructura, idioma o datos concretos. En este punto cabe destacar que solamente el 10% de los documentos de una empresa contienen lenguaje natural. La mayoría contienen un lenguaje más acotado según el tipo de negocio.
Como no puedo analizar todas las soluciones RPA del mercado, me he centrado en las más destacadas y empiezo por Kofax, que es la que mejor conozco.
Kofax
Kofax es especialista en automatizar procesos que conllevan la gestión de información contenida en documentos. Sus soluciones incluyen RPA, BPM, Captura de información multicanal, Firma electrónica, CCM y BI (Business Intelligence). Su solución de RPA incluye funcionalidad para clasificar todo tipo de documentos y extraer datos de los mismos. Esto permite a los robots tomar decisiones en base al contenido de la documentación que manejan. Kofax lleva usando Inteligencia Artificial en sus productos desde hace más de 15 años pero nunca hizo publicidad sobre ello.
La clasificación utiliza Machine Learning de tal forma que al producto se le dan muestras de un tipo documental y automáticamente genera una base de conocimiento en función de las similitudes que encuentra entre las muestras. Se hace lo mismo con cada tipo de documento. Como ejemplo, se puede utilizar esta función para clasificar todos los correos electrónicos recibidos y enrutarlos automáticamente al departamento adecuado (contabilidad, atención al cliente, soporte, etc.).
La extracción de datos también utiliza Machine Learning para saber dónde están los datos a extraer de cada documento y aprende a medida que pasa el tiempo. La mayor parte de documentación que trata Kofax es empresarial pero su función más avanzada incluye tecnología NLP para tratar lenguaje natural, extrayendo información en base a su contexto. En los proyectos más sencillos se extrae información de documentos estructurados como facturas, pedidos, dnis, contratos, etc y en los más complejos se trabaja con documentos no estructurados como hipotecas, escrituras, actas de reunión, etc.
Además de Machine Learning, Kofax dispone de un potente motor de reglas para complementar la clasificación y extracción de datos.
Para el control de la pantalla, los robots de Kofax tienen la opción de utilizar Intelligent Screen Automation (ISA), una técnica de Computer Vision que consiste en realizar una identificación de todos los objetos de la pantalla, así como un reconocimiento de todas las palabras que aparecen (OCR). Esto permite al robot moverse por la pantalla en base a un objeto (menú, botón, cuadro de texto, imagen, etc.) y a las palabras que lo rodean y no depender de la posición fija de cada objeto. Esto da mucha flexibilidad en producción, ya que no es obligatorio que las pantallas siempre sean exactamente iguales, con la misma resolución y aspecto. La identificación de los distintos tipos de objeto en pantalla se ha realizado utilizando técnicas de Machine Learning, enseñando al software cientos de pantallas de aplicaciones de ejemplo.
Blue Prism
Blue Prism fue uno de los pioneros de las soluciones RPA y, aunque va perdiendo mercado, sigue siendo una de las referencias del sector. Se pueden encontrar cientos de artículos de Blue Prism llamando a todo tipo de servicios externos de Inteligencia Artificial y el producto está preparado para comunicarse con los más conocidos (Google, Microsoft, etc.). Sin embargo, no he encontrado ninguna referencia que incluya algún tipo de funcionalidad de AI dentro del producto.
Recientemente Blue Prism anunciado la creación de un nuevo laboratorio dedicado a embeber capacidades de Inteligencia Artificial dentro de su producto.
En el artículo se destaca que la clave será incluir la posibilidad de entender datos de documentos en cualquier formato y utilizar Computer Vision para mejorar el diseño de robots cuando interactúan con el entorno, siguiendo las ideas mencionadas anteriormente.
UiPath
UiPath es una de las compañías que más ha crecido hasta el punto que muchos analistas (p.e. Forrester o Gartner) lo consideraron líder del sector durante el 2018. Merece la pena recordar que los analistas no valoran solamente la funcionalidad de los productos, que es lo que más me interesa personalmente, sino también parámetros empresariales como cobertura de mercado; industrias y geografías, número de referencias, estrategia, modelo comercial, etc.
En cuanto a funcionalidad, como el resto de proveedores, el producto se integra con prácticamente cualquier herramienta de Inteligencia Artificial externa. Además, hace unas semanas UiPath ha anunciado la posibilidad de automatizar pantallas utilizando Computer Vision: https://twitter.com/uipath/status/1086231426503106560. Esto permite a los robots no basarse en posiciones fijas en la pantalla.
Desafortunadamente UiPath utiliza herramientas externas para poder entender la información contenida en documentos y no parece que tenga planes en este sentido. Es el único en el que no he podido encontrar ningún plan para añadir funciones que permitan entender documentación.
Automation Anywhere
Automation Anywhere es el tercer gran referente del sector RPA y seguramente el líder en el mercado americano. Ofrece IQ Bot, que es una tecnología que permite extraer información de documentos utilizando técnicas de Inteligencia Artificial: https://www.automationanywhere.com/images/products/IQBotBrochure.pdf
Los mensajes que lanzan llevan mucha parte de marketing y es difícil saber exactamente qué técnicas utilizan, pero por los vídeos que he visto diría que usan Machine Learning para aprender dónde está la información en los documentos.
Sin embargo la funcionalidad parece bastante básica. No he visto ejemplos con documentos complejos (la mayoría de veces se capturan facturas, que es algo ya solucionado hace muchos años) y no parece que tengan posibilidades de capturar datos de documentos no estructurados (hipotecas, contratos, etc.). Tampoco he visto que se pueda complementar el aprendizaje con reglas de diseño (búsqueda por palabras clave, formatos o relación entre datos) o incluso crear plantillas fijas. Y no tengo muy claro si el Aprendizaje se ha de realizar antes de la puesta en marcha o tiene la posibilidad de hacer un aprendizaje online (lo ideal es disponer de ambas opciones).
Workfusion
La propuesta de Workfusion es muy similar a la de Kofax en el sentido de que además de un RPA tradicional la solución incluye Machine Learning para capturar información de documentos no estructurados, un gestor de workflow y herramientas de Análitica y Reporting. Workfusion es una empresa creada hace unos pocos años y que viene fundamentalmente del mundo de la inteligencia artificial.
Casi todas sus noticias públicas o vídeos tienen un alto componente de marketing. Pero estos dos artículos dan una buena idea de cómo funciona su solución principal (Workfusion SPA):
https://blog.workfusion.com/8-steps-to-supercharging-rpa-7b0982e4c7d3
https://blog.workfusion.com/5-top-questions-email-intake-processing-418ba7905e18
La idea de Workfusion sigue la línea de utilizar Machine Learning (con distintos algoritmos) para poder extraer información de documentos (estructurados y no estructurados) y que el robot pueda realizar una tarea u otra dependiendo de esta información. Los pasos utilizados para el aprendizaje son los conocidos (recopilación de muestras significativas, apoyo de un usuario para enseñar dónde están los datos y generación de la base de conocimiento). De lo que adolece la solución, desde mi punto de vista, es de complementar toda la parte de Inteligencia Artificial con un motor de reglas para poder implementar distintos casos uso que se presentan habitualmente en este tipo de proyectos.
Por otro lado, me ha sorprendido que, siendo especialistas en el mundo de la Inteligencia Artificial, todas sus referencias públicas hablan de capturar documentos que son muy sencillos. Como ejemplo, Workfusion realiza una competición (hackathon) entre sus partners para llevar su tecnología al máximo nivel y resulta que las dos ediciones realizadas se han basado en capturar información de facturas. Como ya he comentado en alguna ocasión, la captura de datos de facturas está solucionada desde hace más de 15 años. Esperaba haber encontrado algún caso de uso más complejo.
Otros
La mayoría de los proveedores de RPA están trabajando en sistemas que sean capaces de analizar el trabajo que hacen los usuarios para construir los robots automáticamente (o más fácilmente). Al principio la idea era bastante sencilla y se realizaba una grabación de una parte del trabajo del usuario y el robot se construía reproduciendo las tareas grabadas. Esto está muy bien para hacer una demonstración pero no es muy aplicable en producción porque los robots deben aprender a trabajar con las excepciones, por lo que se acaba necesitando una configuración manual.
Por ello ya existe alguna empresa hoy en día que está intentando aplicar Inteligencia Artificial a este fase de diseño, de tal forma que tras observar a un usuario durante días, el software determinará automáticamente todas decisiones que va tomando en función de los datos que aparecen en pantalla e implementará el robot teniendo en cuenta todas estas posibilidades. Suena un poco a ciencia ficción y parece ser que hoy en día esta solución funciona muy bien para crear robots que ejecuten lo que se llama el “happy path” o la tarea que el usuario realiza más frecuentemente pero sus diseñadores nos cuentan que todavía falta bastante para que reconozca correctamente las excepciones.
Conclusiones
No nos engañemos, los productos RPA tradicionales, que solamente imitan los movimientos de un usuario en un PC, no requieren tecnología de la NASA o programación muy compleja. Si se quiere elegir uno hay que tener muy en cuenta su arquitectura y escalabilidad. Y, sobre todo, lo que les proporciona un valor añadido es la posibilidad de entender la información que procesan porque permite automatizar muchos más procesos. La Inteligencia Artificial ayuda en esta parte y por eso vemos cada vez más publicidad en este sentido.
Este es el camino que están siguiendo los proveedores de RPA aunque, como hemos podido ver, a día de hoy existen diferencias significativas entre ellos. Mientras que Kofax lleva muchos años capturando información de documentos otros acaban de empezar, como Workfusion y Automation Anywhere, algunos ni siquiera han comenzado (Blue Prism) y otros se apoyan en herramientas de terceros (UiPath), lo que tiene muchas desventajas al depender de otras compañías (consultores distintos, mantenimientos distintos, licencias distintas, etc.)
Los primeros que llegaron al mercado son los que lo han copado, pero ya sabemos que, en tecnología, después de la fase inicial de desarrollo del negocio llega la fase de competencia (en la que estamos ahora, con soluciones apareciendo por todos lados) y posteriormente llega la fase de dominación con una o dos soluciones como líderes indiscutibles (que no siempre son las que empezaron). Nos quedan por ver unos años muy interesantes en el mundo RPA.
