0% found this document useful (0 votes)
1 views

Lecture 2-Understanding Knowledge Based Systems

Uploaded by

david.kaje
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views

Lecture 2-Understanding Knowledge Based Systems

Uploaded by

david.kaje
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

CCS 3400 Knowledge Based Systems Kaje David Murithi

Meru University of Science and


Technology School of Computing
and Informatics Department of
Information Technology

LECTURE 2
Understanding kbs

2.1. Problem Solving Techniques in AI

Recall, typical problem solving (and hence many AI) tasks can be
commonly re- duced 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 perfor-
mance.
1
CCS 3400 Knowledge Based Systems Kaje David Murithi

• 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 do-
main.

2
CCS 3400 Knowledge Based Systems Kaje David Murithi

2.3. KBS-Tasks

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 do-


main. 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 do-
main. 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. math-


ematical laws, logical statements.

• Posteriori Knowledge

– Represents knowledge that is verified using sensory experiences. Such


3
CCS 3400 Knowledge Based Systems Kaje David Murithi

knowledge can be denied based on new knowledge without the need for
contradictions.

4
CCS 3400 Knowledge Based Systems Kaje David Murithi

• Criteria 2
• Procedural (Compiled) Knowledge

– Considers the manner in which things work under different sets of cir-
cumstances. Includes step-by-step sequences and how-to types of in-
structions; 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 knowl-


edge 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 knowledge-


based system.
– The kernel is in turn composed of three main components:

* Knowledge base (KB)


* Reasoning mechanism-inference engine.
5
CCS 3400 Knowledge Based Systems Kaje David Murithi

* Working memory

6
CCS 3400 Knowledge Based Systems Kaje David Murithi

• Peripheral Part This provides additional functions necessary for a practical


and effective use of the knowledge based system e.g. user interface, explana-
tion 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.
7
CCS 3400 Knowledge Based Systems Kaje David Murithi

•.1. The database/working memory includes a set of facts used to match against
the IF (condition) parts of rules stored in the knowledge base.

8
CCS 3400 Knowledge Based Systems Kaje David Murithi

The inference engine carries out the reasoning whereby the KBS reaches
a solu- tion. 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 conclu- sion 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


implemen- tation. 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

9
CCS 3400 Knowledge Based Systems Kaje David Murithi

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

10
CCS 3400 Knowledge Based Systems Kaje David Murithi

• 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
CCS 3400 Knowledge Based Systems Kaje David Murithi

•.11. We should be aware that an expert is only a human and thus can
make mis- takes, and therefore, a KBS built to perform at a human expert
level also should be "allowed" to make mistakes.

12
CCS 3400 Knowledge Based Systems Kaje David Murithi

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

•.13. When an expert system shell is used, a knowledge engineer or an


expert sim- ply 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.

13
CCS 3400 Knowledge Based Systems Kaje David Murithi

•.15. Thus the development of a Knowledge based system should follow


a profes- sional approach with respect to:

• qualifications,

14
CCS 3400 Knowledge Based Systems Kaje David Murithi

• personality, and

• attributes.

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 knowl-


edge.

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

15
CCS 3400 Knowledge Based Systems Kaje David Murithi

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

16
CCS 3400 Knowledge Based Systems Kaje David Murithi

•.19. Case Based Reasoning: Models the human ability to learn from
past expe- rience They borrow from the legal system where past cases are
used as a basis for making decisions in the present cases.

•.20. Fuzzy Logic systems: Provide mechanisms for handling uncertain knowl-
edge

2.7. Knowledge acquisition

•.21. Knowledge acquisition is the process of extracting knowledge (facts, proce-


dures, 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,


descrip- tive, 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 ex- tract and document this information in an efficient and expedient
manner.
17
CCS 3400 Knowledge Based Systems Kaje David Murithi

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 char- acterizing 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.


18
CCS 3400 Knowledge Based Systems Kaje David Murithi

•.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,

19
CCS 3400 Knowledge Based Systems Kaje David Murithi

• Store such knowledge in some representation, and

• 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 knowl-
edge engineer should elicit knowledge from the expert by helping the expert
to discover and communicate this process, using a host of knowledge acqui-
sition methods.

• Methods of Knowledge Elicitation


• Face to face interview with experts – knowledge engineers interview the ex-
perts.

• 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


20
CCS 3400 Knowledge Based Systems Kaje David Murithi

from sources such as books, journals, articles, magazines, mass media mate-
rials.

21
CCS 3400 Knowledge Based Systems Kaje David Murithi

• 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

• Experts may not express their knowledge.

• Mismatch between the way experts hold their knowledge and the way com-
puters 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.
22
CCS 3400 Knowledge Based Systems Kaje David Murithi

The success of their KBS entirely depends on how well the members work together.

23
CCS 3400 Knowledge Based Systems Kaje David Murithi

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:

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

24
CCS 3400 Knowledge Based Systems Kaje David Murithi

2.8.3. Programmer

•.3. The programmer is the person responsible for the actual


programming, describ- ing the domain knowledge in terms that a
computer can understand.

25
CCS 3400 Knowledge Based Systems Kaje David Murithi

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

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

26
CCS 3400 Knowledge Based Systems Kaje David Murithi

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 con- verting it into a form that can be stored and
manipulated by the computer for pur- poses of problem solving.

E XERCISE 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.

27

You might also like