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

一种贝叶斯分类模型的构建方法、系统和存储介质

文献发布时间:2024-04-18 19:44:28


一种贝叶斯分类模型的构建方法、系统和存储介质

技术领域

本申请涉及机器学习技术领域,尤其涉及一种贝叶斯分类模型的构建方法、系统和存储介质。

背景技术

贝叶斯分类模型以“贝叶斯定理”为基础,以“特征条件独立假设”为前提,在垃圾邮件过滤、文本分类与拼写纠错等领域具有广泛应用,属于机器学习的经典算法之一。然而,在现实情况中,贝叶斯分类模型的训练数据很可能是分裂的,例如存有标签数据的设备和存有特征数据的设备是不同的设备,且不同设备存储的特征数据也可以互不相同。由此可见,在训练数据分裂的场景下如何构建出贝叶斯分类模型,成为本领域技术人员需要考虑的技术问题。

发明内容

有鉴于此,本申请实施例提供了一种贝叶斯分类模型的构建方法、系统和存储介质,能够在训练数据分裂的场景下构建出贝叶斯分类模型。

本申请实施例的第一方面提供了一种贝叶斯分类模型的构建方法,该方法应用于存有用于训练贝叶斯分类模型的标签数据的标签方设备,该方法包括:

若标签方设备不是需要构建贝叶斯分类模型的发起方设备,则标签方设备在接收到发起方设备发送的数据获取请求后,将标签数据发送至存有用于训练贝叶斯分类模型的特征数据的至少一个特征方设备,以指示特征方设备基于标签数据和特征数据计算得到特征条件概率,并将特征条件概率发送至发起方设备,以使发起方设备基于特征条件概率构建得到贝叶斯分类模型。

在本申请实施例中,贝叶斯分类模型的训练数据分裂存储,其中标签方设备存有标签数据,各个特征方设备存有特征数据,需要构建贝叶斯分类模型的设备称作发起方设备。首先,由发起方设备发送数据获取请求给标签方设备,然后标签方设备会将标签数据发送给各个特征方设备,由各个特征方设备基于接收到的标签数据和各自存储的特征数据计算得到特征条件概率,并将计算得到的特征条件概率发送给发起方设备,最后由发起方设备基于接收到的特征条件概率构建出相应的贝叶斯分类模型。由此可见,本申请实施例利用发起方设备、标签方设备和特征方设备的协同交互,能够联合多方设备的数据,在训练数据分裂的场景下构建出贝叶斯分类模型。而且,上述构建得到的贝叶斯分类模型能够获取到多方设备更广泛的不同数据特征,从而提升模型的稳定性和分类精准性。另外,训练数据分别存储于多方的不同设备,也能够在实现数据隐私的前提下进一步保证数据的安全性。在本申请实施例的一种实现方式中,所述将标签数据发送至存有用于训练贝叶斯分类模型的特征数据的至少一个特征方设备,以指示特征方设备基于标签数据和特征数据计算得到特征条件概率,并将特征条件概率发送至发起方设备,以使发起方设备基于特征条件概率构建得到贝叶斯分类模型,可以包括:

基于标签数据生成m-1组混淆标签,m为大于2的整数;

将标签数据和m-1组混淆标签打包成m组标签信息;

将m组标签信息发送至特征方设备,以指示特征方设备基于m组标签信息和特征数据,计算得到m组特征条件概率,且联合发起方设备基于不经意传输协议对m组特征条件概率按照m组标签信息的排列顺序进行加密,得到m组加密信息,并将m组加密信息发送至发起方设备;

将标签数据在m组标签信息中的第一排序信息发送至发起方设备,以指示发起方设备基于不经意传输协议和第一排序信息,对接收到的m组加密信息进行解密,得到m组加密信息中与标签数据对应的一组加密信息的第一解密数据,并基于第一解密数据构建得到贝叶斯分类模型。

在本申请实施例的一种实现方式中,所述方法还可以包括:

若标签方设备是需要构建贝叶斯分类模型的发起方设备,则标签方设备将标签数据发送至特征方设备,以指示特征方设备基于标签数据和特征数据计算得到特征条件概率,并将特征条件概率发送至标签方设备,以使标签方设备基于特征条件概率构建得到贝叶斯分类模型。

进一步的,所述将标签数据发送至特征方设备,以指示特征方设备基于标签数据和特征数据计算得到特征条件概率,并将特征条件概率发送至标签方设备,以使标签方设备基于特征条件概率构建得到贝叶斯分类模型,可以包括:

基于标签数据生成n-1组混淆标签,n为大于2的整数;

将标签数据和n-1组混淆标签打包成n组标签信息;

