当前位置:
文档之家› 第7章 几种结构化知识表示及其推理
第7章 几种结构化知识表示及其推理
7.3.2 语义网络的表达能力
由语义网络的结构特点可以看出,语义网络不仅可以表 示事物的属性、状态、行为等,而且更适合于表示事物之间 的关系和联系。而表示一个事物的层次、状态、行为的语义 网络,也可以看作是该事物与其属性、状态或行为的一种关 系。如图7-3所示的语义网络,就表示了专家系统这个事物 (的内涵),同时也可以看作是表示了专家系统与“智能系 统”、“专家知识”、“专家思维”及“困难问题”这几个 事物之间的关系或联系。所以,抽象地说,语义网络可表示 事物之间的关系。因此,关系(或联系)型的知识和能化为 关系型的知识都可以用语义网络来表示。下面给出常见的几 种。
frame(name("教师"), body([st("类属",[st("<知识分子>",[])]), st("工作",[st("范围",[st("教学",[]),st("科研",[])]), st("缺省",[st("教学",[])])]), st("性别",[st("男",[]),st("女",[])]), st("学历",[st("中师",[]),st("高师",[])]), st("类型",[st("<小学教师>",[]),st("<中学教师>",[]), st("<大学教师>", [])])])) .
例7-1 下面是一个描述“教师”的框架: 框架名: <教师> 类属: <知识分子> 工作: 范围: (教学,科研)
缺省: 教学 性别: (男,女) 学历: (中师,高师) 类型: (<小学教师>,<中学教师>,<大学教师>)
例7-2 下面是一个描述“大学教师”的框架: 框架名: <大学教师> 类属: <教师> 学历: (学士,硕士,博士) 专业: <学科专业> 职称: (助教,讲师,副教授,教授) 外语: 语种: 范围:(英,法,日,俄,德,…)
七种类型的语义网: (1) 命题语义网(包括分块联想网络); (2) 数据语义网:以数据为中心的语义网络; (3) 语言语义网:用于自然语言的分析和理解; (4) 结构语义网:描述客观事物的结构,常见于模式识 别和机器学习等领域; (5) 分类语义网:描述抽象概念及其层次; (6) 推理语义网:是一种命题网,但它已在某种程度上规 范化,更适于推理; (7) 框架语义网:与框架相结合的语义网。
7.3.3 基于语义网络的推理 基于语义网络的推理也是继承。继承也是通过匹配、
搜索实现的。
7.3.4 语义网络的程序语言实现
由于语义网络是一个二元关系图,所以用 PROLOG可方便地实现语义网络知识表示。例如,图 7-1所示的语义网络用PROLOG可表示如下:
a_kind_of("苹果", "水果"). taste("苹果", "甜"). a_kind_of("富士", "苹果"). intro_from("富士", "日本"). is_a("日本", "亚洲国家"). a_kind_of("秦冠", "苹果"). produ_in("秦冠", "陕西"). is_located_at("陕西", "中国西部"). a_part_of("中国西部", "中国").
三元组可方便地表示简单命题或者原子谓词公式。于 是,产生式规则的前、后件也可以用三元组的形式表示。 例如,有规则:如果天阴且外出,则带上雨伞。 可用元组表示为
(今天, 天气, 阴)∧某人, 状态, 外出)→(该人, 行为, 带伞)
这就是说,元组可以作为规则的一种组件。
7.2 框 架
7.2.1 框架的概念 框架就是一种结构,一种模式,其一般形式是:
例如,前面的“教师”框架用PROLOG可表示如下:
frame(name("教师"), kind--of("<知识分子>"), work(scope("教学","科研"),default("教学")), sex("男","女"), reco--of--f--s("中师","高师"), type(“<小学教师>”,“<中学教师>”,“<大学教师>”)).
缺省: 英 水平: (优,良,中,差) 缺省:良
例 7-3 下面是描述一个具体教师的框架:
框架名: <教师-1> 类属: <大学教师> 姓名: 李明 性别: 男 年龄: 25 职业: 教师 职称: 助教 专业: 计算机应用 部门: 计算机系软件教研室 工作: 参加工作时间: 2019年8月 工龄: 当前年份-参加工作年份 工资: <工资单>
上面是一个PROLOG的“事实”,其谓词及领域说明 如下:
domains name=name(string) body=body(subtree list) subtreelist=subtree* subtree=st(string,subtreelist)
database frame(name,body)
7.4 知识图谱
所谓知识图谱(Knowledge Graph),从知识表示角度讲, 也就是上节所述的语义网络。但这一术语还有另一层意思, 那就是已经被工程实现了的可付诸实际应用的语义网络;更 具体地讲,就是Google用知识图谱(语义网络)这种知识表 示形式在互联网上实现的一个大型知识库,而且这个知识库 的名称就叫Knowledge Graph(KG)。
5. 集合与成员关系 意思是“是……的成员”,它表示成员(或元素)与集合 之间的关系。例如,“张三是计算机学会会员”可表示为图78。其中,关系“是成员”一般标识为“a-member-of”。
7. 逻辑关系
如果一个概念可由另一个概念推出,两个概念间存在因 果关系,则称它们之间是逻辑关系。图7-9所示的语义网络就 是一个逻辑关系。
图7-5 表示分类关系的语义网络
3. 组装关系
如果下层概念是上层概念的一个方面或者一部分,则 称它们的关系是组装关系。例如图7-6所示的语义网络就是 一种聚集关系。其中,关系“一部分”,一般标识为“apart-of”。
4.属性关系 属性关系表示对象的属性及其属性值。例如,图7-7表示 simon是一个人,男性,40岁,职业是教师。
其中的subtreelist是递归定义的。按此定义所有框架都 取统一的表示形式。
7.3 语义网络
7.3.1 语义网络的概念 语义网络是由节点和边(也称有向弧)组成的一种
有向图。其中节点表示事物、对象、概念、行为、性质、 状态等;有向边表示节点之间的某种联系或关系。例如 图7―2就是一个语义网络。其中,边上的标记就是边的 语义。
框架名: 〈教师-1〉 姓名: 李明 性别: 男 年龄: 25 职称: 助教 专业: 计算机应用 部门: 外语水平:
还需指出的是, 上述关于框架的推理方法, 实际仅适 于装载着概念和实体对象的框架, 而对于装载着规则的框 架, 其推理就要用基于规则的演绎推理方法。
7.2.4 框架的程序语言实现
有一种名为FRL(Frame Representation Language)的程 序设计语言,就是专门基于框架的程序设计语言。用它就 可以方便地实现框架知识表示。不过,用PROLOG也可方 便地实现框架表示。用PROLOG实现框架表示,一般采用 含结构或表的谓词来实现。因为框架实际上就是树,而 PROLOG的结构也是树,表又是特殊的结构,它的元素个 数和层数都不限定,可动态变化,因此,更适于表示一般 的框架。
………
也可以表示为 arc(a_kind_of, "苹果", "水果"). arc(taste, "苹果", "甜"). arc(a_kind_of, "富士", "苹果"). arc(intro_from, "富士", "日本"). arc(is_a, "日本", "亚洲国家"). arc(a_kind_of, "秦冠", "苹果"). arc(produ_in, "秦冠", "陕西"). arc(is_located_at, "陕西", "中国西部"). arc(a_part_of, "中国西部", "中国").
7.方位关系 在描述一个事物时,经常需要指出它发生的时间、位置, 或者指出它的组成、形状等等,此时可用相应的方位关系语 义网络表示。
8. 所属关系 所属关系表示“具有”的意思。例如“狗有尾巴”可表示 为图7-11。
图7-12 语句(事件)的语义网络
x(student(x)∧read(x, 三国演义)) 即“某个学生读过《三国演义》”,其语义网络表示为图7-13。
第7章 几种结构化知识表示 及其推理
7.1 元组 7.2 框架 7.3 语义网络 7.4 知识图谱 7.5 类与对象
7.1 元组
元 组 ( tuple ) 的 数 学 定 义 是 : 笛 卡 尔 积 中 的 一 个 元 素