一种社会网络隐私保护的方法、系统及设备与流程

文档序号:17791435发布日期:2019-05-31 20:18阅读:157来源:国知局
一种社会网络隐私保护的方法、系统及设备与流程

本申请涉及隐私保护领域,特别涉及一种社会网络隐私保护的方法、系统、设备及计算机可读存储介质。



背景技术:

社交网络属于复杂网络的研究范畴,关注的是社交个体及个体间的互动和联系,通常被建模为图数据来实现隐私保护。攻击者常利用拥有的关于目标个体的背景知识(如节点的度、标识属性、节点间的连接关系、邻域和嵌入子图等)来推断个体隐私信息。社会网络所包含的2类重要隐私信息(节点属性数据和连接关系数据)极易遭受节点度攻击、链接攻击等结构化攻击。

而针对关系数据的隐私保护则是亟待人们深入探索的研究热点,通常被建模为图数据并采用数值扰乱法或图修改法如随机增加、删除节点或边,以及修改边权重值来实现隐私保护。总体上看,现有的社会网络隐私保护方法大多基于如何实现各种匿名化模型如节点k-匿名、子图k-匿名,k度匿名等。

实现匿名化模型的主要途径有基于聚类的方法和基于图修改的方法。然而,基于聚类的匿名模型由于泛化后存在严重的信息损失问题,导致网络结构发生巨大变化,数据效用急剧降低。而针对图数据修改或转化的匿名化方法大多都采用添加、删除节点或边以及子图同构等扰动方式实现k-度匿名,但这种图随机修改策略忽略了社交网络内在结构特性,仍无法克服较大的信息损失问题。

因此,如何降低社会网络隐私保护过程中的信息损失是本领域技术人员目前需要解决的技术问题。



技术实现要素:

本申请的目的是提供一种社会网络隐私保护的方法、系统、设备及计算机可读存储介质,用于降低社会网络隐私保护过程中的信息损失。

为解决上述技术问题,本申请提供一种社会网络隐私保护的方法,该方法包括:

接收输入的原始社交网络图;

利用预设标签传播算法对所述原始社交网络图中各节点进行社区划分,得到各社区子图;

利用子图重构算法对各所述社区子图进行重构,完成各所述社区子图的k度匿名化,以实现所述原始社交网络图的隐私保护。

可选的,所述利用预设标签传播算法对所述原始社交网络图中各节点进行社区划分,得到各社区子图,包括:

为所述原始社交网络图中各所述节点分别分配唯一标签值;

计算各所述节点的权重值,并将各所述节点按权重值降序顺序进行排列,得到初始序列;

按照所述初始序列依次对各所述节点的唯一标签值进行初次更新;其中,所述初次更新为将当前节点的唯一标签值更新为权重值最大的邻居节点的唯一标签值;

按照所述初始序列依次对初次更新后的各所述节点的唯一标签值进行标签迭代更新,直至各所述节点的唯一标签值不再变化;其中,所述标签迭代更新为将当前节点的唯一标签值更新为各邻居节点的唯一标签值中出现数目最多的唯一标签值;

将所述唯一标签值相同的节点划分至同一社区,得到各所述社区子图。

可选的,所述计算各所述节点的权重值,包括:

根据公式计算各所述节点基于度的权重指标;

根据公式计算各所述节点的节点介数;

根据公式i=ei0+i1+i2计算各所述节点的权重值;

其中,i1为各所述节点基于度的权重指标,ki为节点i的度,n为所述原始社交网络图中节点的总数,i2为各所述节点的节点介数,σst为从节点s到节点t的最短路径的总数,σst(i)为从节点s到节点t且经过节点i的最短路径的数目,i为各所述节点的权重值,i0为各所述节点的基础权重值。

可选的,所述利用子图重构算法对各所述社区子图进行重构,完成各所述社区子图的k度匿名化,包括:

根据公式计算当前社区子图各节点的节点重识概率;

