一种基于节点结构特征的社交网络去匿名化方法与流程

文档序号:14250487阅读:1392来源:国知局
一种基于节点结构特征的社交网络去匿名化方法与流程

本发明涉及一种基于节点结构特征的社交网络去匿名化的方法,它应用于社交网络中匿名化用户的识别,属于数据挖掘技术领域。



背景技术:

近年来,论坛、微博和博客等社会网络平台的增加为社会网络数据的商业化应用铺平了道路,然而,除了合法的利用,一些非法的滥用也随之增多。同时,随着社会网络平台深度融合到我们的日常生活中,也给了政府一个很好的提高监察能力的机会。这种用户和商业组织的权利不平衡和政府对隐私监督问题的持续督促促进了社会网络相关的积极应用。

本发明考虑的问题是如何仅仅利用网络的图结构来匹配不同社会网络中的同一用户,从而导致用户隐私的泄露。更具体的是,我们关注的是大规模网络用户的再识别,即将两个大规模网络中的用户关联起来从而将其中一个网络去匿名化。结果是,匿名图中的每一个节点都可能关联到另一个网络中的某一个已知身份的节点。也就意味匿名图中的节点的身份被识别或者称为被去匿名化。去匿名化有很多目的,比如,一个商业组织受利益的驱使购买匿名的数据集用于去匿名化为了利用新数据更新它之前已有的记录。同时,将一些社交网络联合起来对于政府机构也是有很大价值的(比如邮件和电话网络)。

目前对于去匿名化的研究多从网络的拓扑结构出发,虽然细节上有一些差异,但是通常包含两个依次的执行过程。第一个阶段是初始化阶段(种子阶段,全局比较),另一个是用迭代的方法进行再识别的过程(传播阶段,局部比较)。



技术实现要素:

1、目的:本发明目的是提供一种基于图结构,在拥有辅助图的基础上将匿名化网络中节点与辅助图中属于同一用户的节点匹配出来,从而达到去匿名化的方法本发明的原理是:将用户和用户间的关系抽象为网络拓扑结构中的节点和连边形成社会网络拓扑图。以图为对象,一个图中节点身份信息已知作为辅助图,另外一个图中节点身份信息未知作为匿名图,首先根据已有的方法获取到种子节点即已经匹配出的节点作为匹配集,然后迭代的进行传播过程。迭代过程根据节点的共同邻居数和节点各自的度值来度量节点之间的相似度。将相似度最大的节点对关联起来。传播过程直到没有新的节点被匹配出来,结束去匿名化过程。

2、技术方案:本发明一种基于节点结构特征的社交网络去匿名化方法,包括步骤如下:

步骤一:数据获取及处理:

构造以社会网络中用户为节点,连接关系为连边的社会网络拓扑结构g:用g=(v,e),v是g中所有节点的集合,e是所有连边的集合;其中|v|=n、|e|=m,表示g中有n个节点m条边;用邻接矩阵a表示网络节点间的连通关系;g=(v,e)中节点个数为n,节点依次标记为vi(i=1,2,3……n);若节点vi和vj之间有边相连,则aij=1,若节点vi和vj之间无边相连,则aij=0。

其中,辅助图定义为gsrc=(vsrc,esrc),vsrc为已知图中的节点;esrc是已知图中的边,|vsrc|为gsrc中节点个数。匿名图定义为gtar=(vtar,etar)。vtar是匿名图中的节点;etar是匿名图中的边。|vtar|为gtar中节点个数。定义表示在两个网络中共同存在的节点。

步骤二:确定种子节点,作为最初的匹配集合μ(也称为种子集合)。本发明采用的获取种子节点的方法是在两个网络中选取度值(度值为节点连接的边的数目,)最高的一部分节点,通过人工标注的方法匹配出种子节点集。种子节点定义为u:vsrc→vtar,(→表示gsrc中的节点vsrc与gtar中的vtar相匹配,属于同一用户)。

步骤三:根据匹配集合μ,开始迭代的传播过程,直到没有新的匹配可以被添加。传播过程如下:

