SAK4610 Knowledge-Based Systems Design. SAK4610 KBS Development Lifecycle  Questions to ask  What is the problem that need to solved by an expert? 

Slides:



Advertisements
Similar presentations
FT228/4 Knowledge Based Decision Support Systems Knowledge Engineering Ref: Artificial Intelligence A Guide to Intelligent Systems, Michael Negnevitsky.
Advertisements

Objective Knowledge Elicitation Interview Case Study Answers Questions Domain Expert Knowledge Engineer Results Knowledge Expert System.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
© Franz J. Kurfess Expert System Design CPE/CSC 481: Knowledge-Based Systems Dr. Franz J. Kurfess Computer Science Department Cal Poly.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Chapter 2 – Software Processes
ISNE101 Dr. Ken Cosh. Recap  We’ve been talking about Software…  Application vs System Software  Programming Languages  Vs Natural Languages  Syntax,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
© 2002 Franz J. Kurfess Expert System Design 1 CPE/CSC 481: Knowledge-Based Systems Dr. Franz J. Kurfess Computer Science Department Cal Poly.
Chapter 6: Design of Expert Systems
COMP 4200: Expert Systems Dr. Christel Kemke
Artificial Intelligence
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Requirements Analysis Concepts & Principles
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
Knowledge Acquisition. Knowledge Aquisition Definition – The process of acquiring, organising, & studying knowledge. Identified by many researchers and.
© Franz J. Kurfess Expert System Design 1 CPE/CSC 481: Knowledge-Based Systems Dr. Franz J. Kurfess Computer Science Department Cal Poly.
EXPERT SYSTEMS Part I.
Building Knowledge-Driven DSS and Mining Data
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Verification and Validation
CHAPTER 19 Building Software.
Chapter 3 Software Processes.
S/W Project Management
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Artificial Intelligence Lecture No. 15 Dr. Asad Ali Safi ​ Assistant Professor, Department of Computer Science, COMSATS Institute of Information Technology.
Chapter 2 The process Process, Methods, and Tools
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
Managing the development and purchase of information systems (Part 1)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
1 Computer Group Engineering Department University of Science and Culture S. H. Davarpanah
Chapter 6 Supplement Knowledge Engineering and Acquisition Chapter 6 Supplement.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
 Knowledge Acquisition  Machine Learning. The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
Introduction to Expert Systems. Other Resources Handout at ECE Office.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Module 4: Systems Development Chapter 12: (IS) Project Management.
1 Expert System Design. 2 ES Development Methods commercial quality systems require a systematic development approach –ad hoc approaches may be suitable.
Software Engineering Saeed Akhtar The University of Lahore Lecture 7 Originally shared for: mashhoood.webs.com.
Lecture 7: Requirements Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
1 Introduction to Software Engineering Lecture 1.
ES Design, Development and Operation Dr. Ahmed Elfaig Knowledge model, knowledge structure, presentation and organization are the bottleneck of expert.
ES Model development Dr. Ahmed Elfaig The ES attempts to predict results from available information, data and knowledge The model should be able to infer.
Expert System Design 1 Expert Systems Dr. Samy Abu Nasser.
An Introduction to Software Engineering
Software Engineering - Abdul Majeed. What is software? Definition of Software Engineering Software Process Generic view of Software Engineering Software.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
IS2210: Systems Analysis and Systems Design and Change Twitter:
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Requirement Engineering
Of An Expert System.  Introduction  What is AI?  Intelligent in Human & Machine? What is Expert System? How are Expert System used? Elements of ES.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
 System Requirement Specification and System Planning.
Software Engineering Session 12 INFM 603. Software Software represents an aspect of reality –Input and output represent the state of the world –Software.
Advanced Software Engineering Dr. Cheng
Design of Expert Systems
Architecture Components
Chapter 6: Design of Expert Systems
Software Requirements analysis & specifications
Intro to Expert Systems Paula Matuszek CSC 8750, Fall, 2004
KNOWLEDGE MANAGEMENT (KM) Session # 36
Presentation transcript:

SAK4610 Knowledge-Based Systems Design

SAK4610 KBS Development Lifecycle  Questions to ask  What is the problem that need to solved by an expert?  How important is the problem?  What clue indicate that the system should be built?  What will the user gain from the system  What development strategy should be considered  Who is going to built the system  What process will be used to built the system.

SAK4610 KBS Development Lifecycle  Key differences : conventional vs expert system  The system analyst deals with data & information from the user  The knowledge engineer deals with knowledge acquired from an expert  The main interface for the systems analyst is with the user, who knows the problem but not the solution.  The main interface for the KE is the expert, who knows the problem and solution.  Conv. System sequential, KBS incremental and interactive  Testing in C.System vs KBS

