基于互信息的属性异构信息网络无监督网络表示学习方法

文档序号:26309857发布日期:2021-08-17 13:49阅读:80来源:国知局
基于互信息的属性异构信息网络无监督网络表示学习方法

本发明属于数据网络技术领域,更为具体地讲,涉及一种基于互信息的属性异构信息网络无监督网络表示学习方法。



背景技术:

图或者网络作为一种通用的数据结构,相对于其他数据结构,它能更好地存储和表达实体及其联系,被广泛用于表示复杂的结构化数据,常用网络包括社交网络、生物网络、金融网络等。相比于传统的结构化数据,网络中节点与节点之间有着更加复杂的关系,网络表示学习致力于将网络中的每个节点映射成一成低维、稠密的向量形式,使得得到的向量形式可以在向量空间中具有表示以及推理的能力,这个向量保持了原始网络的一些特性,例如相互连接的节点的表示在向量空间更加相近。在得到节点表示向量后,然后将其用于诸如节点分类、链接预测、社区检测等网络分析或者图挖掘相关任务。可以看到,网络表示学习作为连接后续网络分析任务和原始网络数据的桥梁,它有着非常重大的意义。现有的大多数网络嵌入方法都集中在同构(homogeneous)信息网络上,在同构信息网络的建模当中,往往只抽取了实际交互系统中的部分信息,或者没有区分对象和对象之间的异构性,从而造成了信息损失。因此越来越多的研究者开始关注异构信息网络的学习,相比于同构信息,异构信息网络包含了多种类型的节点边或者多种类型的边,实现了对现实的生活场景的准确抽象。

例如在社交网络中,除了用边描述人与人之间的朋友关系,还可以用其它类型的边描述同事或同学关系。因此相比于同构信息网络,异构信息网络中多类型对象和关系共存,包含丰富的结构和语义信息。

现有的异构信息网络表示学习方法分为两类:基于随机游走的算法和基于图神经网络的算法。基于随机游走的算法在异构信息网络中通过元路径指导的随机游走生成多条路径,然后通过神经网络学习使得在多条路径中一起出现概率大的节点对的节点有着更类似的向量表示,这类方法的主要缺陷是没有利用网络中的属性信息。基于图神经网络的算法首先利用元路径提取出具有语义关系的节点,然后利用图神经网络来学习节点的向量表示,最后构造监督损失模块指导模型的训练,这类方法的主要缺陷是需要利用标记的样本指导模型的训练。因此,属性异构信息网络表示学习的挑战在于不仅需要考虑节点的属性信息,还需要考虑不同关系的边之间的交互关联信息,此外,另一个挑战是如何在无人工标注信息的情况下去指导模型训练。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种基于互信息的属性异构信息网络无监督网络表示学习方法,利用互信息最大化,以一种无监督的方法,综合考虑网络中信息,使得学习到的节点表示能够捕获属性异构信息网络中的复杂语义信息,得到高质量的节点向量表示。

为了实现上述发明目的,本发明于互信息的属性异构信息网络无监督网络表示学习方法包括以下步骤:

s1:根据预设的节点类型和m条元路径在原始属性异构信息网络中提取出包含m个视角的多视角网络g={v,a(1),a(2),…a(m),x},其中v={v1,v2,…,vn}表示节点集合,vi表示第i个节点,i=1,2,…,n,n表示节点数量;a(m)表示根据第m条元路径提取出的对应视角网络的n阶拓扑结构矩阵,m=1,2,…,m,如果节点vi与节点vj在第m条元路径存在一条边,则拓扑结构矩阵a(m)中对应元素否则j=1,2,…,n;x表示大小为n×k的节点特征矩阵,第i行即为节点vi的k维特征向量;

s2:在得到多视角网络g={v,a(1),a(2),…a(m),x}后,分别对每个单视角网络训练一个编码器,具体方法如下:

