AI专家系统怎么构建和实现?

文章导读
Previous Quiz Next 专家系统 (ES) 是人工智能的一个重要研究领域。它由斯坦福大学计算机科学系的研究人员引入。
📋 目录
  1. 什么是专家系统?
  2. 专家系统的能力
  3. 专家系统的组件
  4. Knowledge Base
  5. 推理引擎
  6. 用户界面
  7. 专家系统的局限性
  8. 专家系统的应用
  9. 专家系统技术
  10. 专家系统开发:一般步骤
A A

人工智能 - 专家系统



Previous
Quiz
Next

专家系统 (ES) 是人工智能的一个重要研究领域。它由斯坦福大学计算机科学系的研究人员引入。

什么是专家系统?

专家系统是开发用于解决特定领域复杂问题的计算机应用程序,其性能达到超凡的人类智能和专业知识水平。

专家系统的特点

  • 高性能
  • 可理解
  • 可靠
  • 高度响应

专家系统的能力

专家系统能够 −

  • 提供建议
  • 指导并协助人类决策
  • 演示
  • 推导出解决方案
  • 诊断
  • 解释
  • 解释输入
  • 预测结果
  • 证明结论
  • 为问题建议备选方案

专家系统无法 −

  • 替代人类决策者
  • 具备人类能力
  • 为不充分的知识库产生准确输出
  • 完善自身的知识

专家系统的组件

ES 的组件包括 −

  • Knowledge Base
  • Inference Engine
  • User Interface

让我们逐一简要了解它们 −

Expert System

Knowledge Base

它包含特定领域的高质量知识。

知识是展示智能所必需的。任何 ES 的成功主要取决于收集高度准确和精确的知识。

什么是知识?

数据是事实的集合。信息是将数据组织化为任务领域的事实。数据、信息过去经验 结合在一起称为知识。

Knowledge Base 的组件

ES 的知识库是事实知识和启发式知识的存储库。

  • Factual Knowledge: 这是知识工程师和任务领域学者广泛接受的信息。

  • Heuristic Knowledge: 这是关于实践、准确判断、评估能力和猜测的内容。

知识表示

这是用于组织和形式化知识库中知识的方法。它以 IF-THEN-ELSE 规则的形式存在。

知识获取

任何专家系统的成功主要取决于存储在知识库中的信息的质量、完整性和准确性。

知识库由阅读各种专家、学者的资料以及 Knowledge Engineers 形成。知识工程师是一个具有同理心、快速学习和案例分析技能的人。

他通过录音、访谈和观察专家工作等方式从主题专家那里获取信息。然后,他以有意义的方式对信息进行分类和组织,以 IF-THEN-ELSE 规则的形式供推理引擎使用。知识工程师还监控 ES 的开发。

推理引擎

推理引擎使用高效的程序和规则来推导出正确、无瑕疵的解决方案,这一点至关重要。

对于基于知识的 ES,推理引擎从知识库中获取和操作知识,以得出特定解决方案。

对于基于规则的 ES,它 −

  • 反复将规则应用于从先前规则应用中获得的事实。

  • 如果需要,将新知识添加到知识库中。

  • 当多个规则适用于特定情况时,解决规则冲突。

为了推荐解决方案,推理引擎使用以下策略 −

  • Forward Chaining
  • Backward Chaining

Forward Chaining

这是专家系统的一种策略,用于回答问题:接下来会发生什么?

在这里,推理引擎遵循条件和推导的链条,最终推导出结果。它会考虑所有事实和规则,并在得出解决方案之前对它们进行排序。

这种策略用于处理结论、结果或影响。例如,预测股票市场状况作为利率变化的影响。

Forward Chaining

Backward Chaining

使用这种策略,专家系统找出问题的答案:这是为什么发生的?

基于已经发生的事情,推理引擎试图找出过去可能发生哪些条件导致了这个结果。这种策略用于找出原因或理由。例如,诊断人类的血癌。

Backward Chaining

用户界面

