十一、metapath2vec

  1. 目前为止绝大多数embedding 方法都集中在异质网络的表示学习representation learning 上,即网络的顶点类型是单一的,边的类型也是单一的。但是大量的社交网络以及其它信息网络本质上是异质heterogeneous的,网络包含多种顶点类型,也包含多种边的类型。因此异质网络表示学习的挑战在于:网络中存在多种类型的顶点和边。

    传统的 embedding 模型将不同类型的顶点和边采用相同的处理方式,这将导致为异质顶点生成没有类型区分的表示。因此这些异质网络是专门为同质homogeneous网络设计的 embedding 模型无法解决的。

    论文 《metapath2vec: Scalable Representation Learning for Heterogeneous Networks》 首先形式化异质网络的表示学习问题,然后提出了 metapath2vec 框架,及其扩展的 metapath2vec ++ 框架来解决异质网络的表示学习问题。

  2. 异质网络表示学习的目的是同时学习多种类型顶点的低维 embeddingmetapath2vec 框架基于meta-path 的随机游走从而构造顶点的异质邻域,然后利用异质 skip-gram 模型来执行顶点 embeddingmetapath2vec 的目标是最大化的保留给定异质网络的结构关系和语义关系。

    metapath2vec ++metapath2vec 的基础上使用了一种基于异质负采样的方法,称作 metapath2vec ++ ,该方法可以有效并且准确的预测顶点的异质邻域。

    大量实验表明,metapath2vecmetapath2vec ++ 不仅能够超越各种异质网络挖掘任务的 SOAembedding 模型,还能够识别不同顶点之间的结构相关性和语义相关性。

  3. metapath2vecmetapath2vec ++ 不同于传统的网络 embedding 模型,后者专注于同质网络。

    metapath2vecmetapath2vec++ 在某些方面也不同于 Predictive Text Embedding:PTE 模型。

    • 首先 PTE 是一种半监督学习模型,其中包含文本数据的标签信息。
    • 其次,PTE 中的异质性来自于文本网络,网络中存在了单词到单词的链接、单词到它所属文档的链接、单词及其 label 的链接。 因此本质上 PTE 的原始输入为单词,输出是每个单词的 embedding ,而不是多种类型的输入。

11.1 模型

11.1.1 问题定义

  1. 论文对异质网络的表示学习进行了形式化。定义一个异质网络是一个图 十一、metapath2vec - 图1,其中每个顶点 十一、metapath2vec - 图2 和每条边 十一、metapath2vec - 图3 分别关联一个映射函数:

    十一、metapath2vec - 图4

    其中 十一、metapath2vec - 图5 表示顶点类型,十一、metapath2vec - 图6 表示边的类型,且满足 十一、metapath2vec - 图7

    例如可以用作者 author:A、论文 paper:P、会议 venue:V、组织 organization:O 作为顶点类型来表示下图中的学术网络。其中边可以表示coauthor 合作者关系 A-Apublish 发表关系 A-P,P-Vaffiliation附属关系 O-Areference 引用关系 P-P 。黄色虚线表示 coauthor 关系,红色虚线表示引用关系。

    十一、metapath2vec - 图8

  2. 异质网络表示学习问题Heterogeneous Network Representation Learning:给定一个异质网络 十一、metapath2vec - 图9 ,任务的目标是学习一个 十一、metapath2vec - 图10 维的潜在表示 十一、metapath2vec - 图11 ,其中 十一、metapath2vec - 图12 ,使得该表示能够捕获网络的结构关系以及语义关系。任务的输出是一个低维矩阵 十一、metapath2vec - 图13,其第 十一、metapath2vec - 图14 列对应一个 十一、metapath2vec - 图15 维向量 十一、metapath2vec - 图16 ,即顶点 十一、metapath2vec - 图17embedding

    • 尽管 十一、metapath2vec - 图18 中存在不同类型的顶点,但是各种类型顶点的 embedding 都被映射到相同的潜在空间中。
    • 学到的顶点 embedding 可以应用于各种异质网络挖掘任务,如顶点分类、聚类、相似性查找等。
    • 问题的挑战来自于网络异质性。网络embedding 模型的基本假设是:在embedding 空间保持顶点及其邻居(上下文)之间的邻近性。但是在异质网络中,如何定义和建模 “顶点 - 邻居” 的概念?另外模型如何优化,其中该模型有效维护多种类型顶点和边的结构关系和语义关系?

11.1.2 metapath2vec

  1. 论文提出了一个通用的异质网络embedding 学习框架 metapath2vec,其目标是:在考虑多种类型的顶点和边的情况下,最大化网络的概率。

  2. 首先考虑 word2vec 模型。给定网络 十一、metapath2vec - 图19,模型的目标是根据局部结构来最大化网络概率:

    十一、metapath2vec - 图20

    其中 十一、metapath2vec - 图21 为网络 十一、metapath2vec - 图22 中顶点 十一、metapath2vec - 图23 的邻域,它可以由不同的定义方式,如 十一、metapath2vec - 图24 的直接相连的顶点集合;十一、metapath2vec - 图25 定义了给定顶点 十一、metapath2vec - 图26 的条件下,上下文 十一、metapath2vec - 图27 出现的条件概率。

    为了对顶点的异质邻域建模,metapath2vec 引入了异质 skip-gram 模型 Heterogeneous Skip-Gram。为了将异质网络结构融合到异质 skip-gram 模型中,metapath2vec 引入了基于 meta-path 的随机游走。

  3. 异质 skip-gram 模型:在 metapath2vec 中,给定异质网络 十一、metapath2vec - 图28 ,其中 十一、metapath2vec - 图29 表示顶点类型,十一、metapath2vec - 图30 表示边的类型,十一、metapath2vec - 图31。我们通过最大化给定顶点 十一、metapath2vec - 图32 的条件下,异质上下文 十一、metapath2vec - 图33 的条件概率,使得 skip-gram 能够学习异质网络 十一、metapath2vec - 图34 的有效顶点表示:

    十一、metapath2vec - 图35

    其中:

    • 十一、metapath2vec - 图36 表示顶点 十一、metapath2vec - 图37 的第 十一、metapath2vec - 图38 种类型的邻域顶点。考虑下图的学术网络,其中author 顶点 十一、metapath2vec - 图39 的邻域可以为:author 邻域 十一、metapath2vec - 图40venue 邻域十一、metapath2vec - 图41organization 邻域 十一、metapath2vec - 图42paper 邻域 十一、metapath2vec - 图43

      十一、metapath2vec - 图44

    • 十一、metapath2vec - 图45 通常由一个 softmax 函数定义:

      十一、metapath2vec - 图46

      其中 十一、metapath2vec - 图47十一、metapath2vec - 图48 的第 十一、metapath2vec - 图49 列,是顶点 十一、metapath2vec - 图50embedding 向量。

    为了有效优化目标函数,Milkolov 等人引入了负采样,它从网络种随机采样相对较小的一组顶点来代替 softmaxmetapath2vec 也采用了相同的负采样技术。给定一个负采样大小 十一、metapath2vec - 图51 ,则定义:

    十一、metapath2vec - 图52

    其中:

    • 十一、metapath2vec - 图53
    • 十一、metapath2vec - 图54 为预定义的顶点分布函数,根据该分布来采样 十一、metapath2vec - 图55 个负采样顶点 十一、metapath2vec - 图56metapath2vec 无视顶点类型来构建顶点的频率分布。
  4. 基于 meta-path 的随机游走:如何有效的将网络结构转化为 skip-gram?在 DeepWalknode2vec 中,这是通过将 random walker 在网络上遍历的顶点路径结合一个邻域函数来实现的。

    我们也可以将 random walker 放到异质网络中,从而生成多种类型顶点的路径。在随机游走的第 十一、metapath2vec - 图57 步,我们定义转移概率 十一、metapath2vec - 图58 为:在顶点 十一、metapath2vec - 图59 的邻域上的归一化概率分布,其中忽略顶点类型。然后将生成的游走序列作为 node2vecDeepWalk 的输入。

    但是, Sun 等人证明了:异质随机游走偏向于高度可见的顶点类型(即那些在路径中频繁出现的顶点类型),以及中心顶点(即那些出现频繁出现在关键路径中的顶点)。有鉴于此,metapath2vec 设计了基于 meta-path 的随机游走,从而生成能够捕获不同类型顶点之间的语义相关性和结构相关性的游走序列,从而有助于我们将异质网络结构转化为异质 skip-gram

    形式化的,一个 meta-path 范式 十一、metapath2vec - 图60 定义为一个路径:

    十一、metapath2vec - 图61

    其中 十一、metapath2vec - 图62 定义顶点类型 十一、metapath2vec - 图63 之间的一个组合关系。以下图为例:meta-path:APA 代表两个作者 A 在同一论文 P 上的 co-author 关系;meta-path:APVPA 代表两个作者 A 在同一个会议 V 的不同论文 P 上的 co-venue 关系。

    十一、metapath2vec - 图64

    先前的工作表明:异质信息网络中的许多数据挖掘任务都可以通过 meta-path 建模受益。这里我们展示如何利用 meta-path 来指导异质 random walker

    给定一个异质网络 十一、metapath2vec - 图65 以及一个 meta-path 范式 十一、metapath2vec - 图66,在随机游走的第 十一、metapath2vec - 图67 步的转移概率定义为:

    十一、metapath2vec - 图68

    其中: 十一、metapath2vec - 图69 表示第 十一、metapath2vec - 图70 步的顶点;十一、metapath2vec - 图71 表示顶点 十一、metapath2vec - 图72 的、类型为 十一、metapath2vec - 图73 的邻居顶点。

    • 由于 十一、metapath2vec - 图74,这意味着 random walker 必须根据预定义的 meta-path 十一、metapath2vec - 图75 来游走。

    • 通常meta-path 都是对称的,如 十一、metapath2vec - 图76 ,因此有:

      十一、metapath2vec - 图77

    • 基于 meta-path 的随机游走策略可以确保不同类型顶点之间的语义关系可以正确的合并到 skip-gram 中。

      如下图所示,假设上一个顶点为 CMU,当前顶点为 十一、metapath2vec - 图78 。在传统的随机游走过程中,下一个顶点可能是 十一、metapath2vec - 图79 周围的顶点 十一、metapath2vec - 图80 。但是在meta-path 的范式 OAPVPAO 下,下一个顶点倾向于论文类型的顶点 十一、metapath2vec - 图81 ,从而保持路径的语义。

      十一、metapath2vec - 图82

