Artificial Intelligence and Robotic Process Automation


In its simplest form, machine learning is the ability of machines to learn from past experiences using historical data (supervised and semi-supervised cases) to solve a given problem. It uses different algorithms to realize one or more (mathematical) models that act as a baseline for producing the desired result set while consuming input data parameters (dimensions). This is the fundamental difference from any computer program where instead of programmatic implementation of a logic or algorithm a trained model is used to produce the output.

By combining RPA with cognitive technologies such as machine learning, speech recognition, and natural language processing, companies can automate higher-order tasks with AI assist that in the past required the perceptual and judgment capabilities of humans.

Document Structure

This article is divided into 4 main sections;

  • The first section talks a little bit about process automation and its advantages.
  • In the second section, I describe how AI/ML can be leveraged to improve user experience.
  • The third section is mainly the representation of design concepts and narrative on technologies, touching upon some of the best practices.
  • Lastly, an example case showing the merits of this union (between RPA and AI) is mentioned in the fourth section.

1. Process Automation

Companies adequately understand that increasing business efficiency and employee productivity is of supreme importance to thriving in a highly-competitive digital environment. Any process can be automated as long as there is a clear operating procedure available.

“Going from manual to auto-drive” —

There were times when software scripts for (semi-automatically) doing a mundane routine, such as network provisioning, system administration, etc. were highly sought for increasing operational efficiency. Though there was a human involved in administering those tasks, yet the benefits of the software approach became apparent quite rapidly and it started to gain popularity around the industry. With the evolution in system design, mainly the trend shift towards service-oriented architecture (SOA), systems get bigger and more complicated. Various modes of integration with external and/or internal services started to emerge, creating more demand for Orchestration and Automation for flawless execution.

Leveraging low-level knowledge of application engineering as well as access to different tools and application interfaces, software modules were created for tasks blueprint, so that those tasks can be triggered on-demand or at the predefined schedule as a software routine without involving a human.

Benefits of Process Automation

Companies are beginning to understand that increasing business efficiency and employee productivity is of supreme importance to thrive in a highly-competitive digital environment.

Automation through software is of utmost importance for corporations to stay competitive and achieve operational excellence by meeting (or surpassing) Service Level Agreements (SLAs). Harnessing the power of so-called software robots, these engineering companies have opened up new avenues for process engineering in the IT industry. Information processing mechanisms are now created considering RPA as a viable and more reachable option than ever before.

Incorporating AI in Process Automation

For the success of the project, it is imperative to clearly identify and understand the mechanics behind a successful realization of RPA in the presence of an AI-driven strategy. RPA systems where AI is considered as centerstage requires a fundamental understanding of how both technologies co-exits in a collaborative manner. Design constructs from both angles need to be clearly defined before going into the implementation phase.

Taking a holistic perspective, historical data for model training is inevitable. Besides, other aspects such as actors, trigger points, sub-system boundaries, domain knowledge, interfacing API/hooks, regulations, as well as corner cases where human intervention may be needed, exception handling, etc. are all going to be crucial.

In the ensuing section, we will take a look at it from a different angle.

2. Inducing AI/ML in Process Automation Strategy

By now, unless you are living in a cave, everyone is quite familiar with the definitions of AI and ML. Terms like supervised/unsupervised learning and deep learning don’t sound foreign.

The description of AI/ML is beyond the scope of this article. At your leisure, you can go through these references to get a better idea about the topic —

AI/ML blogs available on Medium sites; towards data science and hacker noon.

This section further discusses our collaborative approach, which we saw previously in “Incorporating AI in Process Automation”.

Just like any purpose-built and lightweight automation, a complete process understanding including process design, MOP, environment, variable factors (moving parts), actors, etc. is necessary before implementing RPA.

Good news is that both AI and RPA can co-exist and can function well without issues.

Some of the relevant questions pertaining to “RPA/AI amalgamation”, can be listed as under —

  1. What degree of manual intervention is involved in the process?
  2. Which process steps are repetitive?
  3. Do you have enough training data for conversational and other AI-related pieces?
  4. How can conversational AI augment user experience in your case?
  5. What are the pitfalls that AI/ML pieces may pose?
  6. Is AI/ML adding value without incurring too much cost and complexity?
  7. What are your success criteria? KPI, Satisfaction index, etc.
  8. What are the parameters/factors that influence process improvement?
  9. Are there off-the-shelf tools available to handle some or all of your needs?
  10. Do you have the required resources? What are cost and time constraints?

There has to be a clear understanding of the subject matter. Furthermore, system architecture knowledge and insight into details involving functionalities, process, sub-systems interfaces, interconnect logic, etc. are pivotal that will serve as a blueprint of your design strategy.

For cost efficiency and ROI, you would also need to have clarity about which solutions exist today commercially or open source. For example, an off-the-shelf solution if fits well is preferred over reinventing the wheel. Longer cycles and wastage can harm the project. Leveraging available solutions and technology (where possible) provides extra cushion to minimize risks and let you focus on other areas to achieve your target system sooner.

3. Design and Implementation Techniques

Figure 1 shows a typical end-to-end component design depicting an implementation of a fully functional AI-driven Robotic Process Automation (RPA).

Figure 1. The architecture of Robotic Process Automation with Conversational AI.

Process Description

Starting from the top, we have a user interface that will allow capturing user requests. The user intent is understood by classifying into pre-defined categories using NLU pipelines. These pipelines are typically made up of several NLP libraries such as SpaCy or NLTK, providing support for word vectors/embedding in multiple languages, tokenization, etc. Another important task, which is also performed by this layer, is to extract entity (contextual data) form user requests. Entities are part of the text that are of interest to the data scientist or the business, such as names of people, address, account numbers, locations, etc. These are then passed downstream for further processing. Advanced techniques and algorithms, such as CRF (Conditional Random Fields), Stemming, etc. are used to train a model for performing Named Entity Recognition (NER). Support for NER is available in libraries like SpaCy, which allows entity extraction by knowing their pattern and other statistical properties. Furthermore, a specific piece of information, such as date and time can be extracted using libraries like duckling.

When the intent and the data objects are extracted, they pass through the next level, which is the Machine to Machine interface. At this point, a software robot can be plugged in to drive orchestration and (mainly) automation aspects. For example, ‘Create and send a report’, ‘provision or configure a network device’ or ‘use PayPal account to purchase movie tickets’.

I am cutting-down on details here that each sub-system demands, however, you can appreciate how different pieces can be glued together with a certain degree of precision to create a cohesive system.

Policies and Best Practices

The figure above may oversimplify the efforts involved in implementing this architecture. There are several moving parts here and each component (sub-system) requires sizeable effort and proper domain knowledge for effective implementation and coordination. It is wise to take a deep holistic look during the design phase and iron out specifics such as protocols, data structure, access requirements, performance and efficiency, availability, logging and monitoring, exception handling, as well as technology leverage.

Where possible, externalizing and decoupling of control logic can yield benefits in terms of flexible design and system updates.

Figure 2. Required skillset along with technology domains.

How to handle exceptions?

There are going to be cases when one-off conditions will arise such as, ‘insufficient balance to purchase grocery’, ‘invalid shipping address’, ‘unsatisfied or missing data’, ‘unfavorable (weather) conditions’, and so on. To properly handle such conditions, several policies can be drafted and fed into the system through a separate exceptions control mechanism.

Piggybacking corrective actions on the error message add value to the user experience. Hiding fine details, your error message presented to the user should reflect an accurate description of the issue and suggestion for the next best action(s). This presents another opportunity for machine learning whereby, a trained model can predict follow on action based on the variables and the contextual data.

4. An Example Case — Healthcare

Let’s take a look at an example. News is circulating that healthcare sectors are increasingly adopting artificial intelligence to improve patient care and process efficiencies. So, let’s see how RPA can be beneficial here.

An effective RPA can result in improved care management, with substantial improvements in the quality of coordinating care, population wellness, remote monitoring, and utilization management. When healthcare professionals are no longer bogged down by many of their daily tasks, they have the freedom to focus on more critical activities like interacting one-on-one with patients.

So how RPA is relevant here? There are manual intensive activities that organizations are bogged down with, can be alleviated by moving the workload to robots. Think, for example, coding or billing. A properly defined process can be augmented with automation where multiple entries from one or more forms can be evaluated and a final bill is produced and presented the checkout kiosk without any human intervention. Collecting payment from a patient will be just another step. Furthermore, the coded report/claim can also be sent to the insurance (payer) without breaking a sweat.

Similarly, cases where AI-assisted image recognition is adopted for finding malignant traces can be integrated with an alert and notification system, so that sensitive issues like cancers, tumor can go into a final review by the domain experts before calling it out.

Besides cost savings aspects, providers can enforce an adaptable system in a place whose behavior can be rapidly altered as and when needed maximizing operational efficiency.

“Design by Data” approach — What’s in it for us?

Identify areas where AI can surpass a conventional logic-based implementation in terms of scale, adaptability, and proficiency. There can be situations where a process should decide on the next best action based on hundreds of factors. Considering all those variables (dimensions) at the time of the design and build phase can become challenging. Furthermore, a program logic has to be modified for every new addition of parameters, whereas with an ML-based approach only the model needs to be re-trained whereas core business logic remains untouched.

In cases where sensors or monitoring tools generate tons of data, it becomes quite a daunting task to parse and extract relevant information.

Putting it all together

In this blog, I briefly described RPA and conversational AI, mainly from the point of convergence. We looked at significant factors that play a central role in influencing the design and strategy. Apart from drawing values from industry standards, business case(s) need to be borne in mind to produce an exquisite implementation scheme all the way from laying out fundamental substance to nitty-gritty details.

Basic understanding of conversational AI is a must for ameliorating design quality and thoroughly building functional accuracy. Machine learning pipelines stand as the fundamental building block for producing precise results.

Robotic Process Automation is considered by many as much needed element of digital transformation. When software robots are used along with AI and guided through policies and historical data, efficiency improvement can be achieved, reaping the benefits of automation, AI/ML and creating opportunities for idyllic user experience, boosting user trust level, gaining operational excellence and improving ROI.