24
Chapter 3 Developing Knowledge-Based Systems (Knowledge-Based Systems; R Akerkar, P Sajja) Prepared By: Ashique Rasool

Developing Knowledge-Based Systems

Embed Size (px)

DESCRIPTION

Knowledge-Based Systems, Akerkar and Priti Sajja, Chapter 3

Citation preview

Page 1: Developing Knowledge-Based Systems

Chapter 3Developing Knowledge-Based Systems

(Knowledge-Based Systems; R Akerkar, P Sajja)

Prepared By: Ashique Rasool

Page 2: Developing Knowledge-Based Systems

Prepared By: Ashique Rasool

Nature Of Knowledge-Based SystemsQuite different from other computer based

information systemsDeals with knowledge and works at an

unstructured levelCan justify there decision and have the ability

to learn

Page 3: Developing Knowledge-Based Systems

Prepared By: Ashique Rasool

Difficulties in KBS DevelopmentHigh cost and effortDealing with experts

Experts are often rare so it is difficult to meet them and take knowledge for the system

The nature of knowledgeAs the knowledge is specific to the domain, it can not be shared without the presence of expert even the knowledge is available

The level of riskIt is some how risky because the development cost is very high and the cost goes higher and higher in maintaining these systems

Page 4: Developing Knowledge-Based Systems

Prepared By: Ashique Rasool

KBS Development Model

Page 5: Developing Knowledge-Based Systems

Prepared By: Ashique Rasool

KBS Development ModelThis Development model is based on the

system life cycle. The major stages of this model are:Elicitation of feasible requirementsStrategy Selection and Overall Design of KBSOntology Selection and knowledge

representationSystem Development and ImplementationTesting, Implementation and TrainingKnowledge Acquisition

In the figure development round one just gives a prototype and round two gives complete system development.

Page 6: Developing Knowledge-Based Systems

Prepared By: Ashique Rasool

Knowledge AquisitionActivities in Knowledge Acquisition

Page 7: Developing Knowledge-Based Systems

Prepared By: Ashique Rasool

Knowledge Acquisition…Knowledge Eliciation

The knowledge acquisition process in which the domain expert is the only source of knowledge

Steps Of Knowledge AcquisitionStep I : Find suitable expert and knowledge

engineerStep II : Proper homework and planningStep III : Interpreting and understanding the

knowledge provided by the expertsStep IV : Representing the knowledge provided

by the experts

Page 8: Developing Knowledge-Based Systems

Prepared By: Ashique Rasool

Techniques for Knowledge AcquisitionLiterature reviewInterview and protocol analysis

Protocol analysis is a kind of interview in which the domain expert is asked not only to solve the problem but also to think aloud while doing so.

Surveys and Questionnaires Useful in gather quantitative factual knowledge (explicit knowledge)

ObservationsObserving experts in a live environment gives a better picture of the solution strategy

Diagram-Based TechniquesProcess-flow diagram, conceptual maps, event and state charts

Generating PrototypesConcept sorting

Page 9: Developing Knowledge-Based Systems

Concept SortingIt is a psychological technique that is useful in

tapping an organization's knowledge.Steps of Concept Sorting

1. Consider a textbook or ask domain expert for the basic concepts and standards of the domain and codify each major concept in separate cards

2. Arrange these cards into various groups according to their use

3. Ask question to the domain expert regarding the order and placement of the concept cards

4. Steps 2 & 3 are repeated until the expert is finished answering questions or sufficient knowledge is acquired

5. If the expert runs out of knowledge then the enginer takes any three cards and ask the relationship.

Prepared By: Ashique Rasool

Page 10: Developing Knowledge-Based Systems

Sharing KnowledgeExperts can share meaningful outcomes of their

learning process to enrich and generalize their knowledge. Following are the methods for knowledge sharing:

Problem SolvingTalking and story tellingSupervisory style

Prepared By: Ashique Rasool

Page 11: Developing Knowledge-Based Systems

Issues with Knowledge AcquisitionMost knowledge rests with experts so can

not be extracted directlyContinuously changing nature of

knowledgeDifficult to prepare the experts for

knowledge acquisition processSometimes the knowledge are

subcontiousAn expert is not always correctNo single expert know everythingOpinions among multiple experts may

differ significantlyPrepared By: Ashique Rasool

Page 12: Developing Knowledge-Based Systems

Updating knowledgeThe knowledge base in a KBS undergoes

continuous updating. Following are the three means by which updates can be made

Self-Updating:The system learns from the cases it handles(self learning)

Manual updates by knowledge engineer

Manual Updates by expertsPrepared By: Ashique Rasool

Page 13: Developing Knowledge-Based Systems

