人工智能导论(2)——知识表示(Knowledge Representation)


一、 概述

知识表示是智能系统的重要基础,人工智能中十分重要的研究课题。

为方便记忆和回顾,根据个人学习,总结人工智能基础知识和思维导图形成系列。

二、 知识重点

  • 知识是什么,有什么特点
  • 知识表示的概念及分类
  • 典型知识表示方法
    • 一阶谓词表示法基本概念,谓词公式语法
    • 产生式表示方法
    • 语义网络表示方法
    • 框架表示方法
    • 面向对象表示法的主要观点

三、 思维导图

人工智能基础知识2——知识表示思维导图

四、重点知识笔记

1. 知识的概念

1.1 知识的定义

知识是人类对客观世界的认识和经验。
知识是经过加工的信息。是把有关信息关联在一起所形成的信息结构。

1.2 知识的特点

  • 相对正确性:任何知识都是在一定条件和环境下产生的,在特定的条件和环境下才是正确的。
  • 不确定性:随机性引起的、模糊性引起的、经验引起的、不完全性引起的
  • 可表示性与可利用性:知识可以用适当的形式表示出来,如语言、文字、图形、神经网络等。

1.3 知识表示

机器表示知识的一般方法。 将人类知识形式化或者模型化。

知识表示=数据结构+处理机制

知识表示的原则

  • 正确有效的表示知识
  • 便于理解和实现
  • 便于知识组织、维护、管理
  • 便于利用
  • 便于知识获取

知识表示的分类

  • 陈述性知识表示:以数据的形式表示(将知识表示与知识运用分开处理)简洁、严谨;工作效率低
  • 过程性知识表示:知识表示形式是一个过程(将知识表示和知识运用相结合)不够严格,不易修改;易于推理

主要知识表示方法

  • 谓词逻辑表示法
  • 语义网络表示法
  • 框架表示法
  • 过程表示法
  • Petri网表示法
  • 面向对象表示法
  • 人工神经元网络(ANN)表示法

2. 一阶谓词表示法

谓词逻辑是能够表示人类思维活动规律的一种精确的形式语言。 谓词逻辑是知识的形式化表示、定理的自动证明等研究的基础。

2.1 谓词及谓词公式

用来描述或判定对象性质、特征或者对象之间关系的词项,具有真假语义题。

示例:“武汉是个美丽的城市” 用谓词表示为美丽的城市(武汉) 或者BCity(Wuhan)
谓词类似于一个布尔类型函数。

语法元素

  • 常量符号:表示常量的符号,常量可以是现实世界中的对象
  • 变量符号:变量,未指定对象的符号,类似于函数变量
  • 函数符号:函数f包含个体数目为n,称f为n元函数符号(函数为定义域到值域的映射)
  • 谓词符号:谓词P包含个体数目为n,称P为n元谓词符号(谓词为定义域到{真,假}的映射
  • 连接词:用于谓词之间的运算
    • ¬:否定(Negation):复合公式¬Q 表示“非Q”
    • ∧:合取(Conjunction):复合公式P∧Q 表示“P 与Q”
    • ∨:析取(Disjunction):复合公式P∨Q 表示“P 或Q”
    • →:条件(Condition):复合公式P→Q 表示“如果P那么Q”
    • ↔:双条件(Bicondition):复合公式P↔Q 表示“如果P,那么Q;如果Q,那么P”
  • 量词
    • ∀x:全称量词,x 称为量词的指导变量
    • ∃x:存在量词

谓词的阶

  • 如果谓词中的所有个体都是常量、变量或函数,那么谓词为一阶谓词
  • 如果谓词P中的某个个体本身又是一个一阶谓词,那么P为二阶谓词,以此类推。

谓词公式的定义

  • 单个谓词是谓词公式
    • 每一个谓词公式都可求出一个真值(T或F)
    • 常量、变量、函数都可以是一阶谓词的个体
  • 若P、Q 是合式公式,则¬P、P∧Q、P∨Q、P→Q、P↔Q 也是谓词公式
    • 连接词优先级从高到低排列:¬、∧、∨、→、↔
  • 若P 是合式公式,则(∀x)P、(∃x)P 也是谓词公式
  • 有限步应用以上动作生成的公式也是谓词公式

2.1 谓词逻辑表示

谓词逻辑表示的步骤

  1. 定义谓词和个体
  2. 为变量赋值(个体作为值)
  3. 连接词连接谓词,形成谓词公式

示例:

#武汉是个美丽的城市,但不是沿海城市。谓词逻辑表示为:
是个美丽的城市(武汉) ∧ ¬是个沿海城市(武汉) 

#机器人站在墙边,手里没有拿东西,桌子上放着积木。谓词逻辑表示为:
在旁边站着(机器人,墙) ∧ 手空着(机器人) ∧ 在上面(积木,桌子)

#机器人拿起积木,谓词表示方法为:
#删除"手空着(机器人)∧在上面(积木,桌子)",增加"拿着(机器人,积木)",如下:
在旁边站着(机器人,墙) ∧ 拿着(机器人,积木)

3. 产生式表示法

在研究人类的认知模型中开发了基于规则的产生式系统。
通常用于表示事实、规则以及他们的不确定性度量。

产生式通常用于表示具有因果关系的知识,其基本形式为IF P THEN Q

产生式表示方法

  • 确定性规则知识的产生式表示P→Q:IF P THEN Q
    • P是产生式的前提,Q是一组结论或操作
    • 比如:IF 动物会飞 AND 会下蛋 该动物是鸟 IF 温度高于30度 THEN 关门
    • 产生式可以提供操作,谓词公式不能提供操作
  • 不确定性规则知识的产生式表示 P→Q(可信度):IF P THEN Q(可信度)
    • 比如:IF 发烧 THEN 感冒(0.6)
  • 确定性事实知识的产生式表示
    • 三元组表示:(对象,属性,值) 或者:(关系,对象1,对象2)
    • 比如:(老李,年龄,40)
    • 比如:(朋友,老王,老李)
  • 不确定性事实知识的产生式表示
    • “四元组表示:(对象,属性,值,置信度)” 或者:(关系,对象1,对象2,置信度)
    • 比如:(老李,年龄,40,0.8) (朋友,老王,老李,0.1)

形式描述及语义

产生式可以用巴克斯BNF范式描述:

<产生式>::=<前提> <结论>
        ::=表示定义为 
        空格分开表示顺序执行 
        |表示或者是 
        []表示可选 
        
<前提>::=<简单条件>|<复合条件> 

<复合条件>::=<简单条件>AND<简单条件>[AND...]
            |<简单条件>OR<简单条件>[OR...] 

<结论>::=<事实>|<操作>

<操作>:=<操作名>[(<变量>,...)]

也就是说P和Q可以包含多个语句,用AND或OR连接。

产生式系统

一组产生式可以放在一起,相互配合,一个产生式生成的结论供另一个产生式
作为已知事实,获得问题的解决,这样的系统称为产生式系统。

产生式系统由3部分组成:

  • 规则库:用于描述某领域内的知识(规则)的产生式集合
  • 综合数据库:(事实库、上下文)一个用于存放问题求解过程中各种当前信息的数据结构
  • 控制系统(推理机):由一组程序组成, 负责系统的运行, 实现对问题的求解

控制系统从综合数据库中提取事实前提,应用规则库的规则进行推理,解决问题。

3. 语义网络表示法

语义网络表示法是研究人类联想记忆时提出的一种心理学模型。

语义网络是一种通过概念及其语义联系(关系)来表示知识的有向图。

表示方法

用框图表示,框图包括节点和有向弧组成。

  • 节点用来表示事物的名称、概念、属性、状态、事件及动作等
  • 弧有方向、有标注。表示事物之间的关系,即语义关系

典型的示例如下:
语义网络框图示例

图中AKO,Have等表示语义关系。基本语义关系如下:

  • 从属关系
    • AKO(A-Kind-Of):属于…类型。例如: 苹果树 AKO 树 AKO 植物
    • AMO(A-Member-Of):是…的成员。例如:小明 AMO x班学生
    • ISA(Is-A):是一个…。例如:参观者 ISA 人
  • 包含关系
    • APO(A-Part-Of):是…的一部分。例如: 轮胎 APO 汽车
    • CO(Composed-Of):由…构成。例如:整数 CO 正整数 零 负整数
  • 属性关系
    • Have:有…属性。例如:树 Have 叶
    • Can:能够做…事情。例如:鸟 Can 飞
  • 时间关系
    • Before:在…时间之前。例如:小明毕业 Before 小王毕业
    • After:在…时间之后
  • 位置关系
    • On:在…上
    • At:在…位置。例如:积木 At 桌面
    • Under:在…之下
    • Inside:在…之内
    • Outside:在…之外
  • 相近关系
    • Similar-to
    • Near-to
  • 推论关系
    • BO(because-Of):由于…
    • FOR:为了…
    • THEN:则…
    • GET:得到…
  • 复合逻辑
    • NOR(非)
    • AND(与)。例如: 时间→与←地点
    • OR(或)

语义网络还可以表示情况、动作和 事件的表示等。示例如下:

语义网络表示动作事件等框图示例

语义网络表示知识的步骤

  1. 确定对象和对象的属性
  2. 确定对象间的关系
  3. 根据语义网络涉及的关系,整理结点(对象结点、动作结点、情况结点)和弧

任何复杂的语义关系,都可以通过许多基本的语义关系予以关联来实现

语义网络的推理过程

用语义网络表示知识的问题求解系统主要由两部分组成,一部分是由语义网络构成
的知识库,另一部分是用于问题求解的推理机。

语义网络的推理过程主要有两种:继承和匹配。

  • 继承推理:上层结点的属性传递到下层结点。比如动物的特征会传递到鸟、鱼等
  • 匹配推理:从知识库的语义网络中寻找与目标问题相符的语义网络模式

4. 框架表示法

框架是一种描述对象属性的数据结构。是表示某类情景的结构化数据结构。

框架的组成

  • 框架由若干个称为“槽"的结构组成
  • 槽描述对象某一方面的属性
  • 每个槽划分为若干个”侧面“
  • 侧面描述相应属性的一个方面

槽和侧面的属性值分别被称为槽值和侧面值

框架一般结构

<框架名> 槽名1:  侧面名  侧面值,侧面值...
                 侧面名  侧面值,侧面值...
                 ...
         .... 
         槽名n:  侧面名  侧面值,侧面值...
                  侧面名  侧面值,侧面值...
                  ...
         约束:约束条件 

示例:

框架名:<教师>
                 姓名:姓、名
                 年龄:xxx岁
                 性别:范围(男、女)         缺省:男
                 住址:<住址框架>
                 ... 

框架的特点

  • 继承性
    • 比如:地震框架、洪水框架、台风框架都可以继承自自然灾害事件框架
  • 结构化
  • 自然性

5. 面向对象方法简介

面向对象方法的主要观点

  • 世界由”对象“组成,任何事物都是对象
  • 复杂的对象由简单的对象组成
  • 对象被分成各种对象类
  • 对象间出了互递消息外,不再有其他联系
  • 对象按类、子类、父类等概念形成一种层次或树形关系

面向对象方法与面向对象的编程语言思想基本一致,用类抽象世界,用对象表示
世界,用封装、继承、消息来表示推理规则。


个人总结,部分内容进行了简单的处理和归纳,如有谬误,希望大家指出,持续修订更新中。

修订历史版本见:https://github.com/hustlei/AI_Learning_MindMap

© 版权声明
THE END
喜欢就支持一下吧
点赞785 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容