一种对在线社交网络中账户进行关联的方法与流程

文档序号:13730804阅读:129来源:国知局
技术领域本发明属于网络信息技术领域,更为具体地讲,涉及一种对在线社交网络中账户进行关联的方法。

背景技术:
账户关联是用来挖掘一个用户在各种在线社交网络中的所有可能账户信息的主要技术手段,可用于追踪进行网络犯罪的恶意用户以阻止恶意事件蔓延、深度挖掘账户信息以优化推荐方法,检测到账户信息被盗后进行危险预警以保护其他网站的账户安全。传统账户关联方法提取的特征包括账户本身的个人信息如性别、年龄、地理位置,以及用户行为规律如文本写作风格、检索词使用习惯、鼠标停留时间等。然而由于涉及个人隐私,个人信息往往不真实全面;用户行为规律的数据也大多不易获取,且存在误差,故而传统账户关联方法的准确性不高。此外,传统账户关联方法需要账户的信息基本真实,其思路是穷尽账户本身具有的重要特征属性来尽可能全面地表达一个用户,通过特征提取概括建模,而后按模型过滤掉不相关的候选项账户,从而找到一个相似度最高的账户作为关联账户。尽管传统账户关联方法完成了账户关联的任务,但传统账户关联方法所需的数据输入信息较多,且难以避免不真实的账户信息对关联结果造成的偏差,故而账户关联的健壮性不高。

