Knowledge Engineering (Ingeniería del Conocimiento)



Similar documents
Topic 2: Structure of Knowledge-Based Systems

CpSc810 Goddard Notes Chapter 7. Expert Systems

Problems often have a certain amount of uncertainty, possibly due to: Incompleteness of information about the environment,

8. KNOWLEDGE BASED SYSTEMS IN MANUFACTURING SIMULATION

CHAPTER 15: IS ARTIFICIAL INTELLIGENCE REAL?

BCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT. March 2013 EXAMINERS REPORT. Knowledge Based Systems

THE DEVELOPMENT OF AN EXPERT CAR FAILURE DIAGNOSIS SYSTEM WITH BAYESIAN APPROACH

Masters in Human Computer Interaction

Reusable Knowledge-based Components for Building Software. Applications: A Knowledge Modelling Approach

Masters in Networks and Distributed Systems

Masters in Computing and Information Technology

Masters in Advanced Computer Science

Masters in Information Technology

Masters in Artificial Intelligence

A Review of Data Mining Techniques

Software Development Training Camp 1 (0-3) Prerequisite : Program development skill enhancement camp, at least 48 person-hours.

Some Minesweeper Configurations

Biomedical Informatics: Its Scientific Evolution and Future Promise. What is Biomedical Informatics?

Appendix A: Data Quality Management Model Domains and Characteristics

INTRUSION PREVENTION AND EXPERT SYSTEMS

Copyright TeachMe.com 242ea 1

Mining. Practical. Data. Monte F. Hancock, Jr. Chief Scientist, Celestech, Inc. CRC Press. Taylor & Francis Group

A Medical Decision Support System (DSS) for Ubiquitous Healthcare Diagnosis System

Business Intelligence and Decision Support Systems

Improving Knowledge-Based System Performance by Reordering Rule Sequences

Semantically Steered Clinical Decision Support Systems

Introduction. Chapter 1

ANALYSIS OF WEB-BASED APPLICATIONS FOR EXPERT SYSTEM

CS Master Level Courses and Areas COURSE DESCRIPTIONS. CSCI 521 Real-Time Systems. CSCI 522 High Performance Computing

Business Intelligence through Hybrid Intelligent System Approach: Application to Retail Banking

Ontologies for Enterprise Integration

Chapter Managing Knowledge in the Digital Firm

Instructional Design for Engineering Programs

How To Change Medicine

SPAN 2113 Intermediate Spanish Schedule

Chapter 3: Data Mining Driven Learning Apprentice System for Medical Billing Compliance

FACULTY OF COMPUTER SCIENCE AND INFORMATION TECHNOLOGY AUTUMN 2016 BACHELOR COURSES

Web Data Mining: A Case Study. Abstract. Introduction

Ranking de Universidades de Grupo of Eight (Go8)

Master of Science in Computer Science

Curso académico 2015/2016 INFORMACIÓN GENERAL ESTRUCTURA Y CONTENIDOS HABILIDADES: INGLÉS

Static Analysis and Validation of Composite Behaviors in Composable Behavior Technology

Knowledge Representation (II)

IAI : Knowledge Representation

MEng, BSc Applied Computer Science

Dyna ISSN: Universidad Nacional de Colombia Colombia

HANDLING MASTER DATA OBJECTS DURING AN ERP DATA MIGRATION

Doctor of Philosophy in Computer Science

Format for Experiment Preparation and Write-Up

Introduction to Machine Learning and Data Mining. Prof. Dr. Igor Trajkovski

Healthcare Measurement Analysis Using Data mining Techniques

testo dello schema Secondo livello Terzo livello Quarto livello Quinto livello

Complexity Classes P and NP

Práctica 1: PL 1a: Entorno de programación MathWorks: Simulink

Part I. Introduction

Characterizing Knowledge Management Tools

HANDLING MASTER DATA OBJECTS DURING AN ERP DATA MIGRATION

Visión general de la integración con asanetwork

CS MidTerm Exam 4/1/2004 Name: KEY. Page Max Score Total 139

An Automated Development Process for Interlocking Software that. Cuts Costs and Provides Improved Methods for Checking Quality.

Sample Exam Foundation Level Syllabus. Mobile Tester

