一种社交网络链路推荐方法及网络演化模型实施设计与流程

文档序号:14654066发布日期:2018-06-08 22:43阅读:344来源:国知局
一种社交网络链路推荐方法及网络演化模型实施设计与流程

本发明涉及一种社交网络链路推荐方法及网络演化模型实施设计,属于网络科学技术领域。



背景技术:

在线社交网络作为人际交往的平台,以实用便捷的交友模式,受到越来越多用户的青睐。利用社交网络产生的数据进行信息处理,如网络演化、影响力扩散、链路预测等也在学术界和工业界引起众多关注。链路预测作为社交网络数据挖掘的重要研究方向,用于预测网络中没有产生连边的两个用户节点之间建立链接的概率。然而,利用链路预测算法,计算网络中用户的相似度,对用户进行好友推荐,忽略了这样一个事实:用户在选择好友的时候,不仅要考虑与之相似度,同时还会考虑建立连接给自身带来的收益,如影响力的提升,中心度的提升。即,真实网络中对用户进行好友推荐,应该权衡连接代价和连接收益,使得用户在有限的总代价内能够达到最大的收益。

此外,在以往的研究中,学者较多地或从网络拓扑结构的角度,或从网络节点属性结构考虑,研究社交网络中链路预测系统。而在数据量丰富的今天,越来越多的社交网络除了网络拓扑结构,还有丰富的节点属性,将节点属性用于链路预测能极大的提高链路预测的准确率。因此,本文充分考虑社交网络的特殊性,在传统只研究网络拓扑结构的基础上,结合节点属性对用户进行链路推荐,以最大提高用户的中心度和影响力。

博弈论是经济学的一个分支,它研究人们的策略互动行为,并认为人人都会在约束条件下最大化自身的利益。经济学中有一个著名的研究方向,网络形成博弈(Network Formation Games,NFG),它研究社交网络的形成机制。在网络形成博弈模型中,每个节点拥有一个收益函数来表征通过当前网络拓扑结构,该节点所做的某项决定或与其他节点建立的某条链接给自身带来的收益。在社交网络中,用户节点之间存在复杂的连接关系,每个用户节点在与其他将用户建立链接关系时都希望最大化自身的收益。

现有的链路推荐算法往往集中在提高推荐的准确率上,大多忽略了推荐链路的过程对目标用户中心度的改变。现有的最大化中心度问题也并未与链路预测问题结合,为用户推荐中心度高的节点。而且在中心度最大化问题中,挖掘出的节点往往是网络中的非常有地位的用户,实际应用中与这些用户建立连接是一件不容易的事情。比如,微博网络中,一个新加入的节点,耗尽全部代价和一个大V建立了连接,但是这个连接极有可能是弱连接,对于该节点的中心度并不会提高很大。但是,如果该节点选择连接一些中心度低一些但连接代价小的,在有限代价下可以多建立一些连接,这样达到的中心度反而更大。如何结合链路预测和节点中心度两个基本问题,最大化目标节点的中心度是当前链路推荐的研究重点。此外,如何将链路推荐与博弈论结合,研究核心边缘结构的产生,是另一个研究重点。



技术实现要素:

本发明的目的是为了解决现有推荐算法仅依赖于链路预测算法,估计节点间相似度,而忽略了链路的建立为目标节点带来的收益,从而导致推荐结果的不准确性,提出了一种社交网络链路推荐方法及网络演化模型实施设计。

一种社交网络链路推荐方法及网络演化模型实施设计包括一种在有限代价下基于代价和收益的链路推荐算法,简称推荐算法,以实现最大化目标节点的中心度;以及基于该推荐算法的一种基于博弈论的社交网络动态演化设计,挖掘网络核心-边缘结构的形成。

一种在有限代价下基于代价和收益的链路推荐算法,通过挖掘社交网络中用户给目标节点带来的收益,通过社交网络中用户间的相关性确定建立链接所需要的代价,综合代价和收益,在有限代价下为用户推荐节点,不仅可解决无属性网络下根据网络拓扑结构进行链路预测的问题,还可扩展到有属性网络下,通过重构网络,将节点属性整合到网络拓扑结构中,利用参数控制节点属性和网络拓扑结构的权重从而衡量其重要性;

