Alexa, Get Me More Clicks: Preliminary Thoughts on Automations that can Learn
The world is becoming an increasingly automated place, but there is so much opportunity to build interesting things that unlock human time. Here, we explore some of the current tools and technologies in different areas of automation, and preliminarily explore some interesting new ideas
Hello and welcome to the 21 new friends who've joined our community since our last post! We're now a group of more than 61 awesome people building the future! If you'd like to join feel free to subscribe here! You can also learn more about what we're about.
Robots are so much more than the walking, talking tin cans they’ve been depicted as in Science Fiction. Actually, the word was first coined by Karel Capek in the play Rossum’s Universal Robots. The roots of the term come from the Old Church Slavonic word “rabota” which means servitude of forced labor. Cognates, or similar words with similar meanings, exist in German, Russian, Polish and Czech all referring to serfdom. The robots in this play were mass-produced workers made in our image but lacking a soul. They couldn’t feel or love, and were destined to perform the work humans didn’t want to do, and therein lies the somewhat morbid crux of robotics and automation. To create a system that can perform the tasks that we don’t want to, or can’t. This can take the form of a machine on the factory floor that welds car doors onto the frame, or a search and rescue bot which can prevent firefighters from endangering their own lives. But a behemoth of a market for robotics lies under the notice of most consumers, that being Robotic Process Automation or the automation of workflows in businesses.
In 2020, developers spent an average of 41.1 hrs a week working. Out of that, they spent 13.5 hrs dealing with tech debt. Whenever an organization seeks to accomplish an objective within a time limit, they first attempt to scrap together a solution so they have something to deliver. Then, they face a tradeoff. Do they now spend the time and resources to craft a more efficient, clever, and well designed solution? Or do they continue to use the scrapped together solution and spend resources on training employees to use it, and developer time in using it. Inevitably, most organizations will choose the latter at some point and this creates tech debt, the cost of which was 33% of their workforce’s productive time in 2020. Time is money for these organizations, and to save that time companies are willing to spend quite a bit on automating those workflows. As a result of this, a 20 billion dollar market has cropped up in automating business workflows. Physical robots that automate industrial workflows have created a larger market, around 160 billion dollars. It makes sense that workflow automations would grow into a large market, every industry has common practices which can be automated. From accounting to marketing, workflow automation is ubiquitous and powerful. Let’s take a deeper look at the enterprise standard for automation in different industries.
The Utility of Automation in Digital Workflows
We’ll start with API Economy tools like Zapier, which serve to connect various applications into workflows. APIs allow software developers to create services which link to each other and build off each other, but the world of APIs are now so rich that effective management and orchestration of them can yield serious revenue opportunities. Zapier, for example, allows users to build “zaps” which are integrations between applications that can contain logic. With Zapier, a user can set up a zap which sends a notification to a slack channel every time a form is submitted on a website, or any number of other integrations. There are also Internet of Things (IoT) automation solutions, the most famous of which is Arduino which you’ve probably already heard about from science fairs around the world. Arduino allows you to easily program and connect with microcontrollers and perform a large number of robotic tasks, a bridge between embedded programming and more free form software development.
There are  Robotic Process Automation tools like UI Path, which will actually automate repetitive tasks that people have to perform. UI Path offers supervised robots, which will work with you to complete processes, and unsupervised robots which will perform them on their own. For the record, UI Path also offers API integration like Zapier as well. UI Path has a market cap of 10 billion dollars alone, showing just how much demand exists for automation tooling. But all of the tools we’ve mentioned so far don’t incorporate any elements of optimization or intelligence, the “robots” that UI Path offers can only perform repetitive, identical tasks or have some simple machine learning processes embedded in them. What do those processes look like currently?
The Involvement of Machine Learning in Workflow Automation
At the moment, the involvement of ML in workflow automation consists of simple embedded processes. For example, Zaps allow you to create branching workflows based on conditions you set. This allows the user to handle multiple cases, but requires that the user anticipate a particular case as a possibility. In other words, Zaps cannot adapt. And that’s a good example of how the current state is for the “intelligence” of most automation systems. RPA is currently in a state where tasks are recorded and then performed, new tasks cannot be “learned” by a robot. Certainly these robots can perform menial tasks like the robots of Rossum’s Universal Robots, but they’re hardly the intelligent and capable machines we would need to learn new tasks and open up new workflow possibilities. Luckily, the mathematics and theory necessary for such systems has been explored before.
Future Directions: Learning to Optimize Workflow Automations
The current involvement of machine learning in workflow automation is primitive, typically consisting of simple embedded processes. Optimization and learning are vast fields of study, and they contain several methods that could be applied to workflow automations. Many of those methods also have cool names associated with them. Some of those are:
- Bandits - Slot machines used to be called “one armed bandits”, and researchers studying optimization found that trying to optimize the operation of a “multi armed bandit” or a slot machine with several arms, yielded a simple and useful solution. In the multi-armed bandit problem, each arm of the slot machine has a different probability of success associated, that is not known to the operator. To optimize success, an operator would need to balance exploring new arms and seeing how they work, and pulling the ones they already know work, a balance of exploration vs. exploitation. The solutions to this problem can be applied to any situation where several options present different rewards and probabilities for success, but in honor of the problem which spawned them, they are called “bandits”.
- Heuristics - Sometimes imitation is the key to success, and when a mathematician is particularly inspired by the world around them, they create a heuristic algorithm based on their muse. A heuristic algorithm is an algorithm that mimics the logic behind a natural process, without necessarily having to understand why that process works. For example, if somebody wants to use a genetic algorithm, they will define what the “genes” for each potential solution are, define how solutions can “mate” with each other, define what “fitness” looks like in their solutions, and then generate a population of solutions and have them “mate” over several generations while killing off the “unfit” solutions. By natural selection, their solutions will become more and more fit as the generations roll by. Other examples include Ant Colony Optimization, Simulated Annealing, the list goes on.
- Reinforcement Learning - In the real world, human decision making has a few properties associated with it. We have actions we know we can do, expectations of the results of those choices, and then either a reward or punishment for taking those actions. We then adjust our expectations based on those rewards or punishments. Reinforcement Learning is the idea of mimicking this type of decision making. An agent has a set of actions it can perform, an expected reward for those actions, and then it is rewarded or punished based on the outcome of its action. These algorithms generally hold a lot of promise in robotics, not just robotic process automation, and are a richer and more complex form of optimization than the previous two methods.
All of these methods have promise for workflow automation, and although our treatment of them here was cursory, they are all complex topics that warrant further discussion. Optimization in workflow automation doesn’t just have to be embedded processes, integrations between apps are fertile ground for any of these tactics or others. Imagine a tool which monitors Facebook Marketplace, Ebay, Craigslist and other user driven marketplaces. Once it finds a deal on an item of interest, it automatically follows up that lead by contacting the seller with an email or message. This would be an example of workflow automation, the job of monitoring various marketplaces and following up on leads would usually be given to a person. What if the tool could learn what factors make a seller more or less likely to respond? Or keywords in the followup that boost response? What if the tool could forecast future prices based on past data and know when to wait for a deal? All of these things are possible, practical examples of optimization.
Finally, we’d like to stress the point that automation doesn’t have to threaten jobs. Saving money by speeding up and replacing menial labor should open up higher paying, higher order jobs for human beings to do. Using our example from earlier, now that the employee in charge of finding and following up with leads doesn’t have to do that labor, they are freed up to think about things like alternative markets to look into, alternative methods for reaching out to leads and how to structure that messaging. Rather than focus on replacing the worker, the focus of automation is on building tools that allow us to replace the work with something more meaningful and interesting.
Resources
- https://www.npr.org/2011/04/22/135634400/science-diction-the-origin-of-the-word-robot
- https://www.stepsize.com/blog/cost-of-technical-debt
- https://towardsdatascience.com/robotic-process-automation-rpa-using-uipath-7b4645aeea5a
- https://www.laserfiche.com/ecmblog/what-is-robotic-process-automation-rpa/
- https://lilianweng.github.io/posts/2018-01-23-multi-armed-bandit/
- https://medium.com/xrpractices/reinforcement-learning-vs-genetic-algorithm-ai-for-simulations-f1f484969c56
- https://venturebeat.com/2021/05/17/how-the-api-economy-is-powering-digital-transformation/
- https://zapier.com/how-it-works
- https://www.capterra.com/integration-software/compare/130182-135186/Zapier-vs-UiPath-Robotic-Process-Automation