La automatización robótica de procesos y los asistentes conversacionales tienen un fin común: aumentar la productividad del trabajador. Pero, ¿cuáles son las principales tecnologías utilizadas para el desarrollo de cada una de las soluciones?
En este artículo revisaremos qué tecnologías se usan en el desarrollo de la automatización de procesos con asistentes conversacionales (chatbots).
Tecnologías para el desarrollo de asistentes conversacionales
Para el desarrollo de asistentes conversacionales, una de las principales piezas de la arquitectura consiste en el motor NLP, utilizado para llevar a cabo el procesamiento del lenguaje natural.
Actualmente, existe un gran abanico de opciones en el mercado con grandes participantes, entre los que se encuentran:
Watson Assistant
Es un servicio cloud ofrecido por IBM para llevar a cabo el procesamiento del lenguaje natural. Este motor de NLP ofrece la inteligencia al chatbot para entender al usuario y saber cuál es su intención. Esto es esencial para que el chatbot pueda responder correctamente y ofrecer la solución esperada.
Watson Assistant destaca por ofrecer un flujo de trabajo usable y productivo de cara al desarrollador y, además, permite modular el diálogo y estructurarlo según las posibles intenciones del usuario.
Este servicio es recomendado como opción para el desarrollo de chatbots industriales, con diálogos de alta complejidad y un alto número de nodos, profundidad y grado de ramificación.
Google Dialogflow
Es el servicio que ofrece Google para la implantación de NLP. Destaca por la facilidad para integrarse con varios canales de mensajería y la interfaz de usuario. Incluye integraciones con Google Assistant, Facebook Messenger, Hangouts Chat y Telegram, entre otras. La gestión incorporada de diálogos multidioma es un punto a favor, también, lo que puede suponer una ventaja de cara a la escalabilidad y modularidad “orgánica” de una gran solución semántica empresarial.
Arquitectura de los chatbots
Además, del motor NLP, otra de las piezas importantes dentro de la arquitectura de un asistente es la interfaz de usuario, software que consta de los elementos que permiten la interacción entre el ser humano y el ordenador o dispositivo que estemos utilizando. Para ello, se puede desarrollar un componente de chat web desde cero o utilizar algunos de los canales como son Microsoft Teams, Telegram, Google Assistant y, a partir de las especificaciones dictadas por cada plataforma, conectarlo con el propio motor conversacional.
Llegados a este punto, tendríamos un asistente con el que poder comunicarnos como humanos (a través de la interfaz de usuario) y recibir respuestas usando el motor conversacional NLP, para poder tener conversaciones con un bot que satisfagan las necesidades que puedan solucionarse verbalmente con Q & A.
Pero, uno de los desafíos actuales en la mejora de los asistentes conversacionales es conseguir que, más allá de tener conversaciones fluidas con humanos, puedan ayudar a satisfacer necesidades de operatividad inmediata.
El uso de la dupla interfaz de usuario y motor NLP queda limitado, por lo que es necesario llevar a cabo la incorporación de una nueva pieza que pueda manejar el flujo de datos interno de nuestro chatbot y, además, sea capaz de interactuar con sistemas externos a él. A esta tercera pieza, la llamamos orquestador, y es una solución conveniente y viable que ha demostrado su eficacia para potenciar la utilidad de los chatbots.
¿Qué es el orquestador?
El orquestador hace de middleware o software de backend, que puede ser desarrollado en cualquiera de los lenguajes de programación más conocidos. Se encarga del flujo de información en ambos sentidos entre la interfaz de usuario (frontend) y el motor conversacional (NLP).
Entonces, la arquitectura de un chatbot queda conformada por:
- El motor NLP, bloque de gestión de la conversación y de la inteligencia del chatbot.
- La interfaz de usuario, constituyendo el bloque de entrada y salida de la información.
- El orquestador, bloque de gestión de mensajes, capaz de ampliar la conversación y aportar conexión con otros sistemas empresariales, bases de datos o servicios de terceros.
Tecnologías para el desarrollo de RPA
Un proceso RPA (Robotic Process Automation, por sus siglas en inglés) o robot RPA es un programa capaz de ejecutar el proceso o tarea de trabajo que realiza una persona con una o con varias aplicaciones. Para ello, genera una rutina en la que se almacenan todas las iteraciones que realiza el operador humano con los distintos interfaces implicados.
La implementación de RPA puede suponer una revolución en las empresas, gracias a que provee la habilidad de reducir los costes de trabajadores y el error humano.
TOP 5 soluciones de RPA (que no conocías)
- Extracción de datos de distintos formatos y adaptabilidad a todos tus sistemas
- Soluciones automatizadas en finanzas y contabilidad
- Reclutar trabajadores valiosos en pocos clics
- Revoluciona la atención al cliente
- Programación de citas
Ahora bien, ¿qué software nos permiten llevar a cabo estas soluciones automatizadas? Actualmente, existen diferentes plataformas que ofrecen servicios para el desarrollo de RPA:
Uipath
UiPath es una herramienta de RPA que se utiliza para automatizaciones de escritorio en Windows. Es una de las tecnologías más punteras para el desarrollo de este tipo de robots y, por ello, tiene unas características diferenciales de cara al resto de competidores. Por un lado, la alta capacidad para automatizar procesos complejos, manteniendo siempre los niveles y riesgos de seguridad. Por otro lado, ofrece la opción de desarrollar bots tanto atendidos como desatendidos, además de funcionar con todas las tecnologías de otros proveedores, como Microsoft, Java, SAP, Oracle, etc.
También destaca por su agilidad para el desarrollo de soluciones, más rápido que el software de la competencia. Y, por último, ofrece escalabilidad, ya que es extensible y modulable. Asimismo, permite que se desarrolle tanto en entornos cloud como on-premise.
Uipath ofrece dos componentes principales para llevar a cabo el desarrollo, despliegue y monitorización de la solución: Uipath Studio y Uipath Orchestrator.
UiPath Studio
Es el editor visual que permite construir y diseñar el cuadro de mando sobre el que funcionarán los robots de software. Gracias a la versatilidad de la herramienta, que funciona con el conocido drag and drop (arrastrar y soltar), podrá enviar órdenes y dirigir los bots durante la automatización de procesos. Ofrece las siguientes funcionalidades:
- Workflows o flujos de trabajo: Permite desarrollar workflows complejos y únicos, por lo que los diseñadores podrán incorporar códigos personalizados VB.Net, Python, JavaScript, AutoHotkey y JAVA directamente en el flujo de trabajo.
- Documentado de reglas: El motor de flujo de trabajo documenta, de forma visual, las reglas por las que se rige el proceso de negocio, por lo que se hace más fácil el traspaso de conocimiento y la verificación de errores.
- Modelo intuitivo: Realiza un mapeo de todos los procesos, simplificando el entrenamiento, acelerando el modelado y, por tanto, la automatización de procesos.
- Herramienta de depuración: Permite analizar los procesos automatizados mediante la ejecución de procesos visuales, por lo que tendrá mayor control sobre las entradas y salidas, así como la posibilidad de señalar los puntos de interrupción.
UiPath Orchestrator
Plataforma de control de los robots de software que permite gestionar procesos, llevar un registro centralizado, realizar informes y auditorías, además de herramientas de supervisión y control de los robots. Además, permite:
- Monitorizar el rendimiento de los robots
- Llevar un control remoto
- Ofrece seguridad y acceso a los datos
- Permite la integración con otros sistemas vía API
- Permite llevar un seguimiento, registro y auditoría de los bots
IBM Robotic Process Automation
Robotic Process Automation es una tecnología que tiene como objetivo automatizar tareas de oficina de fondo repetitivas y que requieren mucho tiempo utilizando robots de software que pueden emular acciones humanas en un sistema. Los escenarios RPA van desde la apertura de un archivo hasta el despliegue de miles de bots. RPA mejora la productividad, la conformidad, la experiencia del cliente y del empleado, junto con la reducción de errores.
La solución de IBM para el desarrollo de RPA ofrece las siguientes prestaciones:
- Grabador que observa las entradas y las convierte en acciones de mandatos en diversas aplicaciones como, por ejemplo, Windows™, Java™y SAP™.
- Soporte para ejecutar scripts como JavaScript, script de Windows™ y script R.
- Capacidad para planificar bots, llamarlos a través de la API o lanzarlos bajo demanda.
- Aplicación de creación de código bajo para desarrollar bots en una interfaz gráfica arrastrando mandatos al script o codificando con el lenguaje de creación de scripts.
- Opciones de despliegue como en local, basado en contenedor o en cloud con la oferta SaaS.
- Ejecución simultánea de bots para aumentar la escalabilidad y ejecutar varios bots en el mismo host virtual.
La arquitectura de IBM RPA gira en torno a un cliente y un servidor. Sus componentes principales para el servidor y el cliente de IBM RPA se ven en la siguiente imagen:
Conclusión
Estas son las tecnologías de alta complejidad que se utilizan para la creación de soluciones de automatización robótica de procesos para agilizar y optimizar diversas operaciones empresariales. Si quieres implementar mejoras en tu empresa a través de la RPA, envíanos un mensaje: somos expertos en la creación y desarrollo de automatizaciones para soluciones operativas.