Conceptual Analysis as a Basis for Knowledge Acquisition
John F. Sowa
In high school algebra, "word problems" are notoriously difficult. Students who can solve complex equations have trouble analyzing an English sentence to determine the significant variables and relationships. Professional programmers face the same difficulty. The greatest source of errors is the mapping from informal specifications to a formal language. For expert systems, the problem is even worse. Many of them deal with subjects that have never been formalized, such as medical diagnosis, oil well exploration, or automobile registration. In analyzing those subjects, knowledge engineers have no formal theories to guide them. As an aid to formalization, conceptual analysis provides general techniques for analyzing knowledge on any subject. This chapter presents conceptual analysis as a method of analyzing informal knowledge expressed in natural language as a preliminary stage to encoding it in a knowledge representation language. For the examples in this chapter, conceptual graphs are used as the primary knowledge representation language, but the techniques could be applied to any other artificial intelligence (AI) language.
Knowledge acquisition is the process of eliciting, analyzing, and formalizing the interconnected patterns of thought underlying some subject matter. In elicitation, the knowledge engineer must get the expert to articulate tacit knowledge in natural language. In formalization, the knowledge engineer must encode the knowledge elicited from the expert in the rules and facts of some AI language. Between those two stages lies conceptual analysis: the task of analyzing the concepts expressed in natural language and making their implicit relationships explicit. Conceptual analysis must be closely integrated with the other two stages, because the knowledge engineer must do some analysis in deciding what questions to ask the expert and in formalizing the answers in an AI language. Despite the central position of conceptual analysis, most discussions of knowledge acquisition tend to ignore it or illustrate it with a few ad hoc examples. This chapter concentrates on conceptual analysis as an important subject in its own right. An understanding of the techniques can heighten knowledge engineers' sensitivity to the nuances of language, give them guidelines for organizing knowledge, and help them avoid common errors.
A deep understanding of logic and language is a prerequisite for conceptual analysis. Logic is essential because every knowledge representation language is a thinly disguised version of logic; language is essential because the primary means of communication between the expert and the knowledge engineer is natural language. Besides logic and language, some philosophical sophistication is also necessary. The word ontology, which usually appears only in abstruse philosophical tomes