Audio Equipment Maintenance Audio Signal Processing The Context 1: Sound Technology Professional Development 1

Expert Systems : AI Course Lecture 35 36, notes, slides RC Chakraborty, rcchak@gmail.

Introduction. Chapter Scope of Electrical Engineering

Draft dpt for MEng Electronics and Computer Science

School of Computer Science

"Statistical methods are objective methods by which group trends are abstracted from observations on many separate individuals." 1

MEng, BSc Computer Science with Artificial Intelligence

Offline 1-Minesweeper is NP-complete

Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities

CSC384 Intro to Artificial Intelligence

Are You Big Data Ready?

Hardware in the Loop (HIL) Testing VU 2.0, , WS 2008/09

Course Syllabus For Operations Management. Management Information Systems

In this presentation, you will be introduced to data mining and the relationship with meaningful use.

A Knowledge Based System towards Identifying Problems and Getting Instant Solutions about Our Personal Vehicles

Data Mining Fundamentals

School of Computer Science

Degree programme in Automation Engineering

Types of Engineering Jobs

A STUDY ON DATA MINING INVESTIGATING ITS METHODS, APPROACHES AND APPLICATIONS

Data Quality in Information Integration and Business Intelligence

Measures of Prognosis. Sukon Kanchanaraksa, PhD Johns Hopkins University

Introduction. 1.1 Motivation. Chapter 1

Dan French Founder & CEO, Consider Solutions

Dynamic Process Modeling. Process Dynamics and Control

How can you unlock the value in real-world data? A novel approach to predictive analytics could make the difference.

50399AE Diseño de soluciones Business Intelligence con Microsoft SQL Server 2008

Configuration Management: An Object-Based Method Barbara Dumas

A Real -Time Knowledge-Based System for Automated Monitoring and Fault Diagnosis of Batch Processes

Bachelor Degree in Informatics Engineering Master courses

Transcription:

Knowledge Engineering (Ingeniería del Conocimiento) Escuela Politécnica Superior, UAM Course 2007-2008 Topic 1: Introduction to Knowledge-Based Systems (KBSs) 1 Topic 1: Introduction to Knowledge- Based Systems (KBSs) Contents 1.1 What is a KBS? 1.2 Separation of Knowledge & Control 1.3 Algorithmic vs. Heuristic Solutions 1.4 Characteristics of KBSs 1.5 Introduction to Prolog 2 1

a las 15:00 pondré una hoja por grupo de prácticas en la puerta del laboratorio B-208, para que los alumnos se apunten en el grupo que más les convenga. Si ya les habéis dicho que las pondré en el B-303 (mi despacho), no problem, porque dejaré una nota en la puerta diciendo dónde están finalmente. Las hojas las retiraré el viernes a las 18:00. Hay un grupo (el Tc, que finalmente es el lunes de 15:00 a 17:00), que está reservado SÓLO a alumnos de informática + matemáticas. 3 1.1 What is a Knowledge-Based System? A computer program that uses knowledge of the application domain to solve problems in that domain, obtaining essentially the same solutions that a person with experience in the same domain would obtain. This definition would (falsely) include conventional programs that calculate current in a circuit, or forces and tensions in a structure, etc. A KBS is something more than a program which just copies the algorithm/formula used by the expert. It must be able to use the information in an "intelligent" way 4 2

1.1 What is a Knowledge-Based System? Mycin sample dialogue (simulated): System: What is the patient's name? User: George Smith System: What is the patient's age? User: 52 years System: Is the patient male or female? User: Male System: What are the symptoms? User: Headache dizziness upset stomach high fever System: When did these symptoms first appear? User: 23/03/2002 System: I conclude that the patient has a viral infection, my recommendation is that he should take two aspirin, drink plenty of fluid, get lots of rest. 5 1.1 What is a Knowledge-based System? 3 fundamental differences between KBS and other types of software systems: 1. Separation between knowledge and the use of knowledge 2. Utilisation of knowledge specific to a domain 3. Heuristic nature (as opposed to algorithmic) 6 3

