《知识图谱——概念与技术》笔记:基础篇
文章目录
-
-
1 知识图谱概述
-
- 1.1 知识图谱的基本概念
-
- 1.1.1 知识图谱的狭义概念
-
1.1.2 知识图谱的广义概念
- 1.2 知识图谱的分类
-
- 1.2.1 知识图谱中的知识分类
-
1.2.2 知识图谱的领域特性
-
2 基础知识
-
- 2.1 知识表示
-
- 2.1.1 基本概念
-
2.1.2 知识图谱的图表示
-
2.1.3 知识图谱的数值表示
-
2.1.4 其他相关知识表示
-
1 知识图谱概述
1.1 知识图谱的基本概念
1.1.1 知识图谱的狭义概念
作为一种知识表示形式,知识图谱是一种大规模语义网络,包含实体(Entity)、概念(Concept)及其之间的各种语义关系。
语义网络是一种以图形化的形式通过点和边表达知识的方式。语义网络中的点可以是实体、概念和值(Value)。知识图谱中的边可以分为属性(Property)与关系(Relation)两类。语义网络中的边按照其两端节点的类型可以分为概念之间的子类(subclassOf)关系、实体与概念之间的实例(instanceOf)关系,以及实体之间的各种属性与关系。

1.1.2 知识图谱的广义概念
如今在更多实际场景下,知识图谱作为一种技术体系,指代大数据时代知识工程的一系列代表性技术的总和。
1.2 知识图谱的分类
1.2.1 知识图谱中的知识分类
-
事实知识(Factual Knowledge)
事实知识是关于某个特定实体的基本事实。 -
概念知识(Taxonomy Knowledge)
概念知识分为两类:一类是实体与概念之间的类属关系(isA 关系);另一类是子概念与父概念之间的子类关系(subclassOf)。 -
词汇知识(Lexical Knowledge)
词汇知识主要包括实体与词汇之间的关系(比如,实体的命名、称谓、英文名等)以及词汇之间的关系(包括同义关系、反义关系、缩略词关系、上下位词关系等)。 -
常识知识(Commonsense Knowledge)
常识是人类通过身体与世界交互而积累的经验与知识,是人们在交流时无须言明就能理解的知识。
1.2.2 知识图谱的领域特性
随着近几年知识图谱技术的进步,其研究与落地日益从通用领域转向特定领域和特定行业,于是就有了领域或行业知识图谱(Domain-specific Knowledge Graph,DKG),其与通用知识图谱(General-purpose Knowledge Graph,GKG)之间既有显著区别也有十分密切的联系。
另一个趋势就是,越来越多的企业关注自身的知识图谱建设与应用,于是就有了企业知识图谱(Enterprise Knowledge Graph)。企业知识图谱是指横贯企业各核心流程的知识图谱。与 CKG 和 DKG 相比,企业知识图谱具有典型的「小、杂、专」的特点。

2 基础知识
2.1 知识表示
2.1.1 基本概念
知识表示是对现实世界的一种抽象表达。评价知识表示的两个重要因素是表达能力(Expressiveness)与计算效率(Efficiency)。知识的表示方式主要分为符号表示和数值表示。在实际应用中,根据不同的学科背景,人们发展了基于图论、逻辑学、概率论的各种知识表示。
2.1.2 知识图谱的图表示
-
基于图的表示
概念与图论中的一致,包括有向图/无向图、出度/入度、邻接矩阵、路径、可达性等。 -
基于三元组的表示
RDF(Resource Description Framework)是用于描述现实中资源的 W3C 标准,它是描述信息的一种通用方法,使信息可以被计算机应用程序读取并理解。现实中任何实体都可以表示成 RDF 模型中的资源,每个资源的一个属性及属性值,或者它与其他资源的一条关系,都可以表示成三元组。
一个三元组包括三个元素:主体(Subject)、谓词(Predicate)及客体(Object)。当某个三元组描述了某个资源的属性时,其三个元素也被称为主体、属性(Property)及属性值(Property Value)。比如,三元组 <亚里士多德,出生地,Chalcis> 表达了亚里士多德出生于 Chalcis 的事实。
DBpedia 的 RDF 数据集片段如下图所示。一个知识图谱可以视作三元组的集合,可以选择关系型数据库或者图数据库进行存储。相应的,可以使用 SQL 或者 SPARQL 作为三元组数据的查询语言。