将n组标签信息发送至特征方设备,以指示特征方设备基于n组标签信息和特征数据,计算得到n组特征条件概率,且联合协调方设备基于不经意传输协议对n组特征条件概率按照n组标签信息的排列顺序进行加密,得到n组加密信息,并将n组加密信息发送至协调方设备;

将标签数据在n组标签信息中的第二排序信息发送至协调方设备,以指示协调方设备基于不经意传输协议和第二排序信息,对接收到的n组加密信息进行解密,得到n组加密信息中与标签数据对应的一组加密信息的第二解密数据,并将第二解密数据发送至标签方设备,以使标签方设备基于第二解密数据构建得到贝叶斯分类模型。

在本申请实施例的一种实现方式中,所述标签方设备也存有用于训练贝叶斯分类模型的特征数据,标签方设备的特征数据和特征方设备的特征数据的特征空间不同;标签方设备在接收到发起方设备发送的数据获取请求后,还可以包括:

协同特征方设备针对特征数据执行隐私集合求交处理,以使标签方设备和特征方设备均具有同一数据标识字段下的相同数据量的特征数据集;

根据标签数据和该数据量,计算得到标签类别概率;

根据标签方设备具有的特征数据集和该数据量,计算得到标签方设备的特征类别概率;

根据标签类别概率和特征类别概率,计算得到标签方设备的特征条件概率;

将标签方设备的特征条件概率发送至发起方设备。

本申请实施例的第二方面提供了一种贝叶斯分类模型的构建方法,该方法应用于需要构建贝叶斯分类模型的发起方设备,该方法包括:

若存有用于训练贝叶斯分类模型的标签数据的标签方设备不是发起方设备,则发起方设备向标签方设备发送数据获取请求,以指示标签方设备在接收到数据获取请求后,将标签数据发送至存有用于训练贝叶斯分类模型的特征数据的至少一个特征方设备,以使特征方设备基于标签数据和特征数据计算得到特征条件概率,并将特征条件概率发送至发起方设备;

基于特征条件概率构建得到贝叶斯分类模型。

本申请实施例的第三方面提供了一种贝叶斯分类模型的构建方法,该方法应用于存有用于训练贝叶斯分类模型的特征数据的特征方设备,该方法包括:

若存有用于训练贝叶斯分类模型的标签数据的标签方设备不是需要构建贝叶斯分类模型的发起方设备,则特征方设备在接收到标签方设备发送的标签数据后,基于标签数据和特征数据计算得到特征条件概率,并将特征条件概率发送至发起方设备,以使发起方设备基于特征条件概率构建得到贝叶斯分类模型;其中,标签数据由标签方设备在接收到发起方设备发送的数据获取请求后发送至特征方设备;

若标签方设备是需要构建贝叶斯分类模型的发起方设备,则特征方设备在接收到标签方设备发送的标签数据后,基于标签数据和特征数据计算得到特征条件概率,并将特征条件概率发送至标签方设备,以使标签方设备基于特征条件概率构建得到贝叶斯分类模型。

本申请实施例的第四方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例的第一方面提供的贝叶斯分类模型的构建方法,或者实现如本申请实施例的第二方面提供的贝叶斯分类模型的构建方法,或者实现如本申请实施例的第三方面提供的贝叶斯分类模型的构建方法。

本申请实施例的第五方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本申请实施例的第一方面提供的贝叶斯分类模型的构建方法,或者实现如本申请实施例的第二方面提供的贝叶斯分类模型的构建方法,或者实现如本申请实施例的第三方面提供的贝叶斯分类模型的构建方法。

本申请实施例的第六方面提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行如本申请实施例的第一方面提供的贝叶斯分类模型的构建方法,或者执行如本申请实施例的第二方面提供的贝叶斯分类模型的构建方法,或者执行如本申请实施例的第三方面提供的贝叶斯分类模型的构建方法。

本申请实施例的第七方面提供了一种贝叶斯分类模型的构建系统,包括需要构建贝叶斯分类模型的发起方设备、存有用于训练贝叶斯分类模型的标签数据的标签方设备,以及存有用于训练贝叶斯分类模型的特征数据的至少一个特征方设备;

发起方设备,用于向标签方设备发送数据获取请求,接收特征方设备发送的特征条件概率,并基于特征条件概率构建得到贝叶斯分类模型;

标签方设备,用于在接收到数据获取请求后,将标签数据发送至特征方设备;

特征方设备,用于在接收到标签数据后,基于标签数据和特征数据计算得到特征条件概率,并将特征条件概率发送至发起方设备。

