一种联合学习稀疏属性网络表征方法及系统与流程

文档序号:17429059发布日期:2019-04-17 03:15阅读:430来源:国知局
一种联合学习稀疏属性网络表征方法及系统与流程

本发明涉及网络分析技术领域,特别是涉及一种联合学习稀疏属性网络表征方法及系统。



背景技术:

随着表征学习技术的不断发展,一系列的网络表示学习的方法被提出,通过维持节点之间的网络结构的关系来为网络中每个节点学习一个低维的向量表征,这些学习到的节点向量表征能够直接被作为节点的自身特征来应用到后续的网络分析任务中,如节点的分类、链接预测和网络聚类等任务。但是,现有技术中的工作主要集中在学习节点之间的网络结构关系,而忽略了很多网络中节点自身的属性信息。

在实际的生活中,网络中的节点自身的属性信息是比较常见的,比如社交网络中用户的偏好和资料信息,合著网络中文章的标题和内容信息。这些节点自身的属性能够一定程度地反应网络节点之间的相似关系,因此,可以利用节点的属性信息能够有效缓解网络结构的稀疏性,从而帮助学习节点的向量表征。虽然现有技术中也有通过融合节点的属性信息来学习节点的表征,但是这些方法仍存在一些不足。具体的,在实际的应用情境中,例如在社交网络中,节点的自身属性信息通常是非常稀疏和高纬度的,现有技术中的模型的性能常常因为节点属性的稀疏性而受到很大影响。其次,在网络中节点之间的链接权重关系并不是完全相同的,因此,现有技术中都无法有效缓解属性网络中节点属性的稀疏性的问题。



技术实现要素:

针对于上述问题,本发明提供一种联合学习稀疏属性网络表征方法及系统,实现了有效缓解属性网络中节点属性的稀疏性的目的。

为了实现上述目的,本发明提供了如下技术方案:

一种联合学习稀疏属性网络表征方法,包括:

在目标网络中确定训练样本;

将目标网络中的节点和其属性进行投影,生成所述目标网络中各个节点的表征向量;

利用所述训练样本中每个节点的相邻节点进行节点出现概率预测,获得预测值,所述预测值用来维持网络结构的相似性;

基于节点之间的属性相似度,为每个节点的相邻节点分配不同的权重值;

基于各个节点的表征向量和各个节点分配获得的权重值,生成目标函数;

对所述目标函数进行优化,并融合网络结构的相似性和节点属性信息,使得学习到的节点向量表征同时维持网络结构和节点属性的相似关系。

可选地,所述在目标网络中确定训练样本,包括:

将目标网络中的每个节点作为初始的根节点;

对所述根节点进行截断式随机游走,生成固定长度的随机游走序列,将所述随机游走序列确定为训练样本。

可选地,所述将目标网络中的节点和其属性进行投影,生成所述目标网络中各个节点的表征向量,包括:

将目标网络中的节点和其属性分别投影至相同维度的低维空间中;

采用预设矩阵来表示投影后的节点和其属性,生成向量映射矩阵;

基于所述向量映射矩阵,计算获得各个节点的表征向量。

可选地,该方法还包括:

若节点对应的属性数量不满足预设要求,则确定所述节点的邻居信息;

生成所述邻居信息的属性向量表达式;

基于所述邻居信息的属性向量表达式,生成所述节点的表征向量。

可选地,所述利用所述训练样本中每个节点的相邻节点进行节点出现概率预测,获得预测值,包括:

在所述训练样本中确定节点周围距离满足预设距离的相邻节点;

利用所述相邻节点对节点的自身出现概率进行预测,获得预测值,所述预测值用来维持网络结构的相似性。

可选地,所述基于各个节点的表征向量和各个节点分配获得的权重值,生成目标函数,包括:

根据节点的表征向量和分配给每个相邻节点的权重值,计算获得相邻节点的综合向量;

对所述每个相邻节点的权重值进行归一化处理,并基于所述相邻节点的综合向量,生成目标函数。

