Knowledge-Based Systems Design SAK4610 CONVENTIONAL SYSTEM LIFECYCLE EXPERT SYSTEM LIFECYCLE Problem recognition & feasibility studies Problem recognition User requirement Preliminary requirement analysis and knowledge acquisition Software requirement specification Selection of Expert System Tools Representation Software Design Prototype Development Knowledge Acquisition Coding Verification & validation Testing Integration Implementation Implementation Operation and Maintenance Operation and Maintenance SAK4610 Six-Step of ESDLC Tools/Techniques Choose expert, identify technical resources, etc ESDLC Step Problem identification and feasibility determination 2. Knowledge Acquisition (rapid prototyping) Interviews, case studies, protocol analysis, brainstorming, etc 3. Knowledge representation (rapid prototyping) Production rules, predicate calculus, shells, semantic network, etc 4. Verification and validation Turing test, peer reviews 5. Implementation Walkthrough 6. Maintenance Postimplementation reviews 1. SAK4610 Activities in the ESDLC 1. 2. ESDLC Step Problem identification and feasibility determination Knowledge Acquisition (rapid prototyping) Knowledge Acquisition Activity Seek out the champion Locate a cooperative domain expert 3. Knowledge representation (rapid prototyping) 4. Verification and validation 5. Implementation 6. Maintenance 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 SAK4610 system 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 How much is the company spending to have present expertise solve the problem in question Is the proposed ES needed in multiple locations Is an expert available to help in building the ES Does the problem domain require years of experience and cognitive reasoning to solve Can the expert articulate how the problem will be solved How critical is the proposed project Are the task nonalgorithmic Is a champion is the house 2. 3. 4. 5. 6. 7. 8. 9. SAK4610 Knowledge Acquisition SAK4610 Knowledge Acquisition Types of Knowledge Procedural Rules, Strategies, Agendas, Procedures Declarative Concepts, Objects, Facts Meta-knowledge Knowledge about the other types of knowledge and how to use them Heuristic Knowledge Rules of Thumb Structural Knowledge Rule sets, Concept relationships, Concept to object relationships SAK4610 Knowledge Acquisition Sources of Knowledge Expert Primary source of knowledge End-user Valuable additional source of information Multiple experts Additional 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 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 Knowledge Engineer Collect the knowledge Interpret the knowledge Analyze the knowledge Coordinate project activities Maintain cooperative effort 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 Scheduling 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 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 Accommodate the expert Choose a natural setting Material location of interview 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 Type Purpose Form Direct Obtain specific information on some known issue What does … mean? Is … true? What is the value of … Indirect Obtain general information on concepts and problem solving strategies What issues are considered for…? How do you determine…? What do you look for when…? Probes Probe deeper into an established issue Can you explain…? Can you discuss…? Prompt Direct interview into a new area 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, product scheduling, chronicling, analysis configuration management product management change management resource management need determination acquisition resources assignment of responsibilities identification of critical resources SAK4610 ES Development Stages feasibility 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 study 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, nonmonotonicity 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 formal and development are interleaved systems development a mathematical system model is formally transformed to an implementation reuse-based the development system is assembled from existing components [Sommerville 2001] SAK4610 Waterfall Model Requirements definition System and software design Implementation and unit testing Integr ation and system testing Operation and maintenance [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 SAK4610