一种基于OCR识别技术的表单快速搭建方法与流程

文档序号:32941940发布日期:2023-01-14 09:21阅读:36来源:国知局
一种基于ocr识别技术的表单快速搭建方法
技术领域
:1.本发明涉及低代码
技术领域
:,尤其涉及一种基于ocr识别技术的表单快速搭建方法。
背景技术
::2.低代码开发平台(lcdp)是无需编码(0代码)或通过少量代码就可以快速生成应用程序的开发平台。通过可视化进行应用程序开发的方法(参考可视编程语言),使具有不同经验水平的开发人员可以通过图形化的用户界面,使用拖拽组件和模型驱动的逻辑来创建网页和移动应用程序。3.低代码的表单功能正在逐渐取代线下的纸质化流程,但在纸质化向线上化转型中,需要大量的将线下的纸质表格手动输入到系统中,创建新的表格,首先,对于不熟悉低代码使用的人群,或者表格内容较多的情况下,手动录入的方式耗费时间和人力,也容易出现遗漏偏差等问题;4.其次,使用已有的excel/word导入创建表单的方式,需要先完成纸质表格到excel/word文档的录入工作,同样需要人工先转录,才能再次导入,占用较多的人力成本和时间成本;5.最后,现有公开号为:cn109784235a,名称为“纸质表单的自动录入方法、装置、计算机设备和存储介质”,以及公开号为:cn109886108a,名称为“一种表单任意区域字符识别与信息录入方法”的中国专利,虽然同样实现了表单搭建,但是其本质是通过录入数据而非识别文字的方式搭建表单,且依赖于已有的电子模板,适用场景有限。技术实现要素:6.为了解决上述
背景技术
:中所提到的技术问题,而提出的一种基于ocr识别技术的表单快速搭建方法。7.为了实现上述目的,本发明采用了如下技术方案:8.一种基于ocr识别技术的表单快速搭建方法,包括以下步骤:9.s1:通过表单搭建页面的上传图片入口上传纸质表格图片,图片上传成功后,调用ocr服务接口对图片进行亮暗度、清晰度检查,对于满足检查要求的图片调用图片识别接口,对于不满足检查要求的图片,重新拍照上传;10.s2:通过调用ocr文字识别服务接口,获取返回的图片中的文字数据,文字数据包括图片分辨率信息、识别到的文字信息和文字在图片中的绝对位置坐标信息,若图片中不包含文字,识别失败,返回步骤s1;11.s3:对于识别到的文字进行语义匹配,获得对应的表单组件;12.s4:计算识别到的文字在布局中的绝对位置与宽高,结合布局预设方案计算出字段在布局中的位置;13.s5:根据识别出的表单组件、布局位置和比例进行排列,获得表单预览页面,根据识别出表单组件获得组件列表,手动调整组件列表中的组件类型,对表单预览页面中的表单组件进行编辑;14.s6:确认表单预览页面中的字段无误后,在表单设计页面生成表单页面,设置表单参数,完成表单创建。15.作为上述技术方案的进一步描述:16.在步骤s3中,所述文字语义匹配步骤包括:17.s31:将识别到的文字与数据库中的字段名称进行精确和模糊匹配,获取匹配到的字段名称对应的表单组件集合,并对表单组件集合进行分组统计,取分组中数量最多的组件类型作为待匹配文字的类型;18.s32:当匹配到的组件类型为单选或者复选或者表格时,则继续进行字段匹配,单选或者多选会继续识别选项值,表格则按照步骤s31识别表格中的组件类型;19.s33:当未匹配到的组件类型为单选、复选或者表格的复合类型时,手动确定识别到的文字是单选、复选或者表格,并将其他字段加入到该复合类型中;20.s34:基于步骤s31-s33匹配失败的,按照语义化基本规则进行匹配,基于语义化基本规则和步骤s31-s33均匹配失败的,组件类型默认为text。21.作为上述技术方案的进一步描述:22.在步骤s31中,字段精确匹配为:将待匹配的识别文字作为匹配条件带入到查询条件中的name.keyword做关键字筛选,对筛选到的记录按字段类型datatype进行分组统计,取统计数量最大的组的类型作为文字的语义化字段类型。23.作为上述技术方案的进一步描述:24.在步骤s31中,字段模糊匹配为:当精确匹配无法匹配到数据时,采用分词进行模糊匹配,取相关性最大的记录的类型作为待匹配文字的类型,最大相关性数据存在多条,则对记录按字段类型进行分组,取最大分组的类型作为文字的语义化类型。25.作为上述技术方案的进一步描述:26.在步骤s32中,当匹配到的类型是一个单选或者复选类型时,则会进行选项的匹配,选项的匹配规则为:27.s321、基于步骤s31确认字段类型的数据样本,获取这些数据的options属性,并将这些选项全部封装为一个set集合再去重,得到一个选项的并集;28.s322、通过并集集合到ocr识别数据中精确匹配可能选项;29.当匹配到的类型是一个表格类型时,则会进行表格表头字段的匹配,其匹配规则为:30.s323、基于步骤s31确认字段类型的数据样本,获取这些数据的tablefield属性,并将这些表头字段全部封装为一个set集合再去重,得到一个表头字段的并集;31.s324、通过并集集合到ocr识别数据中精确匹配可能选项。32.作为上述技术方案的进一步描述:33.在步骤s1中,采用图像清晰度评价算法计算图像清晰度,在tenegrad函数中使用sobel算子处理图片后,提取图片水平和垂直方向的梯度值,若计算所得的梯度值低于预设的阈值,则判断图片不满足检查要求。34.作为上述技术方案的进一步描述:35.在步骤s4中,表单布局的预设方案包括:1/2行、1/3行、1/4行、2/3行、3/4行、整行,单行至多允许有4个组件,根据ocr识别到的文字位置计算出字段在表单布局中的相对位置。36.作为上述技术方案的进一步描述:37.在步骤s4中,表单布局计算步骤如下:38.s41、以图片的宽度imagewidth为基准,获取第一个识别到的字段,获取这个字段的width属性值,计算imagewidth-width,若计算结果小于0,则该第一个字段独占一行,否则,记录这个计算结果用于第二次计算;39.s42、获取下一个字段,运用上一个计算结果再计算宽度,直到计算结果小于等于0或者字段数达到4个为止,之后再进行下一行的布局计算,小于0时最后一个字段不计入当前行,等于0时,最后一个字段计入当前行;40.s43、当获取到的字段类型是table类型时,直接进行下一行的布局计算,并且table独占一行,同时,table内的字段不参与位置的计算,直接显示在table中。41.作为上述技术方案的进一步描述:42.在步骤s5中,表单预览界面的获取步骤为:43.s51、当所有的识别文字匹配完毕后,返回匹配的表单数据到前端;44.s52、前端页面在获取表单数据后,以被识别的图片作为背景图,生成一个画布,遍历所有字段对象,将识别到的文字和位置覆盖到画布中,并展示语义化后的字段名称与类型,画布中可操作框与语义化后的表单字段通过唯一key进行关联。45.综上所述,由于采用了上述技术方案,本发明的有益效果是:46.1、本发明中,首先,用户只需将表单拍照上传即可快速识别,省去了使用excel导入需要先手动将信息录入到excel的操作,最大限度地降低手动录入花费的时间成本和人力成本,降低用户维护信息的成本,其次,增加了识别语义化的过程,通过自动识别,快速分析和匹配字段类型,帮助用户快速理解表单的组件类型,用户无需理解字段类型的差异,即可快速搭建表单,降低用户理解成本。47.2、本发明中,图片快速识别尤其适用于表单的字段组件较多的情况,通过ocr和语义化的自动处理,快速录入和搭建表单,为用户节省大量时间,简单操作即可快速完成搭建。48.3、本发明中,依托平台大数据的优势,基于历史数据,帮助用户自动分析和处理字段组件类型,提高字段类型匹配的精确度。附图说明49.图1示出了根据本发明实施例提供的一种基于ocr识别技术的表单快速搭建方法的流程示意图;50.图2示出了根据本发明实施例提供的一种基于ocr识别技术的表单快速搭建方法的工作原理示意图。具体实施方式51.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。52.实施例一53.请参阅图1和图2,本发明提供一种技术方案:一种基于ocr识别技术的表单快速搭建方法,包括以下步骤:54.s1:安装/登录低代码系统:登录低代码系统,并进入表单搭建页面,搭建页面支持通过字段组件创建自定义表单,同时支持选择上传图片识别后自动创建表单;55.s2:用户将纸质的表格拍照,并通过表单搭建页面的上传图片入口上传纸质表格图片,图片上传成功后,调用ocr服务接口,服务对上传的图片进行亮暗度、清晰度的检查,对满足要求的图片调用图片识别接口,可识别出图片中的文字以及文字在整个图片中的绝对位置,对不满足亮暗度要求和清晰度要求的图片,重新拍照上传;56.其中,图片亮暗度方式为:将图片转换为灰度图片,计算图片的灰度均值和方差,亮度均值在80-120的图片满足亮度检查要求;57.采用图像清晰度评价算法计算图像清晰度,原理为:对焦好的图像具有更尖锐的边缘,故具有更大的梯度函数值,具体的,图片清晰度检查方式为:在tenengrad函数中使用sobel算子提取水平和垂直方向的梯度值,值越大,图像越清晰,若计算所得的梯度值低于预设的阈值,则不满足图像清晰度要求;58.s3:通过调用ocr文字识别服务接口,获取返回的图片中的文字数据,文字数据包括图片分辨率信息、识别到的文字信息和文字在图片中的绝对位置坐标信息,如下所示,识别到的图片文字返回格式从上至下返回,格式为text/json,识别到的每一个词组都是一个对象,图片中不包含文字,识别失败,返回s2;59.返回的图片中的文字数据的示例如下:60.[0061][0062]其中,result:ocr服务识别返回的结果对象,包含了图片相关的分辨率信息和识别到的文字信息和文字在图片中的绝对位置坐标信息;[0063]imagewidth:图片的宽度,单位px,类型为数字;[0064]imageheight:图片的高度,单位px,类型为数字;[0065]words:识别到的文字信息,text属性为识别到的文字内容,position为识别到文字所在图片的绝对位置,所谓绝对位置就是,以图片的左上角为0轴,文字基于0轴的距离;top属性值为基于x轴的上边距,left属性值为基于y轴的左边距,width属性值为识别到的文字在图片中所占宽度,height属性值为识别文字在图片中所占高度。因图片中会识别出多个文字,不同的词组、绝对位置与宽高不同,因此该属性的类型是一个数组类型;[0066]s4:对于识别到的文字进行语义匹配,获得对应的表单组件,表单组件包含的类型有:text(单行文本)、multi_text(多行文本)、num(数字)、date(日期)、select(单选)、multi_select(复选)、attachment(附件)、boolean(开关)、picture(图片)、table(表格);[0067]在表单服务数据库中,已存在大量的表单字段,每一个字段都有各自的字段名称,字段类型,语义化的过程就是ocr识别到的文字转换为的表单字段,每一个生成的表单字段在数据库中都是一个json对象,在进行语义化匹配时,主要关注的属性为:name(表单字段的名称),datatype(表单字段的类型),options(当类型是单选或者多选时,字段对应的选项),tablefields(当类型是表格时,内容为对应的表格的表头);[0068]因此,文字语义匹配具体步骤为:[0069]s41:将识别到的文字与数据库中的字段名称进行精确和模糊匹配,获取匹配到的字段名称对应的表单组件集合,并对表单组件集合进行分组统计,取分组中数量最多的组件类型作为待匹配文字的类型,基于历史数据的沉淀,帮助用户快速确定组件类型,减少用户理解和使用成本,例如:假设“姓名”在数据库中匹配到1000条数据,包含了文本、数字、单选三种类型,但是800条都是文本类型的,那么可以推断识别到的“姓名”大概率是文本类型的字段,帮助用户做快速确定组件的类型;[0070]具体的,字段模糊匹配为:当精确匹配无法匹配到数据时,采用分词进行模糊匹配,取相关性最大的记录的类型作为待匹配文字的类型,最大相关性数据存在多条,则对记录按字段类型进行分组,取最大分组的类型作为文字的语义化类型;[0071]如当需要对员工姓名进行关键字筛选时,实现如下所示,当使用term进行匹配时,会对name条件进行精确匹配,即:[0072][0073]字段精确匹配为:将待匹配的识别文字作为匹配条件带入到查询条件中的name.keyword做关键字筛选,对筛选到的记录按字段类型datatype进行分组统计,取统计数量最大的组的类型作为文字的语义化字段类型;[0074]如当需要对员工姓名进行分词筛选时,使用match进行匹配时,会对name条件进行分词模糊匹配,即:[0075][0076][0077]s42:当匹配到的组件类型为单选或者复选或者表格时,则继续进行字段匹配,单选或者多选会继续识别选项值,表格则按照步骤s31识别表格中的组件类型;[0078]具体的,当匹配到的类型是一个单选或者复选类型时,则会进行选项的匹配,选项的匹配规则为:[0079]s421、基于步骤s41确认字段类型的数据样本,获取这些数据的options属性,并将这些选项全部封装为一个set集合再去重,得到一个选项的并集;[0080]s422、通过并集集合到ocr识别数据中精确匹配可能选项,待匹配数据的样本区间为:当前匹配字段以后的字段,匹配规则:匹配到第一个返回,未匹配到则略过;[0081]当匹配到的类型是一个表格类型时,则会进行表格表头字段的匹配,其匹配规则为:[0082]s423、基于步骤s41确认字段类型的数据样本,获取这些数据的tablefield属性,并将这些表头字段全部封装为一个set集合再去重,得到一个表头字段的并集;[0083]s424、通过并集集合到ocr识别数据中精确匹配可能选项,待匹配数据的样本区间为:当前匹配字段以后的字段,匹配规则:匹配到第一个返回,未匹配到则略过;[0084]s43:当未匹配到的组件类型为单选、复选或者表格的复合类型时,手动确定识别到的文字是单选、复选或者表格,并将其他字段加入到该复合类型中;[0085]s44:基于步骤s41-s43匹配失败的,按照语义化基本规则进行匹配,基于语义化基本规则和步骤s41-s43均匹配失败的,组件类型默认为text;[0086]具体的,语义化基本规则为:[0087]识别文字为时间类词组,比如“生日”、“日期”、“月份”等,将其识别为日期字段类型,对应表单组件类型为date;[0088]识别文字为数量类词组,比如“单价”、“数量”、“个数”等,将其识别为数字字段类型,对应表单组件类型为num;[0089]识别文字为图片类词组,比如“头像”、“照片”等,将其识别为图片字段类型,对应表单组件类型为picture;[0090]识别文字为文件类词组,比如“附件”、“文件”等,将其识别为附件字段类型,对应表单组件类型为attachment;[0091]识别文字为姓名、地址类词组,比如“姓名”、“身份证号”、“学校”,”地址”等,将其识别为单行文本字段类型,对应表单组件类型为text;[0092]识别文字为自评、简介类词组,比如“个人自评”、“个人简介”等,将其识别为复选字段类型,对应表单组件类型为multi_text;[0093]s5:计算识别到的文字在布局中的绝对位置与宽高,结合布局预设方案计算出字段在布局中的位置;[0094]表单布局的预设方案包括:1/2行、1/3行、1/4行、2/3行、3/4行、整行,单行至多允许有4个组件,根据ocr识别到的文字位置计算出字段在表单布局中的相对位置;[0095]具体的,表单布局计算步骤如下:[0096]s41、以图片的宽度imagewidth为基准,获取第一个识别到的字段,获取这个字段的width属性值,计算imagewidth-width,若计算结果小于0,则该第一个字段独占一行,否则,记录这个计算结果用于第二次计算;[0097]s42、获取下一个字段,运用上一个计算结果再计算宽度,直到计算结果小于等于0或者字段数达到4个为止,之后再进行下一行的布局计算,小于0时最后一个字段不计入当前行,等于0时,最后一个字段计入当前行;[0098]s43、当获取到的字段类型是table类型时,直接进行下一行的布局计算,并且table独占一行,同时,table内的字段不参与位置的计算,直接显示在table中;[0099]s6:根据识别出的表单组件、布局位置和比例进行排列,获得表单预览页面,根据识别出表单组件获得组件列表,手动调整组件列表中的组件类型,对表单预览页面中的表单组件进行编辑;[0100]具体的,表单预览界面的获取步骤为:[0101]s61、当所有的识别文字匹配完毕后,返回匹配的表单数据到前,格式如下:[0102][0103][0104]s62、前端页面在获取表单数据后,以被识别的图片作为背景图,生成一个与layoutsize同等像素大小的画布,左侧是画布,右侧为识别出的数据,然后遍历template中的所有字段对象,将识别到的文字和位置覆盖到画布中,将语义后的字段名称与类型展示在右侧列表中,具体的,获取到了识别到的字段信息以及字段的布局位置信息以及字段的默认类型信息,就可以把这些信息展示到表单生成的编辑页面,此页面分为2个版面,左侧画布是被识别的原图,右侧是识别到的后端返回的数据,左侧画布中的可操作框与右侧语义化后的表单字段通过唯一key进行关联,当点击左侧的框时,右侧对应的字段也会高亮,点点击右侧的字段时,左侧对应key的框同样高亮;[0105]由于ocr文字识别也会存在误差错误的情况,此时需要用户确认,当修改了某个key的识别文字后,则会对语义进行重新匹配,当用户手动修改了字段的类型,如果是非复合字段修改为复合字段,不会再进行复合字段的匹配,需要用户自己组装复合字段,如果是复合字段修改为非复合字段,那么复合字段中的其他字段会进行重新匹配;[0106]s7:确认表单预览页面中的字段无误后,在表单设计页面生成表单页面,设置表单参数,如小数位数、必填、长度等,保存表单即可完成表单创建。[0107]首先,本发明不需要借助专业的扫描设备,用户使用普通的手机即可直接拍照传输后传输到电脑中使用,操作更为简便快速,在图片类型上,本发明支持大部分的图片格式识别,如bmp、jpg、png、tif等,在操作步骤上,本发明不需要提前设置网页表单模板,可根据图片中识别的内容自动处理成表单样式,操作更加简便,在控件上,本发明不仅支持input和textarea控件,还支持number、date、picture、boolean、select、multi_select、table等控件,支持的类型更加丰富,能满足用户多样化的诉求,解决了在控件类型判断上的效率问题,通过大数据的匹配,快速帮助用户匹配合适的控件类型,识别的数据准确度更高,本发明支持多样的控件类型,包含复杂的子表(table)类型的识别。[0108]其次,本发明相比其他的低代码平台,将ocr文字识别技术常运用于表单数据采集环节,而非表单构建环节,创新性的将表单搭建和ocr技术进行结合,加速了表单搭建速度,拓展了ocr识别在低代码领域中的应用场景和边界;[0109]具体的,有以下多个优势:(1)降低用户维护信息的成本:用户只需将表单拍照上传即可快速识别,省去了使用excel导入需要先手动将信息录入到excel的操作,最大限度地降低手动录入花费的时间成本和人力成本;[0110](2)降低用户理解成本:增加了识别语义化的过程,通过自动识别,快速分析和匹配字段类型,帮助用户快速理解表单的组件类型,用户无需理解字段类型的差异,即可快速搭建表单;[0111](3)节省用户手动搭建花费的时间:图片快速识别尤其适用于表单的字段组件较多的情况,通过ocr和语义化的自动处理,快速录入和搭建表单,为用户节省大量时间,简单操作即可快速完成搭建;[0112](4)大数据自动识别:依托大数据的优势,基于历史数据,帮助用户自动分析和处理字段组件类型,提高字段类型匹配的精确度。[0113]以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1