第2章 知识表示 2.1 知识表示与知识表示的概念 2.2 一阶谓词逻辑表示法 2.3 产生式表示法 2.4 语义网络表示法 第2章 知识表示 2.1 知识表示与知识表示的概念 2.2 一阶谓词逻辑表示法 2.3 产生式表示法 2.4 语义网络表示法 2.5 框架表示法 2.6 脚本表示法 2.7 过程表示法 2.8 面向对象表示法
2.4 语义网络表示法 2.4.1 语义网络的基本概念 2.4.2 事务和概念的语义网络表示 2.4.3 情况和动作的语义网络表示 2.4.4 逻辑关系的语义网络表示 2.4.5 语义网络的求解过程 2.4.6 语义网络表示法的特征
语义网络的基本概念 ----何谓语义网络(一) 语义网络表示法的形成 语义网络是奎廉(J.R.Quillian) 1968年在研究人类联想记忆时提出的一种心理学模型,认为记忆是由概念间的联系实现的。随后,奎廉又把它用作知识表示。1972年,西蒙在他的自然语言理解系统中也采用了语义网络表示法。1975年,亨德里克(G.G.Hendrix)又对全称量词的表示提出了语义网络分区技术。 什么是语义网络 语义网络是一种用实体及其语义关系来表达知识的有向图。 结点代表实体,表示各种事物、概念、情况、属性、状态、事件、动作等; 弧代表语义关系,表示它所连结的两个实体之间的语义联系。 在语义网络中,每一个结点和弧都必须带有标识,这些标识用来说明它所代表的实体或语义。
语义网络的基本概念 ----何谓语义网络(二) 语义基元 从结构上看,语义网络一般是由一些最基本的语义单元构成的,这种最基本的语义单元被称为语义基元。其三元组表示为: (结点1,弧,结点2) 基本网元 一个语义基元的有向图表示就成为一个基本网元 例如:若有语义基元 (A, R, B) 其中,A、B分别表示两个结点,R表示A与B之间的某种语义联系,则它所对应的基本网元如下图所示。 A B R
语义网络的基本概念 ----何谓语义网络(三) 语义网络的简单例子 例:“鸵鸟是一种鸟” 语义网络表示能力的比较 与产生式有着对应的表示能力 事实的表示: 例:“雪的颜色是白的” 规则的表示: 例:规则R的含义是“如果 A 则 B ” 是一种 鸵鸟 鸟 颜色 雪 白 R A B
语义网络的基本概念 ----基本的语义关系(一) 类属关系 指具有共同属性的不同事物间的“具体与抽象”、“个体与集体”的关系 分类关系: A-Kind-of 含义为“是一种”,表示一个事物是另一个事物的一种类型。例 成员关系: A-Member-of 含义为“是一员”,表示一个事物是另一个事物的一个成员。例 实例关系: Is-a 含义为“是一个”,表示一个事物是另一个事物的一个实例。例 类属关系的主要特征 最主要特征是属性的继承性,处在具体层的结点可以继承抽象层结点的所有属性。如以上例子 A-Kind-of 鸟 动物 A-Member-of 张强 共青团员 Is-a 李刚 人
语义网络的基本概念 ----基本的语义关系(二) 包含关系 亦称聚类关系。指具有组织或结构特征的“部分与整体”之间的关系。常用的包含关系是: Part-of :含义为“是一部分”,表示一个事物是另一个事物的一部分。 例如,“大脑是人体的一部分” 再如,“黑板是墙体的一部分” 包含关系与类属关系的区别 最主要区别是包含关系一般不具备属性的继承性。 如上两个例子,大脑不一定具有人的各种属性 黑板也不具有墙的各种属性。 Part-of 大脑 人体 Part-of 黑板 墙体
语义网络的基本概念 ----基本的语义关系(三) 属性关系 指事物和其属性之间的关系。常用的属性关系有: Have:含义为“有”,表示一个结点具有另一个结点所描述的属性 Can:含义是“能”、“会”,表示一个结点能做另一个结点的事情 例如,“鸟有翅膀” 时间关系 指不同事件在其发生时间方面的先后次序关系。常用的时间关系有: Before:含义为“在前”,表示一个事件在另一个事件之前发生 After: 含义为“在后”,表示一个事件在另一个事件之后发生 例如,“澳门回归在香港回归之后” Have 鸟 翅膀 After 澳门回归 香港回归
语义网络的基本概念 ----基本的语义关系(四) 位置关系 指不同事物在位置方面的关系。常用的位置关系有: Located-on:含义为“在上”,表示某一物体在另一物体之上 Located-at:含义为“在”,表示某一物体所在的位置 Located-under:含义为“在下”,表示某一物体在另一物体之下 Located-inside:含义为“在内”,表示某一物体在另一物体之内; Located-outside:含义为“在外”,表示某一物体在另一物体之外。 例如,“书在桌子上” Located-on 书 桌子
语义网络的基本概念 ----基本的语义关系(五) 相近关系 指不同事物在形状、内容等方面相似或接近。常用的相近关系有: Similar-to:含义为“相似”,表示某一事物与另一事物相似 Near-to:含义为“接近”,表示某一事物与另一事物接近 例如,“猫似虎” 推论关系 指从一个概念推出另一个概念的语义关系。常用的推论关系是Fetch 例如: “由成绩好推出学习努力” Similar-to 猫 虎 Fetch 成绩好 学习努力
事物和概念的表示 ----表示一元关系 一元关系 指可以用一元谓词P(x)表示的关系。谓词P说明实体的性质、属性等。 描述的是一些最简单、最直观的事物或概念, 常用:“是”、“有”、“会”、“能”等语义关系来说明。如,“雪是白的” 。 一元关系的描述 应该说,语义网络表示的是二元关系。如何用它来描述一元关系? 结点1表示实体,结点2表示实体的性质或属性等,弧表示语义关系。 例如,“李刚是一个人”为一元关系,其语义网络如前所示。 再例,“动物能运动、会吃”。 运动 吃 能 会 动物
事物和概念的表示 ----表示二元关系(一) 可用二元谓词P(x,y)表示的关系。其中,x,y为实体,P实体之间的关系。 单个二元关系可直接用一个基本网元来表示,如前介绍的一些常用的二元关系及其表示。下面讨论一些较复杂关系的表示方法。 对复杂关系,可通过一些相对独立的二元或一元关系的组合来实现。 例2-10 用语义网络表示: 动物能运动、会吃。 鸟是一种动物,鸟有翅膀、会飞。 鱼是一种动物,鱼生活在水中、会游泳。 对于这个问题,各种动物的属性按属性关系描述,动物之间的分类关系用类属关系描述。
事物和概念的表示 ----表示二元关系(二) 运动 能 吃 会 动物 鸟 是一种 鱼 是一种 水中 游泳 生活在 会 飞 翅膀 有 会
事物和概念的表示 ----表示二元关系(三) 例2-11 用语义网络表示: 王强是理想公司的经理; 理想公司在中关村; 王强28岁。 例2-12 若在例2-11中增加以下事实: 另有一位王强是理想公司经理聘用的职员; 职员王强22岁 。 是一位 位于 工作在 经理 中关村 理想公司 王强 年龄 28岁
事物和概念的表示 ----表示二元关系(四) 王-1:代表经理王强 王-2:代表职员王强 王强 姓名 姓名 是一位 是一位 聘用 职员 王-2 王-1 经理 年龄 年龄 工作在 工作在 理想公司 28岁 22岁 位于 中关村
事物和概念的表示 ----表示多元关系 多元关系 可用多元谓词P(x1,x2,……)表示的关系。其中,个体x1,x2,……为实体,谓词P说明这些实体之间的关系。 用语义网络表示多元关系时,一般采用增加关系结点的办法。 例2-14 用语义网络表示以下事实: 北京位于沈阳和郑州之间 这是一种“……在……和……之间”的三元关系。它不能直接用简单的二元关系来表示,需要在语义网络中增加一个位置关系的结点。 沈阳 北京 郑州 居中 边界1 边界2 位置关系
情况和动作的表示 ----事件和动作的表示(一) 表示方法:为描述复杂情况和动作,西蒙提出了增加情况和动作结点 用语义网络表示事件或动作时,需要设立一个事件或动作结点 动作结点:由一些向外引出的弧来指出动作的主体与客体。 例2-16 用于语义网络表示: “常河给江涛一张磁盘” 事件结点: 如上例用一个事件结点描述 一张磁盘 常河 给 江涛 客体2 客体1 主体 一张磁盘 给予事件 给 常河 江涛 客体2 客体1 主体 动作
情况和动作的表示 ----事件和动作的表示(二) 例2-17 用语义网络描述如下事实: “神州大学和东方大学两校篮球队在东方大学进行一场比赛,比分是85:89”。 在这个问题的语义网络中,可以设立一个事件结点“球赛”,用来表示这场特定的球赛,然后把与这场球赛有关的信息都和该结点联系起来。 比赛 是一种 客队 结局 神州大学 篮球赛 85:89 主队 东方大学
逻辑关系的表示 ----合取和析取的表示 表示方法:可通过增加合取结点和析取结点来实现 例2-18 用语义网络表示如下事实: 表示方法:可通过增加合取结点和析取结点来实现 例2-18 用语义网络表示如下事实: “参赛者有教师、有学生、有高、有低” 首先需要分析参赛者的不同情况,可得到以下四种情况: A 教师、高; B 教师、低 C 学生、高; D 学生、低 然后在按照他们的逻辑关系用语义网络表示出来。 人 参赛者 A B C D 或 教师 学生 高 低 与 是 部分 状态
语义网络表示法的特征 主要优点: 结构性 把事物的属性以及事物间的各种语义联系显式地表示出来,是一种结构化的知识表示方法。在这种方法中,下层结点可以继承、新增、变异上层结点的属性。 联想性 本来是作为人类联想记忆模型提出来的,它着重强调事物间的语义联系,体现了人类的联想思维过程。 自索引性 把各节点之间的联系以明确、简洁的方式表示出来,通过与某一结点连结的弧可以很容易的找出与该结点有关的信息,而不必查找整个知识库。这种自索引能力有效的避免搜索时所遇到的组合爆炸问题。 自然性 实际上是一个带有标识的有向图,可以比较直观地把知识表示出来,符合人们表达事物间关系的习惯,并且自然语言与语义网络之间的转换也比较容易实现。 主要缺点: 非严格性 没有象谓词那样严格的形式表示体系,一个给定语义网络的含义完全依赖于处理程序对它所进行的解释,通过语义网络所实现的推理不能保证其正确性。 复杂性 语义网络表示知识的手段是多种多样的,这虽然对其表示带来了灵活性,但同时也由于表示形式的不一致,使得它的处理增加了复杂性。
2.5 框架表示法 框架表示法是在框架理论的基础上发展起来的一种结构化知识表示方法。 2.5.1 框架理论 2.5.2 框架和实例框架 2.5.3 框架系统 2.5.4 框架系统的问题求解过程 2.5.5 框架表示法的特征
框架理论 框架理论是明斯基于1975年作为理解视觉、自然语言对话及其它复杂行为的一种基础提出来的。 框架理论认为人们对现实世界中各种事物的认识都是以一种类似于框架的结构存储在记忆中的,当遇到一个新事物时,就从记忆中找出一个合适的框架,并根据新的情况对其细节加以修改、补充,从而形成对这个新事物的认识。 例如,对饭店的认识。进入饭店前先有一个结构,进入后修改该结构。 框架 是人们认识事物的一种通用的数据结构形式。即当新情况发生时,人们只要把新的数据加入到该通用数据结构中便可形成一个具体的实体,这样的通用数据结构就称为框架。 实例框架:对于一个框架,当人们把观察或认识到的具体细节填入后,就得到了该框架的一个具体实例,框架的这种具体实例被称为实例框架。 框架系统:在框架理论中,框架是知识的基本单位,把一组有关的框架连结起来便可形成一个框架系统。 框架系统推理:由框架之间的协调来完成。
框架和实例框架 ----框架的基本结构(一) <框架名> 槽名1: 侧面名11 值111,值112,…… 侧面名12 值121,值122,…… : 槽名2: 侧面名21 值211,值212,…… 侧面名22 值221,值222,…… 槽名n: 侧面名n1 值n11,值n12,…… 侧面名n2 值n21,值n22,…… 侧面名nm 值nm1,值nm2,…… 约束: 约束条件1 约束条件2 约束条件k
框架和实例框架 ----框架的基本结构(二) 例2-23 一个描述硕士生有关情况的框架 框架名: <硕士生> 姓名:单位(姓,名) 性别:范围(男,女) 默认:男 年龄:单位(岁) 条件:岁>16 学习专业:单位(专业名) 研究方向:单位(方向名) 导师姓名:单位(姓,名) 参加课题:范围(国家级,省部级,其它) 默认:国家级 学籍:<硕学籍> 住址:单位(楼号,房间号) 电话:单位((区号),话机号) 入学时间:单位(年,月) 学制:单位(年) 默认:3年
框架和实例框架 ----实例框架 实例框架:对于一个框架,当把具体信息填入其槽或侧面后,就得到一个该框架的实例框架。 例如: “硕士生”框架的一个实例框架: 框架名: <硕士生-1> 姓名:杨叶 性别:女 年龄:23 学习专业:计算机应用技术 研究方向:人工智能 导师姓名:林海 参加课题: 学籍:<硕学籍> 住址:16号楼316房间 电话:(010)33333333 入学时间:2000年9月 学制:
框架系统 ----框架系统的基本结构(一) 当知识比较复杂时,往往需要把多个相互联系的框架组织起来,形成一种框架系统。 框架系统的基本结构是通过诸框架之间的横向或纵向联系来实现的。 框架之间的横向联系 由于一个框架的槽值或侧面值可以是另外一个框架的名字,这就在框架之间建立起了一种联系,这种联系称为框架之间的横向联系。 例如,在例2-21中,“硕士生”框架与“硕学籍”之间为横向联系。在该例中,当想了解杨叶的情况时,不仅可以直接在实例框架“硕士生-1”中了解到她的“年龄”、“学习专业”、“研究方向”、“导师姓名”、“参加课题”、“入学时间”等情况,而且还可以通过槽值为“硕学籍-1”框架名, 找到“硕学籍-1”框架,得到她的成绩的详细情况。
框架系统 ----框架系统的基本结构(二) 框架之间的纵向联系 当用框架表示具有演绎关系的知识结构时,下层框架与上层框架之间具有继承关系,这种具有继承关系的框架之间的联系称为纵向联系。 在各种分类问题的框架系统中,各层框架之间的联系是一种纵向联系。例如: 事实上,框架系统中还很可能会出现框架之间的横向联系。 学生框架 本科生框架 硕士生框架 博士生框架 … … 计算机系硕士生 … 电子系硕士生 … 硕士生-1 … 硕士生-n
框架系统 ----框架系统的表示(一) 例如:例2-21中,“硕士生”框架的学籍槽值为另一个框架名,这就建立了它们之间的横向联系。 框架之间的横向联系:是通过槽值或侧面值中的框架名来实现的。 例如:例2-21中,“硕士生”框架的学籍槽值为另一个框架名,这就建立了它们之间的横向联系。 框架系统之间的纵向联系:是通过在下层框架中增加“继承”槽来实现的。 当下层框架对上层框架具有继承关系时,可在下层框架中增加一个“继承”槽,其槽值为上层框架的框架名。 例如:学生框架 框架名: <学生> 姓名:单位(姓,名) 性别:范围(男,女) 默认:男 年龄:单位(岁) 住址:单位(楼号,房间号) 电话:单位((区号),话机号) 入学时间:单位(年,月) 学制:单位(年)
框架系统 ----框架系统的基本结构(二) 硕士生框架 框架名: <硕士生> 继承:<学生> (纵向联系) 学籍:<硕学籍> (横向联系) 研究方向:单位(方向名) 导师姓名:单位(姓,名) 参加课题:范围(国家级,省部级,其它) 默认:国家级 学位论文:单位:(论文题目) 默认:题目未定 在上述“硕士生”框架的“继承”槽中,其槽值为该框架的父框架名“学生”,表示“硕士生”框架要继承“学生”框架的属性。 即“学生”框架和“硕士生”框架之间是纵向联系。
框架系统 ----框架系统的基本结构(三) 计算机系硕士生框架 框架名:<计算机系硕士生> 继承:<硕士生> 专业:范围(计算机应用技术,计算机软件及理论) 默认:计算机应用技术 使用计算机:单位(计算机的型号) 在上述“计算机系硕士生”框架的“继承”槽中,其槽值为该框架的父框架名“硕士生”,表示“计算机系硕士生”框架要继承“硕士生”框架的属性。它和“硕士生”框架之间是纵向联系。
框架系统 ----框架系统的基本结构(四) 实例框架的例子 例2-24 设某个计算机系硕士生的实例框架 框架名:<计算机系硕士生-1> 继承:<硕士生> 姓名:柳青 性别:女 年龄:23 研究方向:人工智能 …… 一般说,实例框架中的每一个槽都应给出槽值,但对可继承上层框架槽值的槽,若上层框架的相应槽有默认值,则实例框架中的槽值可不给出。 例:在“计算机系硕士生-1”框架中,虽没给出“专业”、“参加课题”等槽及其槽值,但由继承性可知,柳青是计算机应用专业,参加课题为国家级。
框架系统 ----框架系统中的预定义槽名(一) 对复杂问题,框架间除了纵、横向联系外,还有一些其它形式的联系。 在框架系统中通常定义了一些标准槽名,称这些槽名为系统预定义槽名。常用的预定义槽名有以下几种: is-a槽:指出一个具体事物与其抽象概念间的类属关系。含义为 “是一个” AKO槽:指出事物间在抽象概念上的类属关系。含义为 “是一种”。用AKO作为下层框架的槽名时,其槽值为上层框架的框架名。 Subclass槽:用来指出子类与类之间的类属关系。当用它作为某下层框架的槽时,表示该下层框架是其上层框架的一个子类。 instance槽:用来建立“AKO”槽的逆关系。当用它作为某上层框架的槽时,可用来指出它的下一层框架都有哪些。例如 框架名:<学生> instance:<计算机系学生>,<电子系学生>,<信息系学生> … … 以上4种槽都具有继承性 part-of槽:用于指出“部分”与“全体”的关系。 例如:人和手的关系
框架系统 ----框架系统中的预定义槽名(二) infer槽:指出两个框架所描述事物间的逻辑推理关系 可用来表示相应的产生式规则。例如,设有如下知识: 框架名:<诊断规则> 症状1:咳嗽 症状2:发烧 症状3:打喷嚏 infer:<结论> 可信度:0.8 框架名:<结论> 病名:感冒 用药:口服感冒清 服法:一日三次,每次2粒 possible-reason槽:与infer槽相反,用来把某个结论与可能的原因联系起来。 similar槽:指出两个框架所描述的事物之间的相似关系。 rotation槽:指出两个框架所描述的事物之间的“旋转”关系。
框架系统的问题求解过程 框架系统的问题求解主要是通过对框架的匹配与填槽来实现的,步骤: (1) 把要求解的问题用框架表示出来; (1) 把要求解的问题用框架表示出来; (2) 把它与知识库中的已有框架进行匹配,找出一个或多个候选框架,并在这些候选框架引导下进一步获取附加信息,填充尽量多的槽值,以建立一个描述当前情况的实例。如果该候选框架可以找到满足要求的填充值,就把它们填入到该候选框架的相应槽中去。如果找不到合适的填充值,就必须选择新的框架。在选择新的框架时,应该从前面的失败原因中吸取教训,并提供有用线索; (3) 用某种评价方法对候选框架进行评价,以决定是否接收该框架。 说明:框架的匹配实际上是通过对相应槽的槽名和槽值逐个进行比较来实现的。如果两个框架的各对应槽没有矛盾,或者满足预先规定的某些条件,就认为这两个框架可以匹配。由于框架间存在继承关系,一个框架所描述的某些属性及值可能是从它的上层框架继承过来的,因此两个框架的比较往往会涉及到它们的父框架或祖先框架,这就增加了匹配的复杂性。
框架表示法的特征 框架表示法的优点 结构性:最突出特点是善于表示结构性知识,它能够把知识的内部结构关系以及知识间的特殊联系表示出来。在框架表示中,知识的基本单位是框架,而框架又由若干个槽组成,一个槽又由若干个侧面组成,这样就可以把知识的内部结构显式地表示出来。 深层性: 框架表示法不仅可以从多个方面、多重属性表示知识,而且还可以通过isa、AKO、subclass等槽以嵌套结构分层地对知识进行表示,或通过infer、possible-reason等槽来表示事物间的因果关系,因此能用来表达事物间复杂的深层联系。 继承性:在框架系统中,下层框架可以继承上层框架的槽值,也可以进行补充和修改,这样不仅可以减少知识的冗余,而且较好地保证了知识的一致性。 自然性:框架系统对知识的描述在直觉上是很吸引人的。它把与谋个实体或实体集相关关特性都集中在一起,从而高度模拟了人脑对实体多方面、多层次的存储结构,直观自然,易于理解。 框架表示法的不足 缺乏框架的形式理论:至今,还没有建立框架的形式理论,其推理和一致性检查机制并非基于良好定义的语义。 缺乏过程性知识表示:框架系统不便于表示过程性知识,缺乏如何使用框架中知识的描述能力。框架推理过程需要用到一些与领域无关的推理规则,而这些规则在框架系统中又很难表达。 清晰性难以保证:由于各框架本身的数据结构不一定相同,从而框架系统的清晰性很难保证。
2.6 脚本表示法 脚本是框架的一种特殊形式,它由一组槽组成,用来描述特定范围的一些事件的发生序列。 2.6.1 脚本的结构 2.6.1 脚本的结构 2.6.2 脚本的推理
脚本的结构(一) 脚本的组成部分 进入条件 给出在脚本中所描述事件的前提条件; 角色 是一些用来表示在脚本所描述事件中可能出现的有关人物的槽; 道具 是一些用来表示在脚本所描述事件中可能出现的有关物体的槽; 场景 用来描述事件发生的真实顺序,一个事件可以由多个场景组成,而每个场景又可以是其它的脚本; 结果 给出在脚本所描述事件发生以后所产生的结果。
脚本的结构(二) 例子:餐厅脚本 进入条件 ① 顾客饿了,需要进餐; ② 顾客有足够的钱。 角色 顾客,服务员,厨师,老板。 道具 食品,桌子,菜单,钱。 场景 场景1:进入 顾客进入餐厅; 寻找桌子; 在桌子旁坐下。 场景2:点菜 服务员给顾客菜单; 顾客点菜; 顾客把菜单还给服务员; 顾客等待服务员送菜。
脚本的结构(二) 场景3:等待 服务员告诉厨师顾客所点的菜; 厨师做菜,顾客等待。 场景4:吃 厨师把做好的菜给服务员; 服务员把菜送给顾客; 顾客吃菜。 场景5:离开 服务员拿来账单; 顾客付钱给服务员; 顾客离开餐厅。 结果 顾客吃了饭,不饿了; 顾客花了钱; 老板赚了钱; 餐厅食品少了。
脚本的推理(一) 脚本所描述的事件是一个因果关系链,链头是一组开场条件,只有当这些初始条件满足时,该脚本中的事件才能开始;链尾是一组结果,只有当这一组结果满足时,该脚本中的事件才能结束,以后的事件或事件序列才能发生。 一个脚本建立之后,如果已知该脚本适合于所给定的事件,则对一些在脚本中没有明显提出的事件,可以通过脚本进行预测,对那些在脚本中已明显提到的事件,可通过脚本给出它们之间的联系。 一个脚本在使用之前必须先将其激活,根据脚本的重要性,激活脚本有以下两种方法: (1) 对于不属于事件核心部分的脚本,只需要设置指向该脚本的指针即可,以便当它成为核心时能够启用。例如,对于前面讨论过的餐厅脚本,如有以下事件: “何雨在去展览会的路上经过他喜欢的饭馆,他非常喜欢这次的网络信息展览会” 那么应该采用这种方法,设置指向餐厅脚本的指针。
脚本的推理(二) (2) 对于符合核心事件的脚本,则应使用在当前事件中涉及到的具体对象和人物去填写剧本槽。脚本的前提、道具、角色和事件等常能起到激活剧本的指示器的作用。 一旦脚本被激活,则可以用它来进行推理。其中,最重要的是利用剧本可以预测没有明确提及的事件的发生。例如,对于以下情节: “昨晚,何雨到了餐厅。他定了鱼香肉丝、米饭。当它要付款时发现没钱了。因为开始下雨了,所以它赶快回家了”。 如果有人问: “昨晚,何雨吃饭了吗?” 虽然在上面没有提到何雨吃没吃饭的问题,但借助于餐厅剧本,可以回答:“他吃了”。这是因为启用了餐厅剧本。情节中的所有事件与剧本中所预测的事件序列相对应,因此可以推出整个事件正常进行时所得出的结果。
脚本的推理(三) 但是,一旦一个典型的事件被中断,也就是给定情节中的某个事件与剧本中的事件不能对应时,则剧本便不能预测被中断以后的事件了。例如,有如下情节: “何雨走进餐厅。他被带到餐桌旁。定了一大盘鱼香肉丝和大米之后。他坐在那里等了许久。于是,他生气地走了。” 在该情节中,因为要久等,所以何雨走了。这一事件改变了餐厅脚本中所预测的事件序列,因而被中断了。这时就不能推断何雨是否付了帐等情节。但是,仍然可以推出它看了菜单,这是因为看菜单事件发生在终端之前。从这个例子还可以看出,利用脚本可以将事情的注意力集中在“因为久等,何雨生气了”这样一些特殊事件的发生上。 脚本结构与框架结构相比,要呆板得多,知识表示的范围也比较窄,因此不能用来表达各种知识。但是,对于表达预先构思好的特定知识,如理解故事情节等,是非常有效的。 目前,脚本表示主要在自然语言理解方面获得了一些应用。
2.7 过程表示法 过程性知识表示是将有关某一问题领域的知识,连同如何使用这些知识的方法,均隐式地表示为一个求解问题的过程。 2.7.1 知识表示方法 2.7.2 问题求解过程 2.7.3 特性
知识表示方法(一) 过程表示没有固定的表示形式,如何描述知识完全取决于具体问题。下面以过程规则表示形式为例来说明知识的过程表示问题。一般来说,一个过程规则由以下4部分组成: (1) 激发条件 激发条件由推理方向(对推理方向还将在下一章认真讨论)和调用模式两部分组成。其中,推理方向用于指出推理是正向推理(FR)还是反向推理(BR)。若为正向推理,则只有当综合数据库中的已有事实可以与其“调用模式”匹配时,该过程规则才能被激活;如果是反向推理,则只有当“调用模式”与查询目标或子目标匹配时才能将该过程规则激活。 (2) 演绎操作 演绎操作由一系列的子目标构成。当前面的激发条件满足时,将执行这里列出的演绎操作。 (3) 状态转换 状态转换槽作用来完成对综合数据库的增、删、改操作。 (4) 返回 过程规则的最后一个语句使返回语句,用于指出将控制权返回到调用该过程规则的上一级过程规则那里去。
知识表示方法(二) 例子:下面给出一个关于同学问题的过程表示。 设有如下知识: “如果x与y是同班同学,且z是x的老师, 则z是y的老师” 可用过程规则表示为: BR(Teacher ?z ?y) (求解的问题) GOAL(Classmate ?x y) (带?的是需要求得的) GOAL(Teacher z x) (已知z是x的老师) INSERT(Teacher z y) (对数据库的插入操作) RETURN 其中:BR是逆向推理标志; GOAL表示求解子目标,即进行过程调用; INSERT表示对数据库进行插入操作; RETURN作为结束标志; 带“?”的变量表示其值将在该过程中求得
问题求解(一) 问题求解的基本过程是:每当有一个新的目标时,就从可以匹配的过程规则中选择一个执行之。在该规则的执行过程中可能会产生新的目标,此时就调用相应的过程规则并执行它。反复进行这一过程,直至执行到RETURN语句,这时将控制权返回给调用当前过程的上一级过程规则,并依次按照调用时的相反次序逐级返回。在这一过程中,如果某过程规则运行失败,就另选择一个同层的可匹配过程规则执行,如果不存在这样的过程规则,则返回失败标志,并将执行的控制权移交给上一级过程规则。 下面仍以上述例子为例来说明采用逆向推理的问题求解过程。 设综合数据库中有以下已知事实: (Classmate 杨叶 柳青) (Teacher 林海 杨叶) 其中,第一个事实表示杨叶与柳青是同班同学;第二个事实表示林海是杨叶的老师。 假设需要求解的问题是: 找出两个人w及v,其中w是v的老师。该问题可表示为: GOAL(Teacher ?w ?v)
问题求解(二) 求解该问题的过程是 (1) 在过程规则库中找出对于问题GOAL(Teacher ?w ?v),其激发条件可以满足的过程规则。显然,BR(Teacher ?z ?y)经如下变量代换: w/z, v/y 后可以匹配,因此选用该过程规则。 (2) 执行该过程规则中的第一个语句GOAL(Classmate ?x y)。此时,其中的y已被v代换。经与已知事实(Classmate 杨叶 柳青)匹配,分别求得了变量x及v的值,即 x=杨叶 v=柳青 (3) 执行该过程规则中的第二个语句GOAL(Teacher z x)。此时,x的值已经知道,z已被w代换。经与已知事实(Teacher 林海 杨叶)匹配,求得了变量w的值,即 w=林海 (4) 执行该过程规则中的第三个语句INSERT(Teacher z y),此时,z与y的值均以知道,分别是林海和杨叶,因此这时插入数据库的事实是: (Teacher 林海 柳青) 这表明“林海是柳青的老师”,求得了问题的解。
过程表示的特征 过程表示法的知识有如下优点: (1) 表示效率高 过程表示法是用程序来表示知识的,而程序能准确的表明先做什么,后作什么以及怎样做,并直接嵌入一些启发式的控制信息,因此,可以避免选择及匹配那些无关的知识,也不需要跟踪那些不必要的路径,从而提高了系统的运行效率。 (2) 控制系统容易实现 由于控制性质是已嵌入到程序中,因而控制系统就比较容易设计。 过程表示法的主要缺点 不易修改及添加新知识,而且当对某一过程进行修改时,又可能影响到其它过程,对系统的维护带来不便。 目前的发展趋势 探讨说明性与过程性相结合的知识表示方法,以便在可维护性、可理解性以及运行效率方面寻求一种比较合理的解决方法。
下星期交电子版 文件名命名原则: (学号姓名)-1.doc 例如:103XXXXXX张三-1.doc 作 业 下星期交电子版 文件名命名原则: (学号姓名)-1.doc 例如:103XXXXXX张三-1.doc