CN115983202A - 一种数据处理方法、装置、设备及存储介质 - Google Patents
一种数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115983202A CN115983202A CN202310102482.0A CN202310102482A CN115983202A CN 115983202 A CN115983202 A CN 115983202A CN 202310102482 A CN202310102482 A CN 202310102482A CN 115983202 A CN115983202 A CN 115983202A
- Authority
- CN
- China
- Prior art keywords
- field
- text
- field value
- fields
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 33
- 238000000034 method Methods 0.000 claims description 119
- 238000012545 processing Methods 0.000 claims description 39
- 238000004590 computer program Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 description 60
- 230000014509 gene expression Effects 0.000 description 19
- 238000012549 training Methods 0.000 description 19
- 238000012795 verification Methods 0.000 description 19
- 230000000694 effects Effects 0.000 description 15
- 238000004458 analytical method Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 238000003379 elimination reaction Methods 0.000 description 8
- 238000005429 filling process Methods 0.000 description 7
- 230000008030 elimination Effects 0.000 description 6
- 230000008676 import Effects 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 210000001072 colon Anatomy 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013524 data verification Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000035772 mutation Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000002650 habitual effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002789 length control Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Landscapes
- Machine Translation (AREA)
Abstract
本申请公开了一种数据处理方法、装置、设备及存储介质,包括:基于目标符号对待处理文本进行切割,得到多个字符串;所述待处理文本包括N个字段与N个字段值,所述N大于等于1;在所述多个字符串中,识别出所述待处理文本包括的所述N个字段;确定所述待处理文本的目标文本结构;所述目标文本结构用于表征所述待处理文本中所述N个字段与所述N个字段值之间的位置关系;基于所述目标文本结构与所述待处理文本,确定所述N字段中每个所述字段的字段值;基于所述N个字段中每个所述字段的字段值对填单系统中每个所述字段对应的输入框进行填充。本申请的填单方案具有通用性强,应用范围广泛的特点。
Description
技术领域
本申请涉及数据处理技术领域,涉及但不限于数据处理方法、装置、设备及存储介质。
背景技术
随着计算机技术的飞速发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性和实时性要求,也对技术提出了更高的要求。
对于企业后台管理系统而言,离不开各种表单数据的录入,简单的有人员信息、机构信息等的录入,复杂的有项目信息、规则配置等的录入。简单的表单只有几个字段,复杂的表单多至上百个字段,这对系统用户来说通过点击一个一个表单输入框填写是个极其繁琐的工作。
为了帮助用户快速便捷地填写表单,相关技术提供的填单方案主要包括:提供的一份固定格式的模板,然后用户在这模板之上进行填写,该固定格式的模板中针对一个字段对应一个填写规则,填写完成后针对一个字段,预设针对性解析方式,在明确知道字段对应表单输入框位置的前提下进行精准填充。
可以看出,相关技术中的填单方法只能用于固定模板下的特定的场景,适应性较差。
发明内容
本申请提供一种数据处理方法及装置、设备、存储介质,用于辅助填单时,具有通用性强,应用范围广泛的特点。
本申请的技术方案是这样实现的:
第一方面,本申请提供了一种数据处理方法,所述方法包括:
基于目标符号对待处理文本进行切割,得到多个字符串;所述待处理文本包括N个字段与N个字段值,所述N大于等于1;
在所述多个字符串中,识别出所述待处理文本包括的所述N个字段;
确定所述待处理文本的目标文本结构;所述目标文本结构用于表征所述待处理文本中所述N个字段与所述N个字段值之间的位置关系;
基于所述目标文本结构与所述待处理文本,确定所述N字段中每个所述字段的字段值;
基于所述N个字段中每个所述字段的字段值对填单系统中每个所述字段对应的输入框进行填充。
第二方面,本申请提供了一种数据处理装置,所述装置包括:
切割单元,用于基于目标符号对待处理文本进行切割,得到多个字符串;所述待处理文本包括N个字段与N个字段值,所述N大于等于1;
识别单元,用于在所述多个字符串中,识别出所述待处理文本包括的所述N个字段;
第一确定单元,用于确定所述待处理文本的目标文本结构;所述目标文本结构用于表征所述待处理文本中所述N个字段与所述N个字段值之间的位置关系;
第二确定单元,用于基于所述目标文本结构与所述待处理文本,确定所述N字段中每个所述字段的字段值;
填充单元,用于基于所述N个字段中每个所述字段的字段值对填单系统中每个所述字段对应的输入框进行填充。
第三方面,本申请还提供了一种电子设备,包括:存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述数据处理方法。
第四方面,本申请还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述数据处理方法。
本申请所提供的数据处理方法、装置、设备及存储介质,包括:基于目标符号对待处理文本进行切割,得到多个字符串;所述待处理文本包括N个字段与N个字段值,所述N大于等于1;在所述多个字符串中,识别出所述待处理文本包括的所述N个字段;确定所述待处理文本的目标文本结构;所述目标文本结构用于表征所述待处理文本中所述N个字段与所述N个字段值之间的位置关系;基于所述目标文本结构与所述待处理文本,确定所述N字段中每个所述字段的字段值;基于所述N个字段中每个所述字段的字段值对填单系统中每个所述字段对应的输入框进行填充。
对于本申请的方案,一方面,对于任意的待处理文本,先识别出待处理文本中的字段,确定待处理文本的目标文本结构,基于目标文本结构与待处理文本确定字段的字段值;这样,实现了对于任一待处理文本,可以识别出该待处理文本中的字段以及字段值;另一方面,识别出每个字段对应的输入框后;这样实现了字段对应的文本框的识别;这样,再基于字段的字段值进行输入框的填充,从而实现了对于任一待处理文本的填单处理。
可以看出,本申请的方案可以应用于任意的待处理文本,实现对待处理文本的自动填单,所以,具有通用性,应用范围广泛的特点。
附图说明
图1为本申请实施例提供的数据处理方法的一种可选的流程示意图
图2为本申请实施例提供的数据处理方法的一种可选的流程示意图;
图3为本申请实施例提供的数据处理方法的一种可选的流程示意图;
图4为本申请实施例提供的数据处理方法的一种可选的流程示意图;
图5为本申请实施例提供的数据处理方法的一种可选的流程示意图;
图6为本申请实施例提供的数据处理方法的一种可选的流程示意图;
图7为本申请实施例提供的数据处理方法的一种可选的流程示意图;
图8为本申请实施例提供的文本解析过程的一种可选的流程示意图;
图9为本申请实施例提供的数据训练过程的一种可选的结构示意图;
图10为本申请实施例提供的关键词组合特征的演化过程中的一种可选的流程示意图;
图11为本申请实施例提供的双向链表的节点的一种可选的结构示意图;
图12为本申请实施例提供的非关键词双向链表节点的一种可选的结构示意图;
图13为本申请实施例提供的双向链表的一种可选的结构示意图;
图14为本申请实施例提供的数据处理装置的一种可选的结构示意图;
图15为本申请实施例提供的电子设备的一种可选的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅是为例区别不同的对象,不代表针对对象的特定排序,不具有先后顺序的限定。可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
本申请实施例可提供数据处理方法及装置、设备和存储介质。实际应用中,数据处理方法可由数据处理装置实现,数据处理装置中的各功能实体可以由电子设备的硬件资源,如处理器等计算资源、通信资源(如用于支持实现光缆、蜂窝等各种方式通信)协同实现。
本申请实施例提供的数据处理方法的应用场景包括电子设备和至少一个待处理文件。电子设备用于将待处理文件通过本申请实施例提供的方法进行处理,以对该待处理文件进行填单。
具体的,电子设备用于执行:基于目标符号对待处理文本进行切割,得到多个字符串;所述待处理文本包括N个字段与N个字段值,所述N大于等于1;在所述多个字符串中,识别出所述待处理文本包括的所述N个字段;确定所述待处理文本的目标文本结构;所述目标文本结构用于表征所述待处理文本中所述N个字段与所述N个字段值之间的位置关系;基于所述目标文本结构与所述待处理文本,确定所述N字段中每个所述字段的字段值;基于所述N个字段中每个所述字段的字段值对填单系统中每个所述字段对应的输入框进行填充。
其中,电子设备可以为具有相关数据处理能力的电子设备。例如,电子设备可以为移动终端设备(例如手机、平板电脑等),或者非移动终端设备(例如台式电脑、服务器等)。
下面,对本申请实施例提供的数据处理方法及装置、设备和存储介质的各实施例进行说明。
第一方面,本申请实施例提供一种数据处理方法,该方法应用于数据处理装置;其中,该数据处理装置可以部署于电子设备。下面,以电子设备为执行主体为例,对本申请实施例提供的数据处理过程进行说明。
图1示意了一种可选的一种数据处理方法的流程示意图,参考图1所示的内容,该数据处理方法可以包括但不限于图1所示的S101至S105。
S101、电子设备基于目标符号对待处理文本进行切割,得到多个字符串。
所述待处理文本包括N个字段与N个字段值,所述N大于等于1。
本申请实施例对N的具体数量不作限定,可以根据实际情况进行配置。
目标符号,用于将待处理文本切分为多个字符串。在一种可能的实施方式中,目标符号可以为不可见符。示例性的,目标符号可以包括但不限于:空格符、换行符以及制表符。
待处理文本,指待进行填单处理的文本。本申请实施例对待处理文本的文本类型以及内容不作限定,可以根据实际情况配置。
示例性的,待处理文本可以为下述表1所示。
表1待处理文本示例
示例性的,S101可以实施为:电子设备基于不可见符对待处理文本进行切割,得到多个字符串。
基于上述表1所示的待处理文本,得到的多个字符串可以包括:交易场所、银登中心、项目名称、小微企业2022年第九期、项目立项日期等等。
S102、电子设备在所述多个字符串中,识别出所述待处理文本包括的所述N个字段。
本申请实施例对字段的识别方式不作限定,可以基于实际情况进行配置。
在一种可能的实施方式中,电子设备基于字段名列表中的字段名对多个字符串进行匹配,识别出N个字段。
在另一种可能的实施方式中,电子设备基于属性内容对多个字符串进行匹配,识别出N个字段。
在再一种可能的实施方式总,电子设备基于字段名列表与属性内容对多个字符串进行匹配,识别出N个字段。
示例性的,基于上述表1所示的待处理文本,得到的N个字段可以包括:交易场所、项目名称、项目名称、项目负责人等等。
S103、电子设备确定所述待处理文本的目标文本结构。
所述目标文本结构用于表征所述待处理文本中所述N个字段与所述N个字段值之间的位置关系。
在一种可能的实施方式中,文本结构可以包括但不限于:顺序文本结构以及头行文本结构。
对于头行文本结构,待处理文本可以包括:一行字段,一行字段值,且字段与字段值在列的方向对应,
对于顺序文本结构,待处理文本可以包括:字段1字段值1字段2字段值2字段3字段值3。
S103可以实施为:电子设备基于待处理文本中N个字段与N个字段值之间的位置关系,确定待处理文本的目标文本结构。
S104、电子设备基于所述目标文本结构与所述待处理文本,确定所述N字段中每个所述字段的字段值。
在一种可能的实施方式中,若待处理文本为顺序文本结构,S104可以实施为:电子设备将待处理文本中前一字段与后一字段之间的内容确定为前一字段的字段值,采用同样的方式,得到N字段中每个字段的字段值。
在另一种可能的实施方式中,若待处理文本为头行文本结构,S104可以实施为:电子设备将待处理文本中的第二行中,与第一行的字段属于同一列的内容确定为该字段的字段值,采用同样的方式,得到N字段中每个字段的字段值。
基于上述表1所示的待处理文本,得到的字段以及字段的字段值可以包括:字段(交易场所)、字段值(银登中心),字段(项目名称)、字段值(小微企业2022年第九期),字段(项目立项日期)、字段值(2022/7/28)等等。
可选的,当识别出字段值内容存在不可见字符时,需要将该字段值内容通过encodeURICompoent方法进行编码。
S105、电子设备基于所述N个字段中每个所述字段的字段值对填单系统中每个所述字段对应的输入框进行填充。
填单系统,指录入待处理文件内容的系统。在一示例中,填单系统可以为全球广域网(World Wide Web,Web)前端处理系统。
输入框,指填单系统中录入字段值的输入模块。本申请实施例对输入框的类型、形状等均不作限定,可以根据实际情况进行配置。
本申请实施例对确定字段对应的输入框的方式不作具体限定,可以根据实际情况进行配置。
示例性的,电子设备遍历表单下所有<tr>元素,以及<tr>元素对应表单的行,再遍历<tr>元素下的<td>元素(<td>元素对应表单的每个输入框),基于<td>标签的innerText内容(即输入框字段名)确定字段对应的输入框。
S105可以实施为:电子设备针对N个字段中每个字段,先确定字段对应的输入框,然后基于该字段的字段值对该字段对应的输入框进行填充;电子设备遍历N个字段中的所有字段,以完成待处理文件的填单。
本申请实施例提供的数据处理方案包括:基于目标符号对待处理文本进行切割,得到多个字符串;所述待处理文本包括N个字段与N个字段值,所述N大于等于1;在所述多个字符串中,识别出所述待处理文本包括的所述N个字段;确定所述待处理文本的目标文本结构;所述目标文本结构用于表征所述待处理文本中所述N个字段与所述N个字段值之间的位置关系;基于所述目标文本结构与所述待处理文本,确定所述N字段中每个所述字段的字段值;基于所述N个字段中每个所述字段的字段值对填单系统中每个所述字段对应的输入框进行填充。
对于本申请的方案,一方面,对于任意的待处理文本,先识别出待处理文本中的字段,确定待处理文本的目标文本结构,基于目标文本结构与待处理文本确定字段的字段值;这样,实现了对于任一待处理文本,可以识别出该待处理文本中的字段以及字段值;另一方面,识别出每个字段对应的输入框后;这样实现了字段对应的文本框的识别;这样,再基于字段的字段值进行输入框的填充,从而实现了对于任一待处理文本的填单处理。
可以看出,本申请的方案可以应用于任意的待处理文本,实现对待处理文本的自动填单,所以,具有通用性,应用范围广泛的特点。
下面,对S102中电子设备在所述多个字符串中,识别出所述待处理文本包括的所述N个字段的过程进行说明。
该过程可以包括但不限于下述方式1或方式2。
方式1、基于属性内容的匹配方式得到N个字段;
方式2、基于字段名列表的匹配方式以及属性内容的匹配方式得到N个字段。
下面,对方式1中基于属性内容的匹配方式得到N个字段的过程进行说明。
该过程该可以包括:电子设备扫描前端框架中的第一表单,获取所述第一表单下第一节点的第一属性内容,得到多个第一属性内容;针对所述多个字符串中的每个所述字符串,将所述字符串分别与所述多个第一属性内容进行匹配,若所述字符串与所述多个字符串中的任一字符串匹配成功,则将所述字符串确定为所述待处理文本中的字段,得到所述N个字段。
示例性的,前端框架可以为Easy UI,第一表单可以为前端框架的form表,第一节点可以为<td></td>节点,第一属性内容可以为inner Text属性的内容。
需要说明的是,若该字符串与所有的第一属性内容均不匹配,则将确定该字符串不是字段。
下面,对方式2中基于字段名列表的匹配方式以及属性内容的匹配方式得到N个字段的过程进行说明。
该过程可以包括:电子设备针对所述多个字符串中的每个所述字符串,将所述字符串与字段名列表进行匹配,若所述字符串与所述字段名列表匹配成功,将所述字符串确定为所述待处理文本中的字段;若匹配失败,则将所述字符串与所述多个第一属性内容进行匹配,若所述字符串与所述多个字符串中的任一字符串匹配成功,则将所述字符串确定为所述待处理文本中的字段,得到所述N个字段。
字段名列表中存储了常用的字段名。其中,与字段名列表中的任一字段名匹配成功,则认为与字段名列表匹配成功。
需要说明的是,若该字符串与所有的第一属性内容,以及字段名列表均不匹配,则将确定该字符串不是字段。
实际匹配过程中,可以将去除字符串两端空格、冒号、星号等特殊标记符号,以提高匹配效率。
与方式1相比,方式2具有全面、准确的特点;与方式2相比,方式1具有实现简单、可靠的特点。
可以理解的,在得到N个字段的过程中,也可以基于字段名列表的匹配方式直接得到N个字段。具体实现过程参考上述方式2中的相关描述,此处不再一一赘述。
下面,对S103中电子设备确定所述待处理文本的目标文本结构的过程进行说明。
具体的,若所述待处理文本满足第一条件,则电子设备确定所述目标文本结构为头行文本结构;若所述待处理文本满足第二条件,则电子设备确定所述目标文本结构为顺序文本结构。
其中,所述第一条件包括:所述待处理文本包括两行文本;且,所述两行文本具有相同数量的目标符号;且,在所述两行文本包括的第一行文本中识别得到的字段的数量大于等于第一数量阈值。
本申请实施例对第一数量阈值的具体取值不作具体限定,可以基于实际需求进行配置。
示例性的,第一数量阈值可以为本行单元格总个数的75%。
所述第二条件用于表征所述待处理文本中的所述N个字段间隔排列。
顺序文本结构示例如表2所示。
表2顺序文本结构示例
头行文本结构示例表3所示,其中目标符号为制表符。
表3头行文本结构示例
下面,对S104中电子设备基于所述目标文本结构与所述待处理文本,确定所述N字段中每个所述字段的字段值的过程进行说明。
对于顺序文本结构,电子设备将待处理文本中前一字段与后一字段之间的内容确定为前一字段的字段值。
对于头行文本结构,电子设备将待处理文本中的第二行中,与第一行的字段属于同一列的内容确定为该字段的字段值。
实际中,对于顺序文本结构,第一个字段与第二个字段之间的内容可能还包括目标符号,下面对于这种情况下确定第一字段的字段值的过程进行说明。
参考图2所示的内容,该过程可以包括但不限于下述S201和S202。
若所述目标文本结构为顺序文本结构,第一内容包括一个目标符号,所述第一内容为所述待处理文本中第一字段与第二字段之间的内容,所述第一字段与所述第二字段相邻。
S201、电子设备确定所述第一字段的第一字段值特征。
字段值特征,为字段的字段值应满足的特征条件。
所述第一字段值特征用于限定所述第一字段的字段值应满足的特征条件。
本申请实施例对第一字段值特征的具体内容与表现形式不作具体限定,可以根据实际需求进行配置。
示例性的,第一字段值特征可以为正则表达式格式的特征条件。
示例性的第一字段值特征的内容可以为:字母与数字的组合。
S202、电子设备将所述第一内容与所述第一字段值特征进行匹配,若所述第一内容满足所述第一字段值特征,则将所述第一内容作为所述第一字段的字段值;若所述第一内容不满足所述第一字段值特征,则将所述第一内容中位于所述目标符合左边的左部分内容与所述第一字段值进行匹配,若所述左部分内容满足所述第一字段值特征,则将所述左部分内容作为所述第一字段的字段值。
若该做部分内容也不满足该第一字段值特征,则将该第一内容或者该左部分内容作为第一字段的字段值,并输出异常提醒,已告知用户近一步对第一字段的字段值进行核查。
需要说明的是,若第一内容包括多个目标符号,则基于多个符号区分后得到多个内容,将多个内容分别于第一字段值特征进行匹配,具体实施过程可以参考S202中的相关描述,此处不作一一赘述。
这样,对于第一个字段与第二个字段之间的内容包括目标符号的情况,基于该方案可以详细确定字段的字段值,提高了字段值识别的准确性。
实际中,对于目标文本结构为顺序文本结构,一个单元格内部也可能存在目标符号,下面,对一个单元格内部的字段值识别过程进行说明。
当单元格内存在换行符这种特殊不可见字符时,内部会将这个单元格内容使用双引号进行包裹存储,当复制单元格内容时会将双引号这种机制复制出来。具体通过下述过程判断一个单元各内的内容来是否属于一个字段值。
参考图3所示的内容,该过程可以包括但不限于下述S301至S304。
S301、电子设备获取所述第二内容,并在所述第二内容的结尾添加目标符号。
第二内容为所述待处理文本的一个单元格内的内容,所述第二内容包括目标符号。
示例性的,电子设备获取第二内容,并在第二内容的结尾添加空格符。
S302、电子设备在所述第二内容中定位至少一个第一点。
所述第一点为所述第二内容中的第一符号。
所述第一符号为双引号加目标符号。
示例性的,第一符号为双引号加空格符。
这里对第一点的具体数量不作限定,基于实际情况进行确定。
S302可以实施为:电子设备基于第一符号在所述第二内容中定位至少一个第一点。
S303、电子设备针对所述至少一个第一点中的每个所述第一点,在所述第一内容中从所述第一点开始向左遍历,确定第二点。
S304、若所述第二点为所述第一符号,电子设备则将所述第二内容中所述第二点与所述第一点之间的内容确定为一个字段值;若所述第二点为第二符号,电子设备则将所述第二点与所述第一点之间的内容确定为一个字段值。
所述第二符号为目标符号加双引号。
需要说明的是,对于第二符号与第一符号之间的内容,则确定其不属于字段值。
这样,对于一个单元格内的内容包括目标符号的情况,基于该方案可以详细确定单元格内的哪些内容属于字段值,提高了字段值识别的准确性。
下面,对S105中电子设备基于所述N个字段中每个所述字段的字段值对填单系统中每个所述字段对应的输入框进行填充的过程进行说明。
实际中,字段对应的输入框的填充为一个串行的处理过程。
参考图4所示的内容,该过程可以包括但不限于下述S401至S405。
S401、电子设备基于所述N个字段的目标填充顺序,在所述N个字段中确定当前填充字段。
在一示例中,目标填充顺序可以为待处理文本中字段出现的前后顺序。
这样,可以保证联动、按序的填单效果。
S402、电子设备在所述当前填充字段的前一个字段填充完成后,获取所述当前填充字段对应的目标输入框的状态。
这样,可以保证实时的填单效果。
目标输入框的状态可以包括但不限于下述内容:输入框类型、可输入值、事件内容以及是否隐藏。
输入框类型,指输入框的格式。本申请实施例对目标输入框的输入框类型不作具体限定,可以根据实际情况进行确定。示例性的,目标输入框的输入框类型可以包括但不限于下述任一项:下拉框、列表下拉框、日期框、数字框、文本框。
可输入值,指该输入框允许的输入的数值。比如前一个字段是省,当前字段是市,该字段的目标输入框的可输入值是变化的,在省确定后,该输入框的可输入值会发生调整。
事件内容,指输入框是否为必输项。
是否隐藏,包括隐藏与非隐藏。
S403、电子设备基于所述目标输入框的输入框类型、可输入值、事件内容、是否隐藏以及所述当前填充字段的字段值,对所述目标输入框进行填充。
本申请实施例对目标输入框的填充过程不作限定,可以根据实际情况进行配置。
S404、电子设备基于对所述目标输入框的填充生成触发事件,以触发产生与所述目标输入框的填充对应的填单结果。
示例性的,目标输入框输入的内容为陕西省,对应的填单结果可以包括:市所属的字段的字段值只能是陕西省包括的城市。
S405、电子设备重新执行所述基于所述N个字段的目标填充顺序,在所述N个字段中确定当前填充字段,直至完成所述N个字段的填充。
可以看出,通过目标填充顺序实现填单过程中的按序性、通过在当前填充字段的前一个字段填充完成后,获取当前填充字段对应的目标输入框的状态,实现填单过程中的实时性、通过触发事件实现填单效果,从而实现按序、实时、模拟用户填单效果。
下面,对S403中电子设备基于所述目标输入框的输入框类型、可输入值、事件内容、是否隐藏以及所述当前填充字段的字段值,对所述目标输入框进行填充的过程进行说明。
该过程可以包括:若所述目标输入框的状态为隐藏状态,则跳过对所述目标输入框的填充;若所述目标输入框的状态为非隐藏状态,则确定目标输入框的输入框类型;判断所述当前填充字段的字段值是否满足所述输入框类型的输入格式;判断所述当前填充字段的字段值是否属于所述可输入值,在所述当前填充字段的字段值满足所述输入框类型的输入格式,且属于所述可输入值的情况下,基于所述事件内容将所述当前填充字段的字段值填入所述目标输入框。
本申请实施例对判断目标输入框是否隐藏的具体方式不作限定,可以根据实际情况进行确定。在一示例中,电子设备确定目标输入框的元素包括hidden、visible属性,或者css样式中display为none,则确定目标输入的状态的隐藏状态;否则确定目标输入框为非隐藏状态。
本申请实施例对判断当前填充字段的字段值是否满足输入框类型的输入格式的具体方式不作限定,可以基于实际情况进行配置。比如日期框的输入只能是日期、下拉框内容必须是下拉框列表中的内容。
本申请实施例对判断当前填充字段的字段值是否属于可输入值的具体方式不作限定,可以根据实际情况进行配置。例如,在省所属字段的输入框中输入了陕西省,则需校验当前字段的字段值是否属于陕西省所包括的城市,若属于则确定当前填充字段的字段值属于可输入值,若部署于确定当前填充字段的字段值不属于可输入值。例如,西安市属于可输入值,南京市部署于可输入值。
基于所述事件内容将所述当前填充字段的字段值填入所述目标输入框,包括:若事件内容表征该目标输入框为必输项,则将当前填充字段的字段值填入目标输入框;若事件内容表征该目标输入框为非必输项,则将当前填充字段的字段值填入目标输入框,或者不进行当前填充。
在一种可能的实施方式中,若目标输入框的输入类型为下拉框,电子设备则基于当前填充字段的字段值在下拉框中选择对应的内容,以完成目标输入框的填充。
在另一种可能的实施方式中,,若目标输入框的输入类型为文本框,电子设备则将当前填充字段的字段值输入至该文本框中,以完成目标输入框的填充。
可选的,填充之前需要将字段值进行decodeURICompoent解码。
在填充目标输入框之前还需要进行一些如转换、校验等操作,通常需要校验字段值必须在输入框允许的范围内。比如日期框的输入只能是日期、下拉框内容必须是下拉框列表中的内容。对于日期框及数字框,需要考虑格式转换,如将日期的yyyy/MM/dd转换为EasyUI可识别的yyyy-MM-dd格式,而数字框需要转换字段值存在的千分位符以及百分号等格式。下拉框则只能设置下拉框中可以选择的值。
这样,对目标输入框进行填充,可以提高填充的准确度。
本申请实施例提供的数据处理方法在一个字段对应的输入框的填充过程中,还可以对该字段的字段值进行验证。
具体的,该过程可以包括:电子设备在所述N个字段的字段值目标特征中,确定所述当前填充字段的至少一个第二字段值特征;判断所述当前填充字段的字段值是否满足所述至少一个第二字段值特征;在所述当前填充字段的字段值不满足所述至少一个第二字段值特征中的任一第二字段值特征的情况下,输出第一提醒信息。
所述第二字段值特征用于限定所述当前填充字段的字段值应满足的特征条件。
所述第一提醒信息用于表征所述当前填充字段的字段值异常。本申请实施例对第一提醒信息的提醒方式不作具体限定,可以基于实际情况进行配置。
示例性的,第一提醒信息可以为文字提醒方式,或者颜色提醒方式或者语音提醒方式等等。
这样,可以及时提醒用户可能存在异常的字段值,以基于该提醒进行复查,用于辅助提高填单的准确性。
本申请实施例提供的数据处理方法在所述N个字段的字段值目标特征中,确定所述当前填充字段的至少一个第二字段值特征之前,应先得到每个字段的字段值目标特征。
具体的,电子设备针对所述N个字段中的每个所述字段执行图5所示的S501至S503的处理,得到每个所述字段的字段值目标特征,遍历N个字段中的每个字段,得到每个字段的字段值目标特征。
字段值目标特征,用于验证字段值是否异常的特征。示例性的,第一字段值特征、第二字段值特征为字段值目标特征。
S501、电子设备获取所述字段的M个样本以及所述字段的P个字段值初始特征。
一个所述样本为所述字段的一个字段值;所述M为大于1的整数,所述P为大于1的整数。
本申请实施例对M以及P的具体取值不作限定。示例性的,M可以为5。
P的取值与字段相关,对于不同的字段,对应的字段值初始特征的数量可能相同,也可能不同。
S502、电子设备针对所述P个字段值初始特征中的每个所述字段值初始特征,统计每个所述特征值初始的第一比值。
所述第一比值为满足所述字段值初始特征的数量与所述M的比值。
S502可以实施为:电子设备针对所述P个字段值初始特征中的每个所述字段值初始特征,确定M个样本中满足该字段值初始特征的数量,将满足该字段值初始特征的数量与M的比值作为第一比值,电子设备遍历每个字段值初始特征,得到每个特征值初始的第一比值。
S503、电子设备将所述P个字段值初始特征中第一比值大于或等于比值阈值的字段值初始特征,确定为所述字段的字段值目标特征。
本申请实施例对比值阈值的具体取值不作限定,可以基于实际情况配置。示例性的,比值阈值可以为0.8。
这样,基于样本的方式得到的字段值目标特征,准确度较高,且随着样本的改变,字段值目标特征会对应变化,适应性强。
下面,以一个字段为例,对获取字段的P个字段值初始特征的过程进行说明。
参考图6所示的内容,该过程可以包括但不限于S601至S605。
S601、电子设备将多个预设正则特征中,与所述字段的字段值匹配的正则特征确定为所述字段的字段值初始特征。
电子设备预先配置多个常用的预设正则特征,电子设备将字段的字段值与多个常用预设正则特征进行匹配,若字段值满足该预设正则特征,则将该预设正则特征确定为该字段的字段值初始特征。
S602、电子设备确定所述字段的字段值长度特征。
字段值长度特征用于表征字段值的长度,本申请是实力对确定字段的字段长度特征的方式不作限定,可以根据实际情况进行配置。
示例性的,字段值长度特征的确定过程可以包括:预设2的N次方为基础长度(例如N为10,基础长度为210),作为基准长度特征;判断该字段值80%的样本数据长度是否超过基础长度,若超过则终止长度演化;若不超过依次使用二分法(N依次为9->8->7…)继续判断80%的样本数据是否超过29、28、27…直至超过则终止长度演化;电子设备确定字段值长度的特征为2N~2N+1,正则特征表达式为[\s\S]{2N,2N+1}。
S603、电子设备提取所述字段的字段值关键词。
所述字段值关键词为所述字段的字段值中出现概率大于或等于第一概率阈值的词。
示例性的,该过程可以包括:电子设备使用分词器提取字段值的关键词;将关键词出现率达80%关键词的设立双向链表节点。
S604、电子设备确定所述字段的中非字段值关键词的正则特征。
示例性的,非字段值关键词的正则特征可以包括:中文,长度是2至4。
S605、电子设备基于所述字段值长度特征、所述字段值关键词以及所述非字段值关键词的正则特征,得到所述字段的组合特征,并将所述组合特征确定为所述字段的字段值初始特征。
这样,对于正则特征无法覆盖的场景,可以通过关键词的方式确定组合特征,扩大了字段值初始特征的范围,进一步提高了对于字段值的限定的准确性,进一步提高了填单的准确性。
下面,对电子设备获取字段的M个样本的过程进行说明。
在一种可能的实施方式中,M个样本为随机选择得到的。
在另一种可能的实施方式中,M个样本为基于淘汰机制得到的。参考图7所示的内容,该过程可以包括但不限于下述S701至S704。
S701、电子设备基于第一样本满足的字段值初始特征的数量,确定第一样本的基础分。
其中,第一样本满足的字段值初始特征的数量越大,则第一样本的基础分的越高。
示例性的,如字段值初始特征为10个,若第一样本满足其中8个,则确定第一样本的基础分为8分。
S702、电子设备在新增第二样本的情况下,若所述第二样本满足全部的第一字段值初始特征,则增加所述第一样本的分值。
所述第二样本为第一样本后的新样本,所述第一字段值初始特征为所述第一样本满足的字段值初始特征。
本申请实施例对增加的分数不作限定,可以基于实际情况配置。示例性的,可以将第一样本的分数增加1分。
S703、在新增第三样本的情况下,若所述第三样本满足部分所述第一字段值初始特征,电子设备则减少所述第一样本的分值。
所述第三样本为所述第二样本后的新样本。
本申请实施例对减少的分数不作限定,可以基于实际情况配置。示例性的,可以将第一样本的分数减少1分。或者,第三样本满足的部分第一字段值初始特征的数量越少,则减少的分值越大。
S704、若所述第一样本的分值小于或等于第一分值,电子设备则将所述第一样本淘汰。
本申请实施例对第一分值的具体取值不作限定,可以基于实际情况进行配置。示例性的,第一分值可以为0。
这样,基于淘汰机制确定M个样本,可以提高样本的有效性,从而提高基于样本得到的字段值特征的准确性,进一步提高填单的准确性。
下面以一个完整的过程为例,通过一个实施例对本申请实施例提供的数据处理方法进行说明。
为了便于理解,对该实施例中涉及的部分技术术语进行解释。
表单(form):指超文本标记语言(Hyper Text Markup Language,html)技术中一系列输入框集合,通常用<form>标签包裹输入框代码。
JS对象简谱(JavaScript Object Notation,json):为一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成,可以在多种语言之间进行数据交换。
字段名:一个输入框组件所表达的业务含义,页面上对用户展示,用于区分不同的输入框,如“用户名”、“密码”,也可以表示为“label”。
字段值:一个输入框组件具体的值内容,即表达系统可接受并识别的值,也可以通过“value”表示。
分词器:从一串文本中切分出一个一个的词条,并对每个词条进行标准化,常用于搜索引擎,通常内置可维护的词库用于分词。
对于企业后台管理系统而言,离不开各种表单数据的录入,简单的有人员信息、机构信息等的录入,复杂的有项目信息、规则配置等的录入。简单的表单只有几个字段,复杂的表单多至上百个字段,这对系统用户来说通过点击一个一个表单输入框填写是个极其繁琐的工作。
为了帮助用户快速便捷地填写表单,一些用户体验友好一点的系统会提供各种辅助填单工具,让用户仅复制某处一连串的带有对应信息的文本到一个输入框内,系统即可自动解析关键字段的值并填入表单中。典型代表如收件人信息字段。如将“姓名:张三;电话:15800000000;地址:广东省深圳市XXX区XXX街道XXX号”解析并填充到对应输入框,具体过程如下述步骤A1至步骤A4。
步骤A1、获取用户输入的关键文本内容;
步骤A2、通过预设的姓名、电话、地址等匹配出对应的值,如姓名有带姓氏的两三汉字组合、电话为11位连续数字、地址为省市区关键字的连续文字;
步骤A3、校验姓名、电话、地址格式的正确性;
步骤A4、根据form表单已知对于姓名、电话、地址对应输入框位置进行填充对应内容值。
对于收件人信息辅助填单,识别的文字内容及字段内容有限,且字段之间的区别特征比较明显,可用于少量字段的特殊场景下。
对于多字段且场景多变的表单辅助填单,相关技术中通常是使用表格(excel)导入的方式。其中,预设导入excel模板,在导入模板中固定单元格对应固定内容值,通过解析excel并填充至前端form表单的方式进行辅助填单。
具体过程如下述步骤B1至步骤B6。
步骤B1、下载excel导入固定模板;
步骤B2、用户根据模板各个字段的填写提示进行字段值填写;
步骤B3、导入excel;
步骤B4、后台解析excel内容,并根据映射关系将字段填充至对象中;
步骤B5、前端获取对象内容,根据预设字段及字段对应输入框的映射关系进行字段填充;
步骤B6、前端页面进行校验数据正确性,并进行提交。
以上方式为常见辅助填单形式,即针对有限的特定字段,预设针对性解析方式,在明确知道字段对应表单输入框位置的前提下进行精准填充。重点在于识别出用户填写的字段值是哪个输入框对应的值,然后提取字段解析为系统代码可识别的数据,在前端页面进行字段填充。
对于相关技术中的辅助填单方案进行分析,具有以下缺点。
1、字段识别定制化高,扩展性较低。
辅助填单的目的是让用户快速便捷地填写数据表单,不管是提供excel导入还是类似收件人信息的识别,其实都是系统提供的一份固定格式的模板,然后用户在这模板之上进行填写。但是这种模板核心就在于预设特定系统已知字段进行填写,一个字段对应一个特定的填写规则(如excel的具体某个单元格填写某个字段,收件人信息只能填写姓名、电话、地址),不可填错也不可换成其它字段,缺少通用性及普适性,只能应用于特定的场景,无法应用于各种表单的通用辅助填单。
2、无法进行页面联动交互。
相关技术中的辅助填单方式通常就是简单的解析所有字段填值,对于哪些字段该填哪些字段不该填无法判断,也无法在填单过程中实时控制字段的联动效果,准确性较差。
3、填单数据的准确性不高。
对于普通辅助填单而言,大数据量填单就会使用户对单个字段的准确性关注度降低,可能出现一些数据出现低级错误,如全中文的公司名称多了一个英文字母。辅助填单的准确性也会受到质疑,除了加强具体表单的独有数据校验外,还缺少一种通用的智能数据异常提醒功能。
对于辅助填单而言,需要考虑几个核心问题:填单识别准确性;工具的通用性与扩展性;用户操作的友好度。
通常而言填单识别的准确性、通用性及友好度是难以完全兼容的选择,相关技术通常都是偏向于选择填单识别的准确性,使用针对特定字段进行解析识别的专用方式。但是该方案局限性太大,无法大规模使用。
本申请的该实施例基于html识别技术、正则匹配技术、数据训练技术实现一套通用、简单实用、高准确性的辅助填单工具方案。
通过读取一段用户习惯的常识性的文本,自动识别为系统可识别的json对象,模拟用户操作使系统智能联动填写前端form表单,并通过数据训练获得的准确度智能警示用户可能存在填写错误的字段。
主要包括:文本解析部分、联动填单部分以及数据训练部分。
文本解析部分主要包括:通过扫描前端form表单代码及后端记忆的表单字段,再根据用户习惯性文本,自动解析出表单对应字段及其字段值,并转换为系统可识别字段与值的映射对象。
联动填单部分主要包括:根据扫描的前端form代码特征,获取字段及对应输入框对象的映射关系,按序、实时、模拟用户填单效果,可触发实时数据控制与联动,避免数据出现重大错误。
数据训练部分:以往填单样本进行进化及变异淘汰,再通过正则碰撞、数据演化获取字段的正则表达式数据特征,并智能反馈给用户可能出现的填单数据异常值,提高辅助填单数据准确性。
下面,对该实施例的具体实现过程进行详细说明。
首先,对文本解析部分进行说明。
如图8所示,可以包括但不限于下述S801至S804。
S801、后台获取预存的字段,如果没有则扫描dom树获取。
S802、文本类型识别:头行结构或者顺序结构。
S803、文本预处理:将值中空格或者回车键转码、去掉字段多余字符。
S804、文本解析成json串。
解析文本需要解决两个重要的问题:一是区分字段名及字段值;二是处理字段值中的空格、换行键等不可见字符。
第一个问题,按照用户操作习惯,文本内容可通过不可见字符(如空格、换行符、制表符等)等切割出一个由字段名和字段值组成的字符串数组,然后通过从后台获取的字段值列表或者扫描html dom树判断是否是字段名,字段名下一个非字段名的字符串则为字段值。
第二个问题是考虑到某些字段值中就存在空格等不可见字符,需要通过特殊方式来识别这些字段值中的不可见字符然后进行特殊转码。
下面,对字段名判断及文本类型识别过程进行说明。
区分字段名在文本解析中占据重要地位,最简单的方式是扫描html dom树获取所有字段名进行匹配判断,不同前端框架form表单(相当于上述第一表单)实现方式不同,以原始html form表单为例,可扫描所有form下的<td></td>节点(相当于上述第一节点)的innerText属性(相当于上述第一属性内容)作为字段名内容。
需要注意的是,匹配时需要将innerText去除字符串两端空格、冒号、星号等特殊标记符号,避免匹配失败。考虑到扫描html dom树消耗较大且准确率并不高,更加合理的方式是,应建立本form表单的字段名列表,判断字段名时先匹配字段名列表,如果匹配不到再扫描html dom树,然后更新字段名列表。
按照用户操作习惯,通常会有两种形式的字符串文本,一种直接“字段名1值1字段名2值2”的顺序文本结构,一种是直接来源于excel的一行字段名一行值的头行文本结构。相对来说,头行文本结构可兼容使用常见的excel导入的文本,便于用户从excel导入方式转变为使用本辅助填单形式,而且头行文本内容识别更加简单且准确。头行文本的解析非常简单明了,即首行全部可判断为是字段名,其它行对应列即为对应字段值。
其中,头行文本结构判断依据(相当于上述第一条件)包括以下条件1至条件3。
条件1、只存在两行(通过换行符“\n”分割行);
条件2、所有行存在相同个数的tab符(制表符“\t”)即相同个数单元格;
条件3、第一行识别出来的字段名占本行单元格总个数超过75%,数据行识别出来的字段名本行占比不超过25%。
下面,以顺序文本结构为例,对文本预处理与具体解析进行说明。
首先,对文本预处理过程进行说明。
对于识别字段名与字段值,主要通过不可见字符(相当于上述目标符号)(空格、换行符、制表符等)来分割字符串,但是需要考虑一种特殊情况,即字段值中也可能存在空格或换行符,区分字段值中的不可见字符是一个重要问题。
判断字段值不可见字符有以下两种方式:
基于excel的引号机制判断(相当于上述S301至S304描述的过程);
基于数据记忆判断(相当于上述S201和S202描述的过程)。
下面,对基于excel的引号机制判断过程进行说明。
excel单元格其本身也是一种特殊机制的代码组成,当单元格内存在换行符这种特殊不可见字符时,内部会将这个单元格内容使用双引号进行包裹存储,当复制单元格内容时会将双引号这种机制复制出来。可以通过判断是否存在英文双引号(由空格“和”空格,注意左右两边存在空格等不可见字符)所包裹的内容来判断是否属于一个内容值,当然填单时可以利用这种双引号机制来加强系统识别字段值的准确率。
如示例1一共有5个双引号,其中增信情况与备注的值内容分别由两个双引号包裹(属于一个单元格),而信托账户的值内容前有一个双引号(区分该文本内容为字符而非数字)。识别方式可以包括但不限于下述步骤C1至步骤C6。
示例1、待处理文本为
步骤C1、将整段文本尾端添加空格,避免最后一个字段的字段值为双引号。
步骤C2、定位一个”空格(相当于上述第一符号)的位置点R(相当于上述第一点)(第二、第三、第五个双引号)。
步骤C3、从R左边开始遍历寻找,若找到另一个以标记的R’(若R为第三个双引号,则R’为第二个双引号)则中断寻找,判断该”(信托账户字段值后的双引号)为普通文本内容,避免字段值本身存在双引号的情况。
步骤C4、若在R左边找到最接近的一个空格“(相当于上述第二符号)则标记为位置的L(L为第一、第四个双引号,分别对应的R为第二、第五个双引号)。
步骤C5、则位置点L与R之间的内容为一个字段值中的内容并将该内容进行encodeURICompoent编码,中断向左遍历寻找。
步骤C6、继续从R右边开始寻找下一个R,进行另一个字段值内含不可见字符的遍寻,循环步骤C2至步骤C6(将分别找到第二个双引号与第一个双引号为一段值内容,第三个双引号为单独的值内容,第五个双引号与第四个双引号内为值内容)。
下面,对基于数据记忆判断过程进行说明。
示例2、待处理文本为:
继续将整段文本按不可见字符切割为一个一维数组(姓名、张、三、性别、男),若判断两个字段名之间或最后一个字段名后存在多段由不可见字符隔开的文本(如姓名与性别之间存在“张”“三”),可根据数据训练的结果进行智能匹配。
具体过程如下步骤D1至步骤D5。
步骤D1、获取两个字段名之间存在不可见字符的文本内容(例如,张三)。
步骤D2、获取左边那个字段名的数据训练特征(姓名为两到三个汉字)。
步骤D3、将该数据内容进行数据特征匹配,若匹配则判断该字段值为整段字段值,不匹配则去掉不可见字符右边部分进行再次匹配(首先匹配“张三”失败,然后匹配“张”失败)。
步骤D4、若最终依旧不匹配则将字段名后第一段没有不可见字符内容作为字段值(将“张”作为字段值)。
步骤D5、在数据训练匹配时,将会提示该字段为疑似异常数据,由用户检查判断值内容。
当识别出字段值内容存在不可见字符时,需要将该字段值内容通过encodeURICompoent方法进行编码,待填单需要设置值时再使用decodeURICompoent进行解码。
其次,对具体的解析过程进行说明,可以包括下述步骤E1至步骤E3。
步骤E1、将文本根据不可见字符进行切割成一个一维数组,注意此时字段值中的不可见字符已通过文本预处理为ASCII码值,所以切割的字符串要么是字段名要么是字段值。
步骤E2、循环遍历该一维数组,判断字符串是否为字段名。
注意判断时需要将待解析文本中的字符串与字段名列表中的值去除两边空格、星号(*可能是页面字段名的必输标记)、冒号(:可能为字段名紧跟着字段值的标记)等,如“*信托设立日:”与“信托设立日”可匹配上,可判断“*信托设立日:”为字段名。
步骤E3、紧跟着字段名的下一个字段如果不是字段名,那就说明是字段值,即可认为上一字符串与本字符串为一对输入框与其值,将其作为json属性push至json对象中;如果上一字符串是字段名且本字符串也是字段名则将上一字符串的字段值认定为null存入json对象。特别的,此时无需将字段名进行解码,因为如果值内容存在换行符将导致json格式错乱。
下面,对联动填单过程进行说明。
辅助填单是基于前端的一个组件方案,其一大优势在于可利用已有的前端填单校验规避部分填单错误风险,也可复用业务代码逻辑,将数据录入操作收缩为统一入口。
要实现复用触发前端代码校验效果,一个很重要的指标在于是否能够达到和用户操作效果一致,这里的用户操作效果主要有校验数据、联动效果、数据形式。
校验数据包括:必输性(项目名称必输)、字段长度(项目代码最多32位)、数据格式验证(循环购买终止日必须为YYYY/MM/DD)等。
联动效果包括:数据联动(比如选择了某个省,则市只能选该省下的市)、校验联动(比如交易场所为银登中心,增信情况则为必输)、展示联动(项目管理模式选择了循环池,则循环购买起始日与终止日才会展示并需要填写)。
数据形式包括:文本框、数字框、下拉框、日期框等。
辅助填单想要做到联动效果最重要的就是按序进行实时模拟人工填单,接下来分别解释按序、实时、模拟的方式。
按序即为填单文本的字段顺序需要与用户页面操作顺序一致,通常这个顺序就是页面字段的显示顺序,这样做是为了避免依赖于其它输入框的联动输入框被提前填值而导致联动错乱(比如“项目管理模式”字段只能填为“循环池”才能填接下来的循环购买日字段)。
实时即指,需要获取表单输入框的实时状态,状态包括是否隐藏、输入框类型(文本还是下拉框等,同一个字段在不同场景的类型可能不一样)、字段校验信息。其中,如果是隐藏或者disabled属性则因跳过对该输入框填值。
模拟手工填单重点在于前端代码事件(event)的触发,比如change(输入框值的改变)会触发某些联动展示、校验等效果,而做到这一点需要基于具体前端框架实现,如果框架提供了类似set Value填值的方法,则应使用框架的方法,如原始html+js则应手动调用触发各种事件。
以EasyUI这个前端框架进行举例各种类型输入框填单流程,具体可以包括但不限于下述步骤F1至步骤F5。
步骤F1、遍历所有已解析好的字段。
步骤F2、获取对应表单输入框html对象。遍历表单下所有<tr>元素(<tr>元素对应表单的行),再遍历<tr>元素下的<td>元素(<td>元素对应表单的每个输入框),判断<td>标签的innerText内容(即输入框字段名)是否与解析好的字段名匹配,注意匹配需要忽略星号(*)、空格、冒号(:)等。输入框的dom对象为$(td).next().find('input')[0],而其EasyUI组件对象(JQuery对象)为$($(td).next().find('input')[0])。
步骤F3、判断该字段是否为隐藏元素,输入框元素含hidden、visible属性或者css样式中display为none即为隐藏元素,则应跳过该隐藏元素不进行填单。
步骤F4、判断该输入框的类型。输入框的类型包括:下拉框、列表下拉框、日期框、数字框、文本框。判断方式为输入框是否含有对应EasyUI组件输入框特有的css class类,各个组件对应的class类关系如下:
输入框类型 | EasyUI组件名 | 对应特有class |
下拉框 | combobox | combobox-f |
列表下拉框 | combogrid | combogrid-f |
日期框 | datebox | datebox-f |
数字框 | numberbox | numberbox-f |
文本框 | textbox | textbox-f |
步骤F5、根据不同的输入框类型进行设置值(相当于上述目标输入框的填充)。设置值是主要使用EasyUI提供的setValue等方法,设置值之前需要将字段值进行decodeURICompoent解码(文本预处理时可能会将字段值进行编码以处理空格)。
在设置字段值前还需要进行一些如转换、校验等操作,通常需要校验字段值必须在输入框允许的范围内,比如日期框只能是日期、下拉框内容必须是下拉框列表中的内容。对于日期框及数字框,需要考虑格式转换,如将日期的yyyy/MM/dd转换为EasyUI可识别的yyyy-MM-dd格式,而数字框需要转换字段值存在的千分位符以及百分号等格式。下拉框则尤其需要注意只能设置下拉框中可以选择的值,比如性别下拉框可选值为“[{value:0,text:女},{value:1,text:男}]”,则填单内容只能为男、女或者0、1,而不能是其它。比较麻烦的为列表下拉框(combogrid),由于列表下拉框会请求远程端获取下拉框的值,如果在列表下拉框当前页无法判断字段值为下拉可选值,则需将字段值作为查询条件远程查询一遍以判断是否可以设置该值。设置值时由于前端本身代码的校验机制,也会自动触发一些校验,如长度校验、必输校验、字段类型校验、格式校验,以及其它一些定制化的字段校验,以避免数据填写错误。
下面,对数据训练过程进行说明。
对于辅助填单而言,需要通过解析并识别文本进行填单,这种通用性即便再智能准确也很难像人工填单那样通过文字内容含义去准确填单。要想使辅助填单提高可用性,一个方式是提高解析识别文本的准确度,另一个方式就是让系统像人类一样存在文字内容识别能力去判断数据的正确性。
该实施例提供一种简单的数据训练方式,通过多次数据喂养,系统自动识别匹配并演化出字段值的数据特征,并对新的用户填单文本进行数据匹配,对存在匹配度较差的可能异常的数据进行提醒,以提高用户填单的正确性。所谓数据特征,即多个字符串正则表达式,可针对字符形式(全汉字、全数字、全英文)、长度、固定格式(日期、邮箱、手机号等)、固定词汇(如公司、下拉框值)等组建正则表达式。
当用户使用辅助填单时,系统将解析结果存储下来,除了存储字段列表信息供解析使用外,还需将所有字段及其值作为数据喂养的输入值进行数据训练。数据训练是针对单个字段值的,需要为每一个字段值进行正则表达式特征提取,每个字段值都可能会匹配到多个正则特征,如项目编号能匹配到英文及数字组合特征以及长度不超过32特征。当数据样本量达到五次时,就可获取出匹配度达80%的特征数据,匹配度即为正则特征出现次数与数据样本量之比,将该特征作为字段值特征,用于数据验证。数据验证时将字段值特征正则表达式匹配解析结果的字段值,有多个则匹配多个,若其中不满足,即可提示用户“该字段可能存在错误,请检查”。
参考图9所示的内容,数据训练过程可以包括:样本喂养901、预设正则表达式特征902、正则碰撞903、数据演化904、规则验证905、验证结果反馈给用户906、提交数据907、样本淘汰908。
下面,对正则碰撞903的过程进行说明。
可先预设各种常用的正则表达式,用于数据特征匹配,如各种格式的日期时间、邮箱、手机号、身份证号、金额、全汉字、全数字、下划线数字字母组合、字段长度等。特别的,某些正则表达式虽然存在包含关系也应全部保留,如15866666666符合数字字母组合特征、全数字特征、手机号特征,但也可能是偶然像手机号的随机数字,如果依据部分样本数据就定性为手机号,则可能后续出现多个非手机号的数字时无法定性为全数字特征而导致无法用于规则验证。
系统预设了多个正则表达式时,就可初步用于匹配字段值,匹配碰撞上就可记录该字段值的单个数据特征,当样本数据量够大时就可用于数据验证纠错。
下面,对数据演化904的过程进行说明。
数据演化主要用于以上预设正则表达式无法覆盖的场景,如字段值长度控制、字段内容存在关键词等情况。当仅使用预设的正则表达式进行匹配时,只能针对部分独立的特征进行匹配,无法对如连续的字段值长度进行判断,也无法对多个关键词及多个组合特征(类似小微企业2022存在关键词与年份的组合)进行判断。这就需要对这些特征进行自动演化扩展,以下解释如何演化字段长度特征与关键词组合特征。
关于字段值长度特征的演化,可以包括但不限于下述步骤G1至步骤G4。
步骤G1、预设2的N次方(例如N为10)基础长度210,作为基准长度特征。
步骤G2、判断该字段值80%的样本数据长度是否超过该210,超过则终止长度演化。
步骤G3、不超过依次使用二分法(N为9->8->7…)继续判断80%的样本数据是否超过29、28、27…超过则终止长度演化。
步骤G4、则最终字段值长度的特征为2N~2N+1,正则特征表达式为[\s\S]{2N,2N+1}。
关于关键词组合特征的演化,可以包括但不限于下述步骤H1至步骤H5。
步骤H1、使用分词器将字段值提取关键词。
例如,参考图10所示的内容,将多个样本1001输入至分词器引擎1002,分词器引擎1002对输入的样本进行分词,得到多个关键词1003。
步骤H2、将关键词出现率达80%的设立双向链表节点。
例如,参考图11所述的内容,将“小微企业”、“企业”以及“2022”设立为双向链表的节点。
步骤H3、为出现率较低的关键词进行单独的数据训练,建立独立的正则数据特征,并建立非关键词双向链表节点。
例如,参考图12所示的内容,得到一个非关键词双向链表节点,且其对应的正则数据特征为“中文,长度是2至4”。
步骤H4、根据节点内容在字段值中出现的位置建立双向链表,并过滤重复无效节点。
例如,参考图13所示的内容,双向链表包括头节点1301、小微企业节点1302、2022节点1303、非关键词节点1304以及尾节点1305。
步骤H5、将双向链表转换成组合正则数据特征(相当于上述组合特征)。
下面,对规则验证905进行说明。
当数据样本达到一定量时,就可对新解析的字段值进行数据特征规则校验。
具体的,先统计样本的某个正则特征表达式在所有样本中出现的频率,如果该正则表达式出现的次数占样本数的80%以上,就可认为该正则表达式为该字段值的数据特征。这样,当用户填单时,就可使用该正则表达式组成的数据特征进行字段值的匹配校验,如果不满足特征则说明该字段填写内容与以往填写数据差异较大,需提示给用户让用户警惕数据的准确性。
下面,对样本淘汰908进行说明。
当系统反馈给用户某字段存在可能填写异常情况时,并非代表该字段就是非法值,也可能是样本数量不足导致的误判断。这个时候,需要提取用户提交时的最终数据,即用户认为可靠的最终数据,反馈给数据训练程序,作为一份数据喂养标准训练样本,并通过正则碰撞与数据演化提取归纳其数据特征,以便进行后续的规则验证。
随着填单次数的增多,以及业务场景的变化,样本的特征也可能改变,即可能出现数据的“进化”,比如项目名称在2023年会开始出现“小微企业2023第一期”;当然也可能出现被用户提交的数据也是错误样本数据,也就是会“变异”,如错误填写“小微企业2022第6期”。此时需要进行样本淘汰,以保证数据特征规则验证的准确性。
淘汰过程可以包括但不限于下述步骤I1至步骤I4。
步骤I1、每一个新确定的样本A,根据其样本特征匹配度给予基础分,如现有数据特征(数据特征判断方式见规则验证)10个,若其满足其中8个,则给予8分。
步骤I2、当确定一个新的样本B时,若B满足的A的全部8个数据特征(说明B与A特征高度一致,由于较新数据更可信,则说明A有极大概率是未来字段特征的典型代表,不是典型代表的较早数据也减分进行退化)则A加1分,否则A减1分。
步骤I3、再进入一个数据样本F时,也会通过步骤I2进行加减法,如A此时满足的数据特征减少2个为6个(样本特征正则量会随着样本的改变而变化,比如样本B、C、D、E的出现使得字段值的数据特征改变,从而使A满足字段的整体样本特征改变,比如项目名称中2022到2023演变的过程会使2022不再成为关键词),则A减2分;
步骤I4、当A的分值为0分时,则将该样本进行淘汰,剔除出样本列表。
接下来根据上面步骤举例解释如何进行进化、变异与淘汰。
例如,当出现样本A为“小微企业2023第一期”时,可能步骤I1的得分为8分(由于2023不满足),但是根据步骤I2,后续出现样本B“小微企业2023第二期”、样本C“小微企业2023第三期”后,A分别递增为9分、10分,即A和后面的B、C特征的分数由于“进化”会越来越高。而样本A“小微企业2022第一期”会因为步骤I3中2023第一期、第二期、第三期…的出现而不断减分直至0分被退化淘汰出样本列表。
而如果一开始样本A为“小微企业2022第6期”,则一开始根据步骤I1的初始得分就会很低(6不是六),而后续样本分都会比A高,则A的得分将快速下滑为0被淘汰,这就是变异数据的淘汰过程。即整个过程会由于后面样本的自成一系而不断淘汰更早出现的那一批不再适用的样本数据,也会快速淘汰偶然出现的变异样本。
需要注意的时,数据特征判断时(包括规则验证时的判断),仅将分值较高的90%的样本进行数据特征提取,当这90%的样本中,有某正则表达式出现频率达80%则可认定为该字段的数据特征。即当出现“进化”时,进化的样本分值会越来越高,而进化前的样本数据分值会越来越低直至进化样本足够多时被退化而淘汰;而变异的样本,会一直进行减分直至0。这样就达到了样本淘汰的目的,且兼顾进化与变异。
下面,通过一个示例对训练过程进行说明,具体可以包括但不限于下述步骤J1至步骤J6。
步骤J1、已有样本训练输入值:小微企业2022第四期、小微企业2022第五期、小微企业2022第六期、小微企业2022第七期、小微企业2022第八期。
步骤J2、正则碰撞结果:“^[\u4E00-\u9FA5A-Za-z0-9]+$”(汉字、字母、数字组合)。
步骤J3、数据演化可通过字段长度演化获得其长度在2的3次方至2的4次方内,即8到16之间;且其组合正则数据特征为“小微企业”+“2022”+“中文、长度2至4”。
步骤J4、当用户进行填单,若项目名称为“小微企业2022第九期”,则验证通过不做任何反应;若项目名称为“小微企业2022-第九期”,则提示前端项目名称可能存在异常。
步骤J5、获取用户最终提交的数据信息,进行反馈喂养与样本淘汰,获得新的样本数据。
步骤J6、进行步骤J2和步骤J3,并等待下一次用户填单。
可以理解的,联动填单方案核心为使用前端框架提供的设置值方法,通过按序、实时、模拟的方式达到与用户操作一致。该实施例中仅以EasyUI框架的实现方式举例,不同前端框架有不同的实现方式,此处不再一一列举。
数据训练并警示是对解析填单准确率的一个补充,但考虑到联动填单已使用了前端代码的校验,已规避了重大风险,且用户核对一遍表单结果的代价不大,在部分非高要求的系统可不搭建数据训练模块。
第二方面,为实现上述数据处理方法,本申请实施例的一种数据处理装置,下面结合图14所示的数据处理装置的结构示意图进行说明。
如图14所示,数据处理装置140包括:切割单元1401、识别单元1402、第一确定单元1403、第二确定单元1404以及填充单元1405。其中:
切割单元1401,用于基于目标符号对待处理文本进行切割,得到多个字符串;所述待处理文本包括N个字段与N个字段值,所述N大于等于1;
识别单元1402,用于在所述多个字符串中,识别出所述待处理文本包括的所述N个字段;
第一确定单元1403,用于确定所述待处理文本的目标文本结构;所述目标文本结构用于表征所述待处理文本中所述N个字段与所述N个字段值之间的位置关系;
第二确定单元1404,用于基于所述目标文本结构与所述待处理文本,确定所述N字段中每个所述字段的字段值;
填充单元1405,用于基于所述N个字段中每个所述字段的字段值对填单系统中每个所述字段对应的输入框进行填充。
在一些实施例中,识别单元1402还用于:
扫描前端框架中的第一表单,获取所述第一表单下第一节点的第一属性内容,得到多个第一属性内容;针对所述多个字符串中的每个所述字符串,将所述字符串分别与所述多个第一属性内容进行匹配,若所述字符串与所述多个字符串中的任一字符串匹配成功,则将所述字符串确定为所述待处理文本中的字段,得到所述N个字段;
或者,
针对所述多个字符串中的每个所述字符串,将所述字符串与字段名列表进行匹配,若所述字符串与所述字段名列表匹配成功,将所述字符串确定为所述待处理文本中的字段;若匹配失败,则将所述字符串与所述多个第一属性内容进行匹配,若所述字符串与所述多个字符串中的任一字符串匹配成功,则将所述字符串确定为所述待处理文本中的字段,得到所述N个字段。
在一些实施例中,第一确定单元1403还用于:
若所述待处理文本满足第一条件,则确定所述目标文本结构为头行文本结构;其中,所述第一条件包括:所述待处理文本包括两行文本;且,所述两行文本具有相同数量的目标符号;且,在所述两行文本包括的第一行文本中识别得到的字段的数量大于等于第一数量阈值;若所述待处理文本满足第二条件,则确定所述目标文本结构为顺序文本结构;所述第二条件用于表征所述待处理文本中的所述N个字段间隔排列。
在一些实施例中,若所述目标文本结构为顺序文本结构,第一内容包括一个目标符号,所述第一内容为所述待处理文本中第一字段与第二字段之间的内容,所述第一字段与所述第二字段相邻;第二确定单元1404还用于:
确定所述第一字段的第一字段值特征;所述第一字段值特征用于限定所述第一字段的字段值应满足的特征条件;将所述第一内容与所述第一字段值特征进行匹配,若所述第一内容满足所述第一字段值特征,则将所述第一内容作为所述第一字段的字段值;若所述第一内容不满足所述第一字段值特征,则将所述第一内容中位于所述目标符合左边的左部分内容与所述第一字段值进行匹配,若所述左部分内容满足所述第一字段值特征,则将所述左部分内容作为所述第一字段的字段值。
在一些实施例中,若所述目标文本结构为顺序文本结构,第二内容为所述待处理文本的一个单元格内的内容,所述第二内容包括目标符号,第二确定单元1404还用于:
获取所述第二内容,并在所述第二内容的结尾添加目标符号;在所述第二内容中定位至少一个第一点,所述第一点为所述第二内容中的第一符号;所述第一符号为双引号加目标符号;针对所述至少一个第一点中的每个所述第一点,在所述第一内容中从所述第一点开始向左遍历,确定第二点;若所述第二点为所述第一符号,则将所述第二内容中所述第二点与所述第一点之间的内容确定为一个字段值;若所述第二点为第二符号,则将所述第二点与所述第一点之间的内容确定为一个字段值;所述第二符号为目标符号加双引号。
在一些实施例中,填充单元1405还用于:
基于所述N个字段的目标填充顺序,在所述N个字段中确定当前填充字段;在所述当前填充字段的前一个字段填充完成后,获取所述当前填充字段对应的目标输入框的状态;所述状态包括、输入框类型、可输入值、事件内容以及是否隐藏;基于所述目标输入框的输入框类型、可输入值、事件内容、是否隐藏以及所述当前填充字段的字段值,对所述目标输入框进行填充;基于对所述目标输入框的填充生成触发事件,以触发产生与所述目标输入框的填充对应的填单结果;重新执行所述基于所述N个字段的目标填充顺序,在所述N个字段中确定当前填充字段,直至完成所述N个字段的填充。
在一些实施例中,填充单元1405还用于:若所述目标输入框为隐藏状态,则跳过对所述目标输入框的填充;若所述目标输入框为非隐藏状态,则确定目标输入框的输入框类型;判断所述当前填充字段的字段值是否满足所述输入框类型的输入格式;判断所述当前填充字段的字段值是否属于所述可输入值,在所述当前填充字段的字段值满足所述输入框类型的输入格式,且属于所述可输入值的情况下,基于所述事件内容将所述当前填充字段的字段值填入所述目标输入框。
在一些实施例中,数据处理装置140还包括验证单元,验证单元用于:
在所述N个字段的字段值目标特征中,确定所述当前填充字段的至少一个第二字段值特征;所述第二字段值特征用于限定所述当前填充字段的字段值应满足的特征条件;判断所述当前填充字段的字段值是否满足所述至少一个第二字段值特征;在所述当前填充字段的字段值不满足所述至少一个第二字段值特征中的任一第二字段值特征的情况下,输出第一提醒信息;所述第一提醒信息用于表征所述当前填充字段的字段值异常。
在一些实施例中,数据处理装置140还包括处理单元,处理单元用于:
针对所述N个字段中的每个所述字段执行以下处理,得到每个所述字段的字段值目标特征;获取所述字段的M个样本以及所述字段的P个字段值初始特征;一个所述样本为所述字段的一个字段值;所述M为大于1的整数,所述P为大于1的整数;针对所述P个字段值初始特征中的每个所述字段值初始特征,统计每个所述特征值初始的第一比值;所述第一比值为满足所述字段值初始特征的数量与所述M的比值;将所述P个字段值初始特征中第一比值大于或等于比值阈值的字段值初始特征,确定为所述字段的字段值目标特征。
在一些实施例中,处理单元还用于:
将多个预设正则特征中,与所述字段的字段值匹配的正则特征确定为所述字段的字段值初始特征;确定所述字段的字段值长度特征;提取所述字段的字段值关键词;所述字段值关键词为所述字段的字段值中出现概率大于或等于第一概率阈值的词;确定所述字段的中非字段值关键词的正则特征;基于所述字段值长度特征、所述字段值关键词以及所述非字段值关键词的正则特征,得到所述字段的组合特征,并将所述组合特征确定为所述字段的字段值初始特征。
在一些实施例中,处理单元还用于:
基于第一样本满足的字段值初始特征的数量,确定第一样本的基础分;在新增第二样本的情况下,若所述第二样本满足全部的第一字段值初始特征,则增加所述第一样本的分值;所述第二样本为第一样本后的新样本,所述第一字段值初始特征为所述第一样本满足的字段值初始特征;在新增第三样本的情况下,若所述第三样本满足部分所述第一字段值初始特征,则减少所述第一样本的分值;所述第三样本为所述第二样本后的新样本;若所述第一样本的分值小于或等于第一分值,则将所述第一样本淘汰。
需要说明的是,本申请实施例提供的数据处理装置包括所包括的各单元,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro ProcessorUnit)、数字信号处理器(DSP,Digital Signal Processor)或现场可编程门阵列(FPGA,Field-Programmable Gate Array)等。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的数据处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
为实现上述数据处理方法,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例中提供的数据处理方法中的步骤。
下面结合图15所示的电子设备150,对电子设备的结构图进行说明。
在一示例中,电子设备150可以为上述电子设备。如图15所示,所述电子设备150包括:一个处理器1501、至少一个通信总线1502、用户接口1503、至少一个外部通信接口1504和存储器1505。其中,通信总线1502配置为实现这些组件之间的连接通信。其中,用户接口1503可以包括显示屏,外部通信接口1504可以包括标准的有线接口和无线接口。
存储器1505配置为存储由处理器1501可执行的指令和应用,还可以缓存待处理器1501以及电子设备中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random AccessMemory,RAM)实现。
第四方面,本申请实施例提供一种存储介质,也就是计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的数据处理方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (14)
1.一种数据处理方法,其特征在于,所述方法包括:
基于目标符号对待处理文本进行切割,得到多个字符串;所述待处理文本包括N个字段与N个字段值,所述N大于等于1;
在所述多个字符串中,识别出所述待处理文本包括的所述N个字段;
确定所述待处理文本的目标文本结构;所述目标文本结构用于表征所述待处理文本中所述N个字段与所述N个字段值之间的位置关系;
基于所述目标文本结构与所述待处理文本,确定所述N字段中每个所述字段的字段值;
基于所述N个字段中每个所述字段的字段值对填单系统中每个所述字段对应的输入框进行填充。
2.根据权利要求1所述的方法,其特征在于,所述在所述多个字符串中,识别出所述待处理文本包括的所述N个字段,包括:
扫描前端框架中的第一表单,获取所述第一表单下第一节点的第一属性内容,得到多个第一属性内容;
针对所述多个字符串中的每个所述字符串,将所述字符串分别与所述多个第一属性内容进行匹配,若所述字符串与所述多个字符串中的任一字符串匹配成功,则将所述字符串确定为所述待处理文本中的字段,得到所述N个字段;
或者,
针对所述多个字符串中的每个所述字符串,将所述字符串与字段名列表进行匹配,若所述字符串与所述字段名列表匹配成功,将所述字符串确定为所述待处理文本中的字段;若匹配失败,则将所述字符串与所述多个第一属性内容进行匹配,若所述字符串与所述多个字符串中的任一字符串匹配成功,则将所述字符串确定为所述待处理文本中的字段,得到所述N个字段。
3.根据权利要求1所述的方法,其特征在于,所述确定所述待处理文本的目标文本结构,包括:
若所述待处理文本满足第一条件,则确定所述目标文本结构为头行文本结构;
其中,所述第一条件包括:所述待处理文本包括两行文本;且,所述两行文本具有相同数量的目标符号;且,在所述两行文本包括的第一行文本中识别得到的字段的数量大于等于第一数量阈值;
若所述待处理文本满足第二条件,则确定所述目标文本结构为顺序文本结构;所述第二条件用于表征所述待处理文本中的所述N个字段间隔排列。
4.根据权利要求1所述的方法,其特征在于,若所述目标文本结构为顺序文本结构,第一内容包括一个目标符号,所述第一内容为所述待处理文本中第一字段与第二字段之间的内容,所述第一字段与所述第二字段相邻;所述基于所述目标文本结构与所述待处理文本,确定所述N字段中每个所述字段的字段值,包括:
确定所述第一字段的第一字段值特征;所述第一字段值特征用于限定所述第一字段的字段值应满足的特征条件;
将所述第一内容与所述第一字段值特征进行匹配,若所述第一内容满足所述第一字段值特征,则将所述第一内容作为所述第一字段的字段值;若所述第一内容不满足所述第一字段值特征,则将所述第一内容中位于所述目标符合左边的左部分内容与所述第一字段值进行匹配,若所述左部分内容满足所述第一字段值特征,则将所述左部分内容作为所述第一字段的字段值。
5.根据权利要求1所述的方法,其特征在于,若所述目标文本结构为顺序文本结构,第二内容为所述待处理文本的一个单元格内的内容,所述第二内容包括目标符号,所述基于所述目标文本结构与所述待处理文本,确定所述N字段中每个所述字段的字段值,包括:
获取所述第二内容,并在所述第二内容的结尾添加目标符号;
在所述第二内容中定位至少一个第一点,所述第一点为所述第二内容中的第一符号;所述第一符号为双引号加目标符号;
针对所述至少一个第一点中的每个所述第一点,在所述第一内容中从所述第一点开始向左遍历,确定第二点;
若所述第二点为所述第一符号,则将所述第二内容中所述第二点与所述第一点之间的内容确定为一个字段值;若所述第二点为第二符号,则将所述第二点与所述第一点之间的内容确定为一个字段值;所述第二符号为目标符号加双引号。
6.根据权利要求1所述的方法,其特征在于,所述基于所述N个字段中每个所述字段的字段值对填单系统中每个所述字段对应的输入框进行填充,包括:
基于所述N个字段的目标填充顺序,在所述N个字段中确定当前填充字段;
在所述当前填充字段的前一个字段填充完成后,获取所述当前填充字段对应的目标输入框的状态;所述状态包括、输入框类型、可输入值、事件内容以及是否隐藏;
基于所述目标输入框的输入框类型、可输入值、事件内容、是否隐藏以及所述当前填充字段的字段值,对所述目标输入框进行填充;
基于对所述目标输入框的填充生成触发事件,以触发产生与所述目标输入框的填充对应的填单结果;
重新执行所述基于所述N个字段的目标填充顺序,在所述N个字段中确定当前填充字段,直至完成所述N个字段的填充。
7.根据权利要求6所述的方法,其特征在于,所述基于所述目标输入框的输入框类型、可输入值、事件内容、是否隐藏以及所述当前填充字段的字段值,对所述目标输入框进行填充,包括:
若所述目标输入框为隐藏状态,则跳过对所述目标输入框的填充;
若所述目标输入框为非隐藏状态,则确定目标输入框的输入框类型;判断所述当前填充字段的字段值是否满足所述输入框类型的输入格式;判断所述当前填充字段的字段值是否属于所述可输入值,在所述当前填充字段的字段值满足所述输入框类型的输入格式,且属于所述可输入值的情况下,基于所述事件内容将所述当前填充字段的字段值填入所述目标输入框。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述N个字段的字段值目标特征中,确定所述当前填充字段的至少一个第二字段值特征;所述第二字段值特征用于限定所述当前填充字段的字段值应满足的特征条件;
判断所述当前填充字段的字段值是否满足所述至少一个第二字段值特征;在所述当前填充字段的字段值不满足所述至少一个第二字段值特征中的任一第二字段值特征的情况下,输出第一提醒信息;所述第一提醒信息用于表征所述当前填充字段的字段值异常。
9.根据权利要求8所述的方法,其特征在于,在所述N个字段的字段值目标特征中,确定所述当前填充字段的至少一个第二字段值特征之前,所述方法还包括:
针对所述N个字段中的每个所述字段执行以下处理,得到每个所述字段的字段值目标特征;
获取所述字段的M个样本以及所述字段的P个字段值初始特征;一个所述样本为所述字段的一个字段值;所述M为大于1的整数,所述P为大于1的整数;
针对所述P个字段值初始特征中的每个所述字段值初始特征,统计每个所述特征值初始的第一比值;所述第一比值为满足所述字段值初始特征的数量与所述M的比值;
将所述P个字段值初始特征中第一比值大于或等于比值阈值的字段值初始特征,确定为所述字段的字段值目标特征。
10.根据权利要求9所述的方法,其特征在于,获取所述字段的P个字段值初始特征,包括:
将多个预设正则特征中,与所述字段的字段值匹配的正则特征确定为所述字段的字段值初始特征;
确定所述字段的字段值长度特征;
提取所述字段的字段值关键词;所述字段值关键词为所述字段的字段值中出现概率大于或等于第一概率阈值的词;
确定所述字段的中非字段值关键词的正则特征;
基于所述字段值长度特征、所述字段值关键词以及所述非字段值关键词的正则特征,得到所述字段的组合特征,并将所述组合特征确定为所述字段的字段值初始特征。
11.根据权利要求9所述的方法,其特征在于,所述获取所述字段的M个样本,包括:
基于第一样本满足的字段值初始特征的数量,确定第一样本的基础分;
在新增第二样本的情况下,若所述第二样本满足全部的第一字段值初始特征,则增加所述第一样本的分值;所述第二样本为第一样本后的新样本,所述第一字段值初始特征为所述第一样本满足的字段值初始特征;
在新增第三样本的情况下,若所述第三样本满足部分所述第一字段值初始特征,则减少所述第一样本的分值;所述第三样本为所述第二样本后的新样本;
若所述第一样本的分值小于或等于第一分值,则将所述第一样本淘汰。
12.一种数据处理装置,其特征在于,所述装置包括:
切割单元,用于基于目标符号对待处理文本进行切割,得到多个字符串;所述待处理文本包括N个字段与N个字段值,所述N大于等于1;
识别单元,用于在所述多个字符串中,识别出所述待处理文本包括的所述N个字段;
第一确定单元,用于确定所述待处理文本的目标文本结构;所述目标文本结构用于表征所述待处理文本中所述N个字段与所述N个字段值之间的位置关系;
第二确定单元,用于基于所述目标文本结构与所述待处理文本,确定所述N字段中每个所述字段的字段值;
填充单元,用于基于所述N个字段中每个所述字段的字段值对填单系统中每个所述字段对应的输入框进行填充。
13.一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至11任一项所述的数据处理方法。
14.一种存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,实现权利要求1至11任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310102482.0A CN115983202A (zh) | 2023-01-28 | 2023-01-28 | 一种数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310102482.0A CN115983202A (zh) | 2023-01-28 | 2023-01-28 | 一种数据处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115983202A true CN115983202A (zh) | 2023-04-18 |
Family
ID=85960036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310102482.0A Pending CN115983202A (zh) | 2023-01-28 | 2023-01-28 | 一种数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115983202A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116720489A (zh) * | 2023-08-08 | 2023-09-08 | 建信金融科技有限责任公司 | 页面填充方法及装置、电子设备和计算机可读存储介质 |
-
2023
- 2023-01-28 CN CN202310102482.0A patent/CN115983202A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116720489A (zh) * | 2023-08-08 | 2023-09-08 | 建信金融科技有限责任公司 | 页面填充方法及装置、电子设备和计算机可读存储介质 |
CN116720489B (zh) * | 2023-08-08 | 2023-11-07 | 建信金融科技有限责任公司 | 页面填充方法及装置、电子设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108829681B (zh) | 一种命名实体提取方法及装置 | |
US8489388B2 (en) | Data detection | |
Drobac et al. | Optical character recognition with neural networks and post-correction with finite state methods | |
US8290269B2 (en) | Image document processing device, image document processing method, program, and storage medium | |
CN111177184A (zh) | 基于自然语言的结构化查询语言转换方法、及其相关设备 | |
US20080235227A1 (en) | Systems and methods to extract data automatically from a composite electronic document | |
EP3591539A1 (en) | Parsing unstructured information for conversion into structured data | |
CN107967250B (zh) | 一种信息处理方法及装置 | |
CN104008093A (zh) | 用于中文姓名音译的方法和系统 | |
CN102956231A (zh) | 基于半自动校正的语音关键信息记录装置及方法 | |
CN113268576B (zh) | 一种基于深度学习的部门语义信息抽取的方法及装置 | |
CN115983202A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN110610003B (zh) | 用于辅助文本标注的方法和系统 | |
CN114970502A (zh) | 一种应用于数字政府的文本纠错方法 | |
CN108073591B (zh) | 一种具有身份属性的多源数据的整合存储系统及方法 | |
CN115526176A (zh) | 文本识别方法及装置、电子设备、存储介质 | |
TWI579830B (zh) | On the Chinese Text Normalization System and Method of Semantic Cooperative Processing | |
CN115294593A (zh) | 一种图像信息抽取方法、装置、计算机设备及存储介质 | |
CA3156204A1 (en) | Domain based text extraction | |
Huang et al. | A Homophone-based Chinese Text Steganography Scheme for Chatting Applications. | |
JP2007323317A (ja) | 変換装置、変換方法及びプログラム | |
CN116257602B (zh) | 一种基于公共词构建通用词库的方法、装置及电子设备 | |
CN116304060B (zh) | 一种基于聚类构建通用词库的方法、装置及电子设备 | |
KR102684423B1 (ko) | 데이터 검색 방법 및 시스템 | |
US20240020473A1 (en) | Domain Based Text Extraction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |