人工智能 - 专家系统
专家系统(ES)是 AI 中一个重要的研究领域。它是由斯坦福大学计算机科学系的研究人员提出的。
什么是专家系统?
专家系统是开发的计算机应用程序,用于解决特定领域中的复杂问题,达到超越普通人类智能和专业知识的水平。
专家系统的特点
- 高性能
- 易于理解
- 可靠
- 响应迅速
专家系统的功能
专家系统能够:
- 提供建议
- 指导和辅助人类决策
- 演示
- 推导出解决方案
- 诊断
- 解释
- 解释输入
- 预测结果
- 证明结论
- 为问题提出替代方案
它们不能:
- 取代人类决策者
- 拥有人类的能力
- 在知识库不足的情况下产生准确的输出
- 改进自身的知识
专家系统的组成部分
ES 的组成部分包括:
- 知识库
- 推理引擎
- 用户界面
让我们简单地逐一了解一下:
知识库
它包含特定领域的高质量知识。
知识是展现智能所必需的。任何 ES 的成功都主要取决于收集高度准确和精确的知识。
什么是知识?
数据是事实的集合。信息是以数据和事实的形式组织起来的,关于任务领域。数据、信息和过去的经验结合在一起被称为知识。
知识库的组成部分
ES 的知识库既存储事实知识也存储启发式知识。
事实知识 - 它是任务领域中知识工程师和学者广泛接受的信息。
启发式知识 - 关于实践、准确判断、评估能力和猜测。
知识表示
它是用于组织和形式化知识库中知识的方法。它以 IF-THEN-ELSE 规则的形式存在。
知识获取
任何专家系统的成功都主要取决于存储在知识库中的信息的质量、完整性和准确性。
知识库是由来自各种专家、学者和知识工程师的阅读资料形成的。知识工程师是一个具有同理心、快速学习和案例分析能力的人。
他通过记录、访谈和观察专家在工作中的表现等方式获取信息。然后,他以有意义的方式对信息进行分类和组织,以 IF-THEN-ELSE 规则的形式,供推理机使用。知识工程师还监控 ES 的开发。
推理引擎
推理引擎使用有效的程序和规则来推导出正确、完美的解决方案至关重要。
在基于知识的 ES 中,推理引擎从知识库获取和操作知识以得出特定解决方案。
在基于规则的 ES 中,它:
将规则重复应用于从先前规则应用中获得的事实。
如果需要,将新知识添加到知识库中。
当多个规则适用于特定情况时,解决规则冲突。
为了推荐解决方案,推理引擎使用以下策略:
- 前向链接
- 后向链接
前向链接
这是一种专家系统策略,用于回答“接下来会发生什么?”这个问题。
在这里,推理引擎遵循条件和推导的链,最终推导出结果。它考虑所有事实和规则,并在得出结论之前对它们进行排序。
此策略用于处理结论、结果或影响。例如,预测利率变化对股市状况的影响。
后向链接
使用此策略,专家系统可以找到“为什么会发生这种情况?”问题的答案。
基于已经发生的事情,推理引擎试图找出过去可能发生过哪些条件导致了这个结果。此策略用于找出原因。例如,人类血液癌症的诊断。
用户界面
用户界面提供 ES 用户与 ES 本身之间的交互。它通常是自然语言处理,以便用户可以轻松使用,并且熟悉任务领域。ES 的用户不必一定是人工智能专家。
它解释了 ES 如何得出特定建议。解释可能以以下形式出现:
- 在屏幕上显示自然语言。
- 用自然语言进行口头叙述。
- 在屏幕上显示规则编号列表。
用户界面使跟踪推论的可信度变得容易。
高效 ES 用户界面的要求
它应该帮助用户以最短的时间完成目标。
它应该设计用于用户现有的或期望的工作实践。
其技术应适应用户的需求,而不是反过来。
它应该有效地利用用户输入。
专家系统的局限性
任何技术都不能提供简单而完整的解决方案。大型系统成本高昂,需要大量的开发时间和计算机资源。ES 存在一些局限性,包括:
- 技术的局限性
- 知识获取困难
- ES 难以维护
- 开发成本高
专家系统的应用
下表显示了 ES 可以应用的领域。
应用领域 | 描述 |
---|---|
设计领域 | 相机镜头设计、汽车设计。 |
医学领域 | 诊断系统,根据观察到的数据推断疾病原因,对人类进行医疗手术。 |
监控系统 | 持续将数据与观察到的系统或规定的行为进行比较,例如长距离石油管道中的泄漏监控。 |
过程控制系统 | 基于监控控制物理过程。 |
知识领域 | 找出车辆、计算机的故障。 |
金融/商业 | 检测可能的欺诈、可疑交易、股票市场交易、航空公司调度、货物调度。 |
专家系统技术
有几种级别的 ES 技术可用。专家系统技术包括:
专家系统开发环境 - ES 开发环境包括硬件和工具。它们是:
工作站、小型机、大型机。
高级符号编程语言,例如LISt Programming (LISP) 和PROgrammation en LOGique (PROLOG)。
大型数据库。
工具 - 它们在很大程度上减少了开发专家系统的精力和成本。
功能强大的编辑器和具有多窗口的调试工具。
它们提供快速原型设计
具有模型、知识表示和推理设计的内置定义。
外壳 - 外壳只不过是一个没有知识库的专家系统。外壳为开发人员提供了知识获取、推理引擎、用户界面和解释功能。例如,以下是一些外壳:
Java 专家系统外壳 (JESS),它提供用于创建专家系统的完全开发的 Java API。
Vidwan,1993 年在孟买国家软件技术中心开发的外壳。它能够以 IF-THEN 规则的形式进行知识编码。
专家系统的开发:一般步骤
ES 开发过程是迭代的。开发 ES 的步骤包括:
确定问题领域
- 问题必须适合使用专家系统来解决。
- 为 ES 项目找到任务领域的专家。
- 确定系统的成本效益。
设计系统
确定 ES 技术
了解并确定与其他系统和数据库的集成程度。
了解哪些概念可以最好地表示领域知识。
开发原型
从知识库:知识工程师的工作是:
- 从专家那里获取领域知识。
- 以 If-THEN-ELSE 规则的形式表示它。
测试和改进原型
知识工程师使用示例案例来测试原型在性能方面的任何缺陷。
最终用户测试 ES 的原型。
开发并完成 ES
测试并确保 ES 与其环境的所有元素(包括最终用户、数据库和其他信息系统)的交互。
妥善记录 ES 项目。
培训用户使用 ES。
维护系统
通过定期审查和更新使知识库保持最新。
随着这些系统的发展,满足与其他信息系统的新接口的需求。
专家系统的优势
可用性 - 由于软件的大规模生产,它们很容易获得。
生产成本低 - 生产成本合理。这使得它们价格合理。
速度 - 它们提供极快的速度。它们减少了个人投入的工作量。
错误率低 - 与人为错误相比,错误率低。
降低风险 - 它们可以在对人类危险的环境中工作。
稳定的响应 - 它们稳定地工作,不会产生情绪化、紧张或疲劳。