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

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