可选地,所述对目标函数进行优化,包括:

根据节点的噪声分布对相邻节点选取若干个节点作为中心节点,并利用所述中心节点来生成训练数据的负样本;

依据所述负样本对所述目标函数进行修改,获得修改后的目标函数;

采用随机梯度下降算法进行迭代更新参数,对所述修改后的目标函数进行最小化目标函数值。

可选地,该方法还包括:

基于所述目标函数生成学习模型;

对所述学习模型进行评估,实现评估学习模型学习到稀疏属性网络的节点表征向量的特性。

可选地,所述对所述学习模型进行评估,包括:多标签节点分类评估或者链接预测评估;

所述多标签节点分类评估,用于将基于所述学习模型学习到的节点表征向量作为节点特征;将目标网络的节点划分为训练数据和测试数据;所述节点特征、训练数据和测试数据输入至分类器中,实现对所述学习模型的评估;

所述连接预测评估,用于确定测试数据,利用所述学习模型获得每个节点的表征向量;根据表征向量进行排序,确定候选的链接节点;基于所述链接节点和所述测试数据对所述学习模型进行评估。

一种联合学习稀疏属性网络表征系统,包括:

样本确定单元,用于在目标网络中确定训练样本;

向量生成单元,用于将目标网络中的节点和其属性进行投影,生成所述目标网络中各个节点的表征向量;

预测单元,用于利用所述训练样本中每个节点的相邻节点进行节点出现概率预测,获得预测值,所述预测值用来维持网络结构的相似性;

权重分配单元,用于基于节点之间的属性相似度,为每个节点的相邻节点分配不同的权重值;

目标函数生成单元,用于基于各个节点的表征向量和各个节点分配获得的权重值,生成目标函数;

优化单元,用于对所述目标函数进行优化,并融合网络结构的相似性和节点属性信息,使得学习到的节点向量表征同时维持网络结构和节点属性的相似关系。

相较于现有技术,本发明提供了一种联合学习稀疏属性网络表征方法及系统,通过将目标网络中的节点和对应的属性进行投影,获得各个节点的表征向量,使得具有相似属性和网络结构的节点的表征向量更加相似,并且能够基于训练样本中相邻节点进行节点出现概率的预测,然后依据节点之间的属性相似度为每个相邻节点分配不同的权重,使得节点之间有不同的权重关系,从而使得相似的网络结构中,具有相似属性的节点表征向量更加相似,这样生成的目标函数为网络中每个节点学习到一个更好的低维表征向量,进而能够有效地捕捉节点和自身稀疏属性之间的交互关系,缓解节点属性稀疏的问题。

附图说明

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

图1为本发明实施例提供的一种联合学习稀疏属性网络表征方法的流程示意图;

图2为本发明实施例提供的一种生成节点表征向量的方法的流程示意图;

图3为本发明实施例提供的一种联合学习稀疏属性网络表征系统的结构示意图。

具体实施方式

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

本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有设定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。

在本发明实施例中提供了一种联合学习稀疏属性网络表征方法,参见图1,该方法包括:

s101、在目标网络中确定训练样本。

该目标网络为期望进行表征的网络结构,例如社交网络、合著网络等。为了刻画节点之间网络结构的相似关系,首先将每个节点作为初始的根节点进行截断式的随机游走,来生成固定长度的随机游走序列,这些序列数据就是训练样本。

其中,截断式的随机游走就是进行固定式的随机游走序列,例如,在网络中,每个用户以自身作为最原始的出发节点s0,随机挑选自己的邻居节点作为下一个到访节点s1,然后再根据s1来挑选周围的邻居节点作为下一个到访节点,如此类推,生成固定长度的节点序列即结束。

s102、将目标网络中的节点和其属性进行投影,生成所述目标网络中各个节点的表征向量。