1.1 What is a Knowledge-based System? 3 fundamental differences between KBS and other types of software systems: 1. Separation between knowledge and the use of knowledge First developed in the GPS system (early 60s): a system that applies means-ends analysis uninformed, blind search) to reduce differences between the current problem state and the solution, by applying operators that change a state into another, eliminating some differences 7 1.1 What is a Knowledge-based System? 3 fundamental differences between KBS and other types of software systems:... 2. Utilisation of knowledge specific to a domain Originated with DENDRAL (early 70s), a system capable of inferring the unknown molecular structure of some chemical products, by observing their mass spectrum. Part of its success came from the use of rules specifically used by human experts to interpret mass spectrum and propose fragments of structure from the spectrum. 8 4

1.1 What is a Knowledge-based System? 3 fundamental differences between KBS and other types of software systems:... 3. Heuristic nature Also present in DENDRAL, but was more obvious in MYCIN (1976), a system capable of diagnosing and recommending treatment for infectious blood diseases, after extracting information about the patient's condition by asking questions about his/her characteristics, lab. test results, etc. 9 1.1 What is a Knowledge-Based System? KBS: History The first Expert Systems (now called KBSs): DENDRAL (1969): Prediction of molecular structure: this signalled a transition: search -> knowledge MYCIN (1976): Diagnosis of diseases, blood infections, etc. PROSPECTOR: (1978) Evaluates of the mineral potential of site XCON (1982): System for configuring computer hardware purchases (for DEC's VAX), using several thousands rules, early commercial success of KBS. Their good results in practice contributed to their increasing popularity. They became the first commercial (profitable) products of AI Sometimes KBS and AI were (mistakenly) identified as one But the truth is that IA - KBS!= { } 10 5

1.1 What is a Knowledge-based System? A Short History: 1960s: Search (main AI paradigm): GPS, General Problem Solver 1970s: Use of knowledge specific to a given application domain 1980s: First Expert Systems (later called KBS) 1990s: Shift of focus towards automating knowledge acquisition Developments: from slow computers to fast processors from simple problems (polynomial) to complex problems (NP) from closed solutions to approximate solutions 11 1.1 What is a Knowledge-based System? May Include: Neural Networks (some include it) Does not include: Data Mining (knowledge discovery) 12 6

Topic 1: Introduction to Knowledge- Based Systems (KBSs) 1.2 Separating Knowledge and Control 13 1.2 Separating Knowledge and Control Classical view (N. Wirth): Algorithm + Data Structure = Program KBS view: Program + Knowledge = KBS The fundamental characteristic of KBS: Separating knowledge from the application of knowledge The KBS embodies a program whose goal is to apply (interpret) the given knowledge Example: In your AI course: Predicate Logic is a form of representing knowledge Unification+resolution is an algorithm to apply knowledge 14 7

1.2 Separating Knowledge and Control Algorithms which know how to apply knowledge KBS Inference Engine Problem Data Knowledge Base 15 1.2 Separating Knowledge and Control KBS Inference Engine Problem Data Knowledge Base Knowledge about the domain 16 8

1.2 Separating Knowledge and Control KBS Inference Engine Problem Data Knowledge Base Details about a specific problem to be addressed 17 1.2 Separating Knowledge and Control Benefits of separating Knowledge and Use KBSs become easier to develop and maintain. We can focus on the knowledge, independently of the program (Although in practice, there is no total independence) 18 9

1.2 Separating Knowledge and Control The Inference Engine can be Generic (reusable) In the 70s and 80s, many KBS proved that the inference techniques developed for a given domain could be applied to other domains: Medicine (INTERNIST, 1970; TEIRESIAS, 1978) Speech understanding (HEARSAY, 1975) Geology (PROSPECTOR, 1978) Computer configuration (XCON, 1980) Going further, MYCIN showed that the same inference engine could be re-used with different knowledge base to become a different expert system MYCIN was thus the first expert system shell'' 19 1.2 Separating Knowledge and Control Generic: same engine for different problems (medical diagnosis vs car diagnosis) Different KB for each Domain KBS Inference Engine Knowledge Base Problem Data Different Data for each problem 20 10

