分布式独热编码方法、装置、电子设备及计算机存储介质转让专利

申请号 : CN202311744887.0

文献号 : CN117424765B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王德健王慧东董科雄

申请人 : 天津医康互联科技有限公司

摘要 :

本申请提供了一种分布式独热编码方法、装置、电子设备及计算机存储介质,其中,该方法包括:获取各个参与方的局部类别特征集合,局部类别特征集合为各个参与方的本地数据去重后得到的类别特征集合;根据局部类别特征集合生成全局编码器;将全局编码器发送到各个参与方,全局编码器用于对各个参与方的本地数据进行独热编码。本申请的服务器收集的是局部类别特征集合,可以保护各方之间数据传输的隐私和安全。另外,所有的参与方都根据全局编码器进行编码,以使所有参与方都使用相同的编码方式对本地数据进行编码,可以避免各个参与方的数据编码后的独热编码向量出现不一致或冲突的情况,便于各个参与方的数据统一与管理。

权利要求 :

1.一种分布式独热编码方法,其特征在于,应用于服务器,包括:获取各个参与方的局部类别特征集合,所述局部类别特征集合为所述各个参与方的本地数据去重后得到的类别特征集合;

根据所述局部类别特征集合生成全局编码器;

将所述全局编码器发送到所述各个参与方,所述全局编码器用于对所述各个参与方的所述本地数据进行独热编码;

所述据所述局部类别特征集合生成全局编码器,包括:

对获取到的所有所述局部类别特征集合进行去重、聚合处理,得到全局类别特征集合;

根据所述全局类别特征集合生成全局编码器;

所述根据所述全局类别特征集合生成全局编码器,包括:

将所述全局类别特征集合中的每个类别特征的每个取值转换为一个独热编码向量,并根据多个所述全局类别特征集合对应的多个独热编码向量生成所述全局编码器;所述全局编码器中包括每个类别特征的名称及对应的具体编码值。

2.根据权利要求1所述的方法,其特征在于,所述根据所述局部类别特征集合生成全局编码器,包括:分别对各个参与方的所述局部类别特征集合中的类别特征进行独热编码,得到多个所述参与方对应的全局编码器。

3.根据权利要求1或2所述的方法,其特征在于,所述类别特征的名称及对应的具体编码值用于对各个参与方的所述本地数据进行独热编码。

4.一种分布式独热编码方法,其特征在于,应用于参与方,包括:对所述参与方的本地数据的各个类别特征进行去重处理,以得到所述参与方对应的局部类别特征集合;

将所述局部类别特征集合发送到服务器;

接收所述服务器发送的全局编码器,所述全局编码器根据多个所述参与方的所述局部类别特征集合生成;

根据所述全局编码器对所述参与方的所述本地数据进行独热编码;

其中,所述全局编码器,通过对获取到的所有所述局部类别特征集合进行去重、聚合处理,得到全局类别特征集合;将所述全局类别特征集合中的每个类别特征的每个取值转换为一个独热编码向量,并根据多个所述全局类别特征集合对应的多个独热编码向量生成;

所述全局编码器中包括每个类别特征的名称及对应的具体编码值。

5.一种分布式独热编码装置,其特征在于,应用于服务器,包括:获取模块,用于获取各个参与方的局部类别特征集合,所述局部类别特征集合为所述各个参与方的本地数据去重后得到的类别特征集合;

生成模块,用于根据所述局部类别特征集合生成全局编码器;

第一发送模块,用于将所述全局编码器发送到所述各个参与方,所述全局编码器用于对所述各个参与方的所述本地数据进行独热编码;

所述生成模块,还用于对获取到的所有所述局部类别特征集合进行去重、聚合处理,得到全局类别特征集合;根据所述全局类别特征集合生成全局编码器;

所述生成模块,还用于将所述全局类别特征集合中的每个类别特征的每个取值转换为一个独热编码向量,并根据多个所述全局类别特征集合对应的多个独热编码向量生成所述全局编码器;所述全局编码器中包括每个类别特征的名称及对应的具体编码值。

6.一种分布式独热编码装置,其特征在于,应用于参与方,包括:处理模块,用于对所述参与方的本地数据的各个类别特征进行去重处理,以得到所述参与方对应的局部类别特征集合;

第二发送模块,用于将所述局部类别特征集合发送到服务器;

