ABSTRACT

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.