确定时的移边数目m;

对所述当前社区子图随机删除m条边,并随机增加m条边,以实现对所述当前社区子图的k度匿名;

其中,conf({ki}→i)为所述当前社区子图各节点的节点重识概率,z为经过移动m条边后节点i的边数,d为所述节点i的度数为ki的事件,p(z=ki|d)为经过移动m条边后,所述节点i度数仍然为ki的概率;x为节点u的度数,c为所述节点u的度数为du的事件,p(x=ki|c)为经过移动m条边后除所述节点i外其他节点的度数变为ki的概率,k为匿名程度。

本申请还提供一种社会网络隐私保护的系统,该系统包括:

接收模块,用于接收输入的原始社交网络图;

社区划分模块,用于利用预设标签传播算法对所述原始社交网络图中各节点进行社区划分,得到各社区子图;

k度匿名模块,用于利用子图重构算法对各所述社区子图进行重构,完成各所述社区子图的k度匿名化,以实现所述原始社交网络图的隐私保护。

可选的,所述社区划分模块包括:

标签分配子模块,用于为所述原始社交网络图中各所述节点分别分配唯一标签值;

权重值计算子模块,用于计算各所述节点的权重值,并将各所述节点按权重值降序顺序进行排列,得到初始序列;

初次更新子模块,用于按照所述初始序列依次对各所述节点的唯一标签值进行初次更新;其中,所述初次更新为将当前节点的唯一标签值更新为权重值最大的邻居节点的唯一标签值;

标签迭代更新子模块,用于按照所述初始序列依次对初次更新后的各所述节点的唯一标签值进行标签迭代更新,直至各所述节点的唯一标签值不再变化;其中,所述标签迭代更新为将当前节点的唯一标签值更新为各邻居节点的唯一标签值中出现数目最多的唯一标签值;

划分子模块,用于将所述唯一标签值相同的节点划分至同一社区,得到各所述社区子图。

可选的,所述权重值计算子模块包括:

第一计算单元,用于根据公式计算各所述节点基于度的权重指标;

第二计算单元,用于根据公式计算各所述节点的节点介数;

第三计算单元,用于根据公式i=ei0+i1+i2计算各所述节点的权重值;

其中,i1为各所述节点基于度的权重指标,ki为节点i的度,n为所述原始社交网络图中节点的总数,i2为各所述节点的节点介数,σst为从节点s到节点t的最短路径的总数,σst(i)为从节点s到节点t且经过节点i的最短路径的数目,i为各所述节点的权重值,i0为各所述节点的基础权重值。

可选的,所述k度匿名模块包括:

概率计算子模块,用于根据公式

计算当前社区子图各节点的节点重识概率;

确定子模块,用于确定时的移边数目m;

k度匿名子模块,用于对所述当前社区子图随机删除m条边,并随机增加m条边,以实现对所述当前社区子图的k度匿名;

其中,conf({ki}—→i)为所述当前社区子图各节点的节点重识概率,z为经过移动m条边后节点i的边数,d为所述节点i的度数为ki的事件,p(z=ki|d)为经过移动m条边后,所述节点i度数仍然为ki的概率;x为节点u的度数,c为所述节点u的度数为du的事件,p(x=ki|c)为经过移动m条边后除所述节点i外其他节点的度数变为ki的概率,k为匿名程度。

本申请还提供一种社会网络隐私保护设备,该社会网络隐私保护设备包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述任一项所述社会网络隐私保护的方法的步骤。

本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述社会网络隐私保护的方法的步骤。

本申请所提供社会网络隐私保护的方法,包括:接收输入的原始社交网络图;利用预设标签传播算法对原始社交网络图中各节点进行社区划分,得到各社区子图;利用子图重构算法对各社区子图进行重构,完成各社区子图的k度匿名化,以实现原始社交网络图的隐私保护。

