表单组件生成方法、装置、可读存储介质及电子设备与流程

文档序号:33472179发布日期:2023-03-15 08:51阅读:25来源:国知局
表单组件生成方法、装置、可读存储介质及电子设备与流程

1.本公开涉及计算机技术领域,具体地,涉及一种表单组件生成方法、装置、可读存储介质及电子设备。


背景技术:

2.表单主要负责数据采集,是连接用户与数据库间的窗口。随着业务的信息化建设的日益深入,电子表单的使用已经相当普遍,电子表单也成了许多软件系统中的重要的部分。
3.在对电子表单进行配置的过程中,不仅要考虑样式布局、数据绑定、数据校验、前后端协同,还需要实现异步逻辑、嵌套联动等功能。这就意味着在实际开发时,若一开始没做好规划,代码只会变得越来越冗余,最终导致系统维护成本的大幅上涨。相关技术中,电子表单的配置项复杂,具有一定的学习门槛,并且,在表单复杂时,表单数据项重复配置很多,需要耗费大量的时间。


技术实现要素:

4.本公开的目的是提供一种表单组件生成方法、装置、可读存储介质及电子设备,该表单组件生成方法能够自动确定出与待处理的数据表对应的表单中所需要的表单组件,简化了表单的配置步骤,减少表单数据项的重复配置工作。
5.为了实现上述目的,本公开提供一种表单组件生成方法,包括:
6.针对待处理的数据表中的每一字段,确定所述字段对应的字段类型;
7.根据所述字段类型,确定所述字段对应的候选组件;
8.若所述候选组件为至少两个,则获取所述字段的属性信息;
9.根据所述属性信息,确定所述至少两个候选组件中的一者为所述字段对应的目标组件,其中所述表单组件包含每一所述字段对应的目标组件。
10.可选地,所述根据所述属性信息,确定所述至少两个候选组件中的一者为所述字段对应的目标组件,包括:
11.根据所述属性信息和预设的类型分类器,确定所述字段对应的目标组件的类型是否为下拉选择类型;
12.若确定所述目标组件的类型为下拉选择类型,则根据所述属性信息和预设的字典分类器,确定所述字段对应的字典信息,并根据所述字典信息从所述候选组件中确定所述目标组件;
13.若所述目标组件不是下拉选择类型,则根据所述属性信息和预设的属性分类器,确定所述字段对应的目标组件的组件属性,并基于所述组件属性从所述候选组件中确定所述目标组件。
14.可选地,所述属性信息包括字段名和注释;
15.所述根据所述属性信息和预设的类型分类器,确定所述字段对应的目标组件的类
型是否为下拉选择类型,包括:
16.针对于下拉选择类型和非下拉选择类型中的每一类型,根据所述字段名和所述类型分类器,确定所述字段对应于所述类型的第一概率,并根据所述注释和所述类型分类器,确定所述字段对应于所述类型的第二概率;
17.针对于下拉选择类型和非下拉选择类型中的每一类型,基于所述字段名和所述注释分别对应的类型权重,对所述类型对应的所述第一概率和所述第二概率进行加权求和,确定所述字段对应于所述类型对应的概率;
18.若所述下拉选择类型对应的概率大于所述非下拉选择类型对应的概率,则确定所述字段对应的目标组件的类型为下拉选择类型。
19.可选地,所述属性信息包括字段名和注释;
20.所述根据所述属性信息和预设的字典分类器,确定所述字段对应的字典信息,包括:
21.针对每一候选字典信息,根据所述字段名和所述字典分类器,确定所述字段对应于所述候选字典信息的第三概率,以及根据所述注释和所述字典分类器,确定所述字段对应所述候选字典信息的第四概率;
22.针对每一候选字典信息,基于所述字段名和所述注释分别对应的字典权重,对所述候选字典信息的所述第三概率和所述第四概率进行加权求和,确定所述字段对应于所述候选字典信息的概率;
23.将最大的概率对应的候选字典信息确定为所述字段对应的字典信息。
24.可选地,所述下拉选择类型的字段对应的候选组件包括下拉菜单组件和级联组件;
25.所述根据所述字典信息从所述候选组件中确定所述目标组件,包括:
26.若所述字典信息中包含树形结构,则将候选组件中的所述级联组件确定为所述目标组件;
27.若所述字典信息中未包含树形结构,则将所述候选组件中的所述下拉菜单组件确定为所述目标组件。
28.可选地,所述属性信息包括字段名和注释;
29.所述根据所述属性信息和预设的属性分类器,确定所述字段对应的目标组件的组件属性,包括:
30.针对每一候选组件属性,根据所述字段名和所述属性分类器,确定所述字段对应于所述候选组件属性的第五概率,以及根据所述注释和所述属性分类器,确定所述字段对应所述候选组件属性的第六概率;
31.针对每一所述候选组件属性,基于所述字段名和所述注释分别对应的属性权重,对所述候选组件属性的所述第五概率和所述第六概率进行加权求和,确定所述字段对应于所述候选组件属性的概率;
32.将最大的概率对应的候选组件属性确定为所述字段对应的组件属性。
33.可选地,所述方法还包括:
34.在接收到用户针对目标字段选择的目标输入的情况下,确定所述目标输入是否与所述目标字段的字段名对应的组件属性分类结果和所述目标字段的注释对应的组件属性
分类结果中的一者相同,其中,所述字段名对应的组件属性分类结果为基于所述字段名确定出的最大概率对应的候选组件属性,所述注释对应的分类结果为基于注释确定出的最大的概率对应的候选组件属性;
35.若所述目标输入与所述目标字段的字段名对应的分类结果和所述目标字段的注释对应的分类结果中的一者相同,则对与所述目标输入相同的分类结果对应的属性信息的属性权重进行增大,并对与所述目标输入不同的分类结果对应的属性信息的属性权重进行减小,其中,所述字段名和所述注释对应的属性权重之和为1。
36.可选地,所述基于所述组件属性从所述候选组件中确定所述目标组件,包括:
37.根据所述组件属性和映射关系,确定所述组件属性对应的组件类型,其中,所述映射关系为组件属性与组件类型之间的对应关系;
38.若所述组件类型为输入框类型,则根据所述组件属性确定所述字段对应的校验规则,并将校验规则与输入框确定为所述目标组件;
39.若所述组件类型不是输入框类型,则将所述组件类型对应的组件确定为所述目标组件。
40.可选地,所述方法还包括:
41.确定每一所述字段是否为必填项;
42.若所述字段为必填项,为所述字段对应的目标组件关联必填项校验规则。
43.本公开还提供一种表单组件生成装置,包括:
44.第一确定模块,用于针对待处理的数据表中的每一字段,确定所述字段对应的字段类型;
45.第二确定模块,用于根据所述字段类型,确定所述字段对应的候选组件;
46.获取模块,用于若所述候选组件为至少两个,则获取所述字段的属性信息;
47.第三确定模块,用于根据所述属性信息,确定所述至少两个候选组件中的一者为所述字段对应的目标组件,其中所述表单组件包含每一所述字段对应的目标组件。
48.本公开还提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的表单组件生成方法的步骤。
49.本公开还提供一种电子设备,包括:
50.存储器,其上存储有计算机程序;
51.处理器,用于执行所述存储器中的所述计算机程序,以实现上述的表单组件生成方法的步骤。
52.通过上述技术方案,根据待处理的数据表中每一字段的字段类型、属性信息,确定出与每一字段对应的目标组件,便自动确定出了与待处理的数据表对应的表单中所需要的表单组件。这样,简化了表单的配置步骤,减少表单数据项的重复配置工作。在待处理的数据表中的字段发生更改时,便于快速、及时地同步表单组件的修改,能够极大简化表单的配置工作,提高表单组件生成的自动化水平。
53.本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
54.附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具
体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
55.图1是根据本公开一示例性实施例的一种表单组件生成方法的流程图。
56.图2是根据本公开一示例性实施例的一种表单组件生成方法中的步骤s104的流程图。
57.图3是根据本公开一示例性实施例中确定字段对应的目标组件的类型是否为下拉选择类型的步骤的流程图。
58.图4是根据本公开一示例性实施例的类型分类器的框图。
59.图5是根据本公开一示例性实施例的一种表单组件生成装置的框图。
60.图6是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
61.以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
62.需要说明的是,本公开中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
63.图1是根据本公开一示例性实施例的一种表单组件生成方法的流程图。如图1所示,该表单组件生成方法包括步骤s101至步骤s104。
64.在步骤s101中,针对待处理的数据表中的每一字段,确定字段对应的字段类型。
65.字段可以是用于记录预设的某一种信息的变量。例如,在一张表单中,需要用户填写“姓名”、“家庭住址”、“电话号码”等信息,则其中用于存储用户的“姓名”信息(或者“家庭住址信息”,又或者“电话号码”信息)的变量即可以是一个字段。
66.一张表单通常需要根据业务需求记录一些信息。举例来说,一张用于“报告故障”的表单可能需要用户填写“故障发生时间”、“故障地点”、“故障描述”、“故障报告人”“报告人联系电话”等信息。可以用不同的字段记录这张表单中的每一种信息(“故障发生时间”、“故障地点”、“故障描述”、“故障报告人”“报告人联系电话”等)。待处理的数据表可以包含所有记录这些信息(“故障发生时间”、“故障地点”、“故障描述”、“故障报告人”“报告人联系电话”等信息)的字段。可以在执行步骤s101之前预先创建好待处理的数据表。
67.待处理的数据表中可以包含该数据表中包含的每一字段的相关信息。例如,待处理的数据表中可以包含该数据表中包含的每一字段的字段类型、字段长度、字段名、注释。
68.可以在步骤s101中,确定待处理的数据表中的每一字段对应的字段类型。
69.举例来说,对于待处理的数据表中字段名为“fault_time”的字段(用于记录“故障发生时间”的字段),获取其字段类型为“datetime”类型。又例如对于待处理的数据表中字段名为“tel”的字段(用于记录“报告人联系电话”的字段),获取其字段类型为“varchar”类型。即,对于每一字段而言,其均具有与之对应的、唯一的字段类型。
70.在步骤s102中,根据字段类型,确定字段对应的候选组件。
71.可以针对每一种字段类型预先设定与该种字段类型对应的候选组件。值得说明的是,对于每一字段类型而言,可对应有至少一个候选组件。
72.举例来说,可以预先设定与“bool”类型对应的候选组件为开关;与“datetime”类
型对应的候选组件为日期时间选择器。又例如,与“int”、“bigint”等数值型的字段类型通常用于数字输入,则其对应的候选组件可以设置为下拉菜单组件和数字输入器;与“text”、“varchar”等字符串型的字段类型通常用于文本输入或者提示文本显示,则其对应的候选组件可以设置为输入框、下拉菜单组件、级联组件、文件上传下载组件及图片展示组件。
73.在上述“针对字段类型预先设定与该种字段类型对应的候选组件”的示例中,与“bool”类型对应的候选组件为1个(开关),与“text”、“varchar”等字符串型的字段类型对应的候选组件为多个(输入框、下拉菜单组件、级联组件、文件上传下载组件及图片展示组件)。
74.在步骤s102实施的过程中,可以根据字段的字段类型,确定字段对应的候选组件。
75.举例来说,对于待处理的数据表中字段名为“fault_time”的字段,其字段类型为“datetime”类型,则可以将日期时间选择器确定为与字段名为“fault_time”的字段对应的候选组件(预设的与“datetime”类型的字段对应的候选组件为日期时间选择器)。
76.又例如,对于待处理的数据表中字段名为“tel”的字段(用于记录“报告人联系电话”的字段),其字段类型为“varchar”类型,可以将输入框、下拉菜单组件、级联组件、文件上传下载组件和图片展示组件都确定为与该字段对应的候选组件(预设的与“varchar”类型对应的候选组件为输入框、下拉菜单组件、级联组件、文件上传下载组件和图片展示组件)。
77.在步骤s103中,若候选组件为至少两个,则获取字段的属性信息。
78.字段的属性信息可以包括字段的字段名、字段的注释。举例来说,在步骤s103中,可以获取字段的字段名。又例如,可以在步骤s103中获取字段的字段名以及字段的注释。
79.在步骤s104中,根据属性信息,确定至少两个候选组件中的一者为字段对应的目标组件,其中表单组件包含每一字段对应的目标组件。
80.目标组件是指与字段对应的、在生成的表单上呈现的组件。
81.下面对步骤s104的实施过程进行举例。举例来说,对于待处理的数据表中字段名为“tel”的字段,其字段类型为“varchar”类型,与该字段对应的候选组件为输入框、下拉菜单组件、级联组件、文件上传下载组件及图片展示组件。在步骤s103中获取到该字段的字段名为“tel”、该字段的注释为“报告人联系电话”。在步骤s104实施的过程中,可以对该字段的字段名以及该字段的注释中包含的词语进行检测。例如,由于该字段的注释中包含“联系电话”这个词语,可以认为该字段用于存储用户填写的电话号码,可以将输入框确定为与该字段对应的目标组件。
82.又例如,对于待处理的数据表中名为“file_upload”的字段,其字段类型为“varchar”类型。在步骤s103中获取到该字段的字段名为“file_upload”、该字段的注释为“文件上传”。在步骤s104中检测到该字段的注释中包含“文件上传”这个词语,可以认为该字段用于存储用户上传的文件,可以将文件上传组件确定为与该字段对应的目标组件。
83.对于与之对应的候选组件只有一个的字段,可以将与该字段对应的候选组件确定为目标组件。例如,对于字段名为“fault_time”的字段,其字段类型为“datetime”类型,在步骤s102中确定的,与该字段对应的候选组件为日期时间选择器,可以将日期时间选择器确定为与该字段对应的目标字段。
84.可以确定待处理的数据表中每一字段对应的目标组件。表单组件即待处理的数据
表中,每一字段对应的目标组件的集合。在执行步骤s101至步骤s104后,可以获得待处理的数据表中每一字段对应的目标组件,也就确定了待生成的表单中的表单组件。
85.通过上述技术方案,根据待处理的数据表中每一字段的字段类型、属性信息,确定出与每一字段对应的目标组件,便自动确定出了与待处理的数据表对应的表单中所需要的表单组件。这样,简化了表单的配置步骤,减少表单数据项的重复配置工作。在待处理的数据表中的字段发生更改时,便于快速、及时地同步表单组件的修改,能够极大简化表单的配置工作,提高表单组件生成的自动化水平。
86.图2是根据本公开一示例性实施例的一种表单组件生成方法中的步骤s104的流程图。如图2所示,实施步骤s104的过程,包括步骤s1041至步骤s1043。
87.在步骤s1041中,根据属性信息和预设的类型分类器,确定字段对应的目标组件的类型是否为下拉选择类型。
88.类型分类器可以是用于确定与字段对应的目标组件是否为下拉选择类型的组件,可以通过朴素贝叶斯分类器实现。其中,下拉选择类型的组件通常用于给用户提供选项,使用户从提供的选项中选择信息,非下拉选择类型的组件通常用于供用户输入特定形式的信息(如文字、图片、文件)。下拉菜单组件、级联组件都可以是下拉选择类型的组件。举例来说,可以通过下拉选择类型的组件使用户从预设的备选城市中选择送货到达的城市。又例如,可以通过图片上传组件(非下拉选择类型的组件)使用户上传自己的证件照。
89.在步骤s1042中,若确定目标组件的类型为下拉选择类型,则根据属性信息和预设的字典分类器,确定字段对应的字典信息,并根据字典信息从候选组件中确定目标组件。
90.字典分类器可以是用于确定字段对应的字典信息的分类器。其可以通过朴素贝叶斯分类器实现。
91.字典信息可以是用于表示与字段对应的下拉选择类型组件使用哪一种“字典”。例如,可以预先设定好可以供用户选择所在省份的字典、可以供用户选择送货方式的字典、可以供用户选择产品颜色的字典。即,字典信息中包含多个候选项,用于在用户进行输入时无需用户直接输入文本,而对用户进行候选项提示,以供用户从各个候选项中进行选择,作为用户的输入。则该字典信息需要与对应的字段的内容相匹配,接上文示例,针对省份字段,字典信息可以表示与字段对应的下拉选择类型组件使用“用于供用户选择所在省份的字典”,即其对应的字典信息中则包含各个候选的省份;则针对送货方式字段,字典信息可以是“用于供用户选择送货方式的字典”。因此,在该步骤中需要确定出字段对应的字典信息,以便于对用户的输入进行精确提示,便于用户选择和操作。
92.在步骤s1043中,若目标组件不是下拉选择类型,则根据属性信息和预设的属性分类器,确定字段对应的目标组件的组件属性,并基于组件属性从候选组件中确定目标组件。
93.属性分类器可以是用于确定字段对应的组件属性的分类器,其可以通过朴素贝叶斯分类器实现。
94.组件属性可以是能够表明字段对应的组件的用途的属性。举例来说,组件属性可以包括电话号码属性、邮箱属性、密码属性、图片上传属性、文件上传属性。当一个组件具备电话号码属性,说明其极大概率是一个用于供用户填写电话号码的输入框;当一个组件具备密码属性,说明其极大概率是一个供用户填写密码的输入框;当一个组件具备文件上传的属性,说明其极大概率是一个用于供用户上传文件的组件。也就是,组件属性表明了组件
的用途。在一种实施方式中,可以预先设定属性集(包括所有预设的表示组件的不同用途组件属性)。例如,在预先设定属性集中包括电话号码属性、邮箱属性、密码属性、身份证号码属性、图片上传属性、文件上传属性等。
95.在一种实施方式中,类型分类器、字典分类器和属性分类器可以是贝叶斯分类器。可以将字段的属性信息经处理后,输入至类型分类器中,使类型分类器输出结果确定该字段对应的组件的类型是否为下拉选择类型。若确定某一字段对应的目标组件的类型为下拉选择类型,可以将该字段的属性信息经处理后输入至字典分类器中,使字典分类器输出结果确定与该字段对应的字典信息。若确定某一字段对应目标组件类型不是下拉选择类型,可以将该字段的属性信息经处理后输入至属性分类器中,使属性分类器输出结果确定与该字段对应的目标组件的组件属性。
96.该实施例中,对于候选组件为至少两个的字段,根据字段的属性信息和预设的类型分类器初步确定与字段对应的组件是否为下拉选择类型的组件。并且,根据字典分类器和属性分类器的输出结果确定与字段对应的目标组件。由于先用类型分类器确定字段对应的目标组件是否为下拉选择类型的组件,再用字典分类器或属性分类器分类确定字段对应的目标组件,减少了基于数据表自动生成表单过程中的数据计算量,这样,能够快速准确地确定出与字段对应的目标组件。
97.在又一实施例中,属性信息包括字段名和注释;
98.根据属性信息和预设的类型分类器,确定字段对应的目标组件的类型是否为下拉选择类型的示例性实现方式如下,如图3所示,该步骤可以包括:
99.在步骤31中,针对于下拉选择类型和非下拉选择类型中的每一类型,根据字段名和类型分类器,确定字段对应于类型的第一概率,并根据注释和类型分类器,确定字段对应于类型的第二概率。
100.下面以属性信息包括字段的字段名为例,对根据字段名和类型分类器,确定字段对应于类型的第一概率的实施过程进行说明。
101.例如,对于字段名为“user_post_name_name”的字段,对该字段的字段名进行处理,得到该字段的字段名对应的词频向量。具体地,可以将“user_post_name_name”进行分词,得到词组[user,,post,,name,name],并经清洗得到词组[user,post,name,name],并转化成词频向量。分词的步骤就是将字段名拆分成单词。清洗过程可以包括将字段名中无用的标签、特殊符号删除,将字段名中的大写字母转换成小写字母,纠正字段名中单词的拼写错误,删除停用词或者使用与停用词等价的单词替换停用词。举例来说,若词频向量中第1列表示单词“user”出现的次数,词频向量中第2列表示单词“document”出现的次数,词频向量中第3列表示单词“post”出现的次数,词频向量中第4列表示单词“name”出现的次数。对于字段名为“user_post_name_name”的字段,其词频向量可以是[1,0,1,2]。词频向量[1,0,1,2]中,第1列的“1”表示该字段中,单词“user”在字段名中出现1次;第2列的“0”表示该字段中,单词“document”出现0次;第3列的“1”表示该字段中,单词“post”在字段名中出现1次;第4列的“2”表示该字段中,单词“name”在字段名中出现2次。可以将字段的字段名对应的词频向量输入到对应的分类器中进行处理。
[0102]
可以用以下公式表示朴素贝叶斯分类器的表达式:
[0103][0104][0105][0106]
在公式(1)至公式(3)中,c表示类别c,y表示类别c的集合。举例来说,在类型分类器下,类别c的取值可以是“字段对应的目标组件的类型是下拉选择类型”或者“字段对应的目标组件的类型不是下拉选择类型”。在类型分类器下,集合y中可以包括“字段对应的目标组件的类型是下拉选择类型”和“字段对应的目标组件的类型不是下拉选择类型”,
[0107]
p(c)表示先验概率,|dc|表示在预先训练的训练样本中判定结果为类别c的样本数。|d|表示预先训练中的训练样本总数。以类型分类器为例,若类别c为“字段对应的目标组件的类型是下拉选择类型”,|dc|表示预先训练的样本中判定结果为“字段对应的目标组件的类型是下拉选择类型”的样本的数量,|d|表示预先参与训练的样本总数。举例来说,若预先参与训练的字段中,“字段对应的目标组件的类型是下拉选择类型”的字段个数为3个,“字段对应的目标组件的类型不是下拉选择类型”的字段个数为1个。p(是)为0.75(3/4=0.75),p(不是)为0.25(1/4=0.75)。其中p(是)为“字段对应的目标组件的类型是下拉选择类型”的先验概率,p(不是)为“字段对应的目标组件的类型不是下拉选择类型”的先验概率。值得一提的是,训练样本可以是字段名。也就是说,在训练的过程中,可以针对字段的字段名,标记其类别。例如,在对类型分类器训练的过程中,针对某一训练样本的字段名,标记该字段名的判定结果为“字段对应的目标组件的类型是下拉选择类型”。
[0108]
d表示测试样本(例如待利用类型分类器进行分类的字段的字段名)的单词总数。例如对于前述的字段名为“user_post_name_name”的字段,d为4。ti表示测试样本中的第i个单词。举例来说,对于前述的字段名“user_post_name_name”的字段,t1表示“user”,t2表示“post”,t3表示“name”,t4表示“name”。
[0109]
p(ti|c)为单词t
ii
在类别c下的条件概率,t
cii
为在判定结果为类别c的训练样本中单词t
ii
的总数。表示判定结果为类别c的训练样本中的单词总数(也就是词频向量中的所有列的单词在类别c的训练样本中出现的总数)。ti′
表示词频向量中处于第i