本申请实施例的第八方面提供了一种贝叶斯分类模型的构建系统,包括协调方设备、需要构建贝叶斯分类模型且存有用于训练贝叶斯分类模型的标签数据的标签方设备,以及存有用于训练贝叶斯分类模型的特征数据的至少一个特征方设备;

标签方设备,用于基于标签数据生成m-1组混淆标签,m为大于2的整数,将标签数据和m-1组混淆标签打包成m组标签信息并发送至特征方设备;将标签数据在m组标签信息中的排序信息发送至协调方设备;在接收到协调方设备发送的解密数据后,基于解密数据构建得到贝叶斯分类模型;

特征方设备,用于在接收到m组标签信息后,基于m组标签信息和特征数据,计算得到m组特征条件概率,且联合协调方设备基于不经意传输协议对m组特征条件概率按照m组标签信息的排列顺序进行加密,得到m组加密信息,并将m组加密信息发送至协调方设备;

协调方设备,用于在接收到排序信息和m组加密信息后,基于不经意传输协议和排序信息,对接收到的m组加密信息进行解密,得到m组加密信息中与标签数据对应的一组加密信息的解密数据,并将解密数据发送至标签方设备。

可以理解的是,上述第二方面至第八方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

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

图1是本申请实施例提供的一种贝叶斯分类模型的构建系统的示意图;

图2是本申请实施例提供的另一种贝叶斯分类模型的构建系统的示意图;

图3是本申请实施例提供的贝叶斯分类模型的训练数据的分布示意图;

图4是本申请实施例提供的一种贝叶斯分类模型的构建方法的流程图;

图5是本申请实施例提供的另一种贝叶斯分类模型的构建方法的流程图;

图6是本申请实施例提供的发起方设备启动任务场景的设备交互流程示意图;

图7是本申请实施例提供的标签方设备启动任务场景的设备交互流程示意图;

图8是本申请实施例提供的一种终端设备的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

贝叶斯分类是一类分类算法的总称,其中以朴素贝叶斯分类最为常见,在很多场景下处理问题既简单又高效。然而在现实情况中,贝叶斯分类模型的训练数据很可能是分裂的,也即分别存储于不同的设备,彼此之间的数据是不共通的。由此可见,在训练数据分裂的场景下如何构建出贝叶斯分类模型,成为本领域技术人员需要考虑的技术问题。有鉴于此,本申请实施例提供了一种贝叶斯分类模型的构建方法、系统和存储介质,能够在训练数据分裂的场景下构建出贝叶斯分类模型。

图1为本申请实施例提供的一种贝叶斯分类模型的构建系统的示意图。在图1中,包括发起方设备、标签方设备以及至少一个特征方设备(图1中示出N个特征方设备)。发起方设备是需要构建贝叶斯分类模型的发起方设备,其没有存储任何贝叶斯分类模型的训练数据,也即没有标签数据和特征数据;标签方设备存有用于训练贝叶斯分类模型的标签数据,也可以同时存有用于训练贝叶斯分类模型的特征数据;特征方设备存有用于训练贝叶斯分类模型的特征数据,但没有存储用于训练贝叶斯分类模型的标签数据。发起方设备、标签方设备和各个特征方设备之间可以通过各类有线或者无线的方式通信连接。在图1所示的系统中,贝叶斯分类模型的构建任务由发起方设备启动,通过联合标签方设备和各个特征方设备的训练数据,最终实现在发起方设备侧完成贝叶斯分类模型的建模。

图2为本申请实施例提供的另一种贝叶斯分类模型的构建系统的示意图。在图2中,包括协调方设备、标签方设备以及至少一个特征方设备(图2中示出N个特征方设备)。在图2的场景中标签方设备作为需要构建贝叶斯分类模型的发起方,其存有用于训练贝叶斯分类模型的标签数据,也可以同时存有用于训练贝叶斯分类模型的特征数据;特征方设备存有用于训练贝叶斯分类模型的特征数据,但没有存储用于训练贝叶斯分类模型的标签数据;协调方设备没有存储任何贝叶斯分类模型的训练数据,主要作用在于辅助完成数据加解密的操作,也即在数据传输的加解密过程中充当协调者的角色。协调方设备、标签方设备和各个特征方设备之间可以通过各类有线或者无线的方式通信连接。在图2所示的系统中,贝叶斯分类模型的构建任务由标签方设备启动,通过联合标签方设备和各个特征方设备的训练数据,在协调方设备的辅助下,最终实现在标签方设备侧完成贝叶斯分类模型的建模。

