基于影响力最大化的节点查询方法和装置制造方法

文档序号:6633822阅读:239来源:国知局
基于影响力最大化的节点查询方法和装置制造方法
【专利摘要】本发明提供一种基于影响力最大化的节点查询方法和装置,通过对社会网络进行切分,获得多个子网络,从而可利用不同机器同时对多个子网络进行计算,也就是说采用了并行计算的方式,能够利用多节点CPU和内存资源,减少了运行时间,提高了计算效率。
【专利说明】基于影响力最大化的节点查询方法和装置

【技术领域】
[0001] 本发明涉及信息技术,尤其涉及一种基于影响力最大化的节点查询方法和装置。

【背景技术】
[0002] 社会网络是指由个体W及个体之间的关系所组成的一个复杂的网络,该种复杂的 社会结构对消息的扩散起到了至关重要的作用。将每一个个体作为社会网络中的一个节 点,当前节点与另一节点之间若存在连线,即边,则说明当前节点所代表的个体与另一节点 所代表的个体之间存在消息扩散关系,连线的方向则代表了消息扩散的方向。
[0003] 随着在线社会网络的不断发展,使得利用社会网络中的一些节点进行消息扩散成 为可能。影响力最大化方法就是用于在社会网络中查询具有较高影响力的影响力节点,从 而当借助该些影响力节点进行消息扩散时,能使得消息扩散的范围最大。
[0004] 现有技术中有多种在社会网络中查询影响力节点的方法,比如贪也算法、前缀排 除最大影响力树(Prefix excluding Maximum Influence Arborescence, PMIA)和影响力排 序估计(Influence Rank Influence Estimation, IRIEO算法等查询方法,但现有技术中的 该些查询方法均基于单机进行查询,因而在社会网络所包含的节点数量鹿大、计算量较大 时,查询效率较低。


【发明内容】

[0005] 本发明提供一种基于影响力最大化的节点查询方法和装置,用于解决在社会网络 所包含的节点数量鹿大、计算量较大时,查询效率较低的技术问题。
[0006] 本发明的一个方面是提供一种基于影响力最大化的节点查询方法,包括:
[0007] 对社会网络进行切分,获得各子网络;
[0008] 采用并行计算方式,针对每一个子网络进行影响力最大化计算,获得所述子网络 中各节点的排序值和消息;
[0009] 若两不同的子网络中分别包含对应所述社会网络中同一节点的主节点和镜像节 点,则根据所述主节点和所述镜像节点在所述两不同的子网络中的消息,更新所述同一节 点在所述两不同的子网络中每一个子网络中的排序值;
[0010] 根据更新后的所述排序值,针对至少一个子网络中的每一个子网络,采用并行计 算方式,针对每一个子网络进行影响力最大化计算,更新每一个子网络中所包含节点的影 响力的排序值;
[0011] 从所述各子网络中查询排序值最大的节点,将查询到的节点作为所述社会网络的 影响力节点。
[0012] 本发明的另一个方面是提供一种基于影响力最大化的节点查询装置,包括:
[0013] 切分模块,用于对社会网络进行切分,获得各子网络;
[0014] 计算模块,用于采用并行计算方式,针对每一个子网络进行影响力最大化计算,获 得所述子网络中各节点的排序值和消息;
[0015] 更新模块,用于若两不同的子网络中分别包含对应所述社会网络中同一节点的主 节点和镜像节点,则根据所述主节点和所述镜像节点在所述两不同的子网络中的消息,更 新所述同一节点在所述两不同的子网络中每一个子网络中的排序值;
[0016] 所述计算模块,还用于根据更新后的所述排序值,针对至少一个子网络中的每一 个子网络,采用并行计算方式,针对每一个子网络进行影响力最大化计算,更新每一个子网 络中所包含节点的影响力的排序值;
[0017] 查询模块,用于从所述各子网络中查询排序值最大的节点,将查询到的节点作为 所述社会网络的影响力节点。
[0018] 本发明提供的基于影响力最大化的节点查询方法和装置,通过对社会网络进行切 分,获得多个子网络,从而可利用不同机器同时对多个子网络进行计算,也就是说采用了并 行计算的方式,能够利用多节点CPU资源,减少了运行时间,提高了计算效率。

【专利附图】

【附图说明】
[0019] 图1为本发明一实施例提供的一种基于影响力最大化的节点查询方法的流程示 意图;
[0020] 图2为本发明另一实施例提供的一种基于影响力最大化的节点查询方法的流程 示意图;
[0021] 图3为本发明一实施例提供的一种基于影响力最大化的节点查询装置的结构示 意图;
[0022] 图4为本发明另一实施例提供的一种基于影响力最大化的节点查询装置的结构 示意图。

【具体实施方式】
[0023] 图1为本发明一实施例提供的一种基于影响力最大化的节点查询方法的流程示 意图,如图1所不,包括:
[0024] 101、对社会网络进行切分,获得各子网络;
[0025] 102、采用并行计算方式,针对每一个子网络进行影响力最大化计算,获得所述子 网络中各节点的排序值和消息;
[0026] 103、若两不同的子网络中分别包含对应所述社会网络中同一节点的主节点和镜 像节点,则根据所述主节点和所述镜像节点在所述两不同的子网络中的消息,更新所述同 一节点在所述两不同的子网络中每一个子网络中的排序值;
[0027] 104、根据更新后的所述排序值,针对至少一个子网络中的每一个子网络,采用并 行计算方式,针对每一个子网络进行影响力最大化计算,更新每一个子网络中所包含节点 的影响力的排序值;
[0028] 105、从所述各子网络中查询排序值最大的节点,将查询到的节点作为所述社会网 络的影响力节点。
[0029] 本实施例中,通过对社会网络进行切分,获得多个子网络,从而可利用不同机器同 时对多个子网络进行计算,也就是说采用了并行计算的方式,能够利用多节点CPU和内存, 减少了运行时间,提高了计算效率。
[0030] 图2为本发明另一实施例提供的一种基于影响力最大化的节点查询方法的流程 示意图,如图2所示,包括:
[0031] 201、采用点切分方式,对所述社会网络进行切分。
[003引具体的,针对所述社会网络中的节点V的标识IDv,根据公式niv = hash(IDv) % M进 行哈希映射,获得节点V对应的机器HV ;其中,V G V,V为所述社会网络包含的所有节点,M 为机器的总数量。若一条边的两个节点分布到不同的机器上,则将边存储在其中点数量较 少的一台机器上,W获得均衡的存储和计算负载。此时,需要将边的一个节点做复制,哈希 映射的机器上的节点记为主节点,复制到另一台机器上的节点记为镜像节点。将分布到同 一机器的节点所构成的网络作为一个子网络。
[0033] 202、对每个子网络中的每一节点进行初始化。
[0034] 具体的,对所述每个子网络中的每一节点进行初始化,分别确定节点U的排序值 为r(u) = 1,被激活概率为APy(U) =0;对所述每个子网络中的每一条边进行初始化,分别 确定节点U和节点V之间的边E (U,V)的传播概率,可将传播概率理解为信任度Pw,等于V 的入度的倒数。最后,节点V将初始消息CU= IXPw传递给其入边邻居U G Nin(V)D其中, Nin(V)为V的所有入边邻居的集合。
[00巧]203、在每一个子网络中进行局部计算。
[0036] 具体的,在各个子网络中,收到消息的节点通过如下公式增量地更新自己的排序 值: 「00371 Ar(M) ^ 0.7 X (1 - /1 {U)) X X ,, veW。山(,')
[0038] r (U)户 r (U) + A r (U)
[003引其中,N°ut(u)为节点U的所有出边邻居的集合。U又将新的消息 Ar(U) XP",W G Nin(U)传递给入边邻居W。所有收到消息的节点更新并发送新的消息,为 一轮迭代。一般地,可进行7轮局部迭代后,局部计算停止并进行信息融合。局部计算中, 子网络内的主节点和镜像节点收集、累加和缓存收到的所有消息。其中,Ar(U)表示节点U 的排序值变化量。
[0040] 需要说明的是求解第2、3、4...个影响力最大点时,局部迭代的次数可适当减少, 例如3次。
[0041] 204、各子网络间进行信息融合,获得更新后的消息,根据更新后的消息执行步骤 203。
[0042] 具体的,若节点为主节点,则将主节点的消息W及所述主节点对应的镜像节点的 消息进行累加获得所述主节点的全局消息;将所述全局消息与所述主节点的消息之差,更 新为所述主节点的消息;将所述全局消息与所述镜像节点的消息之差,更新为所述镜像节 点的消息。
[0043] 需要说明的是,步骤204可重复执行多次,例如可为3次。
[0044] 205、从各子网络中查询排序值最大的节点,将查询到的节点作为所述社会网络的 影响力节点。
[0045] 206、重新确定各节点的排序值W及消息,返回执行步骤203。
[0046] 具体的,将边上传播概率Pw转换为权重-logPw,并在全网络中基于权重计算源于 刚求解出的影响力最大节点f的单源最短路径;将f到节点U的最短路径权重d (U)转换为 P(U) = e-dW ;通过W下公式,更新AP>):
[0047] APf (Li) ^ AP (U)
[0048] AP曰(U)户 AP曰(U)-P (U)
[0049] 初始化新的排序值:
[0050] r (U) old r (U) /、 /、 1 - APsiu)
[0051] 银替
[0052] Ar(U)户 r (U)-r (U) old
[0053] 发送新的消息A r (U) XP",W G Nin(U)给入边邻居W。返回203,启动下一个影响 力最大点计算。
[0054] 本实施例中,通过对社会网络进行切分,获得多个子网络,从而可利用不同机器同 时对多个子网络进行计算,也就是说采用了并行计算的方式,能够利用多节点CPU资源,减 少了运行时间,提高了计算效率。
[0055] 图3为本发明一实施例提供的一种基于影响力最大化的节点查询装置的结构示 意图,如图3所示,包括:切分模块31、计算模块32、更新模块33、查询模块34。
[0056] 切分模块31,用于对社会网络进行切分,获得各子网络;
[0057] 计算模块32,与切分模块31连接,用于采用并行计算方式,针对每一个子网络进 行影响力最大化计算,获得所述子网络中各节点的排序值和消息;
[0058] 更新模块33,与计算模块32连接,用于若两不同的子网络中分别包含对应所述 社会网络中同一节点的主节点和镜像节点,则根据所述主节点和所述镜像节点在所述两不 同的子网络中的消息,更新所述同一节点在所述两不同的子网络中每一个子网络中的排序 值;
[0059] 所述计算模块32,与更新模块33连接,还用于根据更新后的所述排序值,针对至 少一个子网络中的每一个子网络,采用并行计算方式,针对每一个子网络进行影响力最大 化计算,更新每一个子网络中所包含节点的影响力的排序值;
[0060] 查询模块34,与计算模块32和更新模块33连接,用于从所述各子网络中查询排序 值最大的节点,将查询到的节点作为所述社会网络的影响力节点。
[0061] 需要说明的是,本实施例所提供的装置用于实现如图1所示的方法,因此,本实施 例所提供的装置中各模块的原理的功能不再费述,参见对应方法实施例的描述。
[0062] 本实施例中,通过对社会网络进行切分,获得多个子网络,从而可利用不同机器同 时对多个子网络进行计算,也就是说采用了并行计算的方式,能够利用多节点CPU资源,减 少了运行时间,提高了计算效率。
[0063] 图4为本发明另一实施例提供的一种基于影响力最大化的节点查询装置的结构 示意图,如图4所示,在上一实施例的基础上,本实施例所提供的装置进一步包括:
[0064] 初始化模块35,与计算模块32连接,用于对所述子网络中的每一节点进行初始 化,分别确定各节点U的排序值r(u) = 1,且被激活概率为AP,(u) =0,W及对所述子网络 中的每一条边进行初始化,分别确定节点V与节点U之间的边E (U,V)的传播概率为信任度 Pw,所述信任度Puy等于节点V的入度的倒数;所述节点V将初始的消息CU = 1 XPw传递 给所述节点V的入边邻居U G Nin(V);其中,Nin(V)为V的所有入边邻居。
[0065] 进一步,切分模块31,具体用于针对所述社会网络中的节点V的标识IDy,根据公 式nv = hash (IDy) % M进行哈希映射,获得节点V对应的机器nv ;其中,V G V,V为所述社 会网络包含的所有节点,M为机器的总数量;若同属一条边的两个节点分布到不同的两机 器上,则将边存储在所述不同的两机器中节点数量少的一台机器上,将所述同属一条边的 两个节点中的一个节点进行复制分别对应所述不同的两机器,并将对应哈希映射所获得的 机器的节点记为主节点,所复制的对应所述不同的两机器中另一台机器的节点记为镜像节 点;将对应同一机器的节点所构成的社会网络作为同一个子网络。
[0066] 计算模块32,具体用于:在每一个子网络中,根据公式 Ar(M)以).7x(l-/I/?)x為式.",W及公式r(u)户r(u)+ A r(u)更新收到所述 V€.N {u) 消息的节点U排序值;其中,N°ut (U)为节点U的所有出边邻居;节点U将新的消息 A r (U) X P",W G Nin(U)传递给入边邻居节点W。
[0067] 进一步,更新模块33,具体用于:
[0068] 将主节点的消息W及所述主节点对应的镜像节点的消息进行累加获得所述主节 点的全局消息;
[0069] 将所述全局消息与所述主节点的消息之差,更新为所述主节点的消息;
[0070] 将所述全局消息与所述镜像节点的消息之差,更新为所述镜像节点的消息。
[0071] 需要说明的是,本实施例所提供的装置用于实现如图2所示的方法,因此,本实施 例所提供的装置中各模块的原理的功能不再费述,参见对应方法实施例的描述。
[0072] 本实施例中,通过对社会网络进行切分,获得多个子网络,从而可利用不同机器同 时对多个子网络进行计算,也就是说采用了并行计算的方式,能够利用多节点CPU资源,减 少了运行时间,提高了计算效率。
[0073] 本领域普通技术人员可W理解;实现上述各方法实施例的全部或部分步骤可W通 过程序指令相关的硬件来完成。前述的程序可W存储于一计算机可读取存储介质中。该程 序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括;ROM、RAM、磁碟 或者光盘等各种可W存储程序代码的介质。
[0074] 最后应说明的是;W上各实施例仅用W说明本发明的技术方案,而非对其限制; 尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其 依然可W对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征 进行等同替换;而该些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技 术方案的范围。
【权利要求】
1. 一种基于影响力最大化的节点查询方法,其特征在于,包括: 对社会网络进行切分,获得各子网络; 采用并行计算方式,针对每一个子网络进行影响力最大化计算,获得所述子网络中各 节点的排序值和消息; 若两不同的子网络中分别包含对应所述社会网络中同一节点的主节点和镜像节点,则 根据所述主节点和所述镜像节点在所述两不同的子网络中的消息,更新所述同一节点在所 述两不同的子网络中每一个子网络中的排序值; 根据更新后的所述排序值,针对至少一个子网络中的每一个子网络,采用并行计算方 式,针对每一个子网络进行影响力最大化计算,更新每一个子网络中所包含节点的影响力 的排序值; 从所述各子网络中查询排序值最大的节点,将查询到的节点作为所述社会网络的影响 力节点。
2. 根据权利要求1所述的基于影响力最大化的节点查询方法,其特征在于,所述对社 会网络进行切分,获得各子网络,包括: 针对所述社会网络中的节点V的标识IDv,根据公式mv = hash (IDv) % M进行哈希映射, 获得节点V对应的机器mv ;其中,V G V,V为所述社会网络包含的所有节点,M为机器的总 数量; 若同属一条边的两个节点分布到不同的两机器上,则将边存储在所述不同的两机器中 节点数量少的一台机器上,将所述同属一条边的两个节点中的一个节点进行复制分别对应 所述不同的两机器,并将对应哈希映射所获得的机器的节点记为主节点,所复制的对应所 述不同的两机器中另一台机器的节点记为镜像节点; 将对应同一机器的节点所构成的社会网络作为同一个子网络。
3. 根据权利要求2所述的基于影响力最大化的节点查询方法,其特征在于,所述针对 每一个子网络进行影响力最大化计算,获得所述子网络中各节点的排序值之前,包括: 对所述子网络中的每一节点进行初始化,分别确定各节点u的排序值r(u) = 1,且被激 活概率为APs (u) = 0,以及对所述子网络中的每一条边进行初始化,分别确定节点V与节点 u之间的边E (u,V)的传播概率为信任度Puv,所述信任度Puv等于节点V的入度的倒数; 所述节点V将初始的消息dvu = IXPuv传递给所述节点V的入边邻居u G Nm(V);其 中,Nin(V)为V的所有入边邻居。
4. 根据权利要求3所述的基于影响力最大化的节点查询方法,其特征在于,所述针对 每一个子网络进行影响力最大化计算,获得所述子网络中各节点的排序值和消息,包括: 在每一个子网络中,根据公式
,以及公式 r (u) - r (u) + A r (u)更新收到所述消息的节点u排序值;其中,N°ut (u)为节点u的所有出 边邻居; 节点u将新的消息A r (u) XPuw, w G Nm(U)传递给入边邻居节点w。
5. 根据权利要求4所述的基于影响力最大化的节点查询方法,其特征在于,所述根据 所述主节点和所述镜像节点在所述两不同的子网络中的消息,更新所述同一节点在所述两 不同的子网络中每一个子网络中的排序值,包括: 将主节点的消息以及所述主节点对应的镜像节点的消息进行累加获得所述主节点的 全局消息; 将所述全局消息与所述主节点的消息之差,更新为所述主节点的消息; 将所述全局消息与所述镜像节点的消息之差,更新为所述镜像节点的消息。
6. -种基于影响力最大化的节点查询装置,其特征在于,包括: 切分模块,用于对社会网络进行切分,获得各子网络; 计算模块,用于采用并行计算方式,针对每一个子网络进行影响力最大化计算,获得所 述子网络中各节点的排序值和消息; 更新模块,用于若两不同的子网络中分别包含对应所述社会网络中同一节点的主节点 和镜像节点,则根据所述主节点和所述镜像节点在所述两不同的子网络中的消息,更新所 述同一节点在所述两不同的子网络中每一个子网络中的排序值; 所述计算模块,还用于根据更新后的所述排序值,针对至少一个子网络中的每一个子 网络,采用并行计算方式,针对每一个子网络进行影响力最大化计算,更新每一个子网络中 所包含节点的影响力的排序值; 查询模块,用于从所述各子网络中查询排序值最大的节点,将查询到的节点作为所述 社会网络的影响力节点。
7. 根据权利要求6所述的基于影响力最大化的节点查询装置,其特征在于, 所述切分模块,具体用于针对所述社会网络中的节点V的标识IDv,根据公式mv = hash (IDv) % M进行哈希映射,获得节点V对应的机器mv ;其中,V G V,V为所述社会网络包 含的所有节点,M为机器的总数量;若同属一条边的两个节点分布到不同的两机器上,则将 边存储在所述不同的两机器中节点数量少的一台机器上,将所述同属一条边的两个节点中 的一个节点进行复制分别对应所述不同的两机器,并将对应哈希映射所获得的机器的节点 记为主节点,所复制的对应所述不同的两机器中另一台机器的节点记为镜像节点;将对应 同一机器的节点所构成的社会网络作为同一个子网络。
8. 根据权利要求7所述的基于影响力最大化的节点查询装置,其特征在于,所述装置, 还包括: 初始化模块,用于对所述子网络中的每一节点进行初始化,分别确定各节点u的排序 值r(u) = 1,且被激活概率为APs(U) =0,以及对所述子网络中的每一条边进行初始化,分 别确定节点V与节点u之间的边E (u,V)的传播概率为信任度Puv,所述信任度Puv等于节 点V的入度的倒数;所述节点V将初始的消息(Ivu = IXPuv传递给所述节点V的入边邻居 u G Nin(V);其中,Nin(V)为V的所有入边邻居。
9. 根据权利要求8所述的基于影响力最大化的节点查询装置,其特征在于, 所述计算模块,具体用于:在每一个子网络中,根据公式
'以及公式r (u) - r (u) + A r (u)更新收到所述 消息的节点u排序值;其中,N°ut (u)为节点u的所有出边邻居;节点u将新的消息 A r (u) XPuw, w G Nm(U)传递给入边邻居节点w。
10. 根据权利要求9所述的基于影响力最大化的节点查询装置,其特征在于,所述更新 模块,具体用于: 将主节点的消息以及所述主节点对应的镜像节点的消息进行累加获得所述主节点的 全局消息; 将所述全局消息与所述主节点的消息之差,更新为所述主节点的消息; 将所述全局消息与所述镜像节点的消息之差,更新为所述镜像节点的消息。
【文档编号】G06F17/30GK104331484SQ201410637739
【公开日】2015年2月4日 申请日期:2014年11月5日 优先权日:2014年11月5日
【发明者】胡春明, 宗周, 李博, 李建欣 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1