一种基于先验知识的微博用户群体划分方法

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

【发明内容】

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