为了刻画节点和稀疏属性之间的关系,将节点和属性分别投影到一个低维的向量空间中,利用结对的方法来科幻节点和属性之间的交互关系,并通过融入节点周边的邻居信息来缓解节点自身的属性稀疏性问题。

对应的,在本发明实施例中还提供了一种生成节点表征向量的方法,参见图2,该方法包括:

s201、将目标网络中的节点和其属性分别投影至相同维度的低维空间中;

s202、采用预设矩阵来表示投影后的节点和其属性,生成向量映射矩阵;

s203、基于所述向量映射矩阵,计算获得各个节点的表征向量。

对应的,上述方法还包括:

若节点对应的属性数量不满足预设要求,则确定所述节点的邻居信息;

生成所述邻居信息的属性向量表达式;

基于所述邻居信息的属性向量表达式,生成所述节点的表征向量。

s103、利用所述训练样本中每个节点的相邻节点进行节点出现概率预测,获得预测值,所述预测值用来维持网络结构的相似性;

s104、基于节点之间的属性相似度,为每个节点的相邻节点分配不同的权重值。

对于s101中的训练样本即随机游走序列,利用序列中每个节点周围相邻的k个节点来预测节点自身出现的概率,通过将连续词袋模型和注意力机制的结合,根据节点之间属性的相似度关系,为每个节点相邻的k个节点分配不同的权重值,从而使得权重越大的相邻节点和节点自身表征向量更加相似。

s105、基于各个节点的表征向量和各个节点分配获得的权重值,生成目标函数。

s106、对所述目标函数进行优化,并融合网络结构的相似性和节点属性信息,使得学习到的节点向量表征同时维持网络结构和节点属性的相似关系。

通过上述步骤设计出学习模型的目标函数,通过优化该目标函数,为网络中每个节点学习到一个低维的表征向量,使得具有相似数据和网络结构的节点的表征向量更加相似。在优化方面,为了解决网络中节点数量过多的问题,采用了负采样的方法,并通过随机梯度下降的算法来迭代模型的参数,从而最小化目标函数值。

利用优化后的目标函数为网络中每个节点学习到一个低维的表征向量,将这些表征向量直接作为后续不同网络分析任务中的节点特征,根据在不同任务上的实验效果来衡量模型学习到的节点表征向量的好坏。

本发明提供了一种联合学习稀疏属性网络表征方法,通过将目标网络中的节点和对应的属性进行投影,获得各个节点的表征向量,使得具有相似属性和网络结构的节点的表征向量更加相似,并且能够基于训练样本中相邻节点进行节点出现概率的预测,然后依据节点之间的属性相似度为每个相邻节点分配不同的权重,使得节点之间有不同的权重关系,从而使得相似的网络结构中,具有相似属性的节点表征向量更加相似,这样生成的目标函数为网络中每个节点学习到一个更好的低维表征向量,进而能够有效地捕捉节点和自身稀疏属性之间的交互关系,缓解节点属性稀疏的问题。

以具体的网络结构对本发明提供的方法进行说明。依次将网络中每个节点|vi|作为根节点进行截断式的随机游走,从而生成一个固定长度为|s|的训练序列{v1,v2,…,v|s|}。

由于网络中节点的属性通常是非常稀疏的,为了有效地刻画节点和稀疏属性之间的交互关系,首先将网络中节点和属性分别投影到相同维度的低维空间中,在这里分别用矩阵p∈r|v|×d和f∈r|m|×d来表示对应的向量映射矩阵,其中,|v|是网络中节点的数量,|m|是节点属性的数量,在本发明实施例中提出的结对方法定义如下所示,即下式表示了节点的表征向量:

其中,pi表示节点vi的偏置向量,fi表示属性j的向量表示,aij表示节点vi在属性j上的属性值,⊙表示向量之间的点积运算,ui为节点的表征向量。通过将每个属性用一个低维稠密的向量来表示,能够捕捉和泛化属性之间的相似关系。而将每个节点用一个独特的偏置向量表示,能够确保具有相似属性的节点在不同的网络结构中仍然能够学习到不同的表征向量。从上式可以看出,因为每个节点的属性是高维度且非常稀疏的,所以属性值aij大部分为0。通过基于结对的方法可以只计算节点和属性之间的交互关系,从而面对高维度的稀疏属性也能保证算法的效率性。

