一种基于生成对抗网络模型的多层学术网络社区发现方法、系统与流程

文档序号:20920644发布日期:2020-05-29 14:06阅读:249来源:国知局

本发明涉及人工智能领域,尤其涉及一种基于生成对抗网络模型的多层学术网络社区发现方法和系统。



背景技术:

随着科学研究多样化的发展,学术合作逐渐向跨地区、跨学校、跨研究领域的方向发展,科研合作的广泛性和复杂性也使得学术团队的数量和规模日益增大。对学术团队的研究能够发现各学科人才之间的合作趋势,也可以为具体课堂或项目的实施提供人才支持。学者之间通过各种关系(例如合著关系、引用关系、同事关系等)构成一个庞大且复杂的网络,因此可通过对多层网络的社区发现来发掘不同关系和不同规模的学术团队。

学术团队的研究可以抽象为社团,而社团是网络的基本结构性质之一,社团之间的连接稠密,社团外的连接相对稀疏。社团发现算法就是研究网络具有的社团结构。目前主流的社团划分算法包括基于模块度的、基于标签传播的、基于聚类思想等方法。随着多层网络的研究发展,出现了很多多层网络社团发现算法,如基于多层粒子群的社团发现算法、多层网络局部社团发现算法、基于比较节点度之间的关系发现局部社团结构等。其中,基于聚类的算法通过数据点之间的相似度来发掘社团,通过控制聚类算法的参数,可以获得不同规模的社团,因此在本发明中,采用基于聚类的方法,以发现不同规模的学术团队。

近年来,多层网络嵌入方法(multilayernetworkembedding,mne)因其相比传统的编码表示更简洁的表示形式和综合性能,已经吸引了大量的关注。它已被应用于图结构数据挖掘的下游任务,比如节点分类、连接预测、社区检测、推荐系统等。

mne的训练通常是基于给定多层网络结构数据,将节点的信息嵌入在高维空间,然后应用到下游的任务。多层网络中节点通过多种关系连接,因此,mne提供的节点嵌入需要保留多种关系信息。此外,现有方法大多基于特定策略选取节点的邻居,通过聚集邻居信息对节点进行嵌入表示。然而,在数据集中出现的节点是有限的,仅通过聚合数据集中存在的节点信息进行嵌入表示不能有效学习节点的潜在分布,鲁棒性较差。

在本发明中,我们考虑以生成式方法学习多层网络嵌入表示的问题。特别的,由于其在复杂分布上优秀的无监督学习能力,我们采用基于生成对抗网络(generativeadversarialnetwork,gan)进行节点嵌入表示学习。ianj.goodfellow等人于2014年提出了一个通过对抗过程估计生成模型的新框架。框架中同时训练两个模型:捕获数据分布的生成模型g,和估计样本来自训练数据的概率的判别模型d,二者通过互相博弈学习产生更好的输出。g的训练程序是将d错误的概率最大化。这个框架对应一个最大值集下限的双方对抗游戏。可以证明在任意函数g和d的空间中,存在唯一的解决方案,使得g重现训练数据分布,而d=0.5。在g和d由多层感知器定义的情况下,整个系统可以用反向传播进行训练。在训练或生成样本期间,不需要任何马尔科夫链或展开的近似推理网络。因此,为解决多层网络嵌入学习问题,我们选择gan模型,因为它能学习节点的潜在分布,有利于生成更具有鲁棒性的嵌入表示。



技术实现要素:

学者间复杂的关系可表示为一个多层网络,而当前多层网络嵌入表示模型的鲁棒性需要进一步提高。

学习网络的嵌入表示,一个关键的问题是如何在高维空间中将节点分布保留下来。在模型训练中,通过负采样的方式,在原始网络中随机选择节点获得负样本,只能可以对已有样本进行有效学习,不能学习样本的潜在分布。

此外,多层网络中,节点存在着多种关系,既要针对不同的关系生成节点的嵌入表示,在节点的多种嵌入表示之间也需要存在一定的一致性。

为解决上述问题,本发明采用了下列技术方案:

一种基于生成对抗网络模型的多层学术网络社区发现方法,包括三个步骤:

步骤一:构建多层学术网络,通过外部数据库输入获取学者信息数据,建立新的数据库,并根据所述学者信息数据构建关系数据库,形成多层网络,其中所述多层网络包括:论文引用关系网络、论文合作关系网络、专利合作关系网络、项目合作关系网络、自然基金关系合作网络、同事关系网络、校友关系网络;

步骤二:使用生成对抗模型学习节点嵌入表示:生成器生成层内节点对和层间节点对作为伪样本,对于给定节点和关系,生成器的目标是生成一个伪节点,使得在关系下节点和伪结点相连,使用多层感知机来增强伪节点的表达;

