表单处理方法和装置
技术领域
本发明涉及计算机技术,尤其涉及一种表单处理方法和装置。
背景技术
表单是非常常见的一种用于收集信息的工具,例如:酒店信息反馈卡、员工个人信息登记表、学生个人信息登记表或者学习成绩单等。
不同的表单具有不同的数据结构,其包含的字段名以及字段名对应的字段位置都可能不同,例如:A酒店信息反馈卡包含的字段名为:姓名、性别、联系方式、身份证号码以及消费时间等;B酒店信息反馈卡包含的字段名为:姓名、性别、联系方式以及房间编号等;为了便于信息管理或者其他用途,通常会对多个表单收集的信息进行数据分析,例如:获取某用户的所有联系方式,现有技术中,通常只是针对同一数据结构的表单进行数据分析。
然而,采用现有技术的方式,对表单进行数据分析数据量不够丰富,获取到的数据不够全面,分析效果不佳。
发明内容
本发明提供一种表单处理方法和装置,以丰富进行数据分析的样本的数据量,提高分析效果。
第一方面,本发明实施例提供一种表单处理方法,包括:
获取N个表单的数据结构,所述数据结构用于指示所述表单包含的字段名,以及每个字段名与字段位置的对应关系,N为大于等于2的整数;
根据每个表单包含的字段名,从所述N个表单中获取包含目标类字段名的M个表单,M为小于等于N的整数;
根据所述M个表单的字段名与字段位置的对应关系以及字段名,对所述M个表单的数据项进行融合,生成目标表单;
对所述目标表单进行分析处理。
可选地,所述根据所述M个表单的字段名与字段位置的对应关系以及字段名,对所述M个表单的数据项进行融合,生成目标表单,包括:
获取所述M个表单中每个表单的数据项;其中,每个表单包含多个数据项,每个数据项中包含所述表单的字段名对应的赋值;
根据相同字段名的赋值,获取所述M个表单中具有关联关系的数据项;
对所述具有关联关系的数据项进行融合,得到目标数据项;
根据所述目标数据项生成所述目标表单。
可选地,所述根据相同字段名的赋值,获取所述M个表单中具有关联关系的数据项,包括:
获取S个关键字段名的优先权值,所述S为大于等于1的整数;
根据所述S个关键字段名的优先权值,匹配任意两个数据项的所述S个关键字段名的赋值,得到所述两个数据项的匹配率;
确定所述匹配率大于等于预设匹配率的两个数据项具有关联关系。
可选地,所述根据所述S个关键字段名的优先权值,匹配任意两个数据项的所述S个关键字段名的赋值,得到所述两个数据项的匹配率,包括:
若两个数据项中的同一个关键字段名的赋值相同,则所述关键字段名的匹配率为所述关键字段名的优先权值;
若两个数据项中的同一关键字段名的赋值不同,则所述关键字段名的匹配率为0;
确定所述S个关键字段名的匹配率的和值为所述两个数据项的匹配率。
可选地,所述对所述具有关联关系的数据项进行融合,得到目标数据项,包括:
将所述具有关联关系的数据项进行合并与去重处理。
可选地,所述目标类字段名包含R个字段名,所述R为大于等于1的整数;
所述从所述N个表单中获取包含目标类字段名的M个表单,包括:
从所述N个表单中获取包含所述R个字段名中的任一个字段名的M个表单。
第二方面,本发明实施例提供一种表单处理装置,包括:
获取模块,用于获取N个表单的数据结构,所述数据结构用于指示所述表单包含的字段名,以及每个字段名与字段位置的对应关系,N为大于等于2的整数;
筛选模块,用于根据每个表单包含的字段名,从所述N个表单中获取包含目标类字段名的M个表单,M为小于等于N的整数;
处理模块,用于根据所述M个表单的字段名与字段位置的对应关系以及字段名,对所述M个表单的数据项进行融合,生成目标表单;
所述处理模块,还用于对所述目标表单进行分析处理。
可选地,所述处理模块具体用于获取所述M个表单中每个表单的数据项;其中,每个表单包含多个数据项,每个数据项中包含所述表单的字段名对应的赋值;根据相同字段名的赋值,获取所述M个表单中具有关联关系的数据项;对所述具有关联关系的数据项进行融合,得到目标数据项;根据所述目标数据项生成所述目标表单。
可选地,所述处理模块具体用于获取S个关键字段名的优先权值,所述S为大于等于1的整数;根据所述S个关键字段名的优先权值,匹配任意两个数据项的所述S个关键字段名的赋值,得到所述两个数据项的匹配率;确定所述匹配率大于等于预设匹配率的两个数据项具有关联关系。
可选地,所述处理模块具体用于
若两个数据项中的同一个关键字段名的赋值相同,则所述关键字段名的匹配率为所述关键字段名的优先权值;若两个数据项中的同一关键字段名的赋值不同,则所述关键字段名的匹配率为0;确定所述S个关键字段名的匹配率的和值为所述两个数据项的匹配率。
可选地,所述处理模块具体用于将所述具有关联关系的数据项进行合并与去重处理。
可选地,所述目标类字段名包含R个字段名,所述R为大于等于1的整数;
所述筛选模块具体用于从所述N个表单中获取包含所述R个字段名中的任一个字段名的M个表单。
本发明提供的表单处理方法和装置,通过获取N个表单的数据结构,分析表单包含的字段名,以及字段名与字段位置的对应关系,对N个表单进行筛选,从中确定包含目标类字段名的M个表单,根据M个表单的字段名与字段位置的对应关系,对M个表单的数据进行融合,生成目标表单,从而,将M个表单的数据合并为一个目标表单,通过对目标表单进行分析处理,以丰富进行数据分析的样本的数据量,提高数据分析效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明表单处理方法实施例一的流程示意图;
图2为本发明表单处理方法实施例二的流程示意图;
图3为本发明表单处理装置实施例一的结构示意图;
图4为本发明表单处理装置实施例二的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着大数据的应用日益广泛,对海量的数据进行分析,以获得期望的结果的需求越来越大,例如:通过对海量的数据进行分析,得到用户的特定信息,特定信息例如:联系方式,联系方式可以为手机号码、邮箱地址、微信号、家庭地址或公司地址等信息;再或者,通过对海量的数据进行分析,得到某地区年龄段在25岁-30岁,性别为女的人群的收入水平;再或者,通过对海量的数据进行分析,得到某高校的学生就业领域分布情况等;然而,上述信息可能分布于具有不同数据结构的表单中,本发明实施例针对上述应用场景,通过获取N个表单的数据结构,分析表单包含的字段名,以及字段名与字段位置的对应关系,对N个表单进行筛选,从中确定包含目标类字段名的M个表单,根据M个表单的字段名与字段位置的对应关系,对M个表单的数据进行融合,生成目标表单,从而,将M个表单的数据合并为一个目标表单,通过对目标表单进行分析处理,以丰富进行数据分析的样本的数据量,提高数据分析效果,得到期望的结果。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1为本发明表单处理方法实施例一的流程示意图,如图1所示,本实施例包括:
S101:获取N个表单的数据结构,所述数据结构用于指示所述表单包含的字段名,以及每个字段名与字段位置的对应关系。
其中,N为大于等于2的整数。
不同的表单,其数据结构不同,以4个不同的表单为例,表单1的数据结构如表1所示,表单2的数据结构如表2所示,表单3的数据结构如表3所示,表单4的数据结构如表单4所示。
表1
表2
姓名 |
邮箱地址 |
手机号 |
QQ号 |
张三 |
Zhangsan@163.com |
18129900990 |
518892078 |
…… |
…… |
…… |
…… |
刘虎 |
Liuhu@126.com |
13567890000 |
879078890 |
表3
表4
姓名 |
性别 |
入住时间 |
房间号 |
张三 |
男 |
2017-8-23 |
908 |
…… |
|
|
|
吴佳 |
女 |
2017-8-23 |
809 |
结合上述表单示例得到4个表单的数据结构,从表单1的数据结构可以得到表单1中包含的字段名分别为姓名、性别、年龄、手机号和家庭地址;
表单1的每个字段名与字段位置的对应关系为:姓名在第一个字段,性别在第二个字段,年龄在第三个字段,手机号在第四个字段,家庭地址在第五个字段。从表单2的数据结构可以得到表单2中包含的字段名分别为姓名、邮箱地址、手机号和QQ号,其中,姓名在第一个字段,邮箱地址在第二个字段,手机号在第三个字段,QQ号在第四个字段。从表单3的数据结构可以得到表单3中包含的字段名为姓名、邮箱地址、微信号,紧急联系人、手机号、公司地址和家庭地址;其中,姓名在第一个字段,邮箱地址在第二个字段,微信号在第三个字段,紧急联系人在第四个字段,手机号在第五个字段,公司地址在第六个字段,家庭地址在第七个字段。从表单4的数据结构可以得到表单4中包含的字段名为姓名、性别、入住时间和房间号;其中,姓名在第一个字段,性别在第二个字段,入住时间在第三个字段,房间号在第四个字段。
S102:根据每个表单包含的字段名,从N个表单中获取包含目标类字段名的M个表单。
其中,M为小于等于N的整数。
其中一种可能的实现方式,所述目标类字段名包含R个字段名,所述R为大于等于1的整数;则从所述N个表单中获取包含所述R个字段名中的任一个字段名的M个表单。
举例来说:目标类字段名为联系方式,则手机号、微信号、邮箱号或QQ号等都是联系方式。结合上述表1、表2、表3和表4,其中,表1中包含手机号、表2中包含邮箱地址、手机号和QQ号;表3中包含微信号;表4中不包含任何联系方式有关的字段名;因此,通过本步骤对表单进行筛选,确定表1、表2和表3为待处理的表单,从而,去除没用的表单,减少待处理的表单的数量,提高表单的处理效率。
S103:根据M个表单的字段名与字段位置的对应关系以及字段名,对所述M个表单的数据项进行融合,生成目标表单。
通过对具有关联关系的数据项进行合并与去重处理,将M个表单的数据合并为一个目标表单,其中,具有关联关系的数据项处理不同的表单中的数据项。
其中,一种可能的实现方式为如图2中的S1031-1034所示:
S1031:获取M个表单中每个表单的数据项。
其中,每个表单包含多个数据项,每个数据项中包含所述表单的字段名对应的赋值。
举例来说,表1的第一个数据项中姓名的赋值为张三、性别的赋值为男、年龄的赋值为28、手机号的赋值为18129900990,家庭住址的赋值为西安市丈八三路;表1的最后一项姓名的赋值为李四、性别的赋值为女、年龄的赋值为26、手机号的赋值为18129900991,家庭住址的赋值为北京市西直门北大街。表2和表3类似,如表中所示,不再一一赘述。
S1032:根据相同字段名的赋值,获取所述M个表单中具有关联关系的数据项。
一种可能的实现方式:例如:可以根据姓名、手机号、微信号、邮箱号等确定数据项之间是否具有关联关系;假设:手机号相同的数据项具有关联关系,结合表1、表2和表3,可以确定表1中的第一个数据项、表2中的第一个数据项和表3中的第一个数据项彼此具有关联关系。也可以假设邮箱号相同的数据项具有关联关系,同理,可以得到表2中的第一个数据项和表3中的第一个数据项具有关联关系。也可以假设姓名和微信号同时相同的数据项具有关联关系,则得不到具有关联关系的表项。具体如何确定数据项之间是否有关联关系根据实际应用场景设定规则,对此,本发明不做限制。
另一种可能的实现方式:例如:通过获取S个关键字段名的优先权值,所述S为大于等于1的整数;根据所述S个关键字段名的优先权值,匹配任意两个数据项的所述S个关键字段名的赋值,得到所述两个数据项的匹配率;确定所述匹配率大于等于预设匹配率的两个数据项具有关联关系。可选地,若两个数据项中的同一个关键字段名的赋值相同,则所述关键字段名的匹配率为所述关键字段名的优先权值;若两个数据项中的同一关键字段名的赋值不同,则所述关键字段名的匹配率为0;确定所述S个关键字段名的匹配率的和值为所述两个数据项的匹配率。
假设,S个关键字段名分别为手机号、姓名、邮箱、微信号和QQ号;预设匹配率为0.5、手机号的优先权值为0.4、姓名的优先权值为0.1、邮箱的优先权值为0.3、微信号的优先权值为0.1、QQ号的优先权值为0.1;结合表1、表2和表3,表1的第一个数据项与表2的第一个数据项的匹配率为0.5;表1的第一个数据项与表3的第一个数据项的匹配率为0.5;表2的第一个数据项与表3的第一个数据项的匹配率为0.5;则可以确定表1的第一个数据项与表2的第一个数据项和表3的第一个数据项彼此具有关联关系。
S1033:对所述具有关联关系的数据项进行融合,得到目标数据项。
将所述具有关联关系的数据项进行合并与去重处理,结合S1032中的示
例,目标数据项如表5所示:
表5
S1034:根据目标数据项生成目标表单。
同理,可以得到多条目标数据项,表5中仅以一条为例示出。将多条目标存储到一个表单中,生成目标表单,如表6所示。
表6
S104:对所述目标表单进行分析处理。
例如:得到用户的联系方式,可以通过筛选联系方式对应的列,得到用户的多个联系方式。
本实施例,通过获取N个表单的数据结构,分析表单包含的字段名,以及字段名与字段位置的对应关系,对N个表单进行筛选,从中确定包含目标类字段名的M个表单,根据M个表单的字段名与字段位置的对应关系,对M个表单的数据进行融合,生成目标表单,从而,将M个表单的数据合并为一个目标表单,通过对目标表单进行分析处理,以丰富进行数据分析的样本的数据量,提高数据分析效果。
上述实施例中以从海量表单中获取用户的联系方式为例进行描述,但可以理解,本发明实施例的技术方案还可以应用于很多场景中,例如:通过对海量的数据进行分析,得到某地区年龄段在25岁-30岁,性别为女的人群的收入水平;再或者,通过对海量的数据进行分析,得到某高校的学生就业领域分布情况等;对此,本发明实施例不作限制。
图3为本发明表单处理装置实施例一的结构示意图,本实施例的装置包括获取模块301、筛选模块302和处理模块303,其中,获取模块301用于获取N个表单的数据结构,所述数据结构用于指示所述表单包含的字段名,以及每个字段名与字段位置的对应关系,N为大于等于2的整数;筛选模块302用于根据每个表单包含的字段名,从所述N个表单中获取包含目标类字段名的M个表单,M为小于等于N的整数;处理模块303用于根据所述M个表单的字段名与字段位置的对应关系以及字段名,对所述M个表单的数据项进行融合,生成目标表单;所述处理模块303还用于对所述目标表单进行分析处理。
在上述实施例种,所述处理模块303具体用于获取所述M个表单中每个表单的数据项;其中,每个表单包含多个数据项,每个数据项中包含所述表单的字段名对应的赋值;根据相同字段名的赋值,获取所述M个表单中具有关联关系的数据项;对所述具有关联关系的数据项进行融合,得到目标数据项;根据所述目标数据项生成所述目标表单。
在上述实施例种,所述处理模块303具体用于获取S个关键字段名的优先权值,所述S为大于等于1的整数;根据所述S个关键字段名的优先权值,匹配任意两个数据项的所述S个关键字段名的赋值,得到所述两个数据项的匹配率;确定所述匹配率大于等于预设匹配率的两个数据项具有关联关系。
在上述实施例种,所述处理模块303所述处理模块具体用于
若两个数据项中的同一个关键字段名的赋值相同,则所述关键字段名的匹配率为所述关键字段名的优先权值;若两个数据项中的同一关键字段名的赋值不同,则所述关键字段名的匹配率为0;确定所述S个关键字段名的匹配率的和值为所述两个数据项的匹配率。
在上述实施例种,所述处理模块303具体用于将所述具有关联关系的数据项进行合并与去重处理。
在上述实施例种,所述目标类字段名包含R个字段名,所述R为大于等于1的整数;
所述筛选模块302具体用于从所述N个表单中获取包含所述R个字段名中的任一个字段名的M个表单。
本实施例的装置对应地可用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图4为本发明表单处理装置实施例二的结构示意图,包括处理器401和存储器402,其中,存储器402用于存储处理器的可执行指令;处理器401用于执行获取N个表单的数据结构,所述数据结构用于指示所述表单包含的字段名,以及每个字段名与字段位置的对应关系,N为大于等于2的整数;根据每个表单包含的字段名,从所述N个表单中获取包含目标类字段名的M个表单,M为小于等于N的整数;根据所述M个表单的字段名与字段位置的对应关系以及字段名,对所述M个表单的数据项进行融合,生成目标表单;对所述目标表单进行分析处理。
本实施例的装置对应地可用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。