1.2 Separating Knowledge and Control What is knowledge? Data (storage, recordings, codification,...) Information (useful, communication, awareness,...) Experience, intuitions, clues, hints, doubts,... Is this equation correct? Knowledge = Expert-Average Person Knowledge (as experience) sometimes lacks the precision of mathematical formulas, biological taxonomies,... It often has heuristic nature: it is approximate, incomplete. 21 1.2 Separating Knowledge and Control Different types of expertise (knowledge) 1. Associative knowledge: observations of input/output behaviour,... 2. Motor knowledge: automatic reactions, semi-spontaneous,... relative to physical behaviour: to walk, ride a bicycle, talk, etc. 3. Theoretical knowledge: theoretical models (deep knowledge) that attempt to explain everything regarding the application domain, with precision and detail. 22 11

Topic 1: Introduction to Knowledge- Based Systems (KBSs) 1.3 Algorithmic and Heuristic Solutions 23 1.3 Algorithmic and Heuristic Solutions Let us think how we solve some problem with heuristics 1. The 9 points: draw 4 contiguous stokes that passes through all points without taking the pen off the paper 2. Use scissors to cut a square of paper in 12 equal parts with the smaller possible number of rectilinear cuts. 3. Rubick s Cube (blind search is out of the question) 4. Others puzzles, other activities in which we are expert: walking, riding a bicycle, cooking, programming Basically, we find solutions which work, but are not based on theory. 24 12

1.3 Algorithmic and Heuristic Solutions Algorithmic method: The programmer has a complete knowledge on the problem and the way to calculate the solution. In addition, this is implementable and it is possible to be computed with realistic resources and time. The programmer "copies" this algorithm in his program. Heuristic method: The programmer does not have a complete knowledge of the problem, he does not know how to calculate the solution, or it is not implementable with realistic time and resources. The programmer constructs a program that uses tricks, knowledge taken from the experience, etc. The program finds approximate solutions: "sufficiently good". 25 1.3 Algorithmic and Heuristic Solutions Basic techniques for solving problems: Generate-and-test (trial and error): generally inefficient by nature, but can be improved by incorporating knowledge at the generation phase Algorithm: 1. Generate a solution; 2. Test if it is correct: 3. If not, return to 1; Heuristic techniques, for problems without known algorithmic solution (decidability), or with known complex/inefficient solution (NP, non-deterministic polynomial) These techniques are both used within KBS 26 13

Topic 1: Introduction to Knowledge- Based Systems (KBSs) 1.4 KBS: Characteristics 27 1.4 Knowledge-Based Systems: Characteristics Advantages 1. Allow distribution of expertise (which is often scarce); 2. Easy to update (relatively to the equivalent traditional system); 3. Consistent answers (without the anomalies sometimes exhibited by human experts); 4. Availability (24 hours/day, 7 days/week); 5. Preservation of expertise; 6. Capable of ``working'' with incomplete information; 7. Capable of explaining their solutions (and their reasoning) 8. Encourages organizations to clarify the logic of their decision-making 9. Never "forgets" to ask a question, as a human might 28 14

1.4 Knowledge-Based Systems: Characteristics Disadvantages 1. Answers are heuristic, could even be incorrect 2. Limited to a very specific domain (field) of application 3. Hard to extract the knowledge from the expert (introspection is hard) 4. (In general) Lack of commonsense Example: system concluded water in pipes flowing at -12 C 5. Cannot make creative responses as human expert would in unusual circumstances 6. Cannot adapt to changing environments, unless knowledge base is changed 29 1.4 KBS: Evolution, Development and Future Development of KBS Lifecycle of Software: (Software Engineering) specification, design, implementation, validation, and maintenance Lifecycle of KBS: very difficult to specify, as it depends heavily on the expertise of human experts, which need to be extracted via many interactions with them, and this often takes most of a project s time and resources. There are fewer computer tools for implementation and validation (compilers, test generators,...) sometimes are part of the KBS itself 30 15

1.4 KBS: Evolution, Development and Future Knowledge Engineering (def.): The acquisition of knowledge regarding an application domain (from sources of implicit knowledge, such as experts, books, observations,...) and its conversion into a format that allows its automated use for solving problems typically only solvable by human experts in the domain. This mentions only the extraction and representation of knowledge In addition, we should include the development and use of tools suitable for knowledge manipulation. This includes tools not only for representing'' knowledge, but also for recognizing relevant knowledge, and classifying/organize knowledge (... ontologist) 31 16