CPE/CSC 481: Knowledge-Based Systems

advertisement
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
Download