一种融合多类型信息的网络表示方法与流程

文档序号:12034692阅读:342来源:国知局

本发明一般涉及网络中的随机游走技术、维度规约方法及最优化方法,特别是批量梯度下降方法。



背景技术:

随着技术的迅速发展,各种大型的网络如雨后春笋般涌现,信息技术行业往往面临着对各种复杂网络的理解挖掘。复杂网络包括现有的社交网络(微信好友之间的关系)、文献引用网络(citeseer、cora、pubmed)等,而理解挖掘包括但不限于节点分类、聚类,边预测,网络主题挖掘等。比如我们可以根据微信好友之间的关系构建一张网络,通过理解挖掘,为用户推荐与其相似的用户,这里用到边预测等技术。理解挖掘需要尽量多地利用网络中提供的信息,包括网络结构信息和节点属性信息等。融合多种信息有利于提高理解挖掘的精度。

然而目前的网络挖掘,主要存在以下几个难点:1、高维度:大型网络有上亿个节点,如果不进行降维,直接利用one-hot的表示方法,将会容易导致维度灾难;2、信息源多:除了网络结构信息,还会存在节点相关的属性信息,边相关的属性信息,简单的对这些信息进行拼接,效果并不是很理想,如何有效地融合多类型信息成为了急需解决的问题;3、高度稀疏:节点之间的边并不是很多,因此网络一般都是高度稀疏的,一般的理解挖掘方法难以处理这种高度稀疏的数据。

现有的方法中,还没有一个有效的方法能够高效地解决上述诸多问题。planetoid试图将多种信息源进行融合,然而使用了半监督的方法进行融合,导致学习出来的网络表示受限于节点标签信息,无法用于无标签的网络表示学习。此外,tadw方法则通过矩阵分解的方式尝试将两种信息源进行融合,但是不够直接,没办法给出比较圆满的解释。综上,现有的网络表示学习方法的主要局限性就是没办法直接高效地将两种信息源进行融合,学习网络表示。因此,需要对现有技术进行改进。



技术实现要素:

本发明提供一种融合多类型信息的网络表示方法,以解决现有技术中,没办法有效融合多种信息源学习网络表示的缺点。

为实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现。

提供一种融合多类型信息的网络表示方法,包括:步骤1,读取网络结构信息及节点属性信息;步骤2,将所述节点属性信息转换为向量;步骤3,利用降维技术对所述向量进行降维,生成属性特征向量;步骤4,根据所述网络结构信息,生成对应的矩阵g(v,e),其中v表示节点集合,e表示边集合;步骤5,初始化所述节点属性特征向量;步骤6,结合随机游走和滑动窗口法构建训练样本;步骤7,调整节点向量值,以获得最大化条件概率;步骤8,输出调整后的节点向量作为网络表示。

优选地,所述步骤6,利用随机游走和滑动窗口方法构建训练样本包括:步骤61,依次取网络中的每个节点,作为随机游走路径的当前节点;步骤62,从游走路径当前节点的邻居节点中随机抽取一个节点,并把它添加到游走路径的最后,并更新为当前节点;步骤63,重复上述过程,直至游走路径的长度等于自定义数值r(r>0);步骤64,生成的所有路径存放在集合s中,其中集合的大小等于节点的数量;步骤65,根据集合s,按照一定规则为步骤2中的所有元素构建正样本,每个正样本都是一个三元对,所有正样本存放在正样本集合中;步骤66,为正样本集合中的每个样本,构建负样本,每个负样本也是一个三元对,存放在负样本集合中;步骤67,合并上述正样本集合和负样本集合,以获取训练样本。

优选地,所述步骤7,包括;步骤71,将所述训练样本分成若干份;步骤72,利用批量梯度下降方法,计算上述每份样本的梯度,并更新节点向量。

与现有技术相比,本发明具有如下优点和技术效果:通过降维技术将节点属性信息进行降维,并且通过最大化条件概率使得学习到的网络表示向量有效地融合了多种信息源,克服了之前方法存在的不足与局限性。而且学习到的向量是低维度的,解决了网络理解挖掘中存在的问题:高维度、高度稀疏。学习到的向量可以直接计算节点之间的相似度,从而解决了相似度度量的问题。

附图说明

为了更清楚地说明本发明实施例技术中的技术方案,下面将对实施例技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为实施方式中融合多类型信息的网络表示方法的流程图。

具体实施方式

以下结合附图对本发明的实施方式作进一步说明,但本发明的实施不限于此。

如图1,融合多类型信息的网络表示方法的主要流程包括以下步骤:

步骤1,读入网络结构信息(边)及节点属性信息,其中节点属性信息包括节点内容,标签等。

步骤2,将读取的属性信息表示为向量。

步骤3,通过降维技术对步骤2中的向量进行降维,生成属性特征向量。

步骤4,根据网络结构信息,生成对应的网络g(v,e),v是节点集合,e是边集合。

步骤5,随机初始化节点向量,其中长度等于节点属性特征向量。

步骤6,利用随机游走和滑动窗口方法,构建训练样本。

步骤7,调整节点向量,已获得最大化条件概率p,其中最大化条件概率p为周围节点的属性特征向量与当前节点的节点向量的比值。

步骤8,输出调整后的节点向量作为网络表示。

优选地,步骤6包括以下步骤:

步骤61,依次取网络中的每个节点,作为随机游走路径的当前节点。

步骤62,从游走路径当前节点的邻居节点中随机抽取一个节点,并把它添加到游走路径的最后,并更新为当前节点。

步骤63,重复上述过程,直至游走路径的长度等于r(r>0,由用户指定)。

步骤64,将生成的所有路径存放在集合s中,其中集合的大小等于节点的数量。

步骤65,令集合d0和d1为空集;从步骤(b)生成的集合s中取一个元素出来,记为p;依次从p中取出一个节点,记为vi;将在p中距离vi长度小于w(w:上下文窗口,大小由用户指定)的每一个节点vj取出来,构建三元对(vi,vj,1)并添加到集合d1中;重复上述步骤,直至处理完s中的每一个元素。

步骤66,从上述步骤生成的集合d1中,依次取出一个三元对,记为(vi,vj,1);对于每个三元对(vi,vj,1),从所有节点中随机抽取n个节点,n由用户指定,抽取的每个节点vc与vi构成一个三元对(vi,vc,-1),作为(vi,vj,1)对应的负样本并将其添加到集合d0中;重复上述处理,直至处理完d1中的每一个元素。

步骤67,合并集合d1和d0,合并后的集合记为d,d即为训练样本。

优选地,步骤7包括以下步骤:

步骤71,将步骤6中生成的训练样本d分割成b份(b由用户指定),第i份记作di;将条件概率p(周围节点的属性特征向量|当前节点的网络表示向量)公式化表示为:

其中ψj表示节点j的属性特征向量,φi表示节点i的网络表示向量。由于公式中的分母部分计算时间复杂度很高,因此,本发明采用负采样的方法,将其转换为如下代理函数:

其中γ表示c是否为i的正样本,若γ=1则表示c是i的正样本,否则,若γ=-1则表示c是i的负样本,σ(x)=1/(1+exp(-x))是一个sigmoid函数。最后,目标函数公式化为:

步骤72,对于每份训练样本di,计算目标函数关于φ的梯度并根据公式:进行更新。其中η是学习率,由用户指定。

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