Knowledge Representation
Representation is a combination of data structures and
interpretive procedures. The interpretation of knowledge
provides its meaning (semantics). The following is a standard
taxonomy:
- data: a list of phone numbers
- information: a table of phone numbers paired with
names
- knowledge: Mary has an answering machine, but it's broken ...
Types of Knowledge
There are many ways to divide knowledge
- Objects:
- Conceptual knowledge of things: concepts and
relations. What's a concept? basically, it's a noun. What's a
(semantic) relation? the meaningful link between two or more
concepts; e.g. is-a, part-of, has-part, location, instrument,
and many more
- Descriptions of things: but rarely text descriptions,
usually formal descriptions expressed in a logical notation
- Categories of things: classes, sets, taxonomies, indexings,
hierarchies
- Events:
- Procedural knowledge of action: robot code to lift an object
and place it on another; or attaching a referent to a
pronoun
(e.g. "John fed his dog. Then HE petted HIM.)
- Time sequences: temporal logic, for determining order of
events and concurrency
- Cause-and-effect: Causal relations, e.g. causes, by-means-of
- Meta-knowledge: knowledge about what is known (and
not known).
Is there a standard set of relations? sorry, no.
Using Knowledge
The purpose of knowledge is perform tasks and accomplish
goals. In other words, to perform inference. Notice this
is an "operational" definition (also called
"instrumental"). In AI, there is no such thing as "knowledge for
it's own sake".
The actual uses of knowledge are
- Acquisition: Adding new facts, and adding new
relationships
This is sometimes done by hand, by people sometimes called
Knowledge Engineers or Media/Content Indexers
And sometimes done mechanically as new inferences create new
facts (or cases) added to the knowledgebase.
- Retrieval: Choosing the knowledge relevant to a
problem
- entailing which knowledge is linked to which
- entailing the need to extract features from the
problem description
- Reasoning: Applying knowledge to a problem. Five
(main) types:
- Formal Reasoning: syntactic manipulations by rules of
inference
e.g. theorem proving using first order predicate calculus (and
resolution in Prolog), propositional logic, truth maintenance
systems, etc.
Note: the basic algorithm is generative, sets are
undecidable, and this "reasoning from first principles"
approach is viewed by many as implausible.
one place to put production rule, or so-called "expert systems"
this is the classic "neat" approach in the neat vs. scruffy
dichotomy in AI.
- Procedural Reasoning: using simulation to "run" the
problem
also known as the engineering approach to AI, it has also
produced a large body of toy systems
the other place to put expert systems
- Reasoning By Analogy: judging relevance/similarity
and using case-retrieval. Case-based reasoning has the following
features:
- arises from an accepted psychological model, the script
- reduces intelligence to memory (i.e. a library of cases),
and managing that memory
- often relies on "stories", which also have special features
- has the strongest claim to psychological plausibility:
acquisition, etc.
- a slogan: "Remembering is better than Reasoning"
- Generalization And Abstraction: noticing similarity
and creating categories
- Meta-Level Reasoning: using knowledge about what you know
- (6th type) Subsymbolic Reasoning: using metaphors
like neural networks, genetic algorithms, simulated annealing,
to provide approximations to hard problems.
- Explanation: using chains of inference to explain or
justify a decision.
Scope and Granularity
What should be the scope of the knowledge base? (i.e. what are the constraints on the domain?). What is the grain size (i.e. the level of detail). These depend on the application.
Indeterminacy and Semantic Primitives
There are usually several ways to represent any given knowledge (redundancy is impossible to avoid, and sometimes desirable). Primitives allow us to represent many things with few concepts (and make inferencing much easier)
Modularity and Understandability
When does new knowledge effect existing knowledge?
What trade-off results when modularity increased understandability but effects representational power (by limiting relationships)
Explicit Knowledge and Flexibility
Facts can be stated and used for multiple purposes but often the use of the facts is buried in code and not easily accessible or explainable
Declarative versus Procedural Representations
- Declarative: facts, rules, axioms, etc. with a logic engine (theorem prover)
- Procedural: functions, procedures, etc. with effectors
History:
T, Feb 2, 1998; 27Feb01
Send comments to:
slator@cs.ndsu.edu
|