Fundada en 2006 por cuatro MVP de Microsoft, Plain Concepts cuenta con más de 350 colaboradores. Su éxito se basa en la retención y captación del talento con el que consiguen desarrollar soluciones personalizadas, innovadoras y atractivas de Inteligencia Artificial, realidad aumentada, blockchain, Big Data, desarrollo web, cloud o IoT. Hablamos con Eduardo Matallanas, AI Team Lead at Plain Concepts UK sobre lo que aporta la IA, la robotización y el RPA.
Cuando se habla de IA y robotización normalmente no se asocia al mundo del software, ¿qué están aportando ambas al mundo del software?
Tradicionalmente ambos términos se han asociado con la robótica más tradicional debido a la fuerte relación existente de la creación de máquinas que puedan interactuar con los humanos de manera autónoma. Sin embargo, a raíz de los diferentes avances del software y de la potencia de los ordenadores personales, se ha encontrado una oportunidad en la utilización de programas que ayuden a las personas a librarse de trabajos repetitivos y monótonos.
Hoy en día cada vez es mayor la cantidad de datos que se generan, lo cual hace imposible que una persona pueda llegar a procesar todo. Es aquí donde los RPAs pueden ayudar a automatizar un procesado de los datos tanto en su recogida como en su procesamiento para disponibilizarlo a las personas implicadas y mejorar la calidad del trabajo. Los RPAs no dejan de ser programas que automatizan tareas ahorrando tiempo, escalando el procesamiento de los datos y reduciendo los errores.
Sin embargo, en el tratamiento de los datos, nuevas técnicas se están utilizando como la IA. En este sentido, la inteligencia artificial aporta una nueva manera de tratar nuestros datos, pero desde una perspectiva diferente. Por ejemplo, en el uso de reconocimiento de imágenes para la detección de anomalías o en la extracción de conocimiento de documentos para establecer una base de datos de conocimiento. Sobre esto la IA tiene mucho que aportar aún pues los diferentes sectores están comenzando a introducirla en sus procesos, pero los resultados son cada vez mejores y aselaran cada vez más procesos costosos en tiempo y recursos.
¿Qué ventajas tienen tecnologías como RPA para las empresas?
Hoy en día aún sigue habiendo muchos procesos que no están ni siquiera digitalizados dentro de las grandes las empresas. Lo cual hace pensar que estos procesos, aunque funcionen actualmente tienen mucho margen de mejora y es aquí donde encajan perfectamente los procesos de RPA en los que no sólo se mejora el proceso haciéndolo automático y eliminando procesos repetitivos, sino que también mejora la escalabilidad y flexibilidad ahorrando tiempo y recursos para ello. Una gran ventaja de este tipo de procesos es que se puede auditar y monitorizar para ver donde se están produciendo los fallos en todo momento.
¿Cuáles son los desafíos que van a tener la IA y RPA en el mundo de la programación?
Hoy en día las empresas se enfrentan a un gran reto, la transformación digital de sus procesos. Debido a que estos procesos cada vez son más digitales el mundo de la programación se ha hecho hueco en sectores hasta ahora impensables. Es por ello que uno de los primeros retos a los que se enfrentaran es la modernización de las técnicas antiguas, como por ejemplo estructuras de datos, lenguajes de programación, etc. Otro desafío al que se enfrentarán es hacer más transparente el uso de estas tecnologías, por ejemplo, en Inteligencia Artificial se solía decir que eran modelos de caja negra porque no se veía lo que había dentro, pero cada vez son más las herramientas que tratan de explicarlo. Otro reto al que se enfrentarán estas tecnologías es la formación a nuevos programadores, ya no sólo hace falta saber de datos y estructuras sino también matemáticas y estadística para según el puesto que desempeñen.
¿En qué mejora la Inteligencia Artificial a la RPA?
Para mí punto de vista una no mejora a la otro, sino que se complementan, realmente los RPAs son automatizaciones de las tareas por lo que se pueden utilizar estos para traer todos los datos necesarios por un modelo y luego a partir de ahí explotarlo de una determinada manera utilizando técnicas basadas en IA. Si queremos ver las ventajas del uso de la IA es que pueden aprender del entorno, tienen una alta tolerancia a fallos y resilencia, suelen ser algoritmos distribuidos por lo que funcionan en entornos donde las condiciones sean similares. Sin embargo, los RPAs están muy enfocados al proceso que se automatiza y en caso de no ser igual, hay que modificarlo para que encaje.
El procesamiento del lenguaje natural es donde más se ha avanzado en IA para automatización de procesos, ¿qué otras tendencias están más desarrolladas?
Creo que el procesamiento del lenguaje se está empezando a adoptar ahora como una tendencia más extendida y madura puesto que nadie había reparado en que la extracción de conocimiento de documentos se automatizara. Pero la IA lleva bastante tiempo entre nosotros, por ejemplo, ya son muchos los asistentes virtuales de diferentes compañías que nos atienden en ventana única gracias a tecnología NLU (Natural Language Understanding). También hay que decir que ha desarrollado bastante en el ámbito de la visión por computador, no sólo para desarrollar vehículos autónomos sino también para reconocer patrones de consumo en tiendas o incluso reconocer las emociones de una persona en un vídeo. De hecho, también se pueden utilizar este tipo de tecnologías para el mantenimiento predictivo de instalaciones mediante la observación en el cambio de los diferentes estados de los elementos que se estén viendo como por ejemplo manómetros.
Los asistentes de programación inteligente empiezan a ser cada vez, más comunes, ¿cómo va a transformarse la labor del programador?
En este caso está claro que al igual que ha pasado en otros sectores, la democratización de las tecnologías avanza y es cada vez mayor su penetración. Esta aproximación es perfecta para que personas con pocos conocimientos puedan utilizar la tecnología para su propósito, hacer un prototipo rápido y comprobar que funciona. Sin embargo, cuando necesitamos que algo esté en producción es necesario mirar todos los detalles de la implementación y es aquí donde los programadores tienen mucho que decir. Ellos tienen que seguir mejorando que estos productos ofrezcan a los usuarios lo que necesitan, pero además deben ser capaces de aportar su expertise para poder materializar correctamente el código necesario. Además, con el paso del tiempo y cuando estas herramientas alcancen madurez, serán los desarrolladores quienes programarán lo necesario para que estos bloques de construcción cumplan con su cometido.
Tecnologías como low code o no code prometen transformar todavía más la automatización de procesos ¿qué aportarán este tipo de herramientas de desarrollo?
Básicamente estas herramientas permiten a cualquiera que no tenga amplios conocimientos de programación que desarrollen una aplicación que cumpla con lo que ellos necesitan. Además, bajo mi punto de vista, pueden cumplir una labor educativa que enseñe a los programadores del futuro, puesto que para edades tempranas se puede interpretar como un juego que despierte su curiosidad hacia estas prácticas. Lo bueno de estas tecnologías es que permiten hacer algo rápido y sencillo y que hace que haya menos errores puesto que la implementación ya se asegura que eso esté bien. El problema muchas veces radica cuando se quiere entrar a modificar o falta alguna implementación, pero para ello se puede utilizar a un experto que implemente nuevos bloques.
A la hora del desarrollo de aplicaciones una clave está en la depuración de errores, ¿ la inteligencia artificial hace más sencilla y efectiva esta depuración?
En este sentido la IA no deja de ser un programa implementado por programadores por lo que tampoco está libre de errores. Sin embargo, existen múltiples frameworks que hace que no tengas que implementar algoritmos en los que son fáciles que existan bugs u otros errores. Por lo que facilita bastante que haya mantenimiento de dichos frameworks al haber toda una comunidad detrás de ellos. Sin embargo, si hablamos de depuración de errores en cuanto a resultados, hay que tener en cuenta que primero hay que entender qué es lo que estamos implementando. Por ejemplo, si queremos crear un modelo de abandono para un negocio, habrá que tener en cuenta las relaciones entre las variables del modelo y cuál es la mejor estrategia para implementarlo, por lo que hay que saber con mayor detalle qué es lo que el modelo nos devolverá.
Si la seguridad es de por si un reto, ¿cómo se afronta éste en entornos automatizados?
El tema de la seguridad es muy importante, pero lo bueno de entornos automatizados es que son deterministas. Esta característica hace que sean más fáciles de auditar puesto que al saber cuál debe ser el resultado de una tarea, en cuanto hay una desviación de esta o un resultado diferente, se puede levantar una alarma que avise de dicho fallo. También gracias a esto, podemos realizar pruebas o chequeos sobre nuestros procesos para ver cómo de sanos están y si vemos que no responden, cómo deberían substituirlos o tratar de arreglarlos. Esto añade una capa de mantenimiento que hace que los sistemas se comporten de manera más robusta.
¿Son más seguros los sistemas guiados por IA?
Una herramienta de IA puede ser más segura siempre que se tenga sobre ella un conocimiento de lo que está respondiendo es correcto. Para ello cada cierto tiempo se evalúa la respuesta del modelo tanto para datos nuevos como para un dataset del cuál se sabe la respuesta correcta de antemano, de esta manera sabemos si lo que un día se entrenó sigue siendo válido o si es necesario reentrenar para que conteste adecuadamente. Diría que una herramienta de IA puede ser más segura siempre que se monitorice su respuesta y se establezcan reglas para poder mejorar la respuesta para las nuevas situaciones. Además, muchos de los algoritmos incluyen ciertas redundancias internas para poder seguir contestando de una manera correcta a pesar de fallos en otras partes de los modelos.
¿Cuánto queda para ver una herramienta de programación totalmente autónoma?
Esto yo creo que ya está aquí, ahora mismo el piloto automático de Tesla es una realidad, los asistentes a la conducción de los camiones o los drones autónomos. Aunque aún no sean del todo accesibles con carácter general, esta es una realidad y ya queda poco para que todos podamos disfrutar de ella.