微博传播的关键用户识别方法和装置的制造方法
【技术领域】
[0001]本发明涉及信息技术领域,尤其涉及一种微博传播的关键用户识别方法和装置。
【背景技术】
[0002]微博是一个基于用户关系的信息获取、分享的传播平台,是一种当前十分流行的虚拟社会网络系统。在热点微博获取分享的过程中,以用户为节点,以用户的互动关系为边将用户节点联接起来,构成了一种特定的社会网络结构,在此网络结构中,节点位置重要性的分析为热点微博的舆情扩散监测提供了一个十分重要解决思路。
[0003]目前,基于改进的PAGERANK的方法,根据网站的外部链接和内部链接的数量和质量来衡量网站的价值,考虑用户的外部资源流向及本身资源两方面来对用户影响力进行评价,资源一般指好友数量。然而,该方法所确定的微博传播的关键用户准确度不高。
【发明内容】
[0004]本发明提供一种微博传播的关键用户识别方法和装置,以提高确定的微博传播的关键用户的准确度。
[0005]一方面,本发明提供一种微博传播的关键用户识别方法,包括:
[0006]在微博传播的网络架构中,确定每个节点所连接的节点个数;
[0007]在所述网络架构中,按照连接节点个数从少到多的顺序执行多次删除操作,每次所述删除操作将连接节点个数相同的节点从所述网络架构中删除直至所述网络架构中剩余连接节点个数相同的至少一个目标节点;
[0008]将所述目标节点确定为微博传播的关键用户节点。
[0009]另一方面,本发明提供一种微博传播的关键用户识别装置,包括:
[0010]确定模块,用于在微博传播的网络架构中,确定每个节点所连接的节点个数;
[0011]删除模块,用于在所述网络架构中,按照连接节点个数从少到多的顺序执行多次删除操作,每次所述删除操作将连接节点个数相同的节点从所述网络架构中删除直至所述网络架构中剩余连接节点个数相同的至少一个目标节点;
[0012]所述确定模块还用于:将所述目标节点确定为微博传播的关键用户节点。
[0013]本发明实施例提供的微博传播的关键用户识别方法和装置,在微博传播的网络架构中,按照连接节点个数从少到多的顺序执行多次删除操作,每次删除操作将连接节点个数相同的节点从网络架构中删除直至网络架构中剩余连接节点个数相同的至少一个目标节点,最后将目标节点确定为微博传播的关键用户节点。从而提高确定的微博传播的关键用户的准确度。
【附图说明】
[0014]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0015]图1为本发明提供的微博传播的关键用户识别方法一个实施例的流程图;
[0016]图2为本发明提供的微博传播的网络架构示意图;
[0017]图3为本发明提供的微博传播的关键用户识别装置一个实施例的结构示意图。
【具体实施方式】
[0018]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0019]图1为本发明提供的微博传播的关键用户识别方法一个实施例的流程图,如图1所示,该方法包括:
[0020]SlOU在微博传播的网络架构中,确定每个节点所连接的节点个数。
[0021]S102、在网络架构中,按照连接节点个数从少到多的顺序执行多次删除操作,每次删除操作将连接节点个数相同的节点从网络架构中删除直至网络架构中剩余连接节点个数相同的至少一个目标节点。
[0022]S103、将目标节点确定为微博传播的关键用户节点。
[0023]其中,微博传播的网络架构通常由数个节点组成,每个节点可以看作一个微博用户。因此,对于任意一条微博的转发传播,都可以建立一个网络架构。具体的,可以首先确定转发微博的节点及其与其他节点的互动关系,进一步的可以根据互动关系,连接转发微博的节点以构成微博传播的网络架构。
[0024]图2提供了一种微博传播的网络架构示意图,如图2所示,在某一热点微博获取分享的过程中,节点(即微博用户)之间的互动关系形成了上图的网络架构。现有技术中,通常会着重考虑到节点C的资源较多(即具有互动关系的节点较多),且在局部的网络架构中处于中心地位而将节点C给予较高的重要性。而从图2所示节点A才是整体网络结构中的处于核心位置的节点(即微博传播的关键用户节点,往往是微博传播的源头)。
[0025]本发明中,考虑到处于核心位置的结点往往是热点微博的源头,此节点用户未必是领袖用户,即拥有的互动关系未必很多,在整体的网络架构中的位置比较深,但经过若干层传播后,此过程中往往会得到若干领袖用户(节点)的转发,使得该微博得到广泛认可。例如:图2中节点C的互动关系最多,但是和节点C具有互动关系的这些节点所连接的接收个数却很低,因此,可以按照连接节点个数从少到多的顺序执行多次删除操作,例如:连接节点个数最少的节点所连接的节点个数是I个,则可以先将连接节点个数为I的节点从网络架构中删除,该次删除操作之后,网络架构中原本连接节点个数为2的节点,其连接节点个数变为1,则下一次删除操作会将这部分节点从网络架构中删除,依次类推,直至网络架构中剩余连接节点个数相同的至少一个目标节点,例如:网络架构中只剩余连接节点个数都为2的一个或多个目标节点,则将这些目标节点确定为微博传播的关键用户节点。
[0026]为了使确定目标节点的过程更加简单,可以将连接节点个数为I的节点确定为第I度节点,连接节点个数为2的节点确定为第2度节点,依次类推,连接节点个数为N的节点确定为第N度节点,N为大于I的整数。
[0027]则相应的,可以按照从第I度节点到第N度节点的顺序执行删除操作,每次删除操作将度数相同的节点从网络中删除,直至网络架构中剩余度数相同的至少一个第N度目标节点。
[0028]以下以图2为例进行具体说明:方法的计算思路是此例子中从最低的第I度节点开始仅行删除操作,经过第一次删除后,节点C只连接一个节点A和一个节点D,因此节点变为第2度节点,类似的,节点E由第2度节点变成了第I度节点,因此再对第I度节点进行第二次后,节点D由第2度节点变成了第I度节点,再对第I度节点进行第三次删除,此时节点C由第2度节点变成了第I度节点,再对第I度节点进行第四次删除,则节点C从此网络架构中消失,以此类推,循环进行上述操作后直到网络架构中没有第I度节点,最终剩余的仅有第2度4个节点A,因此该4个节点A即为目标节点。
[0029]在上述过程的具体实现中,网络架构中的节点总数可以记为N,每个结点赋予一个ID, ID 值从 O 到 N-1。
[0030]定义整形数组cores,初始化数组,数组大小为N。为cores数组的元素赋初值,方法是:此数组的索引意义是节点的ID,而元素值为节点的度数,即上述的第几度节点。统计出此数组元素最大值记为M。
[0031]定义整形数组bin,初始化数组,数组大小为M+1。此数组的索引意义是度值,为bin数组的元素赋初值,计算流程如下:
[0032]for int i=0to N-1
[0033]bin [cores [i] ] +=1
[0034]int j=0
[0035]for int i=0to M
[0036]int k=bin[i]
[0037]bin[i]=j
[0038]j+=k
[0039]定义整形数组vert与pos,初始化两个数组,数组大小为N。vert数组的索引意义是节点按度的排序,pos数组的索引意义是节点的ID,为vert和pos数组的元素赋初值,计算流程如下:
[0040]for int i=0to N-1
[0041]pos [i]=bin [cores [i]]
[0042]vert [pos [i] ] =i
[0043]bin [cores [i] ] +=1
[0044]for int i=M to I
[0045]bin [i] =bin [i_l]
[0046]bin[0]=0
[0047]以上步骤对算法所需要的四个数组cores、bin、vert、pos进行了赋初值。此步骤描述该方法主要计算流程,主要经过两层FOR循环,每次循环中,会对cores、bin、vert、pos数组元素值进行调整,最后的打分结果存在cores数组中。计算流程如下:
[0048]for int i=0to N-1
[0049]int v=vert [i]
[0050]定义临时的整形数组neis,统计出节点ID=V的节点的所有邻居节点ID及个数S。邻居结点