大家好
欢迎回来
我们继续基于决策树和搜索的人工智能系统的介绍
我们这一节来跟大家讨论一下
和人一样作出判断的一些系统
也就是专家系统
专家系统是我们所遇到的第一类结构很清晰
然后组成的也较为简单的人工智能系统
首先我们要从人类下判断的
一般性的规律来开始说
我们对于客观事物的认识
总是由认识个别的事物
认识它的特征
认识它的属性
搜集它的数据开始
最后经过一系列的总结和归纳
进而认识这一类事物的普遍的规律
然后再根据普遍的规律去预测未知的问题
或者解决未知的问题
那么这种就需要根据我们归纳推理这样的方式
来做出一些判断
这些判断有一些是确定性的
比如说判断是是还是否
当然也有一些判断会比较模糊
具有一些不确定性
那么这些具有模糊的这些判断
在逻辑上也有逻辑学的专家去进行了研究
但是总的来说
人类对于知识的归纳总是通过判断来进行的
先根据事实来搜集
然后根据事实作出一系列的判断
然后再根据这些判断去预测未知的一些事物
基于规则的这种人工智能系统
它的最简单的形式
就跟我们前面提到过的读心术
它的基本原理是一样的
它是由一连串的“如果..那么..”
或者再加上“否则”
这样的规则来组成的
也就是说判断由“如果”后面跟着这个条件
这个条件是真还是假
如果是真的就进入一个分支
如果是假进入另一个分支
随着在这一棵决策树上或者叫做规则树上
然后在规则树上不停地进行搜索
然后来进行判断
或者说进行行动的决策
所以我们会看到这个规则树一般都是基于一个一个判断个判断
每一个节点
每一个方块或者树当中的每一个分叉的分叉点
它都是一个判断
那么由一连串的判断
最后能够得到你所想要解决问题的答案
如果我们具有很复杂的规则的话
我们就可以构建一个典型的专家系统
所谓的专家系统
它是一个具有智能特点的计算机的程序
那么它的智能化就表现为每一个专家系统都
可以在一个特定的领域里头
模仿人类专家的这种思维来求解复杂的问题
事实上人类的专家
或者说是在某一个领域方面有丰富经验的人
那么他对于这个问题的解决其实也是这样
他遇到一个未知的问题之后
他会对这个问题的解决过程提出一系列的这种问题
对于每一系列每一个子问题做出一个判断
随着判断的展开
最后在这个规则树上进行不停的选择和
进行不停地搜索
最终能够得到问题的答案
这个就是专家系统的整个的过程
那么主要的专家系统的组成部分
第一包括知识库
也就是人类专家丰富的在特定领域的经验
总结出来的一系列的这种规则
第二个是推理引擎
推理引擎就可以依据一些事实
然后根据一些逻辑思维的一般性的规律
一般性的规律
包括比如说像三段论这样的规律
有大前提小前提有结论这样的推理引擎
他逐步的能够从一些已知的事实进行推理
最终能得到你想要的这样一个问题的答案
这是第二部分
这个知识库是取决了专家系统
它所包含的人类的经验的多少
而推理引擎的是否强大
它的运算速度是否快
那么就决定了专家系统他能够做多少事情
能够处理多复杂的问题
当然最后专家系统也需要包括一个跟人类用户的一个接口
用户接口
从用户接口当中
用户能够发起提问
然后获得这个答案
所以具体来说知识库就是
我们必须找到一批
经验丰富在特定的问题领域
这个特定的问题领域比如说在普通的科室
或者说内科或者普通的综合科的这些医生
他长期的行医
他积累了丰富的经验
那么把化验单一拿来
或者说经过询问患者的一些基础的问题
通过一系列问题再加上化验单上的数据
那么他就可以基于他自己的经验和他原来的医学的知识
就可以迅速地知道患者他患者是什么病
应该吃什么样的药来治疗
我们专家系统就需要这些经验丰富的人类专家
把他们的这些经验和知识总结归纳成一些事实和规则
然后放到知识库当中来
人类专家就必须要把他们的知识编到这个系统里去
当然人类专家是一个个的个体
我们专家系统当中的知识库
它可以是来自于很多的精英的人类专家他的知识的积累
所以专家系统显得就能够比单个的人类专家
他所掌握的知识和经验要丰富的多
那么第二部分就是推理引擎
推理引擎我们根据
这是一段程序
根据用户提供的一些事实
然后选择引用知识库当中的原来的经验
以及引用一些规则来尝试解决用户的问题
那么推理引擎当中
我们刚才也介绍过
它的基本原理其实就是类似
if then else
如果怎么..那么我们就应该到另外一个选择分支
然后在选择分支当中一步一步的进行范围的缩小
搜索范围逐渐缩小到恰好就是这个用户
解决用户问题的知识点
这是推理引擎
第三部分就是用户的接口
用户接口是相对简单
但是其实也是需要有很多的实现技巧的问题
他以这种人类用户可读的这种形式
当然可读的形式包括文字
包括图表
包括语音
包括一些其他的信息反馈的方式
来接收用户的一些问题的查询
而且把最终的结果
把这个查询传递给我们
推理引擎和内置的接口引擎
然后经过处理引擎进行解决了问题之后
把最终问题的答案反馈给用户
这反馈的形式就会可以是多种多样的
可以是文本图像语音
甚至会有一段视频
这些都是可以的
这是属于用户接口的这一部分
那么作为一个初步的
或者是说具有明确结构和明确规则的专家系统
其实它有一定的适用领域
所以我们说他在人工智能的整个的不同的系统当中
它是属于一个比较初级的结构
所以它适用的领域特别的也特别的明确
第一在这个领域里头不需要像我们在通常
日常生活当中建立起来的额外的很多的这种常识的知识
比如说我在解决就医问题
外科手术或者说医生问题的时候
我并不需要了解物理定律或者说重力加速度这些东西
其实可以不需要去了解
它只需要集中的在很窄的领域当中支持就可以了
第二个就是在需要解决问题的领域当中
它的输入的数据
它是可以客观地被清晰的描述出来的
有很多领域的知识它特别的模糊
比如说有一些属于艺术创作领域的话
那么他可能就很难用于专家系统来进行解决
艺术当中很多的凭人类的艺术天赋
或者说灵感来进行传承的话
这些很难用客观的描述给他描述出来
比如说颜色轻一点或者重一点这个一点
有的时候会产生很大的误差
那么后面两个的因素
主要是从它的应用来看的
我们在一个领域当中值得去构建一个专家系统
首先人类专家本身是稀缺的
这个稀缺主要是因为
在这个领域当中必须要长期的工作
才能够积累起丰富的经验
比如说医生当中的老医生
那么老医生他要经过几十年的行医
才能够积累出这些丰富的经验来
当然这样因为对用户需求量特别大的这些领域来说
相对来讲人类专家就非常的稀缺
那么这样专家系统就可以在这个领域当中大显身手了
所以专家系统它具有自己独特的优势
第一是能够更快更方便非常便捷地通过用户接口
很快就能够得到答案
比如说你要去看病的话
如果是一般的人类医师
你就必须得到医院去挂号
你亲自的跑到医生的面前
然后再去做化验
将来你如果在一个医生的专家系统里边
你可能很一般的一些问题
如果不需要化验的这些
你只要打开专家系统的用户界面
由它提供的几个问题
你回答了这些问题的时候
他可能就能够快速的进行诊断
那么在专家系统知识库里头
因为计算机的硬件它的发展特别的快
所以它可以存储大量的这种知识
基本的知识和来自于不同专家的丰富的这些经验
这些知识库可以作为我们人类专家知识的一个固化的载体
即使将来人类的专家
他因为任何的原因
不能够继续提供这些知识和这些经验
这些咨询的情况下
我们照样也能够从知识库当中提取出他的经验出来
那么最后专家系统的它是可以不断的进行扩展的
不光是知识库
可以由新的人类专家新的经验不停地加入
持续的加入
有更多的这种丰富的知识
推理引擎它也可以持续不断的改进
对推理的规则也不断的改进
当然连这个用户的接口其实也可以持续的改进
所以专家系统作为一个解决特定领域的智能系统
作为一个初等的人工智能系统来说
它能够发挥很大的作用
帮我们解决很大程度的问题
我们可以很信任的
可以很信任他们
把很多常规的问题交给专家系统去解决