《人工智能》之《知识表示方法》

教材:《人工智能及其应用》,蔡自兴等,2016m清华大学出版社(第5版)

参考书:
《《人工智能》之《知识表示方法》》

《人工智能》之《知识表示方法》

知识是一个抽象的术语,用于尝试描述人对某种特定对象的理解。

知识的定义

知识的一般概念:知识是人们在改造客观世界的实践中积累起来的认识和经验。

知识的代表性定义

  1. 知识是经过裁剪、塑造、解释、选择和转换的信息(Feigenbaum);
  2. 知识由特定领域的描述、关系和过程组成(Bernstein);
  3. 知识=事实+信念+启发式(Heyes Roth)。

知识、信息、数据的关系:
《《人工智能》之《知识表示方法》》
知识的类型

按知识的性质:概念、命题、公理、定理、规则和方法。

按知识的作用域:

  • 常识性知识:通用通识的知识,人们普遍知道的、适用于所有领域的知识;
  • 领域性知识:面向某个具体专业领域的知识。

按知识的作用效果:

  • 事实性知识:用于描述事物的概念、定义、属性等,或用于描述问题的状态、环境、条件等的知识;
  • 过程性知识:用于问题求解过程的操作、演算和行为的知识,或指出如何使用那些与问题有关的事实性知识的知识;
  • 控制性知识:(元知识或超知识)。是关于如何使用过程性知识的知识。例如:推理策略、搜索策略、不确定性的传播策略。

按知识的确定性:

  • 确定性知识:可说明其真值为真或为假的知识;
  • 不确定性知识:包括不精确、模糊、不完备知识。
    1.不精确:知识本身有真假,但由于认识水平限制却不能肯定其真假;
    表示:用可信度、概率等描述
    2.模糊:知识本身的边界就是不清楚的。例如:大,小等;
    表示:用可能性、隶属度来描述
    3.不完备:解决问题时不具备解决该问题的全部知识。例如:医生看病。

知识表示

  • 对知识的一种描述;
  • 一种计算机可以接受的用于描述知识的数据结构;
  • 表示方法不唯一;
  • 是人工智能的核心。

知识表示的要求

  • 表示能力:能否正确、有效地表示问题。包括:
    表达范围的广泛性
    领域知识表示的高效性
    对非确定性知识表示的支持程度
  • 可利用性:可利用这些知识进行有效推理。包括:
    对推理的适应性:推理是根据已知事实利用知识导出结果的过程
    对高效算法的支持程度:知识表示要有较高的处理效率
  • 可实现性:要便于计算机直接对其进行处理
  • 可组织性:可以按某种方式把知识组织成某种知识结构
  • 可维护性:便于对知识的增、删、改等操作
  • 自然性: 符合人们的日常习惯

知识表示存在的问题

  • 人是如何表示知识,存储知识的仍然是个迷;
  • 目前用计算机来进行知识处理面临三大难题:
    1. “Clear-Cut”问题:主要处理可形式化的边界清晰问题;
    2. 知识获取瓶颈:很难把现实中的知识转化为计算机可理解的知识;
    3. 知识窄台阶:多为专家系统知识,缺乏常识性知识。

如何让机器理解下面的故事?
主人让小马托着两袋盐巴过河,他不小心把一部分浸到了河里。于是盐巴融化在河里一部分,盐袋子也变轻了。小马很开心,得意洋洋地回家了。
第二次,主人又给小马托起棉花过河。小马想起来上次,故意把棉花都浸到了河里。结果,小马沉得要死,死扛着回家了。

如何让机器理解如此场景?
《《人工智能》之《知识表示方法》》

我们不是音频分析的手段来实现对贝多芬音乐的欣赏,也不是用视频分析的手段来实现对梵高油画的欣赏”(杨雄里院士)。
这其中蕴含深刻的整合过程,因此必然涉及大量的背景知识和感知经验。

人的概念系统

  • 人的概念系统是非任务特定性的,具有很强的通用性。正是这种不局限于特定目标的特性,使人可以处理各种各样问题(通用人工智能的目标);
  • Nisson认为“人工智能最重要的部分就是发现一个适用的概念化知识结构。”(建立一套基于统一认知理论的计算模型,即基于单一结构上多个程序的认知模型)。

《《人工智能》之《知识表示方法》》

1 状态空间法(State Space Representation)

许多问题的求解方法是试探搜索方法。这些方法是通过在某个可能的解空间内寻找一个解来求解问题的。这种基于解答空间的问题表示和求解方法就是状态空间法,它是以状态算符为基础来表示和求解问题的。

状态(state):表示问题解法中每一步问题状况的数据结构;
算符(operator):把问题从一种状态变换为另一种状态的手段(或操作)。

1.1 问题状态描述

定义:

  • 状态(State):描述某类不同事物间的差别而引入的一组最少变量q0,q1,…,qn的有序集合,即(n+1)维向量。
  • 算符(Operate):使问题从一种状态变化为另一种状态的手段,也称操作符。
  • 状态空间(State Space):是一个表示该问题全部可能状态及其关系的图,它包含三种说明的集合,即所有可能的问题初始状态集合S、操作符集合F以及目标状态集合G,即三元状态(S,F,G)

要完成某个问题的状态描述,必须:

  1. 该状态描述方式,特别是初始状态描述;
  2. 操作符集合及其对状态描述的作用;
  3. 目标状态描述的特性。

《《人工智能》之《知识表示方法》》

1.2 状态图示法

有关图的知识:《软件技术基础》之《图》

图的显示说明:对于显式说明,各节点及其具有代价的弧线由一张表明确给出。此表可能列出该图中的每一节点、它的后继节点以及连接弧线的代价(相关知识:D是邻接矩阵, 如何求i,j的最短距离?)

图的隐示说明:已知起始节点{si}和后继节点算符 Γ。 后继节点算符能作用于任一节点以产生该节点的

  • 全部后继节点
  • 各连接弧线的代价(例如:棋局)

寻找一种状态到另一种状态的算符序列等价于寻找图上的最短路径问题

表示方法的多样性: 如3数码难题中

  • 规则1:移动数码(3X4条规则)
  • 规则2:移动空格(4条规则)

应该选择小而简单的状态空间。

1.3 示例:修道士(Missionaries)和野人(Cannibals)问题

问题描述

设在河的一岸有三个野人、三个修道士和一条船,修道士想用这条船把所有的人运到河对岸,但受以下条件的约束:

  1. 修道士和野人都会划船,每次船上至多可载两个人;
  2. 在河的任一岸,如野人数超过修道士数,修道士会被野人吃掉。

如果野人会服从任何一次过河安排,请规划一个确保修道士和野人都能过河,且没有修道士被野人吃掉的安全过河计划。

状态表示

用一个三元组来表示状态:S=(m, c, b)

集合说明
m左岸的修道士人数 (missionary )
c左岸的野人数 (cannibal)
b左岸的船数 (bank)

右岸的状态可由下式确定:

状态
右岸修道士数m’=3-m
右岸野人数c’=3-c
右岸船数b’=1-b

该表示方式下,m,c都可取0、1、2、3,b可取0和1,共有4×4×2=32种状态,如下所示:
《《人工智能》之《知识表示方法》》
操作集

《《人工智能》之《知识表示方法》》
状态空间

给出状态和操作的描述之后,该问题的状态空间是:
《《人工智能》之《知识表示方法》》
状态空间图

《《人工智能》之《知识表示方法》》

2 问题归约法(Problem Reduction Representation)

问题归约法是另一种基于状态空间的问题描述与求解方法。已知问题的描述, 通过一系列变换把此问题最终变为一个本原问题集合;这些本原问题的解可以直接得到,从而解决了初始问题。

2.1 问题归约描述

问题归约法由3部分组成

  1. 一个初始问题描述;
  2. 一套把问题变换为子问题的操作符;
  3. 一套本原问题描述。

问题归约法的实质
从目标(要解决的问题)出发逆向推理,建立子问题以及子问题的子问题,直至最后把初始问题规约为一个平凡的本原问题集合。

《《人工智能》之《知识表示方法》》
归约方式

  1. 分解
    《《人工智能》之《知识表示方法》》
  2. 等价变换
    《《人工智能》之《知识表示方法》》

2.2 示例:梵塔难题(Tower of Hanoi Puzzle)

问题描述

有3个柱子(1,2,3)和3个不同尺寸的圆盘(A,B,C)。在每个圆盘的中心有个孔,所以圆盘可以堆叠在柱子上。最初,全部3个圆盘都堆在柱子1上:最大的圆盘C在底部,最小的圆盘A在顶部。要求把所有圆盘都移到柱子3上,每次只许移动一个,而且只能先搬动柱子顶部的圆盘,还不许把尺寸较大的圆盘堆放在尺寸较小的圆盘上。

《《人工智能》之《知识表示方法》》
归约过程

  1. 移动圆盘A和B至柱子2的双圆盘难题;
  2. 移动圆盘C至柱子3的单圆盘难题;
  3. 移动圆盘A和B至柱子3的双圆盘难题。

《《人工智能》之《知识表示方法》》
由上可以看出简化了难题每一个都比原始难题容易,所以问题都会变成易解的本原问题。
《《人工智能》之《知识表示方法》》
归约描述

问题归约方法是应用算符来把问题描述变换为子问题描述。

可以用状态空间表示的三元组合(S、F、G)来规定与描述问题;
对于梵塔问题,子问题[(111)→(122)],[(122)→(322)]以及[(322)→(333)]规定了最后解答路径将要通过的脚踏石状态(122)和(322)。

问题归约方法可以应用状态、算符和目标这些表示法来描述问题,这并不意味着问题归约法和状态空间法是一样的。

梵塔问题归约图

《《人工智能》之《知识表示方法》》

2.3 与或图表示

与图、或图、与或图

我们用一个似图结构来表示把问题归约为后继问题的替换集合,这一似图结构叫做问题归约图,也叫与或图。
《《人工智能》之《知识表示方法》》
相关概念

  • 父节点、子(后继)节点、弧线
  • 终叶节点:对应于原问题的本原节点。
  • 或节点:只要解决某个问题就可解决其父辈问题的节点集合,如(M,N,H)。
  • 与节点:只有解决所有子问题,才能解决其父辈问题的节点集合,如(B,C)和(D,E,F)各个结点之间用一端小圆弧连接标记。
  • 与或图:由与节点及或节点组成的结构图。

《《人工智能》之《知识表示方法》》

右图是增加附加结点后的规范化与或图。

可解结点

  • 终叶节点是可解节点(因为它们与本原问题相关连)。
  • 如果某个非终叶节点含有或后继节点,那么只要当其后继节点至少有一个是可解的时,此非终叶节点才是可解的。
  • 如果某个非终叶节点含有与后继节点,那么只有当其后继节点全部为可解时,此非终叶节点才是可解的。

不可解结点

  • 没有后裔的非终叶节点为不可解节点。
  • 全部后裔为不可解的非终叶节点且含有或后继节点,此非终叶节点才是不可解的。
  • 后裔至少有一个为不可解的非终叶节点且含有与后继节点,此非终叶节点才是不可解的。

《《人工智能》之《知识表示方法》》
解树
由可解节点构成,并且由这些可解节点可以推出初始节点(它对应着原始问题)为可解节点的子树为解树。在解树中一定包含初始节点。
《《人工智能》之《知识表示方法》》

问题归约求解过程
即生成解树,即证明原始节点是可解节点的过程。

2.4 问题归约的描述

问题归约方法应用算符把问题描述转化为子问题描述,可以采用各种数据结构:表列、树、字符串、矢量、数组等;

例如梵塔问题的表示:包含两个数列的表列:[(111),(333)]

可以把问题归约法看成比状态空间法更通用的问题求解方法;其核心实现是不断简化问题(即缩小子问题的状态空间),直至问题成为本原问题(已知问题、易解问题)

3 谓词逻辑法(Predicate Logic Method)

3.1 一阶谓词逻辑表示的逻辑学基础

断言(assertion):一个陈述句称为一个断言。

命题(proposition):具有真假意义的断言。

命题的真值:

  • T:命题的意义为真
  • F:命题的意义为假

命题真值的说明:

  • 一个命题不能同时既为真又为假
  • 一个命题可在一定条件下为真,而在另一条件下为假

论域 (domain of discourse):由所讨论对象的全体构成的集合。亦称为个体域(individual domain)。

个体(individual):论域中的元素。

谓词(predicate):在谓词逻辑中命题是用形如P(x1,x2,…,xn)的谓词来表示的。

  • 谓词名:命题谓语,表示个体的性质、状态、个体之间的关系
  • 个体:命题主语,表示独立存在的事物或概念

《《人工智能》之《知识表示方法》》
函数(function)
《《人工智能》之《知识表示方法》》

逻辑语句:一种形式语言,能把逻辑论证符号化,用于证明定理,求解问题。

形式语言(Formal Language):严格地按照相关领域的特定规则,以数学符号(符号串)形式描述该领域有关客体的表达式。

3.2 谓词演算(predicate caculus)

《《人工智能》之《知识表示方法》》
原子公式(atomic formula):由谓词符号和若干项组成的谓词演算。原子公式是谓词演算基本积木块。

包括常量符号、变量符号、函数符号等。

定义原子公式为真值或假值就表示了某种语义(semantics)。

若t1, t2, …, tn 是项,P是谓词,则称P(t1,t2,…,tn)为原子谓词公式(原子公式)。

无变量的原子公式取值确定,包含变量的原子公式取值不定。

例如:“机器人(ROBOT)在1号房间(room1)内”
INROOM(ROBOT,room1) 为真
INROOM(ROBOT,room2)为假

连词(Connective)

  1. 与、合取(conjunction):用连词∧把几个公式连接起来而构成的公式。 合取项是合取式的每个组成部分。
    例:LIKE(I,MUSIC)∧LIKE(I,PAINTING)
    (我喜爱音乐和绘画。)
  2. 或、析取(disjunction):用连词∨把几个公式连接起来而构成的公式。 析取项是析取式的每个组成部
    例:PLAYS(LILI,BASKETBALL)∨PLAYS(LILI,FOOTBALL)
    (李力打篮球或踢足球。)
  3. 蕴涵(Implication):“→”表示“如果—那么”(IF—THEN)关系,其所构成的公式叫做蕴涵。
  4. 非(Not):表示否定,¬、~均可表示

《《人工智能》之《知识表示方法》》

量词(Quantifier)
《《人工智能》之《知识表示方法》》
辖域(scope):指位于量词后面的单个谓词或用括弧括起来的合式公式。

约束变元(bound variable):辖域内与量词中同名的变元。

自由变元(free variable):不受约束的变元。

《《人工智能》之《知识表示方法》》
变元的换名

  1. 对约束变元,须把同名的约束变元都统一换成另外一个相同的名字,且不能与辖域内的自由变元同名。
    《《人工智能》之《知识表示方法》》

  2. 对辖域内的自由变元,不能改成与约束变元相同的名字。
    《《人工智能》之《知识表示方法》》

3.3 谓词公式

原子公式:P(x1,x2,…,xn)
一个n元谓词公式,为谓词演算的原子公式,或原子谓词公式。
其中,P是n元谓词;x1,x2,…,xn是客体变量或变元。

文字(literal):一个原子公式,和原子公式的否定。

子句(clause): 文字的析取(V)构成的公式。

**合成公式(WFF,well-formed formula)**的递归定义:
《《人工智能》之《知识表示方法》》
示例:试把下列命题表示为谓词公式:任何整数,或者为正数或者为负数。
用 I(z) 表示 “z 是整数”,P(z)表示 “z是正数”,N(z)表示 “z是负数”。
给定命题用下列谓词公式来表示:《《人工智能》之《知识表示方法》》
合成公式的真值表

《《人工智能》之《知识表示方法》》
等价(Equivalence)
如果两个合式公式,无论如何解释,其真值表都是相同的,那么我们就称此两合式公式是等价的。
《《人工智能》之《知识表示方法》》

注意:(10)说明在一个量化的表达式中的约束变量是一类虚元,它可用任何一个不在表达式中出现过的其他变量符号来代替

3.4 谓词逻辑表示方法

表示步骤:

  1. 确定个体域;
  2. 根据要表示的知识定义谓词;
  3. 用连词、量词把这些谓词连接起来。

《《人工智能》之《知识表示方法》》
《《人工智能》之《知识表示方法》》

3.5 置换与合一

谓词逻辑的推理:将推理规则应用于一定的合式公式(集),以产生新的合式公式。
《《人工智能》之《知识表示方法》》
谓词公式的等价性和永真蕴含性
《《人工智能》之《知识表示方法》》

置换(Substitution)

  • 表达式中用置换项置换变量,如用项 A 替换函数表达式中的变量(x)
  • 表达式E(Expression)用一个置换s(Substitution)而得到的表达式的置换,记为Es
  • E(s1s2)=(Es1)s2

《《人工智能》之《知识表示方法》》
置换合成
《《人工智能》之《知识表示方法》》

合一(Unification)

  • 是人工智能中很重要的一个过程;
  • 寻找项对变量的置换,以使多个表达式一致的操作。
  • 如果一个置换s作用于表达式集{Ei}的每个元素,则我们用{Ei} s来表示置换例的集。
  • 如存在置换s使得表达式集{Ei}置换后有:E1S= E2S= E3S=…, 则称表达式集{Ei}是可合一的, s 称为{Ei} 的合一者(unifier)。

《《人工智能》之《知识表示方法》》

还有其他的合一者,最简单的合一者为:g = { B/y }。

最通用的合一者
如对表达式集{Ei}的任一合一者s,都存在某一s’,使得{Ei}s = {Ei}gs’,则称g为{Ei}的最通用合一者 (most general unifier, i.e. mgu)

置换与合一的作用

谓词逻辑推理的基本方法,就是寻找简单有效置换合一,采用消解原理利用消解反演方法求解问题,详见第三章

3.6 谓词逻辑法的优缺点

主要优点

  • 自然:一阶谓词逻辑是一种接近于自然语言的形式语言系统,谓词逻辑表示法接近于人们对问题的直观理解;
  • 明确:有一种标准的知识解释方法,可表示的知识明确、易于理解;
  • 精确:谓词逻辑的真值只有“真”与“假”,其表示、推理都是精确的;
  • 灵活:知识和处理知识的程序是分开的,无须考虑处理知识的细节;
  • 模块化:知识之间相对独立,这种模块性使得添加、删除、修改知识比较容易进行。

主要缺点

  • 知识表示能力有限:只能表示确定性知识,而不能表示非确定性知识、过程性知识和启发式知识 (与精确相对);
  • 存在组合爆炸:由于难以表示启发式知识,因此只能盲目地使用推理规则,这样当系统知识量较大时,容易发生组合爆炸;
  • 语义表达能力低:它把推理演算与知识含义截然分开,抛弃了表达内容中所含有的语义信息,往往使推理过程冗长(与灵活相对)。

4 语义网络法(Semantic Network Method)

1968年,奎廉(J.R.Quillian) 在研究人类联想记忆时,受到以下两点的启发:

  1. 人脑记忆的一个重要特征是人脑中不同信息片段之间的高度连接;
  2. 高度相关的概念能够比不太相关的概念更快地回忆起来。提出一种心理学模型,即语义网络,认为记忆是由概念间的联系实现的,把它用作知识表示。

1972年,西蒙在自然语言理解系统中也采用了语义网络表示法。

语义网络是一个通过语义关系连接的概念网络。语义网络其实是一种有向图表示的知识系统。
节点代表的是念,而边则表示这些概念之间的语义关系
语义网络中最基本的语义单元称为语义基元,可以用三元组形式表示:<节点1,关系,节点2>。

4.1 一元语义网络的表示

属性关系:指事物和其属性之间的关系。

常用的属性关系有:

  • Have:含义为“有”,表示一个节点具有另一个节点所描述的属性;
    《《人工智能》之《知识表示方法》》

  • Can:含义为 “能”、“会”,表示一个节点能做另一个节点的事情;

  • Age: 含义为 “年龄” ,表示一个节点是另一个节点在年龄方面的属性。
    《《人工智能》之《知识表示方法》》

4.2 二元语义网络的表示

《《人工智能》之《知识表示方法》》
上述关系的主要特征:属性继承性,处在具体层的节点可以继承抽象层节点的所有属性。
《《人工智能》之《知识表示方法》》
《《人工智能》之《知识表示方法》》
《《人工智能》之《知识表示方法》》

示例1:用语义网络表示:
动物能运动、会吃。
鸟是一种动物,鸟有翅膀、会飞。
鱼是一种动物,鱼生活在水中、会游泳。
《《人工智能》之《知识表示方法》》
示例2:用语义网络表示:
王强是百度公司的经理;
百度公司在中关村;
王强28岁。
《《人工智能》之《知识表示方法》》

4.3 多元语义网络的表示

示例1:小燕是一只燕子,燕子是一种鸟,鸟有翅膀;巢-1是小燕的巢,巢-1是巢中的一个。
《《人工智能》之《知识表示方法》》
存在的问题:上述的语义网络为二元关系,无法表示复杂事实,如:小燕从春天到秋天占有巢-1。
如果采用谓词逻辑表示为一个四元谓词演算:Owns(XIAOYAN, NET-1, SPRING, FALL)

解决办法:通过星形连接的方式,把多个变元联系起来。

表示方法:增加情况、动作节点。

示例2:用语义网络表示:“小燕子这只燕子从春天到秋天占有一个巢”。
《《人工智能》之《知识表示方法》》
示例3:用语义网络表示:“John gave Mary the book.”
《《人工智能》之《知识表示方法》》

如果用谓词逻辑法:GAVE(JOHN,MARY,BOOK)

多元语义网络表示的实质:把多元关系转化为一组两两之间的二元关系的组合,或二元关系的合取。通过星形连接的方式,把多个变元联系起来。
《《人工智能》之《知识表示方法》》

4.4 命题运算

与运算示例:
《《人工智能》之《知识表示方法》》
或运算示例:
《《人工智能》之《知识表示方法》》
非运算示例:
《《人工智能》之《知识表示方法》》

4.5 概念节点与实例节点

自己的理解:如果语义网络只用来表示一个特定的物体或概念,那么当有更多的实例时就需要更多的语义网络,这样就使问题复杂化。我们可以找到一个通用的概念,称为概念节点;而把一个更加具体的点作为这个概念的实例,称为实例节点。例如:把汽车作为概念节点,我的汽车、张三的汽车作为汽车的一个实例节点。

《《人工智能》之《知识表示方法》》

4.6 语义网络的推理过程

值节点(value node):在链的尾部的节点。

节点的槽(slot):链的别称。

示例:
BRICK12 有 3个链( 2个槽):COLOR 槽 只有一个值,填入 RED ;ISA 槽有两个值,填入了 BRICK 和 TOY 。
《《人工智能》之《知识表示方法》》

继承

在语义网络中,继承是把对事物的描述从概念节点或类节点传递到实例节点。

示例:
《《人工智能》之《知识表示方法》》

概念节点BRICK的SHAPE槽, 有值节点RECTANGULAR(矩形),属性RECTANGULAR可通过ISA链传递给实例节点BRICK12,实例节点BRICK12无SHAPE槽,可从语义网络推理出BRICK12的SHAPE的外形为RECTANGULAR(矩形)。

一共有三种继承过程:值继承、“如果需要”继承、“缺省”继承。

  • 值继承:ISA (Is a)链与 AKO (A Kind Of)链,常用知识传递方法;放入值侧面中。
  • “如果需要”(If-needed)继承:有时对不知道的槽值,可计算得到,通过此计算程序得到知识的模式称为if-needed链,如通过体积、密度在需要时可以计算其质量。 If-needed程序放入IF-NEEDED 侧面中。
  • “缺省”继承:在对事务所作假设无十分把握时,可加上“可能”字样,这种不肯定的值称为“缺省”值,放入槽的DEFAULT侧面中。

匹配

推理步骤:

  1. 根据提出的待求解问题,构造一个局部网络或网络片段,其中有的节点、弧标注为空,表示有待求解的问题,称为未知处;
  2. 根据这个局部网络、网络片段到知识库中寻找可匹配的语义网络,以便求得问题的解答(匹配可近似);
  3. 问题的局部语义网络与知识库中的某种语义网络片段匹配时,则与未知处相匹配的事实就是问题的解。

已知结构有2个部件:TOY-HOUSE、 TOY-HOUSE77
《《人工智能》之《知识表示方法》》

虚节点和虚链:TOY-HOUSE、 TOY-HOUSE77之间有ISA链, 就知虚节点和虚链。

已知结构有2个部件:BRICK12、楔块WEDGE18
《《人工智能》之《知识表示方法》》

部件匹配:STRUCTURE35、TOY-HOUSE之间有ISA链, 就知BRICK12须支撑WEDGE18
虚线箭头:BRICK12和WEDGE18 间的SUPPORT虚链

4.7 语义网络法的优缺点

主要优点

  • 结构性:显式地表示事物属性、事物间的各种语义联系,是一种结构化的知识表示方法。下层结点可继承、新增、变异上层结点的属性。
  • 联想性:因人类联想记忆模型提出,强调事物间的语义联系,体现了人类的联想思维过程。
  • 自索引性:明确、简洁的方式表示各接点之间的联系,通过与某一结点连接的弧可很容易的找出与该结点有关的信息,而不必查找整个知识库。有效的避免搜索时的组合爆炸问题。
  • 自然性:带标识的有向图可直观表示知识,符合人们表达事物间关系的习惯,且与自然语言语义网络之间的转换也较易实现。

主要缺点:

  • 非严格性:无谓词的严格形式表示体系,给定语义网络的含义完全依赖于处理程序对它所进行的解释,所实现的推理不能保证其正确性。
  • 复杂性:表示知识的手段多种多样,虽对其表示带来了灵活性,同时也因表示形式的不一致,增加了处理的复杂性。

5 框架表示(Frame)

框架理论(微世界理论):明斯基1975年作为理解视觉、自然语言对话及其它复杂行为的一种基础提出来的,认为人们对现实世界中各种事物的认识都是以一种类似于框架的结构存储在记忆中的,当遇到一个新事物时,就从记忆中找出一个合适的框架,并根据新的情况对其细节加以修改、补充,从而形成对这个新事物的认识。例: 对饭店、教室等的认识。

框架:人们认识事物的一种通用的数据结构形式。

实例框架:对于一个框架,当人们把观察、认识到的具体细节填入后,就得到了该框架的一个具体实例,即实例框架。

框架系统框架是知识的基本单位,把一组有关的框架连结起来便可形成一个框架系统。

框架系统推理:由框架之间的协调来完成。

5.1 框架的构成

由描述事务的各个方面的组成,每个槽可以拥有若干个侧面,而每个侧面可拥有若干个
《《人工智能》之《知识表示方法》》
示例:
《《人工智能》之《知识表示方法》》
框架的关系:一个框架可为另一个框架的槽值,且一个框架结构可作为几个不同框架的槽值。相同的信息不必重复存储,节约空间。

示例:一个立体视图的框架表示
《《人工智能》之《知识表示方法》》
最高层的框架用ISA槽说明是一个立方体,并由region槽指示出它所拥有的3个可见面A,B,E。而A,B,E又分别用3个框架来具体描述。用must be槽指示它们必须是一个平行四边形。

框架系统
《《人工智能》之《知识表示方法》》

学生框架
《《人工智能》之《知识表示方法》》
研究生框架
《《人工智能》之《知识表示方法》》
infer槽:用于指出两个框架所描述事物间的逻辑推理关系,可用来表示相应的产生式规则。

示例:如果咳嗽、发烧且流涕,则八成是患感冒, 需服用“感冒清”,一日三次,每次2-3粒,多喝开水。
《《人工智能》之《知识表示方法》》

5.2 框架的推理

框架系统的基本推理方法:

  • 特性继承(ISA/AKO链),如:燕子→鸟
  • 部分匹配,如:TOY-HOUSE
  • 从描述中直接引用,如:Student例子
  • 槽值的相关信息可以指导进行该槽值的描述
  • 解答子节点与父节点差异的原因,例如:三条腿的椅子

相似网络推理
《《人工智能》之《知识表示方法》》
代表性知识库:FrameNet
《《人工智能》之《知识表示方法》》
官网:FrameNet

How to use:FrameNet & FrameNet Python API

5.3 框架表示法的优缺点

《《人工智能》之《知识表示方法》》

6 本体技术

6.1 背景知识

研究背景
2000年12月18日,Berners-Lee在XML2000的会议上正式提出了语义Web。目标是使Web 上的信息具有计算机可以理解的语义,满足智能软件代理(Agent) 对WWW上异构、分布信息的有效访问和搜索。Berners-Lee 为未来的Web 发展提出了语义Web 体系结构。

语义网
《《人工智能》之《知识表示方法》》
语义网体系结构
语义网提供了一套为描述数据而设计的表示语言和工具,用于形式化地描述一个知识领域内的概念、术语和关系。

《《人工智能》之《知识表示方法》》

第一层:Unicode和URI (uniform resource identifier,通用资源标识符),是整个语义网的基础。Unicode处理资源的编码,实现网上信息的统一编码;URI 负责标识资源,支持网上对象和资源的精细标识。

第二层:XML+NS(Name Space)+XML Schema,用于表示数据的内容和结构的可扩展标记语言。通过XML标记语言将网上资源信息的结构、内容和数据的表现形式进行分离。

第三层:RDF+RDF Schema,用于描述网上资源及其类型,为网上资源描述提供一种通用框架和实现数据集成的元数据解决方案。

第四层:Ontology Vocabular y,用于描述各种资源之间的联系,揭示资源本身及资源之间更为复杂和丰富的语义联系,明确定义描述属性或类的术语语义及术语间关系。

第五层:逻辑层,主要提供公理和推理规则,为智能推理提供基础。该层用来产生规则。

第六层:证明层,执行逻辑层产生的规则,并结合信任层的应用机制来评判是否能够信赖给定的证明。

第七层:信任层,注重于提供信任机制,以保证用户代理在网上进行个性化服务和彼此间交互合作时更安全可靠。

核心层为XML、RDF、ONTOLOGY,用于表示信息的语义。

XML
XML(eXtensible Markup Language,可扩展标记语言)是最早的语义网表示语言,它取消了HTML的显示样式和布局描述能力,突出了数据的语义和元素结构描述能力。
《《人工智能》之《知识表示方法》》
特性:XML只定义了文档结构和数据类型,没有定义数据的语义,机器仍然无法理解文档的内容。为了让应用程序理解数据的语义,就出现了RDF。

RDF
RDF(Resource Description Framework)是一种资源描述框架,利用当前的多种元数据标准来描述各种网络资源,形成人机可读,并可由机器自动处理的文件。

RDF的核心思想:利用Web标识符(URI)来标识事物,通过指定的属性和相应的值描述资源的性质或资源之间的关系。

《《人工智能》之《知识表示方法》》
示例:
《《人工智能》之《知识表示方法》》
RDF Schema
《《人工智能》之《知识表示方法》》
《《人工智能》之《知识表示方法》》
示例:
《《人工智能》之《知识表示方法》》
RDF(S)的优缺点

优点:

  • 简单:资源以三元组的形式描述,简单、易控制。
  • 易扩展:描述和词汇集分开,具备良好的可扩展性。
  • 包容性:允许定义自己的词汇集,并可以无缝使用多种词汇集来描述资源。
  • 易综合:RDF认为一切都是资源,这样很容易综合描述。

缺点:

  • 不能准确描述语义:同一个概念有多种词汇表示,同一个词汇有多种含义(概念)。
    《《人工智能》之《知识表示方法》》

  • 没有推理模型,不具备推理能力。

6.2 本体(Ontology)

《《人工智能》之《知识表示方法》》
本体(Ontology)通过对概念的严格定义和概念与概念之间的关系来确定概念的精确含义,表示共同认可的、可共享的知识。

本体的定义
《《人工智能》之《知识表示方法》》
《《人工智能》之《知识表示方法》》
本体的组成
《《人工智能》之《知识表示方法》》
OWL
OWL (Web Ontology Language,Web本体语言)是在语义网上表示本体的推荐语言,作为RDF(S)的扩展,其目的是提供更多原语以支持更加丰富的语义表达并支持推理。

OWL是RDF的扩展,提供了更广泛的定义RDFS词汇的功能——可以定义词汇之间的关系,类与类间的关系,属性与属性之间的关系等,从而使得数据的语义定义更加丰富,并且构成一个知识系统并支持推理。

OWL的三个子语言:

  • OWL Lite:提供一个分类层次和简单属性约束。
  • OWL DL:提供推理系统,保证计算完备性和可判定性。
  • OWL Full:支持完全自由的RDF语法,但是不具备可计算性保证。

表达能力:OWL Lite < OWL DL < OWL Full

OWL建模原语
《《人工智能》之《知识表示方法》》
《《人工智能》之《知识表示方法》》

《《人工智能》之《知识表示方法》》

《《人工智能》之《知识表示方法》》
本体的应用

  • 自然语言理解:全面的理解自然语言需要整合大量的知识源。以本体形式表示的领域知识是深入理解文本的基础。
  • 知识管理:知识管理主要是处理一个组织中知识的获取、维护和访问。其中,本体可用于对无结构信息进行语义标注,从而使得信息的整合和访问更容易。
  • 电子商务:在电子商务中,交易的自动化要求对商品进行形式化描述,因此,需要一个标准化的词汇表——本体。本体有助于对内容意义的精确、高效通信,同时促使系统的交互式操作、重用和共享等一系列的性能得以提高。
  • 生物医学(Gene Ontology)
    WordNet: 基于心理语言规则的英文词典,它以synsets 为单位组织信息。所谓synsets 是在特定的上下文环境中可互换的同义词的集合。
    ImageNet: 基于WordNet构建

本体与语义网络的异同点

相同之处:

  • 作为知识表示工具,Ontology 与语义网络非常相似。
  • 都是表示知识的形式,且均可通过带标记的有向图来表示,适合逻辑推理。

不同之处:

从描述的对象、范围而言:

  1. Ontology 是对“共享概念模型”的规范说明。“共享概念模型”指该模型中的概念是公认的,至少在某个特定的领域是公认的。通常,Ontology 面向特定领域,用于描述特定领域的概念模型。
  2. 语义网络:数学上说,是一种带有标记的有向图。最初用于表示命题信息,现广泛应用于专家系统表示知识。语义网络中节点表示物理实体、概念、状态,连接节点的边用于表示关系,对节点和边没有其他特殊的规定,描述的对象、范围比Ontology 广。表示深度上,语义网络不如Ontology。语义网络对建模没有特殊的要求。Ontology 用5 个要素:类、关系、函数、公理、实例来严格、正确地刻画所描述的对象。公理可以看作是Ontology 中的约束。
  3. 语义网络的建立可无有相关领域的专业知识,比较容易建立。Ontology 建立更加严格、困难,须有专家的参与。

本体的分类

按领域依赖程度:

  1. 顶级(top-level)
  2. 领域(domain)
  3. 任务(task)
  4. 应用(application)

按研究主题分类:

  1. 知识表示本体
  2. 常识本体
  3. 领域本体
  4. 语言学本体
  5. 任务本体

本体创建的基本准则

T.R. Gruber 于1995年提出了本体构建的5条准则:

  • 清晰(Clarity):本体必须有效的说明所定义术语的意思。
  • 一致(Coherence):本体应该是一致的,也就是说,它应该支持不与其定义相一致的推理。
  • 可扩展性(Extendibility):本体应该为可预料到的任务提供概念基础。它应该可以支持在已有的概念基础上定义新的术语,以满足特殊的需求。
  • 编码偏好程度最小(Minimal encoding bias):概念的描述不应该依赖于某一种特殊的符号层的表示方法。因为实际的系统可能采用不同的知识表示方法。
  • 本体约定最小(Minimal ontological commitment):本体约定应该最小,只要能够满足特定的知识共享需求即可。

6.3 本体建模方法

建模过程可分为:

  • 非形式化阶段:用自然语言、图表来描述
  • 形式化阶段:通过知识表示方法对本体模型进行编码

本体建模方法类型:

  • “骨架”法
  • “评价法”(TOVE)
  • KACTUS工程法
  • Methontology法
  • SENSUS法
  • 五阶段法

本体建模步骤:

  1. 确定本体的领域、范围
  2. 考虑重用现有本体
  3. 列出本体中的重要术语
  4. 定义类、类的继承
  5. 定义属性、关系
  6. 定义属性的限制
  7. 创建实例

示例1:
《《人工智能》之《知识表示方法》》
示例2:

《《人工智能》之《知识表示方法》》
示例3:
《《人工智能》之《知识表示方法》》

本体创建方式

  • 基于手工的本体构建:要依靠领域专家的经验、现有的叙词表、分类表,使用一些成熟的本体编辑工具(如Protégé)来构建本体。
  • 自动化的本体构建:根据现有的数据(一般是某个领域的指向性较强的海量数据),通过一定的算法由机器自动的生成该领域的本体库。目前还不能完全脱离人工干预,自动从数据源构建领域本体(又称本体学习),目前大部分的研究是采用半自动化的本体构建技术。

本体开发工具
手动创建本体工具:Protégé、OntoEdit、WebOnto、OILEd, etc.

  • Protégé : 斯坦福大学开发的本体构建工具,提供本体概念类,关系,属性和实例的构建,并屏蔽了具体的本体描述语言,用户只需在概念层次上进行领域本体模型的构建。下载地址:Protégé
  • 自动构建本体工具:Hasti, OntoLearn, Text-To-Onto, Onto Builder, OntoLiFT

本体、知识库、数据库之间的关系?
Ontology是蛋糕的模具,Knowledge Base是蛋糕,Database是存放蛋糕的盒子。

7 知识图谱

本体和知识图片的涵盖范围:
《《人工智能》之《知识表示方法》》
知识图谱概念的起源:
知识图谱的概念最早出现于Google公司的知识图谱项目,体现在使用Google搜索引擎时,出现于搜索结果如下侧的相关知识展示。
《《人工智能》之《知识表示方法》》

截止到2016年底,Google知识图谱中的知识数量已经达到了600亿条,关于1500个类别的5.7亿个实体,以及它们之间的3.5万种关系。

实体、关系和事实
《《人工智能》之《知识表示方法》》
知识图谱的表示
《《人工智能》之《知识表示方法》》
语义网络、语义网、知识图谱概念对比

  • 语义网络是人工智能领域的一种知识表示模型,是一种概念和关系构成的图结构模型。强调的是一种认知模型。
  • 语义网是对互联网的一个理想状态,目标是将互联网建设为以数据的语义为核心,用机器能够理解和处理的方式链接起来的海量分布式数据库。其知识表示是资源和关系构成的图结构模型。强调的是标准化和体系化,是对互联网数据进行知识化(知识工程)的实践指南。
  • 知识图谱可以看做是语义网在大规模知识库构建方面的一个工程实现。它是由实体-关系-实体三元组构成的具有图结构的知识库,是由概念、实例、属性、关系等多粒度、多层次语义单元关联起来构成的知识系统。强调的是对认知模型与工程实践的折中化处理,是一类使用语义网技术标准实现语义网络认知模型的知识工程产品集合。

知识图片的类型

  • 语言知识图谱:主要是存储人类语言方面的知识,其中比较典型是英文词汇知识图谱 WordNet,它由同义词集和描述同义词集之间的关系构成。
  • 常识知识图谱:主要有 Cyc和 ConceptNet等。其中 Cyc 由大量实体和关系以及支持推理的常识规则构成;ConceptNet 由大量概念以及描述它们之间关系的常识构成。
  • 语言认知知识图谱:中文知网词库 HowNet是一种典型的语言认知知识图谱(语言认知知识与常识知识区别不大,因为语言是人类表达和交换信息的主要载体),HowNet 致力于描述认知世界中人们对词语概念的理解,基于词语义原,揭示词语的更小语义单元的含义。
  • 领域知识图谱:针对特定领域构建的知识图谱,专门为特定的领域服务,例如:医学知识图谱 SIDER(Side Effect Resource) ,电影知识图谱IMDB (Internet Movie Database) ,音乐知识图谱 MusicBrainz等,这些知识图谱在各自的领域都有着广泛的应用。
  • 百科知识图谱:主要以 Linked Open Data (LOD) 项目支持的开放知识图谱为核心,主要有 Freebase、DBpedia、YAGO和 Wikidata 等,它们在信息检索、问答系统等任务中有着重要应用。

代表性的知识图谱
《《人工智能》之《知识表示方法》》
通用知识图谱与领域知识图谱
《《人工智能》之《知识表示方法》》
通用知识图谱的广度,领域知识图谱的深度,相互补充,形成更加完善的知识图谱。通用知识图谱中的知识,可以作为行业知识图谱构建的基础;而构建的行业知识图谱,再融合到通用知识图谱中。

基于网络的知识图谱存在问题

  • 计算效率低问题
    基于图的算法计算复杂性高(计算实体间的语义或推理关系)。
  • 数据稀疏问题
    大规模知识库也遵守长尾分布,在长尾部分(罕见数据)的实体和关系上,面临严重的数据稀疏问题,对这些实体的语义或推理关系的计算准确率极低。

基于词嵌入的知识表示学习

表示学习:面向知识库中的实体和关系进行表示学习。在低维空间中高效计算实体和关系的语义联系,可有效解决数据稀疏问题

因为网络上已经存在了大量知识图谱,采用融合知识图谱+统计学习(包括机器学习和深度学习)的方式,将知识图谱嵌入(embedding)到一个低维空间里(比如10、20、50维),获得了向量后,就可以运用各种数学工具进行分析。

表示学习旨在将研究对象的语义信息表示为稠密低维实值向量。在该低维向量空间中,2个对象距离越近则说明其语义相似度越高。

位移距离模型:TransE
《《人工智能》之《知识表示方法》》

8 小结

  • 知识表示问题是人工智能研究的核心问题之一。知识表示方法很多,本章介绍了几种。
  • 同一问题可有许多不同的表示方法。对于特定问题有的表示方法比较有效,其它表示方法可能不大适用,或者不是好的表示方法。
  • 表示和求解比较复杂的问题时,采用单一的知识表示方法是远远不够的。往往必须采用多种方法混合表示。
  • 在选择知识表示方法时,还要考虑所使用的程序设计语言所提供的功能和特点,以便能够更好地描述这些表示方法。
    原文作者:UestcXiye
    原文地址: https://blog.csdn.net/ProgramNovice/article/details/108609916
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