掌桥专利:专业的专利平台
掌桥专利
首页

一种伪行数据的生成方法、装置、设备和介质

文献发布时间:2023-06-19 18:37:28


一种伪行数据的生成方法、装置、设备和介质

技术领域

本申请涉及数据安全技术领域,特别是涉及一种伪行数据的生成方法、装置、设备和计算机可读存储介质。

背景技术

在大数据时代,数据成为越来越宝贵的资源,其包含着巨大的社会价值和经济价值。随着网络数据共享和数据交换需求的不断增多,近年来,数据泄漏的现象时有发生。随着数据的价值性与变现能力的提升,数据黑灰产愈发猖獗,暗网每天活跃着各类泄露数据的交易。泄露溯源是从源头上根治黑灰产与数据泄露问题的关键。溯源一方面可以帮助企业了解内部安全管理与技术措施的薄弱环节,另一方面对实施犯罪行为的泄露者可以起到心理威慑的作用,从而有效减少类似事件的发生。

数据水印可以通过水印算法对原始数据植入水印标记,保证分发数据正常使用,水印数据具有高可用性、高透明无感、高隐蔽性,不易被外部发现破解。在发现信息泄露的第一时间,可从泄露的数据中提取水印标识,通过读取水印标识编码,精准定位泄露单位及责任人,实现数据泄露精准追责定责,提高了数据传递的安全性和可追溯能力。

对于存储在数据库中的结构化数据来说,常见的数据水印算法有添加伪行、添加伪列,脱敏水印以及添加不可见字符等。其中,添加伪行是指在对一些输出数据添加水印时,加入一些人为生成的整行信息。

伪行数据一般由多种类型的数据组成。目前的伪行水印算法的实现方式主要有三种,第一种方式是使用对应的内置字典中的内容对每种类型的数据进行构造。第二种方式是根据每种数据类型的构成规则,使用内部生成逻辑随机构造各类型的伪造数据,进而完成对整行数据的构造。第三种方式是直接随机选取原始数据中相同数据类型的数据,从而完成对行数据的伪造。这三种实现方式具有较强的随机性,未对后续数据分析场景做任何考虑,会引入对机器学习分类任务有影响的噪声,造成模型分类效果差,甚至不可用的问题。

可见,如何降低伪行数据对机器学习分类的影响,是本领域技术人员需要解决的问题。

发明内容

本申请实施例的目的是提供一种伪行数据的生成方法、装置、设备和计算机可读存储介质,可以降低伪行数据对机器学习分类的影响。

为解决上述技术问题,本申请实施例提供一种伪行数据的生成方法,包括:

基于机器学习的分类任务,确定分类标签;其中,原始数据中每行数据有其对应的一个分类标签;

根据设定的伪行数据配置比例、所述原始数据中包含的所有所述分类标签的类型分布,设置各伪行数据对应的伪行分类标签;

依据所述伪行分类标签、所述原始数据中各列数据的分布情况以及各列数据对应的数据生成规则,构造伪行数据。

可选地,所述根据设定的伪行数据配置比例、所述原始数据中包含的所有所述分类标签的类型分布,设置各伪行数据对应的伪行分类标签包括:

根据设定的伪行数据配置比例以及所述原始数据中数据的行数,确定出伪行数据的伪行数;

根据所述原始数据中包含的所有所述分类标签的类型分布,确定出各类型的分类标签的占比;

基于所述各类型的分类标签的占比和所述伪行数,确定出各伪行数据对应的伪行分类标签。

可选地,所述依据所述伪行分类标签、所述原始数据中各列数据的分布情况以及各列数据对应的数据生成规则,构造伪行数据包括:

根据所述伪行分类标签,确定出各所述伪行数据中各列数据对应的约束条件;

基于所述原始数据中各列数据的分布情况、各列数据对应的数据生成规则以及所述伪行数据中各列数据对应的约束条件,生成各伪列数据;

将各所述伪列数据按照所述原始数据中各列数据的顺序进行排布,以得到各所述伪行数据。

可选地,所述基于所述原始数据中各列数据的分布情况、各列数据对应的数据生成规则以及所述伪行数据中各列数据对应的约束条件,生成各伪列数据包括:

在所述原始数据包括数值属性的列数据的情况下,对所述原始数据中具有同一目标分类标签的数值属性的目标列数据进行概率密度函数的估计;其中,所述目标列数据为所有所述数值属性的列数据中的任意一列数据;

基于与所述目标分类标签相同的目标伪行分类标签的个数,对估计后的概率密度函数进行采样,以得到目标伪列数据。

可选地,所述基于所述原始数据中各列数据的分布情况、各列数据对应的数据生成规则以及所述伪行数据中各列数据对应的约束条件,生成各伪列数据包括:

在所述原始数据包括类别属性的列数据的情况下,统计所述原始数据中类别属性的目标列数据的分布概率;其中,所述目标列数据为所有所述类别属性的列数据中的任意一列数据;

基于所述目标列数据的分布概率以及所述目标列数据所属类别属性的约束条件,生成目标伪列数据。

可选地,所述基于所述原始数据中各列数据的分布情况、各列数据对应的数据生成规则以及所述伪行数据中各列数据对应的约束条件,生成各伪列数据包括:

在所述原始数据包括业务类型的列数据的情况下,将目标列数据划分为数值属性的目标数据和类别属性的目标数据;

按照数值属性的列数据对应的数据生成规则以及约束条件,生成数值属性的伪数据;

按照类别属性的列数据对应的数据生成规则以及约束条件,生成类别属性的伪数据;

将所述数值属性的伪数据与所述类别属性的伪数据合并作为业务类型的伪列数据。

可选地,在所述依据所述伪行分类标签、所述原始数据中各列数据的分布情况以及各列数据对应的数据生成规则,构造伪行数据之后还包括:

将所述伪行数据嵌入水印后插入到所述原始数据中。

可选地,所述将所述伪行数据嵌入水印后插入到所述原始数据中包括:

对所述伪行数据嵌入水印;

将嵌入水印后的伪行数据按照均匀分布的方式添加到所述原始数据中。

可选地,在所述依据所述伪行分类标签、所述原始数据中各列数据的分布情况以及各列数据对应的数据生成规则,构造伪行数据之前还包括:

将与所述分类标签满足相关性要求的数据列作为待嵌入水印列;

相应的,所述依据所述伪行分类标签、所述原始数据中各列数据的分布情况以及各列数据对应的数据生成规则,构造伪行数据包括:

依据所述伪行分类标签、所述原始数据中待嵌入水印列的分布情况以及各待嵌入水印列对应的数据生成规则,构造伪行数据。

本申请实施例还提供了一种伪行数据的生成装置,包括确定单元、设置单元和构造单元;

所述确定单元,用于基于机器学习的分类任务,确定分类标签;其中,原始数据中每行数据有其对应的一个分类标签;

所述设置单元,用于根据设定的伪行数据配置比例、所述原始数据中包含的所有所述分类标签的类型分布,设置各伪行数据对应的伪行分类标签;

所述构造单元,用于依据所述伪行分类标签、所述原始数据中各列数据的分布情况以及各列数据对应的数据生成规则,构造伪行数据。

可选地,所述设置单元包括伪行数确定子单元、占比确定子单元和标签确定子单元;

所述伪行数确定子单元,用于根据设定的伪行数据配置比例以及所述原始数据中数据的行数,确定出伪行数据的伪行数;

所述占比确定子单元,用于根据所述原始数据中包含的所有所述分类标签的类型分布,确定出各类型的分类标签的占比;

所述标签确定子单元,用于基于所述各类型的分类标签的占比和所述伪行数,确定出各伪行数据对应的伪行分类标签。

可选地,所述构造单元包括条件确定子单元、生成子单元和排布子单元;

所述条件确定子单元,用于根据所述伪行分类标签,确定出各所述伪行数据中各列数据对应的约束条件;

所述生成子单元,用于基于所述原始数据中各列数据的分布情况、各列数据对应的数据生成规则以及所述伪行数据中各列数据对应的约束条件,生成各伪列数据;

所述排布子单元,用于将各所述伪列数据按照所述原始数据中各列数据的顺序进行排布,以得到各所述伪行数据。

可选地,所述生成子单元用于在所述原始数据包括数值属性的列数据的情况下,对所述原始数据中具有同一目标分类标签的数值属性的目标列数据进行概率密度函数的估计;其中,所述目标列数据为所有所述数值属性的列数据中的任意一列数据;

