使用光学字符识别算法OCR重新定义业

输入数据并将其从一个地方移动到另一个地方是一项耗时且重复的任务。一名员工每天可以轻松地花费三个小时来移动数据。除了占用工人的时间外,人工处理数据还容易出错,从而导致损失。

调查报告显示,五分之一的企业因数据不完整而亏损。光学字符识别(OCR)技术可以帮助企业解决这些问题。OCR算法可以将纸质文档转换为可编辑的可搜索文本。

他们还可以从文件中提取信息并将其输入到公司IT系统的相应字段中。那么,OCR是如何工作的呢?这项技术如何帮助您实现业务目标?您是否应该联系人工智能解决方案提供商来帮助您构建和设置OCR软件?

什么是光学字符识别,以及它是如何工作的

OCR定义

光学字符识别是一种将键入或手写的文本以及包含文本的打印图像转换为机器可读的数字数据格式的技术。OCR算法有助于将大量纸质文档转换为数字文件,从而促进文本存储、处理和搜索。

OCR系统由硬件和软件组成。硬件部分可以是光学扫描仪或可以将纸质文档转换为数字格式的类似设备。软件部分是OCR算法本身。

OCR是如何工作的?

计算机很难识别字符,因为不同的字体和一个字母的书写方式会有所不同。手写信件使事情更加复杂。然而,光学字符识别算法接受了这一挑战。每个OCR解决方案都通过四个主要步骤运行:

图像采集

该过程涉及使用光学扫描仪捕获纸质文档的数字副本。文档必须正确对齐和调整大小。

预处理

此阶段的目标是使输入文件可供OCR算法使用。消除了噪音和背景。预处理包括以下步骤:

布局分析:将标题、列和图形识别为块

去歪斜:倾斜数字文档以使线条水平,以防扫描期间未正确对齐

图像细化:平滑边缘、去除灰尘颗粒、增加文本和背景之间的对比度

文本检测:一些算法检测单独的单词并将它们分成字母,而另一些算法则直接处理文本而不将其拆分为字符。

二值化:将扫描的文档转换为黑白格式,其中深色区域代表字符(字母或数字),白色区域被识别为背景。此步骤有助于识别不同的字体。

字符检测

在这个阶段,光学字符识别算法执行不同的操作来识别字母和数字。主要有两种方法:

模式识别:OCR算法经过各种字体、文本格式和手写风格的训练,以将输入文件中的不同字符与他们学到的字符进行比较。

特征识别:一些算法受益于已知的字符属性,例如交叉线和曲线,以识别输入文件中的字符。例如,字母H被识别为两条垂直线和一条交叉的水平线。由神经网络(NN)提供支持的OCR算法使用不同的逻辑,其中第一个NN层聚合来自输入文件的像素以创建图像的低级特征图。

检测到字符后,程序将其转换为美国信息交换标准代码(ASCII),以方便进一步操作。

后期处理

输出可以是基本的,例如字符串或文件。更高级的OCR解决方案可以保留原始页面结构并创建带有可搜索文本的PDF文件。尽管目前还没有工具可以保证对不同输入文件的%准确率,但一些光学字符识别算法可以在熟悉的文本上达到99.8%的惊人准确率。使用手写会显着影响结果。此外,重要的是要了解,如果训练不佳或文本不熟悉,错误率可能高达20%。因此,用户有必要不断监控、校对和纠正OCR算法的输出,尤其是当一种新型文档进入管道时。

后处理阶段还可能涉及自然语言处理(NLP)和其他用于数据验证的AI技术。人工智能不仅可以纠正文本,还可以捕捉计算中的错误。假设在处理发票时,OCR算法识别出总金额为美元。AI可以通过将所有费用相加并确定它们不达美元来验证这一点。人工智能可以通知人类员工审查这个特殊案例。

如果您想提高算法的质量,您可以尝试使用开源OCR库,例如Tesseract,它们使用自己的字典进行字符分割。另一种方法是为您的领域中重复出现的术语创建专门的词汇表。此外,审阅者可以将他们的反馈用作另一个光学字符识别算法培训课程的输入。

OCR算法如何使您的业务受益?

以下是光学字符识别解决方案可以为您做的事情:

降低成本:将文件转换为数字格式并自动输入数据可降低员工工时方面的成本

提高客户满意度:这项技术将使人们能够通过扫描身份证明文件远程更新他们的个人信息,而不是亲自去银行或任何其他机构

