UNDERSTANDING KBS
2.1. Problem Solving Techniques in AI
Recall, typical problem solving (and hence many AI) tasks can be commonly
reduced to:
• Modeling natural phenomena, and
• Search
Techniques that model natural phenomena generally concentrate on the concept of
knowledge representation
In a nutshell, some problems highlight search whilst others knowledge
representation
2.2. Knowledge Based Systems-Overview
Definition: a knowledge-based system is a software system capable of supporting
explicit representation of knowledge and of exploiting it through
appropriate reasoning mechanism in order to provide high-level problem
solving performance.
• Knowledge based systems are systems that use knowledge representation as
their central concept.
• Knowledge based systems are developed for a specific task domain
• It is therefore a specific, dedicated, computer based problem solver, able to
face complex problems, which if solved by man, would require advanced
reasoning capabilities like:
– deduction,
– hypothetical reasoning,
– model based reasoning,
– analogical reasoning,
• learning etc. Knowledge based systems are developed for a specific task
domain.
2.3. KBS-Tasks
1
Typical tasks for which knowledge based systems can be built include:
• Diagnosis
• Scheduling
• Design
• Planning
• Configuration
2.4. What is Knowledge?
• Knowledge is a theoretical or practical understanding of a subject or a
domain. Knowledge is also the sum of what is currently known, and
apparently knowledge is power.
• Those who possess knowledge are called experts.
• Anyone can be considered a domain expert if he or she has deep knowledge
(of both facts and rules) and strong practical experience in a particular
domain. The area of the domain may be limited.
• In general, an expert is a skilful person who can do things other people
cannot.
2.4.1. Classification of Knowledge
• Criteria 1
• Priori Knowledge
– Universally true and cannot be denied without contradiction e.g.
mathematical laws, logical statements.
• Posteriori Knowledge
– Represents knowledge that is verified using sensory experiences. Such
knowledge can be denied based on new knowledge without the need
for contradictions.
2
• Criteria 2
• Procedural (Compiled) Knowledge
– Considers the manner in which things work under different sets of
circumstances. Includes step-by-step sequences and how-to types of
instructions; it may also include explanations.
• Declarative Knowledge
– Descriptive representation of knowledge. It tells us facts: what things are
e.g. “Elizabeth Kiiru is a young Kenyan woman”.
• Tacit Knowledge
– Unconsciously knowing how to do something. By definition, tacit
knowledge is not easily shared. Tacit knowledge consists often of
habits and culture that we do not recognize in ourselves. The concept of
tacit knowledge refers to a knowledge which is only known to you and
hard to share with someone else, which is the opposite from the concept
of explicit knowledge.
• Meta Knowledge
– Knowledge about knowledge.
2.4.2. Conceptual structure of a kbs (conceptual schema)
A knowledge-based system is generally composed of two parts:
• Central Part (Kernel)
– This implements the basic problem solving capabilities of the
knowledgebased system.
– The kernel is in turn composed of three main components:
* Knowledge base (KB)
* Reasoning mechanism-inference engine.
* Working memory
3
Peripheral Part This provides additional functions necessary for a practical
and effective use of the knowledge based system e.g. user interface,
explanation system, learner, knowledge acquisition facility, etc.
Diagram-Conceptual Schema
2.4.3. Components of A Knowledge Based System
Based on the conceptual scheme above, a typical knowledge based system has the
following components.
• A knowledge base
• An inference engine
• A user interface
• Explanation facilities
• Learning facilities
The knowledge base contains the domain knowledge useful for problem solving.
In a rule-based expert system, the knowledge is represented as a set of rules. Each
rule specifies a relation, recommendation, directive, strategy or heuristic and has
the IF (condition) THEN (action) structure. When the condition part of a rule is
satisfied, the rule is said to fire and the action part is executed.
•.1. The database/working memory includes a set of facts used to match against
4
the IF (condition) parts of rules stored in the knowledge base.
The inference engine carries out the reasoning whereby the KBS reaches a
solution. It links the rules given in the knowledge base with the facts provided in
the database.
The explanation facilities enable the user to ask the KBS how a particular
conclusion is reached and why a specific fact is needed. A KBS (specifically an
expert system) must be able to explain its reasoning and justify its advice,
analysis or conclusion.
•.2. The user interface is the means of communication between a user seeking a
solution to the problem and a KBS.
•.3. Diagram Depicting components of KBS
2.4.4. Criteria for choosing to implement a KBS
•.4. Only certain types of applications are suited to knowledge based
implementation. The following criterion is used in identifying suitable domains.
The fields under study:
• Should be able to be reduced to a series of rules rather then mathematical
formula or equations. – Knowledge based systems not applicable if domain
has a large number of complex calculations.
• Is well understood so that well-defined knowledge can be formulated and
represented in Computer
• Should not encompass problems which take too short (i.e. less than half an
hour) or too long (larger than say one week) a time to solve.
5
Should have general agreement among recognized experts in the domain to
be computerized.
• The knowledge within the problem domain should be sufficiently large to
warrant the development of a knowledge-based system.
• ‘Tame’ experts who are agreeable to involvement.
However, any application that requires access to specialist knowledge is a
potential area for knowledge based systems technology.
2.4.5. Characteristics of a KBSs
•.5. High-quality performance.
•.6. No matter how fast the system can solve a problem, the user will not be
satisfied if the result is wrong!
•.7. On the other hand, the speed of reaching a solution is very important. Even
the most accurate decision or diagnosis may not be useful if it is too late to apply,
for instance, in an emergency, when a patient dies or a nuclear power plant
explodes.
•.8. KBSs apply heuristics to guide the reasoning and thus reduce the search area
for a solution.
•.9. A unique feature of a KBS is its explanation capability. It enables the system
to review its own reasoning and explain its decisions.
•.10. KBSs employ symbolic reasoning when solving a problem. Symbols are
used to represent different types of knowledge such as facts, concepts and rules.
•.11. We should be aware that an expert is only a human and thus can make
mistakes, and therefore, a KBS built to perform at a human expert level also
should be "allowed" to make mistakes.
•.12. In KBSs, knowledge is separated from its processing (knowledge base and
inference engine are split up). A conventional program is a mixture of knowledge
and the control structure to process this knowledge.
6
•.13. When an expert system shell is used, a knowledge engineer or an expert
simply enters rules in the knowledge base. Each new rule adds some new
knowledge and makes the KBS smarter. 2.4.6. KBS Comparison
2.5. Knowledge engineering
This refers to the process of developing knowledge-based systems.
•.14. Practitioners of Knowledge Engineering are called Knowledge Engineers.
•.15. Thus the development of a Knowledge based system should follow a
professional approach with respect to:
• qualifications,
personality, and
• attributes.
7
2.5.1. Process of Knowledge Engineering Consists
of five activities:
• Knowledge acquisition
• Knowledge Validation
• Knowledge Representation
• Inferencing and
• Explanation.
2.5.2. Tasks of knowledge engineers
• Extracting knowledge from people. (KA)
• Representing knowledge in some form. (KR)
• Including knowledge in a computer program which makes use of the
knowledge.
• Validating the software system produced.
2.6. Types of knowledge based systems
•.16. In general, knowledge based systems are classified according to the human
behavior they attempt to mimic. On the basis of this, we have:
•.17. Expert Systems: They model the higher order cognitive functions of the
human mind They are used to mimic the decision making process of the human
mind.
•.18. Neural Networks: They model the brain at the biological level They are
adept at pattern recognition and introduce the concept of learning into computing.
•.19. Case Based Reasoning: Models the human ability to learn from past
experience They borrow from the legal system where past cases are used as a
basis for making decisions in the present cases.
8
•.20. Fuzzy Logic systems: Provide mechanisms for handling uncertain
knowledge
2.7. Knowledge acquisition
•.21. Knowledge acquisition is the process of extracting knowledge (facts,
procedures, rules) from human experts, books, documents, sensors or computer
files and converting it into a form that can be stored and manipulated by the
computer for purposes of problem solving.
•.22. It occurs throughout the entire development process for a KBS.
2.7.1. Acquiring Knowledge
•.23. The important characteristics of knowledge are that it is experiential,
descriptive, qualitative, largely undocumented and constantly changing.
•.24. There are certain domains where all these properties are found and some
where there are only a few.
•.25. The lack of documentation and the fact that experts carry a lot of
information in their heads, makes it difficult to gain access to their knowledge for
developing information systems in general and expert systems in particular.
•.26. Therefore, knowledge engineers have devised specialized techniques to
extract and document this information in an efficient and expedient manner.
9
2.7.2. Knowledge Acquisition Process
•.27. Identification: Identify the problem including data, criteria for solutions to meet, available
resources, etc.
•.28. Conceptualization: Determine the key concepts and relationships by characterizing the data,
flow of information, the domain structure, etc.
•.29. Formalization: Understand the underlying search space, uncertainty issues, etc.
•.30. Implementation: Translate acquired knowledge into the program.
•.31. Testing: Validate and verify.
2.7.3. Knowledge elicitation
•.32. It implies that knowledge acquisition is accomplished from a human expert.
•.33. Interaction between the expert and a program or knowledge engineer where the purpose
of the program is to:
• Elicit knowledge in a systematic way,
• Store such knowledge in some representation, and
10
• Compile the represented knowledge into a runnable program.
• Sources of Knowledge
• The Knowledge Engineer acquires knowledge from a number of sources:
• Written sources, such as books, manuals, standard procedures- An important source of
knowledge at the start, when the knowledge engineer learns the vocabularies and general
topics of the domain.
• Experts
• Observations of the actual process
• Expertise of a procedural nature, in which a sequence of tasks is performed, direct
observation of the operation also can provide input to the knowledge base.
• Experts make decisions based on an abstract and intellectual process that even experts
themselves have difficulty understanding and verbalizing. The knowledge engineer
should elicit knowledge from the expert by helping the expert to discover and
communicate this process, using a host of knowledge acquisition methods.
• Methods of Knowledge Elicitation
• Face to face interview with experts – knowledge engineers interview the experts.
• Protocol analysis – This is a documentation of how the expert behaves and processes
information during problem solving. Usually the experts think aloud. Observation – The
experts are observed at work.
• Questionnaires –This is where questions are sent to experts for responses.
• Analysis of documented knowledge – It involves extraction of knowledge from sources
such as books, journals, articles, magazines, mass media materials.
• Rule induction (computer aided knowledge acquisition) – rule induction can be viewed as
a system that accepts examples and develops classification rules.
2.7.4. Issues with Knowledge Acquisition (Problems)
• Machine representation is lower in form than human usage of knowledge;
• Many participants are involved and they have varied backgrounds causing communication
challenges
11
• Experts may not express their knowledge.
• Mismatch between the way experts hold their knowledge and the way computers
represent knowledge.
2.7.5. Characteristics of Knowledge Acquisition
• Knowledge acquisition is a labour and time intensive process.
• Currently knowledge bases for knowledge based systems are crafted by hand, this is a
severe limitation on the rapid deployment of such systems.
• Biggest ‘bottleneck’ in system development.
• Most expensive part (money, time & labour).
• Automating KA the ultimate goal.
2.8. Players in the Development Team
There are five members of the KBS development team:
• the domain expert
• the knowledge engineer
• the programmer • the project manager
• the end-user.
The success of their KBS entirely depends on how well the members work together.
2.8.1. Domain Expert
• The domain expert is a knowledgeable and skilled person capable of solving problems in
a specific area or domain.
• This person has the greatest expertise in a given domain.
• This expertise is to be captured in the KBS.
• Therefore, the expert must:
12
– be able to communicate his or her knowledge – be willing to
participate in the expert system development – commit a substantial
amount of time to the project.
• The domain expert is the most important player in the KBS development team.
2.8.2. Knowledge Engineer
•.1. The knowledge engineer is someone who is capable of designing, building and testing a
KBS.
•.2. The knowledge engineer’s main tasks are:
• interviews the domain expert to find out how a particular problem is solved.
• establishes what reasoning methods the expert uses to handle facts and rules and decides
how to represent them in the expert system.
• chooses some development software or an expert system shell, or looks at programming
languages for encoding the knowledge.
• responsible for testing, revising and integrating the expert system into the workplace.
2.8.3. Programmer
•.3. The programmer is the person responsible for the actual programming, describing the
domain knowledge in terms that a computer can understand.
•.4. The programmer needs to have skills in symbolic programming in such AI languages as
LISP, Prolog and OPS5 and also some experience in the application of different types of
expert system shells.
•.5. In addition, the programmer should know conventional programming languages like Java,
C, Pascal, FORTRAN and Basic.
2.8.4. Project Manager
•.6. The project manager is the leader of the KBS development team, responsible for keeping
the project on track.
13
•.7. The project manager makes sure that all deliverable and milestones are met, interacts with
the expert, knowledge engineer, programmer and end-user.
2.8.5. End-User
•.8. The end-user, often called just the user, is a person who uses the KBS when it is
developed.
•.9. The user must not only be confident in the KBS performance but also feel comfortable using
it.
•.10. Therefore, the design of the user interface of the KBS is also vital for the project’s success;
the end-user’s contribution here can be crucial.
Example . What is knowledge acquisition?
Solution:
Knowledge acquisition is the process of extracting knowledge (facts, procedures, rules)
from human experts, books, documents, sensors or computer files and converting it into a
form that can be stored and manipulated by the computer for purposes of problem solving.
EXERCISE 2. Describe the issues in knowledge acquisition.
.
Learning Activities/assignments
• Explain how you may acquire knowledge to build a system
• Discuss ways of acquiring knowledge.
• Discuss problems associated with knowledge acquisition.
14