接收模块,用于接收所述服务器发送的全局编码器,所述全局编码器根据多个所述参与方的所述局部类别特征集合生成;

编码模块,用于根据所述全局编码器对所述参与方的所述本地数据进行独热编码;

其中,所述全局编码器,通过对获取到的所有所述局部类别特征集合进行去重、聚合处理,得到全局类别特征集合;将所述全局类别特征集合中的每个类别特征的每个取值转换为一个独热编码向量,并根据多个所述全局类别特征集合对应的多个独热编码向量生成;

所述全局编码器中包括每个类别特征的名称及对应的具体编码值。

7.一种电子设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行如权利要求1至4任一所述的方法的步骤。

8.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至4任一所述的方法的步骤。

说明书 :

分布式独热编码方法、装置、电子设备及计算机存储介质

技术领域

[0001] 本申请涉及数据处理领域,具体而言,涉及一种分布式独热编码方法、装置、电子设备及计算机存储介质。

背景技术

[0002] 在联邦学习中,如果数据中某些特征为字符型数据,那么就需要对这些数据进行独热编码。目前的独热编码通常是直接将待编码特征收集起来进行独热编码,即把原始数据集中到一个地方。这种方式可以会存在隐私问题,易暴露各参与方的数据隐私。

发明内容

[0003] 有鉴于此,本申请实施例的目的在于提供一种分布式独热编码方法、装置、电子设备及计算机存储介质,能够保护独热编码时数据的隐私和安全。
[0004] 第一方面,本申请实施例提供了一种分布式独热编码方法,应用于服务器,包括:获取各个参与方的局部类别特征集合,所述局部类别特征集合为所述各个参与方的本地数据去重后得到的类别特征集合;根据所述局部类别特征集合生成全局编码器;将所述全局编码器发送到所述各个参与方,所述全局编码器用于对所述各个参与方的所述本地数据进行独热编码。
[0005] 在上述实现过程中,服务器在收集各个参与方的数据时,收集的是局部类别特征集合,而不是本地数据的原始数据,可以保护参与方与服务器之间、以及参与方与参与方之间的数据进行传输的隐私和安全。另外,服务器与参与方在进行数据传输时,只需要传输局部类别特征集合和全局编码器,不需要传输原始数据和原始数据对应的独热编码向量,可以减少数据传输量,提高通信质量和效率。再者,服务器在获取到各个参与方的局部类别特征集合后生成全局编码器,所有的参与方都根据该全局编码器进行编码,以使所有参与方都使用相同的编码方式对本地数据进行编码,进而可以避免各个参与方的数据编码后的独热编码向量出现不一致或冲突的情况,便于各个参与方的数据统一与管理。
[0006] 在一个实施例中,所述根据所述局部类别特征集合生成全局编码器,包括:对获取到的所有所述局部类别特征集合进行去重、聚合处理,得到全局类别特征集合;根据所述全局类别特征集合生成全局编码器。
[0007] 在上述实现过程中,通过将获取到的所有局部类别特征集合进行去重处理,去除掉多个参与方的重复的类别特征,可以减少服务器对重复的类别特征进行重复的独热编码,提高独热编码效率。
[0008] 在一个实施例中,所述根据所述全局类别特征集合生成全局编码器,包括:将所述全局类别特征集合中的每个类别特征的每个取值转换为一个独热编码向量,并根据多个所述全局类别特征集合对应的多个独热编码向量生成所述全局编码器。
[0009] 在上述实现过程中,通过对全局类别特征集合中的类别特征进行独热编码,可以得到所有参与方本地数据中出现过的类别特征的可能取值对应的独热编码向量。即所有参与方都使用相同的编码方式,可以避免多个参与方编码结果出现不一致或冲突的情况,有利于数据的统一与管理。
[0010] 在一个实施例中,所述根据所述局部类别特征集合生成全局编码器,包括:分别对各个参与方的所述局部类别特征集合中的类别特征进行独热编码,得到多个所述参与方对应的全局编码器。
[0011] 在上述实现过程中,服务器在获取到局部类别特征集合后,直接对各个局部类别特征集合中的类别特征进行独热编码,不需要对局部类别特征集合中的类别特征进行统一处理,对于参与方较少的场景,可以降低对服务器的性能要求,降低独热编码的成本。
[0012] 在一个实施例中,所述全局编码器中包括每个类别特征的名称及对应的具体编码值,所述类别特征的名称及对应的具体编码值用于对各个参与方的所述本地数据进行独热编码。
[0013] 在上述实现过程中,通过在全局编码器中设置每个类别特征的名称以及对应的具体编码值,参与方在对本地数据进行编码时,可以直接将本地数据的名称与全局编码器中的类别特征的名称进行匹配,得到该本地数据对应的具体编码值,进而可以通过各个参与方完成该参与方的本地数据的独热编码,服务器与参与方在进行数据传输时,只需要传输局部类别特征集合和全局编码器,不需要传输原始数据和原始数据对应的独热编码向量,可以减少数据传输量,提高通信质量和效率。
[0014] 第二方面,本申请实施例还提供一种分布式独热编码方法,应用于参与方,包括:对所述参与方的本地数据的各个类别特征进行去重处理,以得到所述参与方对应的局部类别特征集合;将所述局部类别特征集合发送到服务器;接收所述服务器发送的全局编码器,所述全局编码器根据多个所述参与方的所述局部类别特征集合生成;根据所述全局编码器对所述参与方的所述本地数据进行独热编码。
[0015] 在上述实现过程中,参与方将原始数据进行去重处理后得到局部类别特征集合,并向服务器传输该局部类别特征集合,而不是本地数据的原始数据,可以保护参与方与服务器之间、以及参与方与参与方之间的数据进行传输的隐私和安全。另外,服务器与参与方在进行数据传输时,只需要传输局部类别特征集合和全局编码器,不需要传输原始数据和原始数据对应的独热编码向量,可以减少数据传输量,提高通信质量和效率。再者,所有的参与方都根据该全局编码器进行编码,以使所有参与方都使用相同的编码方式对本地数据进行编码,进而可以避免各个参与方的数据编码后的独热编码向量出现不一致或冲突的情况,便于各个参与方的数据统一与管理。
[0016] 第三方面,本申请实施例还提供一种分布式独热编码装置,应用于服务器,包括:获取模块,用于获取各个参与方的局部类别特征集合,所述局部类别特征集合为所述各个参与方的本地数据去重后得到的类别特征集合;生成模块,用于根据所述局部类别特征集合生成全局编码器;第一发送模块,用于将所述全局编码器发送到所述各个参与方,所述全局编码器用于对所述各个参与方的所述本地数据进行独热编码。
[0017] 第四方面,本申请实施例还提供一种分布式独热编码装置,应用于参与方,包括:处理模块,用于对所述参与方的本地数据的各个类别特征进行去重处理,以得到所述参与方对应的局部类别特征集合;第二发送模块,用于将所述局部类别特征集合发送到服务器;
接收模块,用于接收所述服务器发送的全局编码器,所述全局编码器根据多个所述参与方的所述局部类别特征集合生成;编码模块,用于根据所述全局编码器对所述参与方的所述本地数据进行独热编码。
[0018] 第五方面,本申请实施例还提供一种电子设备,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面的任一种可能、上述第二方面,或第二方面的任一种可能的实施方式中的方法的步骤。
[0019] 第六方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面的任一种可能的实施方式中分布式独热编码方法的步骤。
[0020] 为使本申请的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。

