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". In AI, the issues are more complicated than in conventional programming, as "knowledge" usually means data that is meaningful and modular, so as to be efficiently used for multiple purposes.
1. Representation
A good representation format should be expressive, natural, efficient, acquirable, etc. There are three major traditions:
- Reasoning system: Knowledge is represented by sentences (propositions) in a language. Various structures have been introduced to improve efficiency, such as Frame, Script, Description logic, etc.
- Dynamical system: Knowledge about an object is represented as a point (vector) in a multi-dimensional space, as in Conceptual space, Vector space model, Support vector machine, Sparse distributed memory (SDM), etc.
- Computational system: Knowledge is represented in data structures, such as array, matrix, tree, and graph. Further extensions include Semantic network, Semantic web, Ontology, Knowledge graph, etc.
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. Example: 8-Puzzel can be represented in matrix or propositions.
Theoretical issues:
- Symbolic (local) representation, in which internal symbols are explicitly interpreted as external objects and events. The representation is natural, but is often too rigid, and has the "grounding problem".
- Connectionist (distributed) representation does not explicitly interpret internal symbols (identifiers) as representing anything. It has advantage in flexibility, but has problems in explainability and compositionality.
2. Organization
A knowledge base organizes a large amount of knowledge together, and provides management functions. Representative knowledge bases:
3. Acquisition
Various approaches have been used in getting knowledge into AI systems, include manual coding, natural language understanding, and abstracting from sensory observations. In particular, various techniques have been developed to directly harvest knowledge from the Internet and other existing sources:
4. 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 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