论文笔记:KDD 2017 metapath2vec: Scalable Representation Learning for Heterogeneous Networks

1.前言

论文链接:http://hanj.cs.illinois.edu/cs512/survey_slides/4-5-metapath2vec-KDD17.pdf
github:https://github.com/apple2373/metapath2vec

本文研究了异构网络中的表示学习问题。异质网络的主要难点来自于多种类型的节点和链接的存在,限制了传统网络嵌入技术的可行性。本文基于此设计了两个可伸缩表示学习模型, m e t a p a t h 2 v e c metapath2vec metapath2vec m e t a p a t h 2 v e c metapath2vec metapath2vec++。

  • m e t a p a t h 2 v e c metapath2vec metapath2vec 模型基于随机游走构造节点的异构邻居,然后利用异构skip-gram模型执行节点嵌入。
  • m e t a p a t h 2 v e c metapath2vec metapath2vec++ 模型进一步使同步建模在异构网络的结构和语义相关性。

2. 背景

自然语言处理(NLP)的最新进展可以自然地应用于网络表示学习,最著名的是一组被称为word2vec的NLP模型。最近的一些研究成果提出了基于word2vector的网络表征学习框架,如DeepWalk、LINE和node2vec。这些表示学习方法可以从“原始网络”中自动发现有用的、有意义的(潜在的)特征,而不是手工设计的网络特征。

与传统的基于元路径的方法相比,隐空间表示学习的优势在于它能够在没有连接元路径的情况下对节点之间的相似性进行建模。例如,如果作者从来没有在同一个地方发表过论文——假设一个人发表了10篇论文都是在NIPS上发表的,而另一个人发表了10篇论文都是在ICML上发表的;他们基于“APCPA”(表达两位作者的两篇论文在同一个会议上发表)的路径相似性将为0,虽然相似性为0且这是一种极端情况,但不能因此认为两位作者的差异很大,有可能两位作者研究方向相似只不过发表的会议有很大差异。但是这种特殊情况会被基于word2vec的网络表示学习自然地克服。

m e t a p a t h 2 v e c metapath2vec metapath2vec 的目标是最大限度地保留给定异构网络的结构和语义。在 m e t a p a t h 2 v e c metapath2vec metapath2vec 中,本文首先提出了在异构网络中基于元路径的随机游走,从而为不同类型的节点生成具有网络语义的异构邻域。其次扩展了 s k i p − g r a m skip-gram skipgram,以促进空间上和语义上紧密节点的建模。最后提出了一种以异质性负样采样为基础的偏置采样方法,称为偏置采样法,该方法能准确而准确地预测出负数的成因。

特殊的是,传统的模型对不同类型的节点和关系进行了相同的处理,导致对异质节点产生无法区分的表示,本文提出的metapath2vec针对于不同类型的异质节点进行了区别处理

在这里插入图片描述
在这里插入图片描述
表1中列出了一些列网络表示学习算法的输入,以及在DBIS网络中使用的相同两个查询(PKDD C. Faloutsos )的前五个最相似的搜索结果。通过对异质邻域建模并进一步利用异质负抽样技术, m e t a p a t h 2 v e c metapath2vec metapath2vec++能够在两种查询类型中获得最佳的前五个最相似的结果。图1显示了16个CS会议中学习到的嵌入的二维投影,以及每个领域中相应的高级研究员。值得注意的是, m e t a p a t h 2 v e c metapath2vec metapath2vec++ 能够自动组织这两种类型的节点,并通过连接每对节点的箭头的相似方向和距离来隐式学习它们之间的内部关系。例如,它学习J. Dean→OSDI和C. D. Manning→ACL。 m e t a p a t h 2 v e c metapath2vec metapath2vec 能够将每一对作者-会议紧密分组,如r.e. Tarjan和FOCS。所有这些特性都是传统的网络嵌入模型无法具有的。

本文的创新点如下:

  • (1) 形式化了异构网络表示学习问题,并识别了网络异构所带来的独特挑战。

  • (2) 开发了有效的网络嵌入框架 ( m e t a p a t h 2 v e c metapath2vec metapath2vec & m e t a p a t h 2 v e c metapath2vec metapath2vec++),以保持结构和语义上的相关性。

  • (3)通过大量的实验,证明了所提方法在各种异构网络挖掘任务中的有效性和可扩展性,如节点分类(相对基准提高35-319%)和节点集群(相对基准提高13-16%)。

  • (4)论证了 m e t a p a t h 2 v e c metapath2vec metapath2vec m e t a p a t h 2 v e c metapath2vec metapath2vec++ 方法自动发现不同类型节点异质网络之间的内部语义关系,而现有工作无法发现。

3. 问题定义

异构网络表示学习:给定一个异构网络 G G G ,任务是学习 d d d 维潜在表示 X ∈ R ∣ V ∣ × d X \in \mathbb{R}^{|V |×d} XRV×d, 能够捕获它们之间的结构和语义关系。

这一问题的主要挑战来自网络的异构性,直接应用同构语言和网络嵌入方法是不容易的。本文所提出的网络嵌入模型就是要保持一个节点和它的邻居(context)之间的接近性。在一个复杂的环境中,我们如何保护和建模这个“节点-邻域”的概念?此外,我们如何优化有效地维护多类型节点和关系的结构和语义的嵌入模型?

4. Metapath2Vec & Metapath2Vec++

4.1 Metapath2Vec

4.1.1 同质网络嵌入

