Robotic Process Automation — a top-down view
An introduction to concepts of RPA with AI
This is in continuation to my previous write-up on Artificial Intelligence. Robots are machines deployed to handle Motion and Manipulation — while science fiction movies show us human-like machines, real applications can be seen as robotic arms working on an assembly line, or even as drones or driverless cars that help us move or take action.
RPA or Robotic Process Automation is achieved by the software version of a humanoid robot. Such software bots are used to mimic what a human user would do on their computer systems, such as viewing the computer screen, clicking the mouse, or typing on the keyboard. Such interactions with the user interface could be done by a software robot without a face or limbs.
Robotic — mimic human actions, Process — a sequence of steps, Automation — without human intervention.
How does RPA work?
Early-stage automation on computer interfaces included record and playback of a series of keystrokes and mouse clicks — called macros. Some of the GUI (graphical user interface) based testing tools could also double up to achieve simple automation. We also have screen scraping tools to extract contents from the display. The advantage of such tools is that they could be quite fast and do repetitive tasks. However, many of these techniques were based on the screen coordinates, and hence any change to screen size or aspect ratio would mess the whole process. We also had to keep the window open (not minimised) and the screen unlocked — essentially not allowing the user to do any other activity in parallel.
RPA these days identify the images and controls on the screen (text fields, buttons, dropdown lists, toggles, etc.) and work even if the screen size or layout changes or fields are moved around or even across device or screen types (laptop, tablet, smartphone, responsive displays). RPA can also perform tasks in the background even if the computer is locked or the window is at the back or minimised.
Apart from the UI (user interface), RPA can also act on APIs (application programming interface), OS (Operating Systems) and DB (Database) layers of the system. They are built to handle rules and workflows and can take care of complete processes of the enterprise, not just tasks. To some extent, they can even adapt to changes in the environment.
RPA tools come with the ability to record and edit processes, drag and drop options, and wizards to easily create software bots and workflows integrating multiple bots. We can also include existing scripts and automation into the process. They may have different components to build bots, run bots, and to orchestrate bot schedules across systems.
RPA providers may even have add-on tools, such as a recorder that can run on a user’s desktop and identify frequently occurring task sequences to help identify automation opportunities. Using audit logs to accomplish this is called Process Mining, and having further algorithms to automatically recommend workflows is known as Process Discovery. They may also have tools to log data to gain operational insights and even run business analytics. Leading RPA tools also have integration with 3rd party bots including those that support AI and ML models.
Some of the popular RPA tools include Automation Anywhere, UiPath, and BluePrism. Many others may have started with a niche area, but are rapidly adding features to catch up with market share.
Use Cases and Benefits
To achieve tangible benefits from RPA …
• Tasks must be structured, consistent, and repeatable
• Processes need to be stable, driven by rules and workflows
• Ideally initiated by digital triggers based on data and systems
• Also, high volume processes are best suited
Given below are some typical use cases for RPA …
The term data has grown to include documents, images, system log files, call recordings, chat transcripts, social media feed, etc. Today’s RPA can work on most of these data across systems. For example, we can generate support tickets with the data from calls.
While a support agent is on a call with the customer, RPA can also pull up relevant information from multiple systems. This is often referred to as swivel chair automation — as if a human is sitting on a swivel chair and going from one system to another.
RPA also allows data to be handled in and between multiple applications, supporting straight-through processing — with minimal human interventions. For example, receiving e-mails containing an invoice, extracting the data, updating that into the billing system, initiating payment, and confirming the process completion via e-mail.
Benefits of RPA include
• Improved productivity and cycle time
• Better accuracy and quality of data
• Compliance to standard operating procedures
• Good visibility and traceability with audit logs
• Collection of data for reporting, knowledge and insights
• Non-invasive and easy to integrate into existing systems
• Easily scalable and redistributable
• Lesser dependency on IT teams
• Reduced workload, costs and improved margins
• Let employees focus on value-added activities requiring judgement, creativity and empathy instead of repetitive and mundane jobs
However, we need to be mindful that automating a broken process, could only speed up getting from bad to worse.
The effort saved by RPA could be a few seconds for a task, or a few minutes for a process, but if such tasks or processes get executed several times, across users or devices, the benefits can get tangible. Most RPA come with a tool or model to measure their Return on Investment (ROI). Keep in mind that there will be effort needed to set up, maintain, monitor and troubleshoot RPA too.
Variations and Advancements:
The simpler or stand-alone version is what is known as Robotic Desktop Automation. RDA acts as a virtual assistant on a desktop which may include prompts to and triggers from a human user. Some may also call this attended or assisted automation.
RPA, on the other hand, acts as a virtual worker handling end-to-end processes across systems and is capable of running 24x7 based on data or system triggers. This can be unattended or unassisted automation and sometimes referred to as RPA 2.0, that totally free up the user for other work.
Latest RPA software comes bundled with multiple facets of AI (Artificial Intelligence), such as Perception, especially around Computer Vision, Natural Language Processing (NLP), Knowledge Representation and Machine Learning (ML).
Optical Character Recognition (OCR) is a common method to read PDF and scanned documents. ICR (Intelligent CR) is an advanced version on Neural-Nets. Image Recognition works by matching pixels and can be used to locate a button or an icon on a screen.
Expert Systems are computer systems that emulate the decision-making ability of a human expert, typically having their own body of knowledge stored as if-then-else rules or more complex knowledge models.
Chatbots provide automated responses to user enquiries based on keywords and user selections; some have better NLP capabilities. They may also be capable of forwarding complex queries to human agents. Voice-based assistants such as Alexa, Siri, Google Home and Cortana are popular among consumers. Amelia by IPSoft and Erica by Bank of America are other digital assistants.
Cobots are bots working collaboratively with human interaction, serving up suggestions in real-time and learning from human input. This term is more often used in physical robots than software bots. In the digital world, this could be referred to as Augmentation instead of Automation.
Intelligent Automation (IA) or Intelligence Process Automation (IPA) are terms used to describe scenarios where Machine Learning (ML) and other components of Artificial Intelligence (AI) as described above are used to augment RPA for better accuracy, prediction, decision making, and support for an end-to-end automation journey. Other terms including Cognitive Automation and Hyper-Automation have also been used.
The combination of Automation, Artificial Intelligence and Analytics — the 3As is another buzz word in the industry these days. With the inclusion of AI models and the ability to generate their own analytics, RPA tools could be leading this wave.
There are various maturity models available for RPA or Automation in general, and one may need to assess the ROI before investing.
The range of capabilities have expanded significantly in recent times, but we are yet to see the best out of RPA including the potential to learn on their own, be context-aware, or auto-adapt to changes in their environment.