11.1.3 metapath2vec ++

  1. metapath2vec 在创建顶点 十一、metapath2vec - 图83 的邻域 十一、metapath2vec - 图84 时,根据上下文顶点的类型来区分顶点 十一、metapath2vec - 图85 的上下文顶点。但是它忽略了 softmax 函数中的顶点类型信息。即:在给定顶点 十一、metapath2vec - 图86 的条件下,为了推断来自邻域 十一、metapath2vec - 图87 中的上下文 十一、metapath2vec - 图88 的顶点类型,metapath2vec 实际上采用了所有类型的负样本,包括相同类型 十一、metapath2vec - 图89 的负样本,以及其它类型的负样本。

    论文提出的 metapath2vec ++ 框架采用异质负采样策略 heterogeneous negative sampling 。该框架中,softmax 根据上下文顶点 十一、metapath2vec - 图90 的类型进行归一化,即 十一、metapath2vec - 图91 根据指定的顶点类型 十一、metapath2vec - 图92 来调整:

    十一、metapath2vec - 图93

    其中 十一、metapath2vec - 图94 为类型为 十一、metapath2vec - 图95 的顶点集合。

  2. metapath2vec ++ 会为 skip-gram 模型输出层中的每种邻域类型定义一组 softmax 分布。

    metapath2vec、node2vec、DeepWalk 中,输出softmax 分布的维度等于网络的顶点数量 十一、metapath2vec - 图96。但是在 metapath2vec ++ 中,输出 softmax 分布的维度由类型为 十一、metapath2vec - 图97 的顶点数量 十一、metapath2vec - 图98 决定。

    如下图所示给定顶点 十一、metapath2vec - 图99metapath2vec ++ 输出四组softmax 分布,每一组分布对应于不同的邻域顶点类型:会议V、作者 A、组织 O、论文 P十一、metapath2vec - 图100 给出了类型为 十一、metapath2vec - 图101 的顶点集合,十一、metapath2vec - 图102十一、metapath2vec - 图103 给出了顶点邻域中类型为 十一、metapath2vec - 图104 的邻居顶点数量,十一、metapath2vec - 图105

    十一、metapath2vec - 图106

  3. 受到 PTE 的启发,metapath2vec 在负采样过程中同样可以根据邻居顶点 十一、metapath2vec - 图107 的类型进行调整,因此有目标函数:

    十一、metapath2vec - 图108

    其中 十一、metapath2vec - 图109 为类型为 十一、metapath2vec - 图110 的顶点的分布函数。

    目标函数的梯度为:

    十一、metapath2vec - 图111

    其中 十一、metapath2vec - 图112 为一个示性函数,用于指示 十一、metapath2vec - 图113 是否为邻域上下文顶点 十一、metapath2vec - 图114 ,并且当 十一、metapath2vec - 图115十一、metapath2vec - 图116

    最终可以通过随机梯度下降算法来对模型进行优化求解。

  4. metapath2vec++ 算法:

    • 输入:

      • 异构网络 十一、metapath2vec - 图117
      • 一个 meta-path 范式 十一、metapath2vec - 图118
      • 每个顶点开始的游走序列的数量 十一、metapath2vec - 图119
      • 每条游走序列的长度 十一、metapath2vec - 图120
      • embedding 维度 十一、metapath2vec - 图121
      • 邻域大小 十一、metapath2vec - 图122 (即窗口大小)
    • 输出:顶点的 embedding 矩阵 十一、metapath2vec - 图123

    • 算法步骤:

      • 初始化 十一、metapath2vec - 图124

      • 迭代 十一、metapath2vec - 图125 ,迭代步骤为:

        遍历图 十一、metapath2vec - 图126 中的每个顶点 十一、metapath2vec - 图127 ,执行:

        十一、metapath2vec - 图128

      • 返回 十一、metapath2vec - 图129

  5. MetaPathRandomWalk 算法:

    • 输入:

      • 异构网络 十一、metapath2vec - 图130
      • 一个 meta-path 范式 十一、metapath2vec - 图131
      • 当前顶点 十一、metapath2vec - 图132
      • 每条游走序列的长度 十一、metapath2vec - 图133
    • 输出:一条 meta-path 随机游走序列

    • 算法步骤:

      • 初始化:十一、metapath2vec - 图134

      • 迭代 十一、metapath2vec - 图135 ,迭代过程为:

        根据 十一、metapath2vec - 图136 采样顶点 十一、metapath2vec - 图137 ,并记录 十一、metapath2vec - 图138

      • 返回 十一、metapath2vec - 图139

  6. HeterogeneousSkipGram 算法:

    • 输入:

      • 当前的 十一、metapath2vec - 图140
      • 邻域大小 十一、metapath2vec - 图141
      • 随机游走序列 十一、metapath2vec - 图142,以及它的长度 十一、metapath2vec - 图143
    • 输出:更新后的 十一、metapath2vec - 图144

    • 算法步骤:

      • 迭代 十一、metapath2vec - 图145 ,迭代步骤为:

        取出当前顶点 十一、metapath2vec - 图146 , 对左侧的 十一、metapath2vec - 图147 个顶点、右侧的 十一、metapath2vec - 图148 个顶点共计 十一、metapath2vec - 图149 个顶点进行更新:

        十一、metapath2vec - 图150

        其中 十一、metapath2vec - 图151 为学习率。

  7. 下图给出了异质学术网络heterogeneous academic network ,以及学习该网络embeddingmetapath2vec/metapath2vec ++skip-gram 架构。

    • a 的黄色虚线表示 co-author 关系,红色虚线表示论文引用关系。
    • b 表示 metapath2vec 在预测 十一、metapath2vec - 图152 的上下文时,使用的 skip-gram 架构。其中 十一、metapath2vec - 图153 为顶点数量,十一、metapath2vec - 图154 的邻居顶点包括 十一、metapath2vec - 图155 ,窗口大小 十一、metapath2vec - 图156
    • c 表示 metapath2vec ++ 在预测 十一、metapath2vec - 图157 的上下文时,使用的 skip-gram 架构。

    十一、metapath2vec - 图158