技术实现要素:
本发明的目的在于克服现有技术的不足,提供一种对在线社交网络中账户进行关联的方法,以提高账户关联的健壮性。为实现上述发明目的,本发明对在线社交网络中账户进行关联的方法,其特征在于,包括以下步骤:(1)、根据需求确定需要进行账户关联的两个在线社交网络,将两个在线社交网络OSN_X、OSN_Y中各自的账户间存在的好友关系均表示为由代表账户的节点集V和代表账户间好友关系的边集E组成的无向图即账户节点关系图,得到两个在线社交网络OSN_X、OSN_Y各自的账户节点关系图RD_X、RD_Y;(2)、分别对两个账户节点关系图RD_X、RD_Y中各自的所有节点进行遍历,得到在线社交网络OSN_X、OSN_Y各自的账户节点序列集WalkList_X、WalkList_Y;对于在线社交网络OSN_X,遍历账户节点关系图RD_X中的所有节点,依次选择一个节点作为开始节点进行随机游走,游走时从开始节点或到达节点的邻居节点中,随机选择一个邻居节点作为下一跳,直到走过的节点形成一个长度L的节点序列;每次遍历结束可得到以不同节点作为起点的节点序列集,多趟循环遍历账户节点关系图RD_X中的所有节点,得到账户节点序列集WalkList_X,这样,以某个节点开始的节点序列就有多条;对于在线社交网络OSN_Y,采用相同的方法进行处理,得到账户节点序列集WalkList_Y;(3)、将两个账户节点序列集WalkList_X、WalkList_Y分别采用词转向量工具Word2Vec进行转换,分别得到账户在S维空间(S一般取值范围在几十到几百之间)的分布式表示的账户向量模型Model_X、Model_Y,具体为:将OSN_X对应的账户节点序列集WalkList_X中的所有节点序列作为语料输入词转向量工具Word2Vec中,按照设置的窗口(window)以及维度(size)进行转换,得到各个账户xi对应的向量Vec_xi,账户xi及对应的向量Vec_xi作为项所构成在线社交网络OSN_X的账户向量模型Model_X,其中,xi表示在线社交网络OSN_X的第i个账户,i=1,2,...,m,m为在线社交网络OSN_X的账户数;对账户节点序列集WalkList_Y做同样处理,得到在线社交网络OSN_Y中各账户yj及对应的向量Vec_yj作为项所构成在线社交网络OSN_Y的账户向量模型Model_Y,其中yj表示在线社交网络OSN_Y的第j个账户,j=1,2,...,n,n为在线社交网络OSN_Y的账户数;(4)、计算两个在线社交网络OSN_X、OSN_Y对应的坐标空间之间的线性变换矩阵W4.1)、用已知的两个在线社交网络OSN_X、OSN_Y中为同一用户的真实账户关联对<xk,yk>构建训练集RealPairL,其中,xk表示第k个同一用户在在线社交网络OSN_X中的账户,yk表示第k个同一用户在在线社交网络OSN_Y中的账户,共有K个同一用户;在账户向量模型Model_X、账户向量模型Model_Y中分别找到账户xk对应的向量Vec_xk、账户yk对应的向量Vec_yk;4.2)、采用随机梯度下降法,解如下优化问题:minW12KΣk=1K||WVec_xk-Vec_yk||2;]]>首先,把W初始化为每个元素均为较小随机值的S×S矩阵,然后,进行H次迭代;对于第h(0<h<=H)次迭代,随机选择一个样本点<Vec_xk、Vec_yk>,计算梯度T=(W(h-1)Vec_xk-Vec_yk)(Vec_xk)',其中W(h-1)为(h-1)次迭代后的线性变换矩阵,(Vec_xk)'为Vec_xk的转置矩阵;接下来,更新线性变换矩阵:Wh=W(h-1)-αT,其中,α为学习率。经过若干次迭代后,上述优化问题中的求和函数值逐渐收敛,此时的迭代次数即为H,此时的变换矩阵则为所求的变换矩阵W。(5)、账户关联将在线社交网络OSN_X中的每个账户xi,进行以下计算:bi=WVec_xi;bi即为OSN_X中的节点xi在OSN_Y的坐标空间的向量表示,然后通过余弦相似度函数来计算bi与在线社交网络OSN_Y中的每个账户Vec_yj的相似度,选出相似度最大并且大于设定阈值的账户yjmax作为账户xi的关联账户或者根据用途选择相似度最大的前t(比如t为5)个作为候选集本发明的目的是这样实现的。本发明公开了一种基于节点相似度的对多个在线社交网络(OSN)中账户进行关联的方法,从OSN网站账户中提取好友关系来关联不同OSN平台上属于同一实体用户的多个账户。根据账户关联需求,提取两个在线社交网站各自账户间存在的好友关系,将之表示为由代表账户的节点集V和代表账户间好友关系的边集E组成的无向图或称账户节点关系图;然后于图中随机游走获取账户节点序列集合;并据此通过词转向量工具word2vec生成每个账户的向量模型;再以不同OSN上存在的公开的共同账户作为训练集,利用这些账户在不同OSN上对应的表示向量,通过梯度下降法求得从一个OSN到另一个OSN的线性变换矩阵W;将其中一个OSN中的账户映射到另一OSN的坐标空间,通过相似度度量和阈值筛选,得到所有账户对应的关联账户或者对应的候选集。本发明可用于追踪网络犯罪的恶意用户以阻止恶意事件蔓延、深度挖掘账户信息以优化推荐算法,检测到账号被盗后危险预警以保护该用户在其他网站的账户安全。本发明具有以下有益效果:(1)、使用较少的数据输入,基于节点相似度的方法,只需要账户(一般可以采用账户号)及其好友关系(或关注关系),无需其他繁琐的信息如账户个人信息,行为特征等,且避免了因账户不真实的特征信息对账户关联结果带来的误差,故而提高了账户关联的健壮性;(2)、本发明中的坐标变换矩阵,可将不同在线社交网络中的账户放到同一空间去比较,计算方法简单通用,具有一般性,计算一次得到的变换矩阵,普遍适用源在线社交网络内不同的账户。同时,已知从一个在线社交网络到另一个在线社交网络的变换矩阵W,根据对称性,则另一个在线社交网络到到一个在线社交网络的变换矩阵为W的逆,不需要再次计算。(3)、本发明从OSN网站账户中提取好友关系来关联不同OSN平台上属于同一实体用户的多个账户,是一种账户关联的新思路,此方法仅仅利用了OSN的好友关系。本发明也可结合其它账户关联方法使用,提高关联准确度。附图说明图1是本发明节本发明对在线社交网络中账户进行关联的方法一种具体实施方式流程图;图2是账户节点关系图的一种具体实例示意图;图3是随机游走获取账户节点序列集一种具体实施方式流程图。具体实施方式下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。一、基本原理尽管两个在线社交网络中描述同一实体的关联账户的信息不同,但账户间关系分布却是相同的。比如新浪微博中三个账户分别是1,2,3;他们在人人网中对应的账户分别是a1,a2,a3;1、2、3是好友,a1、a2、a3也是好友。因此,本发明考虑利用账户的好友关系(或关注关系等)这一特征来挖掘关联账户,构建账户节点关系图。然后根据账户节点关系图遍历节点集,依次从中选择一个节点作为开始节点进行随机游走,游走时在开始节点或到达节点的邻接节点中,随机选择一个邻居节点作为下一跳,直到走过的节点形成一个长度L的、记录了账户关系信息的节点序列。每次遍历结束可得到以不同节点作为起点的节点序列集,多趟循环遍历整个节点集,得到账户节点序列集WalkList_X,其中以某个节点开始的节点序列就有多条。只要等待足够的时间和步骤,随机游走的次数足够多,序列集蕴含的账户关系信息便足够丰富。账户在向量空间上的S(size=S,一般取值范围在几十到几百之间)维实数值表示可以由word2vec获得,而向量间的余弦相似度可以用来衡量账户间关联程度。同一个空间里的两个账户‘1’、‘2’可以通过ModelX.most_similar(‘1’,‘2’)函数比较相似度,但是在不同的两个在线社交网络中的账户、例如X空间的‘1’和Y空间的‘a1’,由于处于不同的向量空间,便不能使用该函数比较相似度。线性变换是一种数学上的在向量空间X、Y之间映射且保持加法运算和数量乘法运算封闭的方法,关键在于求两个向量空间之间的映射函数y=Wx,其中W即为变换矩阵。基于好友关系在不同社交网络上的相似的分布,可将在不同网站空间中无法比较相似性的账户,通过线性变换运算放在同一个空间里进行比较。最后通过线性变换矩阵将两个在线社交网络中账户的向量进行比较,找到关联账户或者根据用途选择相似度最大的前t(比如t为5)个作为候选集。二、账户关联方法在本实施例中,如图1所示,本发明对在线社交网络中账户进行关联的方法包括五个步骤:数据预处理(步骤S101)、随机游走获取账户节点序列集(步骤S102)、分布式向量表示(步骤S103)、求不同OSN(在线社交网络)间线性变换矩阵(步骤S104)、计算距离获取关联账户(S105)。1、数据预处理首先根据需求确定需要关联的在线社交网络(OnlineSocialNetworking,简称OSN),如新浪微博、豆瓣、人人,Twitter、Facebook等,这些OSN的账户间存在的好友关系,可以描述为由代表账户节点集V和代表账户间关系的边集E组成的无向图,本发明称之为即账户节点关系图,在本实施例中,如图2所示。在本实施例中,利用网络爬虫读取每个账户的好友列表,将每个账户对应的好友关系存入文本文档,从而获取目标在线社交网络即两个在线社交网络OSN_X、OSN_Y的账户好友关系。为了方便,只以在线社交网络OSN_X为例,另一个在线社交网络OSN_Y的处理方式完全相同。在图2所示的在线社交网络(OSN_X)的账户节点关系图中,获取的对于文本文档为:12、13、18、23、24、35、37、45、47、56、89、810、811、910、912、1011、1013、1112、1113、1114、1314。读取文本文档中的每条边,将边记录到图边字典dict中,每个账户即节点作为键,节点相连接的所有节点作为值,于是我们可以将某个社交网络账户间的关系图表示为字典类型的变量{账户:(邻接账户)
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1