参考:
- https://blog.csdn.net/A_A666/article/details/108366456
- https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9437852&tag=1
一、异质图与同质图
概念
- 同质(Homogeneity)图:同质(Homogeneity)图指的是图中的节点类型和关系类型都仅有一种。
- 异质(heterogeneous)图:指的是图中的节点类型或关系类型多于一种。
数学描述
- 将图描述为: G = ⟨ V , E ⟩ G=\langle\mathcal{V}, \mathcal{E}\rangle G=⟨V,E⟩ ,异质图在此基础上增加了两个映射函数
- 结点类型映射函数: ϕ ( ⋅ ) : V → O \phi(\cdot): \mathcal{V} \rightarrow \mathcal{O} ϕ(⋅):V→O ,将每一个结点映射为结点类型
- 边类型映射函数: ψ ( ⋅ ) : E → R \psi(\cdot): \mathcal{E} \rightarrow \mathcal{R} ψ(⋅):E→R,将每一条边映射为边类型。
- 每一个结点 v ∈ V v \in \mathcal{V} v∈V 属于某一类结点类型。
- 如果 ∣ O ∣ > 1 |\mathcal{O}|>1 ∣O∣>1 或者 ∣ R ∣ > 1 |\mathcal{R}|>1 ∣R∣>1,意味着该图有多个类型的结点和边,这种图被称为异质图,否则就是同质图。
二、属性异质图
- 属性图:在异质图基础上增加了额外的属性信息。
- 属性异构图是一种能够同时对原始网络拓扑结构和节点属性进行建模的图。在这种图中,每个节点与多个属性信息相关联,这些属性信息可以被编码为特征向量。 给定一个具有属性的异构图 G = < V , E , A > G=<\mathcal{V}, \mathcal{E}, \mathcal{A}> G=<V,E,A>,, A = { x v ∣ v ∈ V } \mathcal{A}=\left\{\mathbf{x}_{v} \mid v \in \mathcal{V}\right\} A={ xv∣v∈V} 表示图中所有节点的特征向量集合。 G . x v G . \mathbf{x}_{v} G.xv 表示节点 v v v的特征向量。
对于节点类型和关系类型的理解
- 比如我今天看了电影《流浪地球》,那“我”作为观众和电影《流浪地球》之间就建立了“看了”这一关系。异质(heterogeneous)图可以用来描述这种交互关系的集合。这个图分“观众”和“电影”两类节点,以及“看了”这一类边。“我”作为观众,和电影所具有的属性一定是不同的,需要用不同的模型或者不同的特征维度来表达。这张图就天然具有了异质(heterogeneous)性。
再比如我去豆瓣上给《流浪地球》评了8分,那“我”和《流浪地球》之间就又建立了“评分”这一关系。“评分”和“看了”的属性也一定是不同的,如前者包含评分分数,后者则包含票价等。对于属性信息的理解
- 比如一个用户节点,节点存在着很多附加信息:“姓名”,“注册时间”等等内容