后续本专利中提到的网络均表示社交网络;

一种在有限代价下基于代价和收益的链路推荐算法,包括如下步骤:

步骤1、遍历社交网络中目标节点的非邻居节点,计算社交网络中每个节点的中心度以及每个节点与其他所有节点建立链接的代价,并为目标节点推荐节点集合;

其中,中心度在本发明的全文中均指接近中心度;

步骤1,具体为:

步骤1.1计算社交网络中每个节点到其他所有可达节点的最短路径,即计算该节点的中心度;

步骤1.2计算从目标节点到每个节点的随机游走概率,即计算目标节点与该节点建立链接的代价;

步骤2根据社交网络中每个节点的中心度,在有限代价下按照优先选择中心度高的策略,为目标节点推荐节点集合;

其中,有限代价是指节点的代价的取值范围小于等于总节点数的50%;

其中,节点的中心度,根据公式(1)确定:

Uu(G)=∑{distG(u,v)-1|u≠v}, (1)

其中,distG(u,v)表示节点u到节点v的最短路径长度,如果节点u不可达节点v,则distG(u,v)=∝;

目标节点选择网络中节点集的优先选择策略,具体根据公式(2)确定:

S1=S1∪argmax{Ui(G)|i∈V\S1} (2)

其中,S1表示优先选择中心度高的策略选择的节点集合,V表示网络中所有节点的集合,V\S1表示在集合V中不在集合S1中的节点集合,argmax{Ui(G)|i∈V\S1}表示取集合{Ui(G)|i∈V\S1}中结果最大的值的索引;

步骤3根据每个节点的代价,在有限代价下按照优先选择代价低的策略,为目标节点推荐节点集合;

其中,节点的代价是目标节点与该节点建立的链接需要的代价,与链路预测的结果相反,根据公式(3)确定:

其中,PRv(i)表示所述目标节点v与节点i的个性化PageRank的值,通过有重启动的个性化随机游走算法计算,即根据公式(4)确定:

其中,PRv(u)表示节点u的相对于节点v的重要度,PRv(j)表示节点j的相对于节点v的重要度;d是重启动概率,in(u)表示网络中指向u的节点的集合,out(u)表示网络中u指向的节点的集合;rv(u)表示随机游走中目标节点v选择网络中节点u的概率,如果u是目标节点,即u=v,则rv(u)=1,否则rv(u)=0;

优先选择代价低的策略根据公式(5)确定:

S2=S2∪argmin{Cv(i)|i∈V\S2} (5)

其中,S2表示优先选择代价低的策略选择的节点集合,V表示网络中所有节点的集合;V\S2表示在集合V中不在集合S2中的节点集合,argmin{Ci|i∈V\S2}表示取集合{Ci|i∈V\S2}中结果最小的值的索引;

步骤4根据每个节点的中心度和代价,在有限代价下按照优先选择中心度和代价比重大的策略,为目标节点推荐节点集合;

其中,优先选择中心度和代价比重大的策略根据公式(6)确定:

其中S3表示优先选择中心度和代价比重大的策略选择的节点集合,V表示网络中所有节点的集合;V\S3表示在集合V中不在集合S3中的节点集合,表示取集合中结果最大的值的索引;

步骤5根据每个节点建立链接后目标节点的中心度,在有限代价下按照优先选择目标节点中心度更高的策略,为目标节点推荐节点集合;

目标节点与节点j建立链接{vi}后其中心度,根据公式(7)确定:

Uu(G+{ij})=∑{distG(u,v)-1|u≠v}, (7)

优先选择目标节点中心度更高的策略,根据公式(8)确定:

S4=S4∪argmax{Ui(G+{ij})|j∈V\S4}, (8)

其中S4表示优先选择目标节点中心度更高的策略选择的节点集合,V表示网络中所有节点的集合,G表示初始网络,V\S4表示在集合V中不在集合S4中的节点集合,argmax{Ui(G+{ij})|j∈V\S4}表示取集合{Ui(G+{ij})|j∈V\S4}中结果最大的值的索引;

步骤6根据每个节点建立链接后目标节点的中心度,在有限代价下按照优先选择目标节点中心度与代价的比重更大的策略,为目标节点推荐节点集合。优先选择目标节点中心度与代价的比重更大的策略,根据公式(9)确定:

其中S5表示优先选择目标节点中心度与代价的比重更大的策略选择的节点集合,V表示网络中所有节点的集合,G表示初始网络,V\S5表示在集合V中不在集合S5中的节点集合,表示取集合中结果最大的值的索引;

其中,步骤2到步骤6可并行执行,也可串行执行;

步骤7对于步骤2到步骤6的每个输出集合,分别计算目标节点与之建立连接后目标节点的中心度,输出步骤2到步骤6所述策略输出的集合使目标节点中心度最高的节点集合,称之为策略X;

至此,从步骤1到步骤7,完成了一种在有限代价下基于代价和收益的链路推荐算法。

一种基于博弈论的社交网络动态演化设计,在三个随机生成的网络中经过少数迭代能够迅速产生核心边缘结构,并且演化后的网络平均度数、平均聚类系数和最短路径均符合真实数据网络,包括如下步骤:

步骤A遍历网络中目标节点中非邻居节点,计算网络中每个节点的中心度以及每个节点与其他所有节点建立链接的代价,具体为:

步骤A.1计算社交网络中每个节点到其他所有可达节点的最短路径,即计算该节点的中心度;

步骤A.2计算从目标节点到每个节点的随机游走概率,即计算目标节点与该节点建立链接的代价;

步骤B为每个节点分配相同的代价,计算在该代价下每个节点所选择的节点集合,具体基于步骤7选取的策略X;

步骤C将每个节点基于步骤B选取策略选择的节点,与该节点建立链接,形成新的链接,将这些新的链接加入网络中;

步骤D观测核心/边缘网络结构是否出现,并根据该核心/边缘网络结构是否出现的结果决定是否跳至步骤A还是结束本演化设计,具体为:

D.1若未出现核心/边缘网络结构,则跳至步骤A;

D.2若出现了核心/边缘网络结构,则统计网络指数,结束本演化设计;

至此,从步骤A到步骤D,完成了一种基于博弈论的社交网络动态演化设计。

有益效果

一种社交网络链路推荐方法及网络演化模型实施设计,与现有社交网络链路推荐和网络演化相比,具有如下有益效果:

1.本基于代价和收益的社交网络链路推荐,在有限代价内能更大程度的提高用户的影响力;

2.本基于代价和收益的社交网络链路推荐,不仅可以解决无属性网络下根据网络拓扑结构进行链路预测的问题,还可以扩展到有属性网络下;

3.本基于代价和收益的社交网络链路推荐,相较于传统基于链路预测的推荐算法,能够更大的提高目标节点的中心度;

4.本基于代价和收益的社交网络链路推荐,利用贪心算法,计算速度快,可用于大规模网络;

5.本基于博弈论的社交网络动态演化设计在三个随机生成的网络中经过少数迭代能够迅速产生核心边缘结构;

6.本基于博弈论的社交网络动态演化设计在演化后,网络平均度数、平均聚类系数和最短路径均符合真实数据网络;

7.本基于博弈论的社交网络动态演化设计在演化后,提供了一种核心边缘结构产生的原理。

附图说明

图1是本发明一种社交网络链路推荐方法及网络演化模型实施设计中一种在有限代价下基于代价和收益的链路推荐算法的流程图;

图2是本发明一种社交网络链路推荐方法及网络演化模型实施设计中一种基于博弈论的社交网络动态演化设计的流程图。

具体实施方式

下面结合附图和实施例对本发明做进一步说明和详细描述。

实施例1

图1为本发明提供的社交网络链路推荐算法流程图。如图1所述,本发明提供一种在有限代价下基于代价和收益的链路推荐算法,该算法的具体步骤如下:

步骤a、遍历网络中所述目标节点中非邻居节点,计算每个节点到其他所有可达节点的中心度、建立链接的代价;步骤A,具体为:

步骤a.1计算每个节点到其他所有可达节点的最短路径,从而计算其中心度;节点中心度根据公式(10)确定:

Uu(G)=∑{distG(u,v)-1|u≠v} (10)

其中,distG(u,v)表示节点u到节点v的最短路径长度,如果节点u不可达节点v,则distG(u,v)=∝;

步骤a.2计算从目标节点到每个节点的随机游走概率,从而计算每个节点建立链接的代价。随机游走概率通过公式(11)确定:

其中,PRv(u)表示节点u的相对于节点v的重要度,d是重启动概率,in(u)表示网络中指向u的节点的集合,out(u)表示网络中u指向的节点的集合;rv(u)表示随机游走中目标节点v选择网络中节点u的概率,如果u是目标节点,即u=v,则rv(u)=1,否则rv(u)=0;

节点的代价为与之建立的链接需要的代价,与链路预测的结果相反,根据公式(12)确定:

其中,Cv(j)表示节点j相对于节点v的连接代价;

步骤b根据每个节点的中心度,在有限代价下按照优先选择中心度高的策略,为目标节点推荐节点集合;

优先选择中心度高的策略,具体根据公式(13)确定:

S1=S1∪argmax{Ui(G)|i∈V\S1} (13)

其中,S1表示该策略选择的节点集合,初始化为目标节点v的所有相邻节点的集合,V表示网络中所有节点的集合,V\S1表示在集合V中不在集合S1中的节点集合,argmax{Ui(G)|i∈V\S1}表示取集合{Ui(G)|i∈V\S1}中结果最大的值的索引;

算法每次在待选集合中选取中心度最高的节点,更新代价,若剩余代价大于0,则将该点加入集合S1中,从待选集合中删除;

步骤c根据每个节点的代价,在有限代价下按照优先选择代价低的策略,为目标节点推荐节点集合;

优先选择代价低的策略,具体根据公式(14)确定:

S2=S2∪argmin{Cv(i)|i∈V\S2} (14)

其中,S2表示该策略选择的节点集合,初始化为目标节点v的所有相邻节点的集合,V表示网络中所有节点的集合,V\S表示在集合V中不在集合S2中的节点集合,argmin{Cv(i)|i∈V\S2}表示取集合{Cv(i)|i∈V\S2}中结果最大的值的索引;

算法每次在待选集合中选取代价最小的节点,更新代价,若剩余代价大于0,则将该点加入集合S2中,从待选集合中删除;

步骤d根据每个节点的中心度和代价,在有限代价下按照优先选择中心度和代价比重大的策略,为目标节点推荐节点集合;

优先选择中心度和代价比重大的策略,根据公式(15)确定:

其中,S3表示该策略选择的节点集合,初始化为目标节点v的所有相邻节点的集合,V表示网络中所有节点的集合,V\S3表示在集合V中不在集合S3中的节点集合,表示取集合中结果最大的值的索引;

算法每次在待选集合中选取代价最小的节点,更新代价,若剩余代价大于0,则将该点加入集合S3中,从待选集合中删除;

步骤e根据每个节点建立链接后目标节点v的中心度,在有限代价下按照优先选择目标节点v中心度更高的策略,为目标节点推荐节点集合。目标节点v与节点j建立链接{vj}后其中心度,根据公式(16)确定:

优先选择目标节点v中心度更高的策略,根据公式(17)确定:

S4=S4∪argmax{Uv(G+{vi})|i∈V\S4}, (17)

其中,S4表示该策略选择的节点集合,初始化为目标节点v的所有相邻节点的集合,V表示网络中所有节点的集合,V\S4表示在集合V中不在集合S4中的节点集合,argmax{Uv(G+{vi})|i∈V\S4}表示取集合{Uv(G+{vi})|i∈V\S4}中结果最大的值的索引;

算法每次在待选集合中选取使目标节点中心度增长最多节点,更新代价,若剩余代价大于0,则将该点加入集合S4中,从待选集合中删除;

步骤f根据每个节点建立链接后目标节点的中心度,在有限代价下按照优先选择目标节点中心度增长与代价的比重更大的策略,为目标节点推荐节点集合。目标节点v与节点j建立链接{vj}后其中心度,根据公式(18)确定:

优先选择目标节点中心度增长与代价的比重更大的策略,根据公式(19)确定:

