首页> 中国专利> 一种众包数据库下的双向K-匿名方法

一种众包数据库下的双向K-匿名方法

摘要

本发明公开了一种众包数据库下的双向k-匿名方法,其中,该方法包括:首先,针对公司职位数据集进行k-匿名处理;接着,针对应聘用户的原始数据集进行分阶段的匿名化处理;继而,将获得的匿名化的公司职位数据集和匿名化的用户数据集一同发布到众包平台,在注册用户做职业推荐任务后,得到用户-公司职位关系表A及用户-公司职位关系表B;对所述用户-公司职位关系表A和所述用户-公司职位关系表B进行交集运算,得到最终确定的用户-公司职位关系表。本发明不仅解决了众包数据库下不能同时保护应聘用户与公司双方隐私的问题,同时通过对应聘用户的原始数据的匿名化处理,在保证双方隐私不被泄露的同时,显著提高了匿名数据的可用性。

著录项

  • 公开/公告号CN105224881A

    专利类型发明专利

  • 公开/公告日2016-01-06

    原文格式PDF

  • 申请/专利权人 华中科技大学;

    申请/专利号CN201510611209.6

  • 发明设计人 丁晓锋;金海;张凡;

    申请日2015-09-23

  • 分类号G06F21/62;

  • 代理机构华中科技大学专利中心;

  • 代理人曹葆青

  • 地址 430074 湖北省武汉市洪山区珞喻路1037号

  • 入库时间 2023-12-18 13:18:56

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-12-26

    授权

    授权

  • 2016-02-03

    实质审查的生效 IPC(主分类):G06F21/62 申请日:20150923

    实质审查的生效

  • 2016-01-06

    公开

    公开

说明书

技术领域

本发明属于隐私保护领域,更具体地,涉及一种众包数据库下的双向 k-匿名方法。

背景技术

众包(crowdsourcing)是指一个公司或机构把过去由员工执行的工作 任务,以自由自愿的形式外包给非特定的(而且通常是大型的)大众网络 的做法,如亚马逊的MechanicalTurk。众包的工作流程具体如下:1、公司 将任务及相关数据发布到众包平台;2、众包平台上的注册用户(human worker)接受任务后获得相关数据;3、humanworker完成任务,将结果返 回给公司,并获得相应报酬。

近几年,随着众包技术的流行,其被越来越多的用于处理那些对计算 机较难而对人较易的数据分析任务。于是,一种在众包环境下由人参与的 新型数据库模型被提出,即众包数据库。例如,人才招聘网站(如51Job、 ChinaHR),可以将其接收到的求职者简历与公司职位信息发布到众包平台, 并提供相应的报酬让humanworker完成职业推荐任务。

然而,由于众包数据库中humanworker可以直接获得任务相关数据, 这其中可能包含应聘用户隐私信息(如用户个人简历中的联系方式,健康 状况等)与公司隐私信息(如薪金水平、加班情况及补贴等),因此,上述 过程可能造成应聘用户隐私信息与公司隐私信息的泄露,所以必须对众包 数据库做隐私保护处理。

隐私保护处理的一个有效手段是数据匿名化,其基本思想是隐藏原始 数据中的部分信息。k-匿名是数据匿名化中最重要的模型之一,其保证数据 匿名化后拥有相同准标识符属性的元组个数至少为k,从而使攻击者无法推 理出特定个体的隐私信息。但针对众包数据库下涉及供需求双方的应用场 景,现有的k-匿名技术存在以下缺陷:(1)数据匿名化处理后会造成原始 数据中部分有效信息的丢失,从而导致humanworker完成众包任务的正确 率降低,也就是说数据匿名化处理后的可用性低;(2)由于众包数据库中 可能包含应聘用户及公司双方的隐私信息,现有的k-匿名技术仅能保护一 方的隐私信息,而不能同时保护应聘用户与公司双方的隐私信息。相应地, 本领域亟需寻找一种适用于众包数据库环境下双方隐私保护的方法。

发明内容