判别器判别数据是否为真实数据分布,判别器需要判断给定关系下的节点对是否为真实节点对,输出在特定所述关系下对节点对连接的概率,所述判别器的损失函数通过:节点通过层内关系、层间关系相连、给定节点和层内、层间关系生成伪节点、节点通过错误的层内、层间关系相连六种函数关系构成;

生成器和判别器迭代更新进行对抗学习,模型使用预训练的嵌入表示模型对生成器和判别器的节点嵌入表示进行初始化,层内关系矩阵和层间依赖矩阵采用的初始化方式是随机初始化,使用迭代优化策略来训练对抗网络,在每次迭代中,交替训练生成器和判别器,首先,固定生成器参数,生成伪节点来优化判别器参数,提高判别器的性能,接下来,固定判别器参数,优化生成器参数来生成更难被判别器分辨的伪节点,重复上述过程,直到模型收敛。

步骤三:使用基于k-means聚类的方法发现社团为:随机选择多个不同的节点作为同样数目的社团的初始聚类中心,重复下列过程:使用余弦相似度计算其他节点与社团中心的节点之间的相似性,将节点归于相似度最大的聚类中心所属的社团,对于每个社团,重新计算聚类中心;重复上述过程直到每个社团的成员不再改变,最终输出社团结果。

步骤一,获取的所述学者信息数据类型包括:教育经历、行政单位、发表论文专利、参与自然科学基金、参与项目、论文引用。

所述使用生成对抗模型学习节点嵌入表示步骤中,所述伪节点的嵌入表示通过高斯分布生成:所述生成器的损失函数为:

步骤二中,节点对连接的概率函数为:

所述判别器的损失函数六种函数关系的基本能公式均为:所述判别器的损失函数为:

所述使用基于k-means聚类的方法发现社团步骤中余弦相似度计算方法为:

一种基于生成对抗网络模型的多层学术网络社区发现系统,包括:

信息输入模块,将不同来源的外部数据库获取的学者信息数据进行标准化;

基于生成对抗网络模型的多层学术网络社区发现方法模块,将所述信息输入模块获取的数据应用上所述方法进行处理;

信息显示模块,将基于生成对抗网络模型的多层学术网络社区发现方法模块处理所得到的社团结果可视化输出。

本发明相对于现有技术的优点在于:

(1)基于gan的方法可以有效学习节点的潜在分布,获得鲁棒性较好的节点嵌入表示。

(2)生成器生成层内节点对和层间节点对,在对节点关系敏感性的同时,保持了不同关系下节点嵌入表示的一致性。

(3)利用节点在不同层的嵌入表示计算节点间相似度,进而使用k-means算法聚类,可以发现不同关系连接的社团结构,也就是不同语义的社团。

具体实施方式

以下是本发明的优选实施例,对本发明的技术方案作进一步的描述,但本发明并不限于此实施例。

本发明所提出的基于生成对抗网络模型的多层学术网络社区发现方法基于gan模型学习多层网络的嵌入表示,进而根据节点的嵌入表示,使用k-means的方法对节点进行聚类。下面介绍gan模型。原始gan理论中,并不要求g和d都是神经网络,只需要是能拟合相应生成和判别的函数即可。但实用中一般均使用深度神经网络作为g和d。g和d依据下方极大极小博弈进行对抗:

这里,生成器g使用来自预定义分布pz的噪声z生成尽可能接近真实数据的假样本,其中θg表示生成器g的参数。相反,判别器d的目的是区分来自分布pdata的真实数据和来自生成器g的伪数据,其中θd表示判别器的参数。

k-means聚类算法是由macqueen提出的基于划分的聚类算法,该算法是目前应用最为广泛的聚类算法之一,这种算法以最大距离原则选取新的聚类中心,以最小距离原则进行模式归类。在多层网络社区发现中,可以根据节点的嵌入表示计算相似度,以最小相似度选取新的聚类中心,再以最大相似度规则进行模式归类,直到所有节点划分完为止。

在上述算法的基础上本申请设计了一种基于生成对抗网络模型的多层学术网络社区发现方法,包括以下三个步骤:

步骤一:构建多层学术网络。

步骤二:使用生成对抗模型学习节点嵌入表示:生成器生成层内节点对和层间节点对作为伪样本,判别器判别数据是否为真实数据分布;生成器和判别器迭代更新进行对抗学习。

步骤三:使用基于k-means聚类的方法发现社团

步骤一:多层学术网络构建