11.2 实验

  1. 这里我们展示了 metapath2vec/metapath2vec ++ 用于异质网络表示学习的效果和效率。我们评估了经典的三种异质网络挖掘任务,包括:顶点分类问题、顶点聚类问题、顶点相似性查找问题。

    另外,我们还通过 tensorflowembedding 可视化来观察异质学术网络中学到的顶点 embedding

  2. 数据集:我们使用以下两个异质网络,它们都是公开的:

    • AMiner Computer Science(CS) dataset:包含 2016 年之前j举行的 3883 个计算机科学venue(包含会议 conference 和期刊 journal )的 9323739 名计算机科学家,以及 3194405 篇论文。

      我们构建了一个异质网络,该网络包含三种类型的顶点:作者 A、论文 Pvenue:V

    • Database and Information Systems(DBIS) dataset:包含 464 个会议,以及其中 top-5000 个作者,以及对应的 72902 篇论文。

      我们也构建了一个异质网络,该网络包含四种类型的顶点:作者 A、论文 Pvenue:V

  3. 基准模型:我们将 metapath2vec/metapath2vec ++ 和以下几种 embedding 方法比较:

    • DeepWalk/node2vec :在相同的随机游走序列输入下,我们发现 DeepWalkhierarchical softmax十一、metapath2vec - 图159node2vec 的负采样之间并未产生显著差异,因此我们这里采用 十一、metapath2vec - 图160node2vec
    • LINE:我们使用同时采用了1 阶邻近度和 2 阶邻近度的 LINE 模型。
    • PTE:我们构建了三个异质二部图 A-A, A-V, V-V ,并将其作为无监督 embedding 学习方法的约束。
    • 谱聚类Spectral Clustering/图的因子分解 Graph Factorization:因为早前的研究表明 DeepWalkLINE 的性能超越了它们,因此这里并不考虑这两种方法。
  4. 参数配置:对于所有模型,我们使用以下相同的参数:

    • 每个顶点开始的随机游走序列数量 十一、metapath2vec - 图161

    • 每个随机游走序列长度 十一、metapath2vec - 图162

    • 隐向量维度 十一、metapath2vec - 图163 。注意:对于 LINE 模型,其一阶embedding 和 二阶 embedding 的维度都是 128

    • 邻域尺度 十一、metapath2vec - 图164

    • 负采样大小 十一、metapath2vec - 图165

    • 对于 metapath2vec/metapath2vec ++ ,我们还需要指定 meta-path 范式来指导随机游走的生成。我们调查了大多数基于 meta-path 的工作,发现异质学术网络中最常用和有效的meta-path 范式是 APAAPVPA

      我们的实验表明:meta-path 范式 APVPA 产生的顶点 embedding 可以泛化到各种异质学术网络的挖掘任务中。

    最后,在参数敏感性实验中,我们对参数中的一个进行变化,同时固定其它参数来观察 metapath2vec/metapath2vec ++ 的效果。