应当理解,图1和图2所示系统中的发起方设备、标签方设备、特征方设备和协调方设备都可以是各种类型的终端设备,例如可以是手机、平板电脑、可穿戴设备、学习机、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、大屏电视,等等,本申请实施例对该终端设备的具体类型不作任何限制。关于图1和图2所示系统的具体工作原理,请参照下文所述的方法实施例。

如图3所示,为本申请实施例提供的贝叶斯分类模型的训练数据的分布示意图。通过图3可以看出,标签方设备(A方)同时存有标签数据和特征数据,而各个特征方设备(B方、C方…N方)则只存有特征数据。标签方设备和各个特征方设备的特征数据可以拥有不同的特征空间,例如,第i方(标签方设备或者某个特征方设备)拥有特征空间

总的来说,每一个特征方或标签方,其特征空间都可以有多种不同特征,每个特征都可以有不同的特征数据范围,每个特征方或标签方都可以有大量(例如10000)的特征数据,但每个特征数据的取值都属于特征数据范围内。例如,针对B方,其特征空间为{年龄,月收入区间…},其中年龄的数据范围为{老,中,青},月收入区间的数据范围为{“0-5000”,“5000-10000”,“10000-20000”,“20000-50000”,“50000+”},假设B方有10000个年龄数据,则这10000个年龄数据的取值都为{老,中,青}之一。针对标签方设备,其可以有多个标签,针对其中某个标签都有对应的标签取值范围,例如标签“身体情况”={“健康”,“生病”,“重疾”},假设标签方设备有2000个“身体情况”的标签数据,则每个标签数据的取值都为{“健康”,“生病”,“重疾”}之一。

请参阅图4,示出了本申请实施例提供的一种贝叶斯分类模型的构建方法,包括:

401、发起方设备向标签方设备发送数据获取请求;

应当理解,图4所示的方法可以应用于如图1所示的贝叶斯分类模型的构建系统,此时标签方设备不是需要构建贝叶斯分类模型的发起方设备,而真正的发起方设备没有存储用于训练贝叶斯分类模型的标签数据和特征数据。

贝叶斯分类模型的构建任务由发起方设备启动,首先由发起方设备向标签方设备发送一个数据获取请求,告知标签方设备任务开始,另外发起方设备还可以向各个特征方设备也发送请求,告知各个特征方设备任务开始。例如,假设发起方设备为X方,标签方设备为A方,各个特征方设备分别为B方、C方…N方,则X方会分别向A方、B方、C方…N方发送请求。

402、标签方设备在接收到数据获取请求后,将标签数据发送至存有用于训练贝叶斯分类模型的特征数据的至少一个特征方设备;

标签方设备在接收到发起方设备发送的数据获取请求后,会将存储的标签数据发送给各个特征方设备,以便各个特征方设备基于各自的特征数据和接收到的标签数据完成特征条件概率的计算。

在本申请实施例的一种实现方式中,标签方设备也存有用于训练贝叶斯分类模型的特征数据,标签方设备的特征数据和特征方设备的特征数据的特征空间不同;标签方设备在接收到发起方设备发送的数据获取请求后,还可以包括:

(1)标签方设备协同特征方设备针对特征数据执行隐私集合求交处理,以使标签方设备和特征方设备均具有同一数据标识字段下的相同数据量的特征数据集;

(2)标签方设备根据标签数据和该数据量,计算得到标签类别概率;

(3)标签方设备根据标签方设备具有的特征数据集和该数据量,计算得到标签方设备的特征类别概率;

(4)标签方设备根据标签类别概率和特征类别概率,计算得到标签方设备的特征条件概率;

(5)标签方设备将标签方设备的特征条件概率发送至发起方设备。

对于上述步骤(1),由于标签方设备和各个特征方设备的特征数据的特征空间不同,会给计算特征条件概率带来不便,此时可以通过隐私集合求交处理(Private SetIntersection,PSI)进行解决。具体的,标签方设备会协同每个特征方设备针对特征数据执行隐私集合求交处理,从而实现标签方设备和特征方设备均具有同一数据标识字段下的相同数据量的特征数据集。例如,假设标签方设备拥有健康数据,其中包含字段{“电话”,“年龄”,“身高”,“身体情况”},其中“电话”为ID,即唯一标识,特征数据为{“年龄”,“身高”},标签数据为“身体情况”。某个特征方设备拥有金融数据,其中包含字段{“电话”,“月收入情况”,“信用评级”},其中“电话”为ID,即唯一标识,特征数据为{“月收入情况”,“信用评级”}。则标签方设备与特征方设备以“电话”作为ID(即同一数据标识字段),执行隐私集合求交处理,筛选出相同的电话,并保留下来,成为新的特征数据集以供后续的建模训练。其中,隐私集合求交处理的具体原理可以参照现有技术,在此不再赘述。针对更多数量的特征方设备,都可以按照上述例子的方式执行隐私集合求交处理,最终实现标签方设备和每个特征方设备均具有同一数据标识字段(例如上述“电话”)下的相同数据量(例如数据量=n)的特征数据集。

