发明内容
本发明的目的是克服现有技术的不足,提供一种基于概率因子图模型的跨社交网络用户身份关联方法。
本发明解决其技术问题所采用的技术方案包括以下步骤:
步骤1.针对社交网络SMNA和社交网络SMNB的用户,利用用户名相似度和网络结构从两个社交网络中选取候选配对用户对;
步骤2.以所有的候选配对用户对X={xi}为节点,若用户对xi中的两个用户分别为用户对xj中两个用户的邻居,则xi和xj之间存在一条边,以此为原则构建用户对网络图(User Pair Graph,UPG);
步骤3.由于社交网络中用户间的网络结构比属性信息更加稳定,在构建的UPG和已标注的用户对数据的基础上,融合用户用户属性因子和朋友关系因子构建概率因子图模型;
步骤4.利用梯度下降算法对概率因子图模型进行参数θ={α,β,λ}的学习,学习结束后同时可得到所有候选配对用户对的标签数据,即两个社交网络中具备相同用户身份的用户集合。
步骤1具体实现如下:
1-1.SMN
A=(U
A,E
A)代表社交网络A,U
A代表社交网络A的用户集,E
A代表社交网络A的用户关系(相互关注关系)集合,
代表社交网络A中的某用户;SMN
B=(U
B,E
B)代表社交网络B,U
B代表社交网络B的用户集,E
B代表社交网络B的用户关系(相互关注关系)集合,
代表社交网络B中的某用户;
1-2.对分别来自社交网络SMN
A和SMN
B的用户名n
k A和n
j B根据以下公式计算相似度,选取相似度大于0.8的用户对加入到候选配对用户对集合X中。其中,
其中,
代表Levenshtein距离,
代表用户名n
k A的字符长度,
代表用户名
的字符长度;
1-3.以候选配对用户对集合X中的每一对用户为种子用户对进行邻居节点的扩展,从种子用户对的邻居节点中选取具备r个共同邻居(已知配对)的用户对加入到X中(根据不同的数据集设置不同的r值)。
步骤2的具体实现过程如下:
2-1.UPG=(UUPG,EUPG)代表用户对网络图,UUPG表示节点集合,EUPG代表节点之间的关系集合;将候选配对用户对xi作为UPG的节点,xi∈UUPG;
2-2.假定
和
为UPG中的两个节点,如果这两个节点之间存在以下关系,则他们之间存在一条边:
步骤3具体实现过程如下:
3-1.为了同时考虑用户属性特征和网络的结构特征,融合用户属性因子和朋友关系因子构建概率因子图模型,将UPG中的所有候选配对用户对标签集Y的联合分布p(Y|UPG,θ)分解为因子函数的乘积,如下式所示:
其中,θ={α,β,γ}代表参数集合,具体的参数含义见步骤3-2和3-3。i代表UPG中节点的下标,Y={yi}代表对应X={xi}的二值标签,yi=1代表xi中的两用户为同一身份,否则不同;||i,j代表xi和xj具备二元朋友关系(即节点xi和xj之间存在一条边),Δi,j,k代表xi,xj和xk具备三元朋友关系(即节点xi,xj和xk之间至少存在两条边);f(xi,yi)代表xi和yi之间关系的属性因子函数,g(yi,yj)代表xi和xj两者之间的二元朋友关系的结构因子函数,g'(yi,yj,yk)代表xi,xj和xk三者之间的三元朋友关系的结构因子函数;Y代表所有候选配对用户的标签数据集,YL代表已知标注的候选配对用户对的标签数据集;Z代表全局归一化项,即在Y的所有可能取值的情况下,将因子函数的乘积相加,具体计算公式为:
Z=∑YΠf(xi,yi)Πg(yi,yj)Πg'(yi,yj,yk) (4)
3-2.计算属性因子函数f(xi,yi),计算公式为:
其中,α代表属性特征的d维权重向量,d代表属性特征个数;
代表x
i中两用户的特征相似度向量函数,如果某特征值完全相同,则相似度为1,如果不同,则相似度为0;
3-3.计算结构因子函数g(yi,yj)和g'(yi,yj,yk),计算公式为:
g(yi,yj)=exp{βTψ(yi,yj)} (6)
g'(yi,yj,yk)=exp{γTξ(yi,yj,yk)} (7)
其中,β和γ为权重向量;ψ(yi,yj)代表xi和xj两者之间的二元朋友关系函数,其计算公式为:
ψ=(ψ0,0,ψ0,1,ψ1,0,ψ1,1) (8)
g'(yi,yj,yk)代表xi,xj和xk三者之间的三元朋友关系的结构因子函数,其计算公式为:
ξ=(ξ0,0,0,ξ0,0,1,ξ0,1,0,ξ0,1,1,ξ1,0,0,ξ1,0,1,ξ1,1,0,ξ1,1,1)
步骤4具体实现过程如下:
4-1.对参数α,β和γ在[0,1]区间内进行随机值初始化;
4-2.根据当前迭代下的参数α,β和γ的值,通过最大化所有候选配对用户的标签数据的概率分布,计算得到所有未标注的yi数据,计算公式如下:
Y|YL代表给定带标注数据的条件下,当前所有候选用户对的标签数据的状态;
4-3.计算参数α,β和γ的梯度,计算公式如下:
p(Y|Y
L)代表给定带标注数据Y
L的条件下,当前所有候选用户对的标签数据的概率分布,p(Y)代表当前所有候选用户对的标签数据的概率分布;以分量
和分量
为例,前者代表给定p(Y|Y
L)概率分布的条件下,所有二元朋友关系特征总和的期望值,后者代表给定p(Y)概率分布的条件下,所有二元朋友关系特征总和的期望值。其余分量的含义依此类推;
4-4.设定学习率参数η=0.01,通过下式更新参数θ={α,β,γ}:
4-5.返回至步骤4-2,迭代至收敛,最后一次迭代中由步骤4-2计算得到的结果为本发明的最终结果。
本发明有益效果如下:
本发明的关注点在于如何通过概率因子图模型,有效融合用户身份关联的关键影响因素,实现两个社交平台上的用户身份关联,并解决上述技术问题。本发明可以根据部分标注的用户对数据,推断出特定的跨社交网络范围内的所有关联用户对,对商业上的跨社交网络的应用起着至关重要的作用,比如多社交网络的用户行为分析、跨社交网络的信息服务推送、跨平台的好友推荐以及政府机关、企事业单位的网络安全治理等。
具体实施方式
下面结合附图对本发明作进一步说明。
如图1所示,一种基于概率因子图模型的跨社交网络用户身份关联方法,包括以下步骤:
步骤1针对社交网络SMNA和社交网络SMNB的用户,利用用户名相似度和网络结构(朋友关系)从两个社交网络中选取候选配对用户对;
步骤2以所有的候选配对用户对X={xi}为节点,若用户对xi中的两个用户分别为用户对xj中两个用户的邻居,则xi和xj之间存在一条边,以此为原则构建用户对网络图(User Pair Graph,UPG);
步骤3由于社交网络中用户间的朋友关系比属性信息更加稳定,在构建的UPG和已标注的用户对(labeled user pairs)数据的基础上,融合用户属性相似度因子和朋友关系因子构建概率因子图模型;
步骤4利用梯度下降算法对概率因子图模型进行参数θ={α,β,λ}的学习,学习结束后同时可得到所有候选配对用户对的标签数据,即两个社交网络中具备相同用户身份的用户集合。
所述步骤1的具体实现过程如下:
1-1.SMN
A=(U
A,E
A)代表社交网络A,U
A代表社交网络A的用户集,E
A代表社交网络A的用户关系集合,
代表社交网络A中的某用户;SMN
B=(U
B,E
B)代表社交网络B,U
B代表社交网络B的用户集,E
B代表社交网络B的用户关系集合,
代表社交网络B中的某用户。
本发明利用网络爬虫从新浪微博(SMNA)和人人网(SMNB)中爬取网络数据,新浪微博包含用户节点数约1.21*105,人人网包含用户节点数约5.4*105。这两个网络共同的用户属性信息包括用户名、email地址、性别、出生年月、毕业院校。
1-2.对分别来自社交网络SMN
A和SMN
B的用户名n
k A和n
j B根据以下公式计算相似度,选取相似度大于0.8的用户对加入到候选配对用户对集合X中。其中,
其中,
代表Levenshtein距离,
代表用户名n
k A的字符长度,
代表用户名
的字符长度;如果用户名为中文,则以中文字符为计算单位。例如,用户名“北京人”和“北京人在纽约”字符长度分别为3和6,其相似度为0.5。
1-3.以X中的每一对用户为种子用户对进行邻居节点的扩展,从种子用户对的邻居节点中选取具备r个共同邻居(已知配对)的用户对加入到X中(根据不同的数据集设置不同的r值)。在这一步中,本发明提供了图2所示的例子。图2中,假设
为用户名相似度大于0.8的用户对,同时设定r=2,根据该步骤,
四个用户对被选为候选配对用户对加入到X中,最终
所述步骤2的具体实现过程如下:
2-1.UPG=(UUPG,EUPG)代表用户对网络图,UUPG表示节点集合,EUPG代表节点之间的关系集合;将候选配对用户对xi作为UPG的节点,xi∈UUPG;
2-2.假定
和
为UPG中的两个节点,如果这两个节点之间存在以下关系,则他们之间存在一条边。
本发明为步骤2提供了由图2的两个社交网络产生的用户对网络图示例。根据步骤2-1和步骤2-2,生成的用户对网络图(如图3所示)共包含6个节点,8条边。
所述步骤3的具体实现过程如下:
3-1.为了同时考虑用户属性特征和网络的结构特征,融合用户属性因子和朋友关系因子构建概率因子图模型,将UPG中的所有候选配对用户对标签集Y的联合分布p(Y|UPG,θ)分解为因子函数的乘积,如下式所示:
其中,θ={α,β,γ}代表参数集合,具体的参数含义见步骤3-2和3-3。i代表UPG中节点的下标,Y={yi}代表对应X={xi}的二值标签,yi=1代表xi中的两用户为同一身份,否则不同;||i,j代表xi和xj具备二元朋友关系(即节点xi和xj之间存在一条边),Δi,j,k代表xi,xj和xk具备三元朋友关系(即节点xi,xj和xk之间至少存在两条边);f(xi,yi)代表xi和yi之间关系的属性因子函数,g(yi,yj)代表xi和xj两者之间的二元朋友关系的结构因子函数,g'(yi,yj,yk)代表xi,xj和xk三者之间的三元朋友关系的结构因子函数;Y代表所有候选配对用户的标签数据集合,YL代表已知标注的候选配对用户对的标签数据集;Z代表全局归一化项,即在Y的所有可能取值的情况下,将因子函数的乘积相加,具体计算公式为:
在这一步中,本发明提供了由图3的用户对网络图生成的概率因子图示例,具体如图4所示。需要强调,由于二元和三元结构因子函数较多,该图没有画出全部的二元和三元结构因子函数。如图4所示,用户对的具体对应关系如下表:
根据该步骤,由图3的用户对网络图生成的所有二元结构因子函数包括:g(y1,y3),g(y2,y3),g(y3,y4),g(y3,y5),g(y1,y6),g(y2,y6),g(y4,y6),g(y5,y6)
由图3的用户对网络图生成的所有三元结构因子函数包括:
g(y1,y2,y3),g(y1,y3,y4),g(y1,y3,y5),g(y2,y3,y4),g(y2,y3,y5),
g(y1,y3,y6),g(y2,y3,y6),g(y3,y4,y6),g(y3,y5,y6),g(y1,y5,y6),
g(y1,y2,y6),g(y2,y4,y6),g(y1,y4,y6),g(y2,y5,y6),g(y4,y5,y6)
3-2.计算属性因子函数f(xi,yi),计算公式为:
其中,α代表属性特征的d维权重向量,d代表属性特征个数;
代表x
i中两用户的特征相似度向量函数,如果某特征值完全相同,则相似度为1,如果不同,则相似度为0。具体特征包括用户名、email地址、性别、出生年月、毕业院校等。
3-3.计算结构因子函数g(yi,yj)和g'(yi,yj,yk),计算公式为:
g(yi,yj)=exp{βTψ(yi,yj)}
g'(yi,yj,yk)=exp{γTξ(yi,yj,yk)}
其中,β和γ为权重向量。ψ(yi,yj)代表xi和xj两者之间的二元朋友关系函数,其计算公式为:
ψ=(ψ0,0,ψ0,1,ψ1,0,ψ1,1)
g'(yi,yj,yk)代表xi,xj和xk三者之间的三元朋友关系的结构因子函数,其计算公式为:
ξ=(ξ0,0,0,ξ0,0,1,ξ0,1,0,ξ0,1,1,ξ1,0,0,ξ1,0,1,ξ1,1,0,ξ1,1,1)
所述步骤4的具体实现过程如下:
4-1.对参数α,β和γ在[0,1]区间内进行随机值初始化;
4-2.根据当前迭代下的参数α,β和γ的值,通过最大化所有候选配对用户的标签数据的概率分布,计算得到所有未标注的yi数据,计算公式如下:
Y|YL代表给定带标注数据的条件下,当前所有候选用户对的标签数据的状态。
4-3.计算参数α,β和γ的梯度,计算公式如下:
p(Y|Y
L)代表给定带标注数据Y
L的条件下,当前所有候选用户对的标签数据的概率分布,p(Y)代表当前所有候选用户对的标签数据的概率分布;以分量
和分量
为例,前者代表给定p(Y|Y
L)概率分布的条件下,所有二元朋友关系特征总和的期望值,后者代表给定p(Y)概率分布的条件下,所有二元朋友关系特征总和的期望值。其余分量的含义依此类推;
4-4.设定学习率参数η=0.01,通过下式更新参数θ={α,β,γ}:
4-5.返回至步骤4-2,迭代至收敛。最后一次迭代中由步骤4-2计算得到的结果为本发明的最终结果。
在步骤4中,本发明以爬取的新浪微博用户数据和人人网用户数据为例,分别从数据集中抽取三个网络对,三个网络对的具体信息如下:
分别针对上述三个网络对构建概率因子图模型,并对模型进行参数学习,学习过程中的平均迭代次数不超过100。针对三个网络对进行用户身份关联并计算准确率。由于网络对的节点数目量较大,无法准确获取每对网络对的匹配用户对数目,从返回的结果中随机抽取200个用户对计算准确率,最终取得的平均准确率达到71.3%。