11.2.1 顶点分类

  1. 我们使用第三方的 label 来确定每个顶点的类别。

    • 首先将 Google Scholar 中的八个会议的研究类别与 AMiner 数据中的会议进行匹配:

      1. 1

      每种类别20 个会议。在这 160 个会议中,有 133 个已经成功匹配并进行相应的标记。

    • 然后,对于这 133 个会议的论文的每位作者,将他/她分配给他/她大部分论文的类别,如果论文类别分布均匀则随机选择一个类别。最终有 246678 位作者标记了研究类别。

  2. 我们从完整的 AMiner 数据集中学到顶点的 embedding ,然后将上述顶点标记以及对应的顶点 embedding 一起作为逻辑回归分类器的输入。

    我们将训练集规模从标记样本的 5% 逐渐增加到 90% ,并使用剩下顶点进行测试。我们将每个实验重复十轮,并报告平均的 macro-F1micro-F1

    下表给出了 Venue 类型顶点的分类结果。

    十一、metapath2vec - 图166

    下表给出了 Author 类型顶点的分类结果:

    十一、metapath2vec - 图167

    结论:

    • metapath2ve/metapath2vec ++ 模型始终一致且明显的优于所有其它基准方法。
    • 在预测 venue 类别顶点时,由于训练数据量比 author 类别顶点少得多,因此 metapath2vec/metapath2vec ++ 的优势特别明显。
  3. 我们接下来对 metapath2vec ++ 的几个通用参数进行超参数敏感性分析。我们变化其中的一个超参数,然后固定其它的超参数。

    结论:

    • 从图 ab 可以看到,参数 十一、metapath2vec - 图168十一、metapath2vec - 图169 对于 author 顶点的分类性能是正相关的,其中 十一、metapath2vec - 图170十一、metapath2vec - 图171 左右,author 顶点分类性能提到到峰值附近。

      但是令人惊讶的是,十一、metapath2vec - 图172 对于 venue 顶点的分类性能无关。

    • 从图 cd 可以看到,embedding 尺寸 十一、metapath2vec - 图173 和邻域大小 十一、metapath2vec - 图174venue 顶点分类性能无关。而 十一、metapath2vec - 图175 对于 author 顶点分类性能至关重要,下降的曲线表明较小的邻域大小对于 author 顶点能够产生更好的 embedding 表示。

      这和同质图完全不同。在同质图中,邻域大小 十一、metapath2vec - 图176 通常对顶点分类显示出积极影响,而这里是消极影响。

    • 这些通用的超参数在异质网络中表示出和同质网络中不同的效果,这表明对于异质网络表示学习需要采用不同的思路和解决方案。

    十一、metapath2vec - 图177

