Robotic Process Automation and Artificial Intelligence in Industry 4.0
sciencedirect.com
sciencedirect.com
P.S. Congratulations on paper acceptance!
I used to have to do that. Around 1999 I had a nightmare written in Perl which could scrape human-readable financial statements in text or HTML filed with the SEC to extract a few basic numbers. All financial statements have roughly the same data, but they're all formatted differently. I used to have a database with a sizable list of euphemisms for "net loss". For a while, the SEC made companies submit that information in XML, which they did badly. Then the SEC removed that requirement. Then they re-instated it with a better system, which is where everybody gets that data now. It took about 15 years before everybody was on board with this.
The paper is talking about using AI to improve screen-scraping performance for RPA frameworks, which is definitely a valid use case.
As nice as it would be to always replace legacy systems with APIs, sometimes you have a job to do and need to get it done! If you are hired to build something and it needs to integrate with some windows application which can only be accessed via Citrix which you are not able to touch, then these tools come into their own (not as the preferred architectural choice, but as the only remaining practical option).
I've seen my share of software like that. "Getting rid" of it may be a valuable thing in some cases, but it's not something you do "first", it's a strategic decision with an organizational transformation that will definitely take years to suceed and may be fail or be cancelled; it's something you might start but you may as well move on to a different position before it's finished. On the other hand, RPA is something you may actually achieve yourself in a reasonable timeframe.
There are two primary types of RPA, attended and unattended. Unattended automations make for good candidates for replacement with systems that have proper API's. The issue I've seen is that most of the underlying back office systems have a weird division of business logic between the view layer, the server and the database such that no one wants to risk trying to detangle the systems. In theory RPA can act as a bridging technology that lets you first create something closer to a proper API. Then if new apps built on top of those API's provide value, it becomes easier to justify a re-write of the underlying systems. So it kind of helps build the political will in larger organizations by making the value of the future state of sunsetting the legacy systems more real to those outside of the tech org.
Attended automations, when done right, function as a window orchestration tool for multivendor workflows where the end user needs to be in the loop, maybe for compliance reasons, or because they need to use some professional judgement like underwriters. Even when platforms have solid API's, they rarely have deep linking with enough sophistication to take the user to the proper screen for a multi-application flow. In a perfect world you'd map out relevant workflows, and write some simple glue apps that are built on top of multiple APIs, which is what Power apps is kind of trying to do. The reality is that SME's can be really attached to certain systems and ways of doing things, that the cost of retraining on a new flow is often not politically viable. So it becomes easier to augment the workflows, pulling up SharePoint docs when certain conditions are met, partially filling out forms in some webapps, etc... than search for a global maximum.
I guess in short, I think there are pragmatic ways to use RPA without resigning yourself to never doing the necessary work of rearchitecting the systems that made RPA necessary in the first place.
How do you get your critical data out of such software in the first place? I thought the main use of screen scraping and autohotkey style automation was (or at least should be!) guerrilla data repatriation.
(Also cool as this is, I’m always slightly disappointed when I see terms like “robotic process automation” and it’s about scripted GUI interactions rather than using machine learning to optimally control factories.)
Basically, it makes it clear that RPA is just macro recording, without any 'subtlety' or margin of errors (one pixel shift will break RPA)
It's very dynamic and a well written bot will work even after changes to the website or software. Also, pure RPA is usually only used on legacy software without any other APIs, so they rarely change.
Source: RPA/IPA Dev
The RPA systems I looked at supported fuzzy matching for images and text.
I didn’t know until your post what it actually was (just what it wasn’t)
Sure there are many PoCs, smaller projects, but in my experience, working on data centric projects with a few fortune 500 industrial companies, none of these technologies have been successfully implemented in production.
Perhaps for some back office & business-level applications, but certainly not for any production related use-cases (e.g. predictive maintenance).
The combination of RPA with AI/ML, usually called "Intelligent Process Automation" is merely dropping some OCR or NLP engine here and there to help in points of the workflow when there is no other possiblity other than some person reading a document and trying to come up with the next step. Calling this "AI" is a stretch.
They are simply going to be fired --if you squint a little while reading the slides you see that is precisely the business case.
That's going to be technology for the rest of the office workforce in the next few years.
It’s too easy to send EY or whoever in to replace some god awful process by “Larry in AP” with a “bot” that just replicated what he does - no matter how pointless any step might be.
Here we are.
80+ years into the Information Age. And we're still confused.
Automation is not digitization. Most everyone conflates the two.
Automation is the removal of human judgement. This generally means simplification. All those biz pop terms like "business process reengineering".
Digitization is using computers to do tasks previously performed by humans.
IT (data processing) projects that set out to replace legacy systems, whether paper-based or prior software, generally fail. Because they do not first simplify the work being done. But rather attempt to fork lift current work onto a new media.
In other words, digitization without prior automation.
--
As for the selection of tools listed for Robotic Process Automation, they're fine mitigations.
When one cannot or will not first simplify, the minions are reduced to relying on shims and screen scrapping.
Ever more, I think most grand efforts like simplification, understanding, semantics, ontologies, and data interchange are quixotic. Just log everything and let future minions ferret out whatever interesting bits they might need.
In other words, enable future software systems archaeologists and forensics teams to better mine the data, and don't try to code for the ages.