掌桥专利:专业的专利平台
掌桥专利
首页

一种基于OCR技术的表单生成方法、系统、电子设备及介质

文献发布时间:2024-04-18 20:00:50


一种基于OCR技术的表单生成方法、系统、电子设备及介质

技术领域

本发明属于数据可视化技术领域,具体涉及一种基于OCR技术的表单生成方法、系统、电子设备及存储介质。

背景技术

目前各种办公系统需要制作各种表单,以实现流程审批,数据采集等目的。当前的制作表单的形式需要专业的工程师,使用专门的软件工具进行制作,或者用excel表格制作后导入系统再细化配置各个字段的输入方式,工作繁琐,且普通用户很难胜任。目前以上两种方式搭建表单的方式,是通过录入数据而非识别文字的方式搭建表单。其适用场景有限,并且存在效率低的缺点。

发明内容

本发明旨在至少在一定程度上解决上述技术问题,本发明提供了一种基于OCR技术的表单生成方法、系统、电子设备及存储介质。

为了实现上述目的,本发明采用以下技术方案:

一种基于OCR技术的表单生成方法,包括:

接收待处理图片,并基于所述待处理图片识别出所述待处理图片中所包含的表格信息以及提示性文字;

根据所述表格信息创建待生成表单的行高列宽数据,以基于行高列宽数据得到表单版式,并基于所述表单版式确定每一所述提示性文字在单元格中的位置,所述表单版式中包括多个单元格;

采集多个表单模板,根据多个表单模板中的多个字段名确定每一字段名相对应的输入形式,以形成训练后的数据集,所述输入形式至少包括可选择输入形式和固定输入形式;

基于所述训练后的数据集得到与每一所述提示性文字相匹配的输入形式,并基于每一所述提示性文字相匹配的输入形式、每一所述提示性文字在单元格中的位置和表单版式,生成表单。

一些实施例中,采集多个表单模板,根据多个表单模板中的多个字段名确定每一字段名相对应的输入形式,以形成训练后的数据集,包括:

采集多个表单模板,将多个表单模板中的每一字段名与预设输入形式进行配对,以组成数据集;

通过深度学习方法训练所述数据集,以确定每一字段名相对应的输入形式,其中,确定每一字段名相对应的输入形式后得到训练后的数据集。

一些实施例中,根据OCR处理技术计算出提示性文字在单元格中的相对位置。

一些实施例中,若生成的表单中提示性文字与输入形式不匹配,输出手动输入提示信息;

将所述匹配不正确的输入形式做为新样本加入训练集中进行重新训练,以提高匹配准确率。

一些实施例中,通过OCR处理技术对待处理图片进行亮暗度和清晰度检查,若不满足预设要求则输出重新上传图片信息。

相应的,本申请还提出了一种基于OCR技术的表单生成系统,包括:

接收模块,用于接收待处理图片,并基于所述待处理图片识别出所述待处理图片中所包含的表格信息以及提示性文字;

确定模块,根据所述表格信息创建待生成表单的行高列宽数据,以基于行高列宽数据得到表单版式,并基于所述表单版式确定每一所述提示性文字在单元格中的位置,所述表单版式中包括多个单元格;

采集模块,用于采集多个表单模板,根据多个表单模板中的多个字段名确定每一字段名相对应的输入形式,以形成训练后的数据集,所述输入形式至少包括可选择输入形式和固定输入形式;

生成模块,用于基于所述训练后的数据集得到与每一所述提示性文字相匹配的输入形式,并基于每一所述提示性文字相匹配的输入形式、每一所述提示性文字在单元格中的位置和表单版式,生成表单。

一些实施例中,所述采集模块具体用于:

采集多个表单模板,将多个表单模板中的每一字段名与预设输入形式进行配对,以组成数据集;

通过深度学习方法训练所述数据集,以确定每一字段名相对应的输入形式,其中,确定每一字段名相对应的输入形式后得到训练后的数据集。

一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如所述方法的步骤。

一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述方法的步骤。

有益效果:

本申请用户通过拍照上传纸质表单照片,通过表格识别的方法对识别的提示性文字进行处理,设置对应的输入形式,自动生成表单,大幅提升了操作体验以及操作效率,传统方式是用户在软件上制作表格,设置字段,操作比较繁琐,本申请的表单生成方法可适用于多种应用场景,降低了使用门槛即可在各种办公系统或者其他软件系统上生成表单,操作智能与便捷,并且能够显著提升工作效率。

