人工智能ARTIFICIALINTELLIGENCE主讲:鲍军鹏博士西安交通大学电信学院计算机系电子邮箱:dr.baojp@googlemail.com版本:2.02010年1月第二章知识工程2.1概述2.2知识表示方法2.3知识获取与管理2.4基于知识的系统22.1概述1.什么是知识费根鲍姆(Feigenbaum):知识是经过裁剪,塑造,解释,选择和转换了的信息。伯恩斯坦(Bernstein):知识是由特定领域的描述,关系和过程组成。海叶斯—罗斯(Heyes-Roth):知识=事实+信念+启发式。3知识一般来说,把有关信息关联在一起所形成的信息结构称为知识。知识反映了客观世界中事物之间的关系,不同事物或者相同事物间的不同关系形成了不同的知识。例如:如果大雁向南飞,则冬天就要来临了。42知识的特性相对正确性例如:1+1=10在不同的进制下有不同的正确性。不确定性知识并不总是只有“真”和“假”两种状态。引起知识不确定性的原因有:1)随机性:我有八成的把握打中目标。2)模糊性:高个子适合于打篮球。3)不完全性:这种药可能会治疗SARS。4)经验性:土干了就给花浇水。可表示性与可利用性53知识表示分类就知识的形成而言,知识是由概念、命题、公理、定理、规则、方法等组成。就知识的层次而言,知识可以分为表层知识和深层知识。就知识的确定性程度而言,知识可以分为确定性知识和不确定性知识。就知识的等级而言,知识可以分为元知识和非元知识。就知识的作用而言,知识可以分为陈述性知识和过程性知识。6过程性(PROCEDURE)知识表示过程性知识一般是表示如何做的知识,是有关系统变化、问题求解过程的操作、演算和行为的知识。一般隐含在程序之中的,机器无法从程序的编码中抽取出知识。过程性知识表示描述过程性知识,即描述表示控制规则和控制结构的知识,给出一些客观规律,告诉怎么做。例如矩阵求逆程序,程序中描述了矩阵的逆和求解方法的知识。7陈述式(DECLARATIVE)知识表示描述系统的状态、环境和条件,以及问题的概念、定义和事实。描述事实性知识,即描述客观事物所涉及的对象以及对象之间的联系。陈述式知识的表示与知识运用(推理)是分开处理的,这种知识是显式表示的。例如8accatcbcatbacattriangleABCisa,,,,4人工智能对知识表示方法的要求要求有较强的表达能力和足够的精细程度。表示能力。可理解性。自然性。从知识利用上讲,要求便于获取和表示新知识,并以合适方式与已有知识相连接。便于搜索,在求解问题时,能够较快地在知识库中找出有关知识。因此,知识库应具有较好的记忆组织结构。便于推理,要能够从已有知识中推出需要的答案或结论。混合知识表示为人工智能提供了新的研究课题92.2知识表示方法2.2.1经典逻辑表示法一阶谓词逻辑是一种形式语言。其根本目的在于:把数学中的逻辑论证进行符号化,使人们能够采用数学演绎的方式,证明一个新的语句(或断言)是从哪些已知的正确语句推导出来的,从而也就证明这个新语句是正确的。逻辑表示法的主要特点是它建立在某种形式逻辑的基础上。广义逻辑表示法包括:模糊逻辑表示一些非精确的知识非单调逻辑表示一些常识次协调逻辑表示一些相对矛盾的知识10一阶谓词逻辑表示法用谓词公式表示知识时,需要首先定义谓词,指出每个谓词的确切语义,然后再用连接词把有关的谓词连接起来,形成一个谓词公式表达一个完整的意义。例如:刘欢比他父亲有名。首先,定义谓词:Famous(x,y):x比y有名。然后用谓词公式表示:Famous(liuhuan,father(liuhuan))11基于谓词逻辑的推理谓词演算判断一个公式是否永真自然演绎系统一组公理,一组规则,从一个公式推导另一个公式与或句演绎系统公式中只有非、与、或,没有其它连接词和量词。对于反向推理比较实用子句演绎系统子句中只有非和或符号,运用消解法试图推出矛盾。12一阶谓词逻辑表示法优点:精确。易于准确理解。灵活。把知识和知识处理的方法有效地区分开来。模块化。各条知识都是相对独立的。不足:所表示的知识属于表层知识,不易表达过程性知识和启发式知识;把推理演算和知识的含义截然分开,抛弃了表达内容中所含有的语义信息,往往使推理难以深入;当问题比较复杂、系统知识量比较大的时候,容易产生组合爆炸问题。132.2.2产生式表示法美国数学家E.Post在1943年首先提出“产生式”这一术语。称为Post系统目的是构造一种形式化的计算工具,并证明它具有和图灵机同样的计算能力。目前已经成为人工智能中应用最多的一种知识表示方法。费根保姆等人研制的分析化学分子结构的专家系统DENDRAL;肖特里菲等人研制的诊断传染性疾病的专家系统MYCIN。14产生式的基本形式产生式通常用于表示具有因果关系的知识,其基本形式是:P→Q或者IfPThenQ[ElseS]其中,P是前件,用于指出该产生式是否可用的条件。Q是一组结论或者操作,用于指出当前提P满足时,应该得出的结论或者应该执行的操作。例如:烫手→缩手下雨→地面湿下雨∧甲未打伞→甲被淋湿所有人都会死∧甲是人→甲会死15产生式与谓词逻辑蕴含式的区别蕴含式只能表示精确知识;而产生式不仅可以表示精确知识,还可以表示不精确知识。例如:在专家系统MYCIN中的一条知识,If本微生物的染色斑是革兰氏阴性,本微生物的形状呈杆状,病人是中间宿主Then该微生物是绿脓杆菌,置信度为0.6产生式中前提条件的匹配可以是精确的,也可以是非精确的;而谓词逻辑蕴含式总要求精确匹配。16产生式系统一个产生式系统一般由三部分组成:规则集、全局数据库、控制策略。17全局数据库产生式规则集控制策略正向推理的一般步骤第一步用数据库中的事实与可用规则集中所有规则的前件进行匹配,得到匹配的规则集合。第二步从匹配规则集合中选择一条规则作为使用规则。第三步执行使用规则,将该使用规则后件的执行结果送入数据库;并将已执行规则从可用规则集中删除。第四步重复这个过程,直到达到目标或者无可匹配规则为止。18动物识别的例子——正向推理已知事实:一动物{有毛,吃草,黑条纹}R1:动物有毛→哺乳类R2:动物产奶→哺乳类R3:哺乳类∧吃肉→食肉类R4:哺乳类∧吃草→有蹄类R5:食肉类∧黄褐色∧有斑点→猎狗R6:食肉类∧黄褐色∧黑条纹→虎R7:有蹄类∧长脖→长颈鹿R8:有蹄类∧黑条纹→斑马19已知事实:一动物{有毛,吃草,黑条纹,哺乳类}已知事实:一动物{有毛,吃草,黑条纹,哺乳类,有蹄类}已知事实:一动物{有毛,吃草,黑条纹,哺乳类,有蹄类,斑马}逆向推理的一般步骤第一步用假设的目标事实与规则集中的规则后件进行匹配,得到匹配的规则集合。第二步从匹配规则集合中选择一条规则作为使用规则。第三步将使用规则的前件作为新的假设子目标送入数据库;并将已执行规则从可用规则集中删除。第四步重复这个过程,直至各子目标均为已知事实或者无可匹配规则为止。20规则匹配精确匹配要求各项事实与规则前件(或者后件)中的各子条件完全一致,或者经过符号代换之后完全一致例如x(P(x)→D(x))表示人都会死。已知事实张三是人,形式化yP(y)“yP(y)”≠“P(x)”不精确匹配事实和规则前件(或者后件)不必完全一致,二者只要达到某种程度的匹配就可以了。21冲突消解思路就是给所有可用规则排序,然后依次从队列中取出候选规则。通用的方法专用与通用性排序规则排序数据排序规模排序就近排序按上下文限制将规则分组对包含启发式的推理成功率高的规则优先执行按规则先前执行的性能/代价比排序22产生式表示法的特点产生式易于表示,且知识单元间相互独立,易于建立知识库。推理方式单纯,适于模拟强数据驱动特点的智能行为。知识库与推理机相分离。这种结构易于修改知识库。易于对系统的推理路径作出解释。232.2.3层次结构表示法层次结构表示法主要指框架表示法和面向对象表示法。1.框架理论1975年美国著名的人工智能学者明斯基在其论文“Aframeworkforrepresentingknowledge”中提出了框架理论,并把它作为理解视觉、自然语言对话及其复杂行为的基础。242框架结构框架是一种描述所论对象(一个事物、一个事件或一个概念)属性的数据结构。一个框架由若干个“槽”组成,一个槽又可划分为若干个“侧面”。一个槽用于描述所论对象某一方面的属性,一个侧面用于描述相应属性的一个方面。25框架的一般表示形式框架名槽名1:侧面名1值1,值2,…,值p1侧面名2值1,值2,…,值p2…侧面名m1值1,值2,…,值pm1槽名2:侧面名1值1,值2,…,值q1侧面名2值1,值2,…,值q2…侧面名m2值1,值2,…,值qm2…槽名n:侧面名1值1,值2,…,值r1侧面名2值1,值2,…,值r2…侧面名mn值1,值2,…,值rmn约束:约束条件1约束条件2…约束条件n26一个框架的例子框架名:教师姓名:单位(姓、名)年龄:单位(岁)性别:范围(男、女)缺省:男职称:范围(教授、副教授、讲师、助教)缺省:讲师部门:单位(系,教研室)住址:住址框架工资:工资框架开始工作时间:单位(年、月)截止时间:单位(年、月)缺省:现在27一个实例框架的例子框架名:教师-1姓名:夏冰年龄:36性别:女职称:副教授部门:计算机系软件教研室住址:addr-1工资:sal-1开始工作时间:1988,9截止时间:1996,728框架之间的联系框架中的槽值或侧面值都可以是另外一个框架,也就是说框架之中还可以包含框架。这就在框架之间建立起了联系。这种联系是一种包含关系,称为横向联系。框架之间还可以有继承关系,称为纵向联系。框架中可以有“继承”槽,指明上下关系。29一个框架网络的例子师生员工框架教职工框架学生框架教师框架工人框架电子系学生框架机械系学生框架教师-1教师-N学生-1学生-N..................303框架表示下的推理31在用框架表示知识的系统中,求解问题主要通过匹配与添槽实现。1.首先把这个问题用一个框架表示出来;2.然后与知识库中已有的框架进行匹配,找出一个或者多个可匹配的预选框架作为初步假设;3.在初步假设的引导下收集进一步的信息;4.最后用某种评价方法对预选框架进行评价,决定是否接受。框架的匹配是通过对相应槽的槽名及槽值逐个进行比较实现的。2.2.4网络结构表示法•语义网络(SemanticNetwork)和Petri网(PetriNet)•语义互联网(SemanticWeb)在下一代互联网研究中有着十分重要的地位321.PETRI网Petri网由德国学者卡尔·A·佩特里(CahAbamPetri)在1962年首先提出。基本的Petri网可用三元组(P,T,F)来表示。P(Place)表示位置集合T(Transition)表示转换集合F表示有向弧集合有向弧只能存在于P和T或者T和P之间在并发系统中,一个位置可以拥有多个令牌(Token),用于进行并发控制33pitipjfsftPETRI网表示法的特点便于描述系统状态的变化以及对系统动态特性进行分析;可以在不同层次上变换描述,而不必注意细节及相应的物理表示。342.语义网络•语义网络是奎廉(J.R.Quillian)于1968年在他的博士论文中作为人类联想记忆的一个显式心理学模型最先提出的。•随后在他设计的可教式语言理解器TLC(TeachableLanguageComprehenden)中用作知识表示。•1972年西蒙将其用于自然语言理解系统。•目前语义网络已经广泛地应用于人工智能的许多领域中,是一种表达能力强而且灵活的知识表示方法。35语义网络的结构•语义网络是通过概