附图说明

[0021] 为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0022] 图1为本申请实施例提供的服务器与参与方进行交互的示意图;
[0023] 图2为本申请实施例提供的电子设备的方框示意图;
[0024] 图3为本申请实施例提供的应用于服务器的分布式独热编码方法的流程图;
[0025] 图4为本申请实施例提供的应用于参与方的分布式独热编码方法的流程图;
[0026] 图5为本申请实施例提供的应用于服务器的分布式独热编码装置的功能模块示意图;
[0027] 图6为本申请实施例提供的应用于参与方的分布式独热编码装置的功能模块示意图。

具体实施方式

[0028] 下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行描述。
[0029] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0030] 机器学习是一种利用数据和算法来让计算机自动学习和优化的技术。机器学习模型是一种可以根据输入数据产生输出结果的数学函数。为了训练机器学习模型,我们需要提供大量的数据作为输入,以及相应的输出结果作为标签。这些数据和标签就构成了训练集,用于调整模型的参数,使模型能够更好地拟合数据的规律。
[0031] 然而,并不是所有的数据都可以直接作为模型的输入,机器学习的输入要求必须是数值型数据。然而通常获取的数据集中很多特征是字符型数据而非数值型数据,而这部分数据也是包含重要的信息的,如,性别、颜色、国家等都是字符型数据。为了解决这个问题,通常需要对类别型数据进行编码,也就是将它们转换为数值型特征。如果直接进行转换,因为它们之间没有大小或顺序的关系,比如用1表示男性,2表示女性,那么模型可能会误认为女性比男性大,或者女性和男性之间有某种线性关系,这显然是不合理的。
[0032] 一种常用的编码方式是独热编码(one‑hot encoding)。独热编码的思想是将每个类别都用一个只包含0和1的向量来表示,其中只有一个元素为1,其余元素为0。这个元素所在的位置就对应了该类别在所有可能类别中的索引。例如,如果有三个类别:红色、绿色、蓝色,那么可以用以下三个向量来表示它们:红色:[1,0,0],绿色:[0,1,0],蓝色:[0,0,1]。这样,每个类别都有一个唯一的向量表示,而且向量之间没有任何大小或顺序的关系。这样就可以避免模型对类别型数据产生错误的假设或推断。
[0033] 但是本申请发明人经长期研究发现,在分布式场景下,多方进行联邦学习联合模型训练时均需要进行独热编码,这种情况下如果直接将待编码特征收集起来进行独热编码一方面会存在隐私问题,暴露各参与方数据隐私。另一方面,当数据量过大时会存在传输效率问题。
[0034] 有鉴于此,本申请提出一种分布式独热编码,通过设置服务器在收集各个参与方的数据时,收集局部类别特征集合,而不收集本地数据的原始数据,可以保护参与方与服务器之间、以及参与方与参与方之间的数据进行传输的隐私和安全。另外,服务器与参与方在进行数据传输时,只需要传输局部类别特征集合和全局编码器,不需要传输原始数据和原始数据对应的独热编码向量,可以减少数据传输量,提高通信质量和效率。
[0035] 为便于对本实施例进行理解,首先对执行本申请实施例所公开的一种分布式独热编码方法的运行环境进行详细介绍。
[0036] 如图1所示,是本申请实施例提供的服务器与参与方进行交互的示意图。所述服务器通过网络与一个或多个参与方进行通信连接,以进行数据通信或交互。
[0037] 这里的服务器可以是网络服务器、数据库服务器等。该服务器用于对参与方发送的局部类别特征集合中的类别特征进行独热编码,并将生成的全局编码器发送给各个参与方。
[0038] 上述参与方可以是个人电脑(personal computer,PC)、平板电脑、智能手机、个人数字助理(personal digital assistant,PDA)等需要进行独热编码的终端设备。该参与方用于对本地数据进行去重处理,得到局部类别特征集合。以及根据全局编码器对该参与方的本地数据进行独热编码。
[0039] 为便于对本实施例进行理解,下面对执行本申请实施例所公开的分布式独热编码方法的电子设备进行详细介绍。该电子设备可以设置于服务器,也可以设置于上述多个参与方,该电子设备的设置方式可以根据实际情况进行调整,本申请不做具体限制。
[0040] 如图2所示,是电子设备的方框示意图。电子设备100可以包括存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对电子设备100的结构造成限定。例如,电子设备100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。
[0041] 上述的存储器111、存储控制器112、处理器113、外设接口114及输入输出单元115各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。上述的处理器113用于执行存储器中存储的可执行模块。
[0042] 其中,存储器111可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read‑Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read‑Only Memory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read‑Only Memory,简称EEPROM)等。其中,存储器111用于存储程序,所述处理器113在接收到执行指令后,执行所述程序,本申请实施例任一实施例揭示的过程定义的电子设备100所执行的方法可以应用于处理器113中,或者由处理器113实现。
[0043] 上述的处理器113可能是一种集成电路芯片,具有信号的处理能力。上述的处理器113可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(digital signal 
processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0044] 上述的外设接口114将各种输入/输出装置耦合至处理器113以及存储器111。在一些实施例中,外设接口114,处理器113以及存储控制器112可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
[0045] 上述的输入输出单元115用于提供给用户输入数据。所述输入输出单元115可以是,但不限于,鼠标和键盘等。
[0046] 本实施例中的电子设备100可以用于执行本申请实施例提供的各个方法中的各个步骤。下面通过几个实施例详细描述分布式独热编码方法的实现过程。
[0047] 请参阅图3,是本申请实施例提供的应用于服务器的分布式独热编码方法的流程图。下面将对图3所示的具体流程进行详细阐述。
[0048] 步骤201,获取各个参与方的局部类别特征集合。
[0049] 这里的各个参与方是指需要进行独热编码的一个或多个客户端。每个参与方中包括了一个或多个本地数据,每个参与方中的一个或多个本地数据可以属于一种或多种类别特征。
[0050] 上述的局部类别特征集合为各个参与方的本地数据去重后得到的类别特征集合。
[0051] 应理解,若某一参与方中包括了多个本地数据,该多个本地数据中可能会存在部分重合的情况,通过对这些本地数据进行去重处理,可以得到该参与方的本地数据的类别特征集合。
[0052] 示例性地,若某个参与方中包括了:“男、女、女、女、男、其他、其他、男、男、其他”这些本地数据,那么该参与方的本地数据进行去重处理后,得到的局部类别特征集合可以为:男、女、其他。
[0053] 若某个参与方中包括了:“黄、绿、黄、黄、黄、红、红、绿、紫、红、绿、绿、紫”这些本地数据,那么该参与方的本地数据进行去重处理后,得到的局部类别特征集合可以为:黄、绿、紫、红。
[0054] 在一种实施例中,各个参与方对各自的本地数据进行去重处理,得到相应的局部类别特征集合,并分别将各自得到的局部类别特征集合发送给服务器。
[0055] 步骤202,根据局部类别特征集合生成全局编码器。
[0056] 应理解,服务器在获取到各个参与方发送的局部类别特征集合后,对这些局部类别特征集合进行独热编码,得到对应的全局编码器。
[0057] 这里的全局编码器为所有参与方本地数据中出现过的类别特征的可能取值对应的独热编码向量的集合。
[0058] 步骤203,将全局编码器发送到各个参与方。
[0059] 这里的全局编码器用于对各个参与方的本地数据进行独热编码。
[0060] 应理解,服务器在得到全局编码器后,将该全局编码器分别发送到各个参与方。各个参与方在接收到该全局编码器后,各个参与方使用该全局编码器对相应的本地数据进行独热编码。
[0061] 示例性地,若服务器生成的全局编码器为{男,[1,0,0]、女,[0,1,0]、其他,[0,0,1]}。参与方A的本地数据为:{男、女、女、男}、参与方B的本地数据为:{男、男、女、男}、参与方C的本地数据为:{其他、女、女、女}、参与方D的本地数据为:{其他、女、其他、男},则参与方A在接收到全局编码器,该其本地数据进行独热编码得到的独热编码向量分别为:{[1,0,
0]、[0,1,0]、[0,1,0]、[1,0,0]}。参与方B在接收到全局编码器,该其本地数据进行独热编码得到的独热编码向量分别为:{[1,0,0]、[1,0,0]、[0,1,0]、[1,0,0]}。参与方C在接收到全局编码器,该其本地数据进行独热编码得到的独热编码向量分别为:{[0,0,1]、[0,1,0]、[0,1,0]、[0,1,0]}。参与方D在接收到全局编码器,该其本地数据进行独热编码得到的独热编码向量分别为:{[0,0,1]、[0,1,0]、[0,0,1]、[1,0,0]}。
[0062] 在上述实现过程中,服务器在收集各个参与方的数据时,收集的是局部类别特征集合,而不是本地数据的原始数据,可以保护参与方与服务器之间、以及参与方与参与方之间的数据进行传输的隐私和安全。另外,服务器与参与方在进行数据传输时,只需要传输局部类别特征集合和全局编码器,不需要传输原始数据和原始数据对应的独热编码向量,可以减少数据传输量,提高通信质量和效率。再者,服务器在获取到各个参与方的局部类别特征集合后生成全局编码器,所有的参与方都根据该全局编码器进行编码,以使所有参与方都使用相同的编码方式对本地数据进行编码,进而可以避免各个参与方的数据编码后的独热编码向量出现不一致或冲突的情况,便于各个参与方的数据统一与管理。
[0063] 在一种可能的实现方式中,步骤202,包括:对获取到的所有局部类别特征集合进行去重、聚合处理,得到全局类别特征集合;根据全局类别特征集合生成全局编码器。
[0064] 可以理解地,服务器接收的是多个参与方的局部类别特征集合,服务器需要对接收到的所有局部类别特征集合进行编码。而多个参与方的局部类别特征集合中也可能会存在部分重合的部分,因而,服务器在进行编码前,可以先对接收到的多个局部类别特征集合进行去重处理,得到所有参与方的本地数据的类别特征,然后再将这些类别特征进行聚合处理,得到全局类别特征集合。
[0065] 这里的全局类别特征集合中包含了所有参与方本地数据中出现过的类别特征的可能取值。
[0066] 示例性地,若服务器接收到的局部类别特征集合分别为:{男、女}、{其他}、{男、女、其他}、{女}、{男、其他}、{男、女},则该全局类别特征集合可以为{男、女、其他}。
[0067] 若服务器接收到的局部类别特征集合分别为:{红、绿}、{黄、绿}、{紫、黄、红}、{紫}、{黄、紫}、{红、黄、绿},则该全局类别特征集合可以为{红、绿、黄、紫}。
[0068] 应理解,在确定出全局类别特征集合后,可以对该全局类别特征集合中的各个类别特征分别进行独热编码,将该全局类别特征集合中所有类别特征对应的独热编码进行集合,生成该全局类别特征集合对应的全局编码器。
[0069] 在上述实现过程中,通过将获取到的所有局部类别特征集合进行去重处理,去除掉多个参与方的重复的类别特征,可以减少服务器对重复的类别特征进行重复的独热编码,提高独热编码效率。
[0070] 在一种可能的实现方式中,根据全局类别特征集合生成全局编码器,包括:将全局类别特征集合中的每个类别特征的每个取值转换为一个独热编码向量,并根据多个全局类别特征集合对应的多个独热编码向量生成全局编码器。
[0071] 应理解,服务器在得到全局类别特征集合后,可以先对该全局类别特征集合中的每个类别特征进行独热编码,该全局类别特征集合中所有的类别特征的独热编码向量的集合为该全局类别特征集合对应的全局编码器。
[0072] 示例性地,若全局类别特征集合为{男、女、其他},则分别对该全局类别特征集合中的男、女以及其他进行独热编码,得到[1,0,0]、[0,1,0]以及[0,0,1],则该全局编码器可以为{男,[1,0,0]、女,[0,1,0]、其他,[0,0,1]}。
[0073] 若全局类别特征集合为{黄、绿、红、紫},则分别对该全局类别特征集合中的黄、绿、红和紫进行独热编码,得到[1,0,0,0]、[0,1,0,0]、 [0,0,1,0]以及[0,0,0,1],则该全局编码器可以为{黄,[1,0,0,0]、绿,[0,1,0,0]、红,[0,0,1,0]、紫[0,0,0,1]}。
[0074] 在上述实现过程中,通过对全局类别特征集合中的类别特征进行独热编码,可以得到所有参与方本地数据中出现过的类别特征的可能取值对应的独热编码向量。即所有参与方都使用相同的编码方式,可以避免多个参与方编码结果出现不一致或冲突的情况,有利于数据的统一与管理。
[0075] 在一种可能的实现方式中,步骤202,包括:分别对各个参与方的所述局部类别特征集合中的类别特征进行独热编码,得到多个所述参与方对应的全局编码器。
[0076] 在一种实施方式中,服务器在获取到各个参与方的局部类别特征集合后,可以直接对获取到的局部类别特征集合中的类别特征进行独热编码,并生成该局部类别特征集合对应的全局编码器。
[0077] 这里的全局编码器可以为多个,该全局编码器的数量可以根据参与方的数量确定。例如,3个参与方对应3个全局编码器,2个参与方对应2个全局编码器等。
[0078] 示例性地,若需要进行独热编码的参与方为3个,分别为参与方1、参与方2和参与方3,则这三个参与方生成的局部类别特征集合也为3个,分别为局部类别特征集合1、局部类别特征集合2和局部类别特征集合3。服务器在获取到上述局部类别特征集合1、局部类别特征集合2和局部类别特征集合3后,分别对各个局部特征集合中的类别特征进行独热编码,并根据每个局部特征集合中的类别特征的独热编码向量生成相应的全局编码器,则可以分别生成全局编码器1、全局编码器2和全局编码器3。
[0079] 若需要进行独热编码的参与方为2个,分别为参与方1和参与方2,则这两个参与方生成的局部类别特征集合也为2个,分别为局部类别特征集合1和局部类别特征集合2。服务器在获取到上述局部类别特征集合1和局部类别特征集合2后,分别对各个局部特征集合中的类别特征进行独热编码,并根据每个局部特征集合中的类别特征的独热编码向量生成相应的全局编码器,则可以分别生成全局编码器1和全局编码器2。
[0080] 应理解,若服务器直接对获取到的局部类别特征集合中的类别特征进行独热编码,并生成该局部类别特征集合对应的全局编码器。则服务器在向参与方发送全局编码器时,将各个全局编码器分别发送到对应的参与方。
[0081] 示例性地,如上述示例,若服务器生成的全局编码器包括全局编码器1、全局编码器2和全局编码器3,则服务器在向参与方发送全局编码器时,将全局编码器1发送给参与方1,将全局编码器2发送给参与方2,将全局编码器3发送给参与方3。
[0082] 在上述实现过程中,服务器在获取到局部类别特征集合后,直接对各个局部类别特征集合中的类别特征进行独热编码,不需要对局部类别特征集合中的类别特征进行统一处理,对于参与方较少的场景,可以降低对服务器的性能要求,降低独热编码的成本。
[0083] 在一种可能的实现方式中,全局编码器中包括每个类别特征的名称及对应的具体编码值。
[0084] 这里的类别特征的名称及对应的具体编码值用于对各个参与方的本地数据进行独热编码。
[0085] 应理解,服务器在对类别特征进行独热编码后,会生成各个类别特征对应的独热编码向量。由于全局编码器发送到各个参与方后,各个参与方需要根据该全局编码器对参与方的本地数据进行独热编码,若该全局编码器中只有表示类别特征的独热编码向量,参与方在根据该全局编码器对本地数据进行独热编码时,不能确定各个本地数据分别对应哪个独热编码向量。因而,该全局编码器中,可以包括每个类别特征的名称,以及该类别特征对应的具体编码值。
[0086] 当参与方在获取到全局编码器后,将该参与方中的本地数据与全局编码器中的类别特征的名称进行匹配,匹配到对应的类别特征后,将该类别特征对应的具体编码值作为该本地数据的编码值。
[0087] 示例性地,若全局编码器为{黄,[1,0,0,0]、绿,[0,1,0,0]、红,[0,0,1,0]、紫,[0,0,0,1]},参与方的本地数据分别为:黄、绿、紫、紫、红、绿。则参与方在进行独热编码时,将本地数据中的“黄”与全局编码器进行匹配,得到匹配结果为“黄,[1,0,0,0]”;将本地数据中的“绿”与全局编码器进行匹配,得到匹配结果为“绿,[0,1,0,0]”;将本地数据中的“红”与全局编码器进行匹配,得到匹配结果为“红,[0,0,1,0]”;将本地数据中的“紫”与全局编码器进行匹配,得到匹配结果为“紫,[0,0,0,1]”。则该参与方的本地数据独热编码结果为:
{[1,0,0,0]、[0,1,0,0]、[0,0,0,1]、[0,0,0,1]、[0,0,1,0]、[0,1,0,0]}。
[0088] 在上述实现过程中,通过在全局编码器中设置每个类别特征的名称以及对应的具体编码值,参与方在对本地数据进行编码时,可以直接将本地数据的名称与全局编码器中的类别特征的名称进行匹配,得到该本地数据对应的具体编码值,进而可以通过各个参与方完成该参与方的本地数据的独热编码,服务器与参与方在进行数据传输时,只需要传输局部类别特征集合和全局编码器,不需要传输原始数据和原始数据对应的独热编码向量,可以减少数据传输量,提高通信质量和效率。
[0089] 请参阅图4,是本申请实施例提供的应用于参与方的分布式独热编码方法的流程图。下面将对图4所示的具体流程进行详细阐述。
[0090] 步骤301,对参与方的本地数据的各个类别特征进行去重处理,以得到参与方对应的局部类别特征集合。
[0091] 应理解,若某一参与方中包括了多个本地数据,该多个本地数据中可能会存在部分重合的情况,通过对这些本地数据进行去重处理,可以得到该参与方的本地数据的类别特征集合。
[0092] 这里的各个参与方均分别对该参与方中的各个类别特征进行去重处理,得到该参与方的局部类别特征集合。
[0093] 步骤302,将局部类别特征集合发送到服务器。
[0094] 可以理解地,各个参与方在得到各自的局部类别特征集合后,将该局部类别特征发送到服务器。服务器在接收到各个参与方发送的局部类别特征集合后,会生成相应的全局编码器。
[0095] 步骤303,接收服务器发送的全局编码器。
[0096] 这里的全局编码器根据多个参与方的局部类别特征集合生成。
[0097] 步骤304,根据全局编码器对参与方的本地数据进行独热编码。
[0098] 应理解,参与方在获取到全局编码器后,将该参与方的本地数据与全局编码器进行匹配,匹配得到各个本地数据对应的具体编码值,这些具体编码值即为各个本地数据对应的独热编码向量。
[0099] 在上述实现过程中,参与方将原始数据进行去重处理后得到局部类别特征集合,并向服务器传输该局部类别特征集合,而不是本地数据的原始数据,可以保护参与方与服务器之间、以及参与方与参与方之间的数据进行传输的隐私和安全。另外,服务器与参与方在进行数据传输时,只需要传输局部类别特征集合和全局编码器,不需要传输原始数据和原始数据对应的独热编码向量,可以减少数据传输量,提高通信质量和效率。再者,所有的参与方都根据该全局编码器进行编码,以使所有参与方都使用相同的编码方式对本地数据进行编码,进而可以避免各个参与方的数据编码后的独热编码向量出现不一致或冲突的情况,便于各个参与方的数据统一与管理。
[0100] 基于同一申请构思,本申请实施例中还提供了与分布式独热编码方法对应的应用于服务器的分布式独热编码装置,由于本申请实施例中的装置解决问题的原理与前述的分布式独热编码方法实施例相似,因此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。
[0101] 请参阅图5,是本申请实施例提供的应用于服务器的分布式独热编码装置的功能模块示意图。本实施例中的分布式独热编码装置中的各个模块用于执行上述方法实施例中的各个步骤。分布式独热编码装置包括获取模块401、生成模块402、第一发送模块403;其中,
[0102] 获取模块401用于获取各个参与方的局部类别特征集合,所述局部类别特征集合为所述各个参与方的本地数据去重后得到的类别特征集合。
[0103] 生成模块402用于根据所述局部类别特征集合生成全局编码器。
[0104] 第一发送模块403用于将所述全局编码器发送到所述各个参与方,所述全局编码器用于对所述各个参与方的所述本地数据进行独热编码。
[0105] 一种可能的实施方式中,生成模块402,还用于:对获取到的所有所述局部类别特征集合进行去重、聚合处理,得到全局类别特征集合;根据所述全局类别特征集合生成全局编码器。
[0106] 一种可能的实施方式中,生成模块402,具体用于:将所述全局类别特征集合中的每个类别特征的每个取值转换为一个独热编码向量,并根据多个所述全局类别特征集合对应的多个独热编码向量生成所述全局编码器。
[0107] 一种可能的实施方式中,生成模块402,还用于:分别对各个参与方的所述局部类别特征集合中的类别特征进行独热编码,得到多个所述参与方对应的全局编码器。
[0108] 基于同一申请构思,本申请实施例中还提供了与分布式独热编码方法对应的应用于参与方的分布式独热编码装置,由于本申请实施例中的装置解决问题的原理与前述的分布式独热编码方法实施例相似,因此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。
[0109] 请参阅图6,是本申请实施例提供的应用于参与方的分布式独热编码装置的功能模块示意图。本实施例中的分布式独热编码装置中的各个模块用于执行上述方法实施例中的各个步骤。分布式独热编码装置包括处理模块501、第二发送模块502、接收模块503、编码模块504;其中,
[0110] 处理模块501用于对所述参与方的本地数据的各个类别特征进行去重处理,以得到所述参与方对应的局部类别特征集合。
[0111] 第二发送模块502用于将所述局部类别特征集合发送到服务器。
[0112] 接收模块503用于接收所述服务器发送的全局编码器,所述全局编码器根据多个所述参与方的所述局部类别特征集合生成。
[0113] 编码模块504用于根据所述全局编码器对所述参与方的所述本地数据进行独热编码。
[0114] 此外,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的分布式独热编码方法的步骤。
[0115] 本申请实施例所提供的分布式独热编码方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的分布式独热编码方法的步骤,具体可参见上述方法实施例,在此不再赘述。
[0116] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0117] 另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0118] 所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0119] 以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0120] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。