一种在线社会网络中影响力最大化初始节点选取方法与流程

文档序号:12748800阅读:来源:国知局

技术特征:

1.一种在线社会网络中影响力最大化初始节点选取方法,其特征在于,包括以下步骤:

步骤1:对在线社会网络的数据集进行处理,得到真实的用户执行行为记录得到真实的用户执行行为记录和在线社会网络的拓扑结构图G(V,E);其中,V表示在线社会网络中的节点集合,包括用户节点和消息节点;E代表在线社会网络中的边集合;

计算考虑时间延迟后用户节点u对v的直接影响力D_Inf(u,v);

步骤2:基于用户节点的标签属性,计算基于标签的用户节点u和v之间基于标签的潜在影响力Tag_Inf(u,v);

步骤3:基于用户节点的共同邻居节点属性,计算基于共同邻居节点的用户节点u和v之间基于共同邻居节点的潜在影响力N_Inf(u,v):

步骤4:将Tag_Inf(u,v)和N_Inf(u,v)加权计算得到用户节点u和v之间基于用户节点属性的潜在影响力Attr_Pot_Inf(u,v);

步骤5:根据用户节点对于消息执行的行为,并由消息的话题关键字得到消息的内容相似度,计算用户节点u和v之间的基于行为的潜在影响力Act_Pot_Inf(u,v);

步骤6:将Attr_Pot_Inf(u,v)和Act_Pot_Inf(u,v)加权计算得到用户节点u和v之间的潜在影响力Pot_Inf(u,v);

步骤7:将D_Inf(u,v)与Pot_Inf(u,v)加权计算得到u对v的综合影响力Comp_Inf(u,v);

步骤8:根据步骤7计算结果,得到在线社会网络中综合影响力传播路径,计算用户节点u对v的传播综合影响力总和φu,v(v);

步骤9:定义节点u边际收益为σMarginal_Revenue(u),计算公式如下:

其中,s为初始节点集合S中的节点,φs,u(u)代表节点s对节点u的传播综合影响力,A代表在线社会网络中所有用户节点的集合;初始节点集合的初始值为

由上述公式计算在线社会网络中所有用户节点的边际收益,并将计算得到的边际收益从大到小进行排序,选取排序后的前10k个用户节点插入到队列Q中,从队列Q中选出边际收 益最大的用户节点插入初始节点集合S中;

步骤10:判断初始节点集合中元素的个数|S|是否已经达到要求的个数k,如果未达到,返回步骤9,重新计算并更新队列Q中剩余节点的边际收益,然后重新排序,选出边际收益最大的用户节点插入初始节点集合S中;如果已经达到,则得到影响力最大化初始节点集合S。

2.根据权利要求1所述的在线社会网络中影响力最大化初始节点选取方法,其特征在于,所述步骤1中,考虑时间延迟后用户节点u对v的直接影响力D_Inf(u,v)的计算方法为:

设V中存在两个用户节点u和v,若v对与u相关的消息执行过行为,则u和v之间存在直接影响力,u和v之间存在一条连边,u和v称为相邻节点;其中执行过行为指进行过发布、点赞、评论或转发行为;与u相关的消息是指u发布、点赞、评论或转发的消息;

给定两个相邻节点u和v,定义u对v的影响力Inf(u,v)计算公式如下:

其中,M(u)表示u执行过行为的消息集合,|M(u)|代表u执行过行为的消息条数;M(v)表示用户v执行过行为的消息集合,|M(v)|代表v执行过行为的消息条数;|M(u)∩M(v)|表示u和v共同执行过行为的消息条数;

定义考虑时间延迟后u对v的直接影响力D_Inf(u,v)计算公式如下:

其中,t表示v对与u相关的消息执行行为的平均时间延迟,T表示v对与其所有邻居节点相关的消息执行行为的平均时间延迟。