其中,S5表示优先选择目标节点中心度增长与代价的比重更大的策略选择的节点集合,初始化为目标节点v的所有相邻节点的集合,V表示网络中所有节点的集合,V\S5表示在集合V中不在集合S5中的节点集合,表示取集合中结果最大的值的索引;

算法每次在待选集合中选取使目标节点中心度增长和代价比值最大的节点,更新代价,若剩余代价大于0,则将该点加入集合S5中,从待选集合中删除;

步骤g结合上面所述的策略,返回所述目标节点中心度最高的节点集合。

实施例2

图2为本发明提供的社交网络演化模型流程图。如图2所示,本发明提供了一种社交网络演化模型,能够探究和挖掘网络中核心边缘结构,同时网络演化结构与真实网络相符合。具体如下:

网络中每个节点选择与其他节点建立链接的竞争是非合作的,即网络中每个节点只关注自身中心度的提高,而不关注网络整体中心度的提高;

网络中每个节点会根据上述描述的链路推荐算法,竞争地与其他节点建立链接;

在网络演化过程中,将每一轮的代价设置为最小代价,保证网络经过一轮演化至少新增一条边;

网络演化模型具体如下:

步骤Ⅰ计算每个节点到其他所有可达节点的最短路径,从而计算其中心度。根据公式(20)计算节点中心度:

Uu(G)=∑{distG(u,v)-1|u≠v} (20)

步骤Ⅱ计算从每个节点到其他所有节点的随机游走概率,从而计算每个节点与其他所有节点建立链接的代价;采用随机游走算法计算节点间的游走概率,通过公式(11)确定:

其中,PRv(u)表示节点u的相对于节点v的重要度,d是重启动概率,in(u)表示网络中指向u的节点的集合,out(u)表示网络中u指向的节点的集合;rv(u)表示随机游走中目标节点v选择网络中节点u的概率,如果u是目标节点,即u=v,则rv(u)=1,否则rv(u)=0;

节点的代价为与之建立的链接需要的代价,与链路预测的结果相反,根据公式(22)确定:

其中,Cv(j)表示节点j相对于节点v的连接代价;

步骤Ⅲ为每个节点分配相同的代价。节点分配的代价为所有代价中最小代价,根据公式(23)确定:

B=min{Cv(j)|j∈V and v∈V} (23)

其中Cv(j)表示节点j相对于节点v的代价,min表示取集合中最小值;

对于每个节点u计算在该代价下每个节点所选择的节点集合;采用上述描述的选择子集合Su的策略;

步骤Ⅳ将每个节点选择的节点,与该节点建立链接,形成新的链接;将这些新的链接加入网络中。按照公式(24)更新网络:

G′=(V,E∪{{v,u}|v∈V,u∈Su}) (24)

其中,V表示初始网络节点集合,E表示初始网络链接集合,Su表示对于用户u,采取上述链路推荐策略后选择的节点集合;

步骤Ⅴ重复步骤a-d若干次,观测核心/边缘网络结构是否出现,统计网络指数。其中,核心边缘结构按照公式(25)检测:

其中,Ccp(G)表示网络G的核心/边缘系数,当Ccp(G)>0,说明网络中存在明显的核心/边缘结构;表示和G有相同度数分布的网络集合;<·>表示平均操作;Vcore(G)表示图G的核心的节点集合;U(S)表示集合S的中心度,通过公式(26)计算:

其中,n表示网络中所有节点的个数,V\{v}表示网络中除v以外的所有节点,distG(u,v)表示在网络G中节点u和v的距离;

如果网络出现强核心/边缘结构,停止演化,计算演化后网络的结果,包括平均聚类系数,平均度数,平均最短路径;如果网络演化增加的边数等于原来网络边数,还未出现核心边缘网络结构,则认为该网络下该演化模型无法产生核心边缘结构;平均聚类系数通过公式(27)计算:

平均度数通过公式(28)计算:

其中,n表示网络中所有节点个数,di表示节点i的度数;

平均最短路径通过公式(29)计算:

其中,n表示网络中所有节点个数,distG(i,j)表示网络中i和j的最短路径长度;

以上所述为本发明的较佳实施例而已,本发明不应该局限于该实施例和附图所公开的内容。凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保护的范围。

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