基于与所述目标分类标签相同的目标伪行分类标签的个数,对估计后的概率密度函数进行采样,以得到目标伪列数据。

可选地,所述生成子单元用于在所述原始数据包括类别属性的列数据的情况下,统计所述原始数据中类别属性的目标列数据的分布概率;其中,所述目标列数据为所有所述类别属性的列数据中的任意一列数据;

基于所述目标列数据的分布概率以及所述目标列数据所属类别属性的约束条件,生成目标伪列数据。

可选地,所述生成子单元用于在所述原始数据包括业务类型的列数据的情况下,将目标列数据划分为数值属性的目标数据和类别属性的目标数据;

按照数值属性的列数据对应的数据生成规则以及约束条件,生成数值属性的伪数据;

按照类别属性的列数据对应的数据生成规则以及约束条件,生成类别属性的伪数据;

将所述数值属性的伪数据与所述类别属性的伪数据合并作为业务类型的伪列数据。

可选地,还包括插入单元;

所述插入单元,用于将所述伪行数据嵌入水印后插入到所述原始数据中。

可选地,所述插入单元包括嵌入子单元和添加子单元;

所述嵌入子单元,用于对所述伪行数据嵌入水印;

所述添加子单元,用于将嵌入水印后的伪行数据按照均匀分布的方式添加到所述原始数据中。

可选地,还包括作为单元;

所述作为单元,用于将与所述分类标签满足相关性要求的数据列作为待嵌入水印列;

相应的,所述构造单元用于依据所述伪行分类标签、所述原始数据中待嵌入水印列的分布情况以及各待嵌入水印列对应的数据生成规则,构造伪行数据。

本申请实施例还提供了一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序以实现如上述伪行数据的生成方法的步骤。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述伪行数据的生成方法的步骤。

由上述技术方案可以看出,基于机器学习的分类任务,确定分类标签;其中,原始数据中每行数据有其对应的一个分类标签。分类标签可以看作是分类任务所对应的分类结果。根据设定的伪行数据配置比例、原始数据中包含的所有分类标签的类型分布,设置各伪行数据对应的伪行分类标签。一个伪行数据由多个元素构成,一个元素即为一列数据中的一个数据。不同类型的列数据有其各自对应的数据生成规则。伪行分类标签可以包含至少两种类型,每种类型的分类标签下所依赖的各列数据会有所不同。为了降低伪行数据对机器学习造成的影响,在构造伪行数据时,可以充分考虑原始数据中各列数据的分布情况,因此在本申请中,可以依据伪行分类标签、原始数据中各列数据的分布情况以及各列数据对应的数据生成规则,构造伪行数据。在该技术方案中,充分考虑了机器学习中所针对的分类任务,从而合理的设置伪行分类标签。并且结合原始数据中各列数据的分布情况,从而构造伪行数据,使得伪行数据基本不会对原始数据的分布情况造成影响,从而降低了伪行数据对机器学习分类的影响。

附图说明

为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种伪行数据的生成方法的流程图;

图2为本申请实施例提供的一种构造伪行数据的方法的流程图;

图3为本申请实施例提供的一种伪行数据的生成装置的结构示意图;

图4为本申请实施例提供的一种电子设备的结构图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。

本申请的说明书和权利要求书及上述附图中的术语“包括”和“具有”,以及与“包括”和“具有”相关的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。

为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。

接下来,详细介绍本申请实施例所提供的一种伪行数据的生成方法。图1为本申请实施例提供的一种伪行数据的生成方法的流程图,该方法包括:

S101:基于机器学习的分类任务,确定分类标签。

其中,原始数据中每行数据有其对应的一个分类标签。

分类标签可以看作是分类任务所对应的分类结果。分类标签可以包含至少两种类型。

例如,分类任务为基于是否贷款将数据进行分类,在信贷数据中可以指定“是否贷款”作为分类标签。分类标签包含“贷款”和“不贷款”两种类型。

S102:根据设定的伪行数据配置比例、原始数据中包含的所有分类标签的类型分布,设置各伪行数据对应的伪行分类标签。

如果伪行数据太多,会极大的影响原始数据的分布情况,并且容易被发现是伪行数据。如果伪行数据太少,则对原始数据起不到太大的保护作用。因此,在本申请实施例中,可以设置伪行数据配置比例。

