词典的构建方法、装置、电子设备及介质与流程

文档序号:33128298发布日期:2023-02-01 06:30阅读: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.其中,所述目标标签分类模型包括输入层、激活函数为relu函数的第一层隐藏层与第二层隐藏层,以及激活函数为softmax函数的输出层。
30.可选地,在基于本技术上述方法的另一个实施例中,在所述构建数据字典之后,还包括:
31.获取至少一个其它数据字典,其中所述其它数据字典与所述数据字典为具有相同业务数据类型的字典;
32.提取所述其它数据字典中包含的多个其它列数据以及其它表数据,并分别将所述其它列数据以及其它表数据进行特征编码,得到多个其它列特征向量以及其它表特征向
量;
33.利用所述其它列特征向量以及其它表特征向量,得到其他待完善数据字典;
34.利用所述其他待完善数据字典,完善所述数据字典。
35.其中,根据本技术实施例的又一个方面,提供的一种词典的构建装置,其特征在于,包括:
36.获取模块,被配置为获取数据库中包含的多个列数据集合以及表数据集合,其中每个列数据集合中的列数据所属于同一列字段标签,每个表数据集合中的表数据所属于同一表主题标签;
37.编码模块,被配置为将所述多个列数据集合下包含的所有列数据进行特征编码,得到多个列特征向量;以及,将所述多个表数据集合下包含的所有表数据进行特征编码,得到多个表特征向量;
38.输出模块,被配置为将所述多个列特征向量与所述多个表特征向量输入至预训练完毕的目标标签分类模型中,得到每个列特征向量对应的列字段标签以及每个表特征向量对应的表主题标签;
39.构建模块,被配置为基于所述列字段标签与对应的列数据,以及,基于所述表主题标签与对应的表数据,构建数据字典。
40.根据本技术实施例的又一个方面,提供的一种电子设备,包括:
41.存储器,用于存储可执行指令;以及
42.显示器,用于与所述存储器以执行所述可执行指令从而完成上述任一所述词典的构建方法的操作。
43.根据本技术实施例的还一个方面,提供的一种计算机可读存储介质,用于存储计算机可读取的指令,所述指令被执行时执行上述任一所述词典的构建方法的操作。
44.本技术实施例中,可以获取数据库中包含的多个列数据集合以及表数据集合,其中每个列数据集合中的列数据所属于同一列字段标签,每个表数据集合中的表数据所属于同一表主题标签;将多个列数据集合下包含的所有列数据进行特征编码,得到多个列特征向量;以及,将多个表数据集合下包含的所有表数据进行特征编码,得到多个表特征向量;将多个列特征向量与多个表特征向量输入至预训练完毕的目标标签分类模型中,得到每个列特征向量对应的列字段标签以及每个表特征向量对应的表主题标签;基于列字段标签与对应的列数据,以及,基于表主题标签与对应的表数据,构建数据字典。通过应用本技术的技术方案,可以利用预设的字符分类模型自动识别出经过特征编码的列数据对应的列标签,以及自动识别出经过特征编码的表数据对应的表标签。进而再用数据字典生成工具将获得的数据和对应的标签分类结果进行整合,形成最终的数据字典。从而一方面可以达到智能构建数据字典的目的,避免了现有技术中人工建立数据字典而存在的费时费力的弊端。另一方面由于本技术采用能够完整提取数据语义信息的特征编码技术,因此能够更加细致地对数据进行分类,以得到更为精确的数据字典。
45.下面通过附图和实施例,对本技术的技术方案做进一步的详细描述。
附图说明
46.构成说明书的一部分的附图描述了本技术的实施例,并且连同描述一起用于解释
本技术的原理。
47.参照附图,根据下面的详细描述,可以更加清楚地理解本技术,其中:
48.图1示出了本技术一实施例所提供的一种词典的构建方法示意图;
49.图2示出了本技术一实施例所提供的一种词典的构建方法的流程示意图;
50.图3示出了本技术一实施例所提供的对数据进行特征编码的示意图;
51.图4示出了本技术一实施例所提供的预设特征编码规则的示意图;
52.图5示出了本技术一实施例所提供的另外一种词典的构建方法的流程示意图;
53.图6示出了本技术一实施例所提供的数据字典中包含信息的示意图;
54.图7示出了本技术一实施例所提供的一种电子装置的结构示意图;
55.图8示出了本技术一实施例所提供的一种电子设备的结构示意图;
56.图9示出了本技术一实施例所提供的一种存储介质的示意图。
具体实施方式
57.现在将参照附图来详细描述本技术的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本技术的范围。
58.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
59.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,不作为对本技术及其应用或使用的任何限制。
60.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
61.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
62.另外,本技术各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本技术要求的保护范围之内。
63.需要说明的是,本技术实施例中所有方向性指示(诸如上、下、左、右、前、后
……
)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应的随之改变。
64.下面结合图1-图6来描述根据本技术示例性实施方式的用于进行词典的构建方法。需要注意的是,下述应用场景仅是为了便于理解本技术的精神和原理而示出,本技术的实施方式在此方面不受任何限制。相反,本技术的实施方式可以应用于适用的任何场景。
65.本技术还提出一种词典的构建方法、装置、电子设备及介质。
66.图1示意性地示出了根据本技术实施方式的一种词典的构建方法的流程示意图。如图1所示,该方法包括:
67.s101,获取数据库中包含的多个列数据集合以及表数据集合,其中每个列数据集合中的列数据所属于同一列字段标签,每个表数据集合中的表数据所属于同一表主题标签。
68.s102,将多个列数据集合下包含的所有列数据进行特征编码,得到多个列特征向量;以及,将多个表数据集合下包含的所有表数据进行特征编码,得到多个表特征向量。
69.s103,将多个列特征向量与多个表特征向量输入至预训练完毕的目标标签分类模型中,得到每个列特征向量对应的列字段标签以及每个表特征向量对应的表主题标签。
70.s104,基于列字段标签与对应的列数据,以及,基于表主题标签与对应的表数据,构建数据字典。
71.进一步的,现有的数据字典的构建主要有以下几个途径:
72.其一,人工构建:
73.表名及表字段往往是由开发人员根据业务场景、个人经验和习惯、英语水平(表名一般是英文名)等自定义完成,这样会造成表字段的命名规范不统一,存在同一业务含义的字段可能会有多个表示名称,或者不同业务含义的字段均为同一表示名称等情形,同时数据字典管理不规范易被随意修改,从而导致数据字典出现多个版本,且最新版本的数据字典也不准确。在实际的项目开发过程中,任务往往分批次进行,对应不同的数据字典并由不同人员负责维护,或形成新的数据字典。最后维护人员对各版本数据字典进行差异对比,形成统一数据字典。该过程工作量大、效率低,且缺少统一标准规范难以全面客观地执行,影响项目进展。
74.其二,对列名进行分词的方式构建:
75.即从中筛选词性为名词的词进行标注,将这些名词进行相似度匹配,高于一定阈值认为是同一含义。该方法确实可以提高数据字典构建的精度,但需要大量标注样本,且只针对于字段名是中文的情形,而各单位数据库中存在大量字段名是英文缩写或随意取名的情况,这种情况下此方法不适用。
76.其三,利用表的元数据的方式构建:
77.即将元数据经独热编码向量化后,再利用文档主题生成模型对向量化后的元数据进行分类,最终完成对字段名和表主题进行分类。这种方法效率较高,仅仅利用表的元数据信息即可确定表的主题分类,无需读取整张表的数据,具有数据量小,处理速度快等优点。但只适用于有元数据且元数据相对清晰的情形,若元数据不存在,此方法无效,若元数据信息量少,此方法准确率将非常低。
78.综上,现有的数据字典构建方式存在以下几个问题:
79.1、依靠人工方式效率低,版本及标准不客观、不一致;
80.2、语义方法适用场景单一,无法跨场景快速复用;
81.3、非语义方法,业务语义信息缺乏严重;
82.4、需要的样本数据过大,人力成本偏高。
83.进一步的,针对上述问题,本技术提出了一种词典的构建方法,其思想为利用预设的字符分类模型自动识别出经过特征编码的列数据对应的列标签,以及自动识别出经过特征编码的表数据对应的表标签。进而再用数据字典生成工具将获得的数据和对应的标签分类结果进行整合,形成最终的数据字典。
84.例如如图2所示,为本技术提出的一种词典的构建架构流程图,具体来说,包括以下步骤实现:
85.步骤1、获取数据库中包含的多个样本列字段标签以及样本表主题标签。
86.其中,每个样本列字段标签下关联有至少一个样本列数据,每个样本表主题标签下关联有至少一个样本表数据。
87.进一步的,列字段标签即为数据表中,某一列的开头部分所对应的内容。一种方式中,可以理解的,某一个列字段标签即是对其展开列内容的性质进行的归类。例如属性、岁数、名字、学历、工号、业绩等所在的列表项,都属于列字段标签。
88.作为示例的,列数据即为列字段标签下所记录的各个数据。例如对于记录岁数表项的列字段标签来说,列字段标签即为“年龄”,而该列字段标签“年龄”下所有用户的年龄数据(例如为18岁、45岁、33岁),即为与该列字段标签(年龄)相关联的列数据。
89.再次举例来说,对于记录姓名表项的列字段标签来说,列字段标签即为“姓名”,而该列字段标签“姓名”下所有用户的姓名数据(例如为张三、李四、王五),即为与该列字段标签(姓名)相关联的列数据。
90.更进一步的,表主题标签即为数据库中,某一数据表的表名称所对应的内容。一种方式中,可以理解的,某一个表主题标签即是对其展开表格内容的性质进行的归类。例如人员信息表、工资表、业绩表、超期表等等。都属于表主题标签。
91.作为示例的,表数据即为表主题标签下所记录的各个数据(包括列数据以及列字段标签)。例如对于记录人员信息表的表主题标签来说,表主题标签即为“人员信息表”,而该表主题标签“人员信息表”下所有的数据,例如列字段标签“姓名”以及与之关联的所有用户的年龄数据(例如为18岁、45岁、33岁),即为与该表主题标签(人员信息表)相关联的表数据。
92.再次举例来说,对于记录工资信息表的表主题标签来说,表主题标签即为“工资表”,而该表主题标签“工资表”下所有的数据,例如列字段标签“姓名”以及与之关联的所有用户的年龄数据(例如为18岁、45岁、33岁),列字段标签“工资”以及与之关联的所有用户的工资数据(例如为10000元、5000元、3500元),即为与该表主题标签(工资表)相关联的表数据。
93.一种方式中,一个数据表中可以存在有一个列字段标签,也可以存在有多个列字段标签。本技术对此不作限定。
94.步骤2、按照数据字典生成工具记录的字典规范,对样本列字段标签与关联的样本列数据进行整合,以及,对样本表主题标签与关联的样本表数据进行整合,构建初始数据字典。
95.进一步的,本技术可以获取现有技术中存在的数据字典生成工具,并依据其记录的字典生成规范,把步骤1中得到的数据(即样本列字段标签与关联的样本列数据,与,样本表主题标签与关联的样本表数据)进行对应规范的整合,从而得到一部初始的数据字典。
96.可以理解的,该初始数据字典一方面可以作为样本,用于对初始神经网络模型的训练。另一方面也可以对后续生成的数据字典进行拼接以得到更加全面的数据字典合集。
97.步骤3、将关联有样本列数据的样本列字段标签,和,关联有样本表数据的样本表主题作为训练数据,对初始标签分类模型进行训练,直至得到训练完毕的目标标签分类模型。
98.一种方式中,为了充分利用样本数据的特征信息。本技术实施例可以构建一个由全连接神经网络所组成的初始标签分类模型。
99.作为示例的,初始标签分类模型总共包括四层:输入层(338维)、第一层隐藏层(128维)、第二层隐藏层(64维)、输出层(n维)。其中,两个隐藏层所用的激活函数维relu函数,输出层所用的激活函数为softmax函数。同理构建类似的全连接神经网络进行表主题分类,区别在于输出层是m维;
100.进一步的,本技术实施例在对初始标签分类模型进行训练的过程中,可以采用分类通用的交叉熵损失,选取速度最快的adam优化器,学习率设置为余弦退火函数,目的是为了防止损失过小时学习率过大而导致结果不稳定。将样本数据划分为80%的训练集和20%的验证集,将训练集中列和表的多维特征向量分别输入对应模型,在两次迭代损失之差小于指定阈值时训练结束。从而得到最终的目标标签分类模型。
101.步骤4、获取数据库中包含的所有列字段标签以及所有表主题标签,并分别解析每个列字段标签对应的真实语义,以及分别解析每个表主题标签对应的真实语义。
102.步骤5、将多个列字段标签中,真实语义相同的列字段标签进行合并,得到筛选后的列字段标签;以及,将多个表主题标签中,真实语义相同的表主题标签进行合并,得到筛选后的表主题标签。
103.进一步的,由于各个数据库中存在有多个数据表,且由于每个数据表可能由不同的业务人员所建立并维护。因此会出现虽然列字段标签与表主题标签的名称并不相同,但是真实语义信息相同的情况。
104.例如对于列字段标签来说,无论是“岁数”还是“年龄”还是“age”,虽然为不同的表述,但是其真实含义是相同的。因此本技术可以将该实语义相同的列字段标签进行合并,得到筛选后的列字段标签。
105.同理,对于表主题标签来说,无论是“姓名表”还是“人员信息表”还是“员工名称表”,虽然为不同的表述,但是其真实含义是相同的。因此本技术可以将多个表主题标签中,真实语义相同的表主题标签进行合并,得到筛选后的表主题标签。
106.步骤6、从筛选后的列字段标签中提取多个列数据集合;以及,从筛选后的表主题标签中提取多个表数据集合。
107.进一步的,本技术在得到筛选后的列字段标签之后,即可从中其中不限数量的列数据。需要说明的是,每个所属于同一列字段标签的列数据组成一个列数据集合。进而得到多个列数据集合。
108.进一步的,本技术在得到筛选后的表主题标签之后,即可从中其中不限数量的表数据。需要说明的是,每个所属于同一表主题标签的表数据组成一个表数据集合。进而得到多个表数据集合。
109.步骤7、按照预设特征编码规则对列数据进行特征编码,得到列特征向量;以及,按照预设特征编码规则对表数据进行特征编码,得到表特征向量。
110.一种方式中,如图3所示,本技术实施例提出一种特征编码方式来实现对数据的特征编码。其中,该特征编码方法能够完整提取数据的语义信息,且可以适用于绝大多数类型的数据。具体包括:
111.步骤a,将列数据与表数据的格式转换为utf-8编码;
112.步骤b,每次输入模型前,将每个标签对应的数据随机抽取1000行,即列标签对应的列数据随机抽取1000行,表主题对应的表数据随机抽取1000行,由此得到列原始数据和
表原始数据。
113.其中,列原始数据是每个列标签对应抽取1000行1列数据,若1个列标签对应多个列字段,先把这些列字段拼接成1个列字段再抽取;表原始数据是每个主题标签对应抽取1000行n列数据,n代表该表的列数,若1个主题标签对应多张表,先把这多张表拼接成1张宽表再抽取,拼接完成的宽表空值一定方式进行填充;
114.步骤c,对列原始数据和表原始数据进行特征编码,编码规则如图4。特征总共包含11个大维度,拆分成338个小维度:
115.第一大维度包括:数字等字符占所有字符的比例,构成3个小维度;
116.第二大维度包括:时间/名字等列占所有列的比例,构成4个小维度;
117.第三大维度包括:平均每个格子的字符数量,构成1个小维度;
118.第四大维度包括:平均每个格子包含的数字等字符数量,构成3个小维度;
119.第五大维度包括:每个格子包含的数字等字符数量的标准差,构成3个小维度;
120.第六大维度包括:是否包含0等字符,构成10个小维度;
121.第七大维度包括:是否全为0等字符,构成10个小维度;
122.第八大维度包括:0-9各数字数量的均值等统计维度,构成70个小维度;
123.第九大维度包括:是否包含a等字符,构成26个小维度;
124.第十大维度包括:是否全为a等字符,构成26个小维度;
125.第十一大维度包括:a-z各字母数量的均值等统计维度,构成182个小维度。
126.以上所有小维度构成338维特征向量,即每个样本数据经过特征编码后,形成338维特征向量,作为后续进行目标标签分类模型的输入。
127.步骤8、将多个列特征向量与多个表特征向量输入至预训练完毕的目标标签分类模型中,得到每个列特征向量对应的列字段标签以及每个表特征向量对应的表主题标签。
128.进一步的,本技术实施例在得到列特征向量与表特征向量之后,即可将其输入至目标标签分类模型,以使该目标标签分类模型输出每一个列特征向量对应的列字段标签,以及,每一个表特征向量对应的表主题标签。
129.步骤9、利用数据字典生成工具,分别建立每个列字段标签与所属列数据的第一关联关系;以及,分别建立每个表主题标签与所属表数据的第二关联关系。
130.步骤10、按照数据字典生成工具记录的字典规范,对第一关联关系与第二关联关系进行整合,得到待完善数据字典。
131.步骤11、将待完善数据字典与预先构建的初始数据字典进行拼接,得到数据字典。
132.进一步的,本技术同样可以获取现有技术中存在的数据字典生成工具,并依据其记录的字典生成规范,把上述步骤中得到的数据(即包含列字段标签与所属列数据的第一关联关系,与,包含每个表主题标签与所属表数据的第二关联关系)进行对应规范的整合,从而得到一部初始的数据字典。再将此数据字典与初始的数据字典进行拼接,形成最终更加完整的数据字典。
133.本技术实施例中,可以获取数据库中包含的多个列数据集合以及表数据集合,其中每个列数据集合中的列数据所属于同一列字段标签,每个表数据集合中的表数据所属于同一表主题标签;将多个列数据集合下包含的所有列数据进行特征编码,得到多个列特征向量;以及,将多个表数据集合下包含的所有表数据进行特征编码,得到多个表特征向量;
将多个列特征向量与多个表特征向量输入至预训练完毕的目标标签分类模型中,得到每个列特征向量对应的列字段标签以及每个表特征向量对应的表主题标签;基于列字段标签与对应的列数据,以及,基于表主题标签与对应的表数据,构建数据字典。
134.通过应用本技术的技术方案,可以利用预设的字符分类模型自动识别出经过特征编码的列数据对应的列标签,以及自动识别出经过特征编码的表数据对应的表标签。进而再用数据字典生成工具将获得的数据和对应的标签分类结果进行整合,形成最终的数据字典。从而一方面可以达到智能构建数据字典的目的,避免了现有技术中人工建立数据字典而存在的费时费力的弊端。另一方面由于本技术采用能够完整提取数据语义信息的特征编码技术,因此能够更加细致地对数据进行分类,以得到更为精确的数据字典。
135.可选地,在基于本技术上述方法的另一个实施例中,获取数据库中包含的多个列数据集合以及表数据集合,包括:
136.获取所述数据库中包含的所有列字段标签以及所有表主题标签;
137.分别解析每个列字段标签对应的真实语义,以及分别解析每个表主题标签对应的真实语义;
138.将多个列字段标签中,真实语义相同的列字段标签进行合并,得到筛选后的列字段标签;以及,将多个表主题标签中,真实语义相同的表主题标签进行合并,得到筛选后的表主题标签;
139.从所述筛选后的列字段标签中提取所述多个列数据集合;以及,从所述筛选后的表主题标签中提取所述多个表数据集合。
140.可选地,在基于本技术上述方法的另一个实施例中,按照预设特征编码规则对所述列数据进行特征编码,得到所述列特征向量;以及,按照所述预设特征编码规则对所述表数据进行特征编码,得到所述表特征向量;
141.其中,所述预设特征编码规则包含以下编码维度的至少一种:
142.数字字符占所有字符的比例维度、时间/名字列占所有列的比例维度、平均每个格子的字符数量维度、平均每个格子包含的数字字符数量维度、每个格子包含的数字字符数量的标准差维度、是否包含0字符维度、是否全为0字符维度、0-9各数字数量的均值维度、是否包含a字符维度、是否全为a字符维度、a-z各字母数量的均值维度。
143.可选地,在基于本技术上述方法的另一个实施例中,所述基于所述列字段标签与对应的列数据,以及,基于所述表主题标签与对应的表数据,构建数据字典,包括:
144.利用数据字典生成工具,分别建立每个列字段标签与所属列数据的第一关联关系;以及,分别建立每个表主题标签与所属表数据的第二关联关系;
145.按照所述数据字典生成工具记录的字典规范,对所述第一关联关系与所述第二关联关系进行整合,得到待完善数据字典;
146.将所述待完善数据字典与预先构建的初始数据字典进行拼接,得到所述数据字典。
147.可选地,在基于本技术上述方法的另一个实施例中,在所述将所述待完善数据字典与预先构建的初始数据字典进行拼接之前,还包括:
148.获取数据库中包含的多个样本列字段标签以及样本表主题标签;
149.其中每个样本列字段标签下关联有至少一个样本列数据,每个样本表主题标签下
关联有至少一个样本表数据;
150.按照所述数据字典生成工具记录的字典规范,对所述样本列字段标签与关联的样本列数据进行整合,以及,对所述样本表主题标签与关联的样本表数据进行整合,构建所述初始数据字典。
151.可选地,在基于本技术上述方法的另一个实施例中,在所述获取数据库中包含的多个样本列字段标签以及样本表主题标签之后,还包括:
152.将所述关联有样本列数据的样本列字段标签,和,所述关联有样本表数据的样本表主题作为训练数据,对初始标签分类模型进行训练,直至得到训练完毕的所述目标标签分类模型;
153.其中,所述目标标签分类模型包括输入层、激活函数为relu函数的第一层隐藏层与第二层隐藏层,以及激活函数为softmax函数的输出层。
154.可选地,在基于本技术上述方法的另一个实施例中,在所述构建数据字典之后,还包括:
155.获取至少一个其它数据字典,其中所述其它数据字典与所述数据字典为具有相同业务数据类型的字典;
156.提取所述其它数据字典中包含的多个其它列数据以及其它表数据,并分别将所述其它列数据以及其它表数据进行特征编码,得到多个其它列特征向量以及其它表特征向量;
157.利用所述其它列特征向量以及其它表特征向量,得到其他待完善数据字典;
158.利用所述其他待完善数据字典,完善所述数据字典。
159.一种方式中,如图5所示,为本技术提出的又一种词典的构建架构流程图,具体来说,包括小样本数据标注、模型构建、模型验证、数据字典完善、同行业数据字典复制5步骤实现:
160.其中,对于小样本数据标注来说,
161.首先,可以由数据库维护人员提供涵盖所有业务含义的列字段标签并提供相应的列数据(将其作为样本列字段标签与对应的样本列数据)。作为示例的,每个数据表可以提供一列或多列数据。
162.另外,数据库维护人员还可以提供一份涵盖所有业务主题的表主题标签并提供相应数据(将其作为样本表主题标签与对应的样本表数据)。作为示例的,每个表主题标签可以提供一个或多个表数据。
163.最后,按照数据字典生成工具记录的字典规范,对上述样本列字段标签与关联的样本列数据,以及,样本表主题标签与关联的样本表数据进行整合,构建成初始数据字典。
164.一种方式中,初始数据字典中的内容如图6所示。作为示例的,每个标签只用到了一小部分数据。将列标签类别总数记为n,表主题标签类别总数记为m。
165.其中,对于模型构建来说,
166.本技术实施例可以构建一个由全连接神经网络所组成的初始标签分类模型。作为示例的,初始标签分类模型总共包括四层:输入层(338维)、第一层隐藏层(128维)、第二层隐藏层(64维)、输出层(n维)。其中,两个隐藏层所用的激活函数维relu函数,输出层所用的激活函数为softmax函数。同理构建类似的全连接神经网络进行表主题分类,区别在于输出
层是m维;
167.进一步的,本技术实施例在对初始标签分类模型进行训练的过程中,可以采用分类通用的交叉熵损失,选取速度最快的adam优化器,学习率设置为余弦退火函数,目的是为了防止损失过小时学习率过大而导致结果不稳定。将样本数据划分为80%的训练集和20%的验证集,将训练集中列和表的多维特征向量分别输入对应模型,在两次迭代损失之差小于指定阈值时训练结束。从而得到最终的目标标签分类模型。
168.其中,对于模型验证来说,
169.本技术实施例可以准备一定的验证数据,包括但不限于准确率、精确率、召回率和f1分值。并在后续将该验证数据,输入至第二部分中训练完成的目标标签分类模型中,当验证集满足预设的评测指标时,保存模型。否则,继续对模型进行训练。
170.其中,对于数据字典完善来说,
171.首先,本技术实施例可以获取数据库中所有表和列的信息,如数据库类型、实例名、表名、列名,将所有的表和列数据进行特征编码,每一列随机抽取1000个数据,每一张表随机抽取1000行数据,这些数据经过特征编码后,形成对应的多维特征向量,作为目标标签分类模型的输入。
172.另外,本技术实施例可以将上述特征编码输入训练好的模型,每一列和每一张表都输出对应的分类结果。以使后续用数据字典生成工具将获得的信息和对应的分类结果进行整合,形成待完善的数据字典,再将此数据字典与初始的数据字典进行拼接,形成完整的数据字典。
173.其中,对于同行业数据字典复制来说,
174.在后续应用过程中,对于相同行业的数据(即与数据字典为具有相同业务数据类型的其它数据字典),可以同样对其中包含的其它列数据以及其它表数据进行特征编码后,采用预训练好的目标标签分类模型直接输出该数据的列属性和表主题分类结果,并将其拼接到本技术得到的数据字典中。
175.可以理解的,上述步骤避免了重复训练模型占用大量时间。该过程辅助业务人员实现快速给数据表列打标签的过程,可以针对行业高效建立统一的数据字典,摆脱数据库软件开发商的诸多限制。
176.通过应用本技术的技术方案,可以利用预设的字符分类模型自动识别出经过特征编码的列数据对应的列标签,以及自动识别出经过特征编码的表数据对应的表标签。进而再用数据字典生成工具将获得的数据和对应的标签分类结果进行整合,形成最终的数据字典。从而一方面可以达到智能构建数据字典的目的,避免了现有技术中人工建立数据字典而存在的费时费力的弊端。另一方面由于本技术采用能够完整提取数据语义信息的特征编码技术,因此能够更加细致地对数据进行分类,以得到更为精确的数据字典。
177.可选的,在本技术的另外一种实施方式中,如图7所示,本技术还提供一种词典的构建装置。其中包括:
178.获取模块201,被配置为获取数据库中包含的多个列数据集合以及表数据集合,其中每个列数据集合中的列数据所属于同一列字段标签,每个表数据集合中的表数据所属于同一表主题标签;
179.编码模块202,被配置为将所述多个列数据集合下包含的所有列数据进行特征编
码,得到多个列特征向量;以及,将所述多个表数据集合下包含的所有表数据进行特征编码,得到多个表特征向量;
180.输出模块203,被配置为将所述多个列特征向量与所述多个表特征向量输入至预训练完毕的目标标签分类模型中,得到每个列特征向量对应的列字段标签以及每个表特征向量对应的表主题标签;
181.构建模块204,被配置为基于所述列字段标签与对应的列数据,以及,基于所述表主题标签与对应的表数据,构建数据字典。
182.通过应用本技术的技术方案,可以利用预设的字符分类模型自动识别出经过特征编码的列数据对应的列标签,以及自动识别出经过特征编码的表数据对应的表标签。进而再用数据字典生成工具将获得的数据和对应的标签分类结果进行整合,形成最终的数据字典。从而一方面可以达到智能构建数据字典的目的,避免了现有技术中人工建立数据字典而存在的费时费力的弊端。另一方面由于本技术采用能够完整提取数据语义信息的特征编码技术,因此能够更加细致地对数据进行分类,以得到更为精确的数据字典。
183.在本技术的另外一种实施方式中,获取模块201,被配置执行的步骤包括:
184.获取所述数据库中包含的所有列字段标签以及所有表主题标签;
185.分别解析每个列字段标签对应的真实语义,以及分别解析每个表主题标签对应的真实语义;
186.将多个列字段标签中,真实语义相同的列字段标签进行合并,得到筛选后的列字段标签;以及,将多个表主题标签中,真实语义相同的表主题标签进行合并,得到筛选后的表主题标签;
187.从所述筛选后的列字段标签中提取所述多个列数据集合;以及,从所述筛选后的表主题标签中提取所述多个表数据集合。
188.在本技术的另外一种实施方式中,获取模块201,被配置执行的步骤包括:
189.按照预设特征编码规则对所述列数据进行特征编码,得到所述列特征向量;以及,按照所述预设特征编码规则对所述表数据进行特征编码,得到所述表特征向量;
190.其中,所述预设特征编码规则包含以下编码维度的至少一种:
191.数字字符占所有字符的比例维度、时间/名字列占所有列的比例维度、平均每个格子的字符数量维度、平均每个格子包含的数字字符数量维度、每个格子包含的数字字符数量的标准差维度、是否包含0字符维度、是否全为0字符维度、0-9各数字数量的均值维度、是否包含a字符维度、是否全为a字符维度、a-z各字母数量的均值维度。
192.在本技术的另外一种实施方式中,获取模块201,被配置执行的步骤包括:
193.利用数据字典生成工具,分别建立每个列字段标签与所属列数据的第一关联关系;以及,分别建立每个表主题标签与所属表数据的第二关联关系;
194.按照所述数据字典生成工具记录的字典规范,对所述第一关联关系与所述第二关联关系进行整合,得到待完善数据字典;
195.将所述待完善数据字典与预先构建的初始数据字典进行拼接,得到所述数据字典。
196.在本技术的另外一种实施方式中,获取模块201,被配置执行的步骤包括:
197.获取数据库中包含的多个样本列字段标签以及样本表主题标签;
198.其中每个样本列字段标签下关联有至少一个样本列数据,每个样本表主题标签下关联有至少一个样本表数据;
199.按照所述数据字典生成工具记录的字典规范,对所述样本列字段标签与关联的样本列数据进行整合,以及,对所述样本表主题标签与关联的样本表数据进行整合,构建所述初始数据字典。
200.在本技术的另外一种实施方式中,获取模块201,被配置执行的步骤包括:
201.将所述关联有样本列数据的样本列字段标签,和,所述关联有样本表数据的样本表主题作为训练数据,对初始标签分类模型进行训练,直至得到训练完毕的所述目标标签分类模型;
202.其中,所述目标标签分类模型包括输入层、激活函数为relu函数的第一层隐藏层与第二层隐藏层,以及激活函数为softmax函数的输出层。
203.在本技术的另外一种实施方式中,获取模块201,被配置执行的步骤包括:
204.获取至少一个其它数据字典,其中所述其它数据字典与所述数据字典为具有相同业务数据类型的字典;
205.提取所述其它数据字典中包含的多个其它列数据以及其它表数据,并分别将所述其它列数据以及其它表数据进行特征编码,得到多个其它列特征向量以及其它表特征向量;
206.利用所述其它列特征向量以及其它表特征向量,得到其他待完善数据字典;
207.利用所述其他待完善数据字典,完善所述数据字典。
208.本技术实施方式还提供一种电子设备,以执行上述词典的构建方法。请参考图8,其示出了本技术的一些实施方式所提供的一种电子设备的示意图。如图8所示,电子设备3包括:处理器300,存储器301,总线302和通信接口303,所述处理器300、通信接口303和存储器301通过总线302连接;所述存储器301中存储有可在所述处理器300上运行的计算机程序,所述处理器300运行所述计算机程序时执行本技术前述任一实施方式所提供的词典的构建方法。
209.其中,存储器301可能包含高速随机存取存储器(ram:random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口303(可以是有线或者无线)实现该装置网元与至少一个其它网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
210.总线302可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器301用于存储程序,所述处理器300在接收到执行指令后,执行所述程序,前述本技术实施例任一实施方式揭示的所述数据识别的方法可以应用于处理器300中,或者由处理器300实现。
211.处理器300可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器300中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器300可以是通用处理器,包括处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用
处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器301,处理器300读取存储器301中的信息,结合其硬件完成上述方法的步骤。
212.本技术实施例提供的电子设备与本技术实施例提供的数据识别的方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
213.本技术实施方式还提供一种与前述实施方式所提供的数据识别的方法对应的计算机可读存储介质,请参考图9,其示出的计算机可读存储介质为光盘40,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的词典的构建方法。
214.需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其它类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其它光学、磁性存储介质,在此不再一一赘述。
215.本技术的上述实施例提供的计算机可读存储介质与本技术实施例提供的数据识别的方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
216.需要说明的是:
217.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本技术的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的结构和技术,以便不模糊对本说明书的理解。
218.类似地,应当理解,为了精简本技术并帮助理解各个发明方面中的一个或多个,在上面对本技术的示例性实施例的描述中,本技术的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下示意图:即所要求保护的本技术要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本技术的单独实施例。
219.此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本技术的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
220.以上所述,仅为本技术较佳的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1