针对现有技术的以上缺陷或不足,本发明提供了一种众包数据库下的 双向k-匿名方法,其中通过双向k-匿名机制分别对公司职位数据集和应聘 用户的原始数据集执行匿名化处理,同时,尤其是针对应聘用户的原始数 据集,本发明进行了专门的设计,提出了一种基于空间分割的两阶段k-匿 名算法,相应能够有效解决匿名化处理后,导致原始数据集中部分有效信 息的丢失,及众包数据库环境下k-匿名技术无法同时保护双方隐私的问题。 通过执行本发明中的方案,在同时保护双方隐私的基础上,还显著提高了 匿名数据的可用性,因而尤其适用于众包数据库环境下包含供需求双方之 类的应用场合。

为实现上述目的,本发明提出了一种众包数据库下的双向k-匿名方法, 其特征在于,所述方法具体包括以下步骤:

S1:首先,针对公司职位数据集,对其进行k-匿名处理:具体包括将 所述公司职位数据集按属性拆分为两个数据集,其一是将所述公司职位数 据集中除准标识符属性外的其他属性匿名化为空,处理后得到的所述公司 职位数据集中仅包含准标识符属性;另一是将所述公司职位数据集中准标 识符属性匿名化为空,处理后得到的所述公司职位数据集中包含除准标识 符属性之外的其他所有属性,由此获得匿名化的仅包含准标识符属性的第 一公司职位数据集和匿名化的不包含准标识符属性的第二公司职位数据集;

S2:接着,继续针对应聘用户的原始数据集进行分阶段的匿名化处理, 具体包括:通过获取的所述原始数据集的样本真实值对该原始数据集构成 的空间进行虚拟分割,得到最优分割点;继而,根据上述获得的该最优分 割点和获取的所述原始数据集的样本反馈值递归地分割所述原始数据集构 成的空间,从而得到子空间集合,最后根据子空间集合中各子空间的边界 对该原始数据集做匿名化处理,由此获得匿名化的用户数据集;

S3:将得到的所述第一公司职位数据集和所述用户数据集一同发布到 众包平台,在注册用户做职业推荐任务后,得到用户-公司职位关系表A;

S4:将得到的所述第二公司职位数据集和所述用户数据集一同发布到 众包平台,在注册用户做职业推荐任务后,得到用户-公司职位关系表B;

S5:最后,将上述步骤得到的所述用户-公司职位关系表A和所述用户 -公司职位关系表B,进行交集运算,得到最终确定的用户-公司职位关系表。

作为进一步优选的,对于步骤S2而言,优选采用基于空间分割的两阶 段k-匿名算法,该步骤具体包括以下子步骤:首先根据获取的原始数据集 的样本真实值对用户数据集构成的空间做第一阶段的虚拟分割,具体包括:

S211:首先,针对应聘用户的原始数据集随机抽样,提取样本数据中 应聘用户的曾经职业或当前职业作为所述应聘用户的真实值rk,其中rk∈R, R为职业种类,即真实值值域R=(r0,r1,…,rk,…,rn),k=0,1,…,n;

S212:接着,将匿名化处理后具有相同准标识符属性的应聘用户记为 所述多维空间的子空间cell,其中,每个cell均包含以下信息:位于该cell 内的应聘用户个数、样本个数和样本真实值;继而,得到该cell中样本真 实值分布T=(t0,t1,…,tk,…,tn)的方差为:

var(T)=Σk=0ntk2n+1-(Σk=0ntkn+1)2

其中tk表示该cell中真实值为rk的样本个数,其中k为样本真实值分 布中的取值个数,k=0,1,…,n;;所述样本的准标识符属性构成该空间的候 选分割点集合P={Pi|0≤i≤d},其中i表示所述原始数据集构成的多维空间 的维度,即所述原始数据集中各准标识符属性;设第i维上候选分割点集合 为Pi=(pi0,pi1,...,pij,...,pim),其中j=0,1,…,m为候选分割点集合中的取值个数, 那么所述Pi中pij的估值函数为:

val(pij)=∑T∈Γvar(T)

其中Γ表示被pij分割后产生的所有cell对应的T的集合;

S213:根据上述估值函数分别计算第0~n维上每个候选分割点pijpij的 估值,得到拥有最大估值的最优分割点pik,其中k∈[0,1,...,m];