用户界面提供 ES 用户与 ES 本身之间的交互。它通常采用 Natural Language Processing,以便任务领域熟练的用户使用。ES 的用户不必一定是 Artificial Intelligence 专家。

它解释了 ES 如何得出特定推荐。解释可能以以下形式出现 −

  • 屏幕上显示的自然语言。
  • 自然语言的口头叙述。
  • 屏幕上显示的规则编号列表。

用户界面使追踪推导的可信度变得容易。

高效 ES 用户界面的要求

  • 它应该帮助用户以最短的方式实现他们的目标。

  • 它应该针对用户现有或期望的工作实践进行设计。

  • 其技术应该适应用户需求,而不是反过来。

  • 它应该高效利用用户输入。

专家系统的局限性

没有技术能提供简单完整的解决方案。大型系统成本高昂,需要大量开发时间和计算机资源。ES 有其局限性,包括 −

  • 技术局限性
  • 知识获取困难
  • ES 难以维护
  • 开发成本高

专家系统的应用

下表显示了 ES 可以应用的领域。

应用领域 描述
设计领域 相机镜头设计、汽车设计。
医疗领域 诊断系统从观察数据中推导出疾病原因,对人类进行医疗手术。
监控系统 持续将数据与观察系统或规定行为进行比较,例如长距离石油管道的泄漏监控。
过程控制系统 基于监控控制物理过程。
知识领域 找出车辆、计算机的故障。
金融/商业 检测可能的欺诈、可疑交易、股票市场交易、航空公司调度、货物调度。

专家系统技术

有多种级别的 ES 技术可用。专家系统技术包括 −

专家系统开发环境

ES 开发环境包括硬件和工具。它们是 −

  • 工作站、小型计算机、大型计算机。

  • 高级符号编程语言,如 LISt Programming (LISP) 和 PROgrammation en LOGique (PROLOG)。

  • 大型数据库。

工具

它们在很大程度上减少了开发专家系统的努力和成本。

  • 功能强大的多窗口编辑器和调试工具。

  • 它们提供快速原型开发

  • 内置模型定义、知识表示和推理设计。

Shell

Shell 只是没有知识库的专家系统。Shell 为开发者提供知识获取、推理引擎、用户界面和解释功能。例如,以下是一些 Shell −

  • Java Expert System Shell (JESS),它提供完全开发的 Java API 用于创建专家系统。

  • Vidwan,1993 年在孟买国家软件技术中心开发的 Shell。它支持以 IF-THEN 规则的形式进行知识编码。

专家系统开发:一般步骤

ES 开发过程是迭代的。开发 ES 的步骤包括 −

确定问题领域

  • 问题必须适合专家系统来解决。
  • 找到 ES 项目任务领域的专家。
  • 建立系统的成本效益。

设计系统

  • 确定 ES 技术

  • 了解并建立与其他系统和数据库的集成程度。

  • 实现概念如何最好地表示领域知识。

开发原型

从知识库:知识工程师致力于 −

  • 从专家获取领域知识。
  • 将其表示为 If-THEN-ELSE 规则的形式。

测试和完善原型

  • 知识工程师使用样本案例测试原型,以发现性能中的任何缺陷。

  • 最终用户测试 ES 的原型。

开发并完成 ES

  • 测试并确保 ES 与其环境的所有元素交互,包括最终用户、数据库和其他信息系统。

  • 良好地记录 ES 项目。

  • 培训用户使用 ES。

维护系统

  • 通过定期审查和更新保持知识库最新。

  • 适应与其他信息系统的新接口,因为这些系统不断演进。

专家系统的益处

  • 可用性:由于软件的大规模生产,它们易于获得。

  • 较低的生产成本:生产成本合理。这使它们变得负担得起。

  • 速度:它们提供极大的速度。它们减少了个体投入的工作量。

  • 较低的错误率:与人类错误相比,错误率较低。

  • 降低风险:它们可以在对人类危险的环境中工作。

  • 稳定响应:它们稳定工作,不会情绪化、紧张或疲劳。