附图说明

图1为本申请实施例提供的一种基于OCR技术的表单生成方法的流程示意图;

图2为本申请实施例提供的一种费用报销表单的示意图;

图3为本申请实施例提供的一种基于OCR技术的表单生成系统的流程示意图;

图4为本申请实施例提供的一种电子设备实体结构示意图。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将结合附图和实施例或现有技术的描述对本发明作简单地介绍,显而易见地,下面关于附图结构的描述仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在此需要说明的是,对于这些实施例方式的说明用于帮助理解本发明,但并不构成对本发明的限定。

应当理解,尽管本文可能使用术语第一、第二等等来描述各种单元,但是这些单元不应当受到这些术语的限制。这些术语仅用于区分一个单元和另一个单元。例如可以将第一单元称作第二单元,并且类似地可以将第二单元称作第一单元,同时不脱离本发明的示例实施例的范围。

应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示:单独存在A,单独存在A和B两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。

实施例1:

本实施例公开了一种基于OCR技术的表单生成方法,可以但不限于由具有一定计算资源的计算机设备或虚拟机执行,例如由个人计算机、智能手机、个人数字助理或可穿戴设备等电子设备执行,或者由虚拟机执行。

如图1所示为本发明实施例提出的一种基于OCR技术的表单生成方法的流程示意图,包括:

S201,接收待处理图片,并基于所述待处理图片识别出所述待处理图片中所包含的表格信息以及提示性文字。

具体的,目前各种办公业务系统有自己的表单模板的格式,通常为行宽列高,提示性文字,和输入框的输入方式及其所在的位置构成。用户通过拍照上传纸质的表单的照片,当接收到纸质的表单的照片(即待处理图片)后,通过类似paddleOCR,TableNet深度学习方法或其他ocr方式识别待处理图片中所包含的表格信息以及提示性文字。

S202,根据所述表格信息创建待生成表单的行高列宽数据,以基于行高列宽数据得到表单版式,并基于所述表单版式确定每一所述提示性文字在单元格中的位置,所述表单版式中包括多个单元格。

具体的,根据所述表格信息创建待生成表单的行高列宽数据,以基于行高列宽数据得到表单版式,其中,每个表单版式中包含多个单元格(输入框),根据OCR处理技术计算出提示性文字在单元格中的相对位置。

S203,采集多个表单模板,根据多个表单模板中的多个字段名确定每一字段名相对应的输入形式,以形成训练后的数据集,所述输入形式至少包括可选择输入形式和固定输入形式。

具体的,在实际的应用场景中,不同的业务对应不同的表单,因此,针对不同的业务,可以创建不同的业务所对应的表单模板,表单模板包括表单名称、表单类别等,比如创建一个请假申请表单模板,包括姓名、部门、请假类型、申请日期、请假时间、请假事由、注意事项等。采集多个表单模板,根据多个表单模板中的多个字段名确定每一字段名相对应的输入形式,以形成训练后的数据集,所述输入形式至少包括可选择输入形式和固定输入形式。常见的输入形式有日期、时间、单选,多选等形式。本申请在提取完表格后,生成一个有业务逻辑的表单,而不只是一个简单的表格。每个单元格都有特定的含义和类型,比如有的是只能输入日期的,即固定输入形式,有的是可以选择的(即可选择输入形式),比如所属区域,可在此单元格下进行多项选择。

为了精确确定每一字段名相对应的输入形式,在本方案的优选实施例中,采集多个表单模板,根据多个表单模板中的多个字段名确定每一字段名相对应的输入形式,以形成训练后的数据集,包括:

采集多个表单模板,将多个表单模板中的每一字段名与预设输入形式进行配对,以组成数据集;通过深度学习方法训练所述数据集,以确定每一字段名相对应的输入形式,其中,确定每一字段名相对应的输入形式后得到训练后的数据集。

为了能够准确的生成表单,在本方案的优选实施例中,接收待处理图片之后,还包括:

通过OCR处理技术对待处理图片进行亮暗度和清晰度检查,若不满足预设要求则输出重新上传图片信息。

具体的,通过OCR处理技术对待处理图片进行亮暗度和清晰度检查,若不满足预设要求则输出重新上传图片信息。

S204,基于所述训练后的数据集得到与每一所述提示性文字相匹配的输入形式,并基于每一所述提示性文字相匹配的输入形式、每一所述提示性文字在单元格中的位置和表单版式,生成表单。