S214:将所述pik从所述Pi中删除,并添加pik到第i维最优分割点集合 divider[i]中,记divider[0…d]为多维空间中最优分割点的数组,i表示维度;

S215:判断候选分割点集合P中是否存在合法分割点,即是否满足k- 匿名,若存在,则执行步骤S213;若不存在,则算法结束,divider[0…d] 为产生结果。

继而,针对上述步骤S211中得到的所述样本数据,将其发送到众包平 台,根据获取的反馈值进行正式的空间分割,即执行基于空间分割的两阶 段的k-匿名算法中第二阶段正式的分割空间,具体包括如下步骤:

S221:将步骤S211中获得的所述样本数据发布到众包平台,注册用户 根据样本精确信息为应聘用户推荐职位,以获得样本反馈值F=(f0,f1,…, fk,…,fn),其值域仍为R=(r0,r1,…,rk,…,rn),k=0,1,…,n;继而,根据获 得的所述样本反馈值计算所述cell评分函数为:

score(cell)=Σk=0ntkn+1×fkn+1

其中,fk表示所述cell中该样本反馈值为rk的样本个数;由于每次分割 均将原空间分割为子空间cell1和cell2,从步骤S214中的所述divider[0…d] 取出分割点div,其估值函数为:

val(div)=score(cell1)+score(cell2);

S222:针对当前cell,判断该divider[0…d]中是否存在满足k-匿名的分 割点,若存在,则执行S223;若不存在,则执行S226;

S223:根据所述分割点div的估值函数,在divider[0…d]中计算拥有最 大估值的分割点divMax,若val(divMax)>score(cell),则通过所述最大估值 的divMax将当前空间分割为cell1和cell2,然后针对cell1和cell2分别对应 依次执行S224及S225,否则,执行S226;

S224:针对cell1执行S222;

S225:针对cell2执行S222;

S226:将该cell插入到子空间集合C中,并递归上一层;

S227:根据递归分割得到子空间集合C中各cell的边界,对所述原始 数据集的准标识符属性进行匿名化处理,从而得到匿名化的用户数据集。

总体而言,按照本发明点的以上技术方案与现有技术相比,主要具备 以下的技术优点:

1、本申请中通过结合众包数据库下包含供需求双方关系的运用需求, 相应对用户数据集及公司职位数据集同时执行k-匿名处理,由此,注册用 户humanworker通过众包数据库获得的数据均是匿名处理后的数据,能够 有效起到保护用户及公司双方隐私的作用;

2、此外,本发明中专门针对用户数据集提出了基于空间分割的两阶段 k-匿名算法,这样能够在确保用户隐私和公司隐私得到有效保护的同时,最 大可能的保留原始数据中的可用信息,显著提高了匿名化后数据的可用性, 使得humanworker完成众包任务时的正确率增加;

3、按照本发明提出的众包数据库下的双向k-匿名方法,在双方隐私均 达到有效保护及匿名化数据可用性得到提高的同时,并未存在过多的计算 复杂度,便于操控,,因而具有一定的可实施性及实用推广价值。

附图说明

图1是本发明众包数据库下的双向k-匿名方法的执行流程图;

图2是本发明中提出的基于空间分割的两阶段k-匿名算法示意图;

图3是本发明中进一步优选的k-匿名算法第一阶段流程图;

图4是本发明中进一步优选的k-匿名算法第二阶段流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图 及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体 实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,本发明提供了一种众包数据库下的双向k-匿名方法:

(1)对公司职位数据集进行两种极端的k-匿名处理:第一种是将所述 公司职位数据集中准标识符属性外的其他属性匿名化为空,处理后得到仅 包含准标识符属性的第一公司职位数据集;第二种是将所述公司职位数据 集中准标识符属性匿名化为空,处理后得到包含除准标识符属性之外的其 他所有属性的第二公司职位数据集;

(2)对应聘用户的原始数据集做k-匿名处理,采用基于空间分割的两 阶段的k-匿名算法,如图2所示,具体包括:

首先针对应聘用户的原始数据集随机抽取样本数据,根据获得的所述 原始数据集的样本真实值对该原始数据集构成的空间做第一阶段的虚拟分 割,如图3所示,具体包括以下步骤:

S211:首先,针对应聘用户的原始数据集随机抽样,提取样本数据中 应聘用户的曾经职业或当前职业作为所述应聘用户的真实值rk,其中rk∈R, R为职业种类,即真实值值域R=(r0,r1,…,rk,…,rn),其中k为值域取值个 数,k=0,1,…,n;

S212:接着,将匿名化处理后具有相同准标识符属性的应聘用户记为 所述多维空间的子空间cell,其中,每个cell均包含以下信息:位于该cell 内的应聘用户个数、样本个数和样本真实值;继而,得到该cell中样本真 实值分布T=(t0,t1,…,tk,…,tn)的方差为:

var(T)=Σi=0nti2n+1-(Σi=0ntin+1)2

其中tk表示该cell中真实值为rk的样本个数,其中k为样本真实值分 布中的取值个数,k=0,1,…,n;;所述样本的准标识符属性构成该空间的候 选分割点集合P={Pi|0≤i≤d},其中i表示所述原始数据集构成的多维空间 的维度,即所述原始数据集中各准标识符属性;设第i维上候选分割点集合 为Pi=(pi0,pi1,...,pij,...,pim),其中j=0,1,…,m为候选分割点集合中的取值个数, 那么所述Pi中pij的估值函数为:

val(pij)=∑T∈Γvar(T)

其中Γ表示被pij分割后产生的所有cell对应的T的集合;

S213:根据上述估值函数分别计算第0~n维上每个候选分割点pijpij的 估值,得到拥有最大估值的最优分割点pik,其中k∈[0,1,...,m];

S214:将所述pik从所述Pi中删除,并添加pik到第i维最优分割点集合 divider[i]中,记divider[0…d]为多维空间中最优分割点的数组,i表示维度; S215:判断候选分割点集合P中是否存在合法分割点,即是否满足k-匿名, 若存在,则执行步骤S213;若不存在,则算法结束,divider[0…d]为产生结 果。

继而,将获取的应聘用户的原始数据集的样本数据发布到众包平台, 根据获取的样本反馈值进行正式的空间分割,即基于空间分割的两阶段的 k-匿名算法中的第二阶段正式的分割空间,如图4所示,具体包括以下步骤:

S221:将步骤S211中获得的所述样本数据发布到众包平台,注册用户 根据样本精确信息为应聘用户推荐职位,以获得样本反馈值F=(fi,f1,…, fk,…,fn),其值域仍为R=(r0,r1,…,rk,…,rn),k=0,1,…,n;继而,根据获 得的所述样本反馈值计算所述cell评分函数为:

score(cell)=Σk=0ntkn+1×fkn+1

其中,fk表示所述cell中该样本反馈值为rk的样本个数;由于每次分割 均将原空间分割为子空间cell1和cell2,从步骤S214中的所述divider[0…d] 取出分割点div,其估值函数为:

val(div)=score(cell1)+score(cell2);

S222:针对当前cell,判断该divider[0…d]中是否存在满足k-匿名的分 割点,若存在,则执行S223;若不存在,则执行S226;

S223:根据所述分割点div的估值函数,在divider[0…d]中计算拥有最 大估值的分割点divMax,若val(divMax)>score(cell),则通过所述最大估值 的divMax将当前空间分割为cell1和cell2,然后针对cell1和cell2分别对应 依次执行S224及S225,否则,执行S226;

S224:针对cell1执行S222;

S225:针对cell2执行S222;

S226:将该cell插入到子空间集合C中,并递归上一层;

S227:根据递归分割得到子空间集合C中各cell的边界,对所述原始 数据集的准标识符属性进行匿名化处理,从而得到匿名化的用户数据集。

(3)将上述步骤获得的匿名化的所述用户数据集和所述第一公司职位 数据集发布到众包平台,在注册用户humanworker做职业推荐任务后,得 到用户-公司职位关系表A。

(4)将上述步骤获得的匿名化的所述用户数据集和所述第二公司职位 数据集发布到众包平台,在注册用户humanworker做职业推荐任务后,得 到用户-公司职位关系表B。

(5)将所述用户-公司职位关系表A和所述用户-公司职位B进行交集 运算,得到最终确定的用户-公司职位关系表。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等 同替换和改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号