Artificial Intelligence 简明教程
Artificial Intelligence - Expert Systems
专家系统 (ES) 是人工智能的一个重要研究领域。它是由斯坦福大学计算机科学系的专家引入的。
Expert systems (ES) are one of the prominent research domains of AI. It is introduced by the researchers at Stanford University, Computer Science Department.
What are Expert Systems?
专家系统是一种计算机应用程序,旨在解决特定领域的复杂问题,达到非凡的人类智力和专业知识水平。
The expert systems are the computer applications developed to solve complex problems in a particular domain, at the level of extra-ordinary human intelligence and expertise.
Capabilities of Expert Systems
专家系统有能力 −
The expert systems are capable of −
-
Advising
-
Instructing and assisting human in decision making
-
Demonstrating
-
Deriving a solution
-
Diagnosing
-
Explaining
-
Interpreting input
-
Predicting results
-
Justifying the conclusion
-
Suggesting alternative options to a problem
它们无法 −
They are incapable of −
-
Substituting human decision makers
-
Possessing human capabilities
-
Producing accurate output for inadequate knowledge base
-
Refining their own knowledge
Components of Expert Systems
专家系统的组成如下:
The components of ES include −
-
Knowledge Base
-
Inference Engine
-
User Interface
让我们逐一简要了解它们:
Let us see them one by one briefly −
Knowledge Base
包含领域特定且高质量的知识。
It contains domain-specific and high-quality knowledge.
获得智能需要知识。任何专家系统的成功在很大程度上取决于其高度准确和精确的知识集合。
Knowledge is required to exhibit intelligence. The success of any ES majorly depends upon the collection of highly accurate and precise knowledge.
What is Knowledge?
数据是事实的集合。信息被组织为与任务领域相关的数据和事实。 Data, information, 和 past experience 结合在一起称为知识。
The data is collection of facts. The information is organized as data and facts about the task domain. Data, information, and past experience combined together are termed as knowledge.
Components of Knowledge Base
专家系统的知识库是事实和启发式知识的存储库。
The knowledge base of an ES is a store of both, factual and heuristic knowledge.
-
Factual Knowledge − It is the information widely accepted by the Knowledge Engineers and scholars in the task domain.
-
Heuristic Knowledge − It is about practice, accurate judgement, one’s ability of evaluation, and guessing.
Knowledge representation
这是用来组织和规范知识库中的知识的方法。它采用 IF-THEN-ELSE 规则的形式。
It is the method used to organize and formalize the knowledge in the knowledge base. It is in the form of IF-THEN-ELSE rules.
Knowledge Acquisition
任何专家系统的成功在很大程度上取决于存储在知识库中的信息的质量、完整性和准确性。
The success of any expert system majorly depends on the quality, completeness, and accuracy of the information stored in the knowledge base.
知识库由来自各个专家、学者和 Knowledge Engineers 的读物组成。知识工程师是一个具有同理心、快速学习和案例分析技能的人。
The knowledge base is formed by readings from various experts, scholars, and the Knowledge Engineers. The knowledge engineer is a person with the qualities of empathy, quick learning, and case analyzing skills.
他通过记录、访谈和观察专家在工作中的表现等方式从主题专家那里获取信息。然后,他以有意义的方式对信息进行分类和组织,采用 IF-THEN-ELSE 规则的形式,供干涉机器使用。知识工程师还监督专家系统的开发。
He acquires information from subject expert by recording, interviewing, and observing him at work, etc. He then categorizes and organizes the information in a meaningful way, in the form of IF-THEN-ELSE rules, to be used by interference machine. The knowledge engineer also monitors the development of the ES.
Inference Engine
推理引擎使用高效的过程和规则对于得到正确、无瑕疵的解决方案至关重要。
Use of efficient procedures and rules by the Inference Engine is essential in deducting a correct, flawless solution.
在基于知识的专家系统中,推理引擎获取知识库中的知识并对其进行操作以得出特定解决方案。
In case of knowledge-based ES, the Inference Engine acquires and manipulates the knowledge from the knowledge base to arrive at a particular solution.
在基于规则的专家系统中,它:
In case of rule based ES, it −
-
Applies rules repeatedly to the facts, which are obtained from earlier rule application.
-
Adds new knowledge into the knowledge base if required.
-
Resolves rules conflict when multiple rules are applicable to a particular case.
为了推荐解决方案,推理引擎使用以下策略:
To recommend a solution, the Inference Engine uses the following strategies −
-
Forward Chaining
-
Backward Chaining
Forward Chaining
专家系统的一种策略是回答问题 “What can happen next?”
It is a strategy of an expert system to answer the question, “What can happen next?”
在此,推理引擎遵循条件和推导链,最终推导出结果。它考虑所有事实和规则,并在得出解决方案之前对它们进行排序。
Here, the Inference Engine follows the chain of conditions and derivations and finally deduces the outcome. It considers all the facts and rules, and sorts them before concluding to a solution.
该策略用于得出结论、结果或作用。例如,预测股票市场状态是利率变化的作用。
This strategy is followed for working on conclusion, result, or effect. For example, prediction of share market status as an effect of changes in interest rates.
Backward Chaining
专家系统采用此策略可以发现问题的答案 “Why this happened?”
With this strategy, an expert system finds out the answer to the question, “Why this happened?”
基于已经发生的情况,推理引擎尝试找出过去导致此结果的情况。该策略用于找出原因或理由。例如,人类血癌的诊断。
On the basis of what has already happened, the Inference Engine tries to find out which conditions could have happened in the past for this result. This strategy is followed for finding out cause or reason. For example, diagnosis of blood cancer in humans.
User Interface
用户界面提供了 ES 用户和 ES 本身之间的交互。它通常是自然语言处理,以便任务领域精通的用户使用。ES 的用户不必一定是人工智能专家。
User interface provides interaction between user of the ES and the ES itself. It is generally Natural Language Processing so as to be used by the user who is well-versed in the task domain. The user of the ES need not be necessarily an expert in Artificial Intelligence.
它解释了 ES 如何得出特定建议。说明可能以以下形式出现−
It explains how the ES has arrived at a particular recommendation. The explanation may appear in the following forms −
-
Natural language displayed on screen.
-
Verbal narrations in natural language.
-
Listing of rule numbers displayed on the screen.
用户界面可以轻松追踪推论的可信度。
The user interface makes it easy to trace the credibility of the deductions.
Requirements of Efficient ES User Interface
-
It should help users to accomplish their goals in shortest possible way.
-
It should be designed to work for user’s existing or desired work practices.
-
Its technology should be adaptable to user’s requirements; not the other way round.
-
It should make efficient use of user input.
Expert Systems Limitations
没有一项技术可以提供简单而完整的解决方案。大型系统成本高昂,需要大量开发时间和计算机资源。ES 有其局限性,包括 −
No technology can offer easy and complete solution. Large systems are costly, require significant development time, and computer resources. ESs have their limitations which include −
-
Limitations of the technology
-
Difficult knowledge acquisition
-
ES are difficult to maintain
-
High development costs
Applications of Expert System
下表显示了可以应用 ES 的位置。
The following table shows where ES can be applied.
Application |
Description |
Design Domain |
Camera lens design, automobile design. |
Medical Domain |
Diagnosis Systems to deduce cause of disease from observed data, conduction medical operations on humans. |
Monitoring Systems |
Comparing data continuously with observed system or with prescribed behavior such as leakage monitoring in long petroleum pipeline. |
Process Control Systems |
Controlling a physical process based on monitoring. |
Knowledge Domain |
Finding out faults in vehicles, computers. |
Finance/Commerce |
Detection of possible fraud, suspicious transactions, stock market trading, Airline scheduling, cargo scheduling. |
Expert System Technology
有几项 ES 技术可供使用。专家系统技术包括 −
There are several levels of ES technologies available. Expert systems technologies include −
-
Expert System Development Environment − The ES development environment includes hardware and tools. They are − Workstations, minicomputers, mainframes. High level Symbolic Programming Languages such as *LIS*t *P*rogramming (LISP) and *PRO*grammation en *LOG*ique (PROLOG). Large databases.
-
Tools − They reduce the effort and cost involved in developing an expert system to large extent. Powerful editors and debugging tools with multi-windows. They provide rapid prototyping Have Inbuilt definitions of model, knowledge representation, and inference design.
-
Shells − A shell is nothing but an expert system without knowledge base. A shell provides the developers with knowledge acquisition, inference engine, user interface, and explanation facility. For example, few shells are given below − Java Expert System Shell (JESS) that provides fully developed Java API for creating an expert system. Vidwan, a shell developed at the National Centre for Software Technology, Mumbai in 1993. It enables knowledge encoding in the form of IF-THEN rules.
Development of Expert Systems: General Steps
ES 开发的过程是迭代的。ES 开发的步骤包括 −
The process of ES development is iterative. Steps in developing the ES include −
Identify Problem Domain
-
The problem must be suitable for an expert system to solve it.
-
Find the experts in task domain for the ES project.
-
Establish cost-effectiveness of the system.
Design the System
-
Identify the ES Technology
-
Know and establish the degree of integration with the other systems and databases.
-
Realize how the concepts can represent the domain knowledge best.
Develop the Prototype
从知识库来看:知识工程师的工作是 −
From Knowledge Base: The knowledge engineer works to −
-
Acquire domain knowledge from the expert.
-
Represent it in the form of If-THEN-ELSE rules.
Test and Refine the Prototype
-
The knowledge engineer uses sample cases to test the prototype for any deficiencies in performance.
-
End users test the prototypes of the ES.
Benefits of Expert Systems
-
Availability − They are easily available due to mass production of software.
-
Less Production Cost − Production cost is reasonable. This makes them affordable.
-
Speed − They offer great speed. They reduce the amount of work an individual puts in.
-
Less Error Rate − Error rate is low as compared to human errors.
-
Reducing Risk − They can work in the environment dangerous to humans.
-
Steady response − They work steadily without getting motional, tensed or fatigued.