The field of Artificial Intelligence may not have produced fully intelligent machines but one of its major achievements is the development of a range of ways of representing knowledge. A thorough understanding of different knowledge representations is a vital part (arguably the vital part) of Artificial Intelligence, since the ease of solving a problem is almost completely determined by the way the problem is conceptualised and represented. The same is true for the task of communicating knowledge. A well-chosen analogy or diagram can make all the difference when trying to communicate a difficult idea to someone, especially a non-expert in the field.
Knowledge engineers make use of a number of ways of representing knowledge when acquiring knowledge from experts. These are usually referred to as knowledge models.
Three important types of knowledge models are:
Descriptions and examples of the important types of knowledge models are shown below.
A concept ladder shows classes of concepts and their sub-types. All relationships in the ladder are the is a relationship, e.g. car is a vehicle. A concept ladder is more commonly known as a taxonomy and is vital to representing knowledge in almost all domains. An example of a concept ladder is shown below.
A composition ladder shows the way a knowledge object is composed of its constituent parts. All relationships in the ladder are the has part or part-of relationship, e.g. wheel is part of car. A composition ladder is a useful way of understanding complex entities such as machines, organisations and documents. An example of a composition ladder is shown below.
A decision ladder shows the alternative courses of action for a particular decision. It also shows the pros and cons for each course of action, and possibly the assumptions for each pro and con. A decision ladder is a useful way of representing detailed process knowledge. An example of a decision ladder is shown below.
An attribute ladder shows attributes and values. All the adjectival values relevant to an attribute are shown as sub-nodes, but numerical values are not usually shown. For example, the attribute colour would have as sub-nodes those colours appropriate in the domain as values, e.g. red, blue, green. An attribute ladder is a useful way of representing knowledge of all the properties that can be associated with concepts in a domain. An example of an attribute ladder is shown below.
This ladder shows processes (tasks, activities) and the sub-processes (sub-tasks, sub-activities) of which they are composed. All relationships are the part of relationship, e.g. boil the kettle is part of make the tea. A process ladder is a useful way of representing process knowledge. An example of a process ladder is shown below.
A concept map is a type of diagram that shows knowledge objects as nodes and the relationships between them as links (usually labelled arrows). Any types of concepts and relationships can be used. The concept map is very similar to a semantic network used in cognitive psychology. An example of a concept map is shown below.
A third important type of network diagram is a process map. This type of diagram shows the inputs, outputs, resources, roles and decisions associated with each process or task in a domain. The process map is an excellent way of representing information of how and when processes, tasks and activities are performed. An example of a process map is shown below.
State Transition Network
Another important type of network diagram is the state transition network. This type of diagram comprises two elements: (1) nodes that represent the states that a concept can be in, and (2) arrows between the nodes showing all the events and processes/tasks that can cause transitions from one state to another. An example of a state transition network is shown below.
Frames are a way of representing knowledge in which each concept in a domain is described by a group of attributes and values using a matrix representation. The left-hand column represents the attributes associated with the concept and the right-hand column represents the appropriate values. When the concept is a class, typical (default) values are entered in the right-hand column. An example of a frame is shown the table below for the concept Novel.
A timeline is a type of tabular representation that shows time along the horizontal axis and such things as processes, tasks or project phases along the vertical axis. It is very useful for representing time-based process or role knowledge.
A matrix (aka grid) is a type of tabular representation that comprises a 2-dimensional grid with filled-in grid cells. One example is a problem-solution matrix that shows the problems that can arise in a particular part of a domain as the rows in the matrix and possible solutions as the columns. Ticks, crosses or comments in the matrix cells indicate which solution is applicable to which problem. Another important type of matrix used by knowledge engineers is a focus grid, described later in this chapter. Examples of different forms of matrix are shown on the page describing the PCPACK Matrix Tool.
A more recent form of knowledge model is the use of hypertext and web pages. Here relationships between concepts, or other types of knowledge, are represented by hyperlinks. This affords the use of structured text by making use of templates, i.e. generic headings. Different templates can be created for different knowledge types. For example, the template for a task would include such headings as description, goal, inputs, outputs, resources and typical problems.