提供更便宜的备份选项:无需将纸质文档及其副本和一式三份存储在一起,这会消耗昂贵的物理存储单元

促进不同语言之间的翻译:一些OCR工具能够将文档从一种语言翻译成另一种语言

自动化工作流程:使用良好的管理系统搜索数字文件比处理纸质文件要快。在查找丢失的物理文件时,将暂停较少的进程。如果您对更全面的自动化解决方案感兴趣,您可以利用包括OCR和其他高级功能的智能流程自动化服务。

市场上可用的OCR解决方案

如果您正在考虑将OCR功能整合到您的IT系统中,那么您有多种选择。

开源光学字符识别算法

有几种开源OCR算法可供企业适应其需求。这些解决方案更容易定制,因为它们的源代码是普遍可访问的。但是,没有中央权威。开源解决方案的开发人员不承担责任,也不提供进一步的支持。因此,代码的质量可能存在问题。此选项更适合拥有能够修复任何故障的强大IT部门的公司。或者,您可以联系机器学习顾问,他们可以为您定制和重新培训该软件。

以下是一些常用的开源OCR解决方案:

Tesseract

Tesseract开源引擎是最流行的OCR工具之一,被认为是最准确的免费工具之一。它由惠普在年至年间开发。从年开始,该平台由谷歌管理和进一步开发。Tesseract是用C++编写的,但它提供了Java、Python、Swift、Ruby和R以及一些更常见的编程语言的包装器。

该工具使用命令行操作,没有图形用户界面。但是,您可以部署几个GUI选项以使该解决方案对用户友好。一个例子是glmageReader。该接口使用Python开发,支持不同的图像格式,包括PNG、GIF和PNM。

Tesseract不提供页面布局分析,不格式化输出,其命令行界面要求所有图像都以TIFF格式提交。此外,此OCR解决方案未针对GPU进行优化,并且不允许批处理。

OCRopus

OCRopus最初是用Python编写的,现在有一个单独的C++版本。它由Google支持,并被用作GoogleReCaptcha算法的OCR引擎。

OCRopus具有三个主要功能:

物理布局分析:识别文本块、列和行并确定阅读顺序。例如,为了检测列,它使用最大空白矩形算法来检测列之间的空白。

行识别:识别每个块或列中的行,无论是垂直行还是从左到右的行。

统计语言建模:使用字典和随机语法来解决丢失和无法识别字母的问题。

EasyOCR

光学字符识别公司JaidedAI使用Python和PyTorch库及其深度学习模型构建了EasyOCR包。它支持80多种语言,包括西里尔字母、中文和阿拉伯语,并且这个基础不断扩大。作为实施路线图的一部分,计划添加用于识别手写文本的可配置选项。

因有广告嫌疑,暂不介绍商业OCR解决方案,可私信我了解!

不同行业的顶级OCR用例

光学字符识别算法在不同行业中越来越受欢迎。以下是一些最突出的OCR应用程序。

银行业务中的OCR

银行机构在其工作流程中使用大量纸质文档。其中包括支票、客户记录、贷款申请、银行对账单等。采用OCR识别算法允许员工以数字方式存储和访问所有这些文件,并防止文书工作丢失和损坏。

支票处理

该领域OCR的一个例子是使用银行应用程序以数字方式存入纸质支票。这些解决方案部署光学字符识别算法来识别支票中的相关字段并相应地执行操作,而无需员工手动传输所有这些数据。此外,此类应用程序可以对现有数据库执行签名验证并立即清除检查。

客户入职

OCR支持的解决方案无需员工手动验证客户身份,而是可以从个人护照和其他身份证件中提取和验证所有相关信息。这允许即时验证并改善客户体验。

客户信息更新

在OCR的帮助下,客户无需访问或致电银行,而是可以扫描他们的文件以自动更新信息。例如,Alfa-Bank与SmartEngines合作,通过光学字符识别功能增强其银行应用程序。借助这项新功能,客户可以将身份证件放在智能手机的摄像头前,确认提取的数据,并在银行系统中更新他们的信息。

医疗保健中的OCR

与银行业类似,医疗机构积累了许多纸质文件,例如X射线扫描、测试结果、治疗计划等。OCR算法有助于将这些文件数字化,以防止物理文件丢失并减少手动处理纸质文件所浪费的精力。此外,一些识别手写文本的OCR解决方案可以处理患者登记文件和处方。

