ABBYY FlexiCapture Engine 10.0:创建模板识别的新工具
实现数据提取快速配置(适用于简单类型的文档)是ABBYY FlexiCapture Engine 10.0这个软件开发工具包的一大特点。为了让用户可以充分使用该功能,ABBYY FlexiCaptureEngine 10.0中特意配置了API。此外,我们还创建了一个易用工具(也提供了源代码形式),使用这个工具,用户可以在几分钟内创建数据提取解决方案模板。
这篇文章由开发人员撰写,并面向开发人员介绍了这项技术的特点和局限性——这些内容在宣传材料中是找不到的。
限制数据捕获技术推广的原因之一是:用户需要在最初投入时间和精力来使用这个软件处理某些类型的文档。为此,开发人员/ 集成人员需要掌握大量新工具,并熟悉数据采集技术的细节;然后,他们才能创建解决方案模板并评估整个项目的效益。
有了这套新工具以后,用户就暂时不必了解数据采集技术的细枝末节。这项新功能并不能完全取代FlexiLayout Studio,但用户可以利用它完成简单的识别任务,提取必要的数据,或为复杂的识别任务创建简单实用的模板。
要使用API提取数据,只需书写几行代码,其中包括以下内容:
// 创建FlexiCapture处理器,并使用一个或多个文档定义文件来配置处理器
IFlexiCaptureProcessorprocessor = engine.CreateFlexiCaptureProcessor();
processor.AddDocumentDefinitionFile(sampleFolder + "Invoice_eng.fcdot" );
这行代码用于配置FlexiCapture工具,使之能够处理特定类型的文档。
扩展名为FCODT(FlexiCapture文档模板)的文件中包含了对数据提取对象及应用限制的描述、在图像中定位相关数据的方法、识别设置以及导出设置(可选)。该文件是使用Flexilayout Studio工具在FlexiCapture中创建的。
处理样本任务很容易。但我们如何才能针对现实中的数据识别任务,创建精确的文档定义呢?
在ABBYY FlexiCapture10发布之前,您需要安装FlexiCapture桌面版,并学会使用其文档定义工具和FlexiLayout Studio。同时,该最新版本中包含“自动生成模板”的软件向导,您可以利用向导在几分钟之内创建出有效的模板。下面,我们结合实例来看看它的工作原理。
问题
假设我们想开发一个将发票登入某会计系统的应用程序。我们需要处理一批发票扫描文件。首先,我们将选出相同类型的发票,用来为我们的应用程序创建一个文档识别模板。
以下是ABBYYFlexiCapture Engine 10.0在实际应用中的不足和潜力:
•它无法创建一个适用于所有发票的通用模板:该模板只能够从结构类似的发票(最好是来源相同)中捕捉数据;
•它无法描述复杂的结构(如表格)——这样的工作只能在FlexiLayout Studio中完成;
•但是,它创建的模板可以提取“扁平化”数据,如发票编号、日期、金额等。
解决方案
首先,我们需要创建一个文件夹,选择3-5张要处理的图片放入其中。这些训练图片(training images)必须非常清晰,几乎没有颗粒,这样我们才能基于理想的数据识别任务创建模板。
1.打开模板生成器,然后选择训练图片所在的文件夹:
选择训练图片所在的文件夹。如果您以前使用过该文件夹,您可以继续训练现有的项目。
2. 选择语言:
选择名称和语言
选择文档类型的名称,以及图像整体分析所用的语言。
3. 选择要导出的数据字段,并命名:
选择数据字段
用鼠标框出要提取数据的一个或多个数据字段。
4.现在到了整个过程中唯一较为复杂的步骤:创建参照元素。参照元素是图像中的一些固定对象,根据它们可以确定可变数据字段的相对位置。数据字段的标题通常是很好的参照元素(以截图为例)。
特别注意:并非每个数据字段都需要参照因素。事实上,参照元素太多会导致页面混乱;对于某些文件来说,一个参照元素就足够了。
参照元素文本可能会有所不同:例如有些发票可能使用“总和”,而不是“总量”;出现这种情况时,应在训练阶段将这俩视为同义词。此外,参照元素文本应该是唯一的——比如,如果文档同时包含“合计”和“价税合计”,则不应使用“合计”作为单独的参照因素。
选择参照元素
找出大多数此类图片共有的某些属性。最好选择一些简短独特的文本标签,如表头或字段描述。用鼠标框出这些属性。
5.接下来,检查剩余训练图片的布局;系统已经根据训练结果生成了一个布局(layout)。此时,我们需要纠正其中的各种错误:调整字段位置、删除多余的字段并恢复丢失的字段。在示例中,检查第一张图像之后,没有发现错误,但识别时出现了小问题。
特别注意:许多数据识别问题应该归因于我们使用的默认设置,此时最好能调整这些默认设置(如指定要使用的字体、限制可能出现的字母,等等)。
特别注意:有些图像中可能不包括某些字段。
特别注意:您可以通过“模板\修改语言和字段”菜单随时编辑要选择的语言和字段。
ABBYY FlexiCapture Engine 10.0:创建模板识别的新工具相关推荐
- ABBYY FlexiCapture Engine使用心得分享
介绍 两周前,在网站看到某位哥们发的OCR应用开发心得,便也利用空闲时间使用泰比公司(ABBYY)的FlexiCapture Engine试用版创建了一些简单的OCR应用. 开始创建 在已经装有开发工 ...
- Android 10.0创建恢复出厂设置不被清除的文件夹节点
在系统开发中,希望保存一些数据 在恢复出厂设置以后也不会被清理掉,这样就希望创建的节点不在被清理的范围内 而recovery主要会清理 /data/ 和 /cache 分区的数据 卸载安装的app A ...
- ArcGIS Engine环境下创建自定义的ArcToolbox Geoprocessing工具
在上一篇日志中介绍了自己通过几何的方法合并断开的线要素的ArcGIS插件式的应用程序.但是后来考虑到插件式的程序的配置和使用比较繁琐,也没有比较好的错误处理机制,于是我就把之前的程序封装成一个类似于A ...
- Windows和Linux下apache-artemis-2.10.0安装配置
window下安装配置 一.官网下载 http://activemq.apache.org/artemis/download.html 二.百度网盘下载 链接:https://pan.baidu.co ...
- 解读 Knative Eventing v0.10.0 最新版本特性
前言 Knative Eventing v0.10.0 版本已经于 10 月 29 号正式发布.本次发布继续围绕完善 Eventing 中相关功能展开.本篇文章通过解读这些功能特性,让你快速对 v0. ...
- Python 最近两条好消息:①TIOBE排名超过C和Java②新版本发布3.10.0,还有今天刚发布的《What’s New in Python(2021.10.15)》
来自TIOBE的最新10月份统计数据显示,Python首次超越Java.JavaScript.C语言等,成为最受欢迎的编程语言.TIOBE过去20年一直在追踪编程语言的受欢迎程度,其数据来自于对25个 ...
- 鸿蒙系统8xmax,华为8月9日发布基于安卓10.0全新系统:自主鸿蒙会同台亮相
7月27日消息,对于即将开幕的华为开发者大会,华为终端官方再次给出消息称,在8月9日首天的大会上,他们将发布新一代基于Android Q(也叫做Android 10.0)的手机系统EMUI 10.0. ...
- 鸿蒙系统荣耀8xmax,华为8月9日发布基于安卓10.0全新系统 自主鸿蒙会同台亮相
原标题:华为8月9日发布基于安卓10.0全新系统 自主鸿蒙会同台亮相 7月27日消息,对于即将开幕的华为开发者大会,华为终端官方再次给出消息称,在8月9日首天的大会上,他们将发布新一代基于Androi ...
- vs2019中如何创建qt项目_VS2019创建新项目居然没有.NET Core3.0的模板?
今天是个值得欢喜的日子,因为VS2019在今天正式发布了.作为微软粉,我已经用了一段时间的VS2019 RC版本了.但是,今天有很多小伙伴在我的<ASP.NET Core 3.0 上的gRPC服 ...
最新文章
- JSON http://www.cnblogs.com/haippy/archive/2012/05/20/2509329.html
- react+dva+antd接口调用方式
- 可怕又可笑的看病经历
- 用隐式反馈做推荐模型,你做对了吗
- boost::container模块实现默认初始化的程序
- CSS3开发总结(圆角、盒阴影、边界图片)
- docker php nginx,使用docker快速搭建nginx+php环境
- 【鲲鹏 DevKit黑科技解读】│如何实现全链路系统问题90%精准诊断?
- 中国好岳父?女婿亏掉公司半个亿 岳父3天还清!涉事公司回应了
- MRF,马尔科夫随机场
- 远程连不上mysql_解决MySQL远程连接不上的问题
- Ubuntu su root提示输入密码 怎么输入都不对
- 【转】从事IT行业的应该如何学习最高效的休息方式
- 计算机考研复试汇总(所有科目)
- matlab 实现排序
- 桌面计算机怎么设置声音,右下角小喇叭不见了-电脑桌面右下角有一个调整声音的小喇叭图标没 – 手机爱问...
- 星空之夜(哈希+DFS)
- David G. Lowe课题组 Fully Automatic Multi-target Tracking System
- NB-IoT从原理到实践 学习笔记 part1-8
- 如何使用Markdown语言编写文档