Knowledge Acquisition Notes For Learning
Knowledge Acquisition Notes For Learning
There are two types of knowledge: shallow knowledge and deep knowledge.
Shallow knowledge: An expert has a base understanding of the subject, some of which could be described as
general. For example a pension’s expert will know that a pension is a source of income after retirement. Now,
obviously a great many non-experts know this. It is, however, central to the understanding of the pension’s
domain. Other general knowledge could be the general strategy that the expert employs when solving a
problem, the general class of problem that the expert is tackling and some typical problem solutions. This is
sometimes referred to as meta-knowledge.
Example: surface level information might be represented as: If the weather is bad then stay in bed.
Deep Knowledge: This is the knowledge that has been acquired by years of experience and study and is the
detailed `core` of the knowledge base. This knowledge covers such items as:
Relationships between data
Rules/concepts
How important each item is
What order he/she performs tasks
The detailed strategies for arriving at solutions
Knowledge Elicitation: - It implies that knowledge acquisition is accomplished from a human expert.
Knowledge Acquisition Methods
Knowledge acquisition methods constitute tools used for the process of modeling knowledge. There are two
basic strategies in knowledge engineering:
Starting from general and overall concepts, gradually leading the expert to elicit details of a topic.
Starting from the details of specific cases and helping the expert establish and derive general
concepts from the specific examples.
Therefore, the methods of eliciting knowledge can be categorized into two broad groups:
i). Top-down (or deductive) methods
ii). Bottom-up (or inductive) methods
3) Quantitative methods.
The methods were developed in cognitive science and decision analysis for eliciting the degree of a decision
maker's preferences and utilities, and in grouping various objects and attributes
Used to measure and determine:
The extent of relationships among objects (or concepts)
The degree of uncertainty about the domain knowledge
4) Inventive methods.
Expert is allowed a more active part in the process in one of the following roles:
Expert as a teacher:
Responsible for teaching and transferring expertise to the KE.
Expert is given the responsibility for the preparation and organization of the elicitation sessions.
Efficient at the early stages of knowledge acquisition
Expert as a partner in systematic innovation:
This is an abstract concept
Requires the expert and the KE to identify pieces of knowledge that are in contradiction, and to
discover solution methods for removing the contradiction
Example: The applicant's request for a loan and a less than favorable credit rating form a contradiction.
The expert must provide a solution for this contradiction, which leads to the elicitation of new pieces
of knowledge. The expert and knowledge engineer form a partnership in discovering contradictions
and creating solutions; this taps the expert's deep understanding of the domain.
Expert as the knowledge engineer
The expert may have both technical interest in the system and the needed training in knowledge
engineering.
The expert can also play the role of a knowledge engineer.
1) Example-based methods
The example-based approach constitutes the foundation of case-based learning and learning by
analogy. In the example-based methods, the knowledge engineer and the expert work on a number of
representative cases or examples in one of the following ways:
a) Grouping examples: - The expert groups the examples based on their similarities and differences.
This process helps to determine categories of examples and the development of general rules for each
category.
b) Walk-through method: - The knowledge engineer selects a number of cases previously decided by
the expert, and asks the expert to walk through the decision process.
c) Quantitative analysis of examples: - The quantitative techniques are tools for helping the expert
discover the relations among various attributes of the decision cases.
Categorized into two groups:
i). Statistical methods
The examples must be a random sample of the cases decided by the expert(s).
The data on the examples are fed into a statistical technique, such as regression analysis, in
order to discover the expert's decision criteria.
ii). Inductive methods
The example set contains a representative set of all possible cases the expert has encountered.
The examples are fed into the inductive method, which produces a decision tree or a set of
decision rules.
2) Protocol analysis
The expert is asked to think aloud and verbalize his or her thought process while solving a set of actual
(or simulated) problems and making decisions. The KE records the process, and later analyzes the large
volume of information produced from this method to discover the general rules the expert uses in
solving problems.
3) Observation
It involves observation of the expert while solving a problem. Useful when the solution of the problem
is procedural and takes place in a sequence of steps through time
The absence of the biases and intrusion inherent in the KE’s questions makes this approach useful. The
KE must make sure that the expert is making decisions in the most realistic environment.
The use of computers for KA is rapidly expanding and this section considers a technique called rule induction
and mentions some of the tools available.
i) Manual Mode
This mode requires a direct interaction between the knowledge engineer and expert.
Various attempts have been made at overcoming these difficulties. This forms an important and active research
area. One approach is the use of natural language interfaces so that experts can communicate directly.
Computer aided knowledge acquisition tools are an alternative automated solution.
EXPERT SYSTEMS
Expert system is a set of computer programs that mimic the human expert. The programs will take and solve
problems in restricted problem domains or areas of expertise. Expert systems must therefore have
knowledge similar to the ones held by human experts and use it to solve problems of the type solved by
human beings.
Knowledge base
The knowledge base contains the know-how of the human experts in a particular field. Such know-how is of
two types:-
Facts: also known as "deep knowledge". These are based on generalized learning from School and
books and are well known and widely accepted by experts in the field.
Heuristics: known as "surface knowledge". Heuristics consist of "rules of thumb", i.e. knowledge
attained through experience.
Knowledge base is derived and implemented from knowledge analysis and representation. It is the result of
knowledge acquisition and representation. For example, if you are using CLIPS to develop a rule-based
production system, the knowledge base will be presented in the form of production rules.
Inference engine is the brain of the expert system and, which has two primary tasks:
Inference: the inference engine employs reasoning to examine existing facts and rules. Updates stored
knowledge and draws conclusions.
Working memory (Blackboard) is an area of the Computer's RAM reserved for storing information
regarding the current status of the problem. The blackboard may contain a plan of how the problem should
be solved, an agenda of potential actions awaiting execution and a solutions indicating candidate hypotheses
and alternate courses of action.
External data source: Some expert systems receive input data from external sources other than the user.
Common forms of this data - known as sensor data - include X rays, audible sounds and visual images. The
system interprets the data and makes inferences based on that data. Consider a medical system used to
monitor a patient's blood pressure. If the blood pressure reaches a certain critical level the system will
automatically take some action, perhaps sending an alarm signal to the user (the nurse).
User interfaces the part that enables the users or builders to submit their items to the expert system and also
the expert system to respond to the users or builders.
Explanation subsystem (justifier) is the part that traces responsibility for conclusions to their sources. It
may explain:
Why some questions are asked by the expert system;
How some conclusions are reached;
Why some alternatives are rejected;
The plan used to reach the solution;
The remaining facts to establish before the final conclusion.
Knowledge refining system is the part that enables the analysis and use of knowledge so that learning may
take place and improvements may be made.
i). The Knowledge Engineer: The Knowledge Engineer is the person who actually develops expert
systems. This person requires skills and expertise that are peculiar to the world of expert systems.
Obviously a knowledge engineer needs to have a good technical grasp of expert systems software. This
entails understanding the intricacies of particular software as well as experience in programming in a
different 'style' to that of more conventional programming. This can obviously, to a large degree, be
taught but a high level of skill is only acquired by experience.
The job of the knowledge engineer involves very high interaction with people - the experts, users and
management. This means that he or she requires very good communication skills. The ability to talk at
the right level using tact and diplomacy is a very rare skill. It can be compared to a systems
analyst/programmer role with extra requirements of communication that extend beyond a systems
analyst.
ii). The Expert: The expert (or experts) is the person who provides most of the knowledge that is to be
encapsulated in the expert system. He or she will be the final arbiter on the correctness of the finished
system. The expert has experience or knowledge about a particular subject area (domain) and the
expert is chiefly responsible for providing domain knowledge.
The ideal expert is one who is: - articulate, enthusiastic and computer - literate
If an expert is not both articulate and enthusiastic there will be serious problems acquiring the
knowledge for the system. Computer literacy is ideal but not necessary as if he/she has an
understanding of what computers can and cannot do it will greatly enhance the discussions.
iv). Management: Any expert system development that is to be successful has to have full support of
management at all levels. Expert systems technology is a relatively new one. A good deal of ignorance
and misinformation regarding their capabilities can lead to wariness amongst management to commit
scarce resources to an expert systems project. Therefore, management should be aware of expert
systems their potential benefits and realistic costs. The development team may, therefore, consider
giving a one day course or a day seminar to keep the management informed and maintain support and
resources.
Example
Write an expert system to diagnose the problem of a car that won’t start.
Solution
%Problem: Write an Expert system tha can help diagnise
%for a problem of a car that won’t start
%Diagnostic session: System probes for possible causes
%(Asks,notes response and give Recommendation)
car_wont_start:-
problem_with_battery;
problem_with_battery:-nl,
write('Is the battery voltage ok(Yes/No)'),
read(Battery),Battery=no,nl,nl,
write('Recharge battery and turn the KEY'),nl.
problem_with_cables:-nl,
write('Are the cables faulty(Yes/No)'),
read(Cables),Cables=yes,nl,nl,
write('Replace cables and turn the KEY'),nl.
problem_with_starter:-nl,
write('Is you starter motor ok(Yes/No)'),
read(Starter),Starter=no,nl,nl,
write('Do you want to repair or replace the motor?'),nl,nl,
write('=============================='),nl,nl,
write('1: Replace'),nl,
write('2: Repair'),nl,
write('Enter your Choice:'),
read(Choice),starter(Choice).
problem_with_switch:-nl,
write('Is your ignition switch ok(Yes/No)'),
read(Switch),Switch=no,nl,nl,
write('Replace the switch and turn the KEY'),nl.
problem_with_fuel:-nl,
write('Is your petrol tank empty(Yes/No)'),
read(Fuel),Fuel=yes,nl,nl,
write('Buy petrol and turn the KEY'),nl.
Examples
There are literally hundreds of expert system shells available. Some examples are: CLIPS, JESS, Mycin,
Babylon, G2, etc