43
Knowledge Base Systems production rule representation.

Knowledge Base Systems production rule representation

  • View
    221

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Knowledge Base Systems production rule representation

Knowledge Base Systems

production rule representation.

Page 2: Knowledge Base Systems production rule representation

Production Systems

Introduction• These are a form of knowledge representation

which have found widespread application in AI particularly in the area of Expert Systems.

Production systems consist of three parts:• a) A rule base consisting of a set of production

rules.• b) the data• c) an interpreter which controls the systems

activity.

Page 3: Knowledge Base Systems production rule representation

Production Rules

• A production rule can be thought of as a condition action pair. They take the form

• IF condition holds THEN do action e.g.

• IF traffic light is red THEN stop car.

Page 4: Knowledge Base Systems production rule representation

Firing Production Rules

• A production rule whose conditions are satisfied can fire, i.e. the associated actions can be performed.

• Conditions are satisfied or not according to what data is currently available.

• Existing data may be modified as production rules are fired. Changes in data can lead to new conditions being satisfied.

• New production rules may then be fired.

Page 5: Knowledge Base Systems production rule representation

• The decision which production rule to fire next is taken by a program known as the interpreter.

• The interpreter therefore controls the systems decisions and actions and must know how to do this.

Page 6: Knowledge Base Systems production rule representation

Production Systems

• Production systems were first proposed in 1943 by Post.

• Present day systems however bear little resemblance to those earlier ones.

• Newell and Simon in 1972 used the idea of production systems for their models of human cognition and AI in general has found widespread use for them.

Page 7: Knowledge Base Systems production rule representation

Suitable Domains

• Davis and King (1977) proposed the following criteria for problem domains where productions rules are suitable.

• 1: Domains in which knowledge is diffuse, consisting of many different strands of knowledge rather than some domain which is based on a unified theory like Physics.

• 2: Domains in which processes cane be represented as a set of independent actions as opposed to domains with dependent subprocesses.

• 3: Domains in which knowledge can be easily separated from the manner in which it is to be used as opposed to cases where representation and control are merged.

Page 8: Knowledge Base Systems production rule representation

Knowledge Base Systems

• Knowledge Base systems are intended to perform tasks which require some specialized knowledge and reasoning.

• Medical diagnosis, geological analysis, and chemical compound identification are examples of tasks to which Knowledge Base systems have been applied.

Page 9: Knowledge Base Systems production rule representation

Expert Systems

• Knowledge Base systems are often called expert systems because the problems in their application domain are usually solved by human experts.

• For example medical diagnosis is usually performed by a doctor.

Page 10: Knowledge Base Systems production rule representation

Parts of a Knowledge Base System

• Knowledge Base systems consist of Four major parts;

• The Knowledge Base,

• The Inference Engine

• The User Interface and

• The Explainer

• Knowledge Acquisition Module

Page 11: Knowledge Base Systems production rule representation

Inference Engine

AgendaKnowledge Base

(rules)

ExplanationFacility

User Interface

KnowledgeAcquisition

Facility

Working Memory (facts)

Page 12: Knowledge Base Systems production rule representation

• The knowledge to which the Knowledge Base system has access, is stored in the Knowledge Base, (hence the name).

• The Inference Engine is the part of a Knowledge Base system which is responsible for using its knowledge in a productive way.

• The Knowledge Base system's reasoning mechanisms are built into the Inference Engine. Most Knowledge Base systems employ deductive reasoning mechanisms.

Page 13: Knowledge Base Systems production rule representation

• The Knowledge Base system communicates with the user through the User Interface.

• In many applications the Knowledge Base system is required to explain its reasoning to the user. This is particularly true in situations such as the identification of chemical structures where new results must be verified.

• The Explainer is that part of the Expert System which provides explanation and verification

Page 14: Knowledge Base Systems production rule representation

• Knowledge Acquisition Modules• These help with acquiring the systems

knowledge.• They do a variety of tasks for example in some

systems they provide system analysis facilities similar to those of database development tools

• Mostly they help encode the knowledge from a high level format into a computer usable representation.

Page 15: Knowledge Base Systems production rule representation

System Architecture

Page 16: Knowledge Base Systems production rule representation

Inference Engine

AgendaKnowledge Base

(rules)

ExplanationFacility

User Interface

KnowledgeAcquisition

Facility

Working Memory (facts)

Page 17: Knowledge Base Systems production rule representation

• Obviously the knowledge to which a Knowledge Base system has access is no good to it, if it cannot use it to solve the problems in the application domain.

• Therefore the systems knowledge must be represented in a form which can be manipulated by the reasoning mechanisms of the Inference Engine.

Page 18: Knowledge Base Systems production rule representation

• While the Knowledge Base, the IE and the User Interface are essential components, in many Knowledge Base systems there are also facilities to help in the acquisition of new knowledge.

• Teiresias, [DAVIS '76], which is used in association with MYCIN, [Shortliffe '76, Davis '76] is an example of such a system.

• It elicits high level information from the user which it converts into structured knowledge for its Knowledge Base. It also performs consistency checks on the updated knowledge base.

• The ability to acquire new knowledge is important since the amount of knowledge to which a system has access determines the range of problems which it can solve.

Page 19: Knowledge Base Systems production rule representation

Applications of Knowledge Base systems

• Knowledge Base systems have been applied to many diverse problem domains, such as the following.

• Diagnostic Aids such as MYCIN, [Shortliffe '76, Davis '76], which diagnoses bacterial blood infections and PUFF, [Kunz et al '78], which diagnose pulmonary disorders.

• MYCIN was a joint venture between Dept. of Computer Science and the Medical School of Stanford University.

• Much of the work took place in the 1970's.• Mycin was designed to solve the problem of diagnosing

and recommending treatments for meningitis and bacteremia, (blood infections).

Page 20: Knowledge Base Systems production rule representation

• Aids to Design and Manufacture such as R1, [McDermott '82], which configures computers.

• Teaching Aids such as SCHOLAR [Carbonell '70] which gives Geography Tutorials and SOPHIE, [Brown et al '82], which teaches how to detect breakdown in electrical circuits.

• Problem Solving

Page 21: Knowledge Base Systems production rule representation

• Recognition of forms, e.g. DENDRAL, [Buchanan and Feigenbaum '78, Lindsay et al '80], which recognizes the structures of chemical compounds.

• Robotics e.g. SHDRLU, [Winograd '73], which manipulates polygons in a restricted environment.

• Game playing systems such as Waterman's Poker Player, [Waterman '70], and

Page 22: Knowledge Base Systems production rule representation

• Automatic theorem Provers such as AM, [Lenat '82].

• [Hayes-Roth et al '83, Handbook A.I. '82, Waterman '86], describe some more categories than those mentioned above. These include Planning systems such as NOAH, [Sacerdoti '75] and MOLGEN, [Friedland '75] and

• Prediction systems such as Political Forecasting Systems, [Schrodt '86] based on the Holland Classifier, [Holland '86].

Page 23: Knowledge Base Systems production rule representation

Rule-Based Expert Systems

Work with

• a set of facts describing the current world state

• a set of rules describing the expert knowledge

• inference mechanisms for combining facts and rules in reasoning

Page 24: Knowledge Base Systems production rule representation

Architecture of Rule-Based XPS 1

Knowledge-Base / Rule-Base• stores expert knowledge as “condition-action-rules”

(or: if-then- or premise-consequence-rules) • objects or frame structures are often used to

represent concepts in the domain of expertise, e.g. “club” in the golf domain.

Working Memory• stores initial facts and generated facts derived by the

inference engine • additional parameters like the “degree of trust” in the

truth of a fact or a rule ( certainty factors) or probabilistic measurements can be added

Page 25: Knowledge Base Systems production rule representation

Knowledge Engineering

• Knowledge engineering is a general term for the processes involved in building expert systems: planning, knowledge acquisition, system building,system installation, system maintenance.

• In the following notes "KE" stands for knowledge engineer, and "DE" stands for domain expert.

Page 26: Knowledge Base Systems production rule representation

Architecture of Rule-Based Systems

Inference Engine• matches condition-part of rules against facts

stored in Working Memory (pattern matching); • rules with satisfied condition are active rules and

are placed on the agenda; • among the active rules on the agenda, one is

selected (see conflict resolution, priorities of rules) as next rule for execution (“firing”) – consequence of rule can add new facts to Working Memory, modify facts, retract facts, and more

Page 27: Knowledge Base Systems production rule representation

Rule-Based Systems- Example ‘Grades’ -

Rules to determine ‘grade’

1. If study then get good_grade

2. If do not_study then get bad_grade

3. If sun_shines THEN go_out

4. If go_out then do not_study

5. If stay_home then study

6. If awful_weather then stay_home

Page 28: Knowledge Base Systems production rule representation

Questions

• Ask the following questions of the expert System

• Q1: If the weather is awful, do you get a good or bad grade?

• Q2: When do you get a good grade?

Page 29: Knowledge Base Systems production rule representation

• forward reasoning rule chain• given fact: awful_weather 6,5,1• backward reasoning hypothesis/goal: good_grade 1,5,6

• Answer Question 1 Good Grade• Exercise Answer question 2 with forward

and backward chaining

Page 30: Knowledge Base Systems production rule representation

Explaining

• Note we presented a rule chain when we solved this problem.

• If we asked How do you know we get a good grade in awful weather we can say that

• By rule 6 if the weather is awful stay at home• By rule 5 If stay at home then you will study• And finally By rule 1 if you study you get a good

grade

Page 31: Knowledge Base Systems production rule representation

In other words

• In order to explain how we arrive at a solution we list the chain of rules that were fired on rout to this conclusion.

• This is the basis of expert system explainers

Page 32: Knowledge Base Systems production rule representation

Knowledge Acquisition

• Obtaining knowledge for use in the knowledge base of an expert system.

Page 33: Knowledge Base Systems production rule representation

Sources of knowledge:

Documents: textbooks, journal articles, technical reports, case histories, etc.

• This will almost never be sufficient to provide the knowledge base for a real-world expert system.

• The range of problems which a textbook examines and solves is always smaller than the range of problems that a human expert is master of.

Page 34: Knowledge Base Systems production rule representation

Knowledge Analysis

• Simultaneously with the knowledge acquisition process, a knowledge analysis process takes place.

• The KE uses the data from the knowledge acquisition sessions to build a good model of the expertise that the DE is using to solve problems in the domain. This may or not rely heavily on building a prototype - see below.

Page 35: Knowledge Base Systems production rule representation

Knowledge Elicitation

• The most important branch of knowledge acquisition is knowledge elicitation - obtaining knowledge from a human expert (or human experts) for use in an expert system.

• Knowledge elicitation is difficult. This is the principle reason why expert systems have not become more widespread - the knowledge elicitation bottleneck.

• It is necessary to find out what the expert(s) know, and how they use their knowledge..

Page 36: Knowledge Base Systems production rule representation

Human experts

• Expert knowledge includes:

• domain-related facts & principles;

• modes of reasoning;

• reasoning strategies;

• explanations and justifications.

Page 37: Knowledge Base Systems production rule representation

Knowledge elicitation and experts

• The knowledge elicitation (and analysis) task involves: Finding at least one expert in the domain who:

is willing to provide his/her knowledge; has the time to provide his/her knowledge; is able to provide his/her knowledge.• Repeated interviews with the expert(s), plus task

analysis, concept sorting, etc, etc..

• Knowledge structuring: converting the raw data (taken from the expert) into intermediate representations, prior to building a working system.

Page 38: Knowledge Base Systems production rule representation

Knowledge Elicitation continued

• Building a model of the knowledge derived from the expert, for the expert to criticise. From then on, the development proceeds by stepwise refinement.

• One major obstacle to knowledge elicitation: experts cannot easily describe all they know about their subject.

• They do not necessarily have much insight into the methods they use to solve problems.

• Their knowledge is "compiled" (c.f. a compiled computer program – fast & efficient, but unreadable).

Page 39: Knowledge Base Systems production rule representation

Techniques used in Knowledge Elicitation

Various different forms of interview:• Unstructured. A general discussion of the domain,

designed to provide a list of topics and concepts.• Structured. Concerned with a particular concept within

the domain.

Problem-solving. The expert is provided with a real-life problem, of a kind

that they deal with during their working life, and asked to solve it. As they do so, they are required to describe each step, and their reasons for doing what they do. The transcript of their verbal account is called a protocol.

Page 40: Knowledge Base Systems production rule representation

Think-aloud. As above, but the expert merely imagines that they are solving the problem presented to them, rather than actually doing it. Once again, they describe the steps involved in solving the problem.

Dialogue. The expert interacts with a client, in the way that

they would normally do during their normal work routine.

Page 41: Knowledge Base Systems production rule representation

Review.

It is standard practice to tape record KE sessions. However, KEs should be aware of the costs this involves, in time and money.

The KE and DE examine the record of on of the sessions described above, together.

Page 42: Knowledge Base Systems production rule representation

More Methods

• Sample lecture preparation. The expert prepares a lecture, and the KE analyses its content.

• Concept sorting ("card sort").• Questionnaires. Especially useful when

the knowledge is to be elicited from several different experts.

• Repertory grid (particularly the "laddered grid" technique).

Page 43: Knowledge Base Systems production rule representation

Computerised knowledge elicitation.

• The state of the art in AI (especially NLP) is not sufficiently advanced to permit fully-automated knowledge elicitation.

• However, 'knowledge elicitation workbenches', or 'knowledge engineering environments', are commercially available (e.g KEE, KnAcqTools); their principle use is to simplify the task of converting a protocol into frames, rules, etc., and inserting these structures into an expert system shell as soon as they are formulated.