虽然通过上式提出的方法能够刻画节点和属性之间的交互关系来生成节点的向量表示,但是节点有值属性的数量仍然是非常有限的。为了进一步地环节这个问题,利用每个节点周边的邻居信息来增强每个节点的表征向量。对于每个节点vi,首先定义节点周围邻居的属性向量的表示,如下:

其中,n(i)表示节点vi周边的邻居节点,fi·akj表示邻居节点k在属性j上的向量表示。因为每个节点的邻居数量不是完全相同的,因此使用池化方法将周围的邻居节点的属性表示转化成一个固定长度的向量表示然后融合邻居节点的属性信息来得到最终节点的表征向量如下所示:

其中,λ是超参数用来平衡在不同网络中节点和周围邻居属性的权重,虽然节点的自身属性比较稀疏,但是通过融合节点周围的邻居属性信息能够有效地缓解自身属性稀疏性的问题。同时,利用sigmoid函数σ(x)=1/(1+exp(-x))对最终节点表征向量进行非线性的转化来得到一个更加鲁棒性的向量表示。

在本发明的另一实施例中还提供了一种生成目标函数的方法,包括:

根据节点的表征向量和分配给每个相邻节点的权重值,计算获得相邻节点的综合向量;

对所述每个相邻节点的权重值进行归一化处理,并基于所述相邻节点的综合向量,生成目标函数。

对应的,在另一实施例中还提供了一种目标函数优化方法,包括:

根据节点的噪声分布对相邻节点选取若干个节点作为中心节点,并利用所述中心节点来生成训练数据的负样本;

依据所述负样本对所述目标函数进行修改,获得修改后的目标函数;

采用随机梯度下降算法进行迭代更新参数,对所述修改后的目标函数进行最小化目标函数值。

具体的,训练样本序列{v1,v2,…,v|s|},基于具有相似网络结构的节点的表征具有相似的向量表示的假设,采用了连续词袋模型根据序列中节点周围距离为k的相邻节点{vi-k,…,vi+k}\{vi}来预测自身节点vi,并定义最终的目标函数如下所示:

其中,ui'是节点vi作为相邻节点的向量表示,ucontext(i)是节点vi周围距离为k的相邻节点的综合向量表示。为了刻画网络中节点之间的链接权重的不同,可以引入注意力机制,根据节点之间属性的相似程度为每个相邻的节点分配一个权重值,使得权重值大的节点在预测中心节点时更加重要,具体的ucontext(i)定义如下所示:

其中,ui是节点的表征向量,sij是注意力网络分配给每个相邻节点的权重值,具体的计算权重值的注意力网络定义如下所示:

sij'=htrelu(w[uj,ui'])

