一种基于半监督标签传播的微博用户群体划分方法

文档序号:10534838阅读:210来源:国知局
一种基于半监督标签传播的微博用户群体划分方法
【专利摘要】本发明涉及一种基于半监督标签传播的微博用户群体划分方法,该方法具体过程是:读取社交网络数据,构造以社交网络用户为节点、用户关系为边的社交网络图,为每一个用户随机赋予一个唯一的标签值,采用标签传播算法来更新用户节点的标签,在标签传播的过程中,当被更新节点邻居节点中存在多个具有最高频率标签时选择这些邻居节点中具有互为好友或加关注的邻居标签更新该节点的标签,对于经过几步的迭代更新后,紧密连接的节点将会拥有相同的特定标签值。根据本发明实施例的社会网络群体划分方法,根据用户关系图边聚集系数属性,通过改进标签传播算法,对用户群体进行划分,划分结果对网络舆情监测、商业用户挖掘等都具有较好的应用价值。
【专利说明】
一种基于半监督标签传播的微博用户群体划分方法
技术领域
[0001] 本发明涉及社交网络技术领域,特别是一种基于半监督标签传播的微博用户群体 划分方法。
【背景技术】
[0002] 如何从社会网络中挖掘出具有实用效益的信息已成为复杂网络中一个研究热点, 无论在理论还是社会实用价值上都具有非常重要的意义。网络社区通常由功能相近或性质 相似的网络节点组成,复杂网络中同一社区内的节点具有相似的特点或相似的兴趣。微博 是一个典型的复杂网络,微博网络中的社区是由一组关注同一个话题或具有相似兴趣的用 户组成的集合。通过挖掘微博网络中的社区结构,可以迅速而准确的找到具有相同或相似 兴趣爱好的用户,发现他们共同参与的话题,这些对网络舆情监测、商业用户挖掘等领域都 具有较好的应用价值。
[0003] 迄今为止,人们已经提出许多社区发现方法,2002年,Girvan和Newman在PNAS 上发表的论文对社会网络和生物网络中的社区结构进行研究,也就是著名的GN算法,它 是社区发现技术发展过程中的一个重要里程碑,也是一种非常经典的社区发现算法和社 区发现技术研究中的重要的参考模型,该论文拉开了网络社区结构研究的序幕。该论文 首次将网络社区结构作为网络普遍具有的拓扑特征提出,并给出一种基于边介数(edge betweenness)的分裂式层次聚类算法来识别网络的社区结构。大多数社区发现算法的基本 思想都是根据某个节点的内聚性度量,递归地对网络进行合并或分裂,分解成嵌套的社区 层次结构。传统的社区划分方法大致分为两类:基于图论的算法和层次聚类算法。其中基 于图论的算法主要有Kernighan-Lin算法(简称为K-L算法)、基于拉普拉斯图特征值的谱 平分法和派系过滤算法等,这类方法的缺点是无法界定重复迭代次数;层次聚类算法又可 分为两大类:凝聚算法和分裂算法,划分依据是在网络中增加边还是去除边,增加边的是凝 聚算法,而去除边的是分裂算法。典型的代表算法有Newman快速算法、GN算法等,缺点是 算法复杂度高、无法界定何时停止。
[0004] 可见,以上经典的算法都存在许多局限性,划分结果并不理想,而且复杂度较高, 难以满足大型真实网络社区发现的要求。2007年,Raghavan等人提出了标签传播算法 (LabelpropagationAlgorithm,LPA),有效地解决了复杂度高、无法收敛的问题。标签传播 算法是一种基于图的半监督学习方法,认为联系紧密的节点会拥有一个相同的标签值,其 基本思路是用已标记节点的标签信息预测未标记节点的标签信息,最后标签值相同的节点 被划分进一个社区。LPA具有思路简单、扩展性强、复杂度最低、速度最快等特点。标签传 播算法的时间复杂度接近于线性〇(m) (m为边的数目),对于较大规模的社区(106-109个 节点)检测,经过5次迭代后开始收敛。另外,标签传播算法既不需要优化预定义的目标函 数,也不需要关于社区的数量和规模等先验信息,对社区的大小也没有限制,因此标签传播 算法已经成为当前应用较为广泛的社区发现算法之一,被大量应用在了多媒体信息分类、 虚拟社区挖掘等领域中。
[0005] 然而,虽然标签传播算法简单高效,但算法中的标签传播的随机性导致算法的准 确度较差,划分结果不稳定,随机性较强,鲁棒性有待提高。综上所述,现有的社区发现方法 在准确度和时间复杂度上都存在很大的提升空间。