对于上述步骤(2),标签方设备根据存储的标签数据和该数据量,可以计算得到标签类别概率。例如,假设标签方设备存储的标签数据是“身体情况”={“健康”,“生病”,“重疾”},数据量n=10,其中3条数据是“身体情况”={“健康”},5条数据是“身体情况”={“生病”},2条数据是“身体情况”={“重疾”},则标签数据可以表示为向量的形式:n

对于上述步骤(3),标签方设备可以根据标签方设备具有的特征数据集和该数据量,计算得到标签方设备的特征类别概率。可以理解,无论是标签方设备还是任意的一个特征方设备,都可以利用各自的特征数据集和该数据量,分别计算得到各自的特征类别概率。例如,第i方(标签方设备或者某个特征方设备)拥有特征空间

对于上述步骤(4),标签方设备在计算出标签类别概率和特征类别概率之后,可以进一步计算得到标签方设备的特征条件概率。具体的,可以利用公式

对于上述步骤(5),标签方设备在计算得到自身的特征条件概率之后,会将该特征条件概率也发送给发起方设备。后续发起方设备将联合标签方数据的特征条件概率和各个特征方设备的特征条件概率,构建相应的贝叶斯分类模型。

在本申请实施例的一种实现方式中,标签方设备将标签数据发送至存有用于训练贝叶斯分类模型的特征数据的至少一个特征方设备,可以包括:

(1)标签方设备基于标签数据生成m-1组混淆标签,m为大于2的整数;

(2)标签方设备将标签数据和m-1组混淆标签打包成m组标签信息;

(3)标签方设备将m组标签信息发送至特征方设备。

在某些场合中,为了保护各方数据的隐私安全,例如希望特征方设备无法获知真实的标签数据,则可以引入数据加解密的机制。本申请实施例考虑到加解密操作的简便性与有效性,提出一种基于不经意传输协议的数据传输方式。具体的,标签方设备可以基于真实的标签数据生成m-1组混淆标签,m为大于2的整数,m越大则安全系数越高(即特征方设备更难推断哪组标签数据是标签方设备的真实标签数据),但m越大所需传输的数据量也越大,因此在满足安全性要求的情况下m也不可设置得过大。例如,假设标签方设备的真实标签数据为前文中描述的n

需要说明的是,标签方设备发送给不同特征方设备的标签信息的数量也可以是不一样的,只需要记录每个特征方设备对应的多组标签信息中的真实标签数据的排序信息即可。例如,假设存在特征方设备B和特征方设备C,标签方设备可以将真实标签数据与19组混淆标签打包成20组标签信息(假设真实标签数据在该20组标签信息中的排序信息为3),将该20组标签信息发送给特征方设备B,并在标签方设备本地记录特征方设备B的标识和真实标签数据的排序信息3,注意排序信息不会发送给特征方设备B,因此特征方设备B并不知道接收到的20组标签信息中哪组是真实的标签数据;标签方设备可以将真实标签数据与29组混淆标签打包成30组标签信息(假设真实标签数据在该30组标签信息中的排序信息为8),将该30组标签信息发送给特征方设备C,并在标签方设备本地记录特征方设备C的标识和真实标签数据的排序信息8,注意排序信息不会发送给特征方设备C,因此特征方设备C并不知道接收到的30组标签信息中哪组是真实的标签数据,以此类推。

另一方面,标签方设备还会将真实的标签数据在m组标签信息中的排序信息发送至发起方设备,该排序信息用第一排序信息表示。例如,在上述例子中,标签方设备会将本地记录的特征方设备B的标识和排序信息3绑定并发送给发起方设备,将本地记录的特征方设备C的标识和排序信息8绑定并发送给发起方设备。

403、特征方设备基于标签数据和特征数据计算得到特征条件概率,并将特征条件概率发送至发起方设备;

标签方设备在将存储的标签数据发送给各个特征方设备之后,每个特征方设备都可以基于该标签数据和各自存储的特征数据,分别计算得到各自的特征条件概率,并将计算得到的特征条件概率发送至发起方设备。

在本申请实施例的一种实现方式中,特征方设备基于标签数据和特征数据计算得到特征条件概率,并将特征条件概率发送至发起方设备,可以包括:

(1)特征方设备基于m组标签信息和特征数据,计算得到m组特征条件概率;

