Nowadays, where almost
everything is turning to online and virtual modes, a very common problem any
organization is facing is the processing of receipts that were scanned and
submitted electronically for reimbursement purposes.
Now for any claim or
reimbursements to get clear, first those must reach to proper accounts
department based on the organization and the sector, and one way to perform
this activity is by manual intervention. A person or a team must go
through all those digitally scanned receipts manually and filter them based on
the departments or any other validation and eligibility criteria they may have.
The situation becomes
more tragic when the volume of such scanned receipts is too high. So, get rid
of this manual effort, a lot many organizations have already opted for a
solution that is AI-based, and lot many are in a process of doing so.
Definitely, one can go
for OCR, which is short for Optical Character Recognization technologies
to extract data but here the problem is not only about data extraction, but it
is also about data interpretation. Because there could be an incident, wherein
the user uploaded a wrong document altogether, which is not a receipt. So, the
solution should be robust enough to filter out these scenarios.
How
can AI-based solutions be achieved?
Like many other Azure
services, here also we can utilize a service named Form Recognizer,
which consists of intelligent processing capabilities and allow us to automate
the processing of forms and receipts. Basically, it is a combination of OCR and
predictive models, which in turn falls under the umbrella of Azure
Cognitive Services.
Here OCR will work on
text extraction and models will help us to filter the useful information, like
invoice date, address, amount, description, name or could be any other relevant
field, which business demands.
What
all models are supported by Form Recognizer?
Form Recognizer supports
two types of models: Pre-built and Custom models.
- Prebuilt
– Are the ones, which are provided out-of-box and are already trained with
some basic sales data based on USA sales format.
- Custom
Models – Are the ones, which can be tailored based on our needs with our
own data and business needs.
So, in this article,
I’ll be focusing on the pre-built models and will cover custom model
integration as part of another article.
How
to get started with Form Recognizer?
The very first thing, we
need is login to the Azure portal at portal.azure.com to
create Azure Resource. There are two ways to create Azure resources.
- Using
Azure Form Recognizer
- Using
Azure Cognitive Services
If anyone is planning to use other services under Cognitive Services, then existing/new resources can be used. But if one needs to work only with Form Recognizer Service, then also it can be done.
Implementation
Details
For development, I'm using Python as a language and Visual Studio Code having Jupyter Notebook. Here is the core implementation:
Sample Input and Output
I've taken the below
receipt as an input,
Summary
This article mentions high-level steps of how one can use a pre-built ML model to read information from a sales receipt, with an assumption that the reader is already aware of how to use Python, VS Code, Jupyter Notebook along with how to import Python modules. But if you are new to any of these, I would recommend you to watch my recorded video on my YouTube channel named Shweta Lodha, which explains this article from start to end.
Comments
Post a Comment