Week 6 - Knowledge Representation, Inferencing, Knowledge Engineering and CLIPS
Assignment:
Prepare a brief (paragraph or so) description/proposal describing
what you plan to do for the term project. Email this to me by
Friday of week 6 or turn in a paper copy by Friday of week 6.
Review this document.
Read Chapters 3 (Methods of Inference) and 7 (Introduction to CLIPS)
in the text "Expert Systems: Principles and Programming."
To try clips commands you read about in Chapter 7, type clips
from the UNIX prompt on pasture or one of its workstations.
Typing (exit) from the CLIPS prompt will
exit CLIPS and return you to the UNIX prompt.
Important Terms and Concepts:
Follow this link to learn more about the steps
commonly followed in the development of expert systems.
Compare and contrast these with the
model development steps and the methodology of systems analysis.
The ES development stages
and brief overviews of the important issues
for each stage/step are described in the following sections.
Knowledge acquisition continues to be a bottleneck in the
development of ES. Learn more about recommended
approaches to knowledge acquisition.
A few notes concerning knowledge acquisition are also available.
Knowledge representation and reasoning notes should be examined.
-
Identification
-
Conceptualization
-
Formalization
-
Implementation
-
Testing
-
requirements analysis
-
external requirements
-
form of input and output
-
setting where ES will be used
-
user
-
must identify
-
participants
-
problems
-
objectives
-
resources
-
costs
-
time frame
-
designing the ES to ensure that specific interactions
and relationships in the problem domain are understood and
defined
-
initial knowledge acquisition
-
key concepts, relationships between objects and processes,
and control mechanisms are determined
-
understanding what expert does:
-
Exactly what decisions do the experts make?
-
What are the decision outcomes?
-
Which outcomes require greater reflection, exploration,
or interaction?
-
What resources or inputs are required to reach a decision?
-
What conditions are present when a particular outcome
is decided?
-
At what point after exposure to influential
inputs is a decision made?
-
How consistently do these conditions predict a given outcome?
-
Given the particulars of a specific case,
will the outcome predictions of the knowledge engineering
team be consistent with those of the expert?
-
organizing the key concepts, subproblems, and information
flow into formal representations
-
design program logic
-
formalized knowledge is coded into the framework
of the development tool or language
-
document
-
help for the user and explanations
-
how will the ES interact with other programs and databases
-
verification of individual relationships
-
validation of program performance
-
evaluation of utility of the software
-
major bottleneck to building ES
-
3 areas central to knowledge acquisition
-
evaluation of domain to determine if the knowledge
in the domain is suitable for an ES
-
source of expertise must be identified and evaluated
-
if expertise source is a person,
the specific knowledge acquisition techniques and practitioners
need to be identified
Knowledge Acquisition Techniques
-
observe expert solving real problems
-
identify kinds of data, knowledge, and procedures required
to solve different types of problems
-
use scenarios with the expert
-
have expert solve a series of problems verbally
-
develop rules based on interviews
-
have expert review rules and general problem solving procedure
-
compare responses of outside experts to those
of expert and ES
-
regularly scheduled interviews
-
questionnaires
-
decision trees
Domain Selection
-
must have an expert
-
must be general consensus among experts about
the accuracy of solutions
-
experts must be able to communicate details
-
domain should be narrow and well-defined and
solutions must not require common sense
Rule-Based Systems
-
pattern matching
-
parameter driven
-
forward chaining
-
backward chaining
Pattern Matching in a Forward Chaining System
IF condition
THEN consequent (or action).
IF the volume of a ?product-container is less than a specified
amount,
THEN increase the fill volume.
IF the ?sensor is dead,
THEN inspect ?sensor.
Forward Chaining Example
Facts:
the volume of item29 is 21
the volume of item17 is 18
the temperature of item23 is -5
Rule:
IF the volume of ?item is < 20,
THEN the fill amount of ?item should be increased
Parameter Driven Systems
-
many parameter driven systems based on MYCIN
-
facts are represented by parameter values
-
parameters can have various attributes called properties
Decision Trees
-
information found at one step in the solution determines
what information is needed at the next step
-
each item is represented as a node in a tree with
possible values forming arcs that emanate from the node
Reasoning With Uncertainty
-
much of the information humans use is fuzzy or inexact
-
2 kinds of uncertainty
-
MYCIN CF
-
numerical
-
range from -100 to +100
Object-Based Systems
Frames
-
represent declarative knowledge (answers the question What?)
-
represents procedural knowledge (answers the question How?)
stored as a functional quality of object
-
provide a mechanism for inheritance
Inheritance example
Charlotte is a member of the Landshire class.
Landshire is a member of the swine class.
An attribute of swine is the existence of a curly tail.
Through inheritance, Charlotte has a curly tail.
Hybrid knowledge-based systems might combine
frames and rules.
Object-Oriented Programming
object - any data structure that has a symbolic name
-
objects represent things
-
can also represent generic concepts
-
have properties and behaviors
-
data are stored within the programs that manipulate them
messages - requests between objects
Truth Maintenance
-
new information exists independently from other information
in the knowledge base
-
no logical links between facts and rules
(a fact has no knowledge about how it was derived,
what other facts it depends on, or what other
facts depend on it)
-
useful for hypothetical reasoning, planning, scheduling, and
design
-
dependency networks, Justification-based Truth Maintenance,
Assumption-based Truth Maintenance