2.1.3 知识图谱的数值表示
将知识图谱作为背景知识融合进深度学习模型的基本思路是,将知识图谱中的点与边表示成数值化的向量。知识图谱的表示学习旨在将知识图谱中的元素(包括实体、属性、概念等)表示为低维稠密实值向量。
学习实体和关系的向量化表示的关键是,合理定义知识图谱中关于事实(即三元组
-
基于距离的模型
SE 是其代表性模型,基本思想是当两个实体属于同一个三元组时,它们的向量表示在投影后的空间中也应该彼此靠近。因此,定义损失函数为向量投影后的距离:
f_r(\boldsymbol{h},\boldsymbol{t})=\Vert \boldsymbol{W}_{r,1} \boldsymbol{h}-\boldsymbol{W}_{r,2}\boldsymbol{t} \Vert_{l_1}
其中 \boldsymbol{W}_{r,1} 和 \boldsymbol{W}_{r,2} 分别为 \boldsymbol{h} 和 \boldsymbol{t} 的投影矩阵,l_1 表示使用 1-范数。由于 SE 模型引入了两个不同的投影矩阵,导致很难捕获实体和关系之间的语义相关性。 -
基于翻译的模型
(1)TransE 模型
TransE 模型认为在知识库中,三元组可以看成头实体 h 到尾实体 t 利用关系 r 所进行的翻译。也就是说,头实体的向量加上关系的向量,应该尽可能和尾实体的向量接近,即 \boldsymbol{h}+\boldsymbol{r} \approx \boldsymbol{t}。于是得到损失函数:
f_r(\boldsymbol{h},\boldsymbol{t})=\Vert \boldsymbol{h}+\boldsymbol{r}-\boldsymbol{t} \Vert_{l_1 / l_2}
在实际应用中,为了使正负例尽可能分开,TransE 模型使用了 Hinge Loss 目标函数(有时又称为 Max Margin):
L=\sum_{(h,r,t) \in S} \sum_{(h',r,t') \in S'} [\gamma+f_r(\boldsymbol{h},\boldsymbol{t})-f_r(\boldsymbol{h}',\boldsymbol{t}')]_+
其中 \gamma 是间隔参数,S 是正例集合(知识库中已有的三元组),S' 是负例集合(知识库中不存在的三元组,通常通过对关系 r 的三元组头尾实体进行随机替换来构造)。[x]_+ 表示正值函数,即 x>0 时,[x]_+=x,否则为 0。
(2)TransH 模型
TransE 模型中的 \boldsymbol{h}+\boldsymbol{r} \approx \boldsymbol{t} 假设太强,导致在自反、一对多、多对一等关系下实体向量学习的错误。为了解决上述问题,TransH 模型只要求头尾实体在关系 r 相对应的超平面上的投影彼此接近即可。
头实体向量 \boldsymbol{h} 和尾实体向量 \boldsymbol{t} 在超平面上利用法向量 \boldsymbol{W}_r 映射为 \boldsymbol{h}-\boldsymbol{W}_r^\top \boldsymbol{h} \boldsymbol{W}_r 和\boldsymbol{t}-\boldsymbol{W}_r^\top \boldsymbol{t} \boldsymbol{W}_r,关系 r 在超平面上的向量表示为 \boldsymbol{d}_r。因此,TransH 模型的目标函数为:
f_r(\boldsymbol{h},\boldsymbol{t})=\Vert (\boldsymbol{h}-\boldsymbol{W}_r^\top\boldsymbol{h}\boldsymbol{W}_r)+\boldsymbol{d}_r-(\boldsymbol{t}-\boldsymbol{W}_r^\top \boldsymbol{t} \boldsymbol{W}_r) \Vert_{l_1 / l_2}
(3)TransR 模型
在 TransE 模型和 TransH 模型中,实体和关系都在相同的空间中进行表示,这种做法无法区分两个语义相近的实体在某些特定关系上的不同。因此,TransR 模型提出为每个关系构造相应的向量空间,将实体与关系在不同的向量空间中分开表示。TransR 模型要求头尾实体在关系 r 相对应的向量空间中的投影彼此接近即可。
具体地说,TransR 模型将头实体向量 \boldsymbol{h} 和尾实体向量 \boldsymbol{t} 映射为 \boldsymbol{M}_r\boldsymbol{h} 和 \boldsymbol{M}_r\boldsymbol{t}。因此,TransR 模型的损失函数为:
f_r(\boldsymbol{h},\boldsymbol{t})=\Vert \boldsymbol{M}_r\boldsymbol{h}+\boldsymbol{r}-\boldsymbol{M}_r\boldsymbol{t}\Vert_{l_1 / l_2}
TransR 带来了一些新问题:首先,增加了计算复杂度;其次,对于一个三元组来说,头实体和尾实体很可能不是一类实体,使用相同的映射矩阵明显不合理;最后,TransR 模型中实体的映射关系仅由关系决定,但显然实体本身对映射也有影响。
(4)TransD 模型
TransD 模型认为映射函数应该与实体、关系同时相关。对于头尾实体向量 \boldsymbol{h} 和 \boldsymbol{t},它们的映射函数分别为:
\boldsymbol{M}_{rh}=\boldsymbol{r}_p\boldsymbol{h}_p^\top+\boldsymbol{I}^{m \times n}, \; \boldsymbol{M}_{rt}=\boldsymbol{r}_p\boldsymbol{t}_p^\top+\boldsymbol{I}^{m \times n}
那么映射后得到的头实体和尾实体向量分别为:
\boldsymbol{h}_\bot=\boldsymbol{M}_{rh}\boldsymbol{h}, \; \boldsymbol{t}_\bot=\boldsymbol{M}_{rt}\boldsymbol{t}
TransD 模型的损失函数因此变为:
f_r(\boldsymbol{h}+\boldsymbol{t})=\Vert \boldsymbol{h}_\bot+\boldsymbol{r}-\boldsymbol{t}_\bot \Vert_{l_1 / l_2}
2.1.4 其他相关知识表示
- 谓词逻辑(Predicate Logic)
命题是一个非真即假的陈述。命题可以通过谓词来表达,谓词的一般形式是 P(x_1,x_2,\cdots,x_n),其中 P 是谓词的名称,x_i 是谓词的项。x_i 既可以是一个常量,也可以是一个变量。在某个特定领域,谓词 P 可以表达领域对象之间的关系,也可以表达函数。
在谓词上可以施加否定(Negation,记作 \neg)、析取(Disjunction,记作 \vee)、合取(Conjunction,记作 \wedge)和蕴含(Implication,记作 \Rightarrow)操作构成复合命题。两个命题之间还可以是等价关系(记作 \Leftrightarrow)。为了进一步刻画谓词和个体之间的关系,在谓词逻辑中引入了两个量词:全称量词(Universal Quantifier,记作 \forall x)和存在量词(Existential Quantifier,记作 \exists x)。
如果再面向特定领域的谓词逻辑表达式中,所有变量只表达领域的对象而非谓词或者函数,那么这个谓词逻辑就是一阶谓词逻辑(First-order Predicate Logic)。
- 产生式规则(Production Rule)
产生式规则常用于表示事实与规则,以及相应的不确定性度量。产生式规则是一种形如「条件-动作」的规则,基本形式如下:
\text{IF} \, <\text{condition}> \, \text{THEN} \, <\text{conclusion}>
其中,\text{condition} 被称为前件,表示前提条件;\text{conclusion} 被称为后件,表示当前条件为真时,应采取的动作。
产生式规则可以表达不确定性,例如:
\text{IF} \, 病人具有长期吸烟史 \, \text{THEN} \, 该病人罹患肺部疾病(0.9)
- 框架(Frame)
框架表示是以框架理论为基础发展起来的一种结构化的知识表示。框架理论认为,人类对现实世界中各类事物的认知都是以框架的结构存储在记忆中的。当人面临新的情境时,会从记忆中找出一个合适的框架,并根据实际情况对这一框架的细节进行加工、修改和补充,形成对新情景的认识并存入人脑中。
框架是一种描述所论对象(事物、时间或概念)属性的数据结构。框架通常由描述事物的各个方面的槽(Slot)组成。槽用于描述所论对象某一方面的属性。每个槽可以拥有多个侧面(Facet)。每个侧面可以描述相应属性的一个方面,而且每个侧面可以拥有多个值。槽和侧面所具有的属性值分别被称为槽值和侧面值。除了槽、侧面及其值之外,在框架中还可定义约束,用于约束槽和侧面的合理取值。

- 树形知识表示
树形结构的知识表示,可以用于表达复杂条件组合下的决策与动作。决策树就是典型的树形知识表示,适用于分类。一棵决策树由根节点、若干中间节点和若干叶节点组成。根节点和中间节点对应一个属性,相应属性分类的样本集合将被划入对应的子节点。叶节点表示最终的分类结果。那么,从根节点到叶节点的每一条路径,就代表了一种分类方案。
另一类常见的树形知识表示是故障树。故障树是一种树形的逻辑因果关系图。在故障树中,父节点是产生故障的结果,也称输出事件;子节点是产生故障的原因,也称输入事件。为了能够表达因果逻辑关系,逻辑树利用逻辑符号连接子节点和父节点。

- 概率图模型(Probalistic Graphical Model)
贝叶斯网络,也被称为信念网络或者有向无环图模型,是一种概念图模型,也是不确定知识表示的典型方法。一个贝叶斯网络就是一个有向无环图,其中节点是一组随机变量 X=\{X_1,X_2,\cdots,X_n\},节点之间的有向边(由父节点指向子节点)代表随机变量之间的影响。X_i \rightarrow X_j 之间的有向边表示 X_j 的分布取决于 X_i 的取值。通常,我们把 X_i 称作因(Cause),X_j 称作 X_i 的果(Effect)。因此,贝叶斯网络常被用于表达因果关系。
贝叶斯网络可以视作基于随机变量之间的条件独立性(conditional independence)对 X 的联合分布的一种精简表示。从所编码的信息来看,每个贝叶斯网络本质上表达了 X 的某个联合概率 P 上的若干条件独立性假设。
令 G=(I,E) 代表一个贝叶斯网络,其中 I 表示图中节点的集合,E 表示有向边的集合,X=\{X_i\}_{i \in I} 表示有向无环图中的某一个节点 i 所代表的随机变量。贝叶斯网络 G 所表达的基本语义是:对于每个随机变量 X_i,给定 X_i 在 G 中的父节点集 \text{Parent}(X_i),则 X_i 与它的所有非后代节点变量条件独立。因此,贝叶斯网络 G 所对应的联合概率分布可以表示为:
P(X)=\prod_{i \in I} P(X_i \vert \text{Parent}(X_i))
贝叶斯网络的两个基本问题是学习和推理(Inference)。学习是指如何从数据中习得最优的贝叶斯网络模型。推理是指给定贝叶斯网络和其中一些随机变量的取值设置,推断其他随机变量的分布。
有向概率图模型的简化版本是无向概率图模型,又被称作马尔科夫随机场(Markov Random Field,MRF)。MRF 代表一组随机变量的联合分布,节点表示随机变量 X=\{X_i\}_{i \in I},边表示随机变量节点之间的统计依赖关系。MRF 本质上表达了一系列由图结构确定的随机变量之间的独立性假设。
MRF 具有局部马尔科夫性(Local Markov Property):给定一个随机变量的邻居信息,该随机变量独立于其所有的非邻居变量。
MRF 基于势函数(Potential Function)来估计联合概率分布。势函数 \phi_k 用于度量关系强度。对于一个无向图 G 所定义的马尔科夫随机场,其多个变量的联合概率分布通过图中最大团(Maximal Clique)分解为多个势函数的乘积,每个最大团对应一个势函数 \phi_C,于是联合概率分布为:
P(X=x)=\frac{1}{Z}\prod_{C \in \text{cl}(G)} \phi_C(x_C)
其中 \text{cl}(G) 是 MRF 对应的最大团集合,Z 是用于规范化的常数。
- 马尔可夫链(Markov Chain,MC)
马尔可夫链是一种满足马尔可夫性的离散随机变量集合。马尔可夫性(Markov Property)是指某个随机变量序列的下一个状态仅仅与当前的状态有关,而与之前的状态没有关系。一个随机变量集合 \{X_1,X_2,\cdots,X_n\} 满足马尔可夫性,如果下式成立:
P(X_{t+1} \vert X_t,\cdots,X_1)=P(X_{t+1} \vert X_t)
令 X_t 表示系统在 t 时刻状态的随机变量,X_t 可取状态 s_i \in S(一个可数集合)。马尔可夫链通常可以表示为边上带概率的有向图,节点集合是状态 S,每个有向边 s_i \rightarrow s_j 代表从状态 s_i 转移到状态 s_j 的概率 P(X_{t+1}=s_j \vert X_t=s_i),这一概率通常被称作转移概率。P(X_{t+1} \vert X_t=s_i) 是若系统在 t 时刻处于状态 s_i,下一时刻系统在所有可能状态上的概率分布。可以通过矩阵完整地表达不同状态之间的转移概率。
马尔可夫链的一个扩展是马尔科夫决策过程(Markov Decision Process,MDP)。MDP 在马尔可夫链的状态集与转移矩阵基础上增加了动作集合和奖励函数。在 MDP 中,系统在 t+1 时刻的状态 s_{t+1} 不仅取决于当前状态 s_t,还取决于系统在 t 时刻所采取的动作 a_t。MDP 为每个状态下采取的动作定义了相应的奖励 r(s_t,a_t)。一个MDP的目标是找到最优策略 \pi,其本质是状态 s_t 到对应动作 a_t 的映射 \pi:S \rightarrow A。MDP 模型通过最大化累计奖励求得最优策略。
在 MDP 的基础上又发展出了部分可观测马尔科夫决策过程(Partially Observed Markov Decision Process,POMDP)。POMDP 的当前状态是不确定的,换言之是若干状态的一个概率分布。
- 马尔可夫逻辑网
马尔可夫逻辑网(Markov Logic Network,MLN)是将一阶逻辑和马尔可夫随机场结合起来的模型。传统的一阶逻辑知识库被视作在一系列可能世界(Possible World)上所施加的一组硬约束,MLN 旨在软化这些约束:一个可能世界如果与知识库中的规则发生冲突,并非绝对不可能,而只是可能性下降。每条规则都与一个反映其约束强度的权重关联:在其他情况一致的前提下,权重越高,满足和不满足此规则的对数概率差就越大。所以,MLN 是一个(规则,权重)对的集合。
MLN 可以视作定义具体的 MRF(马尔可夫随机场)的模板。MRF 的每个节点对应 MLN 规则中经过给定常量实例化而得到的一个谓词。进一步需要明确 MRF 中的边:两个谓词实例之间存在一条边,当且仅当它们至少在一个规则中同时出现。一条规则中的谓词之间形成了马尔可夫随机场中的一个团。根据得到的 MRF 可以进行概率推理,在实际计算过程中通常利用马尔可夫链蒙特卡洛(Markov Chain Monte Carlo,MCMC)等采样方法逼近。
