Even when it comes to something as simple as reading a receipt, human beings make mistakes. That’s why one of our guiding principles at Abacus is using automated digital processes to safeguard the integrity of the information in our system. One area in which we’ve made important headway over the years has been the development of optical character recognition, or OCR. It’s a type of artificial intelligence that uses machine learning to help a computer read an image as text, the way a human eye would.
In the time that Abacus has been using OCR, the technology has grown up quite a bit. When we first started, it was with an algorithm we wrote in-house. Now we’re part of something much bigger — a global community of machine learning users. Abacus has had a front-row seat on one of the most exciting frontiers in computer science, all to deliver a little more peace of mind to our product. Here’s the story.
OCR at Abacus
When you take a picture of a receipt in Abacus, the system wants to know what it says. If it can’t do that, Abacus has no way of verifying the information input by the submitter. A few years ago, we committed to developing that double-checking process. So we turned to an emerging technology called optical character recognition.
At the time, nobody was selling OCR out of the box. Setting it up was a project that required us to write an algorithm, set up a network to do the processing, and start training the system ourselves. It was an experiment.
Given that we didn’t know how well the technology would work, we inserted it into the product very cautiously. OCR had to be totally unobtrusive to the user experience. If it worked, your experience would be better. If it didn’t, your experience would be no worse than you were used to.
The use case we settled on was to add a discreet check mark on the expense item, indicating that the amount on the receipt matched the amount entered into the system. It was a manageable task for the computer, one that served our purpose of cross-checking the entry without being integral to the product’s function.
We launched our OCR implementation, and encouragingly, it started getting better. When we first wrote the algorithm, the software’s success rate with reading receipt totals was around 40%. By the time we graduated onto a different solution, it had risen to around 70%. Still not as good as human eyes, but not too bad for a piece of software we were teaching ourselves.
We made impressive headway as OCR hobbyists, but we weren’t on our own for very long.
The community emerges
Optical character recognition is just one application of a process called machine learning, which is basically setting up a computer to try to do something simple; fail; and teach itself to be less wrong over the course of many iterations. With enough practice, a machine learning system can interpret speech, predict the search term you’re looking for, or even describe a city street scene. Our particular use was OCR, but the possibilities are endless.
As everyday technology started to use machine learning processes more and more, the market for providing it started to grow. Earlier this year, it exploded.
Seeking to gain advantages in an increasingly competitive field, companies like Google and Microsoft launched APIs that, for the first time, consumerized machine learning. Suddenly, anyone could plug into a system that was set up and ready to learn what they told it to.
The emergence of machine learning APIs mirrored what had happened to servers a few years before. Long ago, running software meant being responsible for the server it ran on. Then somebody invented the idea of “cloud computing” and everything changed. Companies like Amazon realized they could rent out space on their servers and take on the responsibilities of maintaining, securing, and distributing computer processing. Nowadays, everyone from Abacus to the CIA uses Amazon Web Services to run their software. Life got simpler for everyone.
The commodification of machine learning did the same for OCR. Abacus no longer had to maintain our own machine learning process. With one API, we got turnkey access to a powerful machine learning system that we knew would be safe and always state-of-the-art. It let us focus on Abacus while knowing that our OCR technology was getting better every day.
Why Abacus is ideal for machine learning
The future in which we no longer need humans to transcribe receipts is still years away. But when that future does come, there’s a good chance Abacus will be among the first to see it.
The reason has to do with the simplicity of what we’re asking the machine to learn. While Facebook is busy trying to teach computers to interpret photographs like a human would, our ask is much easier: tell me which numbers are on this conventionally-formatted piece of paper. By confining our use case to a fairly achievable domain of machine learning, Abacus is likely to be part of the first generation of users to get consistently accurate OCR.
In the time since we built our first OCR, we’ve also added to our process the services of a company that employs people to read and transcribe receipts. Between human eyes and OCR, Abacus has two complete processes for verifying every piece of information in every expense. Using this kind of automation, Abacus has already cut the time it takes to submit expenses by over 80%. And it’s only getting more reliable.
Optical character recognition is the likely first milestone in the machine learning revolution. With Abacus, you can experience this technology, and the assurance it provides, for yourself.