ML = Representation + Objective + Optimization

# Typical representation for KG

最早的知识一般通过三元组的形式 (symbolic triples) 来表示。

# TransE

最基本的想法,从 word2vec 论文中出现。其核心是 h+r=th + r = t, 即头实体和关系的嵌入向量和就是尾实体的向量。这里的优化目标是

f(h,r,t)=h+rt.f(\bm{h},\bm{r},\bm{t}) = \|\bm{h} + \bm{r} - \bm{t}\|.

但这是一个病态的最优函数,因为很容易学习到所有表示均为 00. 于是引入负样本

{h,r,t}Δ{h,r,t}Δ[γ+f(h,r,t)f(h,r,t)]+\sum_{\{\bm{h}, \bm{r, \bm{t}}\} \in \Delta}\sum_{\{\bm{h'}, \bm{r}, \bm{t'}\} \in \Delta'} [\gamma + f(\bm{h},\bm{r},\bm{t}) - f(\bm{h}',\bm{r}',\bm{t}')]_{+}

其中 [x]+=max(0,x)[x]_+ = \max(0, x), Δ\Delta 是知识图谱中的三元组,也就是正样本。Δ\Delta' 是负样本。

负样本的选取包括如下方式:

  1. 随机选取 (random negative): 只要不在正样本中,就是负样本。这样头实体和尾实体之间可能毫无关系,从而导致学习的难度非常简单。
  2. 困难的负样本 (hard negative): 选取那些最有可能是正例的负样本。例如选择 {Yao Ming, Born in, Beijing}\text{\{Yao Ming, Born in, Beijing\}} 作为负例。但是这样可能会采集到假的负样本。例如 A 的朋友是 B 没有出现在知识图谱中,但是两人可能真的是朋友。

# Semantic Matching

与 TransE 相同年代 (2013) 年,另一派方法是 semantic matching. 其核心思想是衡量头实体和尾实体之间的距离。代表方法是 RESCAL 和 DistMult.

RESCAL 主张计算头实体和尾实体下的某种意义上的 distance:

fr(h,t)=hMrt.f_r(h,t) = \bm{h}^{\top}\bm{M}_r\bm{t}.

这里表示头实体按矩阵 Mr\bm{M}_r 所对应的方向进行旋转,是否会落在尾实体点上。

DistMult 是对 RESCAL 的进一步优化:

fr(h,t)=hdiag(r)t.f_r(h,t) = \bm{h}^{\top}\text{diag}(r)\bm{t}.

这里相比于 RESCAL 进一步降低了复杂度,同时保证了矩阵的秩不变。

进一步的改进是 Scoring funtion: circular correlation:

fr(h,t)=r(ht).f_r(h,t) = \bm{r}^{\top} (\bm{h} \star \bm{t}).

# TransE 改进

国内数得上号的 NLP 选手都搞过 TransE 的改版。

# Complex Relations

知识图谱中包括多种关系,分别是一对一、一对多、多对一多对多等。这样,如果将 TransE 的模型优化到最优,那么一对多、多对一、多对多等中,很多节点可能都会重合,但是其本质上有所不同。比如如果学习美国总统是谁这个关系时,奥巴马和川普容易发生重合。

解决方法包括:

  1. 投影
  2. 改变模型的嵌入空间
  3. 使用更加复杂的编码模型

# Projection

代表性的工作是 TransH 和 TransR.

# TransH

优化目标是

fr(h,t)=(hwrhwr)+r(twrtwr)22.f_r(h, t) = -\|(\bm{h} - \bm{w}_r^{\top}\bm{h}\bm{w}_r) + \bm{r} - (\bm{t} - \bm{w}_r^{\top}\bm{t}\bm{w}_r)\|_2^2.

也就是需要学习其在超平面上的投影。

# TransR

相比于 TransH, TransR 更加稳定。

# TransD

TransD 没有将头实体和尾实体投影到相同空间中,提高了模型的学习灵活度。但是在物理空间上不好理解。

# Change Embedding Space

ComplEx: 认为向量不仅有实部的 embedding, 还有虚部的 embedding.

fr(h,t)=Re(hdiag(r)t)=Re.f_r(h,t) = \mathrm{Re}(h^{\top}\mathrm{diag}(r)t) = \mathrm{Re}.

也可以嵌入到双曲空间中。但是似乎没有那么 work.

ATTH.

KG2E.

Gaussian Distribution

# 使用复杂的编码模型

# MLP(NTN)

cdq 做的。

# MLP(CNN)

ConvE: 把图像领域的 CNN 挪到 NLP 上。

# Transformer

CoKE 尝试用 Transformer 对三元组建模。

# GNN

R-GCN: Relation-spectific GNN.

早期的 GCN 是面向同质图的,但是 KG 中需要边具有不同的属性。于是出现了 R-GCN.

# Evaluation

# Dataset

  • FB15k, FB15k237
  • WN18, WN18RR

# Metric

  • Hits@N
  • MeanRank
  • MRR

# Fusion of External Information and KG