在实际应用中,可以设置一个具体的数值作为伪行数据配置比例。也可以设置一个数值范围作为伪行数据配置比例范围,在构造伪行数据时,用户可以基于实际的需求从伪行数据配置比例范围中选取一个数值作为伪行数据配置比例。其中,伪行数据配置比例范围可以设置在10%至50%之间。

在本申请实施例中,根据设定的伪行数据配置比例以及原始数据中数据的行数,确定出伪行数据的伪行数。

例如,伪行数据配置比例可以为10%,表示新添加的伪行数据的行数占原始数据中总行数的10%。假设,原始数据一共100行,则可以添加100*10%=10行伪行数据。也即伪行数据的伪行数为10。

在确定出伪行数之后,需要确定出每个伪行数据对应的分类标签。为了便于和原始数据中各行数据的分类标签相区分,可以将伪行数据对应的标签称作伪行分类标签。

在具体实现中,可以根据原始数据中包含的所有分类标签的类型分布,确定出各类型的分类标签的占比;基于各类型的分类标签的占比和伪行数,确定出各伪行数据对应的伪行分类标签。

举例说明,以分类标签为“是否贷款”为例,假设原始数据中属于“贷款”的行数据有80行,属于“不贷款”的行数据有20行,需要设置的伪行数据为10行。为了使得伪行数据仍符合原始数据中各类型的分类标签的占比,可以将伪行数据中8行伪行数据的分类标签设置为“贷款”,将伪行数据中2行伪行数据的分类标签设置为“不贷款”。

S103:依据伪行分类标签、原始数据中各列数据的分布情况以及各列数据对应的数据生成规则,构造伪行数据。

一个伪行数据由多个元素构成,一个元素即为一列数据中的一个数据。

不同类型的列数据有其各自对应的数据生成规则。伪行分类标签可以包含至少两种类型,每种类型的分类标签下所依赖的各列数据会有所不同。为了降低伪行数据对机器学习造成的影响,在构造伪行数据时,可以充分考虑原始数据中各列数据的分布情况,因此在本申请中,可以依据伪行分类标签、原始数据中各列数据的分布情况以及各列数据对应的数据生成规则,构造伪行数据。

每一列数据都有其对应的分布情况。每列数据中的各元素有其对应的分类标签,每列数据的分布情况反映了该列数据中各元素属于不同分类标签的占比。

生成规则中记录了数据的生成方式,依据生成规则可以构造出新的数据。

图2为本申请实施例提供的一种构造伪行数据的方法的流程图,该方法包括:

S201:根据伪行分类标签,确定出各伪行数据中各列数据对应的约束条件。

伪行分类标签不同,则伪行数据中各列数据所对应的约束条件有所差异。

以分类标签为“是否贷款”为例,影响用户“是否贷款”的一个重要因素是用户的年收入,假设原始数据中年收入在“10万元”以下的数据所属的分类标签均为“不贷款”;年收入在“10万元”以上的数据所属的分类标签均为“贷款”,则伪行数据中伪行分类标签为“不贷款”,则该伪行数据中包含的年收入这一因素对应的约束条件可以为“小于10万元”;伪行数据中伪行分类标签为“贷款”,则该伪行数据中包含的年收入这一因素对应的约束条件可以为“大于或等于10万元”。

S202:基于原始数据中各列数据的分布情况、各列数据对应的数据生成规则以及伪行数据中各列数据对应的约束条件,生成各伪列数据。

伪行数据由多个元素组成,每个元素可以看作是单个列数据。如果可以伪造出每个列数据,便可以得到伪行数据。因此,在本申请实施例中,将对如何生成各伪列数据展开介绍。

在本申请实施例中,为了降低伪行数据对机器学习造成的影响,在构造伪行数据时,可以充分考虑原始数据中各列数据的分布情况。当伪行数据中各列数据的分布情况与原始数据中各列数据的分布情况相同或相近时,伪行数据并不属于干扰因素,因此将伪行数据插入到原始数据中,在后续基于机器学习执行分类任务时,几乎不会对分类结果造成影响。

原始数据中包含多种类型的列数据,不同类型的列数据所对应的数据生成规则不同。按照类型划分,常见的各类型的列数据可以包括数值属性数据、类别属性数据和业务类型数据。