将多视角网络g={v,a(1),a(2),…a(m),x}拆分成m个单视角网络gm={v,a(m),x},每个单视角网络gm={v,a(m),x}配置一个编码器qm,其结构根据需要设置,编码器qm的输入为该视角的拓扑结构矩阵a(m)和节点特征矩阵x,输出为该视角的节点表示矩阵h(m),其第i行即为节点vi的节点表示向量采用基于互信息的无监督学习方法、通过最大化损失函数lm对各个编码器qm进行训练,得到节点表示矩阵h(m);损失函数lm的计算公式如下:

其中,d()表示得分函数,s(m)表示单视角网络gm的全局表示向量,其表达式为readout()表示读出函数,η表示激活函数;表示对节点特征矩阵x进行随机扰乱后和拓扑结构矩阵a(m)输入编码器qm所得到的节点表示矩阵中的第i行节点表示向量;

s3:计算出属性异构信息网络中每个视角网络与其它视角网络的互信息mi(m),计算公式如下:

其中,表示第m′个视角的节点表示矩阵h(m′)中节点vi的节点表示向量;计算第m个视角的重要性得分a(m)

采用加权平均的方式聚合产生节点的最终表示向量矩阵h:

最终表示向量矩阵h中第i行向量即为节点vi的最终节点表示向量。

本发明基于互信息的属性异构信息网络无监督网络表示学习方法,根据预设的节点类型和元路径在原始属性异构信息网络中提取出多视角网络,分别对每个单视角网络训练一个编码器,训练时采用基于互信息的无监督学习方法进行,且损失函数综合考虑每个视角节点表示和全局表示的互信息,在学习得到每个视角的节点表示矩阵后,利用互信息计算出每个视角的重要性得分,根据重要性得分将每个视角的节点表示矩阵进行加权求和,得到最终的节点表示矩阵。

本发明具有以下有益效果:

1)本发明综合考虑了网络结构信息、节点属性信息、异构信息网络之间不同边的交互作用以及节点在不同视角网络中的重要性,可以有效提高节点表示的准确性;

2)本发明能够学习到属性异构信息网络一致性的全局的节点表示,得到的节点表示可应用于各种图分析任务;

3)在编码器训练时,可以采用跨视角的互信息损失函数指导模型训练,这种策略不仅捕获了节点在不同视角网络之间的相似性关系以及交互关联关系,也消除了节点在不同视角下的信息冗余;

4)本发明适用于带有丰富节点属性的图中,例如电影数据网络中,图中的节点(电影)有着丰富的文本表示,代表着电影的独特信息,采用本发明可以更为准确地提取其节点表示。

附图说明

图1是本发明属性异构信息网络的无监督网络表示学习方法的具体实施方式流程图。

具体实施方式

下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。

实施例

图1是本发明属性异构信息网络的无监督网络表示学习方法的具体实施方式流程图。如图1所示,本发明属性异构信息网络的无监督网络表示学习方法的具体步骤包括:

s101:基于元路径提取多视角网络:

元路径是连接两个实体的一条特定的路径。本实施例中属性异构信息网络为电影数据网络,那么“演员->电影->导演->电影->演员”这条元路径可以连接两个演员,可以视为一种挖掘演员之间的潜在关系的方式。因此可以利用元路径充分且直观地利用了异构信息网络的网络结构,得到具有丰富语义的边信息,从而形成多视角网络。

在本发明中,根据预设的节点类型和m条元路径在原始属性异构信息网络中提取出包含m个视角的多视角网络g={v,a(1),a(2),…a(m),x},其中v={v1,v2,…,vn}表示节点集合,vi表示第i个节点,i=1,2,…,n,n表示节点数量;a(m)表示根据第m条元路径提取出的对应视角网络的n阶拓扑结构矩阵,m=1,2,…,m,如果节点vi与节点vj在第m条元路径存在一条边,则拓扑结构矩阵a(m)中对应元素否则j=1,2,…,n;x表示大小为n×k的节点特征矩阵,第i行即为节点vi的k维特征向量。

以电影数据网络为例,选择电影节点,并且设置2条元路径,分别为“电影->导演->电影”或者“电影->演员->电影”,以提取出包含2个视角的多视角网络。

