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:
    1. 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.
    2. 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
    3. 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"
    4. Generalization And Abstraction: noticing similarity and creating categories
    5. Meta-Level Reasoning: using knowledge about what you know
    6. (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