本申请所提供的技术方案,通过利用预设标签传播算法对接收到的原始社交网络图中各节点进行社区划分,得到各社区子图,使得节点更新顺序得到控制,进而增强了算法的稳定性,提升了社区划分的效果,降低了标签选择随机性对标签传播效率和结果的影响;通过利用子图重构算法对各社区子图进行重构,完成各社区子图的k度匿名化,使得在保护社交网络网格结构稳定的前提下,最小程度地修改图结构实现k度匿名,令发布的社交网络数据具有较好的可用性。本申请同时还提供了一种社会网络隐私保护的系统、设备及计算机可读存储介质,具有上述有益效果,在此不再赘述。

附图说明

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

图1为本申请实施例所提供的一种社会网络隐私保护的方法的流程图;

图2为图1所提供的一种社会网络隐私保护的方法中s102的一种实际表现方式的流程图;

图3为图2中步骤s202的一种实际表现方式的流程图;

图4为图1所提供的一种社会网络隐私保护的方法中s103的一种实际表现方式的流程图;

图5为本申请实施例所提供的一种社会网络隐私保护的系统的结构图;

图6为本申请实施例所提供的另一种社会网络隐私保护的系统的结构图;

图7为本申请实施例所提供的一种社会网络隐私保护设备的结构图。

具体实施方式

本申请的核心是提供一种社会网络隐私保护的方法、系统、设备及计算机可读存储介质,用于降低社会网络隐私保护过程中的信息损失。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参考图1,图1为本申请实施例所提供的一种社会网络隐私保护的方法的流程图。

其具体包括如下步骤:

s101:接收输入的原始社交网络图;

基于聚类的匿名模型由于泛化后存在严重的信息损失问题,导致网络结构发生巨大变化,数据效用急剧降低。而针对图数据修改或转化的匿名化方法大多都采用添加、删除节点或边以及子图同构等扰动方式实现k-度匿名,但这种图随机修改策略忽略了社交网络内在结构特性,仍无法克服较大的信息损失问题;本申请提出一种社会网络隐私保护的方法,在保护社交网络网格结构的稳定的前提下,最小程度地修改图结构,实现k度匿名,使得发布的社交网络数据具有较好的可用性;

本申请采用图结构模型g描述社交网络数据中包含的用户个人信息和用户间复杂的社交关系,图中节点v代表社交网络中的个体,边e代表个体间的关联。将社区划分引入隐私保护,将影响力相同的节点划分为一类,并对其进行强力度的隐私保护。

s102:利用预设标签传播算法对原始社交网络图中各节点进行社区划分,得到各社区子图;

可选的,这里提到的预设标签传播算法,其具体可以为融合节点影响力因素的标签传播算法,下面结合图2进行详细说明:

请参考图2,图2为图1所提供的一种社会网络隐私保护的方法中s102的一种实际表现方式的流程图。

其具体包括以下步骤:

s201:为原始社交网络图中各节点分别分配唯一标签值;

s202:计算各节点的权重值,并将各节点按权重值降序顺序进行排列,得到初始序列;

s203:按照初始序列依次对各节点的唯一标签值进行初次更新;

这里提到的初次更新即为将当前节点的唯一标签值更新为权重值最大的邻居节点的唯一标签值,也就是先确定当前节点的权重值最大的邻居节点,然后将当前节点的唯一标签值更新为该邻居节点的唯一标签值,其目的在于令高权重的节点的标签值一致,即将影响力相同的节点划分为一类。

s204:按照初始序列依次对初次更新后的各节点的唯一标签值进行标签迭代更新,直至各节点的唯一标签值不再变化;

这里提到的标签迭代更新即为将当前节点的唯一标签值更新为各邻居节点的唯一标签值中出现数目最多的唯一标签值,其目的在于令高权重的节点的标签值一致,使得影响力大的节点更容易被传播,以此提升社区划分的准确性;

进一步的,若邻居节点中有多个标签出现数目相同且同为最大值,则选取其中权重值最大的邻居节点的唯一标签值标签作为当前节点的唯一标签值。