SAK4610 CONVENTIONAL SYSTEM LIFECYCLE EXPERT SYSTEM LIFECYCLE Problem recognition & feasibility studies User requirement Software requirement specification Software Design Coding Testing Integration Implementation Operation and Maintenance Problem recognition Preliminary requirement analysis and knowledge acquisition Selection of Expert System Tools Verification & validation Implementation Operation and Maintenance Representation Prototype Development Knowledge Acquisition

SAK4610 Six-Step of ESDLC  ESDLC Step 1. Problem identification and feasibility determination 2. Knowledge Acquisition (rapid prototyping) 3. Knowledge representation (rapid prototyping) 4. Verification and validation 5. Implementation 6. Maintenance  Tools/Techniques Choose expert, identify technical resources, etc Interviews, case studies, protocol analysis, brainstorming, etc Production rules, predicate calculus, shells, semantic network, etc Turing test, peer reviews Walkthrough Postimplementation reviews

SAK4610 Activities in the ESDLC  ESDLC Step 1. Problem identification and feasibility determination 2. Knowledge Acquisition (rapid prototyping) 3. Knowledge representation (rapid prototyping) 4. Verification and validation 5. Implementation 6. Maintenance  Knowledge Acquisition Activity  Seek out the champion  Locate a cooperative domain expert  Apply appropriate tools to tap the  experts knowledge  Represent the expert heuristic via prototyping  Verify the rules with the expert  Correct existing rules and add missing rules by working closely with the expert through rapid prototyping  Work with the user to ensure system acceptance and proper training  Meet with the expert and the user to determine procedures and content with maintaining and updating the system

SAK4610 Activities in the ESDLC Problem identification and feasibility determination  Justification 1. Is present expertise going to be lost through retirement, transfer or departure to other firm 2. How much is the company spending to have present expertise solve the problem in question 3. Is the proposed ES needed in multiple locations 4. Is an expert available to help in building the ES 5. Does the problem domain require years of experience and cognitive reasoning to solve 6. Can the expert articulate how the problem will be solved 7. How critical is the proposed project 8. Are the task nonalgorithmic 9. Is a champion is the house

SAK4610 Knowledge Acquisition

SAK4610 Knowledge Acquisition Types of Knowledge  ProceduralRules, Strategies, Agendas, Procedures  DeclarativeConcepts, Objects, Facts  Meta-knowledgeKnowledge about the other types of knowledge and how to use them  Heuristic KnowledgeRules of Thumb  Structural KnowledgeRule sets, Concept relationships, Concept to object relationships

SAK4610 Knowledge Acquisition Sources of Knowledge  ExpertPrimary source of knowledge  End-userValuable additional source of information  Multiple expertsAdditional experts to collect specialized knowledge of a sub-problem  Reports  Books  Regulations  Guidelines

SAK4610 Knowledge Acquisition Knowledge Elicitation Task  Collect  Acquiring knowledge from expert  Require effective interpersonal communication skills  Able to obtain cooperation of the expert  Interpretation  Review the collected information and  identify the key pieces of knowledge  At first defining overall problem specification  Informal review of material  Establish the problem’s goal, constraints and scope  Later, use formal methods to interpret the different types of knowledge uncovered during the session.

SAK4610 Knowledge Acquisition Knowledge Elicitation Task  Analyze  Early, Identify the important concepts used by expert  Determine concept relationships and how the expert uses them to solve the problem  Later, look at more detail all the points  Design  Form some new understanding of the problem that can aid further investigations  Guide the problem solving strategies

SAK4610 Knowledge Acquisition Major Difficulties Knowledge Elicitation  Expert maybe unaware of the knowledge used  Expert may be unable to verbalize the knowledge  Expert may provide irrelevant knowledge  Expert may provide incomplete knowledge  Expert may provide inconsistent knowledge

SAK4610 Knowledge Acquisition: Major Elicitation Task  Knowledge Engineer  Collect the knowledge  Interpret the knowledge  Analyze the knowledge  Coordinate project activities  Maintain cooperative effort  End-User  Provide problem overview  Help define interface  Help define explanation facility needs  Highlight areas that need developed  Aid in system testing  Help define in-place operation of system  Expert  Provide primary source of knowledge  Aid knowledge interpretation and analysis  Aid in system testing

SAK4610 INTERVIEWING METHOD  Direct Technique  Articulate knowledge by the domain expert  Includes interviews & case studies  Indirect Technique  Do not rely on the expert  Includes questionnaires The most common knowledge elicitation technique in the design of expert systems is the interview method

SAK4610 MANAGING THE INTERVIEW  (pp537)  Remove Fear  Remove Skepticism  Establish Reasonable Goals  Promote Openness to change  Provide Understanding of Expected Effort  Convey Importance of Involvement

