360 likes | 538 Views
Knowledge-Based Systems Design. CONVENTIONAL SYSTEM LIFECYCLE. EXPERT SYSTEM LIFECYCLE. Problem recognition & feasibility studies. Problem recognition. User requirement. Preliminary requirement analysis and knowledge acquisition. Software requirement specification.
E N D
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
ESDLC Step Problem identification and feasibility determination Knowledge Acquisition (rapid prototyping) Knowledge representation (rapid prototyping) Verification and validation Implementation 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 Six-Step of ESDLC
ESDLC Step Problem identification and feasibility determination Knowledge Acquisition (rapid prototyping) Knowledge representation (rapid prototyping) Verification and validation Implementation 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 Activities in the ESDLC
Problem identification and feasibility determination Justification 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 Activities in the ESDLC
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 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 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. 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 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 Knowledge Acquisition
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 Knowledge Acquisition: Major Elicitation Task
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 INTERVIEWING METHOD
(pp537) Remove Fear Remove Skepticism Establish Reasonable Goals Promote Openness to change Provide Understanding of Expected Effort Convey Importance of Involvement MANAGING 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 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 PREPARING FOR 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 BEGINNING THE INTERVIEW
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
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
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
Error Sources in ES Development • knowledge errors • semantic errors • syntax errors • inference engine errors • inference chain errors • limits of ignorance errors
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
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
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
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
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
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
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
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]
Waterfall Model [Sommerville 2001]
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 Important Concepts and Terms