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