KBS - knowledge-based system
ES - expert system
p.2-3 'Knowledge engineering is the process of developing knowledge based systems in any field, whether it be in the public or private sector, in commerce or in industry' (Debenham, 1988). But what, precisely, is knowledge?... Knowledge is 'The explicit functional associations between items of information and/or data' (Debenham, 1988)... [data is] Recorded symbols (McNurlin and Sprague, 1998)... By information we mean data that have been shaped into a form that is meaningful and useful to human beings (Laudon and Laudon, 1988).
p.4 information is commonly thought to be data, processed or transformed into a form or structure suitable for use by human beings.
p.6 knowledge is what someone has after understanding information.
p.6 it should be clear that data, information and knowledge are not static things in themselves but stages in the process of using data and transforming it into knowledge. On this basis they can be considered points along a continuum, moving from less to more usefulness to a human being, in much the same way as we all move along a continuum from young to old, but at no point can we be defined as either.
p.8 Knowledge acquisition involves obtaining knowledge from various sources including human experts, books, videos and existing computer sources of data such as databases and the Internet.
In knowledge validation, knowledge is checked using test cases for adequate quality.
Knowledge representation involves producing a map of the knowledge and then encoding this knowledge into the knowledge base.
Inferencing means forming links (or inferences) in the knowledge in the computer software so that the KBS [knowledge based systems] can make a decision or provide advice to the user.
Explanation and justification involves additional computer program design, primarily to help the computer answer questions posed by the user and also to show how a conclusion was reached using knowledge in the knowledge base.
p.10-11 To begin with, a knowledge engineer must extract knowledge from people (human experts) that can be placed into knowledge based systems (KBSs). This knowledge must then be represented in some format that is understandable both to the knowledge engineer, the human expert and the programmer of the KBS. A computer program, which processes that knowledge or makes inferences, must be developed... To meet the objective of designing a KBS, the knowledge engineer will have to:
- acquire the knowledge from the expert to be used in the system
- use an appropriate method for representing knowledge in a symbolic, processable form
p.11 The knowledge engineer will normally be dealing with three types of knowledge:
- Declarative knowledge tells us facts about things...
- Procedural knowledge provides alternative actions based on the use of facts to obtain knowledge...
- Meta-knowledge is knowledge about knowledge. It helps us understand how experts use knowledge to make decisions...
A knowledge engineer must be able to distinguish between these three types of knowledge and understand how to codify different knowledge types into some form of KBS.
p.13 one of the most important people involved in a KBS project from the users perspective is the Project Champion. This is a person who works with the project team, most likely as a user representative. Such a person must:
- be able to convince users that the KBS is needed
- have an appropriate level of authority
- 'get on' with both management and users
- have a personal investment in the project
- believe in the need for the KBS
- be capable of presenting the business benefits to management
- be highly motivated towards the success of the project.
p.20 Within the scope of our mental capacity we have individual choice and make our own decisions. This is evidence of intelligence. The application of artificial intelligence has tried to emulate all of these characteristics within computer systems.
p.21 Knowledge engineering... is the practical application of those aspects of artificial intelligence that are well understood to real commercial business problems... Knowledge-based systems are computer programs that are designed to emulate the work of experts in specific areas of knowledge. It is these systems that provide the main focus of this book.
p.27 Expert systems are computer programs designed to emulate the work of experts in specific areas of knowledge.
p.74 Intelligent agents are entities, such as robots or computer programs that perform some useful functionality on your behalf and exhibit some fairly unique characteristics. To be classified as an intelligent agent the entity must be able to:
- perceive their environment in some way
- understand their purpose or goal
- interact with their environment
- react to changes in the environment
- exhibit aspects of intelligence, i.e., the ability to make decisions for themselves and potentially to learn as their experience grows
- make autonomous decisions, i.e., knowing their goal, be able to decide for themselves what actions they should perform next.
p.80 Heuristic search strategies rely upon knowledge to prune the search tree so that only a small part of the tree is considered... Heuristic searches rely upon knowledge to guide the choices and are only as good as the knowledge that guides the search... For large problems, heuristic searches are the only realistic option... However, using heuristic searches large parts of the search space are pruned and not explored thus a solution could be missed if the heuristics are poor.
p.109 In many situations, experts do not have any formal basis for problem solving or communicating the results of that problem solving. So they tend to use 'rules of thumb' (heuristics) developed on the basis of their experience to help them make decisions in their particular field.
Heuristics implies that knowledge is acquired more by trial and error than by any definite decision-making process.
p.110 Expert systems, can have two types of knowledge: deep and shallow.
Shallow knowledge indicates that the system has been built with a working knowledge of the problem domain only and a system built on the basis of it will only be useful in some very specific situations. If the problem facing the ES [expert system] is not covered by any of these basic relationships, then the system will not be able to provide a solution to that problem.
Deep knowledge is knowledge of the fundamental laws on which a system is based. This knowledge is not dependent on a specific situation and can thus be used to solve a range of problems. As with a human expert, the system will be able to 'understand' the causal links within the knowledge base. Including this type of knowledge within an ES is difficult, if not impossible, in many situations. Many systems are simply too complex to show all the causal relationships, and experts may sometimes make intuitive leaps to reach a conclusion, which the ES cannot mimic.
p.115 for practical purposes shallow knowledge may be better. The appropriate use of deep or shallow knowledge is a decision that the knowledge engineer must make when considering each system to be developed.
p.130 It must be stressed at the outset that you do not build a KBS then evaluate and validate it; these activities must be carried out as ongoing parts of the development process itself.
p.131 The evaluation of a KBS involves two more terms, namely validation and verification.
- Validation measures the performance of the KBS. In effect, the output from the system is compared to the output that would be provided by an expert. A check is then made to ensure that the system is performing to an acceptable level of accuracy.
- Verification is checking that the KBS has been built correctly, i.e., that the rules are logical and consistent with the knowledge obtained via the knowledge acquisition process.
p.155 When selecting a suitable knowledge representation scheme the most natural form of representation should be aimed for. This may involve using a combination of different techniques to provide advantages of each without the disadvantages of any. It is possible, for example, to use within one KBS, a mixture of the rules and frames, if both of these representation schemes are supported by the development tool.
p.242 There are two main causes of uncertainty that occur during the design of expert systems, uncertain information and uncertain reasoning... An expert system working with uncertain information and using uncertain reasoning can still reach some very important conclusions.
p.249 One method of dealing with uncertainty is to state the outcomes from a particular system as a set of hypotheses... Each hypothesis is given a probability of occurring, providing a guide to how often that outcome can be expected.
p.256-257 Probabilistic reasoning, when compared with confidence factors (only expressions of opinion), has higher validity because the results are based on mathematically proven reasoning and statistical data. The Limitations of Probabilistic Reasoning [:] Needs statistical data to be collected from previous results, and will only work where this data is available. Furthermore, this data may not be accurate invalidating the results of the hypothesis being tested.