(2)特征方设备联合发起方设备基于不经意传输协议对m组特征条件概率按照m组标签信息的排列顺序进行加密,得到m组加密信息;

(3)特征方设备将m组加密信息发送至发起方设备。

如果引入数据加解密的机制,则每个特征方设备接收到的不是一组标签数据,而是包含混淆标签的m组标签信息(当然每个特征方设备接收到的标签信息的数量也可以不同,具体的处理方式都是相同的,只是最终获得的加密信息的数量不同)。每个特征方设备都会基于该m组标签信息和各自存储的特征数据,分别计算得到各自的m组特征条件概率,如果某个特征方设备有j个特征,则其计算得到的是m组的j个特征条件概率(即总共m*j个特征条件概率)。在具体计算时,可以参照前文描述中标签方设备计算特征条件概率的原理,区别仅在于这里采用的是特征方设备存储的特征数据,且由于有m组标签信息故会计算出m组特征条件概率。

接下来,特征方设备会联合发起方设备,基于不经意传输协议对该m组特征条件概率按照m组标签信息的排列顺序进行加密,得到m组加密信息。每个特征方设备都会执行这样的操作,例如特征方设备B会联合发起方设备执行操作,特征方设备C会联合发起方设备执行操作…。关于不经意传输协议,例如Simplest OT协议的工作原理可以参照现有技术,在此不再赘述。特征方设备生成的m组加密信息可以表示为

404、发起方设备基于特征条件概率构建得到贝叶斯分类模型。

发起方设备在接收到各个特征方设备发送的特征条件概率(也可以包含标签方设备发送的特征条件概率)之后,可以基于这些特征条件概率进行模型训练,构建出相应的贝叶斯分类模型。接下来,发起方设备即可结合本地数据,利用该贝叶斯分类模型完成分类预测等操作。

在本申请实施例的一种实现方式中,发起方设备基于特征条件概率构建得到贝叶斯分类模型,可以包括:

(1)发起方设备基于不经意传输协议和第一排序信息,对接收到的m组加密信息进行解密,得到m组加密信息中与标签数据对应的一组加密信息的第一解密数据;

(2)发起方设备并基于第一解密数据构建得到贝叶斯分类模型。

如果引入数据加解密的机制,则发起方设备接收到的是标签方设备发送的真实标签数据的排序信息(即第一排序信息)以及各个特征方设备发送的各自的m组加密信息。发起方设备可以基于不经意传输协议和该排序信息,对接收到的m组加密信息进行解密,得到m组加密信息中与真实的标签数据对应的一组加密信息的解密数据,记作第一解密数据,最后即可利用该第一解密数据构建得到贝叶斯分类模型。例如,假设发起方设备接收到的m组加密信息为

总的来说,标签方设备的特征条件概率可以直接发送给发起方,而不必通过不经意传输协议的加解密处理。各个特征方设备的特征条件概率通过不经意传输协议的加密处理会得到m组特征条件概率,但每个特征方设备都不知道哪一组是真实的特征条件概率。利用标签方设备将真实标签的排序信息发送给发起方设备,发起方设备即可利用该排序信息作为密钥,解密得到各个特征方设备真实的特征条件概率。

在本申请实施例中,贝叶斯分类模型的训练数据分裂存储,其中标签方设备存有标签数据,各个特征方设备存有特征数据,需要构建贝叶斯分类模型的设备称作发起方设备。首先,由发起方设备发送数据获取请求给标签方设备,然后标签方设备会将标签数据发送给各个特征方设备,由各个特征方设备基于接收到的标签数据和各自存储的特征数据计算得到特征条件概率,并将计算得到的特征条件概率发送给发起方设备,最后由发起方设备基于接收到的特征条件概率构建出相应的贝叶斯分类模型。由此可见,本申请实施例利用发起方设备、标签方设备和特征方设备的协同交互,能够联合多方设备的数据,在训练数据分裂的场景下构建出贝叶斯分类模型。而且,上述构建得到的贝叶斯分类模型能够获取到多方设备更广泛的不同数据特征,从而提升模型的稳定性和分类精准性。另外,训练数据分别存储于多方的不同设备,也能够在实现数据隐私的前提下进一步保证数据的安全性。

请参阅图5,示出了本申请实施例提供的另一种贝叶斯分类模型的构建方法,该方法可以应用于如图2所示的贝叶斯分类模型的构建系统,此时标签方设备是需要构建贝叶斯分类模型的发起方设备,也即发起方设备存有标签数据。

501、标签方设备将标签数据发送至特征方设备;