其中,数值属性数据即数据为数值形式且数值不具有规律性,例如,年收入、身高等。

类别属性数据为数量有限的固定类型,例如,省、市、区等。

业务类型数据为按照排布规则生成的数据,例如,身份证、手机号等。

以数值属性数据为例,在原始数据包括数值属性的列数据的情况下,可以根据各分类标签所对应的原始数据的均值,伪造数值属性数据。也可以对原始数据中具有同一目标分类标签的数值属性的目标列数据进行概率密度函数的估计;其中,目标列数据为所有数值属性的列数据中的任意一列数据;基于与目标分类标签相同的目标伪行分类标签的个数,对估计后的概率密度函数进行采样,以得到目标伪列数据。

以分类标签为“是否贷款”为例,数值属性的目标列数据为“年收入”,列数据中每一个“年收入”都有其对应的一个分类标签,在实际应用中,可以将“年收入”列数据中属于“贷款”的列数据作为一类目标列数据,将属于“不贷款”的列数据作为另一类目标列数据。

假设,所需构造的所有伪行数据中需要设置8行伪行数据的分类标签属于“贷款”,则可以将原始数据中“年收入”列数据中属于“贷款”的列数据作为目标列数据,计算该目标列数据的概率密度函数,然后从该概率密度函数中选取8个年收入值分别作为8行伪行数据中的元素。

以类别属性数据为例,在原始数据包括类别属性的列数据的情况下,可以依据原始数据中各分类标签下占比最高的类别属性数据,伪造类别属性数据。也可以统计原始数据中类别属性的目标列数据的分布概率;其中,目标列数据为所有类别属性的列数据中的任意一列数据;基于目标列数据的分布概率以及目标列数据所属类别属性的约束条件,生成目标伪列数据。

假设类别属性数据为省份、全国包含的省份属于固定的信息,因此全国包含的所有省份属于约束条件,即构造的一个伪行数据中包含的省份必然属于全国包含的所有省份中的一个省份。

以分类标签为“是否贷款”为例,类别属性的目标列数据为“省份”,列数据中每一个“省份”都有其对应的一个分类标签,在实际应用中,可以将“省份”列数据中按照属于“贷款”和属于“不贷款”进行划分。假设,属于“贷款”的“省份”均为A省,属于“不贷款”的“省份”均为B省。假设,所需构造的所有伪行数据中需要设置8 行伪行数据的分类标签属于“贷款”,则可以将A省分别作为这8行伪行数据中的元素。

以业务类型数据为例,在原始数据包括业务类型的列数据的情况下,将目标列数据划分为数值属性的目标数据和类别属性的目标数据;按照数值属性的列数据对应的数据生成规则以及约束条件,生成数值属性的伪数据;按照类别属性的列数据对应的数据生成规则以及约束条件,生成类别属性的伪数据;将数值属性的伪数据与类别属性的伪数据合并作为业务类型的伪列数据。

以业务类型的列数据为“手机号”为例,前3位是网络识别号、 4-7位是地区编码(HLR归属位置寄存器)、8-11位是用户号码(随机分配)。其中,前3位属于类别属性数据,4-7位是地区编码属于类别属性数据,8-11位属于数值属性数据。对于手机号而言,8-11位可以采用随机分配的方式生成。

业务类型的单个列数据可以划分为数值属性数据和类别属性数据,其具体伪造方式可以参见上述介绍的数值属性数据和类别属性数据的伪造方式,在此不再赘述。

S203:将各伪列数据按照原始数据中各列数据的顺序进行排布,以得到各伪行数据。

以分类标签为“是否贷款”为例,假设原始数据中每行数据包含的元素类型分别为“姓名”、“性别”、“手机号”、“工作单位”、“年收入”、“固定资产”等,则可以按照“姓名”、“性别”、“手机号”、“工作单位”、“年收入”、“固定资产”的顺序依次确定出各列数据。也可以分别确定出“姓名”、“性别”、“手机号”、“工作单位”、“年收入”、“固定资产”的伪列数据之后,按照“姓名”、“性别”、“手机号”、“工作单位”、“年收入”、“固定资产”的顺序进行排布,从而得到伪行数据。

在得到伪行数据之后,可以将伪行数据嵌入水印后插入到原始数据中。

在具体实现中,可以先对伪行数据嵌入水印;然后将嵌入水印后的伪行数据按照均匀分布的方式添加到原始数据中。

