基于网络结构和节点内容的重叠社区演化分析方法及系统与流程

    专利2022-07-08  83


    本发明涉及复杂网络领域,具体涉及一种基于网络结构和节点内容的重叠社区演化分析方法及系统。



    背景技术:

    现实生活中许多系统都可以用一张复杂社会网络的抽象图表示,在这些网络结构图中,每个个体用一个节点表示,节点间的边表示个体之间的联系。通过对网络结构图的分析可以帮助了解网络拓扑结构,进一步发掘复杂网络中隐藏规律,对基于复杂网络的预测、推荐等具有重要意义。

    为了挖掘网络中的社区结构,业界也已提出不少社区发现方法,这些方法大多是基于网络结构进行社区发现,忽略了节点的内容属性,社区缺乏语义性;也有少数算法利用网络中节点的内容属性进行挖掘社区,但这类方法又常常忽略了网络结构属性,导致挖掘到的社区存在不少问题。并且传统社区发现算法计算复杂度相对较高,难以应对高维稀疏的复杂网络,而基于网络中节点内容建模的社区发现方法很少考虑到节点文本内容短小情况下的数据稀疏问题。因此,为能够充分考虑复杂网络的拓扑结构和网络中节点的文本内容属性,本发明方法将机器学习中网络表示学习算法和主题模型建模思想融合到社区发现中,以便更好的挖掘复杂网络中的社区结构以及更好揭示社区内部特征和潜在规律。



    技术实现要素:

    本发明的目的在于提供一种基于网络结构和节点内容的重叠社区演化分析方法及系统,有效解决复杂网络中重叠社区归属分布问题。

    实现本发明目的的技术方案是:

    一种基于网络结构和节点内容的重叠社区演化分析方法,包括以下步骤:

    步骤1、基于网络拓扑结构,生成网络中每个节点的社区聚类结果,然后得到基于节点结构的社区发现结果;

    步骤2、基于每个节点内容属性值和步骤1的社区发现结果,生成网络中节点随时间点变化的重叠社区归属分布概率矩阵模型,进而得到每个节点的重叠社区归属分布。

    进一步的,所述步骤1具体为:

    步骤1-1、根据网络图中节点的结构关系提取节点的邻接矩阵;

    步骤1-2、将节点的邻接矩阵作为输入通过节点向量表示算法进行训练,得到节点的低维向量表示矩阵;

    步骤1-3、对节点的低维向量表示矩阵进行数据处理,得到聚类样本数据;

    步骤1-4、聚类样本数据作为输入,采用聚类算法进行建模,得到节点聚类结果;

    步骤1-5、分析网络中节点的聚类结果,最终得到基于节点结构的社区发现结果。

    进一步的,所述步骤1-2中节点向量表示算法采用deepwalk模型进行训练,得到的节点低维向量表示矩阵需能够反应节点在原网络中的结构关系。

    进一步的,所述步骤1-4中聚类算法采用变分贝叶斯高斯混合模型自动计算聚类结果中类的个数。

    进一步的,所述步骤2具体为:

    步骤2-1、根据复杂网络中节点的内容关系构建节点的内容属性值;

    步骤2-2、对节点的内容属性值进行分词处理,得到标准内容属性值,即下一步模型的标准数据输入格式;

    步骤2-3、将标准内容属性值作为输入,构建模型,得到节点的重叠社区归属分布概率矩阵模型;

    步骤2-4、分析节点的重叠社区归属分布概率矩阵模型,得到节点的社区归属结果。

    进一步的,所述步骤2-2中分词处理包括去除数字、标点符号和停用词。

    进一步的,所述步骤2-3构建模型包括:

    基于lda主题模型建模,生成重叠社区归属分布概率模型;

    采用collapsedgibbssampling方法对生成的模型推理,得到重叠社区归属分布概率模型的采样模型;

    对采样模型进行训练,得到收敛的重叠社区归属分布概率模型。

    进一步的,所述基于lda主题模型建模时引入spikeandslabprior方法和时间片方法。

    进一步的,所述重叠社区归属分布概率模型的采样模型为:

    其中,θm,c,t为第t时社区概率分布矩阵模型,为t时词概率分布矩阵模型,表示第t个采样时刻社区c在节点m中出现的次数,bm,c表示节点m社区选择器,α,β为超参,v表示网络图g中节点的集合,g表示网络图,am表示社区选择器b为1的集合,k表示社区发现个数,表示第t个采样时刻内容属性词w在社区c中出现的次数;

    一种基于网络结构和节点内容的重叠社区演化分析系统,包括社区发现模块和重叠社区动态演化分析模块;其中:

    所述社区发现模块基于网络拓扑结构,用于生成网络中每个节点的社区聚类结果,然后得到基于节点结构的社区发现结果;

    所述重叠社区动态演化分析模块基于节点内容属性值和社区发现模块的社区发现结果,用于生成网络中每个节点随时间点变化的重叠社区归属分布概率矩阵,得到每个节点的重叠社区归属分布。

    与现有技术相比,本发明具有如下有益效果:

    (1)本发明技术提出了一种新的社区发现方法,综合考虑网络中节点结构关系和节点文本内容属性值,将二者有机结合在一起,能够更加有效的对社区进行划分;

    (2)传统的社区发现方法难以解决高维稀疏的复杂网络,并且计算复杂度高,而本方法首先采用网络表示学习算法将复杂网络中节点表示成低维向量,然后再对低维向量进行聚类,有效降低了计算复杂度;

    (3)针对复杂网络中节点的内容属性为短文本情况,将spikeandslabprior方法融入到主题模型,有效解决数据稀疏问题;

    (4)复杂网络中节点所属社区可能随时间变化产生改变,而传统社区发现方法很难发现社区的动态演变特性,本发明方法则将时间片思想融合到主题模型中,能够挖掘出网络中节点的社区演变;

    (5)传统的重叠社区发现算法通常计算的是节点处于各个重叠社区的明确结果,一方面重叠节点较少,另外一方面重叠节点归属的社区数目存在限制,而本发明方法则得到的是节点在重叠社区上的归属分布概率,有效解决了上述两个问题。

    下面结合附图对本发明作进一步详细的说明。

    附图说明

    图1为本法发明方法的流程示意图。

    图2为基于网络拓扑结构进行社区发现算法具体流程图。

    图3为基于节点内容属性值进行重叠社区动态演化分析方法流程图。

    图4为节点内容属性值建模算法具体流程图。

    具体实施方式

    结合图1,本发明提出了一种基于网络结构和节点内容的重叠社区演化分析方法,包括以下步骤:

    步骤1、基于网络拓扑结构,生成网络中每个节点的社区聚类结果,然后得到基于节点结构的社区发现结果;

    步骤2、基于节点内容属性值和步骤1的社区发现结果,生成网络中每个节点随时间点变化的重叠社区归属分布概率矩阵,进而得到节点的社区归属结果。

    步骤1的社区发现结果和步骤2的社区归属结果用于社区挖掘结果分析。

    结合图2所示,所述步骤1包括如下步骤:

    步骤1-1、首先根据复杂网络中节点的结构关系构建网络节点的邻接矩阵;

    步骤1-2、将节点的邻接矩阵作为输入通过节点向量表示算法进行训练,得到节点的低维向量表示矩阵,向量与向量之间的关系可以反应节点在网络中结构关系;

    步骤1-3、将节点的低维向量表示矩阵进行数据处理,得到下一步聚类模型的标准数据输入格式,即聚类样本数据;

    步骤1-4、将处理后的节点向量矩阵输入到变分贝叶斯高斯混合模型中进行训练,得到网络中每个节点的聚类结果;

    步骤1-5、对聚类结果分析,得到社区归属结果即为在网络中所属的社区。

    其中,步骤1-2中节点向量表示算法采用deepwalk网络表示学习算法,如下表:

    在上表中,g表示网络图,v表示网络图g中节点的集合,e则为g中节点边的集合,ο表示随机排序后的节点集合,w、d、t则为deepwalk网络表示学习算法中所用到的参数,w表示滑动窗口大小,d表示向量维度大小,t表示随机游走序列长度,φ则为节点向量表示矩阵,vi表示v中第i个节点,t表示时间,wvi表示随机游走序列。从表中算法过程可知,节点向量表示算法的过程包括随机游走和不断迭代更新两部分。随机游走生成器随机选取网络中各节点,生成以这些节点为根的随机游走序列,且每个节点生成的游走序列长度和个数均相同。在每一轮迭代更新过程中,将随机游走序列和节点表示矩阵φ输入到skipgram算法中,更新节点的向量表示矩阵φ,直至循环结束,最终生成低维向量表示矩阵φ。

    所述步骤1-4具体流程如下表:

    变分贝叶斯混合高斯模型聚类首先对模型参数初始化,然后对模型参数进行推断计算,不断迭代更新,直至达到最大循环次数,最终得到每个节点的簇划分,即为所属的社区。

    结合图3所示,所述步骤2包括如下步骤:

    步骤2-1、根据复杂网络中节点的内容关系构建节点的内容属性值;

    步骤2-2、对节点的内容属性值进行分词处理,去除数字、标点符号、停用词等等,得到标准主题模型数据输入格式,减少无用数据词汇,进一步提高算法建模精确性;将文本主题模型应用与社区发现中,网络中每个节点对应主题模型中的每篇文档,节点社区对应主题模型中的主题,节点重叠社区归属分布对应主题模型中文档在各个主题中的分布情况,每个社区中分布的关键内容属性值对应主题模型中每个主题的高频词;

    步骤2-3、对lda主题模型进行改进,引入spikeandslabprior方法解决节点内容短小造成的数据稀疏问题,同时结合时间片方法解决节点内容属性值随时间变化造成的重叠动态归属分布问题,从而最终得到节点的重叠社区归属分布概率矩阵模型;

    步骤2-4、对节点的重叠社区归属分布概率矩阵模型进行分析,发现节点所归属的几个主要社区,这些社区即为重叠社区,进一步分析可发现,节点在每个重叠社区的归属概率应有所不同,即重叠社区之间也有主次之分。

    通过对每个节点携带的内容属性值进行建模,得到节点上的社区归属概率分布矩阵模型,通过分析概率分布矩阵模型,最终可获知每个节点上的重叠社区归属分布。

    结合图4所示,所述社区归属概率分布矩阵模型中设计到的符号参数定义说明如下表:

    该模型是基于lda主题模型的改进,主要对多项式分布θ和的参数进行修改,一方面通过spikeandslabprior方法改变多项式分布θ服从的狄利克雷分布,另一方面,引入时间片方法,能够有效解决节点内容随时间变化导致的社区归属演化问题,即加入时间特定,将t-1时间点的多项式分布传递给t时间点的多项式分布;该模型执行流程是首先从节点集合中随机选取节点x,然后根据多项式分布θ给节点分配社区c;此时,再根据社区中的词多项式分布生成内容属性值w。之后,通过吉布斯采样算法不断迭代抽样出θ,直至循环结束,最终分析得到节点的重叠社区分布。接下来给出该模型的生成过程和推理过程。

    社区归属概率分布矩阵模型生成过程是模拟网络中每个节点携带内容属性值的生成过程,用多项式分布θ模拟节点上的社区分布,用多项式分布模拟社区中属性词分布。节点的内容属性值生成流程首先根据节点上的社区多项式分布θ生成社区,然后由社区上的词多项式分布生成每一个属性词,直至最终生成网络中每个节点的内容属性值。

    下表所列为该模型的生成过程:

    模型推理过程采用collapsedgibbssampling方法进行推理上述算法中的参数,该算法为本领域公知算法,本发明此处对推理细节不详细阐述,下面给出主要使用的采样公式。

    节点所属社区c的采样公式如下:

    其中,表示社区c在节点m中出现的次数,bm,c表示节点m社区选择器,表示内容属性词w在社区c中出现的次数,wm,i表示节点m中第i个词,cm,i表示m中第i个社区。

    πm和bm的联合条件分布采样公式:

    其中,bm表示节点m中的社区集合,am表示社区选择器b为1的集合,

    第t时社区多项式分布模型θm,c,t和词多项式分布模型公式为:

    其中,θm,c,t为第t个采样时刻社区概率分布矩阵模型,为t时词概率分布矩阵模型,表示第t个采样时刻社区c在节点m中出现的次数,bm,c表示节点m社区选择器,α,β为超参,v表示网络图g中节点的集合,g表示网络图,am表示社区选择器b为1的集合,k表示社区发现个数,表示第t个采样时刻内容属性词w在社区c中出现的次数;

    得到采样模型,即可基于网络节点训练集进行训练,通过训练得到的模型进行社区语义分析。下表中所列即为采样模型训练流程:

    上述模型训练结束后,可得到两个矩阵,分别为社区-词概率分布矩阵模型和节点-社区概率分布矩阵模型θ。通过分析θ和两个参数即可得到网络中节点的社区分布情况,以及每个社区内部高频属性词分布情况。

    基于上述重叠社区演化分析方法,一种基于网络结构和节点内容的重叠社区演化分析系统,包括基于网络拓扑结构进行社区发现模块和基于节点内容属性值进行重叠社区动态演化分析模块;

    所述基于网络拓扑结构进行社区发现模块,用于生成网络中每个节点的社区聚类结果;

    所述基于节点内容属性值进行重叠社区动态演化分析模块,用于产生网络中每个节点随时间点变化的重叠社区归属分布概率矩阵,能够得到节点在主要社区上的归属结果,进而更好的挖掘复杂网络中节点的内在特征和潜在的规律。

    关于重叠社区演化分析系统各模块的具体限定可以参见上文中对于演化分析方法的限定,在此不再赘述。


    技术特征:

    1.一种基于网络结构和节点内容的重叠社区演化分析方法,其特征在于,包括以下步骤:

    步骤1、基于网络拓扑结构,生成网络中每个节点的社区聚类结果,然后得到基于节点结构的社区发现结果;

    步骤2、基于每个节点内容属性值和步骤1的社区发现结果,生成网络中节点随时间点变化的重叠社区归属分布概率矩阵模型,进而得到每个节点的重叠社区归属分布。

    2.根据权利要求1所述的基于网络结构和节点内容的重叠社区演化分析方法,其特征在于,所述步骤1具体为:

    步骤1-1、根据网络图中节点的结构关系提取节点的邻接矩阵;

    步骤1-2、将节点的邻接矩阵作为输入通过节点向量表示算法进行训练,得到节点的低维向量表示矩阵;

    步骤1-3、对节点的低维向量表示矩阵进行数据处理,得到聚类样本数据;

    步骤1-4、聚类样本数据作为输入,采用聚类算法建模,得到节点聚类结果;

    步骤1-5、分析网络中节点的聚类结果,最终得到基于节点结构的社区发现结果。

    3.根据权利要求2所述的基于网络结构和节点内容的重叠社区演化分析方法,其特征在于,所述步骤1-2中节点向量表示算法采用deepwalk模型。

    4.根据权利要求2所述的基于网络结构和节点内容的重叠社区演化分析方法,其特征在于,所述步骤1-4中聚类算法采用变分贝叶斯高斯混合模型。

    5.根据权利要求1所述的基于网络结构和节点内容的重叠社区演化分析方法,其特征在于,所述步骤2具体为:

    步骤2-1、根据复杂网络中节点的内容关系构建节点的内容属性值;

    步骤2-2、对节点的内容属性值进行分词处理,得到标准内容属性值,即下一步模型的标准数据输入格式;

    步骤2-3、将标准内容属性值作为输入,构建模型,得到节点的重叠社区归属分布概率矩阵模型;

    步骤2-4、分析节点的重叠社区归属分布概率矩阵模型,得到节点的社区归属结果。

    6.根据权利要求5所述的基于网络结构和节点内容的重叠社区演化分析方法,其特征在于,所述步骤2-2中分词处理包括去除数字、标点符号和停用词。

    7.根据权利要求5所述的基于网络结构和节点内容的重叠社区演化分析方法,其特征在于,所述步骤2-3构建模型包括:

    基于lda主题模型建模,生成重叠社区归属分布概率模型;

    采用collapsedgibbssampling方法对生成的模型推理,得到重叠社区归属分布概率模型的采样模型;

    对采样模型进行训练,得到收敛的重叠社区归属分布概率模型。

    8.根据权利要求7所述的基于网络结构和节点内容的重叠社区演化分析方法,其特征在于,所述基于lda主题模型建模时引入spikeandslabprior方法和时间片方法。

    9.根据权利要求7所述的基于网络结构和节点内容的重叠社区演化分析方法,其特征在于,所述重叠社区归属分布概率模型的采样模型为:

    其中,θm,c,t为第t时社区概率分布矩阵模型,为t时词概率分布矩阵模型,表示第t个采样时刻社区c在节点m中出现的次数,bm,c表示节点m社区选择器,α,β为超参,v表示网络图g中节点的集合,g表示网络图,am表示社区选择器b为1的集合,k表示社区发现个数,表示第t个采样时刻内容属性词w在社区c中出现的次数;

    10.一种基于网络结构和节点内容的重叠社区演化分析系统,其特征在于,包括社区发现模块和重叠社区动态演化分析模块;其中:

    所述社区发现模块基于网络拓扑结构,用于生成网络中每个节点的社区聚类结果,然后得到基于节点结构的社区发现结果;

    所述重叠社区动态演化分析模块基于节点内容属性值和社区发现模块的社区发现结果,用于生成网络中每个节点随时间点变化的重叠社区归属分布概率矩阵,得到每个节点的重叠社区归属分布。

    技术总结
    本发明公开了一种基于网络结构和节点内容的重叠社区演化分析方法及系统,方法包括:步骤1、基于网络拓扑结构,生成网络中每个节点的社区聚类结果,然后得到基于节点结构的社区发现结果;步骤2、基于每个节点内容属性值和步骤1的社区发现结果,基于LDA主题模型引入Spike and Slab prior方法和时间片方法建模,生成网络中节点随时间点变化的重叠社区归属分布概率矩阵模型,进而得到每个节点的重叠社区归属分布;该系统包括社区发现模块和重叠社区动态演化分析模块。本发明有效解决了传统网络社区发现方法面临的高维网络空间社区划分难题,能够更好揭示社区内部结构特征。

    技术研发人员:祁德昊;曾玮妮;邓超;徐国强;路朗;杨鸿斌;方新茂
    受保护的技术使用者:中国船舶重工集团公司第七一六研究所
    技术研发日:2020.12.07
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-21834.html

    最新回复(0)