列的单词。举例来说,若词频向量中第1列表示单词“user”,词频向量中第2列表示单词“document”,词频向量中第3列表示单词“post”,词频向量中第4列表示单词“name”。则i

=1时,单词ti′
表示单词“user”;i

=2时,单词ti′
表示单词“document”;i

=3时,单词ti′
表示单词“post”;i

=4时,单词ti′
表示单词“name”。t
ci

表示判定结果为类别c的训练样本中单词ti′
的数量。v为词频向量的总列数。
[0110]
以类型分类器为例,若类别c表示“字段对应的目标组件的类型是下拉选择类型”,t
ci
为判定结果为“字段对应的目标组件的类型是下拉选择类型”的训练样本中的单词ti的总数;为判定结果为“字段对应的目标组件的类型是下拉选择类型”的训练样本中的单词总数。
[0111]hnb
(x)为朴素贝叶斯分类器的输出结果,也就是各类别(例如,对于属性分类器,各
类别是指属性集中的各个组件属性)中的计算结果最大(也就是概率最大)的一项为朴素贝叶斯分类器的分类结果。
[0112]
考虑到在字段的字段名中出现的单词可能在训练样本中没有出现过,可以对朴素贝叶斯分类进行拉普拉斯平滑,可以用以下公式计算p(ti|c):
[0113][0114]
公式(4)中,α为平滑因子,可以取值为1。
[0115]
由于获得了字段的字段名(属性信息)的词频向量,可以输入到类型分类器中获得输出结果,即确定字段对应的目标组件的类型是否为下拉选择类型。
[0116]
同样地,针对字段的注释,可以采用上文所述相同的方式确定词频向量,进而基于该词频向量进行预测。如图4所示,类型分类器40可以包括两个子模型,即字段名子模型41和注释子模型42,其均可以通过上文所述的朴素贝叶斯模型实现,基于字段名子模型41可以根据输入的字段名进行预测,获得输出结果,基于该输出结果确定出的各个类型对应的第一概率;基于注释子模型42可以根据输入的注释进行预测,获得另一输出结果,基于该输出结果确定出的各个类型对应的第二概率。
[0117]
举例来说,根据字段名和类型分类器,得到字段对应于下拉选择类型的第一概率为0.0003、字段对应于非下拉选择类型的第一概率为0.0001。根据注释和类型分类器,得到字段对应于下拉选择类型的第二概率为0.0002,字段对应于非下拉选择类型的第二概率为0.0001。
[0118]
转回图3,在步骤32中,针对于下拉选择类型和非下拉选择类型中的每一类型,基于字段名和注释分别对应的类型权重,对所述类型对应的第一概率和第二概率进行加权求和,确定字段对应于类型对应的概率;
[0119]
在步骤33中,若下拉选择类型对应的概率大于非下拉选择类型对应的概率,则确定字段对应的目标组件的类型为下拉选择类型。
[0120]
类型权重是指在类型分类器下,基于字段名进行类型预测和基于注释进行类型预测分别对应的权重。示例地,可以对类型权重进行预先设置,两者对应的权重之和为1,如可以设置基于字段名进行类型预测对应的权重为0.6,基于注释进行类型预测对应的权重为0.4。则基于此,字段对应于下拉选择类型的概率为0.0003*0.6+0.0002*0.4=0.00026;字段对应于非下拉选择类型的概率为0.0001*0.6+0.0001*0.4=0.00010。可以看到,该字段对应于下拉选择类型的概率为0.00026,大于对应于非下拉选择类型的概率,可以确定该字段对应的目标组件的类型为下拉选择类型。如果某一字段对应于下拉选择类型的概率小于对应于非下拉选择类型的概率,则确定与该字段对应的目标组件的类型为非下拉选择类型。
[0121]
该实施例中,属性信息包括字段名和注释,从而可以根据字段的字段名和注释分别对字段对应的组件类型进行预测,从多个维度自动化判定字段对应的目标组件的类型,并基于多个维度的结果进行综合确定,提高确定出的目标组件的类型的准确性,为后续进一步确定目标组件提供可靠的数据支持。
[0122]
若基于上述实施方式确定字段的目标组件的类型为下拉选择类型的组件,可以在步骤s1042中,根据属性信息和预设的字典分类器,则确定字段对应的字典信息,并根据字
典信息从候选组件中确定目标组件。
[0123]
在又一实施例中,属性信息包括字段名和注释;
[0124]
根据字段的属性信息和预设的字典分类器,确定字段对应的字典信息可以包括:
[0125]
针对每一候选字典信息,根据字段名和字典分类器,确定字段对应于候选字典信息的第三概率,以及根据注释和字典分类器,确定字段对应候选字典信息的第四概率。
[0126]
其中,字典分类器可以基于上文所述类型分类器相似的方式实现,如上文所述示例,在字典分类器下,类别c的取值可以是各个字典信息(例如,与“可以供用户选择所在省份的字典”、与“可以供用户选择送货方式的字典”、“可以供用户选择产品颜色的字典”)中的一个,集合y在字典分类器中可以是包括各个字典信息的集合。相应地,则在字典分类器中也可以字段名子模型和注释子模型,其均可以通过上文所述的朴素贝叶斯模型实现,根据字段名和字段名子模型获得该第三概率,与上文所述第一概率的获取方式类似,根据注释和注释子模型获得第四概率,与上文所述第二概率的获取方式类似,在此不再赘述。
[0127]
针对每一候选字典信息,基于字段名和注释分别对应的字典权重,对所述候选字典信息的第三概率和第四概率进行加权求和,确定字段对应于候选字典信息的概率;
[0128]
将最大的概率对应的候选字典信息确定为字段对应的字典信息。
[0129]
字典权重是指在字典分类器下,基于字段名进行字典信息预测和基于注释进行字典信息预测分别对应的权重。示例地,可以对字典权重进行预先设置,两者对应的权重之和为1,如可以设置基于字段名进行字典信息预测对应的权重和基于注释进行字典信息预测分别对应的权重均为0.5。
[0130]
该实施例中,可以根据字段名、字典分类器确定出字段与各候选字典信息对应的第三概率,根据注释、字典分类器确定出字段与各候选字典信息对应的第四概率,并由第三概率、第四概率以及字典权重确定出字段对应于各候选字典信息的概率进而确定出与字段对应的字典信息。由于在确定字段对应的字典信息的过程中同时使用了字段名和注释进行分类,并进行了加权求和,能够得到更准确的分类结果,以保证获得的字典信息与该字段之间的匹配度。
[0131]
在又一实施例中,下拉选择类型的字段对应的候选组件包括下拉菜单组件和级联组件;
[0132]
根据字典信息从候选组件中确定目标组件,包括:
[0133]
若字典信息中包含树形结构,则将候选组件中的级联组件确定为目标组件;
[0134]
若字典信息中未包含树形结构,则将候选组件中的下拉菜单组件确定为目标组件。
[0135]
举例来说,若确定出的字典信息表明使用的字典为“供用户选择送货地址所在省、市、区的字典”,该字典信息包含树形结构,即包含父子节点(parentid),可以将级联组件确定为目标组件。又例如,若确定出的字典信息表明使用的字典为“供用户选择产品颜色的字典”,该字典信息中不包含树形结构,则将候选组件中的下拉菜单组件确定为目标组件。
[0136]
该实施例中,根据所确定的与字段对应的字典信息是否包含树形结构,确定与字段对应的目标组件是下拉菜单组件还是级联组件,方法简单,区分效果好。
[0137]
若确定字段的目标组件的类型不是“下拉选择”类型的组件,可以在步骤s1043根据该字段的字段名对应的词频向量和属性分类器,确定字段对应的目标组件的组件属性,
并基于组件属性从候选组件中确定目标组件。
[0138]
在又一实施例中,属性信息包括字段名和注释;
[0139]
根据属性信息和预设的属性分类器,确定字段对应的目标组件的组件属性的示例性实现方式可以包括:
[0140]
针对每一候选组件属性,根据字段名和属性分类器,确定字段对应于候选组件属性的第五概率,以及根据注释和属性分类器,确定字段对应候选组件属性的第六概率。
[0141]
其中,属性分类器可以基于上文所述类型分类器相似的方式实现,如上文所述示例,在属性分类器下,类别c的取值在属性分类器中可以是预设的属性集中的一个组件属性,集合y在属性分类器可以是包括各个组件属性的属性集。相应地,则在属性分类器中也可以字段名子模型和注释子模型,其均可以通过上文所述的朴素贝叶斯模型实现,根据字段名和字段名子模型获得该第五概率,与上文所述第一概率的获取方式类似,根据注释和注释子模型获得第六概率,与上文所述第二概率的获取方式类似,在此不再赘述。
[0142]
针对每一所述候选组件属性,基于字段名和注释分别对应的属性权重,对所述候选组件属性的第五概率和第六概率进行加权求和,确定字段对应于候选组件属性的概率。
[0143]
属性权重是指在属性分类器下,基于字段名进行组件属性预测和基于注释进行组件属性预测分别对应的权重。示例地,可以对属性权重进行预先设置,两者对应的权重之和为1,如可以设置基于字段名进行组件属性预测对应的权重为0.4,基于注释进行组件属性预测对应的权重为0.6。
[0144]
将最大的概率对应的候选组件属性确定为字段对应的组件属性,从而保证组件属性与该字段之间的匹配一致性。
[0145]
该实施例中,针对于非下拉选择类型的目标组件,则可以基于字段的字段名和注释进一步对其组件属性进行预测,以基于确定出的组件属性对目标组件进行准确判定。由于在确定字段对应的组件属性的过程中同时使用了字段名和注释进行分类,并进行了加权求和,可以在一定程度上提高该组件属性的准确性,保证表单组件生成的准确性,便于用户进行有效的数据收集。
[0146]
在又一实施例中,基于组件属性从候选组件中确定目标组件的步骤可以包括:
[0147]
根据组件属性和映射关系,确定组件属性对应的组件类型,其中,映射关系为组件属性与组件类型之间的对应关系。
[0148]
作为示例,候选组件属性可以是预设的属性集中的部分或全部属性,例如,候选组件属性可以包括电话号码属性、邮箱属性、密码属性、图片上传属性、文件上传属性。
[0149]
可以针对属性集中的每个组件属性,预先设定好与每个组件属性对应的组件类型,即映射关系。举例来说,可以预设与属性集中的“电话号码属性”、“邮箱属性”、“密码属性”、“身份证号码属性”对应的组件类型为输入框类型,可以预设与“图片上传属性”对应的组件类型为图片上传类型,可以预设与“文件上传属性”对应的组件类型为文件上传类型。举例来说,若属性分类器的输出结果确定某一字段对应的目标组件的组件属性为“密码属性”,可以认为与该字段对应目标组件为供用户填写新设密码的组件,可以基于“密码属性”和映射关系,确定与该字段对应的目标组件的组件类型为输入框类型。又例如,若属性分类器的输出结果确定某一字段对应的目标组件的组件属性为“图片上传属性”,可以基于“图片上传属性”和映射关系,确定与该字段对应的目标组件的组件类型为图片上传类型。
[0150]
若组件类型为输入框类型,则根据组件属性确定字段对应的校验规则,并将校验规则与输入框确定为目标组件。
[0151]
其中,针对输入框类型的组件,在接收用户的输入时,通常需要对用户的输入进行相应的校验。因此,在该实施例中,可以针对对应于输入框类型的组件属性,设置其对应的校验规则,如预设与“电话号码属性”对应的校验规则为校验输入内容是否为电话号码的校验规则,与“邮箱属性”对应的校验规则为校验输入内容是否为邮箱地址的校验规则。
[0152]
若组件类型不是输入框类型,则将组件类型对应的组件确定为目标组件。
[0153]
下面对根据组件属性确定与字段对应的目标组件的过程进行举例。例如,对于“电话号码属性”,与其对应的组件类型为输入框类型,并确定出校验输入内容是否为电话号码的校验规则,则可以将该校验规则和输入框作为目标组件。在基于组件属性从候选组件中确定目标组件的过程中,如果确定与字段对应的组件属性为“文件上传属性”(组件属性对应的组件类型不是输入框类型),可以从候选组件中确定与字段对应的目标组件为文件上传类型的组件。
[0154]
该实施例中,在映射关系中预设了与不同组件属性对应的组件类型和校验规则,在确定了字段对应的组件属性后,利用映射关系确定出与组件属性对应的目标组件,也就从字段对应的候选组件中选出了字段的对应的目标组件,方法快速有效,节省了计算机算力。
[0155]
在又一实施例中,方法还包括:
[0156]
在接收到用户针对目标字段选择的目标输入的情况下,确定目标输入是否与目标字段的字段名对应的组件属性分类结果和目标字段的注释对应的组件属性分类结果中的一者相同,其中,字段名对应的组件属性分类结果为基于字段名确定出的最大概率对应的候选组件属性,注释对应的分类结果为基于注释确定出的最大的概率对应的候选组件属性;
[0157]
若目标输入与目标字段的字段名对应的分类结果和目标字段的注释对应的分类结果中的一者相同,则对与目标输入相同的分类结果对应的属性信息的属性权重进行增大,并对与目标输入不同的分类结果对应的属性信息的属性权重进行减小,其中,字段名和注释对应的属性权重之和为1。
[0158]
目标输入用户为目标字段进行分配的组件,例如,自动生成的目标组件与目标字段不匹配时,用户可以通过目标输入进行校正。目标字段可以是待处理的数据表中的字段中的任意一个或多个。也就是说,针对某一字段,在根据字段的字段名、字段的注释以及属性分类器确定与字段对应的组件属性后,确定出的组件属性与用户期望得到的与该字段对应的组件属性不相同,用户可以对该字段(目标字段)选择目标输入,以对属性分类器确定的分类结果进行纠正。
[0159]
举例来说,对于某一字段,基于该字段的字段名确定出“电话号码属性”为最大概率对应的候选组件属性(字段名对应的组件属性分类结果为“电话号码属性”),基于该字段的注释确定出“邮箱属性”为最大概率对应的组件属性(注释对应的组件属性分类结果为“邮箱属性”)。对于该字段,基于该字段与各候选组件属性对应的第五概率、该字段与各候选组件属性对应的第六概率以及属性权重确定出字段对应的组件属性为“电话号码属性”。该情况下,接收到用户针对该字段的目标输入为“邮箱属性”,即此时自动生成的目标组件
与用户期望不符,且字段名对应的组件属性分类结果与目标输入不同,注释对应的组件属性分类结果与目标输入相同,则此时可以适应性对属性权重进行调整。
[0160]
在上述示例中,注释对应的分类结果与目标输入相同,字段名对应的分类结果与目标输入不同,可以认为基于注释确定的分类结果相较于基于字段名确定的分类结果更准确。该情况下,可以调高注释对应的属性权重,并调低字段名对应的属性权重。示例地,在调整过程中可以以预设的幅度调整属性权重,例如,预设的幅度为0.02。举例来说,可以将字段名对应的属性权重由0.4调低0.02至0.38,将注释对应的属性权重由0.6调高0.02至0.62。
[0161]
该实施例中,可以根据用户针对目标字段选择的目标输入、字段名对应的组件属性分类结果、注释对应的组件属性分类结果对属性权重进行调整,使根据表单组件生成方法确定出的字段对应的组件属性越来越准确。
[0162]
在又一实施例中,可以基于上文同样的方式,对类型分类器中对应的类型权重进行调整,以及对字典分类器中对应的字典权重进行调整,在此不再赘述。
[0163]
在又一实施例中,方法还包括:
[0164]
确定每一字段是否为必填项;
[0165]
若字段为必填项,为字段对应的目标组件关联必填项校验规则。
[0166]
举例来说,在待处理的数据表中,配置每一字段“是否为