SAK4610 PREPARING FOR THE INTERVIEW  (pp540)  Prepare Agenda  Key of good interview is have a clear objective of what you want to achieve  Establish the objective and agenda  Allows the team to understand and prepare  Scheduling  Set up the time and location of the interview session  At least one week notice  Meeting length to 1 hour  Don’t be late  Material List  Prepare a list of the materials you will use during the interview  Should be given to each group member

SAK4610 PREPARING FOR THE INTERVIEW  (pp540)  Determine location of interview  Accommodate the expert  Choose a natural setting  Material List  Prepare a list of the materials you will use during the interview  Should be given to each group member  Record the interview, use 1 tape per session  Report content of each session  Bring coffee or cakes

SAK4610 BEGINNING THE INTERVIEW  Establish a comfortable setting by discussing a topic of personal interest  Avoid an initial subject related to the project  Review the session’s objective and agenda  Resolve any misunderstanding and solicit suggestions

SAK4610 TYPE OF QUESTIONS TypePurposeForm DirectObtain specific information on some known issue What does … mean? Is … true? What is the value of … IndirectObtain general information on concepts and problem solving strategies What issues are considered for…? How do you determine…? What do you look for when…? Probes Prompt Probe deeper into an established issue Direct interview into a new area Can you explain…? Can you discuss…? Can you return to…?

SAK4610 Problem Selection  the development of an expert system should be based on a specific problem to be addressed by the system  it should be verified that expert systems are the right paradigm to solve that type of problem  not all problems are amenable to ES-based solutions  availability of resources for the development  experts/expertise  hardware/software  users  sponsors/funds

SAK4610 Project Management  activity planning  planning, scheduling, chronicling, analysis  product configuration management  product management  change management  resource management  need determination  acquisition resources  assignment of responsibilities  identification of critical resources

SAK4610 ES Development Stages  feasibility study  paper-based explanation of the main idea(s)  no implementation  rapid prototype  quick and dirty implementation of the main idea(s)  refined system  in-house verification by knowledge engineers, experts  field test  system tested by selected end users  commercial quality system  deployed to a large set of end users  maintenance and evolution  elimination of bugs  additional functionalities

SAK4610 Error Sources in ES Development  knowledge errors  semantic errors  syntax errors  inference engine errors  inference chain errors  limits of ignorance errors

SAK4610 Knowledge Errors  problem: knowledge provided by the expert is incorrect or incomplete  reflection of expert’s genuine belief  omission of important aspects  inadequate formulation of the knowledge by the expert  consequences  existing solution not found  wrong conclusions  remedy  validation and verification of the knowledge  may be expensive

SAK4610 Semantic Errors  problem: the meaning of knowledge is not properly communicated  knowledge engineer encodes rules that do not reflect what the domain expert stated  expert misinterprets questions from the knowledge engineer  consequences  incorrect knowledge, inappropriate solutions, solutions not found  remedy  formalized protocol for knowledge elicitation  validation of the knowledge base by domain experts

SAK4610 Syntax Errors  problem: rules or facts do not follow the syntax required by the tool used  knowledge engineer is not familiar with the method/tool  syntax not clearly specified  consequences  knowledge can’t be used  solutions  syntax checking and debugging tools in the ES development environment

SAK4610 Inference Engine Errors  problem: malfunctions in the inference component of the expert system  bugs  resource limitations  e.g. memory  consequences  system crash  incorrect solutions  existing solutions not found  remedy  validation and verification of the tools used

SAK4610 Inference Chain Errors  problem: although each individual inference step may be correct, the overall conclusion is incorrect or inappropriate  causes: errors listed above; inappropriate priorities of rules, interactions between rules, uncertainty, non- monotonicity  consequences  inappropriate conclusions  remedy  formal validation and verification  use of a different inference method

SAK4610 Limits of Ignorance Errors  problem: the expert system doesn’t know what it doesn’t know  human experts usually are aware of the limits of their expertise  consequences  inappropriate confidence in conclusions  incorrect conclusions  remedy  meta-reasoning methods that explore the limits of the knowledge available to the ES

SAK4610 Expert Systems and Software Engineering  software process models  waterfall  spiral  use of SE models for ES development  ES development models  evolutionary model  incremental model  spiral model

SAK4610 Generic Software Process Models  waterfall model  separate and distinct phases of specification and development  evolutionary development  specification and development are interleaved  formal systems development  a mathematical system model is formally transformed to an implementation  reuse-based development  the system is assembled from existing components [Sommerville 2001]

SAK4610 Waterfall Model [Sommerville 2001]

SAK4610 Important Concepts and Terms  agenda  backward chaining  common-sense knowledge  conflict resolution  expert system (ES)  expert system shell  explanation  forward chaining  inference  inference mechanism  If-Then rules  knowledge  knowledge acquisition  knowledge base  knowledge-based system  knowledge representation  Markov algorithm  matching  Post production system  problem domain  production rules  reasoning  RETE algorithm  rule  working memory

SAK4610 Summary Chapter-Topic

SAK4610