举例说明,假设原始数据包含100行,伪行数据有10行,则可以在原始数据中每10行数据的位置插入1行伪行数据。

除了按照均匀分布的方式将伪行数据添加至原始数据外,也可以将伪行数据直接插入到原始数据的末尾处,在本申请实施例中,对于伪行数据的插入方式不做限定。

由上述技术方案可以看出,基于机器学习的分类任务,确定分类标签;其中,原始数据中每行数据有其对应的一个分类标签。分类标签可以看作是分类任务所对应的分类结果。根据设定的伪行数据配置比例、原始数据中包含的所有分类标签的类型分布,设置各伪行数据对应的伪行分类标签。一个伪行数据由多个元素构成,一个元素即为一列数据中的一个数据。不同类型的列数据有其各自对应的数据生成规则。伪行分类标签可以包含至少两种类型,每种类型的分类标签下所依赖的各列数据会有所不同。为了降低伪行数据对机器学习造成的影响,在构造伪行数据时,可以充分考虑原始数据中各列数据的分布情况,因此在本申请中,可以依据伪行分类标签、原始数据中各列数据的分布情况以及各列数据对应的数据生成规则,构造伪行数据。在该技术方案中,充分考虑了机器学习中所针对的分类任务,从而合理的设置伪行分类标签。并且结合原始数据中各列数据的分布情况,从而构造伪行数据,使得伪行数据基本不会对原始数据的分布情况造成影响,从而降低了伪行数据对机器学习分类的影响。

考虑到实际应用中,行数据包含有多个元素,并不是所有元素都与分类标签相关。因此,在本申请实施例中,可以只对与分类标签相关的元素按照上述S202的方式生成伪列数据,对于与分类标签不相关的元素按照传统方式生成伪列数据即可。

在具体实现中,可以将与分类标签满足相关性要求的数据列作为待嵌入水印列。相应的,依据伪行分类标签、原始数据中各列数据的分布情况以及各列数据对应的数据生成规则,构造伪行数据可以为依据伪行分类标签、原始数据中待嵌入水印列的分布情况以及各待嵌入水印列对应的数据生成规则,构造待嵌入水印列的伪行数据。

以分类标签为“是否贷款”为例,行数据包含的元素包括“姓名”、“性别”、“手机号”、“工作单位”、“年收入”、“固定资产”这五项,其中,“姓名”、“性别”、“手机号”与“是否贷款”几乎不具有相关性,可以按照传统方式,伪造“姓名”、“性别”、“手机号”各自对应的伪列数据;按照S202介绍的方式,伪造“工作单位”、“年收入”、“固定资产”各自对应的伪列数据。

通过基于各列数据与分类标签的相关性,筛选出待嵌入水印列,可以只对与分类标签具有相关性的列数据按照本申请设置的方式进行伪造,对于与分类标签不具有相关性的列数据按照传统的方式随机生成即可,降低了本申请中构造伪列数据的计算量,提升了伪列数据的生成效率。

图3为本申请实施例提供的一种伪行数据的生成装置的结构示意图,包括确定单元31、设置单元32和构造单元33;

确定单元31,用于基于机器学习的分类任务,确定分类标签;其中,原始数据中每行数据有其对应的一个分类标签;

设置单元32,用于根据设定的伪行数据配置比例、原始数据中包含的所有分类标签的类型分布,设置各伪行数据对应的伪行分类标签;

构造单元33,用于依据伪行分类标签、原始数据中各列数据的分布情况以及各列数据对应的数据生成规则,构造伪行数据。

可选地,设置单元包括伪行数确定子单元、占比确定子单元和标签确定子单元;

伪行数确定子单元,用于根据设定的伪行数据配置比例以及原始数据中数据的行数,确定出伪行数据的伪行数;

占比确定子单元,用于根据原始数据中包含的所有分类标签的类型分布,确定出各类型的分类标签的占比;

标签确定子单元,用于基于各类型的分类标签的占比和伪行数,确定出各伪行数据对应的伪行分类标签。

可选地,构造单元包括条件确定子单元、生成子单元和排布子单元;

条件确定子单元,用于根据伪行分类标签,确定出各伪行数据中各列数据对应的约束条件;

