Transcript lec15
Modified from the slides by SciTech Media 전문가 시스템 (Expert Systems) (Lecture Note #15) 인공지능 2002년 2학기 이복주 단국대학교 컴퓨터공학과 1 Outline Expert Systems 전문가 시스템의 배경 Basic Components of Expert Systems Expert System Building Tool Convectional Program vs. Expert Systems Application Areas 구축 과정 지식베이스 구성과 표현 추론 기법 지식 공유 모델 2 전문가 시스템 (Expert Systems) 배경: 일반적인 문제 풀이 보다는 특정 문제 영역에 집중하여 성능 개선 특정의 문제를 해결하기 위해 특정의 전문적인 지식 을 기반으로 실행되는 컴퓨터 시스템 특정 문제 영역에서 그 영역의 인간 전문가가 의사 결정을 내리는 것과 유사하게 동작하는 컴퓨터 시스 템 인공지능 분야에서 상업적으로 성공한 대표적 분야 기능적 측면에서 필요한 요소 – – – – 추론 엔진 (inference engine) 사용자-시스템 간의 상호작용에 의한 데이터 획득 결론의 정당화 (Justification) 모듈 구조 (Modular architecture) 3 전문가 시스템의 배경 전문가 시스템의 배경 매우 특화된 프로그램을 생성하기 위해 좁은 문제 영역에 대한 고수준의 정제된 지식을 이용 PROGRAM POWER high 표현 및 탐색 기능을 향상시키는 일반 방법론을 찾고, 특화된 프로그램을 구축하고자 함 문제해결을 위한 일반 방법론을 찾고, 범용-목적 low 프로그램을 구축하고자 함 1960 1970 1980 4 전문가 시스템 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 Answers, Solutions Strategies, Rules-of-thumb, Domain rules Expert System 5 Basic Components of Expert System (ES) Experts/Knowledge Engineer Knowledge Base Inference Engine User Interface 6 Basic Concepts of Expert Systems Experts – 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 7 Basic Concepts of Expert Systems (2) 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 Knowledge Knowledge Knowledge acquisition representation inference transfer to the user – Knowledge is stored in a knowledge base – Two knowledge types • Fact / Procedures (rules) 8 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 9 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 10 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 11 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 12 User Interface Language processor for friendly, problemoriented 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 13 Expert System Building Tool Expert System Building Tool (not the expert system) Expert System Building Tool Expert System Building Language Expert System Support Environment User 14 What Good Are Expert Systems 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 15 Why keep a human in the loop 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 16 How Are Expert Systems Organized 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 17 The structure of an Expert System The structure of an Expert System Expert System Knowledge Base (Domain Knowledge) Knowledge Representations Facts Rules Interpreter Scheduler Inference Engine (General Problem-Solving Knowledge) 18 Knowledge-Based Systems Knowledge-Based Systems Artificial Intelligence Programs Exhibit intelligent behavior by skillful application of heuristics Knowledge-based Systems Make domain knowledge explicit and separate from the rest of the system Expert Systems Apply expert knowledge to difficult, real world problems 19 How Do Expert Systems Differ from Conventional Programs How Do Expert Systems Differ from Conventional Programs – Comparison of data processing and knowledge engineering Date Processing Knowledge Engineering Representations and use of data Representation and use of knowledge Algorithmic Heuristic Repetitive Process Inferential process Effective manipulation of large data bases Effective manipulation of large knowledge bases 20 Basic Characteristics of an Expert Systems Basic Characteristics of an Expert Systems – Characteristics of an expert system that distinguish it from a conventional program Expert System Expertise Symbolic reasoning Depth Self-Knowledge Exhibit expert performance Have high level of skill Have adequate robustness Represent knowledge symbolically Reformulate symbolic knowledge Handle difficult problem domains Use complex rules Examine its own reasoning Explain its operation • Expert Systems sometimes make mistakes 21 What Have Expert Systems Been Used For What Have Expert Systems Been Used For? – Basic Activities of Expert Systems 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 22 Summary Expert Systems 전문가 시스템의 배경 Basic Components of Expert Systems Expert System Building Tool Convectional Program vs. Expert Systems Application Areas 구축 과정 지식베이스 구성과 표현 추론 기법 지식 공유 모델 23