一种网络特征社区查找方法与流程

文档序号:21082588发布日期:2020-06-12 16:39阅读:218来源:国知局
一种网络特征社区查找方法与流程

本发明属于网络社区构建技术领域。



背景技术:

在网络相关研究工作中,社区(community)的概念持续受到人们的关注。由大量节点和节点间的连接关系构成的网络结构广泛存在于计算机科学、生物学和社会学等领域,例如以网页为节点、以网页间的链接为边组成的万维网和以人为节点、以人际间关系为边建立的社会网等。一般而言,社区是指内部节点间联系较内部与外部节点间联系更为紧密的子网络,发现网络中的各种社区结构(如社区发现和社区搜索)有助于进行好友推荐、犯罪团伙识别以及蛋白质功能预测,同时能够有效支持网络中传播热点选择和介数中心度更新。

不同于社区发现(communitydetection),社区搜索(communitysearch)旨在寻找包含给定节点集的社区,能够快速获取个性化的社区信息,即给定一个或多个节点,寻找包含它们的社区。但是真实世界的各类网络结构中每一个节点并非毫无意义,它们也存在相关特征属性,如facebook社交网络中,以每一个用户为节点,以人际关系为边构建的社交网络中,每个用户个体都有各自不同的兴趣爱好,这意味着网络图中每个节点都具有特征,而如何找到包含给定节点集且具有高度特征相关性的社区即又引出社区搜索的一个新的研究方向——特征社区查找。此相关研究具有极大的社会应用价值,如组织科学研讨会等社交活动,调整产品广告投放等市场决策,以及社交平台好友推荐等。

现有的社区搜索方法包括仅与网络拓扑有关的社区搜索和与节点属性有关的社区搜索:前者旨在寻找包含给定节点集且满足k-clique,k-core或k-truss等特定拓扑结构的社区;后者在查找包含给定节点集的社区时综合考虑了拓扑结构和节点属性,返回的结果社区不仅要满足特定拓扑结构,还要使内部节点的属性尽可能相近。而针对节点属性相关的社区搜索,即特征社区查找问题,目前提出的方法有acc(attributedcommunitycl-treeindexmethod.特征社区cl树索引方法)和locatc((attributedtrussindex-basedqueryprocessingalgorithmbymeansoflocalexploration.基于局部探究的基于属性桁架索引的查询处理算法),它们在实际的图网络中也取得了良好的搜索结果。

由先前的研究可知,社区搜索是社区发现问题在不同角度下的拓展;一般而言,社区发现旨在发现一张图中的所有社区结构,没有其他限定要求。目前已提出的社区发现模型有谱聚类模型,标签传播模型,局部扩展模型等,但它们并不是基于询问而查找社区,因此其最显著的缺陷是不适用于快速在线的社区搜索,且在大型图网络中发现社区会耗费大量时间。此外,现有的社区搜索算法也只能寻找包含给定节点集且满足k-clique,k-core或k-truss等特定拓扑结构的社区,而且这些算法对于与节点属性相关的特征图关注甚少,因而在搜索中忽略了大量有助于社区搜索的节点属性信息。

然而现有的两种解决特征社区查找问题的较优算法(acc和locatc)也存在一定的弊端。(1)缺乏普遍性,不能够处理用户所提供的所有查询节点。例如acc在搜索目标社区时,会考虑所有的查询属性和单一的查询节点,却会忽略其他查询节点,即导致该算法不能充分考虑用户需求,而使查找得到的社区和目标社区之间存在巨大的偏差。(2)算法理论复杂且在处理大型图网络时耗费大量时间。例如,在搜索社区之前:locatc需要为整张图构建at索引(attributedtrussindex),因而针对大规模图时此做法会耗费大量时间,效率低的问题,且导致locatc很难迁移应用于现实生活中各类动态改变的图结构中进行搜索。



技术实现要素:

本发明是为了解决现有升级版的社区搜索和特征社区查找存在的效率低且适应性差的问题,提出了一种网络特征社区查找方法。

本发明所述的高效的网络特征社区查找方法,该方法基于racsf-acs算法实现快速的社区搜索和特征社区查找,具体步骤为:

步骤一、根据真实的社区的内部结构特征,建立社区节点的内部连结密度评估函数;

步骤二、根据真实的社区的外部结构特征,建立社区节点的外部连结密度评估函数;

步骤三、对待搜索的网络社区的属性和给定属性之间的相关度进行量化,建立网络社区的属性相关性评估函数;

步骤四、对社区节点的内部连结密度评估函数、社区节点的外部连结密度评估函数和量化的待搜索的网络社区的属性和给定属性相关度的函数进行融合,获取函数racsf(s,wq);

步骤五、利用nss节点选择策略和弹性isc循环终止条件对racsf(s,wq)函数进行优化,获取目标社区结构的最优解为最终查找的特征社区。

本实施方式所述的所述函数racsf(s,wq)来综合评估节点集合s的社区质量以及节点集合s与目标属性集合wq的匹配度。

进一步地,所述的nss节点选择策略为采取贪婪思想,每次从相邻节点中选择一个最能提升当前节点集合racsf评分的节点,作为待加入成员节点;

弹性isc循环终止条件为当添加新成员节点使得函数racsf(s,wq)获得的节点集的质量评分降低,或者多次添加新成员节点函数racsf(s,wq)获得的节点集的质量评分都没有提升,则停止节点选择步骤输出racsf评分最高的节点集合。

进一步地,步骤一所述的建立社区节点的内部连结密度评估函数的具体方法为:

利用densityb(s)函数:

构建内部连结密度评估函数inner(s):

其中,s是g中的一组节点,g(v,e)是一个无向图,densityb(s)的范围为[0,ns-1],v为图g(v,e)中的一个节点,avgdeg(s)是顶点集合s的平均度,ms为节点集合s中边的个数,ms=|(u,v)∈e:u∈s,v∈s|,ns为节点集合s中节点的个数,ns=|s|;d(v,s)为节点v在节点集s中的内部连接边数,d(v,s)=|(u,v)∈e:u∈s|;d2(v,s)是d(v,s)的2次方。

进一步地,步骤二中所述建立社区节点的外部连结密度评估函数的具体为:

外部连结密度评估函数average-odf(s):其中,d(u)是节点u的度,d(u)=|(u,v)∈e|。

进一步地,步骤三所述对待搜索社区的属性和节点集之间相关度的函数进行量化的具体方法为:

利用公式:

对所给特征属性集合wq与节点组s之间的相关度(s,wq)进行量化,其中,attriscore(s,wq)为待搜索社区的属性集合wq和节点集之间相关度函数,nodes(s,w)={v:v∈s,w∈attr(v)},nodes(s,w)为s中所有覆盖属性w的节点的集合,所述属性w属于搜索社区的属性集合wq。

进一步地,步骤四中所述获取racsf(s,wq)函数为:

其中,racsf(s,wq)表示的是当目标属性集合为wq时节点集s的racsf值;所述racsf的值用于评估搜索到的节点集s的质量,分值越高搜索到的结构质量越高,越符合搜索条件越可能为目标社区结构。

进一步地,步骤五所述获取目标社区结构的最优解的具体方法为:不断使用nss节点选择策略挑选出目标社区结构的成员节点,直至isc循环终止条件满足;

中任意一个则停止后续循环,并将循环停止后的optimalgroup(t)作为目标社区结构的最优解;其中,deratiol和condenuml为常数,decreaseratio(t)为score(t)和optimalscore(t)之间的比值,optimalscore(t)为在加入由nss节点选择策略推荐的第t个节点之前,节点集合获得的最大racsf评分,score(ti)为节点集合group(ti)的racsf评分,score(t)为节点集合group(t)的racsf评分,group(ti)为使用nss节点选择策略加入ti个节点后获得的社区结构;group(t)为为使用nss节点选择策略加入t个节点后获得的社区结构;min{argmaxti<tscore(ti)}表示节点集合取得当前最大racsf评分时,使用nss节点选择策略加入的最少节点个数。

本发明与现有技术相比,本发明弥补了现有特征社区查找算法中耗时耗力又无法进行在线快速搜索的缺陷,并在实际大型图结构搜索中取得了良好的效果。本发明所述的racsf-acs算法灵活高效,对于大规模图网络中的动态变化有较强的适用性。且算法的时间表现仅依赖于所查找的社区大小,不会受到整张图或较大节点变动的影响,因此可更高效地实现大型图网络的在线快速社区查找。

racsf-acs的可调整性好,研究者可根据实际社区查找问题中的时间表现和精度需求人为地控制实验循环次数,即调整deratiol和condenuml的参数值。本发明效果显著,有助于acs特征社区查找问题的在线大规模实现,且搜索结果精度高,查询时间也较少,充分体现了高效性和有效性。

附图说明

图1是本发明所述方法的流程图;

图2和图3均是采用现有算法lctc、acc和locatc与采用racsf-acs算法进行不同数据集中特征查找问题的有效性评估对比图;

图4和图5均是采用算法lctc、acc和locatc与采用racsf-acs算法进行特征查找问题的效率评估对比图;

图6是不同查询节点采用算法lctc、acc和locatc与采用racsf-acs算法进行杂类网络数据集特征查找问题的有效性对比图;

图7是不同查询节点采用算法lctc、acc和locatc与采用racsf-acs算法进行杂类网络数据集特征查找问题的效率对比图;

图8是不同查询节点采用算法lctc、acc和locatc与采用racsf-acs算法进行德克萨斯州数据集特征查找问题的效率对比图;

图9是不同查询节点采用算法lctc、acc和locatc与采用racsf-acs算法进行德克萨斯州数据集特征查找问题的效率对比图;

图10是改变循环终止条件中deratiol的值racsf-acs算法有效性的变化曲线图;

图11是改变循环终止条件中deratiol的值racsf-acs算法效率变化曲线图;

图12是改变循环终止条件中condenuml的值racsf-acs算法的有效性变化曲线图;

图13是改变循环终止条件中condenuml的值racsf-acs算法的效率变化曲线图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。

具体实施方式一:下面结合图1说明本实施方式,本实施方式所述高效的网络特征社区查找方法,该方法基于racsf-acs(anattributedcommunitysearchalgorithmbasedonareasonableattributedcommunityscoringfunction基于合理的特征社区评分方程的特征社区查找算法)算法实现快速的社区搜索和特征社区查找,具体步骤为:

步骤一、根据真实的社区的内部结构特征,建立社区节点的内部连结密度评估函数;

步骤二、根据真实的社区的外部结构特征,建立社区节点的外部连结密度评估函数;

步骤三、对待搜索的网络社区的属性和给定属性之间的相关度进行量化,建立网络社区的属性相关性评估函数;

步骤四、对社区节点的内部连结密度评估函数、社区节点的外部连结密度评估函数和量化的待搜索的网络社区的属性和给定属性相关度的函数进行融合,获取函数racsf(s,wq);

步骤五、利用nss节点选择策略和弹性isc循环终止条件对racsf(s,wq)函数进行优化,获取目标社区结构的最优解为最终查找的特征社区。

本发明中所述的nss节点选择策略:采取贪婪思想,每次从相邻节点中选择一个最能提升当前节点集合racsf评分的节点,作为待加入成员节点。

弹性isc循环终止条件:当添加新成员节点使得racsf评分大幅降低,或者多次添加新成员节点racsf评分都没有提升,则停止节点选择步骤输出racsf评分最高的节点集合;对racsf(s,wq)函数进行优化,获取目标社区结构的最优解为最终查找的特征社区。

进一步地,步骤一所述的建立社区节点的内部连结密度评估函数的具体方法为:

定义g(v,e)是一个无向图,s是g中的一组节点,对已有的density函数的范围转化为[0,ns-1],得到改进后的densityb函数为:

利用改进后的densityb函数建立内部连结密度评估函数inner(s):

其中,v为图g(v,e)中的一个节点,avgdeg(s)是顶点集合s的平均度,ms为节点集合s中边的个数,ms=|(u,v)∈e:u∈s,v∈s|,ns为节点集合s中节点的个数,ns=|s|;d(v,s)为节点v在节点集s中的内部连接边数,d(v,s)=|(u,v)∈e:u∈s|;d2(v,s)是d(v,s)的2次方。

本实施方式根据对高质量社区的定义:即社区节点集有着更密集的内部连结和更疏松的外部联系,且考虑到所搜索社区结构和所给属性之间的关系(ras)是影响查找所得社区质量的重要因素,因此本发明中的racsf函数应包含3个函数块:(1)评估一组节点的内部连结密度的函数;(2)评估一组节点的外部连结密度的函数;(3)量化所给属性和节点集之间相关度的函数。针对内部连结密度评估函数,本发明首先改进了先前研究中的density函数,使其与avgdeg有同样的取值范围,然后将二者结合得到最终的内部连结密度评估函数inner(s)。

进一步地,步骤二中所述建立社区节点的外部连结密度评估函数的具体为:

外部连结密度评估函数average-odf(s):

其中,d(u)是节点u的度,d(u)=|(u,v)∈e|。

进一步地,步骤三所述对待搜索社区的属性和节点集之间相关度的函数进行量化的具体方法为:

利用公式:

对所给特征属性集合wq与节点组s之间的相关度(s,wq)进行量化,其中,attriscore(s,wq)为待搜索社区的属性集合wq和节点集之间相关度函数,nodes(s,w)={v:v∈s,w∈attr(v)},nodes(s,w)为s中所有覆盖属性w的节点的集合,所述属性w属于搜索社区的属性集合wq。

属性和节点集之间相关度的函数进行量化的ras量化函数的设计需满足以下三条定理:记f(s,wq)表示所给特征wq与节点组s之间的相关度。(1)若wq中每一个特征可被s中大多数节点所覆盖,则f(s,wq)取值将非常大;反之,越少的节点覆盖特征则取值越小。(2)若wq中更多样的特征被节点覆盖则f(s,wq)值也更大。(3)若s中更多的节点与wq中的特征不相关时,f(s,wq)取值则较小。

进一步地,步骤四中所述获取racsf(s,wq)函数为:

其中,racsf(s,wq)表示的是当目标属性集合为wq时节点集s的racsf值;所述racsf的值用于评估搜索到的节点集s的质量,分值越高搜索到的结构质量越高,越符合搜索条件越可能为目标社区结构。

本发明受到社区发现中局部扩展模型的启发,采用最常用的种子节点拓展方法nsmf(neighborsetmergingframework邻近集合合并框架),其思想简单可行,即从输入的查询节点开始连续地检查邻近节点以不断扩大社区直至循环停止条件出现。nsmf(邻近集合合并框架)主要包括两个核心部分:nss节点选择策略和isc循环终止条件。为提高nsmf的准确性和高效性,本发明重点改进了社区质量函数值降低策略(cqfr),为其引入两个参数:condenuml和deratiol便于人为控制自质量函数值(racsf)自第一次开始减少起所执行的循环次数,然后将racsf函数与改进后的ocqfr相结合得到nsmf中的循环终止条件risc,而nss节点选择策略则是将racsf函数与cqfo(优化策略)相组合即可。nsmf策略相关符号定义如附图2,则具体循环终止条件risc为:若当前循环满足以下两个条件中的任意一个则停止后续循环,并将optimalgroup(t)视为nsmf的最终结果。

进一步地,步骤五所述利用nss节点选择策略和弹性isc循环终止条件对racsf(s,wq)函数进行优化,获取目标社区结构的最优解为最终查找的特征社区的具体方法为:

当循环满足条件:

中任意一个时,则停止后续循环,搜索到的社区成员节点的集合为acs问题中最终查找的特征社区(并将循环停止后的optimalgroup(t)作为目标社区结构的最优解;)其中,deratiol和condenuml为常数,分别设为0.7和50时算法效果最佳;decreaseratio(t)为score(t)和optimalscore(t)之间的比值,optimalscore(t)为在加入由nss节点选择策略推荐的第t个节点之前,节点集合获得的最大racsf评分,score(ti)为节点集合group(ti)的racsf评分,score(t)为节点集合group(t)的racsf评分,group(ti)为使用nss节点选择策略加入ti个节点后获得的社区结构;group(t)为为使用nss节点选择策略加入t个节点后获得的社区结构;min{argmaxti<tscore(ti)}表示节点集合取得当前最大racsf评分时,使用nss节点选择策略加入的最少节点个数。

decreaseratio(t)<deratiol条件用于检测添加的新成员节点让racsf评分大幅降低的情况,condecreasenum(t)>condenuml条件用于检测多次添加新成员节点racsf评分都没有提升的情况。这两种情况均不利于racsf评分的提升,因此被视作nss节点选择策略的终止条件。

最后,综合以上设计结果给出racsf-acsracsf-acs(anattributedcommunitysearchalgorithmbasedonareasonableattributedcommunityscoringfunction.基于合理的特征社区评分方程的特征社区查找算法)算法racsf-acs(anattributedcommunitysearchalgorithmbasedonareasonableattributedcommunityscoringfunction.基于合理的特征社区评分方程的特征社区查找算法)的伪代码(附图4),并在16个拥有实际社区的真实世界网络中进行acs算法验证,其中的6个数据集facebook,cora,cornell,texas,washingtonandwinsconsin,拥有实际属性特征,而对于其余10个没有属性的图网络,本发明决定为其人为合成所需的属性集。后续的实验评估主要针对这两类不同的数据集分别进行性能评估和效率评估,并与现有的三种acs算法acc(attributedcommunitycl-treeindexmethod.特征社区cl树索引方法),locatc((attributedtrussindex-basedqueryprocessingalgorithmbymeansoflocalexploration.基于局部探究的基于属性桁架索引的查询处理算法)和lctc(closesttrusscommunityinthelocalneighborhoodofquerynodes.查询节点本地附近最近的桁架社区)比较分析。其中性能质量评估函数采用f1-score可更好地反映实际社区与查找所得社区之间的比对情况,如图2和图3所示;

图2中,横坐标fe0,fe107,fe348,fe414,fe686,fe698,fe1684,fe1912,fe3437,fe3980分别表示在网络社交平台上采集的数据集(facebook-ego-network-x脸书自网络-x,x表示数字编号),脸书cora(科拉)的数据集,脸书cornell(康奈尔)的数据集,脸书texas(德克萨斯)的数据集,washington(华盛顿)的数据集,脸书wisconsin(威斯康星州)数据集;纵坐标为处理特征查找问题的有效性评估分数;图3中,横坐标表示所使用的数据集,使用的数据集为节点拥有实际属性的真实图数据集为:dolphins(海豚),football(足球),karate(空手道),polbooks(miscellaneousnetworks杂类网络集),email(邮件),amazon(亚马逊),dblp(bibliographicdatabaseforcomputersciences计算机科学书目数据库),youtube(油管),livejournal(directedlivejournalfriendshipsocialnetwork有向livejournal友谊社交网络),orkut(orkutfriendshipsocialnetworkandground-truthcommunities--orkut友谊社交网络和真实社区)。

而效率评估则是对社区搜索中查询时间的记录(附图4和图5)。此外,本发明也对算法进行了参数灵敏度检验,依次改变查询节点的个数|vq|(附图6至图9),查询特征的个数|wq|,数据集texas,dolphins和amazon上的参数值deratiol(附图10至图11),以及参数值condenuml(附图12和图13)。

本发明的关键点在于在已有的社区搜索中重点考虑了与节点属性有关的特征社区,即搜索得到的社区不仅具有k-clique,k-core或k-truss等特定拓扑结构,而且其内部节点属性相关性极高。此外,racsf-acs算法设计的关键点在于对racsf函数的设计,综合考虑高质量社区所具备的重要特点:内部节点连结密度高而外部连接密度低,以及ras(所给特征与所搜索的社区结构之间的相关性)对社区质量的影响,提出了将与三个要素相关的函数融为一体的racsf函数。

本发明基于nsmf(邻近集合合并框架)的思想,为racsf函数设计了更为高效的nss(节点选择策略)和isc(循环终止条件),isc中改进的ocqpr条件弥补了先前研究中cqpr存在的弊端:一旦不满足条件可能立刻停止循环而不能继续搜索得到更高质量函数值的节点集。其次,ocqfr方法也更加灵活,可通过设置不同的condenuml和deratiol参数值来调节实验循环的次数,更有利于满足实际社区查找问题中的精度要求和时间表现。此外,ocqfr方法中decreaseratio(t)和condecreasenum(t)定义里的score(t)可替换为不同的质量函数,并以此针对不同的问题构造出相匹配的循环终止条件。

虽然在本文中参照了特定的实施方式来描述本发明,但是应该理解的是,这些实施例仅仅是本发明的原理和应用的示例。因此应该理解的是,可以对示例性的实施例进行许多修改,并且可以设计出其他的布置,只要不偏离所附权利要求所限定的本发明的精神和范围。应该理解的是,可以通过不同于原始权利要求所描述的方式来结合不同的从属权利要求和本文中所述的特征。还可以理解的是,结合单独实施例所描述的特征可以使用在其他所述实施例中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1