MA Pro自定义模板应用系列1——合同信息结构化提取

网友投稿 946 2022-05-30

MA Pro自定义模板开发套件的主要功能是帮助用户快速的获取结构化的识别结果,解决以往开发者每来一个新需求都要进行一次模型定制的苦恼。本系列博客将通过介绍一系列的应用案例,帮助读者对自定义模板工具的应用建立一个具象的了解认识,自定义模板提供了一系列的开发能力帮助开发者甚至是业务人员轻松完成某一类文档或卡证票据的结构化识别,当你遇到制式文档或卡证票据的结构化识别的需求时,不妨尝试使用自定义模板工具。我们将首先在本文介绍如何利用自定义模板来完成常见的合同信息的结构化提取任务。

一. 需求描述

合同是重要的业务载体,具有重要的分析利用价值。使用自定义模板服务,将合同文档中的关键字段抽取出,形成规范化的结构化信息,如甲乙方、地址、电话等信息。

二. 需求场景分析

通过分析提供的数据可以发现:

同一种合同的不同样本有可能存在提取的关键字段的位置发生波动的情况,针对这种待提取信息的位置动态变化的场景,我们选择工具自带的动态识别模式,这一模式专门为了解决目标信息位置不固定的场景。同时,我们需要才去一个小的使用技巧,及先扩大识别区域的框选,即我们首先定位到关键字段所在的行或者段,然后通过后处理的自定义字段类型操作,如低代码开发的正则提取等手段,从行信息或者段信息中,将所要提取的关键字段做进一步处理。

合同场景,目标待提取的关键字段可能存在多页上,所以我们使用多模板分类工作流来进行信息提取。制作的时候将存在提取关键字段的页数制作成模板,经过训练后通过自动分类,将数据分到对应的模板,完成关键字段的提取。

上述合同数据的位置浮动的样例图如下所示,同样的合同,但是因为不同内容项的内容多少的不同或回车符的干扰,使得下方的内容的位置发生了变化。

三. 开发

开发流程如下,对于开发者只需要按部就班地操作即可。

MA Pro自定义模板应用系列1——合同信息结构化提取

1. 新建多模板工作空间

在自定义模板服务页创建新项目,填写项目相关信息,并选择多模板分类工作流。

2. 创建分类器

在新建的项目中,创建分类器,输入相关基本信息,并完成模板图片的上传。有哪些合同页存在待提取的信息就需要上传哪些,模板图片选择比较平整清晰的样本效果会更好。

3. 框选参考字段

本示例中选择的模板图相对规整,所以可以直接跳过模板图预处理进行参考字段框选阶段。参考字段是框选内容固定的文字内容,以选取分散在四周进行框选为佳,逐个模板完成参考字段的框选。

4. 框选识别区

根据前述对于需求的分析,框选识别区域的时候,对不同的关键字段采用框选多行的策略,即先框选目标待提取字段所在的区域,然后通过自定义的后处理做进一步的精细化提取。

5. 训练分类器及评估

标注好每一张模板后我们需要进行一个分类器的训练,用来自动区分某一页合同是多模板中的哪一个模板。本文我们所示的案例中仅存在五张模板,且不同模板间差异较大,分类任务比较简单,所以可以选择不上传训练集直接使用模板图做训练集开始分类器训练。完成训练后,工具会自动跳转到了评估页面,此处我们,可以测试一下分类器是否能够准确的对数据进行分类,也可以打开动态识别看我们制作的模板是否把行信息提取出来。

分类器和单模板测试完毕后,我们可以关闭“打开分类模式”按钮,只打开“动态识别按钮”,进入分类器到模板的联合测试。

6. 自定义字段类型编写和优化

在通过前述测试确认已经准确的把行或段信息提取出来之后,在项目的自定义字段类型页面,根据每个字段的真实场景,我们可以使用自定义字段类型的自定义正则提取功能,编写相应的正则规则进一步精细化提取关键字段信息。

编辑好自定义的字段类型后,我们重新返回框选识别区页面,给每个模板的每一个识别区选择对应的自定义字段类型,选择字段类型后,对应的后处理功能即会自动加入图片的推理过程中。

完成识别区的自定义字段类型的勾选后,重新对测试数据进行评估,并根据提取结果继续优化自定义字段类型中的后处理规则,直至准确提取所需要的关键字段。

如下图,我们已经能够准确地提取目标结构化信息,成功过滤掉了其他多余的信息。

机器学习 通用安全

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:J2EE进阶(四)Spring配置文件详解
下一篇:【CMake】CMake 引入 ( Android NDK 构建脚本 | CMake 命令手册 )
相关文章