【Embedding】Metapath2vec:异构网络表征

2020 年 6 月 30 日 AINLP


今天学习的是微软的一篇论文《metapath2vec: Scalable Representation Learning for Heterogeneous Networks》,发表于 KDD 2017,目前引用次数超 500 次。

很多网络表征学习主要是针对同构网络的,而本文提出的一种专门用于异构网络表征学习的方法——Metapath2Vec,其能够同时捕捉不同类型节点之间的「结构关系」「语义关系」

Metapath2Vec 使用基于元路径的随机游走方法来捕捉节点的异构邻居,然后使用异构 Skip-Gram 模型进行训练,同时建模结构上和语义上相近的节点。

此外,作者还提出了 Metapath2Vec++ 方法,针对每种类型的节点进行单独归一化,即把异构网络分解成不同的同构网络。

最终实验表明,这两种 Metapath2Vec 方法不仅在异构网络挖掘任务中取得了 SOTA 的成绩,而且还能够识别不同网络对象之间的结构和语义关系。

1.Introduction

目前大部分的工作都集中在同构网络中,但真实场景下异构网络才是最常见的。针对同构网络设计的模型很多都没法应用于异构网络,比如说,对于一个学术网络而言:如何高效根据上下文信息表征不同类型的节点?能否用 Deepwalk 或者 Node2Vec 来学习网络中的节点?能否直接将应用于同构网络的 Embedding 模型直接应用于异构网络?

解决诸如此类的挑战,有利于更好的在异构网络中应用多种网络挖掘任务:

传统的方法都是基于结构特征(如元路径 meta-path)来求相似性,类似的方法有 PathSim、PathSelClus、RankClass 等:

但这种方式挖掘出来的元路径(如 “APCPA”)经常会出现相似度为 0 的情况。如果我们能够将 Embedding 的思想应用于异构网络,则不会再出现这种情况。

基于这种观察,作者提出了两个可以应用于异构网络的 Graph Embedding 的算法模型——metapath2vec 以及 metapath2vec++。

2.Metapath2Vec

为了对异构网络节点中的邻居进行建模,metapath2vec 引入了异构 skip-gram 模型。此外,为了捕获异构网络的结构,作者还提出了基于元路径的随机游走策略。

先给出流程图:

2.1 Meta-Path-Based Random Walks

Metapath2vec 同构 metapath 来指导随机游走的节点跳转。给出元路径模式

其中,节点类型间的关系表示:

“APA” 关系表示两位作者(A)在一篇论文(P)上的合著关系;“APVPA” 表示两位作者(A)在同一会议(V)发表过论文(P)。这种元路径有利于异构网络的数据挖掘。

基于元路径模式 ,我们给出转移概率:

其中 表示节点 的邻居中属于 类型的节点集合。

也就是说,游走是在预先设定的 meta-path 的条件上。通常 meta-path 一般用在对称的路径上,第一个节点类型与最后一个节点类型相同,例如 OAPVPAO。

2.2 Heterogeneous skip-gram

对于每个节点 v,根据其不同类型的上下文最大化其上下文:

其中,V 表示网络的节点集合; 表示节点类型的集合; 表示节点 v 的类型为 t 的邻居集合。 表示节点 v 的 Embedding 向量。

考虑负采样的目标函数:

其中, 是负采样中样本的预定义分布;metapath2vec 通过均匀地观察不同类型的节点并绘制(负)节点来维护一个节点频率分布。

相比于考虑负采样的 Skip-gram 的目标函数而言并无本质区别,唯一的区别在于采样的策略上发生了变换。

##2.3 Metapath2Vec++

Metapath2Vec 在计算 Softmax 时不考虑节点的类型。Metapath2Vec++ 在采集负样本时,考虑样本与正样本属于同一个节点类型。也就是「异构负采样 (Heterogeneous negative sampling)」

考虑条件概率 p 在特定的节点类型 t 上做标准化:

此时,目标函数为:

与 Skip-gram 没有本质区别,但异构网络的「异构」信息不仅仅在采样中体现出来,也在目标函数中被体现出来。

来看下伪代码:

3.Experiment

简单看一下实验。

以 Aminer 数据集为例,“会议”节点节点分类的结果:(百分号为训练的数据集的占比)

“作者”节点分类的结果:

参数敏感性实验:

节点分类结果:

metapath2vec++ 聚类结果的可视化:

4.Conclusion

总结:本文定义了异构网络中表征学习问题,其存在不同类型的节点和边。为了应对异构网络所带来的挑战,作者提出了 Metapath2Vec 和 Metapath2Vec++ 两种算法。Metapath2Vec 首先「基于元路径的引导进行随机游走」并采集到相关序列,该能够捕捉到不同类型节点的关系结构和语义相关性。虽然,作者利用异构 Skip-gram 和异构负采样技术来学习节点的表征。Metapath2Vec++ 算法则是在计算 Softmax 时不考虑节点的类型。最终实验表明,这两种算法在异构网络中取得了不错的成绩。

5.Reference

  1. Dong Y, Chawla N V, Swami A. metapath2vec: Scalable representation learning for heterogeneous networks[C]//Proceedings of the 23rd ACM SIGKDD international conference on knowledge discovery and data mining. 2017: 135-144.
  2. 《metapath2vec: Scalable Representation Learning for Heterogeneous Networks》

推荐阅读

这个NLP工具,玩得根本停不下来

文本自动摘要任务的“不完全”心得总结番外篇——submodular函数优化

Node2Vec 论文+代码笔记

模型压缩实践收尾篇——模型蒸馏以及其他一些技巧实践小结

中文命名实体识别工具(NER)哪家强?

学自然语言处理,其实更应该学好英语

斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。


阅读至此了,分享、点赞、在看三选一吧🙏

登录查看更多
1

相关内容

在计算机网络中,异构网络是一种连接计算机和其他设备的网络,其中操作系统和协议有显著差异。例如,将基于微软Windows和Linux的个人计算机与苹果Macintosh计算机连接起来的局域网(LANs)是异构的。异构网络也被用于使用不同接入技术的无线网络中。例如,通过无线局域网提供服务并在切换到蜂窝网络时能够维持服务的无线网络称为无线异构网络。
专知会员服务
47+阅读 · 2020年8月27日
系列教程GNN-algorithms之七:《图同构网络—GIN》
专知会员服务
47+阅读 · 2020年8月9日
注意力图神经网络的多标签文本分类
专知会员服务
111+阅读 · 2020年3月28日
KDD 2019论文解读:异构信息网络上的对抗生成学习
云栖社区
22+阅读 · 2019年8月21日
图嵌入(Graph embedding)综述
人工智能前沿讲习班
449+阅读 · 2019年4月30日
KDD 18 & AAAI 19 | 异构信息网络表示学习论文解读
PaperWeekly
20+阅读 · 2019年2月25日
网络表示学习介绍
人工智能前沿讲习班
17+阅读 · 2018年11月26日
Heterogeneous Graph Transformer
Arxiv
27+阅读 · 2020年3月3日
Heterogeneous Deep Graph Infomax
Arxiv
12+阅读 · 2019年11月19日
dynnode2vec: Scalable Dynamic Network Embedding
Arxiv
13+阅读 · 2018年12月6日
Arxiv
3+阅读 · 2017年5月14日
VIP会员
Top
微信扫码咨询专知VIP会员