Knowledge in AI Systems
The role of "knowledge" in AI systems is basically that of "data" in conventional computer systems. Similar to the slogan "Algorithms + Data Structures = Programs", it can be said that "Cognitive Functions + Knowledge Base = AI". Here the issues are more complicated, as "knowledge" usually means data that can be meaningful and modular, so as to be efficiently used for multiple purposes. A good representation format should be expressive, natural, efficient, acquirable, etc.
1. Knowledge representation
The representation used in an AI system primarily depends on the formal model implemented in the system. There are three major traditions:
- Reasoning system: The system's state is represented by sentences in a language, and its activity is represented as derivation of sentences, following inference rules.
- Dynamical system: The system's state is represented as a point in a multi-dimensional space, and its activity is represented as a trajectory in the space, following equations.
- Computational system: The system's state is represented by the content of data structures, and its activity is represented as modifications of the data, following algorithms.
It can be argued that the three types of representation can emulate one another, so have the same expressive power in principle. Even so, they are still very different in naturalness, complexity, efficiency, etc., when a specific application is under consideration.
In terms of the relation between a representation and the outsider world, the two major schools are
- Symbolic (local) representation, in which internal symbols are explicitly interpreted as external objects and events. It has advantage in explainability, but is often too rigid, and has the "grounding problem".
- Connectionist (distributed) representation, which does not explicitly interpret internal symbols as external objects and events. It has advantage in flexibility, but is often hard to understand, and has the "compositionality problem".
Initially, the study of knowledge representation in AI is based on classical logic. Later, various structures were introduced to improve the usages:
Some of these representations do not fully belong to the "symbolic AI" school, because they are used with a semantics (such as conceptual role semantics), where the items are not symbolizing objects and events.
2. Knowledge bases
A knowledge base organizes a large amount of knowledge together, and provides management functions. Representative knowledge bases:
Various techniques have been developed to directly harvest knowledge from the Internet and other existing sources:
3. Knowledge acquisition
Various approaches have been used in getting knowledge into AI systems:
- Manual coding
- Data mining
- Converting from other structures
- Natural language understanding
- Abstracting from sensory observations
Different approaches are needed for expert knowledge and commonsense knowledge, as well as for declarative, episodic, and procedural knowledge.
4. Knowledge application
"Knowledge is power": in the 1980s, the first wave of AI applications appeared, which used knowledge-rich "strong methods" to solve special problems in specific domains, rather than depending on domain-independent "weak methods".
These systems are called
"Expert systems" or "Knowledge-Based Systems", and the major techniques are
Example: MYCIN
These systems can be easily developed using "expert system shells":
To develop such systems, the crucial step is to represent and organize expert knowledge, which is called "Knowledge engineering".
Reading
- Poole and Mackworth: Chapter 16
- Russell and Norvig: Chapter 10
- Luger: Sections 6.2, 7.1, 7.2, 8.1, 8.2, 8.3