其中,w∈rt×2d和ht是模型的参数,[uj,ui']表示是两个向量的拼接,激活函数为relu(x)=max(0,x)。通过上式的注意力网络公式我们可以为节点和周围每个相邻节点算出对应的权重值,为了使得最终的权重值累加起来为1,使用softmax函数对前面计算出来的权重值进行归一化处理,具体定义如下:

将上式分别带入到目标函数中,使得在相邻的网络结构中的节点,属性越相似的节点分配的权重越大,预测中心节点的重要性越高。通过对目标函数的优化,能够联合地学习到节点属性和网络结构的相似性在一个统一的框架中,使得具有相似的属性和网络结构的节点具有相似的表征向量。

对应的,可以基于目标函数建立一个学习模型用于对网络进行表征。由于优化目标函数的计算量是非常大的,因为其中p(vi|context(vi))的分母部分需要对网络中所有的节点进行累加。为了解决这个问题,采用了负采样的方法,根据节点的噪声分布p(v)对相邻节点context(i)选取k个节点作为中心节点来形成训练数据的负样本,并将目标函数修改成下面的形式:

其中,σ(x)为sigmoid函数,neg为负样本的数量,节点的噪声分布为dv为节点vi的出度值。通过对上面的公式使用随机梯度下降的算法迭代更新模型的参数来最小化目标函数值。

对应的,在本发明实施例中还提供了一种对模型进行评估的方法,该方法包括:

基于所述目标函数生成学习模型;

对所述学习模型进行评估,实现评估学习模型学习到稀疏属性网络的节点表征向量的特性。

对应的,包括:多标签节点分类评估或者链接预测评估;

所述多标签节点分类评估,用于将基于所述学习模型学习到的节点表征向量作为节点特征;将目标网络的节点划分为训练数据和测试数据;所述节点特征、训练数据和测试数据输入至分类器中,实现对所述学习模型的评估;

所述连接预测评估,用于确定测试数据,利用所述学习模型获得每个节点的表征向量;根据表征向量进行排序,确定候选的链接节点;基于所述链接节点和所述测试数据对所述学习模型进行评估。

举例说明,学习模型的实现是基于tensorflow的深度学习框架。首先,用均值为0标准差为0.01的高斯分布来初始化模型的参数。在训练序列样本的生成过程中,设置截断式的随机游走序列的长度为20,每个节点重复20次,相邻节点距离中心节点距离为5,负采样样本的数量为5,随机梯度下降算法中每批次的样本数量为64。超参数λ在验证数据上通过网格搜索到最优值,节点的表征向量维度设置为100。

为了评估学习模型学习到稀疏属性网络的节点表征向量的好坏,分别设计了网络节点多标签的分类任务和链接预测的任务,具体的评估方法包括:

多标签节点的分类:将学习到的节点表征向量直接作为节点特征,选取网络中一部分的标记节点为训练数据,剩余的节点则为测试数据,为了避免分类器对实验结果的影响,选用了线性支持向量机作为统一的分类器。在不同类型的网络数据集上重复实验10次,取平均的实验结果作为最终的实验结果。可以选择常用的多标签分类评估指标macro-f1和micro-f1来比较模型的性能。

链接预测:在网络分析任务中,链接预测是非常重要的一个任务。随机移除网络中30%的边作为测试数据,在剩余的网络结构中训练该学习模型来得到每个节点的表征向量。根据节点表征向量之间的余弦相似度进行排序,选取前k个相似的节点作为候选的链接节点。因为网络中节点的数量常常是非常庞大的,不能计算所有的节点之间的余弦相似度关系,可以采用如下的方法:对每个节点随机抽取100个未连接的节点和测试数据中的节点混合在一起作为最终的候选节点集合。重复实验10次并取平均的实验结果作为最终的实验结果,通常选取的排序指标precision@k和recall@k作为实验结果的评估指标。

通过上述实施例提出的联合的方法来同时学习稀疏属性网络中节点属性和网络结构的相似性,使具有相似属性和网络结构的节点的表征向量更加相似;提出的基于结对的方法来刻画节点和稀疏属性之间的交互关系,并融入了节点周围的邻居信息来缓解属性稀疏性的问题;将连续词袋模型和注意力机制相互结合,来刻画节点之间不同的权重关系,从而使得在相似的网络结构中,具有相似属性的节点表征向量更加相似;在不同类型的网络上进行了多个不同网络分析任务的实验,使得实验效果都取得了很大的提升。

对应的,参见图3为本发明实施例提供的一种联合学习稀疏属性网络表征系统,该系统包括:

样本确定单元301,用于在目标网络中确定训练样本;

向量生成单元302,用于将目标网络中的节点和其属性进行投影,生成所述目标网络中各个节点的表征向量;

预测单元303,用于利用所述训练样本中每个节点的相邻节点进行节点出现概率预测,获得预测值,所述预测值用来维持网络结构的相似性;

权重分配单元304,用于基于节点之间的属性相似度,为每个节点的相邻节点分配不同的权重值;

目标函数生成单元305,用于基于各个节点的表征向量和各个节点分配获得的权重值,生成目标函数;

优化单元306,用于对所述目标函数进行优化,并融合网络结构的相似性和节点属性信息,使得学习到的节点向量表征同时维持网络结构和节点属性的相似关系。

在图3实施例的基础上,样本确定单元301包括:

第一确定子单元,用于将目标网络中的每个节点作为初始的根节点;

第二确定子单元,用于对所述根节点进行截断式随机游走,生成固定长度的随机游走序列,将所述随机游走序列确定为训练样本。

对应的,向量生成单元302包括:

投影子单元,用于将目标网络中的节点和其属性分别投影至相同维度的低维空间中;

矩阵生成子单元,用于采用预设矩阵来表示投影后的节点和其属性,生成向量映射矩阵;

第一计算子单元,用于基于所述向量映射矩阵,计算获得各个节点的表征向量。

对应的,向量生成单元还包括:

第三确定子单元,用于若节点对应的属性数量不满足预设要求,则确定所述节点的邻居信息;

第一生成子单元,用于生成所述邻居信息的属性向量表达式;

第二生成子单元,用于基于所述邻居信息的属性向量表达式,生成所述节点的表征向量。

在上述实施例的基础上,预测单元303包括:

第三确定子单元,用于在所述训练样本中确定节点周围距离满足预设距离的相邻节点;

预测子单元,用于利用所述相邻节点对节点的自身出现概率进行预测,获得预测值,所述预测值用来维持网络结构的相似性。

在上述实施例的基础上,目标函数生成单元305包括:

第二计算子单元,用于根据节点的表征向量和分配给每个相邻节点的权重值,计算获得相邻节点的综合向量;

第三生成子单元,用于对所述每个相邻节点的权重值进行归一化处理,并基于所述相邻节点的综合向量,生成目标函数。

在上述实施例的基础上,优化单元306包括:

第四生成子单元,用于根据节点的噪声分布对相邻节点选取若干个节点作为中心节点,并利用所述中心节点来生成训练数据的负样本;

修改子单元,用于依据所述负样本对所述目标函数进行修改,获得修改后的目标函数;

最小化子单元,用于采用随机梯度下降算法进行迭代更新参数,对所述修改后的目标函数进行最小化目标函数值。

对应的,上述系统还包括:

模型生成单元,用于基于所述目标函数生成学习模型;

评估单元,用于对所述学习模型进行评估,实现评估学习模型学习到稀疏属性网络的节点表征向量的特性。

对应的,评估单元中的评估方法包括:多标签节点分类评估或者链接预测评估;

所述多标签节点分类评估,用于将基于所述学习模型学习到的节点表征向量作为节点特征;将目标网络的节点划分为训练数据和测试数据;所述节点特征、训练数据和测试数据输入至分类器中,实现对所述学习模型的评估;

所述连接预测评估,用于确定测试数据,利用所述学习模型获得每个节点的表征向量;根据表征向量进行排序,确定候选的链接节点;基于所述链接节点和所述测试数据对所述学习模型进行评估。

本发明提供了一种联合学习稀疏属性网络表征系统,通过向量生成单元将目标网络中的节点和对应的属性进行投影,获得各个节点的表征向量,使得具有相似属性和网络结构的节点的表征向量更加相似,并且在权重分配单元能够基于训练样本中相邻节点进行节点出现概率的预测,然后依据节点之间的属性相似度为每个相邻节点分配不同的权重,使得节点之间有不同的权重关系,从而使得相似的网络结构中,具有相似属性的节点表征向量更加相似,这样在目标函数生成单元中生成的目标函数为网络中每个节点学习到一个更好的低维表征向量,进而能够有效地捕捉节点和自身稀疏属性之间的交互关系,缓解节点属性稀疏的问题。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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