전문가 시스템(Expert Systems) 특정의 문제를 해결하기 위해 특정의 전문적인 지식을 기반으로 실행되는 컴퓨터 시스템 특정 문제 영역에서 그 영역의 인간 전문가가 의사 결정을 내리는 것과 유사하게 동작하는 컴퓨터 시스템 인공지능 분야에서 상업적으로 성공한 대표적 분야 기능적 측면에서 필요한 요소 추론 기능 사용자-시스템 간의 상호작용에 의한 데이터 획득 결론의 정당성(Justification) 모듈 구조(Modular architecture)
전문가 시스템의 배경 high 매우 특화된 프로그램을 생성하기 위해 좁은 문제 영역에 대한 고수준의 정제된 지식을 이용 PROGRAM POWER 표현 및 탐색 기능을 향상시키는 일반 방법론을 찾고, 특화된 프로그램을 구축하고자 함 문제해결을 위한 일반 방법론을 찾고, 범용-목적 프로그램을 구축하고자 함 low 1960 1970 1980
Building Expert Systems Breakthrough To make a program intelligent, provide it with lots of high-quality, specific knowledge about some problem area Building Expert Systems Knowledge Engineering: The process of building an expert system Knowledge Engineer: Expert-system builder Need the interaction between the KE and human experts The KE extracts procedures, strategies, and rules of thumb for problem solving The KE builds this knowledge into the expert system Result: a program that solves problems like the human experts Queries, Problems Domain Expert Knowledge Engineer Expert System Strategies, Rules-of-thumb, Domain rules Answers, Solutions
전문가 시스템 구축과정 Toolbuilder Domain Expert Extends and tests Builds Interviews Expert System Building Tool Knowledge Engineer End-User Expert System Uses Builds, refines, and tests Uses Adds data Clerical Staff
Basic Components of Expert System (ES) Experts/Knowledge Engineer Knowledge Base Inference Engine User Interface
Basic Concepts of Expert Systems - cont. Recognizing and formulating the problem Solving the problem quickly and properly Explaining the solution Learning from experience Restructuring knowledge Determining relevance Expertise is the extensive, task-specific knowledge acquired from training, reading and experience Theories about the problem area Hard-and-fast rules and procedures Rules (heuristics) Global strategies Meta-knowledge (knowledge about knowledge) Facts
Basic Concepts of Expert Systems - cont. Transferring Expertise Objective of an expert system To transfer expertise from an expert to a computer system and Then on to other humans (non-experts) Activities Knowledge acquisition Knowledge representation Knowledge inference Knowledge transfer to the user Knowledge is stored in a knowledge base Two knowledge types Fact / Procedures(rules)
The Knowledge Engineer Helps the expert(s) structure the problem area by interpreting and integrating human answers to questions, drawing analogies, posing counterexamples, and bringing to light conceptual difficulties Knowledge Acquisition Subsystem Knowledge acquisition is the accumulation, transfer and transformation of problem-solving expertise from experts and/or documented knowledge sources to a computer program for constructing or expanding the knowledge base Usually also the System Builder
The User Possible Classes of Users A non-expert client seeking direct advice - the ES acts as a Consultant or Advisor A student who wants to learn - an Instructor An ES builder improving or increasing the knowledge base - a Partner An expert - a Colleague or Assistant The Expert and the Knowledge Engineer Should Anticipate Users' Needs and Limitations When Designing ES
Knowledge Base The knowledge base contains the knowledge necessary for understanding, formulating, and solving problems Two Basic Knowledge Base Elements Facts Special heuristics, or rules that direct the use of knowledge Knowledge is the primary raw material of ES Incorporated knowledge representation
Inference Engine The brain of the ES The control structure or the rule interpreter Provides a methodology for reasoning The computer is programmed so that it can make inferences Major Element Interpreter Scheduler Consistency Enforcer
User Interface Language processor for friendly, problem-oriented communication NLP, or menus and graphics Explanation subsystem Traces responsibility and explains the ES behavior by interactively answering questions Why? How? What? (Where? When? Who?) Knowledge Refining System Learning for improving performance
Expert System Building Tool(not the expert system) Building Language Expert System Support Environment User
What Good Are Expert Systems Why not use real Experts? → Why do we develop expert systems Comparing human and artificial expertise: the good news The Good News Human Expertise Artificial Expertise Perishable Permanent Difficult to transfer Easy to transfer Difficult to document Easy to document Unpredictable Consistent Expensive Affordable
Why keep a human in the loop? Why not eliminate human expert replacing them with expert systems? Comparing human and artificial expertise: the bad news The Bad News Human Expertise Artificial Expertise Creative Uninspired Adaptive Needs to be told Sensory experience Symbolic input Broad focus Narrow focus Commonsense knowledge Technical knowledge
How Are Expert Systems Organized? Organizing Knowledge Knowledge: The information a computer program needs with which it can behave intelligently take the form of facts and rules sometimes considers uncertainty Many of rules in expert systems are heuristics Comparing Algorithmic with Heuristic methods
(General Problem-Solving The structure of an Expert System Expert System Knowledge Base (Domain Knowledge) Knowledge Representations Facts Rules Interpreter Scheduler Inference Engine (General Problem-Solving Knowledge)
Knowledge-Based Systems Artificial Intelligence Programs Exhibit intelligent behavior by skillful application of heuristics Make domain knowledge explicit and separate from the rest of the system Knowledge-based Systems Apply expert knowledge to difficult, real world problems Expert Systems
How Do Expert Systems Differ from Conventional Programs Comparison of data processing and knowledge engineering Date Processing Knowledge Engineering Representations and use Representation and use of of data knowledge Algorithmic Heuristic Repetitive Process Inferential process Effective manipulation Effective manipulation of large of large data bases knowledge bases
Basic Characteristics of an Expert Systems Characteristics of an expert system that distinguish it from a conventional program Expert Systems sometimes make mistakes Expert System Exhibit expert performance Expertise Have high level of skill Have adequate robustness Represent knowledge symbolically Symbolic reasoning Reformulate symbolic knowledge Handle difficult problem domains Depth Use complex rules Examine its own reasoning Self-Knowledge Explain its operation
What Have Expert Systems Been Used For? Basic Activities of Expert Systems Generic Categories Category Problem Addressed Interpretation Inferring situation descriptions from sensor data Prediction Inferring likely consequences of given situations Diagnosis Inferring system malfunctions from observables Design Configuring objects under constraints Planning Designing actions Monitoring Comparing observations to expected outcomes Debugging Prescribing remedies for malfunctions Repair Executing plans to administer prescribed remedies Instruction Diagnosing, debugging, and repairing user behavior Control Governing overall system behavior
Application Areas for Expert systems Chemistry DENDRAL, MOLGEN Computer Systems XCON Electronics ACE, EURISKO, SOPHIE Geology PROSPECTOR Medicine MYCIN, ONCOCIN, GUIDON Military Engineering