知识图谱表示
用某种语言对知识图谱进行建模,从而方便知识运算。
-
符号知识表示 :以符号逻辑为基础的知识表示方法。
特点:易于刻画显示、离散的知识。具有内生的可解释性。
不足:部分隐性知识不易符号化表示,故知识表示不完备失去鲁棒性推理难达应用。 -
向量知识表示:基于向量方式表示知识。
特点:可以通过数值运算发现新事实和和新关系,有效发现更多隐性知识和潜在假设;通常作为一种类型的先验知识辅助输入很多深度神经网络模型中用来约束和监督神经网络训练过程。
流行的以三元组为基础的知识表示方法弱化了对强逻辑的要求;另外基于向量的知识图谱表示使得数据更易于在搜索、问答等应用的深度学习模型集成应用,因此基于向量的知识图谱表示越来越受重视。下面着重介绍知识图谱的向量表示方法。
知识图谱的向量表示
1、产生背景
基于离散符号的方法表示知识,不能在计算机中表达相应语义层面的信息,也不能语义计算;对于数据量较大的图谱,需要改进传统的表示方法。
在自然语言处理领域中,因为离散符号化的词语不能蕴含语义信息,所以将词映射到向量空间,这不仅有利于进行计算,在映射过程中也能使相关的向量蕴含一定的语义。知识图谱中的向量表示方法也在这里有所借鉴。
2、知识图谱的向量表示定义
知识图谱的向量表示:将知识图谱中包括实体和关系的内容映射到连续向量空间方法的研究领域。
(也叫做知识图谱嵌入、知识图谱的表示学习、知识表示学习)
知识图谱嵌入方法的训练需要基于监督学习。在训练过程中可以学习到语义层信息。
3、知识图谱嵌入的优点
- 提高应用时的计算效率
- 增加了下游应用设计的多样性
- 作为下游应用的与训练向量输入时包含一定信息
4、知识图谱嵌入的主要方法
知识图谱嵌入方法的分类:
- 基于转移距离,(TransE等模型)
- 基于语义匹配,(RESCAL等模型)
- 基于神经网络,(ConvE等模型)
- 基于图神经网络,(GNN模型)
- 考虑附加信息的模型,(PTransE等)
(1)基于转移距离
a、TransE模型
知识图谱存储形式:三元组(头实体, 关联关系, 尾实体),暨: 三元组(h,r,t)
转移距离模型:是将衡量向量化后的知识图谱中三元组的合理性问题,转化为衡量头实体和尾实体的距离问题。由此,得分函数通常被设计成利用关系把头实体转移到尾实体的合理性函数。
TransE 把关系的向量表示解释成头实体向量到尾实体向量的转移向量。
暨对于一个三元组(h,r,t)的实体与关系要满足h+r
≈
\approx
≈t
TransE打分函数对于正样本的loss越接近于0越好,负样本的loss越大越好,从而在总loss越小越合理。
下面是TransE原文中给出的TransE算法。
缺点:在处理复杂关系(1-N、N-1 和 N-N)时,性能显著降低。例如: 当 h=美国,r=总统,
t
1
t_{1}
t1=特朗普,
t
2
t_{2}
t2=拜登;美国与总统此时应该时1-N的,但是使用TransE来计算时:
h
+
r
≈
t
1
h
+
r
≈
t
2
\begin{matrix} h+r \approx t_{1}\\ h+r \approx t_{2} \end{matrix}
h+r≈t1h+r≈t2
于是有:
t
1
≈
t
2
t_{1}\approx t_{2}
t1≈t2 ,显然这个是不太合理的。
b、TransH模型
针对TransE模型在处理复杂关系(1-N、N-1 和 N-N)时效果不好;对每一个关系r,都给出一个超平面
W
r
W_{r}
Wr,在
W
r
W_{r}
Wr超平面上定义关系向量
d
r
d_{r}
dr,将原有的头实体h和尾实体t映射到超平面上为
h
⊥
h_{\bot}
h⊥,
t
⊥
t_{\bot}
t⊥。
h和t分别代表头结点和尾节点的向量,而关系超平面由平面的法向量
w
r
w_{r}
wr以及平面上的平移向量
d
r
d_{r}
dr表示。
h
⊥
=
h
−
w
r
T
h
w
r
t
⊥
=
t
−
w
r
T
t
w
r
\begin{matrix} h_{\perp } = h - w_{r}^{T} hw_{r}\\t_{\perp } = t - w_{r}^{T} tw_{r} \end{matrix}
h⊥=h−wrThwrt⊥=t−wrTtwr
w
r
T
h
w
r
w_{r}^{T} hw_{r}
wrThwr :表示h在
w
r
w_{r}
wr上的投影,
w
r
T
h
w_{r}^{T} h
wrTh = |w| |h| cosθ 表示h 在
w
r
w_{r}
wr方向上投影的长度(带正负号)。下式即为TransH模型打分函数:
f r ( h , t ) = − ∥ h ⊥ + d r − t ⊥ ∥ 2 2 f_{r}(h, t) = -\left \| h_{\perp } + d_{r} - t_{\perp }\right \| _{2}^{2} fr(h,t)=−∥h⊥+dr−t⊥∥22
c、TransR模型
(2)基于语义匹配
a、RESCAL模型
RESCAL模型 的核心思想是将整个知识图谱编码为一个三维张量,由这个张量分解出一个核心张量和一个因子矩阵。
核心张量 中每个二维矩阵切片代表一种关系;
因子矩阵 中每一行代表一个实体。
f r ( h , t ) = h T M r t = ∑ i = 0 d − 1 ∑ j = 0 d − 1 [ M r ] i j ⋅ [ h ] i ⋅ [ r ] j f_{r} (h, t) = h^{T}M_{r}t = \sum_{i=0}^{d-1} \sum_{j=0}^{d-1} [M_{r}]_{ij}\cdot [h]_{i}\cdot [r]_{j} fr(h,t)=hTMrt=i=0∑d−1j=0∑d−1[Mr]ij⋅[h]i⋅[r]j
b、DistMul模型
b、complEx模型
(3)基于神经网络
(4)基于图神经网络
(4)考虑附加信息的模型
4、知识图谱嵌入与知识图谱推理
知识图谱推理:基于图谱中已有的事实或关系推断出位置的事实或关系;主要能够辅助推理出新的事实、新的关系、新的公理以及新的规则等。
知识图谱推理的任务 主要有:知识图谱补全、不一致性监测、查询扩展、知识图谱融合过程中的推理任务(实体对齐、关系对齐)、链接预测等。
基于归纳的知识图谱推理:主要通过对知识图谱已有信息的分析和挖掘进行推理的,最常用的信息为已有的三元组。按照推理要素不同可分为以下几类:
- 基于知识图谱嵌入的推理
- 基于图结构的推理
- 基于规则学习的推理
5、知识图谱嵌入的应用
在知识图谱嵌入的发展中,有很多相关应用一起发展起来,它们和知识图谱嵌入之间有着相辅相成的关系。
- 链接预测
- 三元组分类
- 实体对齐
- 问答系统
- 推荐系统
参考资料
1、Translating Embeddings for Modeling Multi-relational Data
2、知识图谱方法、实践与应用【电子工业出版社】
3、简单快速讲解知识图谱嵌入(knowledge graph embedding)