s102:构建并训练单视角网络的编码器:

在得到多视角网络g={v,a(1),a(2),…a(m),x}后,分别对每个单视角网络训练一个编码器。每个编码器用于表达一种元路径,从而由该单视角网络的属性信息和拓扑结构信息得到该视角的独特语义信息。具体方法如下:

将多视角网络g={v,a(1),a(2),…a(m),x}拆分成m个单视角网络gm={v,a(m),x},每个单视角网络gm={v,a(m),x}配置一个编码器qm,其结构根据需要设置,编码器qm的输入为该视角的拓扑结构矩阵a(m)和节点特征矩阵x,输出为该视角的节点表示矩阵h(m),其第i行即为节点vi的节点表示向量采用基于互信息的无监督学习方法、通过最大化损失函数lm对各个编码器qm进行训练,得到节点表示矩阵h(m)

本发明中损失函数lm采用互信息损失。互信息(mutualinformation)是信息论里一种有用的信息度量,它可以看成是一个随机变量中包含的关于另一个随机变量的信息量,或者说是一个随机变量由于已知另一个随机变量而减少的不肯定性。可以让输出包含更多关于输入的信息,而且输出会更集中在输入中较为频繁出现的模式上,可以使输出的冗余度减小。系统可看成是连接输入和输出的信道,而互信息表示在信道上传输信息时,平均每个符号传递的信息量,最大化互信息也就等价于用更少的符号去传递更多的信息;在向量表示方面,就是用更小的嵌入空间去表达更丰富的信息,因此该嵌入空间的冗余度很小。

为了使得单视角网络的编码器可以学习到数据图的全局结构信息,本发明中编码器qm训练时采用的损失函数lm的计算公式如下:

其中,d()表示得分函数,本实施例中采用双线性函数。s(m)表示单视角网络gm的全局表示向量,其表达式为readout()表示读出函数,η表示激活函数,通常使用sigmoid函数。表示对节点特征矩阵x进行随机扰乱后和拓扑结构矩阵a(m)输入编码器qm所得到的节点表示矩阵中的第i行节点表示向量。

本实施例中的编码器采用图卷积神经网络(graphconvolutionalnetwork,gcn)中的一层图卷积神经网络层。图卷积神经网络旨在将卷积推广到图领域,它拓展了现有的深度神经网络模型,用于处理以图的形式表示的数据。图卷积神经网络基本思想是利用图上的信息传播机制,通过信息构造、邻居聚集、表示更新三个步骤使用上一时刻相邻用户的状态信息,图神经网络基于同构性假设去更新每个节点的向量信息,图卷积神经网络模型的具体原理和更新过程可以参照论文“kipftnandwellingm.semi-supervisedclassificationwithgraphconvolutionalnetworks[j].arxivpreprintarxiv:1609.02907,2016”。当采用一层图卷积神经网络层作为编码器时,节点表示矩阵h(m)的表达式如下:

其中,σ表示激活函数,通常设置为relu函数,in表示单位矩阵,w表示预设的权重,表示属性异构信息网络中节点的度矩阵,w(m)表示图卷积神经网络层的权重矩阵。

经过以上监督学习可以得到不同视角下的节点表示,是相互独立的。但是由于属性异构信息网络中不同关系类型的网络共享相同的节点集合v和节点特征矩阵x,因此希望m个不同编码器的训练权重参数尽可能的相似,以此来捕获多层网络中隐藏的关联信息。因此本实施例中还可以继续采用互信息对不同视角网络之间的交互关联关系建模,即最大化某个视角下的节点表示和其他视角下的全局表示之间的互信息。也就是说,还可以通过最大化损失函数loss进一步进行多视角网络协同训练,损失函数loss的计算公式如下:

其中,s(m′)表示单视角网络gm′的全局表示向量,其表达式为

采用损失函数lm可以通过最大化每个视角节点表示和全局表示的互信息来学习视角特定的节点嵌入向量,采用损失函数loss可以通过最大化视角的节点表示和其它视角的全局表示之间的互信息进行多视角网络协同训练,指导编码器学习到的节点表示向量能够捕获多视角网络中隐藏的关联信息和相似性的信息,同时能够学习视角与视角之间的交互信息。