(1)迭代选取辅助图gsrc中某一节点vi∈vsrc(i=1,2……n;n=|vsrc|),然后依次选取节点vi的邻居节点集合ni(ni表示节点i的邻居节点集合,ni={j,aij=1且j∈vsrc})中每个元素,通过匹配集合μ判断出ni中已经匹配出的节点vi′和匿名网络gtar中对应于vi′的匹配节点vj′∈vtar。再找到vj′的邻居节点集合nj′,nj′中的元素vj作为候选节点。然后根据相似度公式(1)计算vi和所有可能候选节点vj之间的相似度。式中(vi∩vj)表示vi和vj共有的已匹配邻居节点数,|vi|,|vj|表示节点vi、vj的度值。n和m分别为gsrc何gtar中节点的总个数,即n=|vsrc|,m=|vtar|;公式(1)为相似度度量方法;

其中,i=1,2……n;j=1,2……m;

(2)通过上一步得到相似度值最大的节点vm,为了提高准确率采用反向传播相似度验证以修正因种子用户不足造成的错误匹配用,反向传播即用同样的相似度度量方法找到vm在gsrc中的相似度最大的节点。如果vm在gsrc中的相似度最大的节点是vi,则把vi与vm相匹配;加入匹配集合μ中;如果vm在gsrc中的相似度最大的节点不是vi,则不添加。

(3)遍历gsrc中的节点vi∈vsrc(i=1,2……n;n=|vsrc|),执行步骤三的过程,直到没有新的匹配节点可以添加入匹配集合μ中。

步骤四:输出匹配集合μ中的节点对。

3、本发明的有益效果:本发明所提供的一种基于节点结构特征的社交网络去匿名化的方法,利用较少的种子节点可以有效地识别匿名化网络,可以应用于大规模社会网络中去匿名化。

附图说明

图1是本发明的流程图。

图2(a)和图2(b)是本发明的具体实施的例图。图2(a)gsrc为辅助图,共有8个节点,10条边,用数字(1-8)表示。图2(b)gtar为匿名图,共有8个节点,9条边,字母(a-h)表示。

具体实施方式

下面结合附图1、图2(a)和图2(b)对本发明的技术方案进一步说明如下:

步骤一:从网上获取两个网络qq和微信,选取部分节点构造为图2(a)和图2(b)所示的图结构,图2(a)为辅助网络从qq获取,图2(b)为匿名网络从微信获取。图2(a)有8个节点,10条边,图2(b)有8个节点,9条边。节点之间的连接关系用节点与节点之间的连线表示,gsrc邻接矩阵和gtar邻接矩阵分别为图2(a)和图2(b)的邻接矩阵。其中以图2(a)中节点5为例说明计算过程。

gsrc邻接矩阵

gtar邻接矩阵

步骤二:选取度值最高的两个节点,通过人工标注得到最初匹配集合μ(3→c,4→d)。如图2(a)和图2(b)中虚线所示。

步骤三:假设选定了gsrc中节点5,然后依次选取它的邻居节点集合n8中的元素,根据gsrc邻接矩阵第5行得到邻居节点3、4和8。然后根据μ判断出3和4两个邻居节点都已经匹配出来,分别对应图2(b)中的c和d。可以认为,图2(b)中对应于已知图节点5的应该是c和d的邻居节点。从gtar邻接矩阵得到候选节点一共有a、b、e、f四个节点。下一步根据式(1)分别计算这几个节点与节点5之间的相似性。节点a的相似度计算结果如下:首先计算(v5∩va),观察gsrc邻接矩阵第五行与gtar邻接矩阵第一行。图2(b)中的节点a与节点5的共同邻居是节点3(图2(b)中对应d),即(v5∩va)=1,|v5|为gsrc邻接矩阵中第五行中值为1的元素个数即|va|=3,|va|为gtar邻接矩阵中第一行中值为1的元素的个数即|va|=1,带入公式(1)得到节点a与节点5的相似度等于同样算出b的相似度得分为e的相似度得分为1,f得分为即e的相似度得分最高。为了精确度,用同样的方法计算节点e在gsrc邻接矩阵候选节点(1、2、5、6、7)中相似度最高的节点,经过计算节点1、2的相似度等于节点5的相似度是1,节点6、7的相似度得分是节点5的得分最高。所以图2(a)节点5的匹配节点是节点e。所以将节点对5→e添加到μ中。

同理可得,gtar邻接矩阵中其他节点与其候选节点之间属性及相似度得分,如表1所示。

表(1)

步骤四:输出匹配集μ中的节点对如下。

1和a匹配,2和b匹配,3和c匹配,4和d匹配,5和e匹配,6和f匹配,7和h匹配,8和g匹配。

当前第1页1 2 
网友询问留言 已有1条留言
  • 131211... 来自[未知地区] 2019年04月10日 21:57
    或者请问您可以留个联系方式嘛
    1
1