# 异构信息网络(HIN)
异构信息网络(Heterogeneous Information Network,HIN)是一种包含多种类型节点和多种类型边的复杂网络,它可以用于表示不同实体之间的复杂关系,如人、物、事件等。在 HIN 中,不同类型的节点和边都具有不同的含义和语义,因此需要采用不同的方法来进行表示学习和分析。
下面的图是Twitter系统的TwHIN结构的示意图:

HIN 的形式化表述为一个图$G=(V,E,T,R)$,其中:
- $V$,表示节点集合;
- $E$,表示边集合;
- $T$,表示节点类型集合,每个节点 $v_i\in V$ 都属于某一类型 $t_i\in T$;
- $R$,表示关系类型集合,每个边 $(u,v)\in E$ 都属于某一关系类型 $r_{i,j}\in R$,并连接着类型为 $i$ 的节点 $u$ 和类型为 $j$ 的节点 $v$。
需要注意的是,HIN 中节点和边的属性信息可以是多样的,如文本、图片、语义信息等。这些信息可以用于特征提取和分析,从而提高数据挖掘和机器学习任务的效果。
在 HIN 中,节点和边的复杂性导致了许多传统的网络分析方法不再适用,因此需要开发新的算法和技术来处理和分析 HIN 数据。一种将简单图嵌入扩展到HIN的方法是Metapath2Vec。
## Metapath2Vec
Metapath2Vec 算法的基本思想是将不同类型的节点连接起来的复杂关系,抽象为不同的 metapath,然后在这些 metapath 上执行随机游走,���成节点序列,最后用 SkipGram 算法学习节点的嵌入向量。具体来说,Metapath2Vec 算法的执行过程包括以下几个步骤:
- 定义 metapath:选择合适的 metapath 是 Metapath2Vec 算法的关键。Metapath 是指由节点和边构成的路径,其中包含特定类型节点和关系的序列。比如,在一个包含作者、论文和会议三种节点的 HIN 中,可以定义 metapath 为 A-P-A,表示由作者到论文再到作者的路径。通过定义不同的 metapath,可以抽象出不同类型节点之间的语义关系。
- 执行随机游走:在 HIN 中执行随机游走,生成节点序列。与 DeepWalk 算法类似,Metapath2Vec 也采用随机游走的方式生成节点序列,但是在游走过程中需要满足 metapath 的限制条件,即只能沿着特定类型的节点和边进行游走。
- 训练嵌入向量:使用 SkipGram 算法学习节点的嵌入向量。
- 应用嵌入向量:使用学习到的节点嵌入向量来进行节点分类、链接预测等任务。通过将节点嵌入向量作为节点的特征表示,可以使用常规的机器学习算法进行分类、预测等任务。