Download CH18_withFigures - Computer Engineering

Document related concepts
no text concepts found
Transcript
Chapter 18
KNOWLEDGE
ACQUISITION,
REPRESENTATION,
AND REASONING
Learning Objectives
• Understand the nature of knowledge
• Understand the knowledge-engineering process
• Learn different approaches to knowledge
acquisition
• Explain the pros and cons of different knowledge
acquisition approaches
• Illustrate methods for knowledge verification and
validation
• Understand inference strategies in rule-based
intelligent systems
• Explain uncertainties and uncertainty processing
in expert systems (ES)
Concepts of
Knowledge Engineering
• Knowledge engineering
The engineering discipline in which
knowledge is integrated into computer
systems to solve complex problems that
normally require a high level of human
expertise
Concepts of
Knowledge Engineering
•
The knowledge-engineering process
1.
2.
3.
4.
5.
Knowledge acquisition
Knowledge representation
Knowledge validation
Inferencing
Explanation and justification
Concepts of
Knowledge Engineering
• Knowledge representation
A formalism for representing facts and rules
in a computer about a subject or specialty
• Knowledge validation (verification)
The process of testing to determine whether
the knowledge in an artificial intelligence
system is correct and whether the system
performs with an acceptable level of
accuracy
Concepts of
Knowledge Engineering
Concepts of
Knowledge Engineering
• CommonKADS
The leading methodology to support structured
knowledge engineering. It enables the recognition
of opportunities and bottlenecks in how
organizations develop, distribute, and apply their
knowledge resources, and it is a tool for corporate
knowledge management. CommonKADS
provides the methods to perform a detailed
analysis of knowledge intensive tasks and
processes and supports the development of
knowledge systems that support selected parts of
the business process
The Scope and
Types of Knowledge
• Documented knowledge
For ES, stored knowledge sources not
based directly on human expertise
• Undocumented knowledge
Knowledge that comes from sources that
are not documented, such as human
experts
The Scope and
Types of Knowledge
• Knowledge acquisition from databases
– Many ES are constructed from knowledge
extracted in whole or in part from databases
• Knowledge acquisition via the Internet
– The acquisition, availability, and
management of knowledge via the Internet
are becoming critical success issues for the
construction and maintenance of knowledgebased systems
The Scope and
Types of Knowledge
• Levels of knowledge
– Shallow knowledge
– A representation of only surface level
information that can be used to deal with
very specific situations
– Deep knowledge
– A representation of information about the
internal and causal structure of a system that
considers the interactions among the
system’s components
The Scope and
Types of Knowledge
The Scope and
Types of Knowledge
• Major categories of knowledge
– Declarative knowledge
A representation of facts and assertions
– Procedural knowledge
Information about courses of action. Procedural
knowledge contrasts with declarative knowledge
– Metaknowledge
In an expert system, knowledge about how the
system operates or reasons. More generally,
knowledge about knowledge
Methods of Acquiring
Knowledge from Experts
•
Roles of knowledge engineers
1. Advise the expert on the process of interactive knowledge
elicitation
2. Set up and appropriately manage the interactive knowledge
acquisition tools
3. Edit the unencoded and coded knowledge base in
collaboration with the expert
4. Set up and appropriately manage the knowledge-encoding
tools
5. Validate application of the knowledge base in collaboration
with the expert
6. Train clients in effective use of the knowledge base in
collaboration with the expert by developing operational and
training procedures
Methods of Acquiring
Knowledge from Experts
Methods of Acquiring
Knowledge from Experts
• Elicitation of knowledge
The act of extracting knowledge,
generally automatically, from nonhuman
sources; machine learning
Methods of Acquiring
Knowledge from Experts
• Knowledge modeling methods
– Manual method
A human-intensive method for knowledge
acquisition, such as interviews and
observations, used to elicit knowledge from
experts
– Semiautomatic method
A knowledge acquisition method that uses
computer-based tools to support knowledge
engineers in order to facilitate the process
Methods of Acquiring
Knowledge from Experts
• Knowledge modeling methods
– Automatic method
An automatic knowledge acquisition method
that involves using computer software to
automatically discover knowledge from a set
of data
Methods of Acquiring
Knowledge from Experts
•
Manual knowledge modeling methods
–
Interviews
•
•
•
•
Interview analysis
An explicit, face-to-face knowledge acquisition technique
that involves a direct dialog between the expert and the
knowledge engineer
Walk-through
In knowledge engineering, a process whereby the expert
walks (or talks) the knowledge engineer through the
solution to a problem
Unstructured (informal) interview
An informal interview that acquaints a knowledge
engineer with an expert’s problem-solving domain
Methods of Acquiring
Knowledge from Experts
• Manual knowledge modeling methods
– Structured Interviews
• A structured interview is a systematic, goaloriented process
• It forces organized communication between the
knowledge engineer and the expert
Methods of Acquiring
Knowledge from Experts
• Manual knowledge modeling methods
– Process tracking
The process of an expert system’s tracing
the reasoning process in order to reach a
conclusion
– Protocol analysis
A set of instructions governing the format and
control of data in moving from one medium to
another
– Observations
Methods of Acquiring
Knowledge from Experts
• Manual knowledge modeling methods
– Other manual knowledge modeling methods
•
•
•
•
•
•
•
•
•
•
Case analysis
Critical incident analysis
Discussions with users
Commentaries
Conceptual graphs and models
Brainstorming
Prototyping
Multidimensional scaling
Johnson’s hierarchical clustering
Performance review
Methods of Acquiring
Knowledge from Experts
• Manual knowledge modeling methods
– Multidimensional scaling
A method that identifies various dimensions
of knowledge and then arranges them in the
form of a distance matrix. It uses leastsquares fitting regression to analyze,
interpret, and integrate the data
Methods of Acquiring
Knowledge from Experts
• Semiautomatic knowledge modeling
methods
– Repertory Grid Analysis (RGA)
• Personal construct theory
An approach in which each person is viewed as a
“personal scientist” who seeks to predict and
control events by forming theories, testing
hypotheses, and analyzing results of experiments
Methods of Acquiring
Knowledge from Experts
•
Semiautomatic knowledge modeling methods
– How RGA works
1. The expert identifies the important objects in the domain of
expertise
2. The expert identifies the important attributes considered in
making decisions in the domain
3. For each attribute, the expert is asked to establish a
bipolar scale with distinguishable characteristics and their
opposites
4. The interviewer picks any three of the objects and asks,
“What attributes and traits distinguish any two of these
objects from the third?” The answers are recorded in a grid
5. The grid can be used afterward to make recommendations
in situations in which the importance of the attributes is
known
Methods of Acquiring
Knowledge from Experts
• Semiautomatic knowledge modeling
methods
– The use of RGA in ES
• Expert transfer system (ETS)
A computer program that interviews experts and
helps them build expert systems
– Card sorting data
– Other computer-aided tools
Methods of Acquiring
Knowledge from Experts
Methods of Acquiring
Knowledge from Experts
• Automatic knowledge modeling methods
– The process of using computers to extract
knowledge from data is called knowledge
discovery
– Two reasons for the use of automated
knowledge acquisition:
• Good knowledge engineers are highly paid and
difficult to find
• Domain experts are usually busy and sometimes
uncooperative
Methods of Acquiring
Knowledge from Experts
• Automatic knowledge modeling methods
– Typical methods for knowledge discovery
• Inductive learning
• Neural computing
• Genetic algorithms
Acquiring Knowledge
from Multiple Experts
• Major purposes of using multiple experts:
– To better understand the knowledge domain
– To improve knowledge-base validity, consistency,
completeness, accuracy, and relevancy
– To provide better productivity
– To identify incorrect results more easily
– To address broader domains
– To be able to handle more complex problems and
combine the strengths of different reasoning
approaches
Acquiring Knowledge
from Multiple Experts
• Multiple-expert scenarios
– Individual experts
• Primary and secondary experts
– Small groups
– Panels
Acquiring Knowledge
from Multiple Experts
• Methods of handling multiple experts
– Blend several lines of reasoning through consensus
methods such as Delphi, nominal group technique
(NGT), and group support systems (GSS)
– Use an analytic approach, such as group probability
or an
– analytic hierarchy process
– Keep the lines of reasoning distinct and select a
specific line of reasoning based on the situation
– Automate the process, using software or a
blackboard approach.
– Decompose the knowledge acquired into specialized
knowledge sources
Automated Knowledge Acquisition
from Data and Documents
• The objectives of using automated knowledge
acquisition:
– To increase the productivity of knowledge
engineering (reduce the cost)
– To reduce the skill level required from the knowledge
engineer
– To eliminate (or drastically reduce) the need for an
expert
– To eliminate (or drastically reduce) the need for a
knowledge engineer
– To increase the quality of the acquired knowledge
Automated Knowledge Acquisition
from Data and Documents
• Automated rule induction
– Induction
The process of reasoning from the specific to the
general
– Training set
A set of data for inducing a knowledge model, such
as a rule base or a neural network
– Advantages of rule induction
• Using rule induction allows ES to be used in more
complicated and more commercially rewarding fields
• The builder does not have to be a knowledge engineer
Automated Knowledge Acquisition
from Data and Documents
• Automated rule induction
– Difficulties in implementing rule induction
• Some induction programs may generate rules
that are not easy for a human to understand
• Rule induction programs do not select the
attributes
• The search process in rule induction is based on
special algorithms that generate efficient decision
trees, which reduce the number of questions that
must be asked before a conclusion is reached
Automated Knowledge Acquisition
from Data and Documents
• Automated rule induction
– Difficulties in implementing rule induction
• Rule induction is only good for rule-based classification
problems, especially of the yes/no type
• The number of attributes must be fairly small
• The number of examples necessary can be very large
• The set of examples must be “sanitized”
• Rule induction is limited to situations under certainty
• The builder does not know in advance whether the number
of examples is sufficient and whether the algorithm is good
enough
Automated Knowledge Acquisition
from Data and Documents
• Interactive induction
A computer-based means of knowledge
acquisition that directly supports an
expert in performing knowledge
acquisition by guiding the expert through
knowledge structuring
Knowledge
Verification and Validation
• Knowledge acquired from experts needs
to be evaluated for quality, including:
– The main objective of evaluation is to assess
an ES’s overall value
– Validation is the part of evaluation that deals
with the performance of the system
– Verification is building the system right or
substantiating that the system is correctly
implemented to its specifications
Representation of Knowledge
• Production rule
A knowledge representation method in
which knowledge is formalized into rules
that have IF parts and THEN parts (also
called conditions and actions,
respectively)
Representation of Knowledge
• Inference rule (metarule)
A rule that describes how other rules
should be used or modified to direct an
ES inference engine
• Procedural rule
A rule that advises on how to solve a
problem, given that certain facts are
known
Representation of Knowledge
• Major advantages of rules
– Rules are easy to understand
– Inferences and explanations are easily
derived
– Modifications and maintenance are relatively
easy
– Uncertainty is easily combined with rules
– Each rule is often independent of all others
Representation of Knowledge
• Major limitations of rule representation:
– Complex knowledge requires thousands of rules,
which may create difficulties in using and
maintaining the system
– Builders like rules, so they try to force all knowledge
into rules rather than look for more appropriate
representations
– Systems with many rules may have a search
limitation in the control program
– Some programs have difficulty evaluating rule-based
systems and making inferences
Representation of Knowledge
• Semantic network
A knowledge representation method that
consists of a network of nodes,
representing concepts or objects,
connected by arcs describing the
relations between the nodes
Representation of Knowledge
Representation of Knowledge
• Frame
A knowledge representation scheme that
associates one or more features with an object
in terms of slots and particular slot values
– Slot
A sub-element of a frame of an object. A slot is a
particular characteristic, specification, or definition
used in forming a knowledge base
– Facet
An attribute or a feature that describes the content of
a slot in a frame
Representation of Knowledge
Representation of Knowledge
• Inheritance
The process by which one object takes
on or is assigned the characteristics of
another object higher up in a hierarchy
• Instantiate
To assign (or substitute) a specific value
or name to a variable in a frame (or in a
logic expression), making it a particular
“instance” of that variable
Representation of Knowledge
Representation of Knowledge
Representation of Knowledge
• Decision table
A table used to represent knowledge and
prepare it for analysis
Representation of Knowledge
Representation of Knowledge
• Propositional logic (or calculus)
A formal logical system of reasoning in which
conclusions are drawn from a series of statements
according to a strict set of rules
• Predicate logic (or calculus)
A logical system of reasoning used in artificial
intelligence programs to indicate relationships among
data items. It is the basis of the computer language
PROLOG
• PROLOG (programming in logic)
A high-level computer language based on the concepts
of predicate calculus
Representation of Knowledge
Reasoning in
Intelligent Systems
• Commonsense reasoning
The branch of artificial intelligence that is
concerned with replicating human thinking
• Reasoning in rule-based systems
– Inference engine
The part of an expert system that actually performs
the reasoning function
– Rule interpreter
The inference mechanism in a rule-based system
– Chunking
A process of dividing and conquering, or dividing
complex problems into subproblems
Reasoning in
Intelligent Systems
• Backward chaining
A search technique that uses IF THEN rules
and is used in production systems that begin
with the action clause of a rule and works
backward through a chain of rules in an attempt
to find a verifiable set of condition clauses
Reasoning in
Intelligent Systems
• Forward chaining
A data-driven search in a rule-based
system
Reasoning in
Intelligent Systems
• Inference tree
A schematic view of
the inference process
that shows the order
in which rules are
tested
Explanation
and Metaknowledge
• Explanation
An attempt by an ES to clarify its
reasoning, recommendations, or other
actions (e.g., asking a question)
• Explanation facility (justifier)
The component of an expert system that
can explain the system’s reasoning and
justify its conclusions
Explanation
and Metaknowledge
• Why explanations
• How explanations
• Other explanations
– Who
– What
– Where
– When
– Why
– How
Explanation
and Metaknowledge
• Metaknowledge
– Static explanation
In an ES, an association of fixed explanation
text with a rule to explain the rule’s meaning.
– Dynamic explanation
In ES, an explanation facility that
reconstructs the reasons for its actions as it
evaluates rules
Explanation
and Metaknowledge
• Categorization of the explanation
methods
– Trace, or line of reasoning
– Justification
– Strategy
Inferencing with Uncertainty
Inferencing with Uncertainty
• The importance of uncertainty
– Uncertainty is a serious problem
– Avoiding it may not be the best strategy.
Instead, we need to improve the methods for
dealing with uncertainty
Inferencing with Uncertainty
• Representing uncertainty
– Numeric representation
– Graphic representation
– Symbolic representation
Inferencing with Uncertainty
• Probabilities and related approaches
– Probability ratio
– Bayesian approach
• Subjective probability
A probability estimated by a manager without the
benefit of a formal model
– Dempster–Shafer theory of evidence
• Belief function
The representation of uncertainty without the
need to specify exact probabilities
Inferencing with Uncertainty
• Theory of certainty factors
– Certainty theory
A framework for representing and working with
degrees of belief of true and false in knowledgebased systems
– Certainty factor (CF)
A percentage supplied by an expert system that
indicates the probability that the conclusion reached
by the system is correct. Also, the degree of belief an
expert has that a certain conclusion will occur if a
certain premise is true
– Disbelief
The degree of belief that something is not going to
happen
Inferencing with Uncertainty
• Theory of certainty factors
– Combining certainty factors
• Combining several certainty factors in one rule
• Combining two or more rules
Expert Systems Development
Expert Systems Development
• Phase I: Project initialization
• Phase II: System analysis and design
– Conceptual design
– Development strategy and methodology
– Sources of knowledge
Expert Systems Development
• Phase II: System analysis and design
– Selection of the development environment
• Expert system shell
A computer program that facilitates relatively easy
implementation of a specific expert system. Analogous to a
DSS generator
• Fifth-generation language (5GL)
An artificial intelligence computer programming language.
The best known are PROLOG and LISP
• LISP (list processing)
An artificial intelligence programming language, created by
artificial intelligence pioneer John McCarthy, that is
especially popular in the United States. It is based on
manipulating lists of symbols
Expert Systems Development
• Phase II: System analysis and design
– Selection of the development environment
• Tool kit
A collection of related software items that assist a
system developer
• Domain-specific tool
A software shell designed to be used only in the
development of a specific area (e.g., a diagnostic
system)
Expert Systems Development
• Phase III: Rapid prototyping and the
demonstration prototype
– Demonstration prototype
A small-scale prototype of a (usually expert)
system that demonstrates some major
capabilities of the final system on a
rudimentary basis. It is used to gain support
among users and managers
• Phase IV: System development
Expert Systems Development
• Phase V: Implementation
– Acceptance by the user
– Installation approaches and timing
– Documentation and security
– Integration and field testing
Expert Systems Development
• Phase VI: Postimplemenatation
– System operation
– System maintenance
– System expansion (upgrading)
– System evaluation
Knowledge Acquisition
and the Internet
• The Internet as a communication medium
• The Internet as an open knowledge
source