以DeepWalk为例,对于同质网络嵌入方法来说,主要利用随机游走获取目标节点的上下文节点(也就是随机获取最能影响该节点属性的其他节点),在获取到目标节点的上下文结点之后我们得到了一个类似于NLP中的语言句子序列,我们期望的优化目标是在得知一个句子序列中的单词后来对未知的单词进行预测。对于本问题而言,我们知道了随机游走生成的上下文节点,我们希望基于此将目标节点预测出来,但是目标节点是顶点本身而我们希望得到节点特征向量的隐表示,这时我们需要一个特征映射函数。基于此可以具体来预测未知的节点,对于这个特征映射函数它代表了对于整个网络中所有结点的特征映射变换也就是图嵌入。

对上述过程进行一下总结就是,传统同质图嵌入是通过随机游走获取节点序列,此时类比于词嵌入进行处理,优化函数就是根据已知的节点序列预测未知节点。对于未知节点而言就是其本身但是我们需要一个隐表示所以引入了基于全局的特征映射函数。同时考虑到节点序列不好计算过于庞大,因此引入了词嵌入中的 s k i p − g r a m skip-gram skipgram 模型,基于顶点来预测随机游走获取到的上下文节点序列。因此我们希望预测到的序列当中通过随机游走得到的节点序列数量最大化。

正如文中提到的,大概就是尽可能找到一个映射函数 ,使得映射后邻居关系保持的概率越大越好。这个就像是NLP中对于一个词的映射,使得映射后与上下文的关系保持的概率越大越好。
在这里插入图片描述
希望在给出一个目标节点 v v v 之后能够实现预测上下文节点 c c c 最大化 ,其中 N ( v ) N(v) N(v) 可以定义为目标节点的一阶邻居

图片

4.1.2 异质网络嵌入:meatapath2vec

随机游走从局部上一定程度保持了节点与它邻居之间的连接性,即网络结构信息,然而对于异质信息网络来说,需要考虑不同类型的节点
因此优化函数更新为给定目标节点 v v v 期望求得的基于 t t t 类型的的上下文节点概率最大。
在这里插入图片描述
其中 t t t 代表节点类型。
在这里插入图片描述

举例来说明,考虑学术网络在图2(a),一个作者的邻居节点4可以在结构上接近其他作者(例如, a 2 a_2 a2 a 3 a_3 a3 a 5 a_5 a5),地点(例如,ACL 和 KDD),组织(CMU 和 MIT),以及论文(例如, p 2 p_2 p2 p 3 p_3 p3页)。

m e t a p a t h 2 v e c metapath2vec metapath2vec 通过均匀地选择不同类型的节点并绘制(负采样)节点来构建节点频率分布,而不考虑节点的类型。

由于节点与连接的异质性的存在,所以异质network embedding最大的难点在于如何有效地在多种类型节点之间保存“节点上下文”的概念。论文提出的想法是:基于预先指定的元路径来进行随机游走来进行随机游走,构造路径,从而能够保持“节点上下文”的概念。

基于随机游走的元路径生成
在这里插入图片描述
在这里插入图片描述
基于元路径的随机游走策略确保了不同类型节点之间的语义关系能够正确地合并到 s k i p − g r a m skip-gram skipgram 中。例如,在一个传统的随机游走过程中,如图2(a)所示,从节点CMU转换到节点 a 4 a_4 a4 的下一步可以是它周围的所有类型的节点—— a 2 a_2 a2 a 3 a_3 a3 a 5 a_5 a5 p 2 p_2 p2 p 3 p_3 p3和CMU。然而,在“OAPVPAO”元路径方案下,更加偏向于 p p p 类型的节点。

4.2 Metapath2Vec++

在(2)中,当构造其邻域函数 N t ( v ) N_t (v) Nt(v)时, m e t a p a t h 2 v e c metapath2vec metapath2vec 根据其类型区分上下文节点 v v v。但是,它忽略了 s o f m a x sofmax sofmax 中的节点类型信息。换句话说,为了推断给定节点 v v v N t ( v ) N_t (v) Nt(v) 中上下文 c t c_t ct 的特定类型, m e t a p a t h 2 v e c metapath2vec metapath2vec 实际上鼓励所有类型的负样本,包括相同类型 t t t 的节点以及异构网络中其他类型的节点。

Heterogeneous negative sampling
因此本文针对于此提出了 m e t a p a t h 2 v e c metapath2vec metapath2vec++,在 s o f t m a x softmax softmax 中考虑了结点的类型信息:
在这里插入图片描述
其中 V t V_t Vt 代表类型 t t t 的节点集合。

在此过程中, m e t a p a t h 2 v e c metapath2vec metapath2vec++ 为 s k i p − g r a m skip-gram skipgram 模型的输出层中的每一种邻域类型指定了一组多项式分布。回想一下,在 m e t a p a t h 2 v e c metapath2vec metapath2vec n o d e 2 v e c node2vec node2vec / D e e p W a l k DeepWalk DeepWalk 中,输出多项分布的维数等于网络中的节点数。而在 m e t a p a t h 2 v e c metapath2vec metapath2vec++ 的 s k i p − g r a m skip-gram skipgram 图中, t t t 型节点的多项分布维数由 t t t 型节点的数目决定。图2(c)可以清楚地说明这一点。例如,给定输入层中的目标节点 a 4 a_4 a4 m e t a p a t h 2 v e c metapath2vec metapath2vec++ 输出四组多项分布,每组对应一种邻居类型——地点 V V V、作者 a a a、组织 O O O 和论文 P P P

受PTE启发,抽样分布也由预测的邻居 c t c_t ct 的节点类型决定,即 P t ( ⋅ ) P_t(·) Pt()。因此目标函数是:
在这里插入图片描述

5. 实验

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值