Friday, August 3, 2018

The robots are coming

Digital assistants on your mobile phone are useful. But do you wonder how else the innovations that led to these might apply in other places? After all, useful as they are, making your interface with the world at large in general, and with devices in particular, more seamless, digital assistants don't seem to be changing the world, do they? But wait... the technology behind these is being used in other ways for greater impact.

With the advent of computers, two forces arise in the workplace with a tension between them. One is the ability to execute more complicated workflows. The other is the capacity to process workflows more quickly through automation.

As workflows become more complex, there is a greater chance for errors - there may be process flow legs that are not accounted for during the design and deployment phase, and these can throw off the automation.

So, while automation is nice, what is the next "advancement" we can make there? How do we automate the process of automation? Enter RPA or Robotic Process Automation.

How does it work? How can it work? Let's look at some history.

In Excel there is a capability to record a macro - this is not something you need to program - Excel software "records" or remembers the sequence of keys you press, and then replicates that process i.e. the series of key presses, in the same order multiple times flawlessly.

In manufacturing, they do the same thing with CNC machines where a human operator trains a machine that replicates his/her movements - the machine can then do what the operator does, only more quickly, and with greater precision. This is possible now because of advances in artificial intelligence and computer vision. The computer can see and recognize objects. And it can grasp them with mechanical "hands" - things it was not able to do earlier.

Now there is software that generalizes the Excel macro recording capability more broadly, so complex process flows can be automated relatively effortlessly. The computer then executes these flows as discussed previously, replicating the operators actions. But what happens if the computer throws an error or shows different screens for a particular record the computer is processing? The automation software might not be able to adapt, since there is no intelligence built in, and this could cause very rapid, but also completely erroneous processing of records.

So what to do? We need intelligence to automate the automation. The machine has to learn the process steps it needs to execute - the Robotic Process Automation part, then it needs something else to be able to intelligently handle exception cases. That is done through Cognitive Computing.

Cognitive Computing brings 4 new capabilities to things already discussed:

  1. Process is Adaptive - the software can adapt to changes in the workflow by watching an operator process a large number of cases, or through working through cases using a standard template, then asking for operator input if it ever gets stuck (with added intelligence it knows when it is stuck)
  2. It is Interactive - the software learns from watching the operator, can interact with users, etc.
  3. It is Iterative and Stateful - the software is able to learn from cases processed previously, iteratively, and manage its state (internal representation of learned knowledge) accordingly.
  4. It is Contextual - the software is aware of what processing steps it needs to perform in what contexts, and how it can use this knowledge to take on ever more complex operations going forward.
More advanced systems today support natural language interfaces to make user interaction much more seamless. Again, this is a capability that becomes possible through AI techniques - natural language processing, text analytics, and the like. 

So is everything hunky-dory with the advent of RPA and CC? No, there are several new issues that arise. 

First, there are societal problems: we need to determine what we want to do with the human work-force that is displaced. They need to be retrained and move up the value chain. This is along the lines of the Beveridge Curve, but the displacement here is not just due to macro factors but a larger scale move due to technology.

Second, there is a temptation to automate sub-optimal processes - why care if the process is not the simplest it could be, or is more tedious then necessary? Machines will do it after all. And machines do not complain if you make them work longer on mind-numbing tasks.

Third, why improve processes? If it ain't broke, don't fix it. Innovative techniques available to simplify processing? "Ignore them! We've just spend $10M on RPA. Don't tell me I have to spend more to improve processes now!" This could slow down innovation and make legacy systems live way beyond their useful natural life. 

This article covers a lot of these in some detail.  Robots are no longer replacing only blue collar jobs. Lawyers, doctors, traders of financial instruments, etc. watch out - the Robots are coming for you.