为了避免模型的过拟合,本实施例中采用早停策略进行训练,即模型的损失函数经过100轮不降低时,则停止训练。

s103:基于互信息的节点表示向量聚合:

同一节点在不同视角的网络中的重要性是不相同的,为了捕获这种重要性差异,在步骤s102进行模型优化完成获得节点的表示向量后,通过归一化的互信息得到不同视角节点的重要性,从而加权融合得到全局的向量表示。

互信息衡量了不同变量之间的信息共享量,因此首先计算出属性异构信息网络中每个视角网络与其它视角网络的互信息mi(m),计算公式如下:

其中,表示第m′个视角的节点表示矩阵h(m′)中节点vi的节点表示向量。

在获得了每个视角网络与其它视角的互信息量后,为了获得不同节点不同视角网络在产生最终节点表示向量的重要性程度,本发明采用了一个归一化的方法计算第m个视角的重要性得分a(m),其计算公式如下:

最后,采用加权平均的方式聚合产生节点的最终表示向量矩阵h:

最终表示向量矩阵h中第i行向量即为节点vi的最终节点表示向量。

为了更好地说明本发明的有效性,采用具体的属性异构信息网络对本发明进行实验验证。

首先采用电影数据网络imdb,该电影数据网络中节点包括演员、导演、电影,边包括演员和电影之间的边,导演和电影之间的边,通过电影-演员-电影和电影-导演-电影的元路径提取出2个不同的视角。其中电影-演员-电影提取出的视角网络有66428条边,电影-导演-电影提取出的视角网络有13788条边,节点的数量是3550,节点的属性代表电影的概要。

采用本发明得到电影数据网络的节点表示向量,然后基于该节点表示向量执行节点分类和节点聚类任务。采用现有技术中基于五种不同模型的网络表示学习方法作为对比方法,五种模型分别为:gcn(graphconvolutionalnetwork)、gae(graphautoencoder)、dgi(deepgraphinformax)、gmi(graphrepresentationlearningviagraphicalmutualinformationmaximization)、han(heterogeneousgraphattentionnetwork)。

节点分类任务利用logistic回归分析来根据节点表示向量对输入的节点进行分类,评价指标用两个f1分数(macro-f1和micro-f1)来评判。节点聚类任务采用k均值执行节点聚类,并采用准确性(acc)和归一化互信息(nmi)来评估性能。表1是本发明和五种对比方法对于电影数据网络的性能对比表。

表1

为了说明本发明在其他数据网络上的性能表现,本实施例中还使用了两个论文引用网络:acm数据集和dblp数据集进行实验验证。论文引用网络中节点包括论文、作者、主题,边是包括论文和作者间的边,论文和主题之间的边,论文和论文之间的边,不同的边代表着不同的语义关系。针对acm数据集,通过论文-作者-论文和论文-主题-论文的元路径提取出2个不同的视角,其中论文-作者-论文提取出的视角网络有29281条边,论文-主题-论文有2210761条边,节点的数量是3025,节点的属性代表论文的摘要。针对dblp数据集,通过论文-作者-论文、论文-论文-论文和论文-作者-机构-作者-论文的元路径提取出3个不同的视角,其中论文-作者-论文提出的视角网络有14238条边,论文-论文-论文提取出的视角网络有90145条边,论文-主题-论文有2210761条边,论文-作者-机构-作者-论文的有57137515条边,节点的数量是3025,节点的属性代表论文的摘要。

表2是本发明和五种对比方法对于acm数据集的性能对比表。

表2表3是本发明和五种对比方法对于dblp数据集的性能对比表。

表3

根据以上三个数据网络的性能对比表可知,本发明方法在无监督的图表示学习中达到了优秀的结果,无论是在分类任务还是聚类任务,本发明的性能相较于对比方法中最先进方法平均高出3个百分点。

尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

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