人工智能 - 专家系统


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

什么是专家系统?

专家系统是为解决特定领域的复杂问题而开发的计算机应用程序,具有非凡的人类智能和专业知识水平。

专家系统的特点

  • 高性能
  • 可以理解
  • 可靠的
  • 反应灵敏

专家系统的能力

专家系统能够 -

  • 提供建议
  • 指导和协助人类决策
  • 示范
  • 得出解决方案
  • 诊断
  • 解释
  • 解释输入
  • 预测结果
  • 证明结论的合理性
  • 针对问题提出替代方案

他们没有能力 -

  • 替代人类决策者
  • 拥有人的能力
  • 针对知识库不足的情况生成准确的输出
  • 完善自己的知识

专家系统的组成部分

ES 的组成部分包括 -

  • 知识库
  • 推理机
  • 用户界面

让我们一一简单地看一下它们 -

专业系统

知识库

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

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

什么是知识?

数据是事实的集合。这些信息被组织为有关任务域的数据和事实。数据、信息过去的经验结合在一起称为知识。

知识库的组成部分

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

  • 事实知识- 它是任务领域的知识工程师和学者广泛接受的信息。

  • 启发式知识- 这是关于实践、准确判断、评估和猜测的能力。

知识表示

它是用来组织和形式化知识库中的知识的方法。它采用 IF-THEN-ELSE 规则的形式。

知识获取

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

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

他通过记录、采访、观察工作中的学科专家等方式从学科专家那里获取信息,然后以IF-THEN-ELSE规则的形式对信息进行有意义的分类和组织,以供干扰机使用。知识工程师还监控 ES 的开发。

推理机

推理引擎使用有效的程序和规则对于推导出正确、完美的解决方案至关重要。

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

如果是基于规则的 ES,它 -

  • 将规则重复应用于从早期规则应用中获得的事实。

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

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

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

  • 正向链接
  • 后向链接

正向链接

这是专家系统回答“接下来会发生什么?”问题的策略。

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

遵循该策略来得出结论、结果或效果。例如,预测股票市场状况受利率变化的影响。

正向链接

后向链接

通过这种策略,专家系统可以找到“为什么会发生这种情况?”这个问题的答案。

根据已经发生的情况,推理引擎尝试找出过去可能发生哪些条件才能得出此结果。遵循此策略来找出原因或原因。例如,人类血癌的诊断。

后向链接

用户界面

用户界面提供ES的用户和ES本身之间的交互。它通常是自然语言处理,以便由精通该任务领域的用户使用。ES 的用户不一定是人工智能专家。

它解释了 ES 如何得出特定建议。解释可能以以下形式出现 -

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

用户界面可以轻松追踪扣除的可信度。

高效ES用户界面的要求

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

  • 它的设计应适合用户现有或所需的工作实践。

  • 其技术应适应用户的要求;反之则不然。

  • 它应该有效地利用用户输入。

专家系统的局限性

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

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

专家系统的应用

下表显示了 ES 可以应用的地方。

应用 描述
设计领域 相机镜头设计、汽车设计。
医疗领域 诊断系统从观察到的数据推断疾病原因,对人类进行医疗操作。
监控系统 将数据与观察到的系统或规定的Behave(例如长石油管道的泄漏监测)进行连续比较。
过程控制系统 基于监视来控制物理过程。
知识领域 查找车辆、计算机的故障。
金融/商业 检测可能的欺诈、可疑交易、股票市场交易、航班调度、货运调度。

专家系统技术

ES 技术有多个级别可用。专家系统技术包括 -

  • 专家系统开发环境- ES开发环境包括硬件和工具。他们是 -

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

    • 高级符号编程语言,例如LIS t编程(LISP) 和PRO语法 en LOG ique (PROLOG)。

    • 大型数据库。

  • 工具- 它们在很大程度上减少了开发专家系统所涉及的工作量和成本。

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

    • 他们提供快速原型制作

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

  • Shells - 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。

维护系统

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

  • 随着其他信息系统的发展,提供与其他信息系统的新接口。

专家系统的好处

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

  • 生产成本较低- 生产成本合理。这使他们负担得起。

  • 速度- 它们提供极快的速度。它们减少了个人投入的工作量。

  • 错误率较低- 与人为错误相比,错误率较低。

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

  • 稳定的反应- 他们工作稳定,不会出现运动、紧张或疲劳的情况。