为了提高生成表单的准确率,在本方案的优选实施例中,生成智能表单之后,还包括:

若生成的表单中提示性文字与输入形式不匹配,输出手动输入提示信息;将所述匹配不正确的输入形式做为新样本加入训练集中进行重新训练,以提高匹配准确率。

本方法通过上传图片自动生成表单,大幅提升了操作体验,降低了使用门槛,例如填写报销单,一般企业都有纸质报销单,用户通过拍照上传纸质报销单的照片,即可在各种办公系统或者其他软件系统上生成一个报销单的模板,无需聘请工程师来制作。

实施例2:

具体操作流程包括:

1.各种办公系统有自己的表单模板的格式,通常为行宽列高,提示性文字,和输入框的输入方式及其所在的位置构成。通过类似paddleOCR,TableNet深度学习方法或其他ocr方式识别待处理图片的表格和文字。

2.根据步骤1识别出来的表格信息创建行高列宽数据。

3.并根据识别出的提示性文字及所在的行列创建表单模板对应行列上的提示性文字。

4.预先准备大量的表格上常见文字和这些文字作为字段名可能的输入形式(常见输入形式有日期、时间、单选,多选等形式)配对组成的数据集。

5.使用数据集通过深度学习的方法进行训练,获取各种字段名对应的输入形式。具体模型可以选用全连接前馈网络,TextCNN,LSTM,Transformer等各种适用的模型。

6.根据表格上的提示文字,以及上述深度学习的结果,匹配设置其右侧的单元格对应的输入类型,创建的对应类型的输入框,形成一个表单模板。

7.纠错和训练:如果系统匹配的输入形式不正确,用户可以手动调整正确的输入形式,系统将此次输入作为一个新的样本加入训练数据集中,重新训练,以提升匹配准确率。

如图2所示的报销单,系统通过深度学习或其他ocr方法,识别出行列信息及文字信息(如项目名称,项目编号,报销人等)。根据预训练的数据预测判定提示文字对应的输入形式。将行列信息,文字信息,输入框信息及对应行列位置通过构建各种办公和业务系统规定的表单格式,形成一个表单模板。普通用户即可打开此表单模板填写费用报销信息。

如图3所示,本发明实施例提供的一种基于OCR技术的表单生成系统,包括以下步骤:

接收模块10,用于接收待处理图片,并基于所述待处理图片识别出所述待处理图片中所包含的表格信息以及提示性文字;

确定模块20,根据所述表格信息创建待生成表单的行高列宽数据,以基于行高列宽数据得到表单版式,并基于所述表单版式确定每一所述提示性文字在单元格中的位置,所述表单版式中包括多个单元格;

采集模块30,用于采集多个表单模板,根据多个表单模板中的多个字段名确定每一字段名相对应的输入形式,以形成训练后的数据集,所述输入形式至少包括可选择输入形式和固定输入形式;

生成模块40,用于基于所述训练后的数据集得到与每一所述提示性文字相匹配的输入形式,并基于每一所述提示性文字相匹配的输入形式、每一所述提示性文字在单元格中的位置和表单版式,生成表单。

在具体的应用场景中,所述确定模块20具体用于:

采集多个表单模板,将多个表单模板中的每一字段名与预设输入形式进行配对,以组成数据集;

通过深度学习方法训练所述数据集,以确定每一字段名相对应的输入形式,其中,确定每一字段名相对应的输入形式后得到训练后的数据集。

图4为本发明实施例提供的电子设备实体结构示意图,如图4所示,电子设备60包括:处理器601(processor)、存储器602(memory)和总线603;

其中,处理器601、存储器602通过总线603完成相互间的通信;

处理器601用于调用存储器602中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:接收待处理图片,并基于所述待处理图片识别出所述待处理图片中所包含的表格信息以及提示性文字;根据所述表格信息创建待生成表单的行高列宽数据,以基于行高列宽数据得到表单版式,并基于所述表单版式确定每一所述提示性文字在单元格中的位置,所述表单版式中包括多个单元格;采集多个表单模板,根据多个表单模板中的多个字段名确定每一字段名相对应的输入形式,以形成训练后的数据集,所述输入形式至少包括可选择输入形式和固定输入形式;基于所述训练后的数据集得到与每一所述提示性文字相匹配的输入形式,并基于每一所述提示性文字相匹配的输入形式、每一所述提示性文字在单元格中的位置和表单版式,生成表单。

本实施例提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行上述各方法实施例所提供的方法。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术分类

06120116541606