一种兴趣和网络结构双内聚的社交网络社区发现方法

文档序号:6630101阅读:976来源:国知局
一种兴趣和网络结构双内聚的社交网络社区发现方法
【专利摘要】本发明公开一种兴趣和网络结构双内聚的社交网络社区发现方法。它首先将用户在社交网络中所发布的内容进行归档,并使用已有兴趣特征提取方法提取各用户的兴趣特征,进而采用交集运算获取各用户关系的兴趣特征集,形成社交网络R-C模型。在此基础上,采用已有的相似度计算方法计算具有共同用户的两个用户关系的兴趣特征相似度;接着,以R-C模型中的用户关系为节点,以两个用户关系之间是否有共同好友为边,以用户关系间的兴趣特征相似度为边的权值,形成社交网络加权无向图;再接着,采用已有的加权无向网络社区发现算法对挖掘用户关系社区;最后,将用户关系社区中的用户关系直接映射为其所关联的两个用户,形成社交网络用户社区。
【专利说明】—种兴趣和网络结构双内聚的社交网络社区发现方法

【技术领域】
[0001]本发明涉及智能信息处理和数据挖掘领域,具体地说是一种在社交网络上挖掘兴趣和网络结构双内聚的社区的方法。

【背景技术】
[0002]社区发现是指在社会网络中,发现内聚的子群。社区发现是社会网络分析的重要问题,它有助于人们进一步认识、理解和掌握所研究的复杂网络对象,进而,实现更深入的应用研究,例如个性化推荐,朋友推荐,大规模网络压缩求解,异质网络分析,社会网络演变等。兴趣和网络结构双内聚的用户社区发现是精准的市场营销和准确的个性化推荐服务等的重要研究内容。现实生活中,人们往往传播其所能接触到的感兴趣的信息。因此,好的用户社区发现应同时满足网络结构和兴趣双方面的内聚。网络结构是社区内部节点间信息传播的桥梁,兴趣是信息传播的原因。
[0003]得益于移动互联网的发展,微博用户规模及其社会影响力迅速增长。世界上最大的微博社区Twitter有不少于5亿的注册用户,每月活跃用户为2.3亿,而日活跃用户为1亿,每天推文5亿次1。最大的中文微博社区新浪微博也拥有超过5亿的注册用户,每天有高达4.62千万的活跃用户和不少于1亿的微博。社交网络是现实社会的缩影,它为人们提供了巨量的有价值的研究数据。人们使用社交网络进行政治、市场营销等活动,社交网络已成为一个公认的发表意见与看法的平台。
[0004]目前,针对社交网络用户社区发现的方法大致可分为三种:①基于用户内容(文本聚类法)。将用户所发布的内容进行兴趣特征提取,然后,基于兴趣特征进行用户聚类;该类方法忽略了社交网络网络结构(用户关系)在信息传播中的桥梁作用。②基于用户联系。提取社交网络的关注或好友关系,将问题转化为图论等问题进行社区发现;该类方法没有考虑用户的兴趣特征,因此,无法证明其兴趣的内聚性。③综合方法。将用户内容和用户联系相结合,基于内容提取基于兴趣的用户社区,基于用户联系提取基于联系的用户社区,再采用某种方法将两个社区进行融合,形成兴趣和网络结构双内聚的用户社区;该类方法由于需要进行两次社区发现,且需要进行社区融合;因此,算法效率较低。
[0005]文本聚类法主要通过计算社区内节点的文本内容的相似性,根据相似性将文本内容相似的节点划分为社区。早在1999年,Kleinberg等人提出了基于内容的网页聚类方法,即著名的HITS算法。主题模型是文本聚类法最典型的算法。2003年,Blei等人提出了 LDA模型,LDA模型认为文档是多个主题的概率分布。2004年,Syeyvers等人认为主题是多个关键词的概率分布,用户也以某种概率分布对多个主题感兴趣,并提出了 AT (Author-Topic)模型用于发现用户、文档、主题和关键词之间的关系。2007年,McCal lum等人基于发送-接受关系提出了 ART(Author-Recipient-Topic)模型用于聚类具有相似兴趣的用户。在ART模型的基础上,2008 年,Pathak 等人提出 CART (Community-Author-Recipient-Topic)模型。这些模型都忽略了用户之间显著的用户关系,从而可能导致社区发现结果的不合理。
[0006]基于网络结构的社区发现算法是目前较为流行且研究较多的方法。这类方法根据用户之间的相互关系将社区网络划分为社区内联系紧密,社区之间联系稀疏的多个子社区。1970年,B.W.Kernighan和S.Lin针对图分割问题提出了 KL算法,该算法应用于复杂网络社区发现,就是社区发现图分割法的典型算法。图分割法通过迭代的方式,将图分解为最优的两个子图,反复处理,直至得到足够数目的子图。2002年,M.Girvan和Μ.E.J.Newman提出了 GN算法,它通过反复识别和删除网络中边介数最大的连接,实现复杂网络聚类。GN算法的复杂度较高,但它启发了人们对复杂网络社区发现的思路。2004年,Μ.E.J.Newman和M.Girvan提出的网络模块性评价函数-模块度Q。Q函数为社区内的实际连接数目与随机连接下社区内的期望连接数目之差,它描述了所发现社区的优劣。Q值越大则社区结构越好。在此基础上,Newman提出了基于局部搜索的快速复杂网络聚类算法,即快速Newman算法。快速Newman算法通过局部搜索,找到极大化的Q值,从而实现社区划分。同年,Newman等人从算法复杂度的角度出发,通过引入模块度增量矩阵和堆结构,将快速Newman算法演进为了 CNM算法。2005年,R.Guimera和L.A.N.Amaral以优化目标函数Q为目标,提出了基于模拟退火算法(Simulated Annealing, SA)的复杂网络聚类算法_GA算法。SA的引入使得GA算法具有找到全局最优解的能力;因而,GA算法具有很好的聚类精度。基于模块度优化的聚合方法是目前比较流行的社区发现算法,并被扩充到了加权网络社区发现、有向网络社区发现和重叠社区发现等。虽然,基于网络结构(用户关系)的社区发现算法能够对用户进行聚类,但由于其忽略了用户之间的共同兴趣特征;因此,不能保证社区发现的兴趣内聚性。
[0007]针对上述两种社区发现在兴趣社区发现上的不足。2012年,Zhang等人提出了将用户关系同用户内容进行结合,发现用户社区。他们采用NMF方法进行基于用户关系的社区发现,采用AT模型用于兴趣社区的发现,并在此基础上,将两种社区发现结果进行融合,并在Tweets和Delic1us上进行了验证。燕飞等人首先对个人兴趣进行聚类,得到基于兴趣的行动者社区,然后使用社会网络拓扑结构信息,对兴趣社区进行扩展,并在Flickr上进行了实验分析。这些方法虽然得到了较好的兴趣社区发现,并能将用户根据其兴趣划分到多个不同的社区,符合实际情况,但其算法逻辑较为复杂,而且复杂度较高。
[0008]真实世界中的社区结构大多数都是重叠且具有层次结构。社交网络用户往往具有多样化的兴趣特征;因此,社交网络中的用户社区发现是重叠社区发现问题。CPM算法是目前流行的重叠社区算法,其在自然和社会学等领域都有所应用,且被推广到了加权网络的重叠社区发现。然而,CPM算法认为社区是强连通的簇;其对社区苛刻的定义使得在稀疏网络(如新浪微博用户联系网络等)中社区发现效果较差。此外,CPM算法需要指定k值,且复杂度较高,也制约了 CPM算法在大数据网络中的运用。2010年,Ahn等人提出了边社区概念及其算法-LCA算法,并在生物网络、社会网络和其他代表性网络(哲学家关系网、单词关系网和Amazon, com产品联系网)上,对照CPM算法、Infomap算法和快速Newman算法,验证了 LCA算法能发现质量更好的重叠社区。
[0009]LCA算法以边作为聚类节点,对边进行聚类,并根据边所属的社区,将节点划分到多个不同的社区。在一个具有N个节点的加权网络中,LCA算法假定对于任一节点i都有属性向星 = (An,..., AiN),且
[0010]4 =f Σ w>Aj+wy
[0011]其中,为边eu的权重,η⑴为与节点i有连接关系的所有邻居节点集合,匕为集合n(i)的元素数量,当i = j时,δ u = 1,其他情况为0。在LCA算法中,边eu的权重
表征具有联系的两个节点i和j在某种性质上相关度;通常权重值越高,相关度越大。根据不同的应用,w.j的具体含义也略有不同;在具体应用中,可根据社区发现的不同目的和网络的不同特征采用不同的方法进行计算。如为了发现电影演员之间的协作关系,可以以演员为节点,演员之间是否有合作电影为边,演员间合作的电影数为边的权重,构建演员关系网络;此时,将表示演员间协作程度。又如,为了发现内容和结构双内聚的社交网络用户社区,可以以用户为节点,用户关系为边,用户发布内容之间的相似性为边的权重,构建社交网络模型;此时,wu表示社交网络用户之间兴趣的相似程度;再如,为了挖掘Amazon上不同产品间的关系,可以构建以产品为节点,用户是否同时购买某两种产品为边,产品所包含的用户标签的相似度值为边的权重,构建产品网络模型;此时,表示产品间用户标签的相似程度。
[0012]在此基础上,LCA算法采用Tanimoto系数计算公式计算具有公共节点k的两条边eik和ejk之间的相似度。由于边eik和ejk具有公共节点k, LCA算法认为节点k的邻居节点对该两条边相似度的贡献不大,即边eik和的计算只考虑节点i和节点j的邻居节点。因此,边eik和%的相似度计算公式为
[0013]S^ik>ejk^= 2 |',2;
KI +K1-V?
[0014]在计算边边之间相似度的基础上,LCA算法采用单边聚类方法对边聚类,直至形成一个社区。最后,采用最优社区密度对层次进行切分,形成多个社区。显然,上述公式在边边的相似度计算上,仅从网络结构出发,忽略了边的真实特征。
[0015]综上,目前社交网络用户社区发现方法存在如下不足:①算法考虑不全面;②算法效率较低;?LCA算法未考虑边的真实兴趣特征。围绕这些不足,本
【发明者】对社交网络进行R-C模型构建,建立以用户关系为节点,以用户关系之间是否有共同用户为边,从用户所发布的内容提取用户的兴趣特征,进而转化为用户关系的兴趣特征,在此基础上,进行社交网络用户社区发现,得出本发明专利。