s205:将唯一标签值相同的节点划分至同一社区,得到各社区子图。

通过采用融合节点影响力因素的标签传播算法进行社区划分,能够综合评估节点的影响力并计算每个节点的权重值,并按照节点影响力由高到低的顺序异步更新标签,使得标签迭代更新完毕后,局部核心节点将拥有较高权重值,而且标签相同的节点会被划分入一个社区,进而增强算法稳定性,提升社区划分的效果,降低标签选择随机性对标签传播效率和结果的影响。

s103:利用子图重构算法对各社区子图进行重构,完成各社区子图的k度匿名化,以实现原始社交网络图的隐私保护。

经过社区划分后,本申请利用子图重构算法对社区子图进行重构,完成各社区子图的k度匿名化,进而实现原始社交网络图的隐私保护。

基于上述技术方案,本申请所提供的一种社会网络隐私保护的方法,通过利用预设标签传播算法对接收到的原始社交网络图中各节点进行社区划分,得到各社区子图,使得节点更新顺序得到控制,进而增强了算法的稳定性,提升了社区划分的效果,降低了标签选择随机性对标签传播效率和结果的影响;通过利用子图重构算法对各社区子图进行重构,完成各社区子图的k度匿名化,使得在保护社交网络网格结构稳定的前提下,最小程度地修改图结构实现k度匿名,令发布的社交网络数据具有较好的可用性。

针对于上一实施例的步骤s202,其中所描述的计算各节点的权重值,其具体可以为如图3所示的步骤,下面结合图3进行说明。

请参考图3,图3为图2中步骤s202的一种实际表现方式的流程图。

其具体包括以下步骤:

s301:根据公式计算各节点基于度的权重指标;

度能够描述社交网络中节点间的链接分布情况,对于一个无向图g=[v,e],节点vi的度ki等于与该节点相连的其他所有节点数目之和,是一个网络节点自身特性的重要指标。一般而言,节点的影响力与节点的度正相关。

s302:根据公式计算各节点的节点介数;

节点介数表示网络中经过该节点的所有节点间的最短路径占所有最短路径总数的比例,介数能够反映网络中不同成员的地位,是一个描述网络节点全局特性的重要指标。一般,节点影响力与节点介数正相关。节点介数越大,社交网络中成员交流对该节点的依赖性越强。

s303:根据公式i=ei0+i1+i2计算各节点的权重值;

综合考虑节点的自身特性与全局特性计算节点权重,节点权重与其自身影响力和对其他节点的影响力正相关,因此节点的标签权重i可以表示为i=ei0+i1+i2;

其中,i1为各节点基于度的权重指标,ki为节点i的度,n为原始社交网络图中节点的总数,i2为各节点的节点介数,σst为从节点s到节点t的最短路径的总数,σst(i)为从节点s到节点t且经过节点i的最短路径的数目,i为各节点的权重值,i0为各节点的基础权重值。

针对于上一实施例的步骤s103,其中所描述的利用子图重构算法对各社区子图进行重构,完成各社区子图的k度匿名化,以实现原始社交网络图的隐私保护,其具体可以为如图4所示的步骤,下面结合图4进行说明。

请参考图4,图4为图1所提供的一种社会网络隐私保护的方法中s103的一种实际表现方式的流程图。

其具体包括以下步骤:

s401:根据公式计算当前社区子图各节点的节点重识概率;

假设攻击者已知发布图g和受害节点i的度数ki,经过移动m条边后,他能够重识别出节点的概率即为:

s403:对当前社区子图随机删除m条边,并随机增加m条边,以实现对当前社区子图的k度匿名;

其中,conf({ki}→i)为当前社区子图各节点的节点重识概率,z为经过移动m条边后节点i的边数,d为节点i的度数为ki的事件,p(z=ki|d)为经过移动m条边后,节点i度数仍然为ki的概率;x为节点u的度数,c为节点u的度数为du的事件,p(x=ki|c)为经过移动m条边后除节点i外其他节点的度数变为ki的概率,k为匿名程度;

