
1.本发明涉及人工智能技术领域,特别是一种面向社交网络群体影响力最大化的实现方法。
背景技术:2.随着互联网技术、大数据和通信技术的显著发展,用户之间的交流变得更加方便。互联网上的社交活动越来越多,越来越多的人在社交软件上发表自己的观点并分享他们的日常生活,这就导致了中介社交网络的出现。社交网络平台对于促进人与人之间的互动,特别是传播信息和思想至关重要。在最常用的社交网络软件中,facebook有30亿用户,微信有12亿用户,twitter有5亿用户。与现实生活相反,社交网络用户通常基于共同的兴趣爱好或其他类型的关系形成群体,一个社会网络群体可以是由少数家庭成员,也可以是一个国家的全部人口组成。
3.社交网络是人们人际关系的一种表示,其间的个体行为和群体行为是息息相关。个体决策会受到群体决策的影响,而群体在社交网络中发挥重要的作用(如在传播信息、广告营销和控制公众舆论等方面)。比如,为了以有限的成本得到营销的最大化,必须选择k个最具有影响力的用户作为广告商来激活群体中的用户。因此,在社交网络中寻找最具有影响力的小部分用户来激活更多数量的群体具有重要的现实意义。该问题便是社交网络群体影响最大化问题,该问题的目标是在社交网络中寻找小部分节点,在独立级联模型下传播影响,使得被激活的群体数量最多。
技术实现要素:4.有鉴于此,本发明的目的是提供一种能够实现在有限的计算资源下,最大程度地提高面向社交网络群体影响传播效率的方法。
5.本发明采用以下方法来实现:一种面向社交网络群体影响力最大化的实现方法,所述方法包括以下步骤:
6.步骤s1、构建一个代表社交网络的模型;
7.步骤s2、在社交网络的模型下,建立社交网络中群体影响力最大化问题模型;
8.步骤s3、计算社交网络中群体影响力最大化问题模型中所有节点对社交网络群体的贡献值;
9.步骤s4、依据节点对社交网络群体的贡献值寻找k个贡献值最大节点,实现最终被激活的社交网络群体数量最多。
10.进一步的,所述步骤s1进一步具体为:在社交网络建模中,用g=(v,e,p,u)为社交网络建模;
11.其中:v代表节点集,节点vi∈v表示社交网络中的用户;e代表边的集合,一条边表示节点之间可能产生的影响;p存储这些边的权值,其中每个权值代表相应的边被激活的概率;u是群体的集合。
12.进一步的,所述步骤s2进一步具体为:关于给g=(v,e,p,u)的gim问题的形式定义可以表述如下:
13.maxρ(s)s.t.|s|≤k
14.其中,s是候选种子节点的集合,k和ρ(s)分别是初始种子节点数和最后被激活群里的预期值。
15.进一步的,所述步骤s3进一步具体为:一个节点对群体的影响不仅体现在它的删除是否影响群体的激活,还体现在它能否激活群体内其他成员;函数fc(vi)表示vi对其所涵盖群体的影响值,公式如下所示:
[0016][0017]
其中:uj是节点vi所覆盖的群体,|uj|是uj所有成员的个数,是激活uj的阈值;意味着uj允许删除个节点,其中越大表示vi对群体uj的影响越小。
[0018]
进一步的,所述步骤s4进一步具体为:将步骤s3计算出的节点对群体贡献值fc(vi)按从大到小的顺序排序,选择贡献值最大的k个节点作为种子节点集,实现社交网络中最终被激活的群体数量最多。
[0019]
本发明的有益效果在于:本发明构建了社交网络中群体影响力最大化的实现方法,通过计算所有节点对群体的贡献值,并依据节点对群体的贡献值寻找k个贡献值最大节点,实现最终被激活的群体数量最多。
附图说明
[0020]
图1为本发明的方法流程示意图。
[0021]
图2为两层社交网络的示意图。
具体实施方式
[0022]
下面结合附图对本发明做进一步说明。
[0023]
请参阅图1所示,本发明提供了一种面向社交网络群体影响力最大化的实现方法,所述方法包括以下步骤:
[0024]
步骤s1、构建一个代表社交网络的模型;
[0025]
步骤s2、在社交网络的模型下,建立社交网络中群体影响力最大化问题模型;
[0026]
步骤s3、计算社交网络中群体影响力最大化问题模型中所有节点对社交网络群体的贡献值;
[0027]
步骤s4、依据节点对社交网络群体的贡献值寻找k个贡献值最大节点,实现最终被激活的社交网络群体数量最多。
[0028]
下面通过一具体实施例对本发明作进一步说明:
[0029]
1.描述一个代表社交网络的模型
[0030]
在社交网络建模中,用图g=(v,e,p,u)为社交网络建模,图g是图论里的图,不指代一个具体图纸。
[0031]
v代表图中的节点集,节点vi∈v表示社交网络中的用户。假设一个社交网络中有n个用户,那么v={v1,v2,...,vn}代表一组用户。此外,节点连接其他节点的边表示该节点对其他节点的影响或该节点受到其他节点的影响,当两个节点之间有一条无向边时,则视为相邻节点。
[0032]
e代表图中的边的集合,一条边表示节点之间可能产生的影响。假设一个社交网络中有m条边,则有e={e1,e2,...,em}。在模型中,一条边可以是有向的,也可以是无向的。更准确地说,对于有向边(u,v),u和v分别是源节点和目标节点,节点u可以直接影响节点v,反之不成立。设u的出边和u的入边分别是离开和进入u的边,u的外度数表示u的出边数,u的内度数表示u的入边数。
[0033]
p存储这些边的权值,其中每个权值代表相应的边被激活的概率。假设p={p1,p2,...,pm}和i是正整数,若概率越高,则说明边的源节点成功影响目标节点的可能性越大。
[0034]
u是群体的集合。假设在一个社交网络中有l个群体,并将群族表示u={u1,u2,...,um},其中uj,是v的子集。社交网络的每个节点都代表可能属于一个或几个不同群体的个体,也可以不属于任何一个群体。此外,假定β%是被激活阈值,即一个群体中如果至少有β%的成员被成功激活,则这个群体被激活。
[0035]
2.建立社交网络中群体影响力最大化的问题模型
[0036]
传统的影响力最大化问题(inflfluence maximization,im)旨在给定初始活跃节点的个数,找到固定个数的活跃节点集,使得在传播模型下,最终活跃节点的数量达到最大。im问题忽视了群体的作用,只研究个体在社交网络中的影响。相比之下,gim问题中,一个节点可能出现在一个或几个群体中,gim问题旨在通过k个最初选择的节点,使得在传播模型下,最终被激活的群体数量最多,而一个群体只有在其至少β%的成员被激活时才能被激活。本质上,gim问题可以看作是im问题的推广。通过设置β%=100%,并将gim问题中的群体当作im问题中的节点,gim问题立即简化为im问题。由于im问题是np-难的,显然gim问题也是np-难的。
[0037]
关于给定图g=(v,e,p,u)的gim问题的形式定义可以表述如下:
[0038]
maxρ(s)s.t.|s|≤k
[0039]
其中,s是候选种子节点的集合,k和ρ(s)分别是初始种子节点数和最后被激活群里的预期值。
[0040]
3.计算所有节点对群体的贡献值
[0041]
一个节点对群体的影响不仅体现在它的删除是否影响群体的激活,还体现在它能否激活群体内其他成员。函数fc(vi)表示vi对其所涵盖群体的影响值。
[0042]
对于不属于任何群体的节点vi,则影响值fc=0;对于至少覆盖一个群体的节点,fc等于其对所覆盖群体的影响值之和。如果一个节点可以提供更好的群体覆盖,那么该节点的fc值可能很大。vi对其所涵盖群体的影响值fc(vi)公式如下所示:
[0043][0044]
其中uj是节点vi所覆盖的群体,|uj|是uj所有成员的个数,是激活
uj的阈值;意味着uj允许删除个节点,其中越大表示vi对群体uj的影响越小。当β%=100%时,分母为0,因此将分母设置为并且由于节点必须为整数,则将向上取整。最后,用于表示在群体uj的剩余节点(包括vi本身)中被vi成功激活的节点数。其中,由vi激活的节点可以使用广度优先搜索(bfs)方法获得;可以简单地计算为uj中被激活节点的数量,从而得到的结果。因此,测量vi对群体uj的影响,即较大的可能导致uj群体中更多的节点被激活,并且激活群体uj的可能性增加。
[0045]
4.依据节点对群体的贡献值寻找k个贡献值最大节点,实现最终被激活的群体数量最多.首先,将步骤s3计算出的节点对群体贡献值fc(vi)按从大到小的顺序排序;其次,选择贡献值最大的k个节点作为种子节点集,实现社交网络中最终被激活的群体数量最多。
[0046]
请参阅图2所示,显示了一个社交网络,图中的节点表示社交网络中的用户,用户可以基于共同的利益或者某种关系组建群体,边表示用户之间的影响。图中有7个节点,5条有向边,2个群体,假设每条边的概率都是100%,群体激活阈值β%=50%。即节点集合v={v1,v2,...,v7},边集合e={e1,e2,...,e5},群体集合u={u1,u2},u1={v1,v3,v6},u2={v1,v2,v4,v5,v6}。双层模型的上层是由节点及其目标节点组成,下层是由群体及其成员组成。上层layer1={v1,v2},其中,v1影响了{v4,v5},v2影响了{v3,v6,v7}。下层layer2={u1,u2},其中|u1|=3,|u2|=5。根据上述面向社交网络群体影响力最大化的实现方法计算每个节点的fc。计算过程如下:
[0047][0048][0049][0050][0051][0052][0053]
fc(v7)=0
[0054]
然后,将计算得来的每个节点的贡献值按从大到小进行排序,排序后的结果为{v1,v6,v2,v3,v4,v5,v7},如果只需要两个种子节点,面向社交网络群体影响力最大化的实现方法会选择{v1,v6}作为种子节点。
[0055]
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。