本实施例中,通过中国工程科技知识中心网站(http://www.ckcest.cn/)获取学者信息数据,包括学者教育经历、行政单位、发表论文专利、参与自然科学基金、参与项目等。结合万方数据平台的论文引用数据,根据学者信息数据构建多层网络,包括:论文引用关系网络、论文合作关系网络、专利合作关系网络、项目合作关系网络、自然基金关系合作网络、同事关系网络、校友关系网络。

步骤二:使用生成对抗模型学习节点嵌入表示

(1)生成器生成伪样本

多层网络中,关系之间常常存在一些隐性关联,即多层网络的各个层之间存在层间依赖,因此在对不同层的关系生成的节点嵌入之间也应存在依赖。生成器一方面可以学习某种关系下节点的潜在分布,另一方面需要学习不同关系下节点嵌入表示的隐性依赖。

对于生成器,g学习对关系类型敏感、具有层间依赖性的嵌入表示,因此对于给定节点u∈v和关系r∈rintra∪rinter,生成器g(u,r;θg)的目标是生成一个伪节点v,使得在关系r下v与u相连。

使用多层感知机(muliti-layerperceptron,mlp)来增强伪节点的表达:

g(u,r;θg)=f(wl…f(w1e+b1)+bl)

其中,e为生成伪节点的嵌入表示,w为连接系数,b为偏置,l为多层感知机的层数。为了使得生成的节点对关系类型敏感,且从连续分布中生成,因此从高斯分布中生成e:

若r∈rintra且r位于第l层,记为,则从下方高斯分布中采样生成e:

其中,为u在第l层的嵌入表示,的关系转移矩阵。

若r∈rinter且r为第i层与第j层的依赖关系,记为则从下方高斯矩阵中采样生成e:

其中,为u在第i层的嵌入表示,为第i层与第j层的层间依赖矩阵。

生成器g的参数为:

生成器g的损失函数为:

其中,λg>0来控制正则项,生成器g的参数θg可通过最小化lg来优化。

(2)判别器分辨真伪节点

对于判别器,d需要判断给定关系下的节点对是否为真实节点对,输出在关系r下节点对<u,v>连接的概率:

其中,e为节点的嵌入表示,m为关系r对应的转移矩阵,θd为判别器的参数。

判别器d的损失函数由以下六部分组成:

情况1:正样本<u,v,rinter>,在数据集中,节点u和节点v通过层间关系rinter相连,

情况2:正样本<ul,ul,rintra>,在数据集中,节点u和节点v通过层内关系rintra相连,

情况3:负样本<u,v',rintra>,给定节点u和层内关系rintra,生成器生成一个伪节点v′

情况4:负样本<u,v,rintra'>,在数据集中,节点u和节点v通过错误关系rintra′相连,

情况5:负样本<u,u',rinter>,给定节点u和层间关系rinter,生成器生成一个伪节点u′

情况6:负样本<u,v,rinter'>,在数据集中,节点u和节点v通过错误关系rintre′相连,

判别器d的损失函数如下:

其中,λd>0来控制正则项,判别器d的参数θd可通过最小化ld来优化。

(3)生成对抗过程的参数初始化与优化

模型使用预训练的嵌入表示模型对生成器和判别器的节点嵌入表示进行初始化,如node2vec等。层内关系矩阵和层间依赖矩阵采用的初始化方式是随机初始化。

使用迭代优化策略来训练gan。在每次迭代中,交替训练生成器和判别器。首先,固定θg,生成伪节点来优化θd,提高判别器的性能。接下来,固定θd,优化θg来生成更难被判别器分辨的伪节点。重复上述过程,直到模型收敛。

(4)基于k-means聚类的社团发现

k-means算法应用到学术关系网络的社团发现中,每次以最小相似度原则选取新的聚类中心,再以最大相似度原则将节点进行模式归类,直到所有节点划分完为止。

若需要发现以关系rl的社团,k-means社团发现算法的输入为所有节点在第l层的嵌入表示eg,l和聚类数目k;若需要发现没有指定关系的社团,则输入所有层得到的嵌入表示拼接e和聚类数目k,其中,e=concate(eg,1,eg,2,…,eg,l)。

基于k-means的社区发现算法步骤如下:

(1)随机选择k个不同的节点mi,i=1,2,…,k作为社团ci,i=1,2,…,k的初始聚类中心。

(2)计算其他节点与社团中心的相似度,这里使用余弦相似度度量节点之间的相似性。

(3)将节点归于相似度最大的聚类中心所属的社团。

(4)对于每个社团ci,重新计算聚类中心mi。

(5)重复步骤(2)(3)(4),直到每个社团的成员不再改变。

上述社区发现算法的输出为社团ci,i=1,2,…,k。

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