知识图谱基础入门(二)

知识图谱表示(Knowledge Graph Representation)指的是用什么语言对知识图谱进行建模,从而可以方便知识计算。本文对知识表示的常见方法进行介绍。

什么是知识表示

上世纪90年代,MIT的AI实验室的R. Davis定义了知识表示的五大用途或特点:

  • 客观的机器标示。即知识表示首先需要定义客观实体的机器指代或指称。
  • 一组本体约定和概念模型。即知识表示还需要定义用于描述客观事物的概念和类别体系。
  • 支持推理的表示基础。即知识表示还需要提供机器推理的模型与方法。
  • 用于高效计算的数据结构。即知识表示也是一种用于高效计算的数据结构。
  • 人可理解的机器语言。即知识表示还必须接近人的认知,是人可理解的机器语言。

与传统人工智能相比,知识图谱时代的知识表示方法已经有了很大的变化。一方面,现代知识图谱收到规模化扩展的影响,通常采用以三元组为基础的较为简单实用的只是表示方法,并弱化了对强逻辑表示的要求;另一方面,由于知识图谱是很多搜索、问答和大数据分析系统的重要数据基础,基于向量的知识图谱表示使得这些数据更易于和深度学习模型继承,使得基于向量的知识图谱表示越来越受到重视。

早期的知识表示方法

一阶谓词逻辑(First Order Logic)

一阶谓词逻辑,或简称一阶逻辑是公理系统的标准形式逻辑。不同于命题逻辑(Professional Logic),一阶逻辑支持量词(Quantifier)和谓词(Predicate)。例如命题1:小明是学生。命题2:小李是学生。可以表示为学生(x)。这是一个原子公式(Atomic Formula),x是变量。若x为小明,则表示命题1。若x为小李,则表示命题2。

  • 一阶谓词逻辑的优点
    • 结构性。能把事物的属性以及事物的各种语义联想显式地表示出来。
    • 严密性。有形式化的语法和语义,以及相关的推理规则。
    • 可实现性。可以转换为计算及内部形式,以便用算法实现。
  • 一阶谓词逻辑的缺点
    • 有限的可用性。一阶逻辑的逻辑归结只是半可判定性的。
    • 无法表示不确定性知识。

霍恩子句(Horn Clause)和霍恩逻辑

一个子句是文字的析取。霍恩字句是带有最多一个肯定文字的子句,肯定文字指的是没有否定符号的文字。例如$\phi p_1\vee\phi p_2$是一个霍恩子句,他可以等价地写成$p_1\wedge p_2$。

霍恩逻辑是一阶逻辑的子集。基于霍恩逻辑的知识库是一个霍恩规则的集合。一个霍恩规则由原子公式构成:$B_1 \wedge B_2 \rightarrow H$。其中H是头原子公式,$B_1$,$B_2$是体原子公式。事实是霍恩规则的特例,它们是没有体原子公式且没有变量的霍恩规则。例如$\rightarrow 学生(小明)$是一个事实,它可以简写为$学生(小明)$。

  • 霍恩逻辑的优点
    • 结构性。能把事物的属性以及事物间的各种语义联想显式地表达出来。
    • 严密性。有形式化的语法和语义,以及相关的推理规则。
    • 易实现性。可判定,可以转换为计算机内部形式,以便用算法实现。

语义网络

语义网络又称联想网络,它在形式上是一个带标识的有向图。图中节点用以表示各种事物、概念、情况、状态等。每个节点可以带有若干属性。节点与节点间的连接弧(联想弧)用以表示各种语义联系、动作。语义网络的单元是三元组(节点1,联想弧,节点2)。例如(小明,类型,学生)。由于所有的节点均通过联想弧彼此相连,语义网络可以通过图上的操作进行知识推理。

  • 语义网络的优点
    • 联想性。它最初是作为人类联想记忆模型提出来的。
    • 易用性。直观地把事物的属性及其语义联系表示出来,便于理解,自然语言与语义网络的转换比较容易实现,故语义网络表示法在自然语言理解系统中的应用最为广泛。
    • 结构性。语义网络是一种结构化的知识表示方法,对数据子图特别有效。它能把事物的属性以及事物间的各种予以联想显式地表示出来。
  • 语义网络的缺点
    • 无形式化语法。虽然表示知识的手段多种多样,灵活度很高,但同时也由于表示形式的不一致提高了对其处理的复杂性。
    • 无形式化语义。与一阶谓词逻辑相比,语义网络没有公认的形式表示体系。一个给定的语义网络表达的含义完全依赖处理程序如何对它进行解释,通过推理网络而实现的推理不能保证其正确性。

框架

框架的基本思想是:认为人们对现实世界中各种事物的认识都以一种类似于框架的结构存储在记忆中。当面临一个新事物时,就从记忆中找出一个合适的框架,并根据实际情况对其细节加以修改、补充,从而形成对当前事物的认识。

框架是一种描述对象(事物、事件或概念等)属性的数据结构。在框架理论中,类是知识表示的基本单位,每个类有一些草,每个槽又可分为若干侧面,一个槽用于表示描述对象的一个属性,而一个侧面用于表示槽属性的一个方面,槽和侧面都可以有属性值,分别称为槽值和侧面值。除此之外,框架还允许给属性设默认值,以及设立触发器以维护框架。

  • 框架的优点
    • 结构性:能把事物的属性以及事物间的各种语义联想显式地表示出来。
    • 框架对于知识的描述比较全面,支持默认值以及触发器。
  • 框架的缺点:
    • 框架的构建成本非常高,对知识库的质量要求非常高。
    • 默认值会增大推理的复杂度。
    • 无法表示不确定性知识。

描述逻辑

描述逻辑是一阶逻辑的一个可判定自己。描述逻辑可以被看成是利用一阶逻辑对语义网络和框架进行形式化后的产物。描述逻辑一般支持一元谓词和二元谓词。一元谓词称为类,二元谓词称为关系。描述逻辑的重要特征是同时具有很强的表达能力和可判定性。

  • 描述逻辑的优点
    • 结构性。能把事物的属性以及事物之间的各种语义联想显式地表示出来。
    • 严密性。有形式化的语法和语义,以及相关的推理规则。
    • 多样性。具有大量可判定的扩展,以满足不同应用场景的需求。
    • 易实现性。可判定,可以转换为计算机内部形式,以便用算法实现。
  • 描述逻辑的缺点
    • 有限的表达能力。不支持显式使用变量,不能够任意使用量化。
    • 无法表示不确定性知识。

互联网时代的语义网知识表示框架

RDF和RDFS

RDF简介

知识以三元组的形式出现。每一份知识可以被分解为如下形式:(subject、predicate、object)。RDF的主语是一个个体(Individual),个体是类的实例。宾语是一个个体或者一个数据类型的实例。谓语是一个属性,属性可以连接两个个体或者链接一个个体和一个数据类型的实例。

在RDF中,三元朱中的主谓宾都有一个全局URI,该URI可以简化为前缀URI

开放世界假设

经典数据库采用的是封闭世界假设,RDF采用的是开放世界假设。也就是说,RDF图谱里的知识有可能是不玩完备的,这符合Web的开放性特点和要求。采用开放世界假设意味着RDF图谱可以被分布式存储。同时,分布式存储的知识可以自动合并。

RDF用到了类以及属性描述个体之间的关系。这些类和属性由模式(schema)定义。RDF Schema(RDF模式,简称RDFS)提供了对雷和属性的简单描述,从而给RDF数据提供词汇建模的语言。

RDF提供了最基本的对类和属性的描述原语:

  • rdf:type:用于指定个体的类
  • rdfs:subClassOf:用于指定类的父类
  • rdfs:subPropertyOf:用于指定属性的父属性
  • rdfs:domain:用于指定属性的定义域
  • rdfs:range:用于指定属性的值域

OWL和OWL2 Fragments

OWL的语言特征

OWL1.0有OWL Lite、OWL DL和OWL Full三个子语言。

OWL的重要词汇

  • 等价性声明。声明两个类、属性和实例是等价的。
  • 属性传递性声明。声明一个属性是传递关系。
  • 属性互逆声明。声明两个属性有互逆的关系。
  • 属性的函数性声明。声明一个属性是函数。
  • 属性的对称性声明。声明一个属性是对称的。
  • 属性的全称限定声明。声明一个属性是全称限定。
  • 属性的存在限定声明。声明一个属性是存在限定。
  • 属性的基数限定声明。声明一个属性的基数。
  • 相交的类声明。声明一个类是等价于两个类相交。

知识图谱的向量表示方法

向量表示法把知识图谱中的实体和关系映射到低维连续的向量空间,而不是使用基于离散符号的表达方式。

词的向量表示方法

独热编码

独热编码(One-Hot Encoding)方法是将一个词表示成一个很长的向量,该向量的维度是整个词表的带下。对于某一个具体的词,在其独热独热表示的向量中,除了表示该词编号的维度为1,其余均为0。这种方法简单,但并没有编码语义层面的信息,稀疏性非常强,当整个词典非常大时,编码出向量的维度也会很大。

词袋模型

词袋模型(Bag of Words,BOW)是一种对文本中词的表示方法。该方法将文本当做一个装词的袋子,不考虑词之间的上下文关系,不关心词在袋子中存放的顺序,仅记录每个词在该文本(词袋)中出现的次数。

具体方法是先收集所有文本的可见词汇并组成一个词典,再对所有词进行编号,对于每个文本,使用一个表示每个词出现次数的向量来表示,该向量的每一个维度的数字表示该维度所指带的次在该文本中的出现次数。

词向量

为了更多地表示词与词之间的相似程度,提出词的分布式表示,即基于上下文的稠密向量表示法,通常称为词向量或词嵌入。产生词向量的手段主要有三种:

  • 基于计数的方法(Count-based)。即上文记录文本中词的出现次数。
  • 基于预测的方法(Predictive)。可以通过上下文预测中心词,也可以通过中心词预测上下文。
  • 基于任务的方法(Task-based)。通过任务驱动的方法,通过对词向量在具体任务上的表现效果对词向量进行学习。

知识图谱嵌入

知识图谱嵌入的概念

知识图谱嵌入是指将知识图谱中包括实体和关系的内容映射到连续向量空间方法的研究领域。类似于词向量,知识图谱嵌入也是通过机器学习方法对模型进行学习,其与独热、词袋的最大区别在于,知识图谱嵌入方法的训练需要基于监督学习。在训练的过程中,可以学习一定的语义层信息。经典的知识图谱嵌入模型TransE的设计思想是如果一个三元组(h,r,t)成立,那么它们需要满足$h+r≈t$的关系。例如:$vec(Rome) + vec(is-captial-of) ≈ vec(Italy)$

知识图谱嵌入的优点

  • 使用向量的表达方式提高应用时的计算效率。
  • 增加了下游应用设计的多样性。
  • 可以将知识图谱嵌入作为下游应用的预先训练向量输入

知识图谱嵌入的主要方法

转移距离模型(Translational Distance Model)

主要思想是将衡量量化后的知识图谱中三元组的合理性问题,转化成衡量头实体和尾实体的距离问题。这一方法的重点是如何设计得分函数,得分函数常常设计成利用关系把头实体转移到尾实体的合理性的函数。

在TransE中,把实体和关系都表示为向量,对于某一个具体的关系(head,relation,tail),把关系的向量表示解释成头实体的向量到尾实体的向量的转移向量(Translation vector)。也就是说,如果在一个知识图谱中,某一个三元组成立,则它的实体和关系需要满足关系$head+relation≈tail$。

语义匹配模型

语义匹配模型注重挖掘向量化后的实体和关系的潜在语义。该方向的模型主要是RESCAL以及其延伸模型。