【发明内容】

[0006] 本发明的目的在于提供一种基于半监督标签传播的微博用户群体划分方法,该方 法有利于提商网络社区划分的精确度和稳定性能。
[0007] 为实现上述目的,本发明的技术方案是:一种基于半监督标签传播的微博用户群 体划分方法,包括以下步骤:
[0008] 步骤A :读取微博网络数据,构造微博网络用户关系矩阵A = {&1]},当用户i与j 为好友时al j= 2,当i与i互为关注时a lj= 1,其它记为0 ;
[0009] 步骤B:读取社交网络数据,构造以社交网络用户为节点,用户关系为边的社交网 络图;
[0010] 步骤C:节点标记:为每一个用户节点随机分配一个唯一的标签值,作为它所属社 区的标识;
[0011] 步骤D :初步社区划分:对图中的所有顶点的标签进行迭代更新。每次迭代后,节 点的标签值更新为其邻接节点的标签中数量最多的标签值;
[0012] 步骤E :社区划分细化:如果多个标签出现的频率最高时,查找用户关系矩阵,在 具有标签频率最高的邻居节点中与该节点的用户关系值最大的邻居节点标签优先被选择 进行传播;经过若干次迭代后,每个用户节点邻居中的标签变化趋于稳定;
[0013] 步骤F :将所有具有相同标签的节点归为一个社区。
[0014] 进一步,在上述步骤C中,节点标记具体包括以下步骤:为每一个用户节点随机分 配一个唯一的标签值,即C n= L n, (^表示节点n所属社区,L "表示节点n的标签值。
[0015] 进一步,在上述步骤D中,初步社区划分对节点的标签值更新为其邻接节点的标 签中数量最多的标签值具体过程为:把社交网络图抽象成一个简单的无向图G(N,E),其 中,N表示节点的集合,E表示边的集合。W nm表示连接n,m节点的边的权重,n,m e仏用Cn 表示表示节点n所属社区,N1 (n)表示节点n e N的邻居节点中标签值为1的节点集合。公 式如下:
[0016] Q=argmax I Wnm 1 m^N (n)
[0017] 进一步,在上述步骤e中,社区划分细化具体过程的所谓用户关系矩阵,其值表示 微博网络中两个用户间的关联程度,它的值越大,代表这两个用户所代表的两个节点在同 一个社区的可能性就越大。对于一个有n个用户的微博网络,其用户关系矩阵定义如下: a\\ ai2 ai3 …ain
[0018] d =⑷=.〇21吆~"..、 压n2 Sc …3^.
[0019] 其中i和j分别代表不同的用户,矩阵A中aij的定义如下:
[0020] 2 i与j为好友 ay = -1 i与j互相关注
[0 其它情况
[0021] 进一步,所述步骤E中,迭代终止条件为社交网络达到平衡,标签数目不再发生变 化即终止迭代。
[0022] 相较于现有技术,本发明的有益效果是:相较于现有的社区发现算法,在保留传统 标签传播算法优点的前提下,在稳定性能和精确度上得到大大提高。综上,本发明的算法能 够高效的检测社会网络。
【附图说明】
[0023] 图1为本发明方法的实现流程图。
[0024] 图2为采用本发明方法(由LPASS表示)和标签传播算法(由LPA表示)在1000 个节点的基准网络中,在网络中节点的平均度数< k > = 15、度数的最大值maxk = 50条件 下,两种算法运行100次的平均匪I值随混合参数U (U e [0,0.90],y表示不同社区之 间的节点中有连边的部分)的取值变化对比图。
[0025] 图3为采用本发明方法(由LPASS表示)和标签传播算法(由LPA表示)在1000 个节点的基准网络中,在网络中节点的平均度数< k > = 30、度数的最大值maxk = 50条件 下,两种算法运行1〇〇次的平均NMI值随混合参数P (P e [0,0. 90])的取值变化对比图。
[0026] 图4为采用本发明方法(由LPASS表示)和标签传播算法(由LPA表示)在5000 个节点的基准网络中,在网络中节点的平均度数< k > = 15、度数的最大值maxk = 50条件 下,两种算法运行1〇〇次的平均NMI值随混合参数P (P e [0,0. 90])的取值变化对比图。
[0027] 图5为采用本发明方法(由LPASS表示)和标签传播算法(由LPA表示)在5000 个节点的基准网络中,在网络中节点的平均度数< k > = 30、度数的最大值maxk = 50条件 下,两种算法运行1〇〇次的平均NMI值随混合参数P (P e [0,0. 90])的取值变化对比图。
[0028] 图6为采用本发明方法(由LPASS表示)和标签传播算法(由LPA表示)在10000 个节点的基准网络中,在网络中节点的平均度数< k > = 15、度数的最大值maxk = 50条件 下,两种算法运行1〇〇次的平均NMI值随混合参数P (P e [0,0. 90])的取值变化对比图。
[0029] 图7为采用本发明方法(由LPASS表示)和标签传播算法(由LPA表示)在10000 个节点的基准网络中,在网络中节点的平均度数< k > = 30、度数的最大值maxk = 50条件 下,两种算法运行1〇〇次的平均NMI值随混合参数P (P e [0,0. 90])的取值变化对比图。
[0030] 图8为采用本发明方法(由LPA表示)对一个真实微博网络的划分结果。
[0031] 图9为采用本发明方法(由LPASS表示)对一个真实微博网络的划分结果。
【具体实施方式】
[0032] 以下结合附图,对本发明上述的特征和优点作更加详细的说明。
[0033] 图1是本发明的一种基于半监督标签传播的微博用户群体划分方法的实现流程 图。如图1所示,所述方法包括以下步骤:
[0034] 步骤A :读取社交网络数据,构造以社交网络用户关系矩阵。
[0035] 步骤B:读取社交网络数据,构造以社交网络用户为节点,用户关系为边的社交网 络图。
[0036] 如在微博这样的社交网络中,将每一个用户作为网络中的一个节点,以用户中具 有相同特征或观点的作为网络的一条边。于是,形成了许多具有相同特征的社区,这对网 络舆情监测具有重要的意义;万维网中,如果知道某些网页的少量信息,就可以与其他网页 组成有关系的连边,这对搜索引擎是非常有用的;科学家协作网中,将每个作者作为一个节 点,两个作者合作文章即产生一条连边,形成庞大的协作网络。
[0037] 在本实施例中,采用由不同的节点数、节点度数和混合参数组成的6种基准网络。 其中,混合参数U代表社区网络的社区结构的明显程度,U值越小社区结构越明显。
[0038] 步骤C :初始化,为每个节点分配一个唯一代表其所属社区的标签,迭代次数t = 1〇
[0039] 具体的,在所述步骤B中,为每个节点分配一个唯一代表其所属社区的标签具体 过程为,即C n= L n, (^表示节点n所属社区,L "表示节点n的标签值。
[0040] 步骤D :随机排列所有节点,生成一个节点序列X。
[0041] 步骤E:节点标签更新。
[0042] 具体的,在所述步骤E中,节点标签更新具体包括以下步骤:
[0043] 步骤E1 :对于节点序列X中的每一个节点X,用它邻居节点标签中出现频率 最高的那个标签来更新该节点的标签,假设节点x的k个邻居节点分别是 Xl,x2,..., Xk,第t次时迭代节点X的标签依据于它邻居节点中所有经过了 t次迭代后节点的 标签及其它经过了第t. 1次迭代节点后所得到的标签,节点X的标签更新公式为: \(0 =容(\(0,\(/),...气(0,、+1(卜1),...,\(/-1)),其中函数8返回的是节点1的邻居节点 标签中频率最_的标签。
[0044] 步骤E2:如果多个标签出现的频率最高时,查找用户关系矩阵,在具有标签频率 最高的邻居节点中选择与该节点的用户关系值最大的邻居节点标签作为该顶点标签;如果 存在最大关系值相等,则在其中随机选择一个节点标签。
[0045] 步骤F :若所有节点的标签不再变化,则算法停止;否则,t = t+1,并返回步骤E。
[0046] 具体的,在所述步骤F中,算法的迭代终止条件为社会网络达到平衡,标签数目不 再发生变化。
[0047] 步骤G :将所有具有相同标签的顶点归为一个社区。
[0048] 在本实施例中考察本发明与标签传播算法在6种不同参数条件下的基准网络中, 随着混合参数P的取值变化,各运行100次的平均匪I值对比图。其中,匪I (normalized mutual information)值是判断实验划分结果与实际真实结果的接近程度的评判依据。具 体规则详细如下:
[0050] 其中,定义一个混淆矩阵N,行数代表真实社区,列数代表已发现社区,Nx]代表真 实社区i中的节点在已发现社区j中所占的节点个数,cA代表真实社区的数量,c B代表已 发现社区的数量,K.代表矩阵N u中i行的总和,N .,代表j列的总和。
[0051] 本发明所述的一种基于半监督标签传播的微博用户群体划分方法,将社区划分过 程划分为读取社交网络数据、初始化、节点更新标签、划分社区四个阶段,首先读取社交网 络数据,构造以社交网络用户关系矩阵,并构造以社交网络用户为节点,用户关系为边的社 交网络图;为社交网络图中的每个节点分配一个唯一代表其所属社区的标签,迭代次数t ==1 ;随机排列所有的节点,生成一个节点序列;节点标签更新,对于节点序列中每一个 节点X,用它邻居节点标签中出现频率最高的那个标签来更新该节点的标签,如果多个标签 出现的频率最高时,查找用户关系矩阵,在具有标签频率最高的邻居节点中选择与该节点 的用户关系值最大的邻居节点标签作为该节点的标签;如果存在多个最大关系值,则在具 有标签频率最高的邻居节点中随机选择一个节点标签。若所有节点的标签不再发生变化, 则算法停止;最后,将所有具有相同标签的顶点归为一个社区。标签传播算法平等的对待所 有邻居节点,导致社区边缘节点间产生了标签传播,严重影响了社区划分结果的准确率。本 发明采用先验知识的思想,在待更新节点的所有邻居节点中,当有多个标签出现的频率最 高时,在具有标签频率最高的邻居节点中选择与该节点的用户关系值最大的邻居节点标签 作为该节点的标签,这样就在很大程度上限制了标签传播的随意性。为了证明本发明方法 的优势,本实施例选取了 6个不同参数条件下的基准网络。参数各异的图2、图3、图4、图 5、图6、图7表明当混合参数y取值在0到0. 9范围内时,本发明方法的匪I值结果总体 优于标签传播算法。进一步研究可以发现,当网络的节点数相同时,节点的平均度数< k > 越大,相较于标签传播算法,本发明方法效果越明显,即划分社区的准确度越高;当网络的 节点数不相同时,节点的数目越多,本发明方法效果越明显,划分社区的准确度越高。为了 更进一步验证本发明提出的算法对真实微博网络划分情况,本实施例选择了新浪微博中由 303个不同的用户组成微博网络,该网络共有303个节点、1246条连边,分别用LPA算法和 LPASS算法对该微博网络进行社区划分,结果表明LPASS划分的结果更优,体现了真实的细 节。上述实施例表明在具有标签频率最高的邻居节点中选择与该节点的用户关系值最大的 邻居节点标签作为该节点的标签从很大程度上限制了标签传播的随意性,大大提高了社区 发现算法的准确率。综上,本发明方法大大提高了原有社区发现算法的准确率,可有效挖掘 社会网络中的社区结构,可以应用于网络舆情监测、搜索引擎等不同规模的领域。
[0052] 以上所述仅为本发明的较佳实施例,在发明权利要求所限定的范围内对其进行的 改变、修改、甚至等效,都将属于本发明的保护范围内。
【主权项】
1. 一种基于半监督标签传播的微博用户群体划分方法,其特征在于,所述方法包括以 下步骤: 步骤A :读取微博网络数据,构造微博网络用户关系矩阵A = {ai]},当用户i与j为好 友时alj= 2,当i与j互为关注时a lj= 1,其它记为O ; 步骤B :读取微博网络数据,构造以微博网络用户为节点、用户关系为边的社交网络 图; 步骤C :节点标记:为每一个用户节点随机分配一个唯一的标签值,作为它所属社区的 标识; 步骤D :初步社区划分:对图中的所有顶点的标签进行迭代更新,每次迭代后,节点的 标签值更新为其邻接节点的标签中数量最多的标签值; 步骤E :社区划分细化:如果多个标签出现的频率最高时,查找用户关系矩阵,在具有 标签频率最高的邻居节点中与该节点的用户关系值最大的邻居节点标签优先被选择进行 传播;经过若干次迭代后,每个用户节点邻居中的标签变化趋于稳定; 步骤F :将所有具有相同标签的节点归为一个社区。2. 根据权利要求1所述的一种基于半监督标签传播的微博用户群体划分方法,其特征 在于, 在上述步骤C中,为每一个用户节点随机分配一个唯一的标签值,即Cn= L n,Cn表示节 点η所属社区,1^表示节点η的标签值。3. 根据权利要求1所述的一种基于半监督标签传播的微博用户群体划分方法,其特征 在于, 在上述步骤D中,对节点的标签值更新为其邻接节点的标签中数量最多的标签值具体 过程为:把社交网络图抽象成一个简单的无向图G(N,E),其中,N表示节点的集合,E表示边 的集合;Wnm表示连接n, m节点的边的权重,n, m e仏用Cn表示表示节点η所属社区,Nt (η) 表示节点n e N的邻居节点中标签值为1的节点集合,公式如下:4. 根据权利要求1所述的一种基于半监督标签传播的微博用户群体划分方法,其特征 在于: 在上述步骤E中,所谓用户关系矩阵,其值表示微博网络中两个用户间的关联程度,它 的值越大,代表这两个用户所代表的两个节点在同一个社区的可能性就越大,用户关系矩 阵具体定义如下:其中i和j分别代表微博网络中两个不同的用户,其值\定义如下:假设微博中有两个用户i和j,如果他们是互为友好,则共同参与一个话题的可能性较 大,即处在网络中同一社区的可能性较大;如果他们相互加为关注,则一个用户的每条微博 肯定会被另一个用户所见,即i传染j的可能性较大,所以i和j同在一个社区的可能性也 较大。5.根据权利要求1所述的一一种基于半监督标签传播的微博用户群体划分方法,其特 征在于: 所述步骤E中,迭代终止条件为社交网络达到平衡,标签数目不再发生变化即终止迭 代。
【文档编号】G06F17/30GK105893381SQ201410814367
【公开日】2016年8月24日
【申请日】2014年12月23日
【发明人】张贤坤, 任静, 牛四宝, 刘申
【申请人】天津科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1