null
’”
,若某一字段被配置为“非

null
’”
,则该字段为必填项,可以在该字段对应的目标组件中关联必填项校验规则,那么,在生成的表单中,该字段对应的组件可以校验用户是否在该组件中填写信息。
[0167]
该实施例中,可以预先配置待处理的数据表中的每一字段是否为必填项,则在自动生成表单组件的过程中能够基于数据表中的信息,自动设置字段对应的校验规则,进一步提高生成的表单组件的完整性,同时节省了人力工作量。由于在生成的表单上,每一必填的字段对应的目标组件都增加了必填项校验属性,使得用户在完成表单填写后,填写完所有必填项,以保证表单的填写质量。
[0168]
图5是根据本公开一示例性实施例的一种表单组件生成装置的框图。
[0169]
如图5所示,该表单组件生成装置10包括:
[0170]
第一确定模块100,用于针对待处理的数据表中的每一字段,确定字段对应的字段类型;
[0171]
第二确定模块200,用于根据字段类型,确定字段对应的候选组件;
[0172]
获取模块300,用于若候选组件为至少两个,则获取字段的属性信息;
[0173]
第三确定模块400,用于根据属性信息,确定至少两个候选组件中的一者为字段对应的目标组件,其中表单组件包含每一字段对应的目标组件。
[0174]
在又一实施例中,第三确定模块400包括:
[0175]
第一确定子模块,用于根据属性信息和预设的类型分类器,确定字段对应的目标组件的类型是否为下拉选择类型;
[0176]
第二确定子模块,用于若确定目标组件的类型为下拉选择类型,则根据属性信息和预设的字典分类器,确定字段对应的字典信息,并根据字典信息从候选组件中确定目标组件;
[0177]
第三确定子模块,用于若目标组件不是下拉选择类型,则根据属性信息和预设的
属性分类器,确定字段对应的目标组件的组件属性,并基于组件属性从候选组件中确定目标组件。
[0178]
在又一实施例中,属性信息包括字段名和注释;第一确定子模块包括:
[0179]
第四确定子模块,用于针对于下拉选择类型和非下拉选择类型中的每一类型,根据字段名和类型分类器,确定字段对应于类型的第一概率,并根据注释和类型分类器,确定字段对应于类型的第二概率;
[0180]
第五确定子模块,用于针对于下拉选择类型和非下拉选择类型中的每一类型,基于字段名和注释分别对应的类型权重,对所述类型对应的第一概率和第二概率进行加权求和,确定字段对应于类型对应的概率;
[0181]
第六确定子模块,若下拉选择类型对应的概率大于非下拉选择类型对应的概率,则确定字段对应的目标组件的类型为下拉选择类型。
[0182]
在又一实施例中,属性信息包括字段名和注释;第二确定子模块包括:
[0183]
第七确定子模块,用于针对每一候选字典信息,根据字段名和字典分类器,确定字段对应于候选字典信息的第三概率,以及根据注释和字典分类器,确定字段对应候选字典信息的第四概率;
[0184]
第八确定子模块,用于针对每一候选字典信息,基于字段名和注释分别对应的字典权重,对所述候选字典信息的第三概率和第四概率进行加权求和,确定字段对应于候选字典信息的概率;
[0185]
第九确定子模块,用于将最大的概率对应的候选字典信息确定为字段对应的字典信息。
[0186]
在又一实施例中,下拉选择类型的字段对应的候选组件包括下拉菜单组件和级联组件;
[0187]
第二确定子模块还包括:
[0188]
第十确定子模块,用于若字典信息中包含树形结构,则将候选组件中的级联组件确定为目标组件;
[0189]
第十一确定子模块,用于若字典信息中未包含树形结构,则将候选组件中的下拉菜单组件确定为目标组件。
[0190]
在又一实施例中,属性信息包括字段名和注释,第三确定子模块包括:
[0191]
第十二确定子模块,用于针对每一候选组件属性,根据字段名和属性分类器,确定字段对应于候选组件属性的第五概率,以及根据注释和属性分类器,确定字段对应候选组件属性的第六概率;
[0192]
第十三确定子模块,用于针对每一所述候选组件属性,基于字段名和注释分别对应的属性权重,对候选组件属性的第五概率和第六概率进行加权求和,确定字段对应于候选组件属性的概率;
[0193]
第十四确定子模块,将最大的概率对应的候选组件属性确定为字段对应的组件属性。
[0194]
在又一实施例中,该表单组件生成装置10还包括:
[0195]
第四确定模块,用于在接收到用户针对目标字段选择的目标输入的情况下,确定目标输入是否与目标字段的字段名对应的组件属性分类结果和目标字段的注释对应的组
件属性分类结果中的一者相同,其中,字段名对应的组件属性分类结果为基于字段名确定出的最大概率对应的候选组件属性,注释对应的分类结果为基于注释确定出的最大的概率对应的候选组件属性;
[0196]
控制模块,用于若目标输入与目标字段的字段名对应的分类结果和目标字段的注释对应的分类结果中的一者相同,则对与目标输入相同的分类结果对应的属性信息的属性权重进行增大,并对与目标输入不同的分类结果对应的属性信息的属性权重进行减小,其中,字段名和注释对应的属性权重之和为1。
[0197]
在又一实施例中,第三确定子模块包括:
[0198]
第十五确定子模块,用于根据组件属性和映射关系,确定组件属性对应的组件类型,其中,映射关系为组件属性与组件类型之间的对应关系;
[0199]
第十六确定子模块,用于若组件类型为输入框类型,则根据组件属性确定字段对应的校验规则,并将校验规则与输入框确定为目标组件;
[0200]
第十七确定子模块,用于若组件类型不是输入框类型,则将组件类型对应的组件确定为目标组件。
[0201]
在又一实施例中,表单组件生成装置10还包括:
[0202]
第五确定模块,用于确定每一字段是否为必填项;
[0203]
关联模块,用于若字段为必填项,为字段对应的目标组件关联必填项校验规则。
[0204]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0205]
通过上述技术方案,根据待处理的数据表中每一字段的字段类型、属性信息,确定出与每一字段对应的目标组件,便自动确定出了与待处理的数据表对应的表单中所需要的表单组件。这样,简化了表单的配置步骤,减少表单数据项的重复配置工作。在待处理的数据表中的字段发生更改时,能够极大简化表单的配置工作。
[0206]
图6是根据一示例性实施例示出的一种电子设备700的框图。如图6所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(i/o)接口704,以及通信组件705中的一者或多者。
[0207]
其中,处理器701用于控制该电子设备700的整体操作,以完成上述的表单组件生成方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read-only memory,简称eprom),可编程只读存储器(programmable read-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o
接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(near field communication,简称nfc),2g、3g、4g、nb-iot、emtc、或其他5g等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件705可以包括:wi-fi模块,蓝牙模块,nfc模块等等。
[0208]
在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(application specific integrated circuit,简称asic)、数字信号处理器(digital signal processor,简称dsp)、数字信号处理设备(digital signal processing device,简称dspd)、可编程逻辑器件(programmable logic device,简称pld)、现场可编程门阵列(field programmable gate array,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的表单组件生成方法。
[0209]
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的表单组件生成方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的表单组件生成方法。
[0210]
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的表单组件生成方法的代码部分。
[0211]
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
[0212]
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1