【发明内容】

[0016]本发明的目的是在社交网络中挖掘兴趣和网络结构双内聚的用户社区,具体涉及一种社交网络兴趣和网络结构双内聚的用户社区发现方法。该方法首先构建了社交网络R-C模型,并在此基础上,将R-C模型转化为加权无向图的社区发现。
[0017]社交网络R-C模型以社交网络的用户关系为节点,以用户关系间是否有共同用户为边,以用户关系所关联的两个用户的加权兴趣集的交集为节点属性。
[0018]社交网络R-C模型将用户所发布的所有内容合并成一个文档,再采用已有的主题提取模型提取各文档的兴趣特征。各文档的兴趣特征集为一个加权兴趣集,表征该文档所对应用户的兴趣特征。
[0019]针对每一个用户关系,R-C模型将该两个加权兴趣特征集的公共部分视为交集运算。即有,若给定一个集合A = {a1; a2,...,am},其每个元素都含权值,即第i个元素%的权值为wai,则称A为权值集合。A又表示为:A = {(a1; wal), (a2, wa2),..., (am, wam)}。若有权值集合 A — {? wal),(a2? wa2),...,(&m? wam)}和 B — {(bj? w^j),(b2,w^),...,(bn,wbn)},则集合A和B的交集为:A η B = {(c,w。)I c为A和B的共同元素,若c = ai = b」,有wc = min(wai, wbJ)},其中min()函数为取最小值。
[0020]在社交网络R-C模型的基础上,针对每两个具有公共用户的用户关系,采用已有的相似度计算公式计算其相似度,进而将社交网络R-C转化为以用户关系为节点,以用户关系间是否有共同用户为边,以用户关系间的相似度为权重的加权无向图;接着,采用已有的加权无向图社区发现算法完成用户关系的社区发现;最后,直接将用户关系社区中的用户关系映射为用户,形成用户社区。
[0021]综上,本发明所公开的社交网络社区发现算法,包括如下步骤:
[0022]1.构建社交网络R-C模型;
[0023]I1.在R-C模型中,采用已有的相似度计算方法计算具有共同用户的两个用户关系的兴趣特征相似度;
[0024]II1.以R-C模型中的用户关系为节点,以两个用户关系之间是否有共同好友为边,以用户关系间的兴趣特征相似度为边的权值,形成社交网络加权无向图;
[0025]IV.采用已有的加权无向网络社区发现算法对上述网络进行用户关系社区发现;
[0026]V.逐一遍历用户关系社区,将用户关系社区中的用户关系直接映射为其所关联的两个用户,形成社交网络用户社区,完成社交网络社区发现。
[0027]其中,社交网络R-C模型的构建包含如下步骤:
[0028]1.将用户在社交网络中所发布的所有可获取内容合并为一个文档,形成社交网络内容集合;
[0029]I1.对内容集合中的内容进行分词,并采用已有基于内容的主题提取方法提取各内容的主题集合,形成带权值的用户兴趣集;
[0030]II1.依据用户关系所关联的两个用户的兴趣集,采用带权值的交集运算形成用户关系兴趣特征集;
[0031]IV.以用户关系为节点,以两个用户关系之间是否有共同好友为边,以用户关系的兴趣特征集为节点的属性,形成社交网络R-C模型。
[0032]一个社交网络的真实内容通常包含三部分内容:用户集合U,用户关系集合L和由u所产生的各类内容τ(主要为社交网络内容及其评论内容)。因此,一个社交网络通常可以表示为:S=卬,1^,1'),其中3表示社交网络。针对不同的研究和应用,该模型略有不同。图2下半部分是一个社交网络真实内容及其关系示意图。U= {U1;U2,U3}为社交网络用户集合,L= {Lph}为用户联系的集合,也是社交网络内容T传播的纽带,T =为社交网络内容集合,T,为U,的所发布内容集合。
[0033]参照图1,为社交网络模型示意图,上半部分为社交网络R-C模型示意,下半部分为现有社交网络模型示意。社交网络用户社区发现即是在社交网络S中发现L和T同时内聚的U社区。若以T作为研究对象,采用文本聚类的方法进行社区发现,该方法能够形成兴趣内聚的U社区;但由于忽略了关系L的重要作用,不能保证信息在所发现的社区内部能够畅通传播。若以L作为聚类条件进行U社区发现,无法保证所形成的社区的兴趣内聚。因此,合理的U社区发现应综合考虑L和T。现有的综合方法采用某种方法融合由L和T所发现的两类U社区,形成网络结构和兴趣双内聚的U社区。先后两次社区发现及社区融合导致了该类社区发现算法效率较低。而导致该算法需要进行两次社区发现,其最根本的原因是没有充分利用L的信息和价值。L作为用户之间的相互关系,其已经体现了 U的存在;因此,在兴趣社区发现中如果以L为社区发现对象,以T作为L的属性进行L社区发现,通过一次社区发现找出L社区,进而转化为U社区,将能简化社区发现复杂度。
[0034]参照图1,为社交网络模型示意图。上半部分显示了社交网络R-C模型示意图。它将原有模型中的用户关系L= {l1;l2}映射成网络节点r= {Ri,R2}。U/是用户关系札和R2潜在的连接关系,它体现了 Ri和R2之间存在着共同用户。同时,用户关系L还潜在着所关联的两个用户之间的共同兴趣特征。社交网络内容T是用户兴趣集的具体表现;因此,通过对用户关系所关联的两个用户的社交网络内容T进行兴趣特征提取,可进一步获得用户关系的所关联的用户的共同兴趣特征C,实现对R-C模型中用户关系兴趣特征的描述。从而,将原有社交网络模型转化为R-C模型,即S = {R,C}。
[0035]由于用户往往具有多个不同的兴趣,现有的方法通常根据用户内容计算出用户对各不同兴趣感兴趣的程度。因此,用户兴趣集是一个带权值的兴趣集合。
[0036]在社交网络R-C模型的基础上,进行R社区发现,最后将R直接映射为其关联的用户,转化为U社区。它在综合考虑用户联系和用户内容的基础上,提高用户社区发现效率,并解决了 LCA算法在社区发现上没有充分考虑边的兴趣特征的问题。
[0037]虽然R-C模型和LCA算法都采用边进行聚类,但两者具有本质的不同,具体表现在;
[0038]1.LCA算法只是将边作为一个聚类的对象,其边并不具有兴趣特征描述。而R-C模型在社区发现上,将用户关系作为实体进行聚类;在R-C模型中,用户关系不仅仅只是聚类的对象,其还具有其所关联的两个用户的兴趣特征描述。因此,R-C模型更有利于挖掘内容和结构双内聚的社区结构。
[0039]2.LCA算法仅仅只是从网络结构的角度出发进行社区发现;且认为,两条具有公共节点的边,其公共节点的属性对该两条边的相似度的贡献不大,即LCA算法忽略了公共节点的属性特征。因此,LCA算法忽略了边的真实特征。而R-C模型通过对边所关联的两个节点的特征取交集,保留了边的真实特征。
[0040]3.针对各类型的网络,LCA算法根据不同的社区发现目标,构建加权或无权网络,进而从边的角度出发进行社区发现,各节点的属性特征在构建网络时就已转化为数值。而R-C模型首先将用户关系构建为网络节点,并从用户关系所关联的两个用户的兴趣获取该用户关系的特征,接着根据用户关系的特征计算用户关系间的权重,最后进行社区发现。由于R-C模型在进行社区发现前才将属性特征转化为数值,因而能挖掘更为真实的社区结构。
[0041]由于社交网络是稀疏网络,其用户关系和用户数属于同一数量级,因此,本发明所公开的社区发现方法在聚类的时间复杂度与传统基于用户的社区发现算法相当。
[0042]综上,本发明所公开的社区发现方法具有如下特点:
[0043]1.能挖掘兴趣和网络结构双内聚的用户社区;
[0044]2.算法效率高。