医疗索赔系统

有些软件供应商专门从事支持OCR的医疗索赔处理。OCRSolutions就是这样一家公司。它开发了一种产品,可以扫描、验证和正确发送医疗索赔以供进一步处理。该程序经过培训和配置,可以使用常见格式,例如牙科索赔表和CMS-1等。

传真

许多医疗机构仍然依赖传真。光学字符识别解决方案可以将传入的材料转换为可访问的数字存储格式。

发票

OCR支持的解决方案可帮助医疗保健组织将发票数字化并正确归档。一个OCR示例来自总部位于旧金山的Nanonets,它提供了一种专门处理发票的OCR解决方案。该公司声称其软件将把发票数据输入时间从每张发票的3分钟缩短到30秒。

零售中的OCR

光学字符识别算法使零售员工能够节省处理采购订单、发票、装箱单和其他文件的时间。这些解决方案还可以从产品的条形码中提取序列号,并使客户能够扫描他们的凭证并提取序列码。

身份证扫描

商店员工可能出于多种原因需要扫描个人信息,例如年龄验证、填写客户忠诚度信息等。OCR供应商利用了这个机会。

例如,位于佛罗里达州的OCRSolutions开发了idMax,这是一个由OCR驱动的软件,可以扫描ID文档、提取相关字段并使用相应信息填充零售商的数据库。idMax可以本地安装,也可以通过云端访问。

在您的业务中采用OCR解决方案的挑战

如果您决定部署OCR识别算法来改进您的操作,则需要考虑以下几个方面:

输入材料:确保所有输入文件都适合OCR算法。例如,文件需要没有可能干扰算法识别其内容的能力的损坏。对比度足够高,页面是否正确对齐等。一些算法具有强大的预处理能力,可以为您解决其中的一些问题。但如果不是这种情况,也许投资购买高质量的扫描仪并确保正确的页面对齐是一个好主意。

训练数据集:如果您决定训练或重新训练光学字符识别算法,您需要确保您计划使用的数据忠实地代表您的输入材料并包含足够正确的注释。如果您的训练数据集太小,或者没有包含足够的注释,算法将不会产生预期的结果。此外,在训练期间,您需要特别注意相似的字符/符号。例如,数字2和7可能看起来非常相似,尤其是在算法预计可以处理手写文本的情况下。数据科学家需要在训练数据中涵盖这些区别。另一个例子是使用OCR算法来检测和捕获汽车上的车牌。您需要确保您的算法不会将汽车后部的带有文字的自定义标签误认为是车牌。

手写文本:手写带来许多额外的OCR挑战。不同人之间的写作风格多种多样,甚至个别用户的写作也可能不一致。收集可靠的代表性训练数据集是一项挑战,因为您需要考虑所有不同的风格。草书笔迹特别难以处理。此外,虽然印刷文本是一条直线,但手写往往有可变的旋转,这使事情变得更加复杂。

扩展性:如果您增加用户数量或每个时间段的请求数量,系统可能会崩溃,特别是如果您使用开源解决方案并依赖自己的计算能力。如果是在云中运行的商业OCR产品,您可以安排并支付更多容量。

OCR算法的性能监控:部署后,由于不同的因素,算法的性能可能会开始下降。一个例子是训练数据和实际生产数据之间的分布变化。当模型开始处理它没有准备好的数据集时会发生这种情况,例如不同的字体或具有异常倾斜的字符。这些变化会随着时间的推移影响模型的输出,您需要检测这些问题并相应地重新训练模型以保持其初始准确度水平。

总结一下

光学字符识别算法有可能加快您的业务流程。然而,有一些相关的挑战需要考虑。所选算法可能需要重新训练,正确注释大型数据集是一项繁琐的任务。随着业务的扩展,您还需要考虑潜在的扩展。

采用开源解决方案在价格上似乎很诱人,但它也有其缺点,例如缺乏支持和更新,这可能会打开安全漏洞。商业解决方案在这方面更可靠,但成本高且难以定制。

如果您不确定如何进行以及哪种OCR解决方案最适合您的业务,请随时与我们联系。在ITRex,我们很乐意对您的业务需求进行全面评估,以确定最佳OCR选项。我们还可以帮助您重新培训选定的解决方案并将其集成到您的系统中。如果需要,我们还可以构建自定义OCR算法。




转载请注明:http://www.aierlanlan.com/cyrz/1616.html