11.2.2 顶点聚类

  1. 我们采用与上述分类任务中使用的相同的八个类别的 author 顶点和 venue 顶点,我们针对这些顶点的 embedding 进行聚类。这里我们使用 k-means 聚类算法,并通过归一化的互信息 NMI 来评估聚类效果。

    所有聚类实验均进行十次,并报告平均性能,结果如下表所示。结论:

    • 总体而言,metapath2vecmetapath2vec ++ 优于其它所有方法。
    • venue 顶点聚合结果可以看到,大多数方法的NMI 都较高,因此该任务相对容易。而 author 顶点聚类指标都偏低,因此任务更难。

    十一、metapath2vec - 图178

  2. NMI 指标:给定随机变量 十一、metapath2vec - 图179 ,则归一化的互信息定义为:

    十一、metapath2vec - 图180

  3. 和分类实验的步骤相同,我们研究了聚类任务中 metapath2vec ++ 的参数敏感性,衡量指标为 NMI

    • 从图 ab 可以看到,author 顶点和 venue 顶点在 十一、metapath2vec - 图181 时可以在效果和计算效率之间取得平衡。

    • 从图 cd 可以看到,对于 author 顶点,十一、metapath2vec - 图182十一、metapath2vec - 图183 与聚类性能呈负相关;而对于venue 顶点,十一、metapath2vec - 图184 也与聚类性能负相关,但是十一、metapath2vec - 图185 增加时聚类 NMI 先增加后减小。

      对于 author 顶点和 venue 顶点,当 十一、metapath2vec - 图186 时,生成的 embedding 可以得到较好的聚类结果。

    十一、metapath2vec - 图187

11.2.3 相似度查找

  1. 我们从 AMiner 数据集选择 16 个不同领域的顶级 CS 会议,然后通过余弦相似度选择这些会议顶点的 top 10 相似度结果。

    结论:

    • 对于query 顶点 ACLmetapath2vec++ 返回的venue 具有相同的主题 NLP ,如 EMNLP(1st)NAACL(2nd)Computational Linguistics(3rd)CoNLL(4th)COLING(5th) 等等。

      其它领域的会议的 query 也有类似的结果。

    • 大多数情况下,top3 结果涵盖了和 query 会议声望类似的venue。例如theory理论领域的 STOCFOCSsystem系统领域的 OSDISOSParchitecture 架构领域的HPCAISCAsecurity 安全领域的 CCSS&Phuman-computer interaction 人机交互领域的 CSCWCHINLP 领域的 EMNLPACLmachine learning 机器学习领域的 ICMLNIPSweb 领域的 WSDMWWWartificial intelligence 人工智能领域的 AAAIUCAIdatabase 数据库领域的 PVLDBSIGMOD 等等。

    十一、metapath2vec - 图188

  2. 类似的,我们从 DBIS 数据中选择另外的 5CS 会议,然后通过余弦相似度选择这些会议顶点的 top 10 相似度结果。结论也类似。

    十一、metapath2vec - 图189

  3. 我们从 DBIS 数据中选择一个会议顶点、一个作者顶点,然后比较不同 embedding 方法找出的 top-5 相似度的结果。结果如下表所示,其中 metapath2vec ++ 能够针对不同类型的 query 顶点获得最佳的 top-5 相似顶点。

    十一、metapath2vec - 图190