【专利附图】

【附图说明】
[0045]图1是传统社交网络模型和本发明的社交网络R-C模型示意图。
[0046]图2是本发明进行社交网络社区发现的较佳工作流程图。
[0047]图3是本发明较佳实施例的社交网络示例图。

【具体实施方式】
[0048]参照图2,为本发明进行社交网络社区发现的较佳工作流程图。在对社交网络中用户所发布内容进行归档形成社交网络内容集合T后,本发明使用LDA模型从社交网络内容T提取用户兴趣集I = {II,12,...},进而通过交集运算,计算用户关系的兴趣特征集C。用户关系的兴趣特征集C和用户关系集合R构成社交网络R-C模型。接着,本发明通过计算有潜在联系的用户关系之间的兴趣相似度,将社交网络R-C模型转换为加权无向网络,并使用较为成熟的加权无向网络社区发现算法进行R社区发现。由于CNM算法的聚类复杂度较低,本发明使用加权CNM算法进行R社区发现。最后,将R直接映射为相应的U,形成U社区。
[0049]具体地,使用社交网络R-C模型进行社区发现的方法步骤如下:
[0050]1.社交网络内容T集合构建。将社交网络内容依据其所属的用户进行归类,形成T集合;
[0051]2.用户兴趣集I计算。对T集合中的社交网络内容进行分词,并采用相关模型(如,LDA模型等)构建用户兴趣集合I ;
[0052]3.用户关系特征集C计算。依据用户关系所对应的两个用户兴趣特征集,使用定义3所描述的方法取交集形成用户关系兴趣特征集C ;
[0053]4.用户关系相似度计算。对于无共同用户的用户关系,将不进行相似度计算。对于有公共用户的两个用户关系,采用Tanimoto系数计算公式计算其的相似度。即,其计算公式如下:
[。。54] W)=|cfSf?
[0055]5.R社区发现。采用加权无向网络社区发现算法(如,CNM算法等)对上述网络进行R社区发现。
[0056]6.U社区形成。R-C模型中,任一 R都包含两个具有用户关系的用户。对于某个R社区,其所包含的所有R所对应的用户集形成该R社区所对应的U社区。依次遍历所发现的所有R社区,形成U社区。
[0057]参照图3,为本发明较佳实施例的社交网络示例图。它给出了 LCA算法未考虑边的真实兴趣特性而导致社区发现不准确的一个案例。该案例由3个节点(用户两条边(用户关系)e12和e13组成。假定节点ηι、η2和n3的兴趣特征及其权重分别为::0.5,I2:0.5)、⑴:0.5)和(12:1)。采用Tanimoto系数计算公式分别求得边e12和e13的权重w12和w13为0.5和0.5 ;进而可知,边e12和e13之间的相似度为0.5。因此,若采用LCA算法,由于边e12和e13间较高的相似度,使得e12和e13将被划分到一个社区,即,节点和n3都归属于同一个社区。而事实上,rii和n2的共同兴趣为Ip rii和n3的共同兴趣为12,而n2和n3之间无共同兴趣;因此,好的社区发现应能将其划分为ηι、η2和ηι、η3两个不同的社区结构。显然,LCA算法因未考虑e12和e13的真实兴趣特征,使得其社区发现不够合理。而本发明所公开的方法首先计算出边e12和e13所对应的用户关系的兴趣特征分别为Q ={(11;0.5)}和(:2 = {(I2,0.5)}。由于(^和(:2完全不同,因此,不论采用哪种聚类方法,e12和e13都分属于不同的兴趣社区,最终,发现真实的兴趣社区。因此,本发明所公开的方法较LCA能挖掘出更好的社区结构。
[0058]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
【权利要求】
1.一种兴趣和网络结构双内聚的社交网络社区发现方法,其特征在于,所述方法包括如下步骤: 1.构建社交网络R-C模型; I1.在R-C模型中,采用已有的相似度计算方法计算具有共同用户的两个用户关系的兴趣特征相似度; II1.以R-C模型中的用户关系为节点,以两个用户关系之间是否有共同好友为边,以用户关系间的兴趣特征相似度为边的权值,形成社交网络加权无向图; IV.采用已有的加权无向网络社区发现算法对上述网络进行用户关系社区发现; V.逐一遍历用户关系社区,将用户关系社区中的用户关系直接映射为其所关联的两个用户,形成社交网络用户社区,完成社交网络社区发现。
2.如权利要求1所述的社交网络R-C模型,其特征在于,其构建步骤如下: 1.将用户在社交网络中所发布的所有可荻取内容合并为一个文档,形成社交网络内容集合; I1.对内容集合中的内容进行分词,并采用已有基于内容的主题提取方法提取各内容的主题集合,形成带权值的用户兴趣集; II1.依据用户关系所关联的两个用户的兴趣集,采用带权值的交集运算形成用户关系兴趣特征集; IV.以用户关系为节点,以两个用户关系之间是否有共同好友为边,以用户关系的兴趣特征集为节点的属性,形成社交网络R-C模型。
3.如权利要求2所述的带权值的用户兴趣集,其特征在于,每个兴趣都具有权值,该权值描述了用户对该兴趣的感兴趣程度。
4.如权利要求2所述的带权值的交集运算,其特征在于,运算结果为两个集合的共同兴趣,共同兴趣的权值为该兴趣在两个集合中权值的较小值。
【文档编号】G06F17/30GK104268271SQ201410540031
【公开日】2015年1月7日 申请日期:2014年10月13日 优先权日:2014年10月13日
【发明者】周小平 申请人:北京建筑大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1