
一种基于聚类映射的k
‑
匿名数据处理方法及系统
技术领域
1.本发明涉及数据发布隐私保护技术领域,尤其是涉及一种基于聚类映射的k
‑
匿名数据处理方法及系统。
背景技术:2.随着数据挖掘、大容量存储以及信息共享等相关技术的迅速发展,隐私保护已成为个人和社会越来越关心的热点问题之一。目前,市场上相当多的应用软件都频繁地收集大量用户的个人信息,实现信息共享较以前来说更为便捷;但是也使得以信息共享与数据挖掘等作为生产经营和科学研究等目的的数据,在公开过程中暴露的隐私泄露问题也日益严峻。例如,恶意的攻击者会收集机构或组织公开发布的数据,并与其他渠道获得的外部信息结合从而推测出相关用户的隐私信息。因此,如何在数据发布过程中有效地保护用户隐私信息就显得极其重要。数据发布者在进行数据公开前需要对数据集中包含的个人隐私数据进行预处理,使得发布的数据表中的用户个人信息与隐私信息不再存在一对一的关联关系,不泄露个体的隐私信息;另一方面是要尽量保留发布的匿名数据的可用性,即仍然能够根据发布的匿名数据进行以研究为目的的较为准确的数据分析。
3.数据发布中隐私泄露控制技术主要有分组技术、加密技术和失真技术这三类,其中分组技术较为常用。目前常见的分组技术较多关注的是个人隐私信息安全,很少关注匿名数据的效用。这对于一些使用发布的匿名数据进行研究分析和知识挖掘的数据使用者来说,通过分组划分技术实现的数据匿名化会大大降低匿名数据的效用,基于此数据进行生产分析和模型构建时会对结果的准确性及可信度方面产生严重的偏差。
4.因此,目前存在的问题是如何最大程度保留匿名数据的可用性,同时应对链接攻击造成的隐私泄露问题。
技术实现要素:5.针对上述社交网络中隐私信息扩散传播问题,本发明提供了一种基于聚类映射的k
‑
匿名数据处理方法及系统,既可以保留数据效用,同时能够应对链接攻击造成的隐私泄露,实现隐私保护。
6.为实现上述目的,本发明提供了一种基于聚类映射的k
‑
匿名数据处理方法,包括:
7.对待发布数据表进行预处理,得到待处理数据表;
8.预设所述待处理数据表的隐私保护程度;
9.对所述待处理数据表中的准标识属性预定义泛化规则;
10.定义量化所述待处理数据表中记录之间距离的距离量化模型;
11.根据所述距离量化模型及所述隐私保护程度完成数据表记录的聚类映射,生成分组信息;
12.根据所述分组信息按照所述泛化规则进行泛化处理,形成待发布的匿名数据表。
13.作为本发明的进一步改进,所述对待发布数据表进行预处理,得到待处理数据表;
包括:
14.仅保留所述待发布数据表中准标识属性和敏感属性,构成待处理数据表。
15.作为本发明的进一步改进,所述预设隐私保护程度,包括:
16.根据所述待处理数据表中信息的重要程度确定隐私保护程度,即隐私保护阈值k;
17.所述隐私保护阈值k设定在2到所述待发布数据表中记录总条数之间的整数。
18.作为本发明的进一步改进,所述对所述待处理数据表中的准标识属性预定义泛化规则;包括:
19.若所述准标识属性的数据类型为数值型,则无需预定义,在所述泛化处理过程中动态获取;
20.若所述准标识属性的数据类型为分类型,则按照该所述准标识属性的语义建立泛化树,将各所述准标识属性的属性值泛化为语义更抽象、范围更广的属性值。
21.作为本发明的进一步改进,所述待处理数据表中两条记录在所有所述准标识属性上的距离的总合作为该所述两条记录的量化距离。
22.作为本发明的进一步改进,对于所述准标识属性为数值型的,任意两个记录之间的距离为:
[0023][0024]
其中,
[0025]
v
i
和v
j
分别表示两个记录在数值型准标识属性上的取值;
[0026]
d表示该数值属性的域值大小;
[0027]
对于所述准标识属性为分类型的,任意两个记录之间的距离为:
[0028][0029]
distc(v
i
,v
j
)=dist(v
i
,λ(v
i
,v
j
))*dist(v
j
,λ(v
i
,v
j
))
[0030]
其中,
[0031]
λ(v
i
,v
j
)表示叶子节点v
i
和v
j
的最小公共父节点;
[0032]
h(x)表示节点x在泛化树的高度;
[0033]
h(t
c
)表示该属性泛化树的总高度;
[0034]
node(x)表示节点x在泛化树上包含的叶子节点数;
[0035]
node(t
c
)表示该属性泛化树的总叶子节点数。
[0036]
作为本发明的进一步改进,所述根据所述距离量化模型及所述隐私保护程度完成数据表记录的聚类映射,生成分组信息;包括:
[0037]
将待处理数据表中每个准标识属性列中的高频值构成序列值;
[0038]
根据所述距离量化模型度量所述待处理数据表中所有记录与所述序列值之间的量化距离,选择所述量化距离最小的一条记录作为第一个聚类质心;
[0039]
根据所述距离量化模型度量所述待处理数据表中所有记录与第一个所述聚类质心之间的量化距离,选择与第一个所述聚类质心的所述量化距离最近的k条记录划分为一个分组;
[0040]
根据所述距离量化模型度量所述待处理数据表中剩余未分组记录到已有聚类质
心的距离总和最小的一条作为一个所述聚类质心;
[0041]
根据所述距离量化模型度量所述待处理数据表中所有剩余未分组记录与该所述聚类质心之间的量化距离,选择与该所述聚类质心的所述量化距离最近的k条记录划分为一个分组;
[0042]
迭代聚类映射,直至完成所有聚类的映射。
[0043]
作为本发明的进一步改进,存储所有完成聚类映射的所述记录的分组编号,形成分组信息;
[0044]
检查分组信息,若存在未进行分组的记录,则根据所述距离量化模型度量该记录与各所述聚类质心之间的量化距离,并加入所述量化距离最近的聚类;
[0045]
更新所述分组信息。
[0046]
作为本发明的进一步改进,根据所述分组信息按照所述泛化规则进行泛化处理,包括:
[0047]
所述准标识属性为数值型的,以分组为单位,按照分组中所有记录在该准标识属性的阈值空间作为泛化处理的结果;
[0048]
所述准标识属性为分类型的,以分组为单位,按照分组中所有记录在该准标识属性对应泛化树中的最小公共父节点作为泛化处理的结果;
[0049]
将所述泛化处理的结果以分组为单位对分组中的记录在各所述准标识属性的对应位置上进行全部更新,形成待发布的匿名数据表。
[0050]
本发明还提供了一种基于聚类映射的k
‑
匿名数据处理系统,包括:数据表预处理模块、泛化规则预定义模块、隐私需求定制模块、距离量化模型、聚类映射分组模块和数据泛化处理模块;
[0051]
所述数据表预处理模块,用于:
[0052]
对待发布数据表进行预处理,得到待处理数据表;
[0053]
所述泛化规则预定义模块,用于:
[0054]
对所述待处理数据表中的准标识属性预定义泛化规则;
[0055]
所述隐私需求定制模块,用于:
[0056]
预设所述待处理数据表的隐私保护程度;
[0057]
所述距离量化模型,用于:
[0058]
量化所述待处理数据表中记录之间的距离;
[0059]
所述聚类映射分组模块,用于:
[0060]
根据所述距离量化模型及所述隐私保护程度完成数据表记录的聚类映射,生成分组信息;
[0061]
所述数据泛化处理模块,用于:
[0062]
根据所述分组信息按照所述泛化规则进行泛化处理,形成待发布的匿名数据表。
[0063]
与现有技术相比,本发明的有益效果为:
[0064]
本发明引入距离量化模型,将待发布数据表中的记录在映射空间中彼此之间的距离信息量化出来,并基于距离信息进行聚类映射完成分组划分,以分组为单位对表中的记录进行泛化操作,至此完成数据表的匿名化处理,该方法能够尽可能地保留数据效用,同时能够应对链接攻击造成的隐私泄露,实现隐私保护。
附图说明
[0065]
图1为本发明一种实施例公开的基于聚类映射的k
‑
匿名数据处理方法流程图;
[0066]
图2为本发明一种实施例公开的基于聚类映射的k
‑
匿名数据处理系统示意图;
[0067]
图3为本发明一种实施例公开的基于聚类映射的k
‑
匿名数据处理过程整体示意图。
具体实施方式
[0068]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0069]
下面结合附图对本发明做进一步的详细描述:
[0070]
如图1、3所示,本发明提供的一种基于聚类映射的k
‑
匿名数据处理方法,包括:
[0071]
s1、对待发布数据表进行预处理,得到待处理数据表;
[0072]
其中,
[0073]
在日常生活中,服务器接受来自不同信息源的数据存储在数据库中不同的关系数据表中。例如,对于来自医疗健康信息源的用户数据存储在数据库中的医疗信息数据表中,以便数据发布者能够根据医疗信息数据表中属性列的词条信息准确划分标识属性、准标识属性、敏感属性以及其他属性。
[0074]
标识属性是能够直接区分数据表中个体身份的属性,在数据预处理阶段直接删除,其他属性直接忽略,仅保留准标识属性及敏感属性形成待处理数据表。
[0075]
s2、预设待处理数据表的隐私保护程度;
[0076]
其中,
[0077]
在日常生活中,不同数据表对不同方面隐私的保护程度也十分不同。以“医疗信息表”和“选民信息表”为例,前者较为关注用户的疾病隐私,在公开发布医疗信息表时通常会提高数据表的隐私保护阈值,以加大对发布医疗数据的隐私保护程度;对于后者来说较为关注用户的身份信息,在预处理待发布数据表阶段就已删除选民信息表中能唯一识别用户身份信息的标识属性,如身份证号、手机号等,因此数据发布者设定选民信息表的隐私保护阈值不及前者。设定的阈值越大说明对该数据表的隐私保护程度就越大。
[0078]
根据待处理数据表中信息的重要程度确定隐私保护程度,即隐私保护阈值k,这个隐私保护阈值k是个具体的数值,设定隐私保护阈值k是2到待发布数据表中记录总条数之间的整数,表示该系统设定的待发布数据表承受链接攻击的能力;例如:数据拥有者设定隐私保护程度(即隐私保护阈值)为4,在数据表泛化处理结束后,匿名数据表在准标识属性序列上取值相同的记录条数至少为4,那么,攻击者在准标识属性上与外部信息结合准确识别个体身份的概率就降为0.25;也即:隐私保护程度会用来决定分组中最少所包含的记录个数。
[0079]
s3、对待处理数据表进行检查,判断待处理数据表中的任意一条记录在准标识属性序列上取值相同的个数是否不低于隐私保护阈值k,若不低于阈值则可将待处理数据表文件直接进行数据发布,否则,进入以下步骤,继续进行数据的匿名化处理。
[0080]
s4、对待处理数据表中的准标识属性预定义泛化规则;
[0081]
其中,
[0082]
根据待处理数据表中准标识属性的数据类型,预定义泛化规则;
[0083]
若准标识属性的数据类型为数值型,则无需预定义,在泛化处理过程中动态获取即可;例如,泛化处理过程中,“年龄”这一准标识属性,某分组中的所有记录在该准标识属性的最大值和最小值分别为50和23,那么该分组中所有记录在该“年龄”属性上的值将更新为“[23
‑
50]”。
[0084]
若准标识属性的数据类型为分类型,则分析待处理数据表中的每个分类型属性按照其语义建立泛化树,从泛化树的根节点到叶子节点的属性值在语义上从抽象到具体,位于根节点的属性值可用性最低,位于叶子节点的属性值可用性最高。例如:“蔬菜”属性其对应的泛化树高度为2,“*”即是该属性泛化树的根节点,“土豆”、“黄瓜”彼此为兄弟节点又是“蔬菜”属性对应泛化树的叶子节点,那么,“土豆”和“黄瓜”可向上泛化至其父节点“*”,即用抽象、宽泛的值代替原有的具体值;例如,“徐汇区”可以用“上海”取代,也可以用语义范围更广的“中国”取代。
[0085]
s1至s4是本发明中k
‑
匿名数据处理过程中的第一阶段——数据准备阶段,第一阶段运行完成表示系统实施聚类映射之前的准备工作已经完成,可以开始进行聚类映射的工作。
[0086]
s5、定义量化待处理数据表中记录之间距离的距离量化模型;
[0087]
其中,距离量化模型对不同类型的数据采用不同的度量方式:
[0088]
(1)对于准标识属性为数值型的,任意两个记录之间的距离为:
[0089][0090]
其中,
[0091]
v
i
和v
j
分别表示两个记录在数值型准标识属性上的取值;
[0092]
d表示该数值属性的域值大小。
[0093]
(2)对于准标识属性为分类型的,量化分类型准标识属性叶子节点v
i
和v
j
之间的距离时综合考虑了其泛化树的深度特性和广度特性,并与信息损失量成正相关;叶子节点v
i
和v
j
之间的距离为:
[0094][0095]
任意两个记录之间的距离为:
[0096]
distc(v
i
,v
j
)=dist(v
i
,λ(v
i
,v
j
))*dist(v
j
,λ(v
i
,v
j
))
[0097]
其中,
[0098]
λ(v
i
,v
j
)表示叶子节点v
i
和v
j
的最小公共父节点;
[0099]
h(x)表示节点x在泛化树的高度;
[0100]
h(t
c
)表示该属性泛化树的总高度;
[0101]
node(x)表示节点x在泛化树上包含的叶子节点数;
[0102]
node(t
c
)表示该属性泛化树的总叶子节点数。
[0103]
然后,待处理数据表中两条记录在所有准标识属性上的距离的总合作为该两条记
录的量化距离。
[0104]
s6、根据距离量化模型及隐私保护程度完成数据表记录的聚类映射,生成分组信息;
[0105]
其中,
[0106]
可根据隐私保护阈值确定最终形成的聚类个数,聚类个数是待处理数据表中记录数除以隐私保护阈值的最大整除数。
[0107]
分组过程包括:
[0108]
(1)获得初始聚类质心,并生成分组;
[0109]
将待处理数据表中每个准标识属性列中的高频值构成序列值;
[0110]
根据距离量化模型度量待处理数据表中所有记录与序列值之间的量化距离,选择量化距离最小的一条记录作为第一个聚类质心(即初始聚类质心);
[0111]
根据距离量化模型度量待处理数据表中所有记录与第一个聚类质心之间的量化距离,选择与第一个聚类质心的量化距离最近的k条记录划分为一个分组。
[0112]
(2)迭代聚类映射,获取剩余分组;
[0113]
根据距离量化模型度量待处理数据表中剩余未分组记录到已有聚类质心的距离总和最小的一条作为一个聚类质心;
[0114]
根据距离量化模型度量待处理数据表中所有剩余未分组记录与该聚类质心之间的量化距离,选择与该聚类质心的量化距离最近的k条记录划分为一个分组;
[0115]
迭代聚类映射,直至完成所有聚类的映射。
[0116]
(3)存储所有完成聚类映射的记录的分组编号,形成分组信息。
[0117]
(4)检查分组信息,若存在未进行分组的记录,则根据距离量化模型度量该记录与各聚类质心之间的量化距离,并加入量化距离最近的聚类;并更新分组信息。
[0118]
s5至s6是本发明中的第二阶段——聚类映射阶段,第二阶段运行完成表示系统实施泛化处理之前的准备工作已经完成,可以开始进行待处理数据表的泛化处理工作。
[0119]
s7、根据分组信息按照泛化规则进行泛化处理,形成待发布的匿名数据表。
[0120]
其中,系统接收反馈来的分组信息并根据预定义的泛化规则以分组为单位对待处理数据表中的记录实施信息损失量最小的泛化操作。
[0121]
包括:
[0122]
准标识属性为数值型的,以分组为单位,按照分组中所有记录在该准标识属性的阈值空间作为泛化处理的结果;例如,“年龄”属性,某分组中的所有记录在该属性的最大值和最小值分别为50和23,那么该分组中所有记录在该“年龄”属性上的值将更新为“[23
‑
50]”;
[0123]
准标识属性为分类型的,以分组为单位,按照分组中所有记录在该准标识属性对应泛化树中的最小公共父节点作为泛化处理的结果;
[0124]
将泛化处理的结果以分组为单位对分组中的记录在各准标识属性的对应位置上进行全部更新,形成待发布的匿名数据表。
[0125]
待发布的匿名数据表发布后,供数据挖掘者、数据分析者使用。
[0126]
如图2所示,本发明还提供了一种基于聚类映射的k
‑
匿名数据处理系统,包括:数据表预处理模块、泛化规则预定义模块、隐私需求定制模块、距离量化模型、聚类映射分组
模块和数据泛化处理模块;
[0127]
数据表预处理模块,用于完成上述步骤s1,即:
[0128]
对待发布数据表进行预处理,得到待处理数据表;
[0129]
泛化规则预定义模块,用于完成上述步骤s4,即:
[0130]
对待处理数据表中的准标识属性预定义泛化规则;
[0131]
隐私需求定制模块,用于完成上述步骤s2,即:
[0132]
预设待处理数据表的隐私保护程度;
[0133]
距离量化模型,用于完成上述步骤s5,即:
[0134]
量化待处理数据表中记录之间的距离;
[0135]
聚类映射分组模块,用于完成上述步骤s6,即:
[0136]
根据距离量化模型及隐私保护程度完成数据表记录的聚类映射,生成分组信息;
[0137]
数据泛化处理模块,用于完成上述步骤s7,即:
[0138]
根据分组信息按照泛化规则进行泛化处理,形成待发布的匿名数据表。
[0139]
本发明的优点:
[0140]
本发明引入距离量化模型,将待发布数据表中的记录在映射空间中彼此之间的距离信息量化出来,并基于距离信息进行聚类映射完成分组划分,以分组为单位对表中的记录进行泛化操作,至此完成数据表的匿名化处理,该方法能够尽可能地保留数据效用,同时能够应对链接攻击造成的隐私泄露,实现隐私保护。
[0141]
本发明的距离量化模型首次结合泛化树的深度和广度两个维度上的特性,并与信息损失量成正相关;然后又提供一种匿名化算法,是一种基于距离量化模型实现聚类映射的个体隐私保护方案。在匿名化算法中,数据拥有者可以根据系统预设的隐私阈值,通过距离量化、聚类映射以及泛化操作得到相对应的匿名化数据,然后将匿名化后的数据进行公开发布,这是一种更准确且更精细的匿名化处理方法。
[0142]
本发明将数据点之间的距离量化信息用于聚类映射对数据进行匿名化处理,能够更好的保留匿名数据的效用,适用于任何具有分类型和数值型的用户隐私敏感信息的数据匿名化方案中,应用前景广阔,比如快递信息、医疗数据等等。
[0143]
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。