标签方设备作为任务的发起方,首先可以向每个特征方设备发送任务邀请,将存储的标签数据分别发送至各个特征方设备,以便各个特征方设备基于各自的特征数据和接收到的标签数据完成特征条件概率的计算。

假设标签方设备和各个特征方设备的特征数据的特征空间不同,这里可以增加隐私集合求交处理的步骤。也即,标签方设备可以协同每个特征方设备针对特征数据执行隐私集合求交处理,从而实现标签方设备和每个特征方设备均具有同一数据标识字段下的相同数据量的特征数据集。

与图4所示的场景类似,标签方设备也可以计算出标签类别概率和所有特征类别概率,进而计算得到标签方设备的特征条件概率,该特征条件概率也可用于训练贝叶斯分类模型。另外,每个特征方设备也可以分别计算出各自的所有特征类别概率,然后将这些特征类别概率发送给标签方设备。后续标签方设备在利用贝叶斯分类模型进行本地数据的分类预测时,可以使用到这些特征类别概率。

在本申请实施例的一种实现方式中,标签方设备将标签数据发送至特征方设备,可以包括:

(1)标签方设备基于标签数据生成n-1组混淆标签,n为大于2的整数;

(2)标签方设备将标签数据和n-1组混淆标签打包成n组标签信息;

(3)标签方设备将n组标签信息发送至特征方设备。

类似的,针对标签方设备作为任务发起方的场景,也可以引入数据加解密的机制。也即,标签方设备同样可以生成多组混淆标签,并将该多组混淆标签与真实的标签数据打包成多组标签信息,然后将该多组标签信息分别发送至每个特征方设备,标签方设备还会将标签数据在多组标签信息中的排序信息(用第二排序信息表示)发送至协调方设备。其中,生成混淆标签并打包成多组标签信息的具体操作原理可以参照前文。

502、特征方设备基于标签数据和特征数据计算得到特征条件概率,并将特征条件概率发送至标签方设备;

标签方设备在将存储的标签数据发送给各个特征方设备之后,每个特征方设备都可以基于该标签数据和各自存储的特征数据,分别计算得到各自的特征条件概率,并将计算得到的特征条件概率发送至发起方设备。

在本申请实施例的一种实现方式中,特征方设备基于标签数据和特征数据计算得到特征条件概率,并将特征条件概率发送至标签方设备,可以包括:

(1)特征方设备基于n组标签信息和特征数据,计算得到n组特征条件概率;

(2)特征方设备联合协调方设备基于不经意传输协议对n组特征条件概率按照n组标签信息的排列顺序进行加密,得到n组加密信息;

(3)特征方设备将n组加密信息发送至协调方设备。

类似的,如果引入数据加解密的机制,则每个特征方设备接收到的不是一组标签数据,而是包含混淆标签的多组标签信息。每个特征方设备都会基于不经意传输协议对多组特征条件概率按照接收到的多组标签信息的排列顺序进行加密,得到多组加密信息,具体的操作原理可以参照前文。这里与前文存在部分区别,前文中每个特征方设备在进行不经意传输协议的加密操作时联合的是发起方设备,会将得到的多组加密信息发送给发起方设备,而这里没有额外的发起方设备(标签方设备作为任务发起者),故需要引入协调方设备在数据传输的加解密过程中充当协调者的角色,各个特征方设备在进行不经意传输协议的加密操作时联合的是协调方设备,会将得到的多组加密信息发送给协调方设备。

协调方设备在接收到标签方设备发送的真实标签数据的排序信息(即第二排序信息)以及各个特征方设备发送的各自的多组加密信息后,可以基于不经意传输协议和该排序信息,对接收到的多组加密信息进行解密,得到多组加密信息中与真实的标签数据对应的一组加密信息的解密数据,记作第二解密数据,并将该第二解密数据发送至标签方设备。例如,假设协调方设备接收到的多组加密信息为

503、标签方设备基于特征条件概率构建得到贝叶斯分类模型。

标签方设备在接收到协调方设备发送的第二解密数据后,可以获得其中的真实特征条件概率,从而基于该真实特征条件概率构建得到相应的贝叶斯分类模型,后续标签方设备即可结合本地数据,利用该贝叶斯分类模型完成分类预测等操作。

在本申请实施例中,贝叶斯分类模型的训练数据分裂存储,其中标签方设备存有标签数据,各个特征方设备存有特征数据,需要构建贝叶斯分类模型的是标签方设备。首先,由标签方设备将标签数据发送给各个特征方设备;然后,各个特征方设备基于接收到的标签数据和各自存储的特征数据计算得到各自的特征条件概率,并将各自的特征条件概率发送给标签方设备,最后由标签方设备基于接收到的特征条件概率构建出相应的贝叶斯分类模型。另外,利用协调方设备的协助,可以引入数据加解密的机制,从而提升数据安全性。

