0203. Introduction to Artificial Intelligence
Knowledge Representation
1. Knowledge
Domain-specific knowledge is often necessary for many AI tasks.
There are various types of knowledge that need to be represented in a computer:
- declarative and procedural knowledge,
- commonsense knowledge, scientific knowledge, mathematical knowledge.
There is always a relationship between the form in which knowledge is represented
and the way in which the knowledge is used. However, domain-specific representation
and general-purpose representation can still be distinguished to a degree.
Requirement for knowledge representation: expressiveness, modularity, naturalness,
flexibility, efficiency. Usually, tradeoff among the factors needs to be considered.
Currently, logic-based representation is still the theoretical foundation of
various kinds of knowledge representation.
Guidance
on translating from English into first-order predicate logic.
2. Structure of knowledge
The need for larger unit in knowledge base mainly comes from efficiency consideration
--- by putting related knowledge together, it is easier to find it.
Semantic network:
a graph structure in which nodes (or vertices) represent concepts, while the
arcs between these nodes represent relations among concepts.
Frame:
similar to object-oriented representation, a frame corresponds to a concept,
containing attribute-value pairs (sometimes with default values). Traditionally,
the terms "slot (name)" and "(slot) filler" are used to
address these pairs.
Script: generalized episodes,
or typical sequence of events corresponding to a concept.
Description Logic: mainly characterized by
a set of constructors that allow to build complex concepts and roles
from atomic ones, where concepts correspond to sets of objects, while
roles correspond to binary relations on objects.
3. Knowledge base
Usually knowledge in a certain domain or for a certain purpose is collected together
in a knowledge base. Beside providing retrieval capacity, the knowledge base is
often equipped with an inference engine to generate derived knowledge. Also, the
consistency and integrity of knowledge need to be maintained.
Examples:
- CYC: constructing a foundation
of basic "common sense" knowledge -- a semantic substratum of terms, rules,
and relations -- that will enable a variety of knowledge-intensive products
and services. The language is based on first-order predicate logic.
- Open Mind:
an attempt of building a huge commonsense knowledge-base in English, participated
by voluntiers over the world.
- WordNet:
an online lexical reference system whose design is inspired by current
psycholinguistic theories of human lexical memory.
- Mizar:
the project has built a databade of mathematical knowledge, which includes more
than 2 thousands of definitions of mathematical concepts and more than 30 thousands of theorems.
Related topics:
- Semantic Web: the idea of having
data on the web defined and linked in a way, that it can be used by machines
- not just for display purposes, but for using it in various applications.
- Ontology:
a catalog of the types of things that are assumed to exist in a domain
of interest from the perspective of a person.
4. Related readings
Knowledge representation in Prolog: Section 15.7.3 (Semantic Nets), 15.7.4 (Frames).
Knowledge Representation in Wikipedia
Reference book: John F. Sowa, Knowledge
Representation: Logical, Philosophical, and Computational Foundations