DZone> AI地带 > 使用预先建立的模型从销售收据中提取文本。Azure表单识别器
使用预先建立的模型从销售收据中提取文本。淘宝网表单识别器
我们可以利用名为Form Recognizer的Azure服务,它由智能处理能力组成,可以自动处理表格和收据。
·
Aug. 07, 21 -AI Zone -演讲
喜欢 (1)
评论
保存
Tweet
2.06K浏览次数
加入DZone社区,获得完整的会员体验。
如今,几乎所有的东西都转向在线和虚拟模式,任何组织都面临着一个非常普遍的问题,那就是为报销而扫描和提交的电子收据的处理问题。
现在,为了使任何索赔或报销得到明确,首先必须根据组织和部门将这些索赔或报销送达适当的会计部门,而执行这一活动的一种方式是人工干预。一个人或一个团队必须手动检查所有这些数字扫描收据,并根据他们可能有的部门或任何其他验证和资格标准来过滤它们。
当这种扫描收据的数量过高时,情况就变得更加悲惨。因此,为了摆脱这种手工操作,许多组织已经选择了基于人工智能的解决方案,而且许多组织正在这样做的过程中。
当然,人们可以使用OCR(光学字符识别技术的简称)来提取数据,但这里的问题不仅仅是数据提取,还涉及到数据解释。因为可能会发生用户上传了一个完全错误的文件,而这并不是一张收据。因此,解决方案应该足够强大,以过滤掉这些情况。
如何实现基于AI的解决方案?
像其他许多Azure服务一样,在这里我们也可以利用一个名为Form Recognizer的服务,它包括智能处理能力,允许我们自动处理表格和收据。基本上,它是OCR和预测模型的结合,而这又属于Azure认知服务的范畴。
在这里,OCR将致力于文本提取,而模型将帮助我们过滤有用的信息,如发票日期、地址、金额、描述、名称或企业要求的任何其他相关领域。
表格识别器支持哪些模型?
表格识别器支持两种类型的模型。预建模型和自定义模型。
- 预建模型。是那些开箱即用的模型,已经用一些基于美国销售格式的基本销售数据进行了训练。
- **自定义模型。**是那些可以根据我们自己的数据和业务需求来定制的模型。
因此,在这篇文章中,我将专注于预先建立的模型,并将在另一篇文章中介绍自定义模型的整合。
如何开始使用表单识别器?
我们需要做的第一件事是登录Azure门户,在portal.azure.com上创建Azure资源。有2种方法来创建Azure资源。
- 使用Azure表单识别器。
- 使用Azure Cognitive Services。
如果有人打算使用认知服务下的其他服务,那么可以使用现有/新的资源。但如果只需要使用表单识别器服务,那么也可以这样做。
实施细节
对于开发,我使用Python作为语言,Visual Studio Code有Jupyter笔记本。这里是核心实现。
Python
key = "KEY_TO_BE_REPLACED"
endPoint = "ENDPOINT_TO_BE_REPLACED"
import os
from azure.ai.formrecognizer import FormRecognizerClient
from azure.core.credentials import AzureKeyCredential
client = FormRecognizerClient(endpoint = endPoint, credential = AzureKeyCredential(key))
image = "IMAGE_FILE_PATH"
fd = open(image, "rb")
analyzeReceipt = client.begin_recognize_receipts(receipt = fd)
result = analyzeReceipt.result()
print('Address: ', result[0].fields.get("MerchantAddress").value)
print('Contact Number: ', result[0].fields.get("MerchantPhoneNumber").value)
print('Receipt Date: ', str(result[0].fields.get("TransactionDate").value))
print('Tax Paid: ', result[0].fields.get("Tax").value)
print('Total Amount Paid: ', result[0].fields.get("Total").value)
items = result[0].fields.items()
for name, field in items:
if name=="Items":
for items in field.value:
for item_name, item in items.value.items():
print(item_name, ': ', item.value)
输入和输出样本
我把下面的收据作为一个输入。
为此,上述代码产生了以下输出。
总结
这篇文章提到了如何使用预先建立的ML模型从销售收据中读取信息的高级步骤,并假设读者已经知道如何使用Python、VS Code、Jupyter Notebook以及如何导入Python模块。但如果你是这些方面的新手,我建议你观看我下面的视频,从头到尾解释一下这篇文章。
主题。
人工智能, 机器学习, azure, azure认知服务, 视频教程
经Shweta Lodha许可发表于DZone。点击这里查看原文。
DZone贡献者所表达的观点属于他们自己。
DZone上的热门文章
评论