Knowledge RepresentationKnowledge components should be

represented in such a way that the operations storage, retrieval, inference and reasoning are facilitated without disturbing the required characteristics of knowledge

Knowledge Structure:

Prepared By: Ashique Rasool

Page 14: Developing Knowledge-Based Systems

Characteristics of efficient knowledge representation facility

It should be able to represent the given knowledge to a sufficient depth

Should preserve the fundamental characteristics of knowledge(complete, accessible, consistent etc).

Should be able to infer new knowledgeShould be able to provide reasoning and

explanationShould be able to store updates and

support incremental developmentShould be independent enough to be

reusedPrepared By: Ashique Rasool

Page 15: Developing Knowledge-Based Systems

Types Of KnowledgeKnowledge representation is broadly

classified in two categories

Factual Knowledge RepresentationConstantsVariablesFunctionsPredicatesWell-formed FormulasFirst Order Logic

Procedural Knowledge Representation

Prepared By: Ashique Rasool

Page 16: Developing Knowledge-Based Systems

Factual Knowledge RepresentationFactual knowledge are known as formal knowledge

and can be represented using first order logic supporting constants, variables functions and predicates

Constants: Those symbols that don’t change, represent fixed knowledge

Variables: Takes different values within a fixed domain

Functions: Set of instructions that carry out process and return a predefined value

Predicates: Special functions that return only Boolean value

Well-Formed Formulas: String of symbols that is generated by a formal language Prepared By: Ashique Rasool

Page 17: Developing Knowledge-Based Systems

Factual Knowledge RepresentationFirst Order Logic: Generated by combining

predicate logic and propositional logic.

ExamplesConstants: Mohammad, Salem etc.Variables: ManFunctions: Elder(Mohammad, Salem) returns

valuePredicates: Mortal(Salem) returns Boolean

valueWell-Formed Formulas: If you don’t

exercise you will gain weight. Represented as ∀x[{Human(x) ^ ~ ∃Exercise(x)} => Gain_Weight(x)]Prepared By: Ashique Rasool

Page 18: Developing Knowledge-Based Systems

Representing Procedural KnowledgeProcedural knowledge represents how to reach a

solution in a given situation. Examples of procedural knowledge are:

Production Rules: Knowledge is represented as a sequence of condition and the appropriate actions If<condition>, then <action>Rules are simple and easy to understand, implement and modify. Large number of rules are required to solve simple problems. This large volume creates problem in documenting and encoding into the knowledgebase.

Deduction process works as follows:Knowledge in the form of facts and rulesNew facts are addedCombining the new facts with existing facts and

rule

Prepared By: Ashique Rasool

Page 19: Developing Knowledge-Based Systems

Representing Procedural KnowledgeSemantic Networks: Graphical description of

knowledge composed of nodes (objects or concepts) and links that show hierarchical relationships. The links carries semantic information such as is-a, type-of, part-of etc.

Example:

Prepared By: Ashique Rasool

Page 20: Developing Knowledge-Based Systems

Representing Procedural KnowledgeFrames: Frames are the description of

conceptual and default knowledge about a given entity.

A frame organizes knowledge according to cause-and-effect relationships

The slots of a frame contains items like rules, facts, videos, references etc.

It also contains pointers to other frames or procedures.

A slot is further divided into facets. A facet may be any of the followingExplicit or default valuesA range of valuesAn if-added type of

procedural attachment.Prepared By: Ashique Rasool

Example:Name: Power bikeBroad Category: Land vehicleSub Category:GearlessCost: $350Capacity: Two personsSpeed: 160 km/hour

Page 21: Developing Knowledge-Based Systems

Representing Procedural KnowledgeA frame based interpreter must be capable of the

following:

Check for a slot value that is correct and within specified range

Dissemination of definition valuesInheritance of default valuesComputation of the value of a slot as requiredChecking whether the correct values has been

computed

Prepared By: Ashique Rasool

Page 22: Developing Knowledge-Based Systems

Representing Procedural KnowledgeScripts: Script is a knowledge representation

structure for a specific situation.It contains slots such as objects, their roles,

entry and exit conditions and different scenes describing a process in detail.

Example:

Prepared By: Ashique Rasool

Page 23: Developing Knowledge-Based Systems

Representing Procedural KnowledgeHybrid Structures: It encorporates more than

one representation scheme.

Example:

Prepared By: Ashique Rasool

Page 24: Developing Knowledge-Based Systems

KBS Tools

PROLOG

LISP (List Processing)

AIML (Artificial Intelligence Modeling

Language)

MATLAB

JavaNNS (Java Neural Networks Simulator)

CLIPS (C Language Integrated Production

System)Prepared By: Ashique Rasool