生成子单元,用于基于原始数据中各列数据的分布情况、各列数据对应的数据生成规则以及伪行数据中各列数据对应的约束条件,生成各伪列数据;

排布子单元,用于将各伪列数据按照原始数据中各列数据的顺序进行排布,以得到各伪行数据。

可选地,生成子单元用于在原始数据包括数值属性的列数据的情况下,对原始数据中具有同一目标分类标签的数值属性的目标列数据进行概率密度函数的估计;其中,目标列数据为所有数值属性的列数据中的任意一列数据;

基于与目标分类标签相同的目标伪行分类标签的个数,对估计后的概率密度函数进行采样,以得到目标伪列数据。

可选地,生成子单元用于在原始数据包括类别属性的列数据的情况下,统计原始数据中类别属性的目标列数据的分布概率;其中,目标列数据为所有类别属性的列数据中的任意一列数据;

基于目标列数据的分布概率以及目标列数据所属类别属性的约束条件,生成目标伪列数据。

可选地,生成子单元用于在原始数据包括业务类型的列数据的情况下,将目标列数据划分为数值属性的目标数据和类别属性的目标数据;

按照数值属性的列数据对应的数据生成规则以及约束条件,生成数值属性的伪数据;

按照类别属性的列数据对应的数据生成规则以及约束条件,生成类别属性的伪数据;

将数值属性的伪数据与类别属性的伪数据合并作为业务类型的伪列数据。

可选地,还包括插入单元;

插入单元,用于将伪行数据嵌入水印后插入到所述原始数据中。

可选地,插入单元包括嵌入子单元和添加子单元;

嵌入子单元,用于对伪行数据嵌入水印;

添加子单元,用于将嵌入水印后的伪行数据按照均匀分布的方式添加到原始数据中。

可选地,还包括作为单元;

作为单元,用于将与分类标签满足相关性要求的数据列作为待嵌入水印列;

相应的,构造单元用于依据伪行分类标签、原始数据中待嵌入水印列的分布情况以及各待嵌入水印列对应的数据生成规则,构造伪行数据。

图3所对应实施例中特征的说明可以参见图1和图2所对应实施例的相关说明,这里不再一一赘述。

由上述技术方案可以看出,基于机器学习的分类任务,确定分类标签;其中,原始数据中每行数据有其对应的一个分类标签。分类标签可以看作是分类任务所对应的分类结果。根据设定的伪行数据配置比例、原始数据中包含的所有分类标签的类型分布,设置各伪行数据对应的伪行分类标签。一个伪行数据由多个元素构成,一个元素即为一列数据中的一个数据。不同类型的列数据有其各自对应的数据生成规则。伪行分类标签可以包含至少两种类型,每种类型的分类标签下所依赖的各列数据会有所不同。为了降低伪行数据对机器学习造成的影响,在构造伪行数据时,可以充分考虑原始数据中各列数据的分布情况,因此在本申请中,可以依据伪行分类标签、原始数据中各列数据的分布情况以及各列数据对应的数据生成规则,构造伪行数据。在该技术方案中,充分考虑了机器学习中所针对的分类任务,从而合理的设置伪行分类标签。并且结合原始数据中各列数据的分布情况,从而构造伪行数据,使得伪行数据基本不会对原始数据的分布情况造成影响,从而降低了伪行数据对机器学习分类的影响。

图4为本申请实施例提供的一种电子设备的结构图,如图4所示,电子设备包括:存储器20,用于存储计算机程序;

处理器21,用于执行计算机程序时实现如上述实施例伪行数据的生成方法的步骤。

本实施例提供的电子设备可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。

其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称 CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21 可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器 21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。

存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的伪行数据的生成方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、 Linux等。数据203可以包括但不限于伪行数据配置比例、各列数据对应的数据生成规则等。

在一些实施例中,电子设备还可包括有显示屏22、输入输出接口 23、通信接口24、电源25以及通信总线26。

本领域技术人员可以理解,图4中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的组件。

可以理解的是,如果上述实施例中的伪行数据的生成方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程 ROM、寄存器、硬盘、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。

基于此,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述伪行数据的生成方法的步骤。

以上对本申请实施例所提供的一种伪行数据的生成方法、装置、设备和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

以上对本申请所提供的一种伪行数据的生成方法、装置、设备和计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

技术分类

06120115630634