11.2.4 可视化

  1. 我们使用 tensorflow embedding 2PCA 来进一步可视化模型学到的顶点 embedding 。我们从 AMiner 数据集选择 16 个不同领域的顶级 CS 会议,以及对应的顶级作者进行可视化。

    • 从图 d 可以看到,metapath2vec++ 能自动组织这两种类型的顶点,并隐式学习它们的内部关系。这种内部关系可以通过连接每对顶点的箭头的方向和距离表示,如 J.Dean --> OSDIC.D.Manning --> ACLR.E.Tarjan --> FOCSM.I.Jordan --> NIPS 等等。

      这两类顶点位于两个独立的“列”中,很显然图 abembedding 无法达到同样的效果。

    • 从图 c 可以看到,metapath2vec 能够将每对 “作者-会议” pair 对进行紧密的分组,而不是将两种类型的顶点分类两列。如 R.E.Tarjan + FOCSH.Jensen + SIGGRAPHH.Ishli + CHIR.Agrawal + SIGMOD 等等。 常规的 embedding 方法也无法达到这种效果。

    • metapath2vec/metapath2vec++ 都可以将来自相似领域的顶点放在一起、不同领域的顶点相距较远。这种分组不仅可以通过会议顶点来反映,还可以通过作者顶点来反映。

    十一、metapath2vec - 图191

  2. 下图通过 t-SNE 可视化了metapath2vec++ 学到的AMiner 数据集不同领域的顶级 CS 会议,一共48 个会议、16个领域,每个领域 3 个会议。

    • 可以看到:来自同一个领域的会议彼此聚在一起,并且不同组之间的间隔比较明显。这进一步验证了 metapath2vec++embedding 能力。
    • 另外,异质 embedding 能够揭示不同领域的顶点之间的相似性。如,右下角的 Core CS 领域的几个簇、右上角的 Big AI 领域的几个簇。

    十一、metapath2vec - 图192

11.2.5 可扩展性

  1. metapath2vec/metapah2vec ++ 可以使用和 word2vec/node2vec 中相同的机制来并行化。我们对 AMiner 数据集进行实验,实验在 Quad 12(48) core 2.3 GHz Intel Xeon CPUs E7-4850 上进行。我们实现不同的线程数 {1,2,4,8,16,24,32,40} ,每个线程使用一个 CPU core

    下面给出了metapath2vec/metapath2vec++ 的加速比。最佳加速比由虚线 十一、metapath2vec - 图193 表示。我们的这两种方法都可以达到能够接受的亚线性加速比,它们都接近于虚线。

    具体而言,在使用 16core 时,它们可以实现 11-12 倍的加速比;使用 40core 时,它们可以实现 24-32 倍加速比。

    十一、metapath2vec - 图194

  2. 在使用 400core 时,metapath2vec ++ 的学习过程只需要 9 分组即可训练整个 AMS CS 网络的 embedding ,该网络由 900 万以上的作者、3300 多个 venue300 万篇论文组成。

    总体而言,对于具有数百万个顶点的大规模异质网络,metapath2vec/metapath2vec++ 是有效的且 scalable 的。

11.2.6 未来方向

  1. metapath2vec/metapath2vec++ 模型和 DeepWalk/node2vec 一样,在对网络采样生成大量随机游走路径时,面临大量中间临时输出数据的挑战。因此识别和优化采样空间是一个重要方向。
  2. 和所有基于 meta-path 异质网络挖掘方法一样,可以通过自动学习有意义的 meta-path 来进一步改善 metapath2vec/metapath2vec++