为便于理解本申请实施例提供的贝叶斯分类模型的构建方法,以下针对两种不同场景的设备交互流程分别进行说明。

如图6所示,为发起方设备启动任务场景的设备交互流程示意图。

在图6中,首先,由发起方设备向标签方设备和特征方设备(图中仅示出一个特征方设备,每个特征方设备的操作方式均相同)发送任务请求。特征方设备在接收到任务请求后,先协同标签方设备针对特征数据执行隐私集合求交处理。在后续过程中,标签方设备会依次计算自身的标签类别概率、所有特征类别概率以及所有特征条件概率,而特征方设备则会计算自身的所有特征类别概率。之后,标签方设备会生成m-1组混淆标签,与真实标签数据打包成m组标签信息,并将m组标签信息发送给特征方设备,另外标签方设备会将真实标签数据在m组标签信息中的位置信息发送给发起方设备。特征方设备在接收到m组标签信息后,会计算出相应的m组特征条件概率,然后联合发起方设备基于不经意传输协议对m组特征条件概率按照m组标签信息的排列顺序进行加密,得到m组加密信息,并将该m组加密信息发送给发起方设备。最后,发起方设备根据接收到的位置信息对m组加密信息进行解密,得到与真实的标签数据对应的一组加密信息的解密数据,从而获得真实的特征条件概率,之后即可构建出相应的贝叶斯分类模型。

如图7所示,为标签方设备启动任务场景的设备交互流程示意图。

在图7中,首先,由标签方设备向特征方设备(图中仅示出一个特征方设备,每个特征方设备的操作方式均相同)发送任务请求。特征方设备在接收到任务请求后,先协同标签方设备针对特征数据执行隐私集合求交处理。在后续过程中,标签方设备会依次计算自身的标签类别概率、所有特征类别概率以及所有特征条件概率,而特征方设备则会计算自身的所有特征类别概率,并可以将计算的得到的所有特征类别概率发送给标签方设备。之后,标签方设备会生成n-1组混淆标签,与真实标签数据打包成n组标签信息,并将n组标签信息发送给特征方设备,另外标签方设备会将真实标签数据在n组标签信息中的位置信息发送给协调方设备。特征方设备在接收到n组标签信息后,会计算出相应的n组特征条件概率,然后联合协调方设备基于不经意传输协议对n组特征条件概率按照n组标签信息的排列顺序进行加密,得到n组加密信息,并将该n组加密信息发送给协调方设备。接下来,协调方设备可以根据接收到的位置信息对n组加密信息进行解密,得到与真实的标签数据对应的一组加密信息的解密数据,从而获得真实的特征条件概率。最后,协调方设备将该真实的特征条件概率发送给标签方设备,标签方设备即可构建出相应的贝叶斯分类模型。

综上所述,本申请实施例提出一种在保护多方数据集合安全性的前提下,联合多方数据完成贝叶斯分类模型训练的方法,该方法实施流程简单,且数据安全性较强。

应理解,上述各个实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所描述由发起方设备执行的贝叶斯分类模型的构建方法,或者实现上述任一实施例所描述由标签方设备执行的贝叶斯分类模型的构建方法,或者实现上述任一实施例所描述由特征方设备执行的贝叶斯分类模型的构建方法。

本申请实施例还提供一种计算机程序产品,当该计算机程序产品在终端设备上运行时,使得终端设备执行如上述任一实施例所描述由发起方设备执行的贝叶斯分类模型的构建方法,或者实现上述任一实施例所描述由标签方设备执行的贝叶斯分类模型的构建方法,或者实现上述任一实施例所描述由特征方设备执行的贝叶斯分类模型的构建方法。

图8是本申请一实施例提供的终端设备的示意图。如图8所示,该实施例的终端设备8包括:处理器80、存储器81以及存储在所述存储器81中并可在所述处理器80上运行的计算机程序82。所述处理器80执行所述计算机程序82时实现上述各个贝叶斯分类模型的构建方法中由发起方设备、标签方设备或者特征方设备执行的步骤。

所述计算机程序82可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器81中,并由所述处理器80执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序82在所述终端设备8中的执行过程。

所称处理器80可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器81可以是所述终端设备8的内部存储单元,例如终端设备8的硬盘或内存。所述存储器81也可以是所述终端设备8的外部存储设备,例如所述终端设备8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器81还可以既包括所述终端设备8的内部存储单元也包括外部存储设备。所述存储器81用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器81还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

技术分类

06120116298308