CN115086179A - 一种社交网络中社区结构的检测方法 - Google Patents

一种社交网络中社区结构的检测方法 Download PDF

Info

Publication number
CN115086179A
CN115086179A CN202210996162.XA CN202210996162A CN115086179A CN 115086179 A CN115086179 A CN 115086179A CN 202210996162 A CN202210996162 A CN 202210996162A CN 115086179 A CN115086179 A CN 115086179A
Authority
CN
China
Prior art keywords
community structure
community
core
social network
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210996162.XA
Other languages
English (en)
Other versions
CN115086179B (zh
Inventor
马惠敏
程晓木
王荣全
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Science and Technology Beijing USTB
Original Assignee
University of Science and Technology Beijing USTB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Science and Technology Beijing USTB filed Critical University of Science and Technology Beijing USTB
Priority to CN202210996162.XA priority Critical patent/CN115086179B/zh
Publication of CN115086179A publication Critical patent/CN115086179A/zh
Application granted granted Critical
Publication of CN115086179B publication Critical patent/CN115086179B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Strategic Management (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种社交网络中社区结构的检测方法,包括:分析社交网络的拓扑结构,根据拓扑结构信息构建加权社交网络;定义社区结构的核挖掘策略,识别所有社区结构的核;构建基于集成学习的社区结构模型,所述社区结构模型结合了基于有监督学习的投票回归模型和若干个基于无监督学习社区结构的拓扑属性;设计启发式图搜索策略,用于扩展社区结构的核进而形成社交网络中完整的社区结构,根据得到的社区结构对用户进行社区分组,并根据分组结果进行相应的内容推送。本发明方法可应用于社交网络上实现对社交网络中各种拓扑类型的社区结构进行自动化地检测,有利于研究人员对用户按兴趣进行社区分组,帮助社交平台为用户及时推送感兴趣的内容。

Description

一种社交网络中社区结构的检测方法
技术领域
本发明涉及数据挖掘技术领域,特别涉及一种社交网络中社区结构的检测方法。
背景技术
社交网络中普遍存在着“同一社区结构内节点连接紧密、不同社区结构间节点连接稀疏”之特点的“社区结构”。随着应用领域的不同,社区结构具有不同含义。
社交网络中的社区结构检测在许多领域都具有非常重要的意义,其检测的核心思想是检测具有高内部连通性,并与外部连接稀疏的子图结构。在过去的数十年,在社交网络中检测社区结构越来越流行。社区结构检测是社交网络分析的一个基本问题,它试图挖掘特定社交网络中具有模块结构的子图。例如社交网络中的社区结构代表了具有某些相近特征的人群、蛋白质相互作用网络中的社区结构就可能对应着功能模块或者蛋白质复合物,蛋白质复合物是在同一时间和地点相互作用形成的一组节点集合。社区结构检测就是挖掘并揭示出这些不同类型社交网络中固有的社区结构,它可被用来帮助人们理解社交网络的功能、发现社交网络中隐藏的规律和预测社交网络的行为。
以往的社区结构挖掘方法大多基于无监督学习的方法,并且通常依赖于先验假设:社区结构是一个模块,它在社交网络中具有密集结构。事实上,基于这种假设的方法,其性能是有限的,因为只有部分的社区结构是稠密的,并不是所有的社区结构都是稠密的。同时,为了检测具有不同拓扑结构的社区结构,人们又提出了一些基于有监督学习的检测方法,但是由于缺乏足够的特征和可用于训练的已知社区结构数据集,使得训练后的回归模型的检测精度还有一定的欠缺。因此,迫切需要一种高精度的社交网络中社区结构的检测方法。
众所周知,当前社交网络包含了大量的假阳性和假阴性相互作用,即噪声。为了克服社交网络中的噪声,人们发展了许多方法来为社交网络中的每对节点分配“权重”,并构造一个加权的社交网络,以减少这种噪声的影响。
Gavin等人[Gavin A C, Aloy P, Grandi P, et al. Proteome survey revealsmodularity of the yeast cell machinery[J]. Nature, 2006, 440(7084): 631-636]对社区结构组织的研究表明,社区结构通常包含一个独特的社区结构的核心和许多的附属节点,被称为核-附属结构。在这里,社区结构的核中的节点之间具有相对更可靠的相互作用边。附属节点是社区结构的核的周围节点,其协助社区结构的核起到一定的作用。
一个图由节点和边组成,节点表示个体目标,边是连接不同节点,可以描述不同节点之间的关系。在很多实际应用,图通常用于表示复杂网络,因此有很多实践应用,如社交网络、生物网络和万维网[Girvan M, Newman M E J. Community structure in socialand biological networks[J]. Proceedings of the national academy of sciences,2002, 99(12): 7821-7826]。以社交网络为例,用户生成的内容为我们提供了一种区分用户特征的替代方法,从而促进了对社交社区的分析。另一个例子可以在蛋白质相互作用网络中找到具有社区结构的蛋白质复合物,它的检测对理解生物机制和过程是重要的。
在过去的十年中,出现了许多不同的计算方法来挖掘社交网络中的社区结构。主要是两种途径:第一,基于无监督学习的方法检测社区结构。这些方法大部分是在社交网络中挖掘具有某种拓扑属性的子图,从而实现社区结构的检测。2002年,Girvan和Newman提出了最著名的社区结构挖掘方法GN (Girvan-Newman)。该算法通过反复计算边介数,检测社区结构间连接,删除社区结构间连接,以自顶向下的方式建立一颗层次聚类树,该算法最大的缺点是计算速度慢。随后,Girvan和Newman等人[Newman M E J, Girvan M. Findingand evaluating community structure in networks[J]. Physical review E, 2004,69(2): 026113]提出了一个用于刻画社交网络的社区结构优劣的量化标准,被称之为模块性函数Q。该函数Q明确给出了社区结构的清晰定义,并在实际应用中获得成功。因之前的社区结构检测算法需要巨大计算要求,因此Newman等人[Newman M E J. Fast algorithmfor detecting community structure in networks[J]. Physical review E, 2004, 69(6): 066133]提出一个新的快速高效地检测社区结构算法。Radicchi等人[Radicchi F,Castellano C, Cecconi F, et al. Defining and identifying communities innetworks[J]. Proceedings of the national academy of sciences, 2004, 101(9):2658-2663]提出了用链接聚集系数取代算法GN中链接的边介数。Guimera 和Amaral等人[Guimera R, Amaral L A N. Functional cartography of complex metabolicnetworks[J]. nature, 2005, 433(7028): 895-900]提出了基于模拟退火的模块性优化算法(SA),该算法首先随机生成一个初始解,在每次迭代中,在当前解的基础上产生一个新的候选解,由函数Q判断其优劣并采用模拟退火策略中的Metropolis准则决定是否接受该候选解。Van Dongen等人[Van Dongen S M. Graph clustering by flow simulation[D]., 2000]提出了Markov聚类算法(Markov cluster algorithm,MCL),该算法主要是基于Markov动力学理论,通过改变和调节马尔可夫链呈现网络社区结构。它通过将转移概率强化很强的流,弱化较弱的流,通过不断重复这一过程检测社区结构。
CFinder[Adamcsek B, Palla G, Farkas I J, et al. CFinder: locatingcliques and overlapping modules in biological networks[J]. Bioinformatics,2006, 22(8): 1021-1023]是基于(clique percolation method,CPM)[Palla G, DerényiI, Farkas I, et al. Uncovering the overlapping community structure of complexnetworks in nature and society[J]. nature, 2005, 435(7043): 814-818]算法实现的一个软件工具,虽然其时间复杂度是非多项式级的,但实际使用运行效率较高。Shen等人[Shen H, Cheng X, Cai K, et al. Detect overlapping and hierarchical communitystructure in networks[J]. Physica A: Statistical Mechanics and itsApplications, 2009, 388(8): 1706-1712]提出了一种能同时检测社交网络中具有重叠性和层次性的社团结构算法(EAGLE)。Whang等人[Whang J J, Gleich D F, Dhillon I S.Overlapping community detection using neighborhood-inflated seed expansion[J]. IEEE Transactions on Knowledge and Data Engineering, 2016, 28(5): 1272-1284]提出了一种利用种子展开方法的高效重叠社区结构检测算法。Kim等人[Kim Y,Jeong H. Map equation for link communities[J]. Physical Review E, 2011, 84(2): 026110]将社区结构定义为链接社区结构,进而把社区结构挖掘算法infomap有效扩展到链接社区结构挖掘领域。Lee等人[Lee C, Reid F, McDaid A, et al. Detectinghighly overlapping community structure by greedy clique expansion[J]. arXivpreprint arXiv:1002.1827, 2010]针对当前重叠社区挖掘算法大部分无法高效检测重叠社区结构的问题,提出了一个贪婪的团扩张算法(greedy clique expansion,GCE),该算法首先找出一些明显的团结构作为种子,然后从这些种子出发,通过贪婪搜索算法对社区结构的函数进行局部优化以扩充这些种子节点形成的局部重叠社区结构。Liu等人[Liu G,Wong L, Chua H N. Complex discovery from weighted PPI networks[J].Bioinformatics, 2009, 25(15): 1891-1897]使用迭代方法对社交网络进行加权,并开发了一种基于最大团方法(CMC)从加权社交网络中检测社区结构。Nepuse等人[Nepusz T, YuH, Paccanaro A. Detecting overlapping protein complexes in protein-proteininteraction networks[J]. Nature methods, 2012, 9(5): 471-472]提出了ClusterONE,它利用贪婪生长过程挖掘具有高内聚性的社区结构。Peng等人[Peng W, WangJ, Zhao B, et al. Identification of protein complexes using weightedpagerank-nibble algorithm and core-attachment structure[J]. IEEE/ACMTransactions on Computational Biology and Bioinformatics, 2014, 12(1): 179-192]设计了一种pagerank策略,并基于相邻节点具有不同的概率和核-附属结构提出了WPNCA来预测社区结构。最近,Wang等人[Wang R, Wang C, Liu G. A novel graphclustering method with a greedy heuristic search algorithm for mining proteincomplexes from dynamic and static PPI networks[J]. Information Sciences,2020, 522: 275-298]通过使用局部启发式搜索策略提出了一种新的图聚类方法来挖掘社区结构。
第二,基于有监督学习的方法检测社区结构。这些方法首先通过提取特征来训练监督学习模型,然后用训练好的监督学习模型搜索社区结构。但是基于无监督学习的方法不需要解决一些实际问题,例如:已知社区结构特征提取不足、模型选择和训练模型不足等问题。基于无监督学习的检测方法不能利用已知社区结构的信息,也忽略了其他拓扑特性的社区结构,如“星型”模式和“辐条”模式。近年来,一些基于回归模型或分类模型的有监督学习方法也可以从社交网络中检测社区结构。例如,Qi等人[Qi Y, Balem F, FaloutsosC, et al. Protein complex identification by supervised graph local clustering[J]. Bioinformatics, 2008, 24(13): i250-i268]提出了一个学习贝叶斯网络模型参数的社区结构检测框架。Yu等人[Yu F Y, Yang Z H, Tang N, et al. Predicting proteincomplex in protein interaction network-a supervised learning based method[J].BMC systems biology, 2014, 8(3): 1-16]提出了一种基于监督学习的方法,该方法用团结构作为初始聚类,并使用经过训练的线性回归模型检测社区结构。Lei等人[Shi L, LeiX, Zhang A. Protein complex detection with semi-supervised learning inprotein interaction networks[C]//Proteome science. BioMed Central, 2011, 9(1): 1-9]提出了一种半监督学习算法,他们训练了一个神经网络模型来挖掘社区结构。ClusterEPs[Liu Q, Song J, Li J. Using contrast patterns between truecomplexes and random subgraphs in PPI networks to predict unknown proteincomplexes[J]. Scientific reports, 2016, 6(1): 1-15]通过新兴模式(EPs)估计子图是社区结构的可能性。Dong等人[Dong Y, Sun Y, Qin C. Predicting proteincomplexes using a supervised learning method combined with local structuralinformation[J]. PloS one, 2018, 13(3): e0194124]提供了ClusterSS方法,该方法提出了一个结合神经网络模型和局部内聚函数的打分函数,该函数指导社区结构的搜索检测社区结构。Liu等人[Liu X, Yang Z, Sang S, et al. Identifying protein complexesbased on node embeddings obtained from protein-protein interaction networks[J]. BMC bioinformatics, 2018, 19(1): 1-14]提出了一种基于网络嵌入和随机森林模型的监督学习方法用于发现社区结构。Sikandar等人[Sikandar A, Anwar W, Bajwa U I,et al. Decision tree based approaches for detecting protein complex inprotein protein interaction network (PPI) via link and sequence analysis[J].IEEE Access, 2018, 6: 22108-22120]提出了一种基于决策树的社区结构检测方法,他们使用了社区结构的生物信息和拓扑信息。2021年Zaki等人[Zaki N, Singh H, Mohamed EA. Identifying Protein Complexes in Protein-Protein Interaction Data UsingGraph Convolutional Network[J]. IEEE Access, 2021, 9: 123717-123726]引入了各种图卷积网络(GCN)方法来改进社区结构的检测方法。Mei等人[Mei S. A frameworkcombines supervised learning and dense subgraphs discovery to predict proteincomplexes[J]. Frontiers of Computer Science, 2022, 16(1): 1-14]提出了一种结合有监督学习和密集社区结构发现的检测框架以发现社区结构。Liu等人[Liu G, Liu B, LiA, et al. Identifying Protein Complexes With Clear Module Structure UsingPairwise Constraints in Protein Interaction Networks[J]. Frontiers inGenetics, 2021, 12]提出了一种新的基于非负矩阵三因子分解的半监督模型,并提出了用于检测社交网络中具有清晰模块结构的社区结构。
在过去的几十年中,虽然已经提出了许多社区结构的检测方法,但是构建性能优异且能识别多种拓扑结构的社区结构仍然是社交网络中社区检测的一个难题。
发明内容
本发明的目的在于提供一种社交网络中社区结构的检测方法,所述方法利用拓扑特征构建加权社交网络,基于核-附属结构,提出了一种社区结构的核挖掘策略,并设计了一种启发式图搜索策略来形成社区结构,该方法融合了有监督学习方法训练的模型和若干个基于无监督学习的拓扑结构属性,能够提高社区结构检测的准确性。所述方法可应用于社交网络上实现对社交网络中各种拓扑类型的社区结构进行自动化地检测,有利于研究人员对用户按兴趣进行社区分组,帮助社交平台为用户及时推送感兴趣的内容。
为解决上述技术问题,本发明的实施例提供如下方案:
一种社交网络中社区结构的检测方法,包括以下步骤:
S1、分析社交网络的拓扑结构,根据拓扑结构信息构建加权社交网络;
S2、定义社区结构的核挖掘策略,识别所有社区结构的核;
S3、构建基于集成学习的社区结构模型,所述社区结构模型结合了基于有监督学习的投票回归模型和若干个基于无监督学习社区结构的拓扑属性;
S4、设计启发式图搜索策略,用于扩展社区结构的核进而形成社交网络中完整的社区结构;
S5、根据得到的社区结构对用户进行社区分组,并根据分组结果进行相应的内容推送。
优选地,步骤S1中,所述根据拓扑结构信息构建加权社交网络具体包括:
利用同一个社区结构中节点之间的拓扑结构相似性对社交网络中的边进行加权,进而构建加权社交网络;包括以下步骤:
使用图嵌入方法Node2Vec学习社交网络中节点结构信息的低维特征表示,对于节 点
Figure 865750DEST_PATH_IMAGE001
Figure 720573DEST_PATH_IMAGE002
,其低维特征表示对应两个向量,即
Figure 188726DEST_PATH_IMAGE003
Figure 787197DEST_PATH_IMAGE004
使用两个节点向量的余弦值计算节点
Figure 991783DEST_PATH_IMAGE001
Figure 992010DEST_PATH_IMAGE002
的相似性,如公式(1)所示:
Figure 196726DEST_PATH_IMAGE005
其中
Figure 582577DEST_PATH_IMAGE006
Figure 454718DEST_PATH_IMAGE007
分别表示
Figure 385765DEST_PATH_IMAGE008
维的相应向量;
Figure 562931DEST_PATH_IMAGE009
表示两个节点的拓扑结构相似性;
对于每条边,其权重
Figure 221314DEST_PATH_IMAGE010
用公式(1)表示;当权重为0时,该条边被作为噪声, 将其从社交网络中删除。
优选地,步骤S2中,所述定义社区结构的核挖掘策略,识别所有社区结构的核,其具体包括:
对于局部社区结构,选择具有最高权重边的边作为第一个种子边,所有种子边按降序方式排列,使用边的权重和边的聚集系数识别局部社区结构的核;
对于全局社区结构,利用马尔可夫聚类算法检测全局社区结构的核。
优选地,对于边
Figure 416803DEST_PATH_IMAGE011
,它的权重是
Figure 797713DEST_PATH_IMAGE012
,邻域图表示为
Figure 242601DEST_PATH_IMAGE013
,其中
Figure 720986DEST_PATH_IMAGE014
Figure 285829DEST_PATH_IMAGE015
Figure 807946DEST_PATH_IMAGE016
的平均加权 度表示为
Figure 474551DEST_PATH_IMAGE017
,如公式(2)所示:
Figure 740316DEST_PATH_IMAGE018
基于上述分析,提出一个评分函数
Figure 441555DEST_PATH_IMAGE019
,其根据边的权重
Figure 150885DEST_PATH_IMAGE020
和边的局部权重连接紧密度
Figure 52589DEST_PATH_IMAGE021
对所有边进行评分,以 便选择种子边;
根据评分函数
Figure 138357DEST_PATH_IMAGE022
对所有边按降序进行排序,这里只有得分大于 所有边得分的平均值的边才会被按分数排序插入种子队列Q;在种子队列Q中的种子边将被 用于挖掘社区结构的核;因此,边
Figure 677791DEST_PATH_IMAGE023
的评分函数定义如公式(3)所示:
Figure 823602DEST_PATH_IMAGE024
对于边
Figure 464799DEST_PATH_IMAGE025
,其聚集系数
Figure 839411DEST_PATH_IMAGE026
定义为边
Figure 249663DEST_PATH_IMAGE027
所属的三角形数量除 以可能包括边
Figure 550063DEST_PATH_IMAGE027
的三角形数量,其定义如公式(4)所示:
Figure 678557DEST_PATH_IMAGE028
其中
Figure 588350DEST_PATH_IMAGE029
表示由边
Figure 853110DEST_PATH_IMAGE030
构建形成的三角形数量,
Figure 324411DEST_PATH_IMAGE031
是两个端节点的最小度数;
对于局部社区结构,选择具有最高权重边的节点作为第一个种子边
Figure 674621DEST_PATH_IMAGE032
,并以其 为初始局部社区结构的核,其中局部社区结构的核的邻居节点是否被填加到该局部社区结 构的核中,取决于两个条件是否同时满足,第一个是该邻居节点和种子边的任意一个端点 连接边的权重是否大于所有边的权重的平均值,即
Figure 391035DEST_PATH_IMAGE033
,其定 义如公式(5)所示:
Figure 775880DEST_PATH_IMAGE034
第二个条件是如果该邻居节点和种子边
Figure 903236DEST_PATH_IMAGE027
的端点的边之间聚集系数,即
Figure 255589DEST_PATH_IMAGE035
大于所有边的聚集系数ECC的平均值
Figure 24962DEST_PATH_IMAGE036
;这两个约束能够保证 该局部社区结构的核中的节点之间在拓扑结构上是相互紧密关联的,只有当上述两个条件 均满足的时候,该邻居节点才被添加到该局部社区结构的核中;
上述过程对所有邻居节点遍历判断完后,如果该局部社区结构的核包含的节点数量大于或等于2,则保留该局部社区结构的核;为避免重复计算,种子边包括的两个端节点将被标记记录,在后续的种子边选择的过程中将不能再次被用于另一局部社区结构的种子边;
然后选择下一条权重最高的种子边,其两个端节点均也不能包含在之前访问过的种子边中,才能用于形成下一个局部社区结构的核,该过程直到种子队列Q中的种子边为空则终止;
对于全局社区结构,首先使用马尔可夫聚类算法检测不重叠的全局社区结构的核,然后丢弃包含节点数目小于2的全局社区结构的核;这里,不同种子边扩展形成的局部社区结构的核和全局社区结构的核会有重复的,对于冗余的社区结构的核,则只保留相同的社区结构的核中的一个,其余删除。
优选地,步骤S3中,所述构建基于集成学习的社区结构模型具体包括:
S31、训练得到的有监督学习社区结构模型;
S32、定义社区结构的密度模型;
S33、定义社区结构的凝聚性模型;
S34、定义社区结构的结构模块化模型;
S35、融合上述训练得到的有监督学习社区结构模型和三个基于无监督学习的拓扑结构模型,最终得到基于集成学习的社区结构模型。
优选地,步骤S31具体包括:
收集已知真实社区结构并构建加权社交网络;
将真实社区结构映射到加权和非加权社交网络中,获得映射后的社区结构的各种拓扑属性信息,包括:边的数目,节点的数目;
基于映射后的社区结构包含的节点的数目进行统计分布计算,进而根据同样的分布,在当前加权和非加权的社交网络中生成假的社区结构,然后分析和提取已知真实社区结构和假的社区结构的拓扑特征;
从这些映射后的真实社区结构和假的社区结构中选择对区分真实社区结构和假的社区结构具有区分度的拓扑特征;
选择合适的监督学习回归模型,利用所述拓扑特征对该监督学习回归模型进行训练;
其中,所述合适的监督学习回归模型是指集成多个单一监督学习回归模型的平均投票回归模型,即VotingRegressor模型;
具体地,选择Linear回归模型、BayesianRidge回归模型、DecisionTreeGressor回归模型作为基本回归模型来建立VotingRegressor模型;VotingRegressor模型定义如公式(6)所示:
Figure 277695DEST_PATH_IMAGE037
优选地,步骤S32中,社区结构C的密度定义如公式(7)所示:
Figure 575953DEST_PATH_IMAGE038
其中
Figure 166334DEST_PATH_IMAGE039
是在社区结构C中所有边的权重和,
Figure 723086DEST_PATH_IMAGE040
代表社区结构C中包含节点的数目,社区结构C的密度
Figure 816944DEST_PATH_IMAGE041
反应社区结构的内部连接紧密程度;
步骤S33中,对于一个社区结构
Figure 302414DEST_PATH_IMAGE042
,它的内部权值度定义为
Figure 848933DEST_PATH_IMAGE043
Figure 474956DEST_PATH_IMAGE044
,表示社区结构C中所有边的权重和;它的外部权值度定义为
Figure 688899DEST_PATH_IMAGE045
,表示在社区结构C和外部节点即不属于社区结 构C的节点边的权重和;社区结构C的总权重度
Figure 860118DEST_PATH_IMAGE046
Figure 641735DEST_PATH_IMAGE047
Figure 556602DEST_PATH_IMAGE048
的和;
社区结构C的凝聚分数
Figure 608740DEST_PATH_IMAGE049
定义如公式(8)所示:
Figure 419701DEST_PATH_IMAGE050
社区结构C的凝聚分数
Figure 425966DEST_PATH_IMAGE049
越高,说明其内部连接越紧密且和外 部连接也越稀疏;
步骤S34中,结构模块化函数定义如公式(9)所示:
Figure 862632DEST_PATH_IMAGE051
其中,
Figure 785589DEST_PATH_IMAGE052
表示包含在社区结构C中所有内部节点 的平均加权度,
Figure 298610DEST_PATH_IMAGE053
表示社区结构C中的节点数目;
Figure 54820DEST_PATH_IMAGE054
用于估计具有社区结构的子图 内部节点之间连接紧密性,
Figure 311489DEST_PATH_IMAGE055
表示社区结构C和它的邻居节点之间 连接的平均权重度,这里
Figure 603799DEST_PATH_IMAGE056
表示社区结构C 的邻居节点集合,
Figure 22142DEST_PATH_IMAGE057
用于评估社区结构C与其相邻节点稀疏连接的程度;
当一个社区结构的内部具有较高的密度且与社交网络的其余部分分离良好时,它 将具有较高的
Figure 268578DEST_PATH_IMAGE058
优选地,步骤S35中,对于社区结构C,其基于集成学习的社区结构模型如公式(10)所示:
Figure 328938DEST_PATH_IMAGE059
优选地,步骤S4中,给定一个社区结构的核CC,它的所有直接相连的邻居被作为候 选的附属节点集,N(CC);对于每个附属节点
Figure 960907DEST_PATH_IMAGE060
,定义一个候选附属节点和社区结 构的核的连接紧密函数,如公式(11)所示:
Figure 64998DEST_PATH_IMAGE061
其中,
Figure 313577DEST_PATH_IMAGE062
是候选附属节点
Figure 152130DEST_PATH_IMAGE063
和社区结构的核连接边的权重 和,
Figure 825557DEST_PATH_IMAGE064
是节点
Figure 274118DEST_PATH_IMAGE063
的邻居节点的数目,
Figure 478835DEST_PATH_IMAGE065
表示社区结构的核CC包含的节点数目,
Figure 864686DEST_PATH_IMAGE066
用于评估候选附属节点和社区结构的核CC之间的紧密性;
基于集成学习的社区结构模型对每个社区结构的核执行启发式图搜索策略,进而形成社区结构,启发式图搜索策略包括:对于社区结构的核,通过最大化基于集成学习的社区结构模型的分数,对其通过连接紧密函数公式(11)确定候选附属节点并利用基于集成学习的社区结构模型决定是否对社区结构的核进行扩展,迭代执行上述步骤,直到满足终止条件,最终形成社区结构。
优选地,启发式图搜索策略的具体步骤如下:
S41、输入一个社区结构的核;
S42、基于公式(10)和公式(11)获取社区结构的核的附属节点,检测社区结构的核的所有附属节点并与其社区结构的核形成社区结构;首先,确定当前社区结构的核的邻居节点,然后根据公式(11)确定拥有最大附属连接分数的邻居节点;
S43、候选附属节点
Figure 687892DEST_PATH_IMAGE063
被添加到社区结构的核CC中后,计算社区结构的核
Figure 618939DEST_PATH_IMAGE067
的适应度分数
Figure 294639DEST_PATH_IMAGE068
,如果它的适应度分数大于社区结构CC的适应度分数
Figure 234914DEST_PATH_IMAGE069
,则附属节点v被添加到社区结构的核CC中,这个添加过程会被迭代进行;每 次新的候选附属节点的插入后,邻居节点和候选附属节点以及社区结构的核CC都会被更 新,这个过程直到利用公式(11)确定的候选附属节点的添加后的适应度分数
Figure 712294DEST_PATH_IMAGE068
不再大于
Figure 79821DEST_PATH_IMAGE069
,则终止该添加过程;
S44、重复步骤S41-步骤S43直到社区结构的
Figure 242818DEST_PATH_IMAGE069
不再增加,那么此时的 社区结构被认为形成了一个局部最优社区结构,如果该社区结构的大小大于3,则该社区结 构将被作为检测到的社区结构输出;
S45、选择下一个社区结构的核,然后使用上述启发式图搜索策略继续扩展剩余社区结构的核,进而形成下一个社区结构,直到所有的社区结构的核被遍历。
本发明实施例提供的技术方案带来的有益效果至少包括:
本发明首次提出一个整合平均投票回归模型和若干个社区结构的拓扑属性的基于集成学习的社区结构模型;提出一个社区结构具有核-附属结构,并分别提出社区结构的核识别策略和图启发式搜索策略。本发明提供的社交网络中社区结构的检测方法可应用于社交网络中实现对各种拓扑结构的社区结构进行自动化地检测。本发明方法与现有的社区结构挖掘方法相比能识别多种拓扑结构的社区结构。对社交网络中社区结构的检测有利于研究人员对用户按兴趣进行社区分组,能够帮助社交平台为用户及时推送感兴趣的内容,进而根据用户的需求进行精准营销具有重要的市场应用价值。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种社交网络中社区结构的检测方法的流程示意图;
图2是本发明实施例提供的回归模型的训练过程示意图;
图3是本发明实施例提供的启发式图搜索策略示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明的实施例提供了一种社交网络中社区结构的检测方法,参考图1所示,所述方法包括以下步骤:
S1、分析社交网络的拓扑结构,根据拓扑结构信息构建加权社交网络;
S2、定义社区结构的核挖掘策略,识别所有社区结构的核;
S3、构建基于集成学习的社区结构模型,所述社区结构模型结合了基于有监督学习的投票回归模型和若干个基于无监督学习社区结构的拓扑属性;
S4、设计启发式图搜索策略,用于扩展社区结构的核进而形成社交网络中完整的社区结构;
S5、根据得到的社区结构对用户进行社区分组,并根据分组结果进行相应的内容推送。
这里首先给出本发明实施例中使用的一些专业术语。社交网络通常被描述为加权 图,记为
Figure 609952DEST_PATH_IMAGE070
,其中
Figure 909215DEST_PATH_IMAGE071
表示节点,
Figure 182065DEST_PATH_IMAGE072
表示节点之间的边,
Figure 864981DEST_PATH_IMAGE073
表示社交网络中节点之 间的可靠性,即为一个
Figure 881479DEST_PATH_IMAGE074
的权重矩阵。节点
Figure 566407DEST_PATH_IMAGE001
的所有直接交互邻居被定义 为
Figure 820277DEST_PATH_IMAGE075
本发明方法的具体过程如下:
S1、分析社交网络的拓扑结构,根据拓扑结构信息构建加权社交网络。
社区结构由节点及其边组成,同一个社区结构中的节点具有相似的拓扑结构。考虑边的权重时,社区结构挖掘算法的性能将显著增强。
本步骤中,所述根据拓扑结构信息构建加权社交网络具体包括:
利用同一个社区结构中节点之间的拓扑结构相似性对社交网络中的边进行加权,进而构建加权社交网络;包括以下步骤:
使用图嵌入方法Node2Vec学习社交网络中节点结构信息的低维特征表示,对于节 点
Figure 974178DEST_PATH_IMAGE001
Figure 59946DEST_PATH_IMAGE002
,其低维特征表示对应两个向量,即
Figure 366424DEST_PATH_IMAGE003
Figure 246656DEST_PATH_IMAGE004
使用两个节点向量的余弦值计算节点
Figure 137120DEST_PATH_IMAGE001
Figure 495420DEST_PATH_IMAGE002
的相似性,如公式(1)所示:
Figure 653476DEST_PATH_IMAGE005
其中
Figure 439029DEST_PATH_IMAGE006
Figure 816790DEST_PATH_IMAGE007
分别表示
Figure 244360DEST_PATH_IMAGE008
维的相应向量;
Figure 509119DEST_PATH_IMAGE009
表示两个节点的拓扑结构相似性;
对于每条边,其权重
Figure 747465DEST_PATH_IMAGE010
用公式(1)表示;当权重为0时,该条边被作为噪声, 将其从社交网络中删除。最后,用拓扑结构相似度提高了社交网络的可靠性。综上所述,用 拓扑结构相似性对社交网络中的作用边进行加权,进而构建了加权的社交网络。
S2、定义社区结构的核挖掘策略,识别所有社区结构的核。
根据构建的加权社交网络,其利用学习得到两个相连的节点的特征向量,然后用余弦相似性方法计算这两个节点的相似性,相似性越高,它们之间的权重值越高,这两个相互作用的节点越有可能位于同一个社区结构内。此外,在社交网络中社区结构的核通常对应稠密的社区结构。
基于以上事实,本发明挖掘社区结构的种子节点的具体步骤如下:
对于边
Figure 97675DEST_PATH_IMAGE011
,它的权重是
Figure 47045DEST_PATH_IMAGE012
,邻域图表示为
Figure 431890DEST_PATH_IMAGE013
, 其中
Figure 572628DEST_PATH_IMAGE014
Figure 675713DEST_PATH_IMAGE015
Figure 445086DEST_PATH_IMAGE016
的平均加权度表示为
Figure 933705DEST_PATH_IMAGE017
,如公式(2)所示:
Figure 497542DEST_PATH_IMAGE018
基于上述分析,提出一个评分函数
Figure 838655DEST_PATH_IMAGE019
,其根据边的权重
Figure 146140DEST_PATH_IMAGE020
和边的局部权重连接紧密度
Figure 489265DEST_PATH_IMAGE021
对所有边进行评分,以 便选择种子边;
根据评分函数
Figure 489582DEST_PATH_IMAGE022
对所有边按降序进行排序,这里只有得分大于 所有边得分的平均值的边才会被按分数排序插入种子队列Q;在种子队列Q中的种子边将被 用于挖掘社区结构的核;因此,边
Figure 36101DEST_PATH_IMAGE023
的评分函数定义如公式(3)所示:
Figure 895080DEST_PATH_IMAGE024
对于边
Figure 109023DEST_PATH_IMAGE025
,其聚集系数
Figure 529509DEST_PATH_IMAGE026
定义为边
Figure 563324DEST_PATH_IMAGE027
所属的三角形数量除 以可能包括边
Figure 963344DEST_PATH_IMAGE027
的三角形数量,其定义如公式(4)所示:
Figure 31794DEST_PATH_IMAGE028
其中
Figure 373914DEST_PATH_IMAGE029
表示由边
Figure 144292DEST_PATH_IMAGE030
构建形成的三角形数量,
Figure 331691DEST_PATH_IMAGE031
是两个端节点的最小度数。
对于局部社区结构,选择具有最高权重边的边作为第一个种子边,所有种子边按降序方式排列,使用边的权重和边的聚集系数识别局部社区结构的核;具体包括:
选择具有最高权重边的边作为第一个种子边
Figure 2451DEST_PATH_IMAGE032
,并以其为初始局部社区结构 的核,其中局部社区结构的核的邻居节点是否被填加到该局部社区结构的核中,取决于两 个条件是否同时满足,第一个是该邻居节点和种子边的任意一个端点连接边的权重是否大 于所有边的权重的平均值,即
Figure 515472DEST_PATH_IMAGE033
,其定义如公式(5)所示:
Figure 773146DEST_PATH_IMAGE034
第二个条件是如果该邻居节点和种子边
Figure 29815DEST_PATH_IMAGE027
的端点的边之间聚集系数,即
Figure 558011DEST_PATH_IMAGE035
大于所有边的聚集系数ECC的平均值
Figure 241933DEST_PATH_IMAGE036
;这两个约束能够保证 该局部社区结构的核中的节点之间在拓扑结构上是相互紧密关联的,只有当上述两个条件 均满足的时候,该邻居节点才被添加到该局部社区结构的核中;
上述过程对所有邻居节点遍历判断完后,如果该局部社区结构的核包含的节点数量大于或等于2,则保留该局部社区结构的核;为避免重复计算,种子边包括的两个端节点将将被标记记录,在后续的种子边选择的过程中不能再次被用于另一局部社区结构的种子边;
然后选择下一条权重最高的种子边,其两个端节点均也不能包含在之前访问过的种子边中,才能用于形成下一个局部社区结构的核,该过程直到种子队列Q中的种子边为空则终止。
对于全局社区结构,利用马尔可夫聚类算法检测全局社区结构的核。具体包括:
首先使用马尔可夫聚类算法检测不重叠的全局社区结构的核,然后丢弃包含节点数目小于2的全局社区结构的核;这里,不同种子边扩展形成的局部社区结构的核和全局社区结构的核会有重复的,对于冗余的社区结构的核,则只保留相同社区结构的核中的一个,其余删除。
S3、构建基于集成学习的社区结构模型,所述社区结构模型结合了基于有监督学习的投票回归模型和若干个基于无监督学习社区结构的拓扑属性。
当定义一个具有社区结构的子图为
Figure 721325DEST_PATH_IMAGE076
,其中
Figure 781685DEST_PATH_IMAGE077
表示属于社区结构C的节点数目,
Figure 413655DEST_PATH_IMAGE078
表示社区结构C包含边的数目,而
Figure 39718DEST_PATH_IMAGE079
表示C包含所有对应边集的权重集 合。
本步骤中,所述构建基于集成学习的社区结构模型具体包括:
S31、训练得到的有监督学习的社区结构模型。
社交网络中的已知真实社区结构和假的社区结构都被建模为加权和未加权无向图。提取和选择合适的特征对区分真实社区结构和假的社区结构十分关键。以前的基于无监督学习方法通常假设在社交网络中的团结构、三角形、矩形、辐条和星图等为社区结构。当然,描述这些结构的拓扑特征如度统计、节点大小和边统计等也被用于检测具有这些属性的社区结构,但是,社区结构还有其他的拓扑结构类型。所以也需要挖掘一些新的拓扑特征用于更加完善地检测各种拓扑结构的社区结构。
本实施例中,一方面,使用一些现有的拓扑特征来描述和检测社区结构;另一方面,也提出了一些新的拓扑特征来描述一些尚未提取出的社区结构特征(参考表1中加黑的拓扑特征)。在本实施例中,总计使用65个拓扑特征来描述社交网络中的社区结构,如表1所示。
表1社区结构的拓扑特征列表
Figure 288297DEST_PATH_IMAGE081
Figure 136036DEST_PATH_IMAGE083
为了获得回归模型,将进行以下几个步骤:
收集已知真实社区结构并构建加权社交网络;
将真实社区结构映射到加权和非加权真实社交网络中,获得映射后的社区结构的各种拓扑属性信息,包括:边的数目,节点的数目;
基于映射后的社区结构包含节点的数目进行统计分布计算,进而根据同样的分布,在当前加权和非加权的社交网络中生成假的社区结构,然后分析和提取已知真实社区结构和假的社区结构的拓扑特征;
从这些映射后的真实社区结构和假的社区结构中选择对区分真实社区结构和假的社区结构具有区分度的拓扑特征;
选择合适的监督学习回归模型,利用所述拓扑特征对该监督学习回归模型进行训练。
以往的研究选择的基于有监督学习的回归模型多数是单一的回归模型,如线性回归、决策树和支持向量机等,这些单一的回归模型最大的弊端是他们有自身模型的局限性。因此,在本发明中,选择集成了多个单一监督学习回归模型的平均投票回归模型,即VotingRegressor模型。最后,利用提取的真实社区结构和假的社区结构的拓扑特征训练选择的监督学习回归模型,最终得到训练后的监督学习回归模型。监督学习回归模型的训练流程如图2所示。
本发明实施例中,选择Linear回归模型、BayesianRidge回归模型、DecisionTreeGressor回归模型作为基本回归模型来建立VotingRegressor模型。选择VotingRegressionor是鉴于它能减少单个基本模型的方差,并具有更好的泛化能力。此外,VotingRegressionor比单个模型预测具有更强的鲁棒性。结果表明,经过训练的VotingRegressor模型可用于从监督学习的角度评估社区结构成为真实社区结构的概率,以检测具有各种拓扑结构的社区结构。通过VotingRegressionor模型获得的分数越高,那么该预测的社区结构是真实社区结构的概率越高。
VotingRegressor模型定义如公式(6)所示:
Figure 622512DEST_PATH_IMAGE037
S32、定义社区结构的密度模型。
鉴于社区结构在社交网络中是内部节点彼此之间连接紧密,而且与外部连接稀疏的子图,考虑到这一特性,本发明定义既考虑社区结构的模块度又考虑社区结构密度的模型,此模型可以更加真实地反应社区结构的拓扑结构。
社区结构C的密度定义如公式(7)所示:
Figure 913816DEST_PATH_IMAGE038
其中
Figure 869265DEST_PATH_IMAGE039
是在社区结构C中所有边的权重和,
Figure 740269DEST_PATH_IMAGE040
代表社区结构C中包含节点的数目,社区结构C的密度
Figure 861678DEST_PATH_IMAGE041
反应社区结构的内部连接紧密程度。
S33、定义社区结构的凝聚性模型。
对于一个社区结构
Figure 58304DEST_PATH_IMAGE042
,它的内部权值度定义为
Figure 966961DEST_PATH_IMAGE043
Figure 172814DEST_PATH_IMAGE044
,表示社区结构C中所有边的权重和;它的外部权值度定义为
Figure 617571DEST_PATH_IMAGE084
,表示在社区结构C和外部节点即不属于社区结构C的 节点边的权重和;社区结构C的总权重度
Figure 204672DEST_PATH_IMAGE046
Figure 649560DEST_PATH_IMAGE047
Figure 127946DEST_PATH_IMAGE048
的和。
社区结构C的凝聚分数
Figure 958368DEST_PATH_IMAGE049
定义如公式(8)所示:
Figure 762375DEST_PATH_IMAGE050
社区结构C的凝聚分数
Figure 911204DEST_PATH_IMAGE049
越高,说明其内部连接越紧密且和外 部连接也越稀疏。
S34、定义社区结构的结构模块化模型。
基于社区结构的内部和模块之间以及社区结构的大小,本发明根据社交网络中社 区结构具有结构模块结构的特性,提出一种有效的评估测量方法用于估计社区结构
Figure 458860DEST_PATH_IMAGE076
作为社交网络中社区结构的可能性,即结构模块化
Figure 160099DEST_PATH_IMAGE085
模型来 评估一个节点簇
Figure 853118DEST_PATH_IMAGE076
是社区结构的概率,该模型可以检测社交网络中内部紧 密连接和与外界稀疏连接的社区结构。
结构模块化函数定义如公式(9)所示:
Figure 272598DEST_PATH_IMAGE086
其中,
Figure 109098DEST_PATH_IMAGE052
表示包含在社区结构C中所有内部节点 的平均加权度,
Figure 399265DEST_PATH_IMAGE053
表示社区结构C中的节点数目;
Figure 528764DEST_PATH_IMAGE054
用于估计具有社区结构的子图 内部节点之间连接紧密性,
Figure 169961DEST_PATH_IMAGE055
表示社区结构C和它的邻居节点之间 连接的平均权重度,这里
Figure 793840DEST_PATH_IMAGE056
表示社区结构C 的邻居节点集合,
Figure 951896DEST_PATH_IMAGE057
用于评估社区结构C与其相邻节点稀疏连接的程度;
当一个社区结构的内部具有较高的密度且与社交网络的其余部分分离良好时,它 将具有较高的
Figure 268607DEST_PATH_IMAGE058
值。
Figure 380789DEST_PATH_IMAGE087
能够满足检测具有高内聚和低耦合 性质的社区结构,并且它可以表示社区结构中的节点在社区结构内呈现出的强而频繁的连 接,而在社区结构外表现出弱而稀松的连接。
S35、融合上述有监督学习的社区结构模型和三个基于无监督学习的拓扑结构模型,得到基于集成学习的社区结构模型。
结合上述若干个社区结构模型,本发明方法提出了一个基于集成学习的社区结构 模型,该模型融合上述4种子社区结构模型包括基于有监督学习的
Figure 808359DEST_PATH_IMAGE088
和3个基于无监督 学习的拓扑结构模型。该模型可用于全面地量化社区结构
Figure 338698DEST_PATH_IMAGE089
作为候选社区结构的可能性, 从而指导社区结构检测过程。这个基于集成学习构建的社区结构模型通常通过组合多个模 型的输出来提高社区结构检测的鲁棒性和稳定性,从而提高社区结构的检测精度。
对于社区结构C,其基于集成学习的社区结构模型如公式(10)所示:
Figure 311464DEST_PATH_IMAGE059
基于公式(10)的基于集成学习的社区结构模型,本发明将引入一种启发式图搜索策略在基于集成学习的社区结构模型的引导下检测社区结构。
S4、设计启发式图搜索策略,用于扩展社区结构的核进而形成社交网络中完整的社区结构。
基于社区结构由社区结构的核和附属节点共同形成的事实,本发明基于已获得许多的社区结构的核和基于集成学习的社区结构模型。接下来,要做的是为社区结构的核检测附属节点,然后社区结构的核与它的附属节点共同形成社区结构。
给定一个社区结构的核CC,它的所有直接相连的邻居被作为候选的附属节点集,N (CC);对于每个附属节点
Figure 661674DEST_PATH_IMAGE060
,定义一个候选附属节点和社区结构的核的连接紧密 函数,如公式(11)所示:
Figure 142203DEST_PATH_IMAGE061
其中,
Figure 527048DEST_PATH_IMAGE062
是候选附属节点
Figure 185562DEST_PATH_IMAGE063
和社区结构的核连接边的权重 和,
Figure 770871DEST_PATH_IMAGE064
是节点
Figure 540244DEST_PATH_IMAGE063
的邻居节点的数目,
Figure 28863DEST_PATH_IMAGE065
表示社区结构的核CC包含的节点数目,
Figure 592699DEST_PATH_IMAGE066
用于评估候选附属节点和社区结构的核CC之间的紧密性。
基于集成学习的社区结构模型对每个社区结构的核执行启发式图搜索策略,进而形成社区结构,启发式图搜索策略包括:对于社区结构的核,通过最大化基于集成学习的社区结构模型的分数,对其通过连接紧密函数公式(11)确定候选附属节点并利用基于集成学习的社区结构模型决定是否对社区结构的核进行扩展,迭代执行上述步骤,直到满足终止条件,最终形成社区结构。启发式图搜索策略的流程如图3所示。
启发式图搜索策略的具体步骤如下:
S41、输入一个社区结构的核;
S42、基于公式(10)和公式(11)获取社区结构的核的附属节点,检测检测社区结构的核的所有附属节点并其社区结构的核形成社区结构;首先,确定当前社区结构的核的邻居节点,然后根据公式(11)确定拥有最大附属连接分数的邻居节点;
S43、候选附属节点
Figure 668234DEST_PATH_IMAGE063
被添加到社区结构的核CC中后,计算社区结构的核
Figure 241297DEST_PATH_IMAGE067
的适应度分数
Figure 335155DEST_PATH_IMAGE068
,如果它的适应度分数大于社区结构CC的适应度分数
Figure 584740DEST_PATH_IMAGE069
,则附属节点
Figure 396838DEST_PATH_IMAGE063
被添加到社区结构的核CC中,这个添加过程会被迭代进行; 每次新的候选附属节点的插入后,邻居节点和候选附属节点以及社区结构的核CC都会被更 新,这个过程直到利用公式(11)确定的候选附属节点的添加后的适应度分数
Figure 990237DEST_PATH_IMAGE068
不再大于
Figure 204181DEST_PATH_IMAGE069
,则终止该添加过程;
S44、重复步骤S41-步骤S43直到社区结构的
Figure 359088DEST_PATH_IMAGE069
不再增加,那么此时的 社区结构被认为形成了一个局部最优社区结构,如果该社区结构的大小大于3,则该社区结 构将被作为检测到的社区结构输出;
S45、选择下一个社区结构的核,然后使用上述启发式图搜索策略继续扩展剩余社区结构的核,进而形成下一个社区结构,直到所有的社区结构的核被遍历。
综上所述,本发明首次提出一个整合平均投票回归模型和若干个社区结构的拓扑属性的基于集成学习的社区结构模型;提出一个社区结构具有核-附属结构,并分别提出社区结构的核检测策略和图启发式搜索策略。本发明方法可应用于社交网络上实现对社交网络中各种拓扑类型的社区结构进行自动化地检测。本发明方法与现有的社区结构挖掘方法相比能识别多种拓扑结构的社区结构。对社交网络中社区结构的检测有利于研究人员对用户按兴趣进行社区分组,能够帮助社交平台为用户及时推送感兴趣的内容,进而根据用户的需求进行精准营销具有重要的市场应用价值。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种社交网络中社区结构的检测方法,其特征在于,包括以下步骤:
S1、分析社交网络的拓扑结构,根据拓扑结构信息构建加权社交网络;
S2、定义社区结构的核挖掘策略,识别所有社区结构的核;
S3、构建基于集成学习的社区结构模型,所述社区结构模型结合了基于有监督学习的投票回归模型和若干个基于无监督学习社区结构的拓扑属性;
S4、设计启发式图搜索策略,用于扩展社区结构的核进而形成社交网络中完整的社区结构;
S5、根据得到的社区结构对用户进行社区分组,并根据分组结果进行相应的内容推送。
2.根据权利要求1所述的社交网络中社区结构的检测方法,其特征在于,步骤S1中,所述根据拓扑结构信息构建加权社交网络具体包括:
利用同一个社区结构中节点之间的拓扑结构相似性对社交网络中的边进行加权,进而构建加权社交网络;包括以下步骤:
使用图嵌入方法Node2Vec学习社交网络中节点结构信息的低维特征表示,对于节点
Figure 491004DEST_PATH_IMAGE001
Figure 378713DEST_PATH_IMAGE002
,其低维特征表示对应两个向量,即
Figure 442484DEST_PATH_IMAGE003
Figure 438122DEST_PATH_IMAGE004
使用两个节点向量的余弦值计算节点
Figure 169318DEST_PATH_IMAGE001
Figure 959419DEST_PATH_IMAGE002
的相似性,如公式(1)所示:
Figure 776066DEST_PATH_IMAGE005
其中
Figure 309815DEST_PATH_IMAGE006
Figure 895517DEST_PATH_IMAGE007
分别表示
Figure 122099DEST_PATH_IMAGE008
维的 相应向量;
Figure 446549DEST_PATH_IMAGE009
表示两个节点的拓扑结构相似性;
对于每条边,其权重
Figure 783990DEST_PATH_IMAGE010
用公式(1)表示;当权重为0时,该条边被作为噪声,将其 从社交网络中删除。
3.根据权利要求1所述的社交网络中社区结构的检测方法,其特征在于,步骤S2中,所述定义社区结构的核挖掘策略,识别所有社区结构的核,其具体包括:
对于局部社区结构,选择具有最高权重边的边作为第一个种子边,所有种子边按降序方式排列,使用边的权重和边的聚集系数识别局部社区结构的核;
对于全局社区结构,利用马尔可夫聚类算法检测全局社区结构的核。
4.根据权利要求3所述的社交网络中社区结构的检测方法,其特征在于,对于边
Figure 224199DEST_PATH_IMAGE011
,它的权重是
Figure 621682DEST_PATH_IMAGE012
,邻域图表示为
Figure 147341DEST_PATH_IMAGE013
, 其中
Figure 22893DEST_PATH_IMAGE014
Figure 583188DEST_PATH_IMAGE015
Figure 417151DEST_PATH_IMAGE016
的平均加权度表示为
Figure 164527DEST_PATH_IMAGE017
,如公 式(2)所示:
Figure 112279DEST_PATH_IMAGE018
基于上述分析,提出一个评分函数
Figure 261501DEST_PATH_IMAGE019
,其根据边的权重
Figure 787DEST_PATH_IMAGE020
和 边的局部权重连接紧密度
Figure 501038DEST_PATH_IMAGE021
对所有边进行评分,以便选择种子 边;
根据评分函数
Figure 718393DEST_PATH_IMAGE022
对所有边按降序进行排序,这里只有得分大于所有 边得分的平均值的边才会被按分数排序插入种子队列Q;在种子队列Q中的种子边将被用于 挖掘社区结构的核;因此,边
Figure 987700DEST_PATH_IMAGE023
的评分函数定义如公式(3)所示:
Figure 163467DEST_PATH_IMAGE024
对于边
Figure 885435DEST_PATH_IMAGE025
,其聚集系数
Figure 172060DEST_PATH_IMAGE026
定义为边
Figure 30295DEST_PATH_IMAGE027
所属的三角形数量除以可 能包括边
Figure 374033DEST_PATH_IMAGE027
的三角形数量,其定义如公式(4)所示:
Figure 583297DEST_PATH_IMAGE028
其中
Figure 408034DEST_PATH_IMAGE029
表示由边
Figure 651933DEST_PATH_IMAGE030
构建形成的三角形数量,
Figure 638344DEST_PATH_IMAGE031
是 两个端节点的最小度数;
对于局部社区结构,选择具有最高权重边的节点作为第一个种子边
Figure 334904DEST_PATH_IMAGE030
,并以其为初 始局部社区结构的核,其中局部社区结构的核的邻居节点是否被填加到该局部社区结构的 核中,取决于两个条件是否同时满足,第一个是该邻居节点和种子边的任意一个端点连接 边的权重是否大于所有边的权重的平均值,即
Figure 963332DEST_PATH_IMAGE032
Figure 61738DEST_PATH_IMAGE033
其定义如 公式(5)所示:
Figure 484629DEST_PATH_IMAGE034
第二个条件是如果该邻居节点和种子边
Figure 671415DEST_PATH_IMAGE027
的端点的边之间聚集系数,即
Figure 103534DEST_PATH_IMAGE035
大于所有边的聚集系数ECC的平均值
Figure 790867DEST_PATH_IMAGE036
;这两个约束能够保证 该局部社区结构的核中的节点之间在拓扑结构上是相互紧密关联的,只有当上述两个条件 均满足的时候,该邻居节点才被添加到该局部社区结构的核中;
上述过程对所有邻居节点遍历判断完后,如果该局部社区结构的核包含的节点数量大于或等于2,则保留该局部社区结构的核;为避免重复计算,种子边包括的两个端节点将被标记记录,在后续的种子边选择的过程中将不能再次被用于另一局部社区结构的种子边;
然后选择下一条权重最高的种子边,其两个端节点均也不能包含在之前访问过的种子边中,才能用于形成下一个局部社区结构的核,该过程直到种子队列Q中的种子边为空则终止;
对于全局社区结构,首先使用马尔可夫聚类算法检测不重叠的全局社区结构的核,然后丢弃包含节点数目小于2的全局社区结构的核;这里,不同种子边扩展形成的局部社区结构的核和全局社区结构的核会有重复的,对于冗余的社区结构的核,则只保留相同社区结构的核中的一个,其余删除。
5.根据权利要求1所述的社交网络中社区结构的检测方法,其特征在于,步骤S3中,所述构建基于集成学习的社区结构模型具体包括:
S31、训练得到的有监督学习社区结构模型;
S32、定义社区结构的密度模型;
S33、定义社区结构的凝聚性模型;
S34、定义社区结构的结构模块化模型;
S35、融合上述训练得到的有监督学习社区结构模型和三个基于无监督学习的拓扑结构模型,最终得到基于集成学习的社区结构模型。
6.根据权利要求5所述的社交网络中社区结构的检测方法,其特征在于,步骤S31具体包括:
收集已知真实社区结构并构建加权社交网络;
将真实社区结构映射到加权和非加权社交网络中,获得映射后的社区结构的各种拓扑属性信息,包括:边的数目,节点的数目;
基于映射后的社区结构包含的节点数目进行统计分布计算,进而根据同样的分布,在当前加权和非加权的社交网络中生成假的社区结构,然后分析和提取已知真实社区结构和假的社区结构的拓扑特征;
从这些映射后的真实社区结构和假的社区结构中选择对区分真实社区结构和假的社区结构具有区分度的拓扑特征;
选择合适的监督学习回归模型,利用所述拓扑特征对该监督学习回归模型进行训练;
其中,所述合适的监督学习回归模型是指集成多个单一监督学习回归模型的平均投票回归模型,即VotingRegressor模型;
具体地,选择Linear回归模型、BayesianRidge回归模型、DecisionTreeGressor回归模型作为基本回归模型来建立VotingRegressor模型;VotingRegressor模型定义如公式(6)所示:
Figure 650238DEST_PATH_IMAGE037
7.根据权利要求6所述的社交网络中社区结构的检测方法,其特征在于,步骤S32中,社区结构C的密度定义如公式(7)所示:
Figure 55812DEST_PATH_IMAGE038
其中
Figure 291621DEST_PATH_IMAGE039
是在社区结构C中所有边的权重和,
Figure 99040DEST_PATH_IMAGE040
代表社区结构C中 包含节点的数目,社区结构C的密度
Figure 129313DEST_PATH_IMAGE041
反应社区结构的内部连接紧密程度;
步骤S33中,对于一个社区结构
Figure 22183DEST_PATH_IMAGE042
,它的内部权值度定义为
Figure 527595DEST_PATH_IMAGE043
Figure 455100DEST_PATH_IMAGE044
,表示社区结构C中所有边的权重和;它的外部权值度定义为
Figure 390694DEST_PATH_IMAGE045
,表示在社区结构C和外部节点即不属于社区结 构C的节点边的权重和;社区结构C的总权重度
Figure 36439DEST_PATH_IMAGE046
Figure 348472DEST_PATH_IMAGE047
Figure 130483DEST_PATH_IMAGE048
的和;
社区结构C的凝聚分数
Figure 502559DEST_PATH_IMAGE049
定义如公式(8)所示:
Figure 635600DEST_PATH_IMAGE050
社区结构C的凝聚分数
Figure 485744DEST_PATH_IMAGE049
越高,说明其内部连接越紧密且和外部连 接也越稀疏;
步骤S34中,结构模块化函数定义如公式(9)所示:
Figure 390771DEST_PATH_IMAGE051
其中,
Figure 933748DEST_PATH_IMAGE052
表示包含在社区结构C中所有内部节点的平 均加权度,
Figure 22926DEST_PATH_IMAGE053
表示社区结构C中的节点数目;
Figure 942341DEST_PATH_IMAGE054
用于估计具有社区结构的子图内部 节点之间连接紧密性,
Figure 433365DEST_PATH_IMAGE055
表示社区结构C和它的邻居节点之间连接 的平均权重度,这里
Figure 881664DEST_PATH_IMAGE056
表示社区结构C的邻 居节点集合,
Figure 989297DEST_PATH_IMAGE057
用于评估社区结构C与其相邻节点稀疏连接的程度;
当一个社区结构的内部具有较高的密度且与社交网络的其余部分分离良好时,它将具 有较高的
Figure 181244DEST_PATH_IMAGE058
值。
8.根据权利要求7所述的社交网络中社区结构的检测方法,其特征在于,步骤S35中,对于社区结构C,其基于集成学习的社区结构模型如公式(10)所示:
Figure 526775DEST_PATH_IMAGE059
9.根据权利要求1所述的社交网络中社区结构的检测方法,其特征在于,步骤S4中,给 定一个社区结构的核CC,它的所有直接相连的邻居被作为候选的附属节点集,N(CC);对于 每个附属节点
Figure 411554DEST_PATH_IMAGE060
,定义一个候选附属节点和社区结构的核的连接紧密函数,如公 式(11)所示:
Figure 737975DEST_PATH_IMAGE061
其中,
Figure 733613DEST_PATH_IMAGE062
是候选附属节点
Figure 199229DEST_PATH_IMAGE063
和社区结构的核连接边的权重和,
Figure 254910DEST_PATH_IMAGE064
是节点
Figure 805977DEST_PATH_IMAGE063
的邻居节点的数目,
Figure 339726DEST_PATH_IMAGE065
表示社区结构的核CC包含的节点数目,
Figure 925428DEST_PATH_IMAGE066
用于评估候选附属节点和社区结构的核CC之间的紧密性;
基于集成学习的社区结构模型对每个社区结构的核执行启发式图搜索策略,进而形成社区结构,启发式图搜索策略包括:对于社区结构的核,通过最大化基于集成学习的社区结构模型的分数,对其通过连接紧密函数公式(11)确定候选附属节点并利用基于集成学习的社区结构模型决定是否对社区结构的核进行扩展,迭代执行上述步骤,直到满足终止条件,最终形成社区结构。
10.根据权利要求9所述的社交网络中社区结构的检测方法,其特征在于,启发式图搜索策略的具体步骤如下:
S41、输入一个社区结构的核;
S42、基于公式(10)和公式(11)获取社区结构的核的附属节点,检测社区结构的核的所有附属节点并与其社区结构的核形成社区结构;首先,确定当前社区结构的核的邻居节点,然后根据公式(11)确定拥有最大附属连接分数的邻居节点;
S43、候选附属节点
Figure 152010DEST_PATH_IMAGE063
被添加到社区结构的核CC中后,计算社区结构的核
Figure 190373DEST_PATH_IMAGE067
的适 应度分数
Figure 530744DEST_PATH_IMAGE068
,如果它的适应度分数大于社区结构CC的适应度分数
Figure 970952DEST_PATH_IMAGE069
,则附属节点v被添加到社区结构的核CC中,这个添加过程会被迭代进行;每 次新的候选附属节点的插入后,邻居节点和候选附属节点以及社区结构的核CC都会被更 新,这个过程直到利用公式(11)确定的候选附属节点的添加后的适应度分数
Figure 368436DEST_PATH_IMAGE068
不再大于
Figure 894095DEST_PATH_IMAGE069
,则终止该添加过程;
S44、重复步骤S41-步骤S43直到社区结构的
Figure 769647DEST_PATH_IMAGE069
不再增加,那么此时的社区 结构被认为形成了一个局部最优社区结构,如果该社区结构的大小大于3,则该社区结构将 被作为检测到的社区结构输出;
S45、选择下一个社区结构的核,然后使用上述启发式图搜索策略继续扩展剩余社区结构的核,进而形成下一个社区结构,直到所有的社区结构的核被遍历。
CN202210996162.XA 2022-08-19 2022-08-19 一种社交网络中社区结构的检测方法 Active CN115086179B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210996162.XA CN115086179B (zh) 2022-08-19 2022-08-19 一种社交网络中社区结构的检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210996162.XA CN115086179B (zh) 2022-08-19 2022-08-19 一种社交网络中社区结构的检测方法

Publications (2)

Publication Number Publication Date
CN115086179A true CN115086179A (zh) 2022-09-20
CN115086179B CN115086179B (zh) 2022-12-09

Family

ID=83244574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210996162.XA Active CN115086179B (zh) 2022-08-19 2022-08-19 一种社交网络中社区结构的检测方法

Country Status (1)

Country Link
CN (1) CN115086179B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024180722A1 (ja) * 2023-03-01 2024-09-06 日本電信電話株式会社 部分ネットワーク評価装置、部分ネットワーク評価方法及びコンピュータプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106599090A (zh) * 2016-11-24 2017-04-26 上海交通大学 基于结构中心性的网络社区发现方法
US20180341696A1 (en) * 2017-05-27 2018-11-29 Hefei University Of Technology Method and system for detecting overlapping communities based on similarity between nodes in social network
CN112925989A (zh) * 2021-01-29 2021-06-08 中国计量大学 一种属性网络的群体发现方法及系统
CN113626723A (zh) * 2021-07-09 2021-11-09 中国科学院信息工程研究所 一种基于表示学习的属性图社区搜索方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106599090A (zh) * 2016-11-24 2017-04-26 上海交通大学 基于结构中心性的网络社区发现方法
US20180341696A1 (en) * 2017-05-27 2018-11-29 Hefei University Of Technology Method and system for detecting overlapping communities based on similarity between nodes in social network
CN112925989A (zh) * 2021-01-29 2021-06-08 中国计量大学 一种属性网络的群体发现方法及系统
CN113626723A (zh) * 2021-07-09 2021-11-09 中国科学院信息工程研究所 一种基于表示学习的属性图社区搜索方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王童童等: "基于社交网络节点中心度挖掘其社区框架", 《计算机应用与软件》 *
黄发良等: "在线社交网络社区的启发式挖掘框架", 《小型微型计算机系统》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024180722A1 (ja) * 2023-03-01 2024-09-06 日本電信電話株式会社 部分ネットワーク評価装置、部分ネットワーク評価方法及びコンピュータプログラム

Also Published As

Publication number Publication date
CN115086179B (zh) 2022-12-09

Similar Documents

Publication Publication Date Title
García et al. A memetic algorithm for evolutionary prototype selection: A scaling up approach
Davis et al. Supervised methods for multi-relational link prediction
CN106960390A (zh) 基于节点聚合度的重叠社区划分方法
CN113297429B (zh) 一种基于神经网络架构搜索的社交网络链路预测方法
CN105183796A (zh) 一种基于聚类的分布式链路预测方法
Kumar et al. An upper approximation based community detection algorithm for complex networks
CN112464107B (zh) 一种基于多标签传播的社交网络重叠社区发现方法及装置
Liu et al. Dynamic local search based immune automatic clustering algorithm and its applications
CN112182306A (zh) 一种基于不确定图的社区发现方法
Jabbour et al. SAT-based models for overlapping community detection in networks
CN115086179B (zh) 一种社交网络中社区结构的检测方法
CN114723037A (zh) 一种聚合高阶邻居节点的异构图神经网络计算方法
CN115270007A (zh) 一种基于混合图神经网络的poi推荐方法及系统
Li et al. Adaptive subgraph neural network with reinforced critical structure mining
CN114417177A (zh) 一种基于节点综合影响力的标签传播重叠社区发现方法
Jabbour et al. Triangle-driven community detection in large graphs using propositional satisfiability
CN108198084A (zh) 一种复杂网络重叠社区发现方法
Morshed et al. LeL-GNN: Learnable edge sampling and line based graph neural network for link prediction
Rashid et al. OlapGN: a multi-layered graph convolution network-based model for locating influential nodes in graph networks
CN115965466A (zh) 一种基于子图对比的以太坊账户身份推理方法及系统
CN113095088B (zh) 一种基于文本的消费意图分析方法
CN112380267B (zh) 一种基于隐私图的社区发现方法
CN113901984A (zh) 一种基于节点邻域的聚类系数的分层随机游走抽样方法
CN114297498A (zh) 一种基于关键传播结构感知的意见领袖识别方法和装置
Long et al. A unified community detection algorithm in large-scale complex networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant