《人工智能》知识点整理.docx
《《人工智能》知识点整理.docx》由会员分享,可在线阅读,更多相关《《人工智能》知识点整理.docx(150页珍藏版)》请在冰豆网上搜索。
![《人工智能》知识点整理.docx](https://file1.bdocx.com/fileroot1/2023-1/24/060da08f-dc29-42bc-8ff7-9a5c94bb4824/060da08f-dc29-42bc-8ff7-9a5c94bb48241.gif)
《人工智能》知识点整理
《人工智能》知识点整理
第二讲知识表示
2.0.知识表示的重要性
知识是智能的基础:
获得知识、运用知识
符合计算机要求的知识模式:
计算机能存储、处理的知识表示模式;数据结构(List,Table,Tree,Graph,etc.)
2.1基本概念
2.1.1数据、信息与知识
数据(Data)
⏹信息的载体和表示
⏹用一组符号及其组合表示信息
信息(Information)
⏹数据的语义
⏹数据在特定场合下的具体含义
知识(Knowledge)
⏹信息关联后所形成的信息结构:
事实&规则
⏹经加工、整理、解释、挑选、改造后的信息
2.1.2知识的特性
⏹相对正确性
⏹一定条件下
⏹某种环境中
⏹......
⏹不确定性
⏹存在“中间状态”
⏹“真”(“假”)程度
⏹随机性
⏹模糊性
⏹经验性
⏹不完全性
⏹......
⏹可表示性&可利用性
⏹语言
⏹文字
⏹图形
⏹图像
⏹视频
⏹音频
⏹神经网络
⏹概率图模型
⏹......
2.1.3知识的分类
⏹常识性知识、领域性知识(作用范围)
⏹事实性知识、过程性知识、控制知识(作用及表示)
⏹确定性知识、不确定性知识(确定性)
⏹逻辑性知识、形象性知识(结构及表现形式)
⏹零级知识、一级知识、二级知识(抽象程度)
2.1.4常用的知识表示方法
⏹一阶谓词(FirstOrderPredicate)
⏹产生式(Production)
⏹框架(Framework)
⏹语义网络(SemanticNetwork)
⏹剧本(Script)
⏹过程(Procedure)
⏹面向对象(Object-Oriented)
⏹Petri网(PetriNetwork)
⏹信念网(BeliefNetwork)
⏹本体论(Ontology)……
2.1.5如何选择合适的表示方法?
⏹充分表示领域知识
⏹有利于对知识的利用
⏹便于理解和实现
⏹便于对知识的组织、管理与维护
2.2一阶谓词表示法
1.优点
⏹自然性
⏹接近自然语言,容易接受
⏹精确性
⏹用于表示精确知识
⏹严密性
⏹有严格的形式定义和推理规则
⏹易实现性
⏹易于转换为计算机内部形式
2.缺点
⏹无法表示不确定性知识
⏹所能表示的知识范围太狭窄
⏹难以表示启发性知识及元知识
⏹未能充分利用与问题本身特性有关的知识
⏹组合爆炸
⏹经常出现事实、规则等的组合爆炸
⏹效率低
⏹推理与知识的语义完全割裂
2.3产生式表示法
⏹1943年E.Post第一次提出
⏹称为“Post机”的计算模型(《计算理论》)
⏹一种描述形式语言的语法
⏹AI中应用最多的知识方法之一
⏹Feigenbaum研制的化学分子结构专家系统DENDRAL
⏹Shortliffe研制的的诊断感染性疾病的专家系统MYCIN
⏹……
2.3.1产生式的基本形式
PQ或
IFPTHENQCF=[0,1]
其中,P是产生式的前提,Q是一组结论或操作,CF(CertaintyFactor)为确定性因子,也称置信度。
【注意】:
谓词逻辑中的蕴涵式与产生式的基本形式相似,事实上,蕴涵式只是产生式的一种特殊情况。
理由如下:
(1)蕴涵式只能表示精确知识,其值非“真”即“假”,而产生式不仅可以表示精确知识,而且还可以表示不精确知识。
例如,MYCIN中有如下产生式:
IF本微生物的染色斑是革兰氏阴性
本微生物的形状呈杆状
病人是中间宿主
THEN该微生物是绿脓杆菌,置信度为CF=0.6
CF表示知识的强度,谓词逻辑中的蕴涵式不可以这样做。
(2)用产生式表示知识的系统中,“事实”与产生式的“前提”中所规定的条件进行匹配时,可以是“精确匹配”,也可以是基于相似度的“不精确匹配”,只要相似度落入某个预先设定的范围内,即可认为匹配。
但对谓词逻辑的蕴涵式而言,其匹配必须是精确的。
用BNF(BackusNormalForm)表示的产生式形式描述及语义:
<产生式>:
:
=<前提><结论>
<前提>:
:
=<简单条件>|<复合条件>
<结论>:
:
=<事实>|<操作>
<复合条件>:
:
=<简单条件>AND<简单条件>[(AND<简单条件>)...]|<简单条件>OR<简单条件>[(OR<简单条件>)...]
<操作>:
:
=<操作名>[(<变元>,...)]
【说明】:
产生式又称规则或产生式规则;
产生式的“前提”:
又称条件、前提条件、前件、左部等;
产生式的“结论”:
又称后件、右部等。
2.3.2产生式系统的组成
产生式系统的三个组成部分:
规则库、综合数据库、控制系统。
1、规则库
用于描述相应领域内知识的产生式集合。
在建立规则库时,应注意如下问题:
(1)有效地表达领域内的过程性知识:
包括规则的建立、不确定性知识的表示、推理链的形成、知识的完整性等。
(2)对知识进行合理的组织与管理:
目的是使得推理避免访问与所求解的问题无关的知识,以提高问题求解效率。
2、综合数据库
综合数据库又称为事实库、上下文、黑板等。
它是一个用于存放问题求解过程中各种当前信息的数据结构,例如:
问题的初始状态、原始证据、推理中得到的中间结论、最终结论等。
当规则库中某条产生式的前提可与综合数据库中的某些已知事实匹配时,该产生式就被激活,并把用它推出的结论放入综合数据库中,作为后面推理的已知事实。
显然,综合数据库的内容是在不断变化的,是动态的。
综合数据库中的已知事实通常用字符串、向量、集合、矩阵、表等数据结构表示。
3、控制系统
控制系统又称推理机构,由一组程序组成,负责整个产生式系统的运行,实现对问题的求解。
控制系统的主要工作:
(1)按一定的策略从规则库中选择规则,并与综合数据库中的已知事实进行匹配。
(2)当发生冲突(即匹配成功的规则不止一条)时,调用相应的冲突解决策略予以消解。
(3)在执行某条规则时,若该规则的右部是一个或多个结论,则把这些结论加到综合数据库中;若规则的右部是一个或多个操作,则执行这些操作。
(4)对于不确定性知识,在执行每一条规则时,还要按一定的算法计算结论的不确定性。
(5)随时掌握结束产生式系统运行的时机,以便在适当的时候停止系统的运行。
产生式系统的三大组成部分的相互关系图
控制系统
(推理机构)
规则库
综合数据库
4、产生式系统求解问题的一般步骤
(1)初始化综合数据库,把问题的初始已知事实送入综合数据库中。
(2)若规则库中存在尚未使用过的规则,而且它的前提可与综合数据库中的已知事实匹配,则继续;若不存在这样的事实,则转第(5)步。
(3)执行当前选中的规则,并对该规则做上标记,把该规则执行后得到的结论送入综合数据库中。
若该规则的结论部分指出的是某些操作,则执行这些操作。
(4)检查综合数据库中是否已包含了问题的解,若已包含,则终止问题的求解过程;否则,转第
(2)步。
(5)要求用户提供进一步的关于问题的已知事实,若能提供,则转第
(2)步;否则,终止问题求解过程。
(6)若规则中不再有未使用过的规则,则终止问题的求解过程。
2.3.3产生式系统的分类
按规则库及综合数据库的性质及结构特征进行分类:
可交换的产生式系统、可分解的产生式系统、可恢复的产生式系统。
1、可交换的产生式系统
如果一个产生式系统对规则的使用次序是可交换的,无论先使用哪一条规则都可达到目的,即规则的使用次序是无关紧要的,就称其为可交换的产生式系统。
2、可分解的产生式系统
基本思想:
把一个规模较大且比较复杂的问题(初始数据库)分解为分别若干个规模较小且比较简单的子问题,然后对每个子问题进行求解。
3、可恢复的产生式系统
在问题求解的过程中,既可对综合数据库添加新内容,又可删除或修改老内容的产生式系统称为可恢复的产生式系统。
基本思想:
人们在求解问题的过程中是经常要进行回溯的,当问题求解到某一步发现无法继续下去时,就撤销在此之前得到的某些结果,恢复到先前的某个状态。
用产生式系统求解问题时也是如此,当执行一条规则后使综合数据库的状态发生变化,若发现在新的状态中无法得到问题的解,就需要立即撤销刚才产生的结果,并将综合数据库恢复到先前的状态,然后选择别的规则继续求解。
2.3.4产生式系统的优缺点
1、产生式系统的优点
(1)自然性:
由于产生式系统采用了人类常用的表达因果关系的知识表示形式,既直观、自然,又便于进行推理。
(2)模块性:
产生式是规则库中的最基本的知识单元,形式相同,易于模块化管理。
(3)有效性:
能表示确定性知识、不确定性知识、启发性知识、过程性知识等。
(4)清晰性:
产生式有固定的格式,既便于规则设计,又易于对规则库中的知识进行一致性、完整性检测。
2、产生式系统的缺点
(1)效率不高
产生式系统求解问题的过程是一个反复进行“匹配—冲突消解—执行”的过程。
由于规则库一般都比较庞大,而匹配又是一件十分费时的工作,因此,其工作效率不高。
此外,在求解复杂问题时容易引起组合爆炸。
(2)不能表达具有结构性的知识
产生式系统对具有结构关系的知识无能为力,它不能把具有结构关系的事物间的区别与联系表示出来,因此,人们经常将它与其它知识表示方法(如框架表示法、语义网络表示法)相结合。
2.3.5产生式系统的适用领域
(1)由许多相对独立的知识元组成的领域知识,彼此之间关系不密切,不存在结构关系。
如:
化学反应方面的知识。
(2)具有经验性及不确定性的知识,而且相关领域中对这些知识没有严格、统一的理论。
如:
医疗诊断、故障诊断等方面的知识。
(3)领域问题的求解过程可被表示为一系列相对独立的操作,而且每个操作可被表示为一条或多条产生式规则。
2.4框架表示法
2.4.1框架理论
1975年美国著名AI学者Minsky在其论文“Aframeworkforrepresentingknowledge”中提出了框架理论,并把它作为理解视觉、自然语言对话及其它复杂行为的基础。
框架理论的基本思想:
认为人们对现实世界中各种事物的认识都是以一种类似于框架的结构存储在记忆中的,当面临一个新事物时,就从记忆中找出一个合适的框架,并根据实际情况对其细节加以修改、补充,从而形成对当前事物的认识。
2.4.2框架的定义及表示形式
1、定义
框架:
是一种描述对象(事物、事件或概念等)属性的数据结构,在框架理论中,框架是知识表示的基本单位。
一个框架由若干个“槽”(Slot)结构组成,每个槽又可分为若干个“侧面”。
一个槽:
用于描述所论对象某一方面的属性;
一个侧面:
用于描述相应数学的一个方面。
槽和侧面所具有的属性值分别称为槽值和侧面值。
2、框架的一般表示形式
<框架名>
槽名1:
侧面名1值1,值2,...,值p1
侧面名2值1,值2,...,值p2
侧面名m1值1,值2,...,值pm1
槽名n:
侧面名1值1,值2,...,值r1
约束:
约束条件1
约束条件n
3、框架及其实例
在《聊斋志异》中有个《胭脂》的故事,开始时邑宰判错了案,就是因为他头脑里有个破案的框架:
框架名:
tx未遂杀人案
犯罪意图:
x
犯罪结果:
杀人
被杀者:
y
杀人动机:
x未遂被y发现
知情人:
{zi|iI}
罪犯:
t
条件一:
若x为强奸,则t必须是男性
条件二:
有某个zi指控t
条件三:
t招认
邑宰用上述框架去套胭脂一案,结果得到了该框架的一个实例:
框架实例:
鄂秋準强奸未遂杀人案
犯罪意图:
强奸
犯罪结果:
杀人
被杀者:
卞牛医
杀人动机:
强奸未遂被卞牛医发现
知情人:
卞妻,胭脂
罪犯:
鄂秋準
条件一:
鄂秋準为男性,成立
条件二:
胭脂指控鄂秋準,成立
条件三:
鄂秋準招认,成立
4、框架的BNF描述
<框架>:
:
=<框架头><槽部分>[<约束部分>]
<框架头>:
:
=框架名<框架名的值>
<槽部分>:
:
=<槽>,[<槽>]
<约束部分>:
:
=约束<约束条件>,[<约束条件>]
<框架名的值>:
:
=<符号名>|<符号名>(<参数>,[<参数>])
<槽>:
:
=<槽名><槽值>|<侧面部分>
<槽名>:
:
=<系统预定义槽名>|<用户自定义槽名>
<槽值>:
:
=<静态描述>|<过程>|<谓词>|<框架名的值>|<空>
<侧面部分>:
:
=<侧面>,[<侧面>]
<侧面>:
:
=<侧面名><侧面值>
<侧面名>:
:
=<系统预定义侧面名>|<用户自定义侧面名>
<侧面值>:
:
=<静态描述>|<过程>|<谓词>|<框架名的值>|<空>
<静态描述>:
:
=<数值>|<字符串>|<布尔值>|<其它值>
<过程>:
:
=<动作>|<动作>,[<动作>]
<参数>:
:
=<符号名>
【注】:
关于框架的BNF描述的说明:
(1)框架名的值允许带参数,当别的框架调用它时需要提供相应的实在参数。
(2)当槽值或侧面值是一个过程时,它既可以是一个<动作>串,也可以是对某个过程的调用。
(3)当槽值或侧面值是谓词时,其真值由当时谓词中变元的取值确定。
(4)槽值或侧面值为<空>时,表示当时未能确定该值,待以后填入。
(5)<约束条件>是任选的,当不指出时,表示无约束。
5、框架的主要特征
(1)每个框架有一个框架名(可带参数)。
(2)每个框架有一组属性,每个属性称为一个槽,里面可以存放属性值。
(3)每个属性对它的值有一定的类型要求,不同属性的类型要求可以不一样。
(4)有些属性值可以是子框架调用,子框架调用可以带参数。
(5)有些属性值是事先确定的,而有些属性值需在生成实例时代入。
(6)有些属性值在代入时需满足一定的条件。
有时,在不同属性的属性值之间有一些条件需要满足。
2.4.3框架网络
框架网络:
是指具有横向联系及纵向联系的一组框架。
横向联系:
一个框架中的槽值或侧面值可以是另一个框架的名字,即通过一个框架可以找到另一个框架,这样就在两个框架之间建立起横向联系。
纵向联系:
由于属性的继承性,故可把共同属性抽取出来,构成一个上层框架,然而再对专有属性分别构成下层框架,并在下层设立一个专用的槽(一般称为“继承”槽)。
这样不仅在框架间建立了纵向联系,而且建立了上下层框架的属性及值的继承关系,避免了重复描述,节约了时间和空间开销。
师生员工框架
教职工框架
学生框架
教师框架
员工框架
CS学生框架
EEz学生框架
教师1
教师n
学生1
学生n
框架网络实例
2.4.4框架中槽的设置与组织
框架是一种集事物各方面属性的描述为一体,并反映相关事物间各种关系的数据结构。
在此结构中“槽”起着至关重要的作用,因为它起到如下两个方面的作用:
(1)描述事物各有关方面的属性;
(2)指出相关事物间的复杂关系。
因此,在用框架作为知识的表示模式时,对槽的设置与组织给给以足够的重视。
在设置与组织框架中“槽”的时候,应注意:
(1)充分表达事物各有关方面的属性
(2)充分表达相关事物间的各种关系
(3)对槽及侧面进行合理的组织
(4)有利于进行框架推理
框架表示知识的系统由两大部分构成:
(1)由框架及其相互关联构成的知识库
(2)由一组解释程序构成的框架推理机
框架推理是一个反复进行框架匹配的过程,且大部分匹配都具有不确定性,为了推理得以进行,通常都需要设置相应的槽来配合。
2.4.5框架系统中求解问题的基本过程
框架系统中的问题求解过程与人类求解问题的思维过程有许多相似之处:
当人们对某事物不完全了解时,往往先根据当前已掌握的情况着手工作,然后在工作过程中不断发现、掌握新情况、新线索,使工作向纵深发展,直到达到最终目标。
框架系统在求解问题时,系统首先根据当前已知条件对知识库中的框架进行部分匹配,找出预选框架,并且由这些框架中其它槽的内容以及框架间的联系得到启发,提出进一步的要求,使问题的求解向前推进一步。
重复上述过程,直至问题得到解决为止。
2.4.6框架表示法的特点
1、优点:
(1)结构性
(2)继承性3)自然性
2、缺点:
框架表示法的主要缺点是:
不善于表达过程性的知识,故经常与产生式表示法结合起来使用,以取得互补的效果。
2.5语义网络表示法
2.5.1语义网络的提出及基本思想
1968年J.R.Quillian在其博士论文中最先提出语义网络,把它作为人类联想记忆的一个显式心理学模型,并在他设计的可教式语言理解器TLC(TeachableLanguageComprehenden)中用作知识表示方法。
语义网络的基本思想:
在这种网络中,用“节点”代替概念,用节点间的“连接弧”(称为联想弧)代替概念之间的关系,因此,语义网络又称联想网络。
它在形式上是一个带标识的有向图。
由于所有的概念节点均通过联想弧彼此相连,Quillian希望他的语义网络能用于知识推导。
2.5.2语义网络的概念
语义网络中的节点:
表示各种事物、概念、情况、属性、动作、状态等,每个节点可以带有若干属性,一般用框架或元组表示。
此外,节点还可以是一个语义子网络,形成一个多层次的嵌套结构。
语义网络中的弧:
表示各种语义联系,指明它所连接的节点间某种语义关系。
节点和弧都必须带有标识,以便区分各种不同对象以及对象间各种不同的语义联系。
最简单的语义网络是一个三元组:
(节点1,弧,节点2)
1、简单语义网络举例
【例如】:
试将歌曲《军港之夜》中的歌词“海浪把战舰轻轻地摇”表示成语义网络的形式。
【解】:
第一步:
将上述歌词(即命题)表示成二元谓词的形式:
轻轻摇(海浪,战舰)
显然,它可表示成如下的语义网络:
海浪
战舰
轻轻摇
【注意】:
上述语义网络太过简单,没有告诉人们多少东西,故需要进一步改进。
第二步:
把理解这句歌词时所使用的语法知识加进去,即可将一个谓词拆成如下三个谓词:
动作主体(海浪,摇)
动作对象(战舰,摇)
动作方式(轻轻,摇)
可得如下改进后的较为详细的语义网络:
海浪
战舰
轻轻地
摇
动作主体
动作
对象
动作方式
【分析】:
在上述改进的语义网络中,海浪、战舰、摇、轻轻等概念之间的相互关系均已给出,且这种关系是命题本身所包括的。
可以说,到此为止,我们已经穷尽了命题本身包含的知识。
但是,海浪、战舰、摇、轻轻等概念本身究竟有什么含义,在这个语义网络中并未体现出来,因为命题中也没有这样的知识。
因此,为了进一步描述,就必须加入该命题以外的知识,包括我们对世界上各种事物的范畴及其属性的认识,已经《军港之夜》这首歌曲的上下文信息。
第三步:
再添上我对海港中各种事物的范畴及其属性的认知,以及《军港之夜》的上下文信息,可得如下更为详细的语义网络:
全域
行为
事物
方式
海浪
战舰
摇动
轻轻
某港海浪
某港战舰
子集
子集
子集
子集
子集
个体
子集
个体
动作对象
动作方式
动作主体
2、语义网络的BNF描述
<语义网络>:
:
=<基本网元>|Merge(<基本网元>,...)
<基本网元>:
:
=<节点><语义联系><节点>
<节点>:
:
=(<属性—值对>,...)
<属性—值对>:
:
=<属性名>:
<属性值>
<语义联系>:
:
=<系统预定义的语义联系>|
<用户自定义的语义联系>
2.5.3分块(复合)语义网络
若要处理一般的谓词公式,即命题中包含变量和量词,则上述简单的语义网络就不能应付了。
Hendrix在1975年提出了“网络分块化技术”,可以解决该问题。
网络分块化技术的基本原理:
在用语义网络表示一个复杂命题时,可将其拆成许多子命题,每个子命题用一个小的语义网络表示,称为一个“空间”。
复杂命题构成大空间,子命题构成子空间,它本身又可看作是大空间中的一个节点。
子空间可以层层嵌套,也可以用弧相互连接。
实践证明,这种复合网络的表达能力是很强的。
1、分块语义网络举例
【例1】:
试将命题“每个学生都读过一本书”表示成分块语义网络的形式。
【解】:
先将上述命题表示成谓词公式:
(s)学生(s)(b)书(b)[读过(s,b)]
其分块语义网络如下:
GS
g
学生
读
书
s
r
b
个体
F
个体
个体
个体
动作
主体
动作
对象
【说明】:
(1)命题“学生读书”构成一个空间,节点g是其代表,节点GS是全体命题的集合;
(2)通向g的两条弧,F弧指示它代表的命题是什么,弧指示s是一个全称变量,若有多个全称变量,就要有多个弧。
(3)在上图中,只有s是全称变量,r,b都是存在变量,它们都是全称变量s的函数。
【注意】:
(1)从上图可知,语义网络表示法和谓词表示法的不同:
在谓词公式中,“读”作为一个谓词出现,而在这里,它作为一个事件(动作r)和“学生”、“书”等统一处理。
(2)分块语义网络表示法要求,子空间中的所有非全称变量的节点都是全称变量节点的函数,那些不是全称变量节点函数的其它节点,应该拉到空间之外去。
【例2】:
命题“每个学生都读过《红楼梦》”,就应该表示成如下形式的语义网络:
GS
g
学生
读
书
s
r
红楼梦
个体
F
个体
个体
个体
动作
主体
动作
对象
【例3】:
试将命题“每个学生都读过所有的书”表示成分块语义网络的形式。
【解】:
先将上述命题表示成谓词公式:
(s)学生(s)(b)书(b)[读过(s,b)]
其分块语义网络如下:
GS
g
学生
读
书
s
r
b
个体
F
个体
个体
个体
动作
主体
动作
对象
2.5.4常用的语义联系
(1)A-Member-of联系:
表示个体与集体(类或集合)之间的关系,它们之间有属性继承性和属性更改权。
例如,“张三是工会会员”。
(2)Composed-of联系:
表示“构成”联系,是一种一对多的联系,被它联系的节点间不具有属性继承性。
例如,“整数由正整数、0及负整数组成”。
(3)Have联系:
表示属性或事物的“占有”关系。
例如,“鸟有翅膀”。
(4)Before,After,At联系:
表示事件之间的时间先后关系。
其中,Before表示一个事件在另一个事件之前发生;After表示一个事件在另一个事件之后发生;At表示一事件发生的时间。
例如,“唐朝在宋朝之前”就用Before。
(5)Located-on(-at,-under,-inside,-outside)联系:
表示事物之间的位置关系。
例如,“书放在桌子上”。
(6)Similar-to,Near-to联系:
表示事物之间的相似和接近关系。
例如,“猫与虎相似”。
2.5.5语义网络的分类
(1)命题语义网络
上述例子均为此类网络。
(2)数据语义网络
以数据为中心的语义网络。
提出该类网络的理由:
在数据