什么是专家系统?2025年3月17日 | 阅读 8 分钟 专家系统是一种计算机程序,旨在解决复杂问题并像人类专家一样提供决策能力。它通过根据用户查询,利用推理和推导规则从其知识库中提取知识来实现这一点。 专家系统是人工智能的一个分支,第一个专家系统于 1970 年开发,这是人工智能的第一次成功尝试。它通过从知识库中提取存储的知识,像专家一样解决最复杂的问题。该系统使用 **事实和启发式方法(类似于人类专家)** 来帮助解决复杂问题。之所以称为专家系统,是因为它包含了特定领域的专家知识,并且能够解决该特定领域中的任何复杂问题。这些系统是为特定领域设计的,例如 **医学、科学** 等。 专家系统的性能取决于存储在其知识库中的专家知识。知识库中存储的知识越多,系统的性能就越好。专家系统的一个常见例子是在 Google 搜索框中输入时建议拼写错误。 下面是表示专家系统工作原理的框图  注意:重要的是要记住,专家系统并非用于取代人类专家;相反,它用于协助人类做出复杂决策。这些系统不具备人类的思考能力,而是基于特定领域的知识库进行工作。以下是一些常见的专家系统示例 - DENDRAL:这是一个人工智能项目,被开发为一个化学分析专家系统。它在有机化学中用于通过其质谱和化学知识库来检测未知有机分子。
- MYCIN:它是最早的反向链接专家系统之一,旨在发现引起败血症和脑膜炎等感染的细菌。它还用于推荐抗生素和诊断血液凝固疾病。
- PXDES:这是一个专家系统,用于确定肺癌的类型和分期。为了确定疾病,它从上半身拍摄一张看起来像阴影的图像。该阴影可以识别疾病的类型和损害程度。
- CaDeT:CaDet 专家系统是一个诊断支持系统,可以及早检测癌症。
专家系统特征 - 高性能:专家系统在解决特定领域的任何复杂问题时都提供高性能,具有高效率和准确性。
- 易于理解:它以用户易于理解的方式进行响应。它可以接受人类语言的输入,并以相同的方式提供输出。
- 可靠:它在生成高效且准确的输出方面非常可靠。
- 响应迅速:专家系统能在很短的时间内为任何复杂查询提供结果。
专家系统组成部分专家系统主要由三个组成部分组成  1. 用户界面专家系统通过用户界面与用户交互,以可读格式接收用户查询作为输入,并将其传递给推理引擎。从推理引擎获得响应后,它将输出显示给用户。换句话说,**它是一个接口,帮助非专家用户与专家系统进行通信以找到解决方案**。 2. 推理引擎(规则引擎)- 推理引擎被认为是专家系统的大脑,因为它是系统的主处理单元。它将推理规则应用于知识库以得出结论或推导出新信息。它有助于得出用户查询的无错误解决方案。
- 系统借助推理引擎从知识库中提取知识。
- 推理引擎有两种类型
- 确定性推理引擎:由此类推理引擎得出的结论被假定为真实。它基于 **事实** 和 **规则**。
- 概率性推理引擎:此类推理引擎的结论存在不确定性,基于概率。
推理引擎使用以下模式来推导解决方案 - 前向链接:它从已知事实和规则开始,并应用推理规则将其结论添加到已知事实中。
- 后向链接:这是一种后向推理方法,从目标开始并向后工作以证明已知事实。
3. 知识库- 知识库是一种存储,用于存储从特定领域的不同专家那里获得的知识。它被认为是庞大的知识存储。知识库越大,专家系统就越精确。
- 它类似于一个数据库,其中包含特定领域或主题的信息和规则。
- 也可以将知识库视为对象及其属性的集合。例如,狮子是一个对象,它的属性是它是哺乳动物,它不是家养动物等。
知识库组成部分 - 事实知识:基于事实并被知识工程师接受的知识属于事实知识。
- 启发式知识:这种知识基于实践、猜测能力、评估和经验。
知识表示:它用于使用 If-else 规则来形式化存储在知识库中的知识。 知识获取:这是从各种专家那里提取、组织和构建领域知识,指定获取知识的规则,并将这些知识存储到知识库中的过程。 专家系统开发在这里,我们将以 MYCIN 专家系统为例解释专家系统的工作原理。以下是构建 MYCIN 的一些步骤 - 首先,应将专家知识输入专家系统。对于 MYCIN,专注于细菌感染医学领域的专家会提供有关病因、症状以及该领域其他知识的信息。
- MYCIN 的知识库已成功更新。为了测试它,医生会向其提出一个新问题。问题是通过输入患者的详细信息(包括症状、当前状况和病史)来识别细菌的存在。
- 专家系统需要患者填写一份问卷,以了解患者的一般信息,例如性别、年龄等。
- 现在系统已收集所有信息,因此它将使用推理引擎和知识库中存储的事实来应用 if-then 规则来找到问题的解决方案。
- 最后,它将使用用户界面向患者提供响应。
专家系统开发参与者 专家系统的构建主要有三个参与者 - 专家:专家系统的成功在很大程度上取决于人类专家的知识。这些专家是特定领域内的专业人士。
- 知识工程师:知识工程师是收集领域专家知识,然后根据形式化将其编入系统的人。
- 最终用户:这是可能不是专家的人或一群人,他们在专家系统上工作,需要为其复杂查询寻求解决方案或建议。
为什么要使用专家系统? 在使用任何技术之前,我们都必须了解为什么要使用该技术,专家系统也是如此。尽管我们每个领域都有人类专家,那么开发基于计算机的系统有什么必要呢?因此,以下几点描述了对专家系统的需求: - 无记忆限制:它可以存储所需的数据量,并在应用时进行记忆。但对于人类专家来说,随时记忆所有事情都存在一些限制。
- 高效率:如果知识库已更新为正确知识,那么它将提供高效的输出,这对于人类来说可能无法实现。
- 特定领域的专业知识:每个领域都有很多专家,他们都有不同的技能、不同的经验和不同的技能,所以很难对查询获得最终答案。但如果我们把从人类专家那里获得的知识放入专家系统,那么它通过混合所有事实和知识来提供高效的输出。
- 不受情绪影响:这些系统不受疲劳、愤怒、抑郁、焦虑等人类情绪的影响。因此性能保持稳定。
- 高安全性:这些系统提供高安全性来解决任何查询。
- 考虑所有事实:为了响应任何查询,它会检查并考虑所有可用的事实并据此提供结果。但有可能人类专家由于任何原因可能不会考虑某些事实。
- 定期更新可提高性能:如果专家系统提供的结果有问题,我们可以通过更新知识库来提高系统性能。
专家系统功能以下是专家系统的一些功能 - 建议:它能够针对特定专家系统中的任何领域查询向人类提供建议。
- 提供决策能力:它在任何领域都提供了决策能力,例如做出任何财务决策,在医学领域做出决策等。
- 演示设备:它能够演示任何新产品,例如其特性、规格、如何使用该产品等。
- 问题解决:它具有解决问题的能力。
- 解释问题:它还能够提供输入问题的详细描述。
- 解释输入:它能够解释用户输入的解释。
- 预测结果:它可以用于预测结果。
- 诊断:为医疗领域设计的专家系统能够诊断疾病,而无需使用多个组件,因为它已经包含了各种内置的医疗工具。
专家系统优势- 这些系统具有高度可复现性。
- 它们可用于人类存在不安全的高风险场所。
- 如果知识库包含正确知识,则出错的可能性较小。
- 这些系统的性能保持稳定,因为它们不受情绪、紧张或疲劳的影响。
- 它们以非常高的速度响应特定查询。
专家系统局限性- 如果知识库包含错误信息,专家系统的响应可能会出错。
- 与人类一样,它无法为不同场景生成创造性的输出。
- 其维护和开发成本非常高。
- 用于设计的知识获取非常困难。
- 对于每个领域,我们需要一个特定的专家系统,这是其主要限制之一。
- 它无法自行学习,因此需要手动更新。
专家系统应用- 在设计和制造领域
它可广泛用于设计和制造物理设备,如镜头和汽车。 - 在知识领域
这些系统主要用于向用户发布相关知识。用于该领域的两个流行的专家系统是顾问和税务顾问。 - 在金融领域
在金融行业,它用于检测任何类型的潜在欺诈、可疑活动,并建议银行家是否应为企业提供贷款。 - 在设备的诊断和故障排除中
在医疗诊断中,使用了专家系统,这是这些系统首次使用的领域。 - 规划和调度
专家系统也可用于规划和调度某些特定任务,以实现该任务的目标。
|