本中请实施例先计算当前社区子图各节点的节点重识概率,然后选择出满足条件的移边数目m,最后通过移动m条边,即先随机删除m条边,然后随机增加m条边,实现对社区子图的k度匿名。

请参考图5,图5为本中请实施例所提供的一种社会网络隐私保护的系统的结构图。

该系统可以包括:

接收模块100,用于接收输入的原始社交网络图;

社区划分模块200,用于利用预设标签传播算法对原始社交网络图中各节点进行社区划分,得到各社区子图;

k度匿名模块300,用于利用子图重构算法对各社区子图进行重构,完成各社区子图的k度匿名化,以实现原始社交网络图的隐私保护。

请参考图6,图6为本申请实施例所提供的另一种社会网络隐私保护的系统的结构图。

该社区划分模块200可以包括:

标签分配子模块,用于为原始社交网络图中各节点分别分配唯一标签值;

权重值计算子模块,用于计算各节点的权重值,并将各节点按权重值降序顺序进行排列,得到初始序列;

初次更新子模块,用于按照初始序列依次对各节点的唯一标签值进行初次更新;其中,初次更新为将当前节点的唯一标签值更新为权重值最大的邻居节点的唯一标签值;

标签迭代更新子模块,用于按照初始序列依次对初次更新后的各节点的唯一标签值进行标签迭代更新,直至各节点的唯一标签值不再变化;其中,标签迭代更新为将当前节点的唯一标签值更新为各邻居节点的唯一标签值中出现数目最多的唯一标签值;

划分子模块,用于将唯一标签值相同的节点划分至同一社区,得到各社区子图。

进一步的,该权重值计算子模块可以包括:

第一计算单元,用于根据公式计算各节点基于度的权重指标;

第二计算单元,用于根据公式计算各节点的节点介数;

第三计算单元,用于根据公式i=ei0+i1+i2计算各节点的权重值;

其中,i1为各节点基于度的权重指标,ki为节点i的度,n为原始社交网络图中节点的总数,i2为各节点的节点介数,σst为从节点s到节点t的最短路径的总数,σst(i)为从节点s到节点t且经过节点i的最短路径的数目,i为各节点的权重值,i0为各节点的基础权重值。

该k度匿名模块300可以包括:

概率计算子模块,用于根据公式

计算当前社区子图各节点的节点重识概率;

确定子模块,用于确定时的移边数目m;

k度匿名子模块,用于对当前社区子图随机删除m条边,并随机增加m条边,以实现对当前社区子图的k度匿名;

其中,conf({ki}—→i)为当前社区子图各节点的节点重识概率,z为经过移动m条边后节点i的边数,d为节点i的度数为ki的事件,p(z=ki|d)为经过移动m条边后,节点i度数仍然为ki的概率;x为节点u的度数,c为节点u的度数为du的事件,p(x=ki|c)为经过移动m条边后除节点i外其他节点的度数变为ki的概率,k为匿名程度。

由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

请参考图7,图7为本申请实施例所提供的一种社会网络隐私保护设备的结构图。

该社会网络隐私保护设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)722(例如,一个或一个以上处理器)和存储器732,一个或一个以上存储应用程序742或数据744的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器732和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对装置中的一系列指令操作。更进一步地,中央处理器722可以设置为与存储介质730通信,在社会网络隐私保护设备700上执行存储介质730中的一系列指令操作。

社会网络隐私保护设备700还可以包括一个或一个以上电源727,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口758,和/或,一个或一个以上操作系统741,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述图1至图4所描述的社会网络隐私保护的方法中的步骤由社会网络隐私保护设备基于该图7所示的结构实现。

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

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

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

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

集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,功能调用装置,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上对本申请所提供的一种社会网络隐私保护的方法、系统、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1