3.根据权利要求2所述的在线社会网络中影响力最大化初始节点选取方法,其特征在于,所述步骤2中,基于标签的用户节点u和v之间基于标签的潜在影响力Tag_Inf(u,v)的计算方法为:

将所有用户节点的标签汇总构建一个标签词袋,标签词袋中所有标签的个数记为N;依据用户节点的标签构建用户节点的标签特征向量,标签特征向量的维度就是标签词袋中所有标签的个数N,每一维代表标签词袋中的一个标签;初始化标签特征向量的每一维的元素值都为0;用户节点u的标签特征向量记为ξu_tags=(ξu_tag1u_tag2,…,ξu_tagi,…,ξu_tagN);

对于任意一个用户节点u和其对应的标签集合,计算标签集合中每个标签tagi对应于u的标签特征值TF-IDF(Tagi,u),公式如下:

其中n(tag)i,u表示标签tagi在用户节点u的所有标签中出现的次数,表示用户节点u的所有标签总数,|U|表示在线社会网络中所有用户节点个数,|{tagi∈u}|表示在线社会网络中拥有标签tagi的用户节点个数;

根据用户节点u对应的标签集合中每个标签tagi对应于u的标签特征值TF-IDF(Tagi,u),更新u的标签特征向量ξu_tags中相应维的元素值ξu_tagi,得到更新后的ξu_tags

对于G(V,E)中的任意两个用户节点u和v,根据它们相应的标签特征向量ξu_tags和ξv_tags的余弦相似度,计算两个用户节点u和v之间基于标签的潜在影响力Tag_Inf(u,v):

Tag_Inf(u,v)=cos(ξu_tagsv_tags)。

4.根据权利要求3所述的在线社会网络中影响力最大化初始节点选取方法,其特征在于,所述步骤3中,基于共同邻居节点的用户节点u和v之间基于共同邻居节点的潜在影响力N_Inf(u,v)的计算方法为:

对于G(V,E)中任意一个用户节点,依据邻居节点构建用户的邻居节点特征向量,维度为在线社会网络中的用户节点个数|U|,初始化邻居节点特征向量的每一维的元素值均为0;用户节点u的邻居节点特征向量记为ξu_neighbors=(ξu_neighbor1u_neighbor2,…,ξu_neighbori,…,ξu_neighbor|U|);

对于用户节点u和其对应的邻居节点集合,计算邻居节点集合每个邻居节点neighbori对于u的邻居节点特征值TF-IDF(Neighbori,u),公式如下:

其中n(neighbor)i,u表示邻居节点neighbori在u的所有邻居中出现的次数(取值为1), 表示u的所有邻居节点个数,|{neighbori∈u}|表示在线社会网络中拥有邻居 节点neighbori的用户节点个数;

根据每个邻居节点neighbori对于u的邻居节点特征值TF-IDF(Neighbori,u),更新u的邻居节点特征向量ξu_neighbors中相应维的元素值ξu_neighbori,得到更新后的ξu_neighbors

对于G(V,E)中的任意两个用户节点u和v,根据它们相应的邻居节点特征向量ξu_neighbors和ξv_neighbors的余弦相似度,计算两个用户节点u和v之间基于共同邻居节点的潜在影响力N_Inf(u,v):

N_Inf(u,v)=cos(ξu_neighborsv_neighbors)。

5.根据权利要求4所述的在线社会网络中影响力最大化初始节点选取方法,其特征在于,所述步骤4中,用户节点u和v之间基于用户节点属性的潜在影响力Attr_Pot_Inf(u,v)的计算方法为:

Attr_Pot_Inf(u,v)=α·Tag_Inf(u,v)+(1-α)·N_Inf(u,v)

其中0<α<1。

6.根据权利要求5所述的在线社会网络中影响力最大化初始节点选取方法,其特征在于,所述步骤5中,用户节点u和v之间的基于行为的潜在影响力Act_Pot_Inf(u,v)的计算方法为:

步骤5.1:挖掘异构节点构成的边<用户-消息>、<消息-用户>的特征:

对于特定用户节点u,针对其发布的消息m,计算接收到其他用户点赞、评论和转发行为次数分别为a1、a2和a3,构建行为次数特征向量ξaction={a1,a2,a3},设置相应的权重向量为ω={m1,m2,m3},其中m1,m2,m3∈(0,1);计算用户节点u对于其发布的消息m产生的影响力UM_Inf(u,m),公式为:

同理,消息m对于它的发布者u传递作用产生的影响力MU_Inf(m,u)等价于用户u对于其发布的消息m产生的影响力UM_Inf(u,m),即MU_Inf(m,u)=UM_Inf(u,m)。

步骤5.2:挖掘消息节点m构成的边<消息-消息>的特征,根据消息的话题关键字得到消息的内容相似度,步骤具体为:

提取每条消息的话题关键字,将所有消息的话题关键字汇总,构建话题关键字词袋,话 题关键字词袋中话题关键字总数记为M;针对每条消息构建话题关键字特征向量,话题关键字特征向量的维度就是话题关键字词袋中话题关键字总数M,初始化话题关键字特征向量的每一维的元素值均为0;消息节点m的话题关键字特征向量记为ξm_topics=(ξm_topic1m_topic2,…,ξm_topici,…,ξm_topicM);

对于消息节点m和其对应的话题关键字集合,计算话题关键字集合中每个话题关键字topici对于消息节点m的话题关键字特征值TF-IDF(topici,m),计算如下:

其中n(topic)i,m表示话题关键字topici在消息节点m的所有话题关键字中出现的次数, 表示消息节点m的所有话题关键字出现的次数总和,|M|表示在线社会网络中的消息节点个数,|{topici∈m}|表示拥有话题关键字topici的消息节点个数;

根据每个话题关键字topici对于消息节点m的话题关键字特征值TF-IDF(topici,m),更新消息节点m的话题关键字特征向量ξm_topics中相应维的元素值ξm_topici,得到更新后的ξm_topics

对于G(V,E)中的任意两个消息节点m和n,根据它们相应的话题特征向量ξm_topics和ξn_topics的余弦相似度,计算两个消息节点m和n的内容相似度:

Sim(m,n)=cos(ξm_topicsn_topics);

步骤5.3:对于给定用户u和v,根据u和v发布的消息的相似度,通过以下公式来计算基于用户行为的用户之间的潜在影响力Act_Pot_Inf(u,v):

其中,M′(u)表示u发布过的消息集合,M′(v)表示用户v发布过的消息集合。

7.根据权利要求6所述的在线社会网络中影响力最大化初始节点选取方法,其特征在于,所述步骤6中,用户节点u和v之间的潜在影响力Pot_Inf(u,v)的计算方法为:

Pot_Inf(u,v)=λ·Attr_Pot_Inf(u,v)+(1-λ)·Act_Pot_Inf(u,v)

其中λ∈(0,1)。

8.根据权利要求7所述的在线社会网络中影响力最大化初始节点选取方法,其特征在于, 所述步骤7中,u对v的综合影响力Comp_Inf(u,v)的计算方法为:

Comp_Inf(u,v)=D_Inf(u,v)+Pot_Inf(u,v)。

9.根据权利要求8所述的在线社会网络中影响力最大化初始节点选取方法,其特征在于,所述步骤8中,用户节点u对v的传播综合影响力总和φu,v(v)的计算方法为:

其中,条件X表示u对v没有综合影响力传播路径,则φu,v(v)=0;

条件Y表示u对v的综合影响力传播路径只存在一条一跳路径u→v,则φu,v(v)=Comp_Inf(u,v);

条件Z表示u对v的综合影响力传播路径存在多条,其中φu,w(w)表示用户节点u对用户节点w的传播综合影响力总和;I(v)表示在线社会网络中对v的综合影响力传播路径存在一条一跳路径的用户节点集合{w1,w2,...,wn}。

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