知识表示与知识图谱

摘要:

​ 与⼈类⾃然语⾔、绘画、⾳乐、数学语⾔、物理模型、化学公式等类似,人类需要有一种表示和传承形式,来获取、表示和处理知识,这也是⼈类⼼智区别于其它物种⼼智的重要特征。当与计算机系统结合后,就出现了在计算机中如何表达知识的问题,即人类知识的表达方法问题。本文概述了知识表示的主要理论和技术方法,并扩大到采用什么方式来实现知识表示的问题,即知识图谱建模。

一、 知识表示问题

  • 开放性问题:

    • 人类可以用语言、文字、绘画、音乐等形式表达某个方面的思想,但如何表达人类的知识呢?
    • 知识到底是什么?知识的特点是什么?知识与上述其他方式又有什么本质区别呢?
    • 如何在概念层面、逻辑层面和物理层面表示知识呢?
  • 知识表示:

    • ⽤易于计算机处理的⽅式来描述⼈脑的知识
    • 知识表示与其他形式的最大不同不在于数据格式、数据结构或编程语⾔
    • 知识表示与其他表达方式之间最大的区别在于:知识表示⽀持推理
    • 从当前的研究现状来看,基于图的知识表示方法成为被广泛采纳的方法
    • 知识表⽰⽅法为知识图谱的概念建模提供了理论基础
  • 知识图谱:

    • 旨在建模、识别、发现和推断事物、概念之间的复杂关系
    • 知识图谱是在知识表示方法基础上,建立的一种关于事物关系的可计算模型
    • 知识图谱的物理表现形式是知识型数据库
    • 语义网等基于图的知识表示方法,是目前知识图谱采用的主要表示方法
    • 现实的知识图谱往往由于规模化构建需要,降低了表⽰逻辑的严格性要求
    • 被⼴泛应⽤于搜索引擎、智能问答、语⾔理解、视觉场景理解、决策分析等领域

二、传统知识表示方法

​ 历史上对知识如何表达的问题研究由来已久,典型方法包括:

2.1 ⼀阶谓词逻辑 (First-Order Logic) 表示法

  • 机理:分析原子命题,得出个体词、谓词、量词以及形式结构、逻辑关系、推理形式和规则
  • 一阶谓词:表示对象属性的语词。对象属性具有层次性(即“阶”),一阶谓词指直接刻画个体属性的谓词,如“红色”,而“鲜艳”等用来刻画“红色”的谓词属于高阶谓词,高阶谓词刻画的是属性的属性
  • 典型表示方法:Horn Logic、Description Logic等
  • 举例:
  • Horn Logic表示法

  • 原⼦Atoms

    p(t1,t2...,tn)p(t_1, t_2 ..., t_n)pp 是谓词, nn 是⽬, tit_i 是项(变量或者常量)➤

    例⼦: hasChild(Helen, Jack)

  • 规则Rules

    ➤ 基于原⼦构建,形式为: H:B1,B2,...,BmH:– B_1, B_2, ..., B_m

    ➤ 其中: HHB1,B2,...,BmB_1, B_2, ..., B_m 是原⼦, HH 是头部原⼦, B1,B2,...,BmB_1, B_2, ..., B_m 是体部原⼦

    ➤ 该规则表示了由 HHBB 的推理规则

    例⼦: hasChild(X, Y) :- hasSon(X, Y)

  • 事实Facts:

    ➤ 没有体部且没有变量的规则

    例⼦: hasChild(Helen, Jack)

2.2 产⽣式规则 (Production Rule) 表示法

  • 比谓词逻辑更广泛的规则系统

  • 机理:将人类大脑记忆模式中各种知识间的因果关系,以“IF-THEN”形式(产生式)规则表示出来的

  • 特点:捕获了人类求解问题的行为特征,并通过认识–行动的循环过程求解问题

  • 举例:

1
2
3
4
5
IF 本微⽣物的染⾊斑是⾰兰⽒阴性
本微⽣物的形状呈杆状
病⼈是中间宿主
THEN
该微⽣物是绿脓杆菌,置信度为CF=0.6
  • 优点:自然性好、易于模块化管理、能有效表示知识、知识表示清晰

  • 缺点:效率不高、不能表达具有结构性的知识,因此常与其他表示方法结合使用(如:框架表示法)

2.3 框架表示法(Framework)

  • 机理:认为人们对各种事物的认识都以一种类似于框架的结构存储在记忆中的。当面临新事物时,从记忆中找出合适的框架,根据实际情况对其细节加以修改、补充,形成对当前事物的认识

  • 特点:善于表示结构性知识,能够把知识内部结构关系以及知识之间的特殊关系表示出来,并把与某个实体或实体集的相关特性都集中在一起。

  • 技术概况:

    • 框架是一种描述固定情况的数据结构,是一个由节点和关系组成的网络

      • 框架最高层次固定,且描述对于假定情况总是正确的事物
      • 框架的较低层次由许多槽(Slots),在槽中填入具体值,就可以得到一个描述具体事务的框架;
      • 每个槽都有侧面(Facet)用以附加说明,其作用是指出槽的取值范围和求值方法等
    • 框架中可以包含各种信息:

      • 如:描述事物的信息、如何使用框架的信息、下一步将发生什么情况的期望、如果期望事件没有发生应该怎么办的信息等
      • 这些信息均包含在框架的某些槽或侧面中
    • 知识的表示方法:

      • 一个具体事物可由填入值的槽来描述,不同槽值的框架可以反映某类事物的一个具体实例
      • 不同槽值链接在一起形成框架系统,框架系统中由一个槽值到另一个槽值的转换表示状态的变化、推理或其它活动
      • 不同框架可以共享同一个槽值,从而把不同角度搜集起来的信息协调起来
  • 举例:

  • 优点:

    • 对于知识的描述非常完整和全面、知识库质量非常高、且允许数值计算
  • 缺点:

    • 构建成本非常高、对知识库质量要求非常高、表达形式不灵活、与其它形式的数据集融合困难

2.4 描述逻辑(Description Logic)表示法

​ 描述逻辑是⼀阶谓词逻辑的可判定⼦集,主要⽤于描述本体概念和属性,对于本体知识库的构建提供了便捷的表达形式,是与知识图谱最密切相关的知识表⽰⽅法之⼀。

1
2
3
4
5
6
7
8
9
10
11
概念Concepts——解释为⼀个领域的⼦集

➤ 例如:学⽣,已婚者: x|Student(x), x|Married(x)

关系Relations——解释为指该领域上的⼆元关系

➤ 例如:朋友,爱⼈: <x,y>|friend(x,y),<x,y>|loves(x,y)

个体Individuals——⼀个领域内的实例

➤ 例如:⼩明,⼩红: Ming,Hong
  • 优点:接近自然语言、容易接受、严密性、易于转化为计算机内部形式
  • 缺点:无法表示不确定性知识、难以表示启发性知识及元知识、效率低

2.5 语义⽹络 (Semantic Network) 表示法

此处的语义网络和目前大家熟知的语义网是两个不同的概念,语义网络是上世纪60年代提出的,是一个用于建立⼈类联想记忆的显式⼼理学模型。
  • 机理:利用有向图(由带标记的节点和边构成)描述事件、概念、状况、动作及它们的关系
  • 技术概览:
    • 节点:
      • 表⽰各种事物、概念、情况、属性、动作、状态等
      • 节点可以带有若干属性,一般用框架或元组表示
      • 节点可以是一个语义子网络,形成一个多层次的嵌套结构
    • 弧(带标记的边):
      • 描述实体之间的关系,指明它所连接节点间的某种语义关系。
    • 节点和边都必须带有标识,以区分不同对象及对象间不同的语义联系
    • 最简单的语义⽹络是⼀个三元组:(节点1,弧,节点2)
  • 举例:
  • 代表性成果:WordNetBabelNetHowNet
  • 优点:
    • 结构性:语义⽹络是⼀种结构化的知识表示⽅法,它能把事物的属性以及事物间的各种语义联想显式地表示出来。
    • 联想性:它最初是作为⼈类联想记忆模型提出来的。
    • ⾃然性:直观地把事物的属性及其语义联系表示出来,便于理解,⾃然语⾔与语义⽹络的转换⽐较容易实现,故语义⽹络表示法在⾃然语⾔理解系统中应⽤最为⼴泛。
  • 缺点:
    • 节点和边的值没有标准,完全是由用户自己定义
    • 多源数据融合比较困难,因为没有标准
    • 无法区分概念节点和对象节点
    • 无法对节点和边的类型进行定义,缺乏描述逻辑的方法

三、语义网与知识图谱

  • 背景:
    • 针对互联网中海量的知识管理问题,万维网之父Tim Berners Lee于1998年提出的语义网(Semantic Web)和2006年提出的链接数据(Linked Data)的概念,将语义网络的理念扩大到了互联网范畴,用于对互联网上的海量网页(内容)进行知识表示,将互联网以文字为主要管理对象的模式,逐步转变成以知识作为管理对象的模式,从而提升网络的智能化水平。
    • 从某种程度上来说,语义网并不是一种全新的表达方式,而是在海量知识以信息化方式出现后,应激产生的一套描述海量知识、结构和逻辑的新技术框架,它吸收了语义网络表示方法的精髓,并将其应用到更广泛、更海量的知识管理领域。
    • Google为了提升搜索引擎返回的答案质量和用户查询的效率和智能化水平,于2012年5月16日发布了知识图谱,其口号就是:“things not strings”,刻画了知识图谱的精髓,即不要无意义的字符串,而是获取字符串背后隐含的对象或事物(知识)
  • 技术机理:
    • ”语义网络“+”描述逻辑“
    • 用本体描述逻辑,用有向图(由带标记的节点和边构成)描述实体、属性及关系
  • 解决的主要问题和方法:
    • 语义网络表达方法主要缺点是缺少描述逻辑、更缺少标准,难以实践推广
    • 解决方法:制定用于描述和关联万维网数据的系列技术标准,即构建语义网技术栈
  • 技术概览(详情参见基于图的知识表示–知识图谱):
    • 基础知识表示:定义了RDF系列标准来形式化表示三元关系,形成统一的知识表达语言
    • 模式定义和设计:定义了OWL标准,为概念层/模式(Schema)层设计提供统一的模式表达语言
    • 规则定义:定义了RIF标准,来规范知识图谱中规则的表达,形成统一的规则表达语言
    • 知识查询:定义了SPARQL标准,来规范对知识图谱的查询接口,形成统一的查询交互表达语言
  • 语义网与知识图谱
    • 知识图谱可视为一个具体的知识数据库实现,其结构表现为有向(标识)图
    • 语义网技术栈为知识图谱的构建提供了数据模型、约束和语言工具支撑

四、基于向量的知识表示方法

  • 背景:

    • 语义网主要为人服务:

      • 语义网为统一知识表示提供了表达和建模工具,但其基本出发点还是以人工参与设计顶层描述逻辑(模式)作为出发点的,也就是说三元组提供了知识表示元语、有向标识图提供了知识结构,但顶层的知识体系设计必须由人来完成,我们可以将其理解为基于离散符号的知识表示。
    • 如何让机器更高效、智能地推理?

      • 语义网的优势是显式知识表示、强逻辑约束、易于解释和推理
      • 缺点是难以和机器学习方法结合,形成更为高效或智能的推理能力。
    • 随着机器学习尤其是深度学习技术兴起,如何构建能够适合机器学习的知识表示方法成为研究热点。

  • 机理:

    • 将传统基于离散符号的知识表示,通过某种映射或转换,生成更适合机器学习使用的知识表示
    • word2vec的出现,提供了一种符号表示到向量表示的新方法
    • 在向量空间中进行某些分类、聚类或回归任务,可能会得到更高的效率和准确率
  • 技术概览(详情参见基于向量的知识表示方法):

    • 传统方法:符号表示–>符号量化(独热向量)–>机器学习模型–>预测
    • 向量化方法:符号表示–>机器表示学习–>符号向量化(分布式向量)–>机器学习模型–>预测
    • 词嵌入(Word Embedding),从传统表示方式到向量化表示方式学习和转换的过程
      • 等价于词向量、词的分布式表示
      • 属于表示学习的范畴
      • 典型模型:word2vec
    • 知识图谱嵌入(KG Embedding),将知识图谱中所有实体和关系都向量化的过程
      • 等价于实体向量和关系向量、知识图谱的分布式表示
      • 典型模型:TransE、DistMult

五、总结

参考陈华钧教授在知识表示方面的总结:

(1)知识表⽰是传统符号⼈⼯智能研究的核⼼,知识表⽰的⽅法在早期语义⽹的发展过程主要⽤来为知识图谱的概念建模提供理论基础;

(2)现实的知识图谱项⽬由于规模化构建的需要,常常降低表⽰的逻辑严格性,⽬前较为常见的知识图谱实践包括RDF图模型和属性图模型;

(3)尽管很多知识图谱并没有应⽤复杂的知识表⽰框架,Schema⼯程对于知识图谱的构建仍然是基础性和必要性的⼯作,⾼质量的知识图谱构建通常从Schema设计开始;

(4)知识图谱强调Schema的重要性和Schema-free并不冲突,RDF模型的设计同时确保了Schema和Instance层的动态扩展性;

(5)在知识图谱的深度利⽤中(如:复杂语义的表达、规则引擎的构建、推理的实现),会对更有表达能⼒的知识表⽰⽅法有更多的需求;

(6)图模型是更加接近于⼈脑认知和⾃然语⾔的数据模型,RDF作为⼀种知识图谱表⽰框架的参考标准,向上对接OWL等更丰富的语义表⽰和推理能⼒,向下对接简化后的属性图数据库以及图计算引擎,是最值得重视的知识图谱表⽰框架;

(7)知识(图谱)的表⽰学习是符号智能与神经⽹络⽅法⽐较⾃然且有前景的新⽅向,基于神经⽹络和表⽰学习实现的推理⼀定程度上可以解决传统符号推理所⾯临的鲁棒性不⾼不容易扩展等问题。

六、参考资料

(1)浙大陈华钧老师