Article Preview
TopIntroduction
Knowledge engineering is an important part of capturing and representing knowledge about the real world so it can be used in many different types of information systems – from regular software systems that support business applications to artificial intelligent applications. However, knowledge engineering has remained manual and difficult due, in part, to the basic problems of understanding the real world, capturing the semantics of the real world, and representing concepts of the real world in a form that humans can understand. Because knowledge engineering is so challenging, the quality of knowledge captured and represented is often less than optimal (Davis, Schrobe, & Szolovits, 1993).
One reason knowledge representation remains a fundamental challenge in knowledge engineering (Grigorova & Nikolov, 2007; Holder, Markov, & Russell, 2006; Leone et al., 2006) is because tools for knowledge representation attempt to address multiple issues simultaneously. Knowledge representation tools normally perform two tasks. First, they model the domain knowledge of human experts. Second, they are a representation of the implementation of domain knowledge in the knowledge system (Davis et al., 1993). As a result, features are incorporated into tools that make trade-offs between these two issues. For example, conceptual graphs were intended to facilitate human understanding (Sowa, 1984). However, elements of conceptual graphs make it difficult for humans to accurately model human knowledge. As one example, conceptual graphs include a construct called a conceptual relation that has a computational, but not a human, analog.
To illustrate, consider the classic Conceptual Graphs example “John is going to Boston by Bus” shown in Figure 1. Agent (agnt), destination (dest) and instrument (inst) are conceptual relations created to define the notion of “go.” The fact that “go” requires an agent, destination and instrument is important for a computer to understand. Human beings, however, would consider this way of modeling “go” unnatural.
Figure 1. Conceptual Graph- John is going to Boston by Bus (From SOWA, Knowledge Representation, 1E, © 2000 South-Western, a part of Cengage Learning, Inc. Reproduced by permission. www.cengage.com/permissions)
Conceptual modeling research has long argued that modeling what the user wants (i.e., conceptual modeling) should be distinct from designing the implementation artifact (i.e., logical design) (Langefors, 1995; Navathe, 1992). Given that knowledge representation appears to do both, knowledge representation should be improved by separating the work into two tasks, and developing tools (i.e., representation schemes) that maximize performance for each task. Specifically, knowledge representation schemes currently focus both on modeling the knowledge domain and representing it in a computational form. Features of existing schemes therefore, simultaneously: (1) represent captured knowledge in a human comprehensible format to facilitate communication with domain experts (i.e., conceptual knowledge representation), and (2) transform captured knowledge into a computational form for reasoning by computers (i.e., computational reasoning). We argue that knowledge representation would be made more effective if separate representation schemes were developed for each task, instead of having a single scheme perform both tasks.