Copyright (c) 2013 John L. Jerz

Introduction to Knowledge Engineering by Kendal and Creen

Home
A Proposed Heuristic for a Computer Chess Program (John L. Jerz)
Problem Solving and the Gathering of Diagnostic Information (John L. Jerz)
A Concept of Strategy (John L. Jerz)
Books/Articles I am Reading
Quotes from References of Interest
Satire/ Play
Viva La Vida
Quotes on Thinking
Quotes on Planning
Quotes on Strategy
Quotes Concerning Problem Solving
Computer Chess
Chess Analysis
Early Computers/ New Computers
Problem Solving/ Creativity
Game Theory
Favorite Links
About Me
Additional Notes
The Case for Using Probabilistic Knowledge in a Computer Chess Program (John L. Jerz)
Resilience in Man and Machine

Introduction to Knowledge Engineering by Kendal and Creen

The proposed heuristic uses techniques from the field of knowledge engineering.
 
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' (Debenhan, 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)."
 
Data becomes knowledge after a refinement process.
 
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."
 
An expert system must acquire and process knowledge in order to create useful solutions to problems..
 
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."
 
The knowledge engineer must extract knowledge from the expert, then store it in a database so it can be accessed as part of the problem solving process.
 
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"

There are three types of knowledge that a knowledge engineer will work with:

p.11"The knowledge engineer will normally be dealing with three types of knowledge:

  • Declarative knowledge tells us 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."

The project champion is a representative of the user who works with the project team. He or she strongly believes in the need for the proposed knowledge based system and is a driving force in the creation of it.

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."

Knowledge engineering uses well-known principles from the field of artificial intelligence in order to create systems that are useful to people for solving problems.

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."

An expert system functions as a replacement 'expert' by automating the delivery of solutions via a knowledge-based software product.

p.27"Expert systems are computer programs designed to emulate the work of experts in specific areas of knowledge."

Heuristics play a large role in expert systems, but cannot do much good unless they 1) mimic the process of the expert or 2) produce results that are on par with those produced by an expert.

p.80"Heuristic searches rely upon knowledge to guide the choices and are only as good as the knowledge that guides the search... 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."

Experts often use rules of thumb obtained from their experience.

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."

Expert systems operate on deep or shallow knowledge. The proposed heuristic would use deep knowledge as defined below.

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."

Ideally, a well-designed knowledge based system is validated as it is developed, not after it is 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."

Validation and verification are defined here:

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."

We should aim to represent knowledge in a form that is the most natural we can come up with.

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."

Uncertainty exists in the decision making process, but that does not have to stop our knowledge based system from generating an output:

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."

Probability can help our knowledge based system make decisions in the face of uncertainty.

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."

Statistical data can help our knowledge based system make decisions, but the quality of the decisions can suffer if this statistical data is bad or if our software draws unjustified comparisons of present conditions with past results.

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."

Enter supporting content here