CIS 5603. Artificial Intelligence

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: 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:

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