CN110457912B - 数据处理方法、装置和电子设备 - Google Patents

数据处理方法、装置和电子设备 Download PDF

Info

Publication number
CN110457912B
CN110457912B CN201910583550.3A CN201910583550A CN110457912B CN 110457912 B CN110457912 B CN 110457912B CN 201910583550 A CN201910583550 A CN 201910583550A CN 110457912 B CN110457912 B CN 110457912B
Authority
CN
China
Prior art keywords
decision
decision forest
node
data
forest
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.)
Active
Application number
CN201910583550.3A
Other languages
English (en)
Other versions
CN110457912A (zh
Inventor
李漓春
张晋升
王华忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910583550.3A priority Critical patent/CN110457912B/zh
Publication of CN110457912A publication Critical patent/CN110457912A/zh
Priority to PCT/CN2020/071099 priority patent/WO2021000561A1/zh
Priority to US16/779,534 priority patent/US20200175426A1/en
Priority to TW109104353A priority patent/TWI745861B/zh
Application granted granted Critical
Publication of CN110457912B publication Critical patent/CN110457912B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Abstract

本说明书实施例提供一种数据处理方法、装置和电子设备。所述方法包括:基于加密决策森林,获取与业务数据相匹配的目标叶子节点;所述加密决策森林包括至少一个决策树,所述决策树的分裂节点对应有分裂条件的明文数据,所述决策树的叶子节点对应有叶子值的密文数据,所述密文数据由同态加密算法对叶子值进行加密得到;向第一设备发送所述目标叶子节点对应的密文数据。

Description

数据处理方法、装置和电子设备
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种数据处理方法、装置和电子设备。
背景技术
在业务实际中,通常一方拥有需要保密的模型(以下称为模型方),另一方拥有需要保密的业务数据(以下称为数据方)。如何在所述模型方不泄漏所述模型、且所述数据方不泄漏所述业务数据的条件下,使得模型方获得基于所述模型对所述业务数据进行预测后的预测结果,是当前亟需解决的技术问题。
发明内容
本说明书实施例的目的是提供一种数据处理方法、装置和电子设备,以便于在第一设备不泄漏原始决策森林、且第二设备不泄漏业务数据的条件下,第一设备获得基于所述原始决策森林对所述业务数据进行预测后的预测结果。
为实现上述目的,本说明书中一个或多个实施例提供的技术方案如下。
根据本说明书一个或多个实施例的第一方面,提供了一种数据处理方法,应用于第一设备,包括:保持原始决策森林中决策树的分裂节点所对应的分裂条件不变,使用同态加密算法对原始决策森林中决策树的叶子节点所对应的叶子值进行加密,得到加密决策森林;向第二设备发送所述加密决策森林。
根据本说明书一个或多个实施例的第二方面,提供了一种数据处理装置,应用于第一设备,包括:加密单元,用于保持原始决策森林中决策树的分裂节点所对应的分裂条件不变,使用同态加密算法对原始决策森林中决策树的叶子节点所对应的叶子值进行加密,得到加密决策森林;发送单元,用于向第二设备发送所述加密决策森林。
根据本说明书一个或多个实施例的第三方面,提供了一种电子设备,包括:存储器,用于存储计算机指令;处理器,用于执行所述计算机指令以实现如第一方面所述的方法步骤。
根据本说明书一个或多个实施例的第四方面,提供了一种数据处理方法,应用于第二设备,包括:基于加密决策森林,获取与业务数据相匹配的目标叶子节点;所述加密决策森林包括至少一个决策树,所述决策树的分裂节点对应有分裂条件的明文数据,所述决策树的叶子节点对应有叶子值的密文数据,所述密文数据由同态加密算法对叶子值进行加密得到;向第一设备发送所述目标叶子节点对应的密文数据。
根据本说明书一个或多个实施例的第五方面,提供了一种数据处理装置,应用于第二设备,包括:获取单元,用于基于加密决策森林,获取与业务数据相匹配的目标叶子节点;所述加密决策森林包括至少一个决策树,所述决策树的分裂节点对应有分裂条件的明文数据,所述决策树的叶子节点对应有叶子值的密文数据,所述密文数据由同态加密算法对叶子值进行加密得到;发送单元,用于向第一设备发送所述目标叶子节点对应的密文数据。
根据本说明书一个或多个实施例的第六方面,提供了一种电子设备,包括:存储器,用于存储计算机指令;处理器,用于执行所述计算机指令以实现如第四方面所述的方法步骤。
由以上本说明书实施例提供的技术方案可见,本说明书实施例中,通过加密决策森林,第二设备可以获取与业务数据相匹配的目标叶子节点;进而通过所述目标叶子节点,获得基于决策森林对业务数据进行预测后的预测结果,或者,获得基于决策森林对业务数据进行预测后的预测结果和预设阈值之间的比较结果。由于使用了加密决策森林,因此在上述过程中,所述第一设备无需泄漏自身拥有的原始决策森林,第二设备无需泄漏自身拥有的业务数据。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例一种决策树的结构示意图;
图2为本说明书实施例一种数据处理方法的流程图;
图3为本说明书实施例一种满二叉树的结构示意图;
图4为本说明书实施例一种数据处理方法的流程图;
图5为本说明书实施例一种数据处理方法的示意图;
图6为本说明书实施例一种数据处理方法的流程图;
图7为本说明书实施例一种数据处理装置的功能结构示意图;
图8为本说明书实施例一种数据处理装置的功能结构示意图;
图9为本说明书实施例一种数据处理装置的功能结构示意图;
图10为本说明书实施例一种电子设备的功能结构示意图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。此外,应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。
为了便于本领域技术人员理解本说明书实施例的技术方案,下面先对本说明书实施例的技术术语进行说明。
决策树:一种有监督的机器学习模型。所述决策树可以为二叉树等。所述决策树包括了多个节点。所述多个节点能够形成多个预测路径。所述预测路径的起始节点为所述决策树的根节点,终止节点为所述决策树的叶子节点。
所述决策树具体可以包括回归决策树和分类决策树。所述回归决策树的预测结果可以为一个具体的数值。所述分类决策树的预测结果可以为一个具体的类别。值得说明的是,为了便于计算,通常可以采用向量来表示类别。例如,向量[1 0 0]可以表示类别A,向量[0 1 0]可以表示类别B,向量[0 0 1]可以表示类别C。当然,此处的向量仅为示例,在实际应用中还可以采用其它的数学方式来表示类别。
分裂节点:当决策树中的一个节点能够向下分裂时,可以将该节点称为分裂节点。所述分裂节点具体可以包括根节点、以及除去叶子节点和根节点以外的其它节点(以下称为普通节点)。所述分裂节点对应有分裂条件,所述分裂条件可以用于选择预测路径。
叶子节点:当决策树中的一个节点不能够向下分裂时,可以将该节点称为叶子节点。所述叶子节点对应有叶子值。决策树的不同叶子节点所对应的叶子值可以相同或不同。每个叶子值可以表示一种预测结果。所述叶子值可以为数值或向量等。例如,回归决策树的叶子节点所对应的叶子值可以为数值,分类决策树的叶子节点所对应的叶子值可以为向量。
满二叉树:当一个二叉树除最后一层外,每一层上的所有节点都分裂为了两个子结点时,可以将该二叉树称为满二叉树。
为了便于对以上术语进行理解,以下介绍一个场景示例。请参阅图1。在本场景示例中,决策树Tree1可以包括节点1、2、3、4、5等5个节点。节点1为根节点;节点1和2分别为普通节点;节点3、4和5分别为叶子节点。节点1、节点2和节点4可以形成一个预测路径,节点1、节点2和节点5可以形成另一个预测路径,节点1和节点3可以形成另一个预测路径。
节点1、节点2和节点3对应的分裂条件如下表1所示。
表1
节点 分裂条件
节点1 年龄大于20岁
节点2 年收入大于5万
节点3、节点4和节点5对应的叶子值如下表2所示。
表2
节点 叶子值
节点3 200
节点4 700
节点5 500
分裂条件“年龄大于20岁”、“年收入大于5万”可以用于选择预测路径。当满足分裂条件时,可以选择左边的预测路径;当不满足分裂条件时,可以选择右边的预测路径。具体地,针对节点1,当满足分裂条件“年龄大于20岁”时,可以选择左边的预测路径,进而跳转到节点2;当不满足分裂条件“年龄大于20岁”时,可以选择右边的预测路径,进而跳转到节点3。针对节点2,当满足分裂条件“年收入大于5万”时,可以选择左边的预测路径,进而跳转到节点4;当不满足分裂条件“年收入大于5万”时,可以选择右边的预测路径,进而跳转到节点5。
一个或多个决策树可以构成决策森林。用于实现将多个决策树集成为决策森林的算法可以包括随机森林(Random Forest)、极值梯度提升(Extreme Gradient Boosting,XGBoost)、梯度提升决策树(Gradient Boosting Decision Tree,GBDT)等。所述决策森林为一种有监督的机器学习模型,具体可以包括回归决策森林和分类决策森林。所述回归决策森林可以包括一个或多个回归决策树。当回归决策森林包括一个回归决策树时,可以将该回归决策树的预测结果作为该回归决策森林的预测结果。当回归决策森林包括多个回归决策树时,可以对所述多个回归决策树的预测结果进行求和处理,可以将求和结果作为该回归决策森林的预测结果。所述分类决策森林可以包括一个或多个分类决策树。当分类决策森林包括一个分类决策树时,可以将该分类决策树的预测结果作为该分类决策森林的预测结果。当分类决策森林包括多个分类决策树时,可以对所述多个分类决策树的预测结果进行统计,可以将统计结果作为该分类决策森林的预测结果。值得说明的是,在一些场景下,分类决策树的预测结果可以为向量,所述向量可以用于表示类别。如此,可以对分类决策森林中多个分类决策树预测出的向量进行求和处理,可以将求和结果作为该分类决策森林的预测结果。例如,某一分类决策森林可以包括分类决策树Tree2、Tree3、Tree4。分类决策树Tree2的预测结果可以为向量[1 0 0],向量[1 0 0]表示类别A。分类决策树Tree3的预测结果可以为向量[0 1 0],向量[0 1 0]表示类别B。分类决策树Tree4的预测结果可以为向量[1 0 0],向量[0 0 1]表示类别C。那么,可以对对向量[1 0 0]、[0 1 0]和[1 0 0]进行求和处理,得到向量[2 1 0]作为该分类决策森林的预测结果。向量[2 1 0]表示在分类决策森林中预测结果为类别A的次数为2次、预测结果为类别B的次数为1次,预测结果为类别C的次数为0次。
本说明书实施例提供一种数据处理系统。所述数据处理系统可以包括第一设备和第二设备。所述第一设备可以为服务器、手机、平板电脑、或个人电脑等设备;或者,也可以为由多台设备组成的系统,例如由多个服务器组成的服务器集群。所述第一设备拥有需要保密的决策森林。所述第二设备可以为服务器、手机、平板电脑、或个人电脑等设备;或者,也可以为由多台设备组成的系统,例如由多个服务器组成的服务器集群。所述第二设备拥有需要保密的业务数据,所述业务数据例如可以为交易数据、或借贷数据等等。
所述第一设备和所述第二设备可以进行协作计算,以使得所述第一设备获得基于所述决策森林对所述业务数据进行预测后的预测结果。在此过程中,所述第一设备不能够泄漏自身拥有的决策森林,所述第二设备不能够泄漏自身拥有的业务数据。在一个场景示例中,所述第一设备隶属于金融机构。所述第二设备隶属于数据机构,诸如大数据公司、政府机构等。所述金融机构可以利用所述数据机构的业务数据对用户个人的信用进行评估。
基于所述数据处理系统,本说明书提供数据处理方法的一个实施例。在实际应用中该实施例可以应用于预处理阶段。请参阅图2。该实施例以第一设备为执行主体,可以包括以下步骤。
步骤S10:保持原始决策森林中决策树的分裂节点所对应的分裂条件不变,使用同态加密算法对原始决策森林中决策树的叶子节点所对应的叶子值进行加密,得到加密决策森林。
在一些实施例中,为了便于区分,可以将加密处理前的决策森林称为原始决策森林,可以将加密处理后的决策森林称为加密决策森林。在原始决策森林中,决策树的分裂节点对应有分裂条件的明文数据,决策树的叶子节点对应有叶子值的明文数据。在加密决策森林中,决策树的分裂节点对应有分裂条件的明文数据,决策树的叶子节点对应有叶子值的密文数据,所述密文数据是由同态加密算法对叶子值进行加密得到的。
在一些实施例中,所述第一设备可以保持原始决策森林中决策树的分裂节点所对应的分裂条件不变;可以使用同态加密算法对原始决策森林中决策树的叶子节点所对应的叶子值进行加密,得到加密决策森林。这里可以采用任意类型的同态加密算法对叶子值进行加密,只要确保该同态加密算法能够支持加法同态即可。在实际应用中,可以采用Paillier算法、Okamoto-Uchiyama算法或Damgard-Jurik算法等同态加密算法对叶子值进行加密。在一个场景示例中,所述第一设备可以拥有用于进行同态加密的公私钥对;可以利用所述公私钥对中的公钥,使用同态加密算法对叶子值进行加密。
步骤S12:向第二设备发送所述加密决策森林。
在一些实施例中,所述第一设备可以向所述第二设备发送所述加密决策森林,以便于所述第二设备基于所述加密决策森林对业务数据进行预测。这样所述第二设备能够获得原始决策森林中决策树的分裂节点所对应分裂条件的明文数据,而无法获得原始决策森林中决策树的叶子节点所对应叶子值的明文数据,从而实现了对原始决策森林的隐私保护。值得说明的是,这里所述第一设备向所述第二设备发送所述加密决策森林,具体可以包括:所述第一设备向所述第二设备发送加密决策森林中各个决策树的分裂节点的位置标识、分裂节点所对应分裂条件的明文数据、叶子节点的位置标识、叶子节点所对应叶子值的密文数据。其中,节点的位置标识可以用于标识该节点在决策树中的位置,具体例如可以为该节点的编号等。
在一些实施例中,原始决策森林中的一个或多个决策树为非满二叉树。如此,在步骤S10之前,所述第一设备还可以在非满二叉树的决策树中添加虚假的节点,以使得该决策树形成满二叉树。这样可以隐藏原始决策森林中决策树的结构,提高原始决策森林的隐私保护的力度。请参阅图3。图1所示的决策树Tree1为非满二叉树。可以在图1所示的决策树Tree1中添加虚假的节点6和虚假的节点7。节点6对应的分裂条件可以随机生成,或者,还可以按照特定策略生成。节点7对应的叶子值可以与节点3对应的叶子值相同。
在一些实施例中,在步骤S10之前,所述第一设备还可以在原始决策森林中添加一个或多个虚假的决策树。这样可以提高原始决策森林的隐私保护的力度。虚假的决策树的层数可以与原始决策森林中真实的决策树相同,也可以不同。虚假的决策树的分裂节点所对应的分裂条件可以随机生成,或者,还可以按照特定策略生成。虚假的决策树的叶子节点所对应的叶子值可以为特定数值,例如可以为0等。
进一步地,在添加了虚假的决策树之后,所述第一设备还可以对原始决策森林中的决策树进行乱序处理。这样可以避免在后续过程中第二设备根据加密决策森林中决策树的排列顺序猜测哪些决策树为真实决策树,哪些决策树为虚假的决策树。
本说明书实施例的数据处理方法,第一设备可以将加密决策森林发送至第二设备。这样一方面,实现了对原始决策森林的隐私保护。另一方面,便于第二设备基于加密决策森林对业务数据进行预测。
基于所述数据处理系统,本说明书提供数据处理方法的另一个实施例。在实际应用中该实施例可以应用于预测阶段。请一并参阅图4和图5。该实施例以第二设备为执行主体,可以包括以下步骤。
步骤S20:基于加密决策森林,获取与业务数据相匹配的目标叶子节点。
在一些实施例中,第一设备可以向第二设备发送加密决策森林。所述第二设备可以接收所述加密决策森林。所述加密决策森林可以包括至少一个决策树。在所述加密决策森林中,决策树的分裂节点对应有分裂条件的明文数据,决策树的叶子节点对应有叶子值的密文数据。所述密文数据是由同态加密算法对叶子值进行加密得到的。
在一些实施例中,所述第二设备可以从所述加密决策森林的每个决策树中,获取与所述业务数据相匹配的一条预测路径;可以将该预测路径中的叶子节点,作为该决策树中与所述业务数据相匹配的目标叶子节点。
步骤S22:向第一设备发送所述目标叶子节点对应的密文数据。
在一些实施例中,所述加密决策森林可以包括一个决策树,这样所述目标叶子节点的数量为一个。如此,所述第二设备可以直接向第一设备发送所述目标叶子节点对应的密文数据。所述第一设备可以接收所述目标叶子节点对应的密文数据;可以对接收的密文数据进行解密,得到所述目标叶子节点对应的叶子值;即,得到了精确的预测结果。在一个场景示例中,所述第一设备可以拥有用于进行同态加密的公私钥对;可以利用所述公私钥对中的私钥,对接收的密文数据进行解密。
或者,所述第二设备还可以对所述目标叶子节点对应的密文数据与噪声数据进行求和处理,得到第一求和结果;可以向所述第一设备发送所述第一求和结果。所述第一设备可以接收所述第一求和结果;可以对所述第一求和结果进行解密,得到对应的明文数据;即,得到了混入噪声数据后的预测结果。所述噪声数据的大小可以根据实际需要灵活设定,通常小于所述业务数据。所述第二设备可以采用任意可行方式获得第一求和结果。在一个场景示例中,所述第一设备可以拥有用于进行同态加密的公私钥对;所述第二设备可以拥有所述公私钥对中的公钥。所述目标叶子节点对应的密文数据可以表示为E(u),所述噪声数据可以表示为s。所述第二设备可以利用所述公钥,使用同态加密算法对所述噪声数据s进行加密,得到E(s);可以对E(u)和E(s)进行求和处理,得到E(u)+E(s)=E(u+s);即,得到了所述第一求和结果。或者,所述第二设备还可以基于所述公钥,使用同态加密算法直接根据E(u)和噪声数据s生成第一求和结果E(u+s)。
在一些实施例中,所述加密决策森林可以包括多个决策树,这样所述目标叶子节点的数量为多个。如此,所述第二设备还可以对多个目标叶子节点对应的密文数据进行求和处理,得到第二求和结果;可以直接向第一设备发送所述第二求和结果。所述第一设备可以接收所述第二求和结果;可以对所述第二求和结果进行解密,得到对应的明文数据;即,得到了精确的预测结果。所述第二设备对所述第二求和结果进行解密的过程,可以参见前面对目标叶子节点对应的密文数据进行解密的过程,在此不再赘述。
或者,所述第二设备还可以对所述第二求和结果与噪声数据进行求和处理,得到第三求和结果;可以向所述第一设备发送所述第三求和结果。所述第一设备可以接收所述第三求和结果;可以对所述第三求和结果进行解密,得到对应的明文数据;即,得到了混入噪声数据后的预测结果。所述第二设备获得所述第三求和结果的过程,可以参见前面获得第一求和结果的过程,在此不再赘述。
本说明书实施例的数据处理方法,第二设备可以基于加密决策森林,获取与业务数据相匹配的目标叶子节点;可以向第一设备发送所述目标叶子节点对应的密文数据。这样在第一设备不泄漏自身拥有的决策森林、且第二设备不泄漏自身拥有的业务数据的条件下,所述第一设备可以获得基于决策森林对业务数据进行预测后的预测结果。
基于所述数据处理系统,本说明书提供数据处理方法的另一个实施例。在实际应用中该实施例可以应用于预测阶段。请一并参阅图5和图6。该实施例以第二设备为执行主体,可以包括以下步骤。
步骤S30:基于加密决策森林,获取与业务数据相匹配的目标叶子节点。
所述第二设备获取目标叶子节点的过程,可以参见前面的实施例,在此不再赘述。
步骤S32:以预设阈值和所述目标叶子节点对应的密文数据为输入,与第一设备共同执行安全比较算法。
在一些实施例中,所述预设阈值的大小可以根据实际需要灵活设定。在实际应用中,所述预设阈值可以为一个临界值。在预测结果大于所述预设阈值时,所述第一设备可以执行一种预置操作;在预测结果小于所述预设阈值时,所述第一设备可以执行另一种预置操作。例如,所述预设阈值可以为风险评估业务中的一个临界值。当针对某一用户的预测信用分值大于所述预设阈值时,则表示该用户的风险水平较高,所述第一设备可以拒绝执行对该用户进行贷款的操作;当针对某一用户的预测信用分值小于所述阈值时,则表示该用户的风险水平较低,所述第一设备可以执行对该用户进行贷款的操作。
在一些实施例中,所述加密决策森林可以包括一个决策树,这样所述目标叶子节点的数量为一个。如此,所述第二设备可以直接以预设阈值和所述目标叶子节点对应的密文数据为输入,所述第一设备可以以用于进行同态加密的私钥为输入,共同执行一个安全比较算法。通过执行该安全比较算法可以实现:在第二设备不泄漏所述目标叶子节点对应的密文数据的条件下,第一设备获得第一比较结果,所述第一比较结果用于表示所述目标叶子节点对应的叶子值和所述预设阈值之间的大小关系。
这里可以采用任意类型的安全比较算法。例如,所述第一设备可以拥有用于进行同态加密的公私钥对;所述第二设备可以拥有所述公私钥对中的公钥。所述目标叶子节点对应的密文数据可以表示为E(u),所述预设阈值可以表示为t。所述第二设备可以生成正随机数r;可以基于所述公钥,使用同态加密算法生成E(r(u-t));可以向所述第一设备发送E(r(u-t))。所述第一设备可以接收E(r(u-t));可以基于所述私钥,对E(r(u-t))进行解密,得到对应的明文数据r(u-t);可以根据r(u-t)的正负性,确定第一比较结果。具体地,在r(u-t)为正数时,所述第一设备可以确定所述目标叶子节点对应的叶子值大于所述预设阈值;在r(u-t)为负数时,所述第一设备可以确定所述目标叶子节点对应的叶子值小于所述预设阈值。另举一例,所述第一设备可以拥有用于进行同态加密的公私钥对;所述第二设备可以拥有所述公私钥对中的公钥。所述目标叶子节点对应的密文数据可以表示为E(u),所述预设阈值可以表示为t。所述第二设备可以生成正随机数p;可以基于所述公钥,使用同态加密算法生成E(u+p);可以向所述第一设备发送E(u+p)。所述第一设备可以接收所述E(u+p);可以基于所述私钥,对E(u+p)进行解密,得到u+p。这样所述第一设备可以基于持有的i=u+p,所述第二设备可以基于持有的j=t+p,共同执行多方安全比较算法。通过执行多方安全比较算法,所述第一设备可以获得第一比较结果,所述第一比较结果可以表示i和j之间的大小关系,进而能够表示u和t之间的大小关系。在执行多方安全比较算法的过程中,第一设备不能够泄漏自身持有的i,第二设备不能够泄漏自身持有的j。
在一些实施例中,所述加密决策森林可以包括多个决策树,这样所述目标叶子节点的数量为多个。如此,所述第二设备还可以对多个目标叶子节点对应的密文数据进行求和处理,得到求和结果。所述第二设备可以以预设阈值和所述求和结果为输入,所述第一设备可以以用于进行同态加密的私钥为输入,共同执行安全比较算法。通过执行安全比较算法可以实现:在第二设备不泄漏所述求和结果的条件下,第一设备获得第二比较结果,所述第二比较结果用于表示所述求和结果对应的明文数据和所述预设阈值之间的大小关系。关于执行安全比较算法的过程,可以参见前面的实施例,在此不再赘述。
本说明书实施例的数据处理方法,第二设备可以基于加密决策森林,获取与业务数据相匹配的目标叶子节点;可以以预设阈值和所述目标叶子节点对应的密文数据为输入,与第一设备共同执行安全比较算法,以便于所述第一设备获得比较结果;所述比较结果用于表示预测结果和所述预设阈值之间的大小关系。这样在第一设备不泄漏自身拥有的决策森林、且第二设备不泄漏自身拥有的业务数据的条件下,所述第一设备可以获得基于决策森林对业务数据进行预测后的预测结果和预设阈值之间的比较结果。
请参阅图7。本说明书还提供一种数据处理装置的实施例。该实施例可以应用于第一设备,具体包括以下单元。
加密单元40,用于保持原始决策森林中决策树的分裂节点所对应的分裂条件不变,使用同态加密算法对原始决策森林中决策树的叶子节点所对应的叶子值进行加密,得到加密决策森林;
发送单元42,用于向第二设备发送所述加密决策森林。
请参阅图8。本说明书还提供一种数据处理装置的实施例。该实施例可以应用于第二设备,具体包括以下单元。
获取单元50,用于基于加密决策森林,获取与业务数据相匹配的目标叶子节点;所述加密决策森林包括至少一个决策树,所述决策树的分裂节点对应有分裂条件的明文数据,所述决策树的叶子节点对应有叶子值的密文数据,所述密文数据由同态加密算法对叶子值进行加密得到;
发送单元52,用于向第一设备发送所述目标叶子节点对应的密文数据。
请参阅图9。本说明书还提供一种数据处理装置的实施例。该实施例可以应用于第二设备,具体包括以下单元。
获取单元60,用于基于加密决策森林,获取与业务数据相匹配的目标叶子节点;所述加密决策森林包括至少一个决策树,所述决策树的分裂节点对应有分裂条件的明文数据,所述决策树的叶子节点对应有叶子值的密文数据,所述密文数据由同态加密算法对叶子值进行加密得到;
比较单元62,用于以预设阈值和所述目标叶子节点对应的密文数据为输入,与第一设备共同执行安全比较算法,以便于所述第一设备获得第一比较结果;所述第一比较结果用于表示所述目标叶子节点对应的叶子值和所述预设阈值之间的大小关系。
下面介绍本说明书电子设备的一个实施例。图10是该实施例中一种电子设备的硬件结构示意图。如图10所示,所述电子设备可以包括一个或多个(图中仅示出一个)处理器、存储器和传输模块。当然,本领域普通技术人员可以理解,图10所示的硬件结构仅为示意,其并不对上述电子设备的硬件结构造成限定。在实际中所述电子设备还可以包括比图10所示更多或者更少的组件单元;或者,具有与图10所示不同的配置。
所述存储器可以包括高速随机存储器;或者,还可以包括非易失性存储器,例如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。当然,所述存储器还可以包括远程设置的网络存储器。所述远程设置的网络存储器可以通过诸如互联网、企业内部网、局域网、移动通信网等网络连接至所述电子设备。所述存储器可以用于存储应用软件的程序指令或模块,例如本说明书图2所对应实施例的程序指令或模块、图4所对应实施例的程序指令或模块、图6所对应实施例的程序指令或模块。
所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述处理器可以读取并执行所述存储器中的程序指令或模块。
所述传输模块可以用于经由网络进行数据传输,例如经由诸如互联网、企业内部网、局域网、移动通信网等网络进行数据传输。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于装置实施例和电子设备实施例而言,由于其基本相似于数据处理方法实施例,所以描述的比较简单,相关之处参见数据处理方法实施例的部分说明即可。
另外,可以理解的是,本领域技术人员在阅读本说明书文件之后,可以无需创造性劳动想到将本说明书列举的部分或全部实施例进行任意组合,这些组合也在本说明书公开和保护的范围内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。

Claims (15)

1.一种数据处理方法,应用于第一设备,包括:
保持原始决策森林中决策树的分裂节点所对应的分裂条件不变,使用同态加密算法对原始决策森林中决策树的叶子节点所对应的叶子值进行加密,得到加密决策森林;
向第二设备发送所述加密决策森林;以便第二设备基于加密决策森林与第一设备进行协作计算,使第一设备获得基于原始决策森林对第二设备的业务数据进行预测后的预测结果。
2.如权利要求1所述的方法,原始决策森林中的至少一个决策树为非满二叉树;
相应地,所述方法还包括:
在非满二叉树的决策树中添加虚假的节点,以使得该决策树形成满二叉树。
3.如权利要求1所述的方法,所述方法还包括:
在原始决策森林中添加虚假的决策树。
4.一种数据处理装置,应用于第一设备,包括:
加密单元,用于保持原始决策森林中决策树的分裂节点所对应的分裂条件不变,使用同态加密算法对原始决策森林中决策树的叶子节点所对应的叶子值进行加密,得到加密决策森林;
发送单元,用于向第二设备发送所述加密决策森林;以便第二设备基于加密决策森林与第一设备进行协作计算,使第一设备获得基于原始决策森林对第二设备的业务数据进行预测后的预测结果。
5.一种电子设备,包括:
存储器,用于存储计算机指令;
处理器,用于执行所述计算机指令以实现如权利要求1-3中任一项所述的方法步骤。
6.一种数据处理方法,应用于第二设备,所述第二设备持有加密决策森林,所述加密决策森林由第一设备对原始决策森林进行处理得到,所述加密决策森林包括至少一个决策树,所述决策树的分裂节点对应有分裂条件的明文数据,所述决策树的叶子节点对应有叶子值的密文数据,所述密文数据由同态加密算法对叶子值进行加密得到;所述方法包括:
基于加密决策森林,获取与业务数据相匹配的目标叶子节点;
向第一设备发送所述目标叶子节点对应的密文数据,以便第一设备基于密文数据获得预测结果,所述预测结果包括基于原始决策森林对业务数据进行预测后的预测结果。
7.如权利要求6所述的方法,所述方法还包括:
对所述目标叶子节点对应的密文数据与噪声数据进行求和处理,得到第一求和结果;
相应地,所述向第一设备发送所述目标叶子节点对应的密文数据,包括:
向第一设备发送所述第一求和结果,以便第一设备基于所述第一求和结果获得混入了噪声数据后的预测结果。
8.如权利要求6所述的方法,所述目标叶子节点的数量为多个;所述方法还包括:
对多个目标叶子节点对应的密文数据进行求和处理,得到第二求和结果;
相应地,所述向第一设备发送所述目标叶子节点对应的密文数据,包括:
向第一设备发送所述第二求和结果,以便第一设备基于所述第二求和结果获得预测结果。
9.如权利要求8所述的方法,所述方法还包括:
对所述第二求和结果与噪声数据进行求和处理,得到第三求和结果;
相应地,所述向第一设备发送所述第二求和结果,包括:
向第一设备发送所述第三求和结果,以便第一设备基于所述第三求和结果获得混入了噪声数据后的预测结果。
10.一种数据处理装置,应用于第二设备,所述第二设备持有加密决策森林,所述加密决策森林由第一设备对原始决策森林进行处理得到,所述加密决策森林包括至少一个决策树,所述决策树的分裂节点对应有分裂条件的明文数据,所述决策树的叶子节点对应有叶子值的密文数据,所述密文数据由同态加密算法对叶子值进行加密得到;所述装置包括:
获取单元,用于基于加密决策森林,获取与业务数据相匹配的目标叶子节点;
发送单元,用于向第一设备发送所述目标叶子节点对应的密文数据,以便第一设备基于接收的密文数据获得预测结果,所述预测结果包括基于原始决策森林对业务数据进行预测后的预测结果。
11.一种电子设备,包括:
存储器,用于存储计算机指令;
处理器,用于执行所述计算机指令以实现如权利要求6-9中任一项所述的方法步骤。
12.一种数据处理方法,应用于第二设备,所述第二设备持有来自第一设备的加密决策森林,所述加密决策森林包括至少一个决策树,所述决策树的分裂节点对应有分裂条件的明文数据,所述决策树的叶子节点对应有叶子值的密文数据,所述密文数据由同态加密算法对叶子值进行加密得到;所述方法包括:
基于加密决策森林,获取与业务数据相匹配的目标叶子节点;
以预设阈值和所述目标叶子节点对应的密文数据为输入,与第一设备共同执行安全比较算法,以便于所述第一设备获得第一比较结果;所述第一比较结果用于表示所述目标叶子节点对应的叶子值和所述预设阈值之间的大小关系。
13.如权利要求12所述的方法,所述目标叶子节点的数量为多个;所述方法还包括:
对多个目标叶子节点对应的密文数据进行求和处理,得到求和结果;
相应地,所述以预设阈值和所述目标叶子节点对应的密文数据为输入,与第一设备共同执行安全比较算法,包括:
以预设阈值和所述求和结果为输入,与第一设备共同执行安全比较算法,以便于所述第一设备获得第二比较结果;所述第二比较结果用于表示所述求和结果对应的明文数据和所述预设阈值之间的大小关系。
14.一种数据处理装置,应用于第二设备,所述第二设备持有来自第一设备的加密决策森林,所述加密决策森林包括至少一个决策树,所述决策树的分裂节点对应有分裂条件的明文数据,所述决策树的叶子节点对应有叶子值的密文数据,所述密文数据由同态加密算法对叶子值进行加密得到;所述装置包括:
获取单元,用于基于加密决策森林,获取与业务数据相匹配的目标叶子节点;
比较单元,用于以预设阈值和所述目标叶子节点对应的密文数据为输入,与第一设备共同执行安全比较算法,以便于所述第一设备获得第一比较结果;所述第一比较结果用于表示所述目标叶子节点对应的叶子值和所述预设阈值之间的大小关系。
15.一种电子设备,包括:
存储器,用于存储计算机指令;
处理器,用于执行所述计算机指令以实现如权利要求12-13中任一项所述的方法步骤。
CN201910583550.3A 2019-07-01 2019-07-01 数据处理方法、装置和电子设备 Active CN110457912B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910583550.3A CN110457912B (zh) 2019-07-01 2019-07-01 数据处理方法、装置和电子设备
PCT/CN2020/071099 WO2021000561A1 (zh) 2019-07-01 2020-01-09 数据处理方法、装置和电子设备
US16/779,534 US20200175426A1 (en) 2019-07-01 2020-01-31 Data-based prediction results using decision forests
TW109104353A TWI745861B (zh) 2019-07-01 2020-02-12 資料處理方法、裝置和電子設備

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910583550.3A CN110457912B (zh) 2019-07-01 2019-07-01 数据处理方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN110457912A CN110457912A (zh) 2019-11-15
CN110457912B true CN110457912B (zh) 2020-08-14

Family

ID=68481870

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910583550.3A Active CN110457912B (zh) 2019-07-01 2019-07-01 数据处理方法、装置和电子设备

Country Status (3)

Country Link
CN (1) CN110457912B (zh)
TW (1) TWI745861B (zh)
WO (1) WO2021000561A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110457912B (zh) * 2019-07-01 2020-08-14 阿里巴巴集团控股有限公司 数据处理方法、装置和电子设备
CN111125727B (zh) * 2019-12-03 2021-05-14 支付宝(杭州)信息技术有限公司 混淆电路生成方法、预测结果确定方法、装置和电子设备
CN111046408A (zh) * 2019-12-13 2020-04-21 支付宝(杭州)信息技术有限公司 判断结果处理方法、查询方法、装置、电子设备和系统
CN111144576A (zh) * 2019-12-13 2020-05-12 支付宝(杭州)信息技术有限公司 模型训练方法、装置和电子设备
CN110944011B (zh) * 2019-12-16 2021-12-07 支付宝(杭州)信息技术有限公司 一种基于树模型的联合预测方法和系统
CN111737756B (zh) * 2020-07-31 2020-11-24 支付宝(杭州)信息技术有限公司 经由两个数据拥有方进行的xgb模型预测方法、装置及系统
CN113807530B (zh) * 2020-09-24 2024-02-06 京东科技控股股份有限公司 信息处理系统、方法和装置
CN112631551B (zh) * 2020-12-29 2023-05-30 平安科技(深圳)有限公司 随机数生成方法、装置、电子设备及存储介质
CN112749749B (zh) * 2021-01-14 2024-04-16 深圳前海微众银行股份有限公司 基于分类决策树模型的分类方法、装置及电子设备
CN113177212B (zh) * 2021-04-25 2022-07-19 支付宝(杭州)信息技术有限公司 联合预测方法和装置
CN113821810B (zh) * 2021-08-26 2024-03-08 上海赢科信息技术有限公司 数据处理方法及系统、存储介质及电子设备
CN115048386A (zh) * 2022-06-28 2022-09-13 支付宝(杭州)信息技术有限公司 一种业务执行方法、装置、存储介质及设备
CN116090375B (zh) * 2023-03-01 2024-02-02 上海合见工业软件集团有限公司 基于覆盖率数据确定目标驱动源码的系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9686023B2 (en) * 2013-01-02 2017-06-20 Qualcomm Incorporated Methods and systems of dynamically generating and using device-specific and device-state-specific classifier models for the efficient classification of mobile device behaviors
CN103593476B (zh) * 2013-11-28 2017-01-25 中国科学院信息工程研究所 一种面向云存储的多关键词明密文检索方法和系统
US10339465B2 (en) * 2014-06-30 2019-07-02 Amazon Technologies, Inc. Optimized decision tree based models
CN105447525A (zh) * 2015-12-15 2016-03-30 中国科学院软件研究所 一种数据预测分类方法及装置
CN107124276B (zh) * 2017-04-07 2020-07-28 西安电子科技大学 一种安全的数据外包机器学习数据分析方法
JP6881215B2 (ja) * 2017-10-16 2021-06-02 富士通株式会社 分類プログラム、分類方法、および分類装置
CN108063756B (zh) * 2017-11-21 2020-07-03 阿里巴巴集团控股有限公司 一种密钥管理方法、装置及设备
CN108681750A (zh) * 2018-05-21 2018-10-19 阿里巴巴集团控股有限公司 Gbdt模型的特征解释方法和装置
CN108717514B (zh) * 2018-05-21 2020-06-16 中国人民大学 一种机器学习中的数据隐私保护方法和系统
CN108833077A (zh) * 2018-07-02 2018-11-16 西安电子科技大学 基于同态ou密码的外包分类器加解密方法
CN109033854B (zh) * 2018-07-17 2020-06-09 阿里巴巴集团控股有限公司 基于模型的预测方法和装置
CN109002861B (zh) * 2018-08-10 2021-11-09 深圳前海微众银行股份有限公司 联邦建模方法、设备及存储介质
CN109687952A (zh) * 2018-11-16 2019-04-26 创新奇智(重庆)科技有限公司 数据处理方法及其装置、电子装置及存储介质
CN109951444B (zh) * 2019-01-29 2020-05-22 中国科学院信息工程研究所 一种加密匿名网络流量识别方法
CN110457912B (zh) * 2019-07-01 2020-08-14 阿里巴巴集团控股有限公司 数据处理方法、装置和电子设备

Also Published As

Publication number Publication date
WO2021000561A1 (zh) 2021-01-07
TWI745861B (zh) 2021-11-11
TW202103034A (zh) 2021-01-16
CN110457912A (zh) 2019-11-15

Similar Documents

Publication Publication Date Title
CN110457912B (zh) 数据处理方法、装置和电子设备
CN110414567B (zh) 数据处理方法、装置和电子设备
CN111125727B (zh) 混淆电路生成方法、预测结果确定方法、装置和电子设备
US10963400B2 (en) Smart contract creation and monitoring for event identification in a blockchain
US20240113858A1 (en) Systems and Methods for Performing Secure Machine Learning Analytics Using Homomorphic Encryption
CN110427969B (zh) 数据处理方法、装置和电子设备
US20200175426A1 (en) Data-based prediction results using decision forests
CN111144576A (zh) 模型训练方法、装置和电子设备
CN111428887B (zh) 一种基于多个计算节点的模型训练控制方法、装置及系统
CN110569227B (zh) 模型参数确定方法、装置和电子设备
CN110391895B (zh) 数据预处理方法、密文数据获取方法、装置和电子设备
CN110874650B (zh) 融合公域数据和私有数据的联盟学习方法、装置和系统
CN114817984A (zh) 数据处理方法、装置、系统及设备
US20200293911A1 (en) Performing data processing based on decision tree
CN112507323A (zh) 基于单向网络的模型训练方法、装置和计算设备
US20200293908A1 (en) Performing data processing based on decision tree
US20210165907A1 (en) Systems and methods for intelligent and quick masking
CN111046408A (zh) 判断结果处理方法、查询方法、装置、电子设备和系统
CN111159730A (zh) 数据处理方法、查询方法、装置、电子设备和系统
CN110569659B (zh) 数据处理方法、装置和电子设备
CN114638998A (zh) 模型更新方法、装置、系统及设备
CN111061720B (zh) 数据筛选方法、装置和电子设备
CN113849837A (zh) 一种安全模型的训练方法、装置、设备以及数据处理方法
CN112182509A (zh) 一种合规数据的异常检测方法、装置及设备
CN111460514B (zh) 数据匹配方法、装置和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40017470

Country of ref document: HK

TR01 Transfer of patent right

Effective date of registration: 20200927

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200927

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Advanced innovation technology Co.,Ltd.

Address before: Greater Cayman, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.

TR01 Transfer of patent right