一种获得社交网络中影响力最大的前k个节点的方法

文档序号:9551381阅读:1110来源:国知局
一种获得社交网络中影响力最大的前k个节点的方法
【技术领域】
[0001] 本发明涉及社交网络中影响力最大化问题,提出了一种选择影响力最大的前k个 节点的方法。 技术背景
[0002] 社交网络由单独的个体之间通过某种关系如朋友关系、商品的推荐形成。这种网 络对于信息的传播有着很重要的作用,如微博网络里话题的传播等。在社交网络中一个人 会推荐给他的朋友某种物品,这样信息从这个人传到他的朋友,他的朋友继续推荐则形成 了一个更大的网络。影响最大化问题是指在一个给定的社交网络中,选取一个节点的集合, 使得由该集合中的节点所影响的节点的数量最多。影响最大化问题的研究对于理解信息在 网络中的传播方式有很重要的作用,对于商家投放广告策略也是一种很重要的参考。
[0003] 社交网络中的节点可以分为两种状态:活跃态和非活跃态。受影响的节点称为活 跃态节点,当前还没有被影响的节点称为非活跃态节点。非活跃态节点可以转变为活跃态 节点,但是活跃态节点不能转变为非活跃态节点。影响最大化问题形式定义为:设A是当前 活跃的节点,其他的节点当前都处于非活跃状态,1(A)是指信息经过一段时间的传播所影 响的节点的数目,即使得节点从非活跃状态变为活跃状态的数目。影响力最大化为题是求 出这样的集合A使得I(A)最大。
[0004] 目前影响力最大化模型主要包括线性阈值模型和独立级联模型以及这两种主要 模型的一些变体。线性阈值模型是指对于社交网络中的任意一个节点V,其父节点U以概率 P(u,v)激活它,并且满足关系式基____;:_:_::;|。给定初始集合A,线性阈值模型的激活 方式为: ⑴、随机选取[0, 1]内的一个数值作为概率P; ⑵、在t时刻,节点V被其处于活跃态的父节点U以概率p (U, V)激活; ⑶、如果所有父节点对其激活的概率之和大于,则当前节点v 被激活; ⑷、如果没有更多的节点被激活则传播过程终止。
[0005] 在独立级联模型中,社交网络被抽象成一个带权有向图。节点u,v之间的权值 p (U, V)表示节点U激活节点V的概率。
[0006] 独立级联模型的激活方式为: ⑴、在t时刻,节点u尝试以概率p(u,v)激活其子节点V,如果v被激活,则在t+Ι时刻 该节点称为活跃节点。如果没有激活成功,则节点u以后都不能再次尝试激活节点V,即只 能激活一次。
[0007] ⑵、如果在时刻t有多个节点可以尝试激活节点V,则他们以任意顺序按相应的概 率激活节点V。
[0008] ⑶、如果没有新的非活跃节点被激活,则传播过程终止。

【发明内容】

[0009] 本发明的目的是提供一种通过使用最大流模拟信息在社交网络中的传播计算影 响力最大的前k个节点的方法,该方法考虑了信息的内容对信息在网络传播过程中的影 响,而不只是单一的只考虑个体之间的相似程度。
[0010] 实现本发明目的的具体技术方案是: 一种获得社交网络中影响力最大的前k个节点的方法,该方法包括以下具体步骤: 步骤一:设置类别信息,指定信息分为数类; 步骤二:将获得的信息按信息的内容分类到指定的某一类别中; 步骤三:计算社交网络的邻接矩阵和邻接表; 步骤四:使用最大流算法计算在相应类别下每条边的流量; 步骤五:设置每种类别的权值,利用加权平均计算每条边的影响力; 步骤六:对每对节点的影响力按从大到小排序; 步骤七:选择前k个节点作为所要求的节点集合。
[0011] 所述指定信息分为数类是结合信息的实际内容设置种类的数量。
[0012] 所述按信息的内容分类到指定的某一类别中,具体包括: 步骤A1 :将每一条信息按TF-IDF算法转化为对应的向量; 步骤A2 :采用支持向量机、朴素贝叶斯算法、kNN、最大熵或者决策树算法对步骤A1中 的结果进行分类。
[0013] 所述计算社交网络的邻接矩阵和邻接表,具体包括: 步骤B1 :对于每个类别中的某一条信息,如果该信息从A传播到了B,则AB之间连边的 权值增加1,如此处理每个类别中的每一条信息,得到每种类别下的对应的带权有向图; 步骤B2 :对每一种类别下的带权有向图生成对应图的邻接矩阵和邻接表用于最大流 的计算。
[0014] 所述使用最大流算法计算在相应类别下每条边的流量及设置每种类别的权值,利 用加权平均计算每条边的影响力,具体包括: 步骤C1:对于每个类别下的带权有向图,使用最大流算法计算每条边的流量; 步骤C2:设置每种类别对应的权值; 步骤C3 :对于网络中的每对节点,计算每条边的加权流量,作为该边对应的节点的影 响力。
[0015] 本发明的伪代码: 输入:社交网络图,整数k,每个主题的权重。
[0016] 输出:影响力最大的前k个节点。
[0017]设置类别categories; for (i=0; i〈categories ; i++) 构造图Gj 在图Gi上调用最大流算法求出最大流; end for for (i=0; i〈= n*(n_l)/2; i++) for (j=0; j<= n*(n-l)/2; j++) for (k=0; k〈categories ; k++) weight [θ;][ θ』]=Σ1^*(θ?,e.); if ((e;, ej)>0) array. push_back ((ei; e j)); end if end for end for end for sort ( array); for (i=0; i〈k; i++) seed. push_back(array[i] · first)〇
[0018] 本发明通过对信息的分类处理可以更清楚的揭示社交网络中信息的传播路径。同 时,在计算影响力的时候加入信息的内容更有利于影响力计算的准确性,因为信息在网络 中的传播不仅与网络中的个体有关,而且与信息本身的内容有关。影响力最大化在广告投 放,舆情分析方面都有很重要的应用。
【附图说明】
[0019] 图1为本发明流程图; 图2为本发明信息分类生成邻接矩阵和邻接表的流程图。
【具体实施方式】
[0020] 以下结合附图,对本发明作进一步的详细说明,实施本发明的过程、条件以及实验 方法等,除以下专门提及的内容以外,均为本领域的普遍知识和公知常识,本发明并没有特 别限制的内容。
[0021] 为了说明详细步骤,选取了新浪微博的一部分数据,含有1511个节点和3023条微 博信息。
[0022] 本发明通过以下步骤来解决: 步骤一:设置类别信息,指定信息分为数类。
[0023] 将给定的信息分为三类,分别是新闻时事类,生活类和体育类。
[0024] 步骤二:将获得的信息按信息的内容分类到所指定的某一类别中。
[0025] 采用TF-IDF算法将获得的信息转化为向量的形式。分类算法可以采用kNN、最大 熵或者支持向量机算法。分类后的结果为:新闻时事类540条,生活类1432条,体育类1051 条。
[0026] 步骤三:计算社交网络的邻接矩阵和邻接表。
[0027] 如果节点u转发了v的信息,则u,v节点之间存在边,并且边的权值为1,当再次 转发时,边的权值加1。以这样的方式计算出三种类别下的邻接矩阵和邻接表。
[0028] 步骤四:使用最大流算法计算在相应类别下每条边的流量。
[0029] 对三种类别下的网络,采用最大流算法计算每条边的流量。
[0030] 步骤五:设置每种类别的权值,利用加权平均计算每条边的影响力。
[0031] 设置三种类别的权值,记为,,犧,_,则u,v节点的权值为 ω= ,其中&^,纪2%分别表示三种类别下u,v节点的权值。在本实 验中,_,錫.,_都设置为1/3。
[0032] 步骤六:对每对节点的影响力按从大到小排序。
[0033] 将每条边的开始节点,结束节点和边的权值存入数组,按边的权值从大到小,即每 对节点的影响力排序。
[0034] 步骤七:选择前k个节点作为所要求的节点集合。
[0035] 设置集合S为空。对于每条边<u,v>,选择起始节点u作为加入集合S。当S的大 小为k时停止加入。最后的结果如表,并与贪心算法、PageRank算法对比。表中的数值表 示种子集合S影响的节点的数目。
[0036] 从表中可以看出,在K=10, 30, 50的时候,本发明所得的种子集所影响的节点数目 多于PageRank算法和贪心算法。同时,PageRank算法的结果比贪心算法稍好。由此说明 本发明所得的种子集节点的影响范围更大,信息传播所影响的节点更多,能够取得更好的 结果。
【主权项】
1. 一种获得社交网络中影响力最大的前k个节点的方法,其特征在于,该方法包括以 下具体步骤: 步骤一:设置类别信息,指定信息分为数类; 步骤二:将获得的信息按信息的内容分类到指定的某一类别中; 步骤三:计算社交网络的邻接矩阵和邻接表; 步骤四:使用最大流算法计算在相应类别下每条边的流量; 步骤五:设置每种类别的权值,利用加权平均计算每条边的影响力; 步骤六:对每对节点的影响力按从大到小排序; 步骤七:选择前k个节点作为所要求的节点集合。2. 如权利要求1所述的方法,其特征在于,所述指定信息分为数类是结合信息的实际 内容设置种类的数量。3. 如权利要求1所述的方法,其特征在于,所述按信息的内容分类到指定的某一类别 中,具体包括: 步骤A1 :将每一条信息按TF-IDF算法转化为对应的向量; 步骤A2 :采用支持向量机、朴素贝叶斯算法、kNN、最大熵或者决策树算法对步骤A1中 的结果进行分类。4. 如权利要求1所述的方法,其特征在于,所述计算社交网络的邻接矩阵和邻接表,具 体包括: 步骤B1 :对于每个类别中的某一条信息,如果该信息从A传播到了B,则AB之间连边的 权值增加1,如此处理每个类别中的每一条信息,得到每种类别下的对应的带权有向图; 步骤B2 :对每一种类别下的带权有向图生成对应图的邻接矩阵和邻接表用于最大流 的计算。5. 如权利要求1所述的方法,其特征在于,所述使用最大流算法计算在相应类别下每 条边的流量及设置每种类别的权值,利用加权平均计算每条边的影响力,具体包括: 步骤C1 :对于每个类别下的带权有向图,使用最大流算法计算每条边的流量; 步骤C2 :设置每种类别对应的权值; 步骤C3 :对于网络中的每对节点,计算每条边的加权流量,作为该边对应的节点的影 响力。
【专利摘要】本发明公开了一种获得社交网络中影响力最大的前k个节点的方法,该方法包括的步骤:设置类别用于分类信息;将所获得的信息分类到设置的类别中;在每一种分类下计算图的邻接矩阵和邻接表;使用最大流算法计算在相应类别下每条边的最大流量;设置每种类别的权值,利用加权平均计算每条边的影响力;对获得的每对节点的影响力按从大到小进行排序;选择影响力最大的前k个节点。本发明根据信息的内容将信息分类到不同的类别中,采用网络流模拟的方法计算相应类别下不同节点之间的流量,通过加权平均的方式计算实际的影响力得出最后的节点集合。本发明用于社交网络中影响力的计算。
【IPC分类】H04L29/08
【公开号】CN105306540
【申请号】CN201510614670
【发明人】胡启志, 谢瑾奎
【申请人】华东师范大学
【公开日】2016年2月3日
【申请日】2015年9月24日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1