For some Artificial intelligence (AI) could be seen as a buzzword or fad, dreamt up by Hollywood perhaps or the marketeers of technology companies. On the ground though, AI is definitely available, and increasingly being used by RPA developers to make their automations more capable. Today’s ‘digital workers’ are capable of reading and understanding text, chatting with humans and even creating abstract art work (although this last one is not much use to most companies).
Although impressive, it must be pointed out that we might never be able to replicate the cognitive abilities and intellect of a human. Many use cases of RPA on the surface might look intelligent but in fact are based off structured decision making and just ‘if-else’ logic – in essence ‘do this or if not do that’.
Where required though, we see AI as providing some process specific intelligence to a task. For instance, if inputs to the process are presented as digital but unstructured text, we might use NLP (Neuro-linguistic programming) to enable the robot to read the text and make some basic decision making from it.
RPA coupled with AI creates Intelligent Automation and extends the number of potential RPA use cases. RPA providing the structure and ‘handwork’ in terms of mouse movements, file transfer, opening/closing applications for instance, and AI the ‘headwork’; the cognitive ability to interpret the data and make intelligent decisions with it. Together RPA + AI enables RPA to do more tasks, more complex inputs and interpreting unstructured text for instance, or more complex outputs such as customised text or ‘chat’.
You don’t need to be a Rocket Scientist to use Rocket Science
Under the hood, there is no doubt that the code written to get a robot to action some of these AI and ML activities is challenging to say the least, in most cases requiring graduate to post-grad level mathematical formula, and data-science skills. Accordingly, there is definitely some ‘Rocket Science’ behind developing Robot intelligence.
Today though it is possible in integrate and leverage the technology which is already out there. Large tech companies such as Amazon (AWS) and Microsoft (Azure) with hundreds, if not thousands of engineers, have already developed off-the-shelf applications to read text, and interpret documents, and have a conversation with a human in the case of Chatbots.
Today, RPA developers can now tap into these existing technologies, and as ‘system integrators’ make their own automations more intelligent. So, in other words, you don’t have to be the rocket scientist, you just need to know how to connect your robot with the rocket scientist, which is much easier.
Key AI and Machine Learning Technologies
So what are these AI technologies which RPA can tap to extend its capabilities and the potential use cases.
For RPA, the most important AI technologies are:
Optical Character Recognition (OCR)
A typical use case of intelligent Automation is a process input in the form of a physical Letter, a Form or an Invoice. If their inputs are scanned, they are essentially now images, and OCR or computer vision might needed in order to extract information from the documents, and convert them into a machine-readable format.
Note, it is not always necessary to use OCR to read PDF’s, particularly if the PDF have been reproduced from a word processor, which already structures the document digitally and provides an existing format which the Bot will understand.
In both cases, the Bot needs to read and identify relevant bits of data from the document, for instance key court dates in the Legal case study, or label fields on an invoice, such as the invoice number which was required in the Garage case study. This capability is normally provided by a Machine Learing (ML) algorithm (see below), in addition to OCR.
Natural language processing (NLP)
Naturual Language Processing (NLP) enalbes the RPA bot to read unstructured text and intrepet the natural human language in the document itself. This might involve analysing a sentence, splitting and reducing it to its component parts to facilitate understanding, and returning a list of verbs, nouns, numbers, objects and places for instance. As an example, by breaking the sentence down, NLP will understand that the two sentences ‘He was riding’ and ‘He was taking a ride’ mean the same thing.
All this helps to ‘read’ unstructured text and package it up, and provide the ‘structured’ sort of data RPA requires. As an example, in our Legal Case Study, NLP is able to determine what a date in the document refers to – a court hearing date or a date when files need submission to the court.
Machine Learning (ML)
ML is essentially using mathematical formula to find patterns in data. Some of these patterns are obvious to humans, but others are not so obvious.
For example, within our Customer Service Email Demo and the RPA Category, Service Request Triage, ML is used to read and determine the nature of incoming customer email, classifying them and then either actioning a next step (emailing back a delivery date for instance) or labelling them for human attention such as complaints.
Determining the nature of these emails is obvious for humans, but RPA robots can only categorise one email’s request from the next, if it is given an initial list of email examples and a subcategory for each. This list is called the ‘Training Set’, and ML is then used to build a pattern or ‘model’ from it. New emails can then be automatically classified as one request or another. So for instance, the model will realise that although one customer email requesting a delivery date is written differently from another customer’s email asking the same thing, both will contain similarities, perhaps the words, ‘delivery’ and ‘date’. In reality, this is an oversimplification of what is actually happening, since the ML model will actually pick up on some quite sophisticated patterns, some of which might be hard to describe. Either way, it is patterns which the ML model is finding and using to then categorise new customer emails.