+ All Categories
Home > Documents > ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 Intelligent Systems Topic 2: Expert Systems.

Date post: 05-Jan-2016
Category:
Upload: erik-lucas
View: 232 times
Download: 4 times
Share this document with a friend
Popular Tags:
41
ICT619 Intelligent ICT619 Intelligent Systems Systems Topic 2: Expert Topic 2: Expert Systems Systems
Transcript
Page 1: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 Intelligent SystemsICT619 Intelligent Systems

Topic 2: Expert SystemsTopic 2: Expert Systems

Page 2: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 22

Expert SystemsExpert SystemsPART APART A IntroductionIntroduction

Applications of expert systemsApplications of expert systems Structure of an expert systemStructure of an expert system An example rule baseAn example rule base Reasoning in a rule-based expert systemReasoning in a rule-based expert system Reasoning using forward and backward chainingReasoning using forward and backward chaining Dealing with uncertainty Dealing with uncertainty

PART BPART B Frame-based expert systemsFrame-based expert systems Developing expert systemsDeveloping expert systems Advantages and disadvantages of expert systemsAdvantages and disadvantages of expert systems Case studiesCase studies

Page 3: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 33

PART BPART B

Frame-based expert systems Frame-based expert systems Developing expert systems Developing expert systems Advantages and disadvantages of Advantages and disadvantages of

expert systemsexpert systems Case StudiesCase Studies

Page 4: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 44

Frame-based expert systems – what is Frame-based expert systems – what is a frame? (a frame? (Negnevitsky, 2005Negnevitsky, 2005))

A frame is a data structure with A frame is a data structure with typical knowledge about a typical knowledge about a particular object or concept. particular object or concept.

Frames were first proposed by Frames were first proposed by Marvin MinskyMarvin Minsky in the 1970s. in the 1970s.

Each frame has its own name Each frame has its own name and a set of and a set of attributesattributes associated with it. associated with it. CarrierCarrier, , NameName, , FlightFlight, , Date,Date, … … GateGate are slots in the frame are slots in the frame Boarding Boarding passpass..

Page 5: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 55

Frame-based expert systems – what is Frame-based expert systems – what is a frame? (a frame? (cont’dcont’d))

Frames provide a natural way for the structured and concise Frames provide a natural way for the structured and concise representation of knowledge.representation of knowledge.

Frames are an application of Frames are an application of object-oriented programmingobject-oriented programming for for

expert systems.expert systems.

A knowledge engineer refers to, what is an equivalent of an A knowledge engineer refers to, what is an equivalent of an objectobject

in object oriented programming, as a framein object oriented programming, as a frame

Page 6: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 66

Object-oriented ProgrammingObject-oriented Programming

Object-oriented programmingObject-oriented programming is a programming method that is a programming method that uses instances (known as objects) of different classes of entities uses instances (known as objects) of different classes of entities for problem solvingfor problem solving

A class in OOP defines an abstraction of entities with a common A class in OOP defines an abstraction of entities with a common set of characteristics (attributes) and behavioursset of characteristics (attributes) and behaviours

The simplest example of an attribute is a variable type such as a The simplest example of an attribute is a variable type such as a stringstring

Behaviours are represented by procedures applicable to objects Behaviours are represented by procedures applicable to objects of that class.of that class.

Page 7: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 77

Frames as a knowledge Frames as a knowledge representation techniquerepresentation technique

The concept of a frame is defined by a collection of The concept of a frame is defined by a collection of slotsslots. .

Each slot describes a particular attribute or operation of the frame. Each slot describes a particular attribute or operation of the frame.

Slots are used to store values. Slots are used to store values.

A slot may contain a default value or a pointer to another frame, a A slot may contain a default value or a pointer to another frame, a set of rules or procedure by which the slot value is obtained.set of rules or procedure by which the slot value is obtained.

Page 8: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 88

Classes and instancesClasses and instances

A group of similar objects belong to a classA group of similar objects belong to a class The word The word frameframe may refer to a particular object or instance of a class may refer to a particular object or instance of a class

To be more precise, a To be more precise, a class-frameclass-frame describes a group of objects with describes a group of objects with common attributes. common attributes.

Instance-frameInstance-frame refers to a particular object refers to a particular object- Animal, person, car and computer are all class-frames. - Animal, person, car and computer are all class-frames. - Mammal, Jane Doe, Toyota, Dell Inspiron are all instance-frames.- Mammal, Jane Doe, Toyota, Dell Inspiron are all instance-frames.

Frame-based systems are characterized by Frame-based systems are characterized by inheritanceinheritance.. Inheritance is the process by which all characteristics of a class-Inheritance is the process by which all characteristics of a class-

frame are assumed by an instance-frame as well as any sub-classes.frame are assumed by an instance-frame as well as any sub-classes.

Page 9: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 99

CLASS: Computer

[Str] Item Code:[Str] Model:[Str] Processor:[Str] Memory:[Str] Hard Drive:[Str] Floppy: [Default][Str] CD-ROM:[Str] Mouse:[Str] Keyboard:[Str] Power Supply: [Default][Str] Warranty: [Default][N] Cost:

[Str] Stock: [Initial]

3.5”; 1.44MB

145 Watt3 years

In stock

Computer classComputer class

Page 10: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 1010

Computer instancesComputer instances

INSTANCE: IBM Aptiva S35

Class: Computer[Str] Item Code: SY7973[Str] Model: IBM Aptiva S35[Str] Processor: Pentium 233MHz[Str] Memory: 48MB[Str] Hard Drive: 6.4GB[Str] Floppy: 3.5"; 1.44MB[Str] CD-ROM: 24X[Str] Mouse: Cordless Mouse[Str] Keyboard: 104-key[Str] Power Supply: 145 Watt[Str] Warranty: 3 years[N] Cost: 1199.99

[Str] Stock: In stock

INSTANCE: IBM Aptiva S9C

Class: Computer[Str] Item Code: SY7975[Str] Model: IBM S9C[Str] Processor: Pentium 200MHz[Str] Memory: 32MB[Str] Hard Drive: 4.2GB[Str] Floppy: 3.5"; 1.44MB[Str] CD-ROM: 16X[Str] Mouse: 2-button mouse[Str] Keyboard: 104-key[Str] Power Supply: 145 Watt[Str] Warranty: 3 years[N] Cost: 999.99

[Str] Stock: In stock

Page 11: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 1111

Methods and DemonsMethods and Demons

Expert systems are required not only to store the knowledge but Expert systems are required not only to store the knowledge but also to validate and manipulate this knowledge. also to validate and manipulate this knowledge.

To add actions to frames, aTo add actions to frames, a procedures is associated with a frame procedures is associated with a frame attribute that is executed whenever requested.attribute that is executed whenever requested.

Frame procedures are known as Frame procedures are known as methodsmethods and and demonsdemons

Demons are limited to IF-THEN statements, methods are more Demons are limited to IF-THEN statements, methods are more complex.complex.

Page 12: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 1212

Methods and Demons (cont’d)Methods and Demons (cont’d)

Most frame-based expert systems use two types of methods: Most frame-based expert systems use two types of methods: WHEN NEEDED WHEN NEEDED andand WHEN CHANGED WHEN CHANGED

A WHEN NEEDED method is executed when information A WHEN NEEDED method is executed when information associated with a particular attribute is needed for solving the associated with a particular attribute is needed for solving the problem, but the attribute value is undetermined.problem, but the attribute value is undetermined.

A WHEN CHANGED method is executed immediately when the A WHEN CHANGED method is executed immediately when the value of its attribute changes. value of its attribute changes.

The following simple example illustrates the use of WHEN The following simple example illustrates the use of WHEN CHANGED methods in a class at run-time.CHANGED methods in a class at run-time.

Page 13: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 1313

An ES to assist a loan officer in evaluating credit An ES to assist a loan officer in evaluating credit requests from small business venturesrequests from small business ventures

A credit request is to be classified into one of three categories, A credit request is to be classified into one of three categories, “Give credit”, “Deny credit” or “Consult a superior”. “Give credit”, “Deny credit” or “Consult a superior”.

When a loan officer provides a qualitative rating of the expected When a loan officer provides a qualitative rating of the expected yield from the loan, the expert system:yield from the loan, the expert system:1.1. Compares the business collateral with the amount of credit Compares the business collateral with the amount of credit

requestedrequested2.2. Evaluates a financial rating based on a weighted sum ofEvaluates a financial rating based on a weighted sum of

the business’s net worth to assetsthe business’s net worth to assets last year’s sales growthlast year’s sales growth gross profit on sales and gross profit on sales and short-term debt to sales short-term debt to sales

3.3. Determines a category for the credit request.Determines a category for the credit request.

Page 14: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 1414

Input display for the request selectionInput display for the request selectionCredit Evaluation Advisor

LastFirst

NextPrevious

No Applicant Name

CN002-98

CN003-98

CN001-98

Mr Black, N.

Mr Green, P.

Mr Clark, E.

CN001-98 Mrs White, J.

List of Requests

The Credit Evaluation Advisorhas determined the category ofthe credit request as

Give Credit

Exit

Requested credit

Currency deposit

Stocks

Mortgages

Net worth to assets

Last year’s sales growth

Gross profit on sales

Short-term debt to sales

Expected yeld

50000

50000

9000

12000

40

20

45

9

Excellent

Collateral

Financial rating

Excellent

Good

RestartHelp

Evaluate Credit

Page 15: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 1515

The class The class Action DataAction Data and WHEN CHANGED methods and WHEN CHANGED methodsCLASS: Action Data

[S] Goto Next: [WHEN CHANGED][S] Goto Previous: [WHEN CHANGED][S] Goto First: [WHEN CHANGED]

[S] Goto Last: [WHEN CHANGED]

INSTANCE: Action Data 1

Class: Action Data[S] Goto Next: TRUE

[S] Goto Previous: UNDETERMINED

[S] Goto First: UNDETERMINED

[S] Goto Last: UNDETERMINED

WHEN CHANGED BEGIN Current Request Number := Request Number OF Request FIND Request LIMIT 1 WHERE Request Number OF Request > Current Request Number FIND END END

WHEN CHANGED BEGIN Target Request Number := Request Number OF Request - 1 IF Target Request Number > 0 THEN BEGIN FIND Request LIMIT 1 WHERE Request Number OF Request = Target Request Number FIND END ENDEND

WHEN CHANGED BEGIN FIND Request LIMIT 1 FIND END END

WHEN CHANGED BEGIN Target Request Number := Total Number of Requests FIND Request LIMIT 1 WHERE Request Number OF Request = Target Request Number FIND END END

Page 16: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 1616

Class Class RequestRequestCLASS: Request

[Str] Applicant’s name:[Str] Application no.:[N] Requested credit:[N] Currency deposits:[N] Stocks:[N] Mortgages:[N] Net worth to assets:[N] Last year's sales growth:[N] Gross profits on sales:[N] Short-term debt to sales:[C] Expected yield

Excellent:Reasonable:Poor:

[N] Request Number:

Page 17: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 1717

Instances of the Class Instances of the Class RequestRequestINSTANCE: Request 1

Class: Request[Str] Applicant’s name: Mrs White, J.[Str] Application no.: CN001-98[N] Requested credit: 50000[N] Currency deposits: 50000[N] Stocks: 9000[N] Mortgages: 12000[N] Net worth to assets: 40[N] Last year's sales growth: 20[N] Gross profits on sales: 45[N] Short-term debt to sales: 9[C] Expected yield

Excellent: TRUEReasonable: FALSEPoor: FALSE

[N] Request Number: 1

INSTANCE: Request 2

Class: Request[Str] Applicant’s name: Mr Black, N.[Str] Application no.: CN002-98[N] Requested credit: 75000[N] Currency deposits: 45000[N] Stocks: 10000[N] Mortgages: 20000[N] Net worth to assets: 45[N] Last year's sales growth: 25[N] Gross profits on sales: 35[N] Short-term debt to sales: 10[C] Expected yield

Excellent: FALSEReasonable: TRUEPoor: FALSE

[N] Request Number: 2

Page 18: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 1818

Inference in a frame-based systemInference in a frame-based system

Most frame-based expert systems allow the use of a set of rules to Most frame-based expert systems allow the use of a set of rules to evaluate information contained in frames.evaluate information contained in frames.

Similar to a goal-driven rule-based system, the inference engine in Similar to a goal-driven rule-based system, the inference engine in a frame-based system also searches for the goal. a frame-based system also searches for the goal.

But rules in such a system play an auxiliary role. But rules in such a system play an auxiliary role.

Frames represent here a major source of knowledge, and both Frames represent here a major source of knowledge, and both methods and demons are used to add actions to the frames. methods and demons are used to add actions to the frames.

Thus, the goal in a frame-based system can be established either Thus, the goal in a frame-based system can be established either in a method or in a demon.in a method or in a demon.

Page 19: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 1919

Example: EExample: Evaluation of cvaluation of credit requestredit request

The expert system is expected to begin the evaluation The expert system is expected to begin the evaluation when the user clicks the Evaluate Credit pushbutton on when the user clicks the Evaluate Credit pushbutton on the input display.the input display.

This pushbutton is attached to the attribute This pushbutton is attached to the attribute Evaluate Evaluate CreditCredit of the class of the class Credit EvaluationCredit Evaluation..

Page 20: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 2020

The The CreditCredit EvaluationEvaluation class, WHEN CHANGED class, WHEN CHANGED and WHEN NEEDED methodsand WHEN NEEDED methods

WHEN CHANGED BEGIN PURSUE Evaluation OF Credit Evaluation END

CLASS: Credit Evaluation

[S] Evaluate Credit: [WHEN CHANGED][C] Collateral:

Excellent:Good:Moderate:

[C] Financial rating:Excellent:Good:Medium:Bad:

[C] Evaluation: [WHEN NEEDED]Give credit:Deny credit:Consult a superior:

WHEN NEEDED BEGIN Evaluation OF Credit Evaluation IS Consult superior := TRUE END

Page 21: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 2121

The rule-baseThe rule-baseRULE 1IF Currency deposits OF Request >= Requested credit OF RequestTHEN Collateral OF Credit Evaluation IS Excellent

RULE 2IF Currency deposits OF Request >= Requested credit OF Request * 0.7AND (Currency deposits OF Request + Stocks OF Request) >= Requested credit OF RequestTHEN Collateral OF Credit Evaluation IS Excellent

RULE 3IF (Currency deposits OF Request + Stocks OF Request) > Requested credit OF Request * 0.6AND (Currency deposits OF Request + Stocks OF Request) < Requested credit OF Request * 0.7AND (Currency deposits OF Request + Stocks OF Request + Mortgages OF Request) >= Requestedcredit OF RequestTHEN Collateral OF Credit Evaluation IS Good

RULE 4IF (Currency deposits OF Request + Stocks OF Request + Mortgages OF Request) <= Requested creditOF RequestTHEN Collateral OF Credit Evaluation IS Moderate

RULE 5IF Net worth to assets OF Request * 5 + Last year's sales growth OF Request + Gross profits on sales OFRequest * 5 + Short term debt to sales OF Request * 2 <= -500THEN Financial rating OF Credit Evaluation IS Bad

RULE 6

Page 22: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 2222

Example: EExample: Evaluation of cvaluation of credit request redit request (cont’d)(cont’d)

The The WHEN NEEDED methodWHEN NEEDED method attached to the attribute attached to the attribute Evaluation Evaluation is used to establish its value.is used to establish its value.

The inference engine executes this method when it needs to The inference engine executes this method when it needs to determine the value of determine the value of EvaluationEvaluation. .

If based on the set of rules provided for credit evaluation, the If based on the set of rules provided for credit evaluation, the inference engine cannot establish the value of the attribute inference engine cannot establish the value of the attribute EvaluationEvaluation, the attribute , the attribute EvaluationEvaluation receives the value receives the value Consult a Consult a superiorsuperior..

The task of developing a frame-based ES can be difficult for the The task of developing a frame-based ES can be difficult for the knowledge engineer due to the complexity of inheritance.knowledge engineer due to the complexity of inheritance.

Page 23: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 2323

Developing an expert systemDeveloping an expert system- issues to be considered- issues to be considered

Does the task require knowledge available from human experts?Does the task require knowledge available from human experts? Are human experts too expensive and scarce? Are human experts too expensive and scarce? Is the problem domain well-structured?Is the problem domain well-structured?

Problem domain must be well-defined and formalised.Problem domain must be well-defined and formalised. Amount of knowledge required to solve such problems should be relatively Amount of knowledge required to solve such problems should be relatively

small.small. No commonsense reasoning No commonsense reasoning

Can the problem be solved by traditional computing methods?Can the problem be solved by traditional computing methods?Numerical, statistical or operations research methods, if applicable, are Numerical, statistical or operations research methods, if applicable, are

likely likely to do better than heuristic solutionto do better than heuristic solution

Are cooperative, articulate and enthusiastic human experts available?Are cooperative, articulate and enthusiastic human experts available? Expert can articulate reasoning process with a high degree of confidenceExpert can articulate reasoning process with a high degree of confidence Expert convinced of the benefit of the ES, and does not feel threatenedExpert convinced of the benefit of the ES, and does not feel threatened

Page 24: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 2424

Developing an expert systemDeveloping an expert system- issues (cont’d)- issues (cont’d)

Adequate management supportAdequate management support How big and complex is the problem?How big and complex is the problem? Available technology must be able to handle required knowledge Available technology must be able to handle required knowledge

base efficientlybase efficiently Is development cost justified by returns?Is development cost justified by returns? Is the solution found likely to remain valuable for several years to Is the solution found likely to remain valuable for several years to

come?come?

The cost of the human expert needs to be compared with the cost The cost of the human expert needs to be compared with the cost of developing the ESof developing the ES

Cost can be reduced by development tools like ES shellsCost can be reduced by development tools like ES shells Will there be adequate infrastructure and management support for Will there be adequate infrastructure and management support for

ES maintenance in future?ES maintenance in future?

Page 25: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 2525

Developing an expert system - the Developing an expert system - the peoplepeople

1.1. TheThe knowledge group knowledge group (knowledge engineer + the domain (knowledge engineer + the domain expert)expert)

2.2. The The developer groupdeveloper group 3.3. The The user groupuser group

Knowledge engineer Knowledge engineer Usually a system analyst with background in AIUsually a system analyst with background in AI extracts knowledge from domain expert and formalizes it extracts knowledge from domain expert and formalizes it

into a knowledge baseinto a knowledge base decides on the decides on the

knowledge representation schemeknowledge representation scheme strategies for reasoning and searching the knowledge basestrategies for reasoning and searching the knowledge base design of the user interface. design of the user interface. hardware and software.hardware and software.

Page 26: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 2626

Knowledge engineer (cont’d)Knowledge engineer (cont’d)

May not initially have any experience of the ES problem May not initially have any experience of the ES problem domaindomain

Sessions with the domain expert are the usual method used Sessions with the domain expert are the usual method used for knowledge gatheringfor knowledge gathering

Machine learning techniques such as decision trees (subject Machine learning techniques such as decision trees (subject of a later topic) can also be usedof a later topic) can also be used

Time taken by knowledge acquisition process – approx. 60 to Time taken by knowledge acquisition process – approx. 60 to 70% of overall ES development time70% of overall ES development time

Page 27: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 2727

The Developer and User groupsThe Developer and User groups

The developer groupThe developer group Implements the expert system in close cooperation with the Implements the expert system in close cooperation with the

knowledge group and the user group. knowledge group and the user group. Either programs the system from scratch or makes use of existing Either programs the system from scratch or makes use of existing

software products like an expert system shellsoftware products like an expert system shell

The user groupThe user group Can be a regular user, eg, an employee of the organizationCan be a regular user, eg, an employee of the organization May be an irregular user such as bank customerMay be an irregular user such as bank customer Needs and characteristics of both categories of users need to be Needs and characteristics of both categories of users need to be

taken into account, particularly for the user interface design. taken into account, particularly for the user interface design. The user must feel confident and happy with the system.The user must feel confident and happy with the system.

Page 28: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 2828

The expert system development cycleThe expert system development cycle

Development strategyDevelopment strategy Early prototyping and incremental developmentEarly prototyping and incremental development Mistakes found during development lead to correction and Mistakes found during development lead to correction and

addition to the knowledge baseaddition to the knowledge base

Steps usually followed:Steps usually followed:

1.1. Knowledge engineer gains familiarity with the problem domainKnowledge engineer gains familiarity with the problem domain

2.2. Knowledge engineer and domain expert start knowledge Knowledge engineer and domain expert start knowledge extraction processextraction process

Page 29: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 2929

The expert system development cycle The expert system development cycle (cont’d)(cont’d)

3.3. Knowledge engineer decides on representation scheme, search Knowledge engineer decides on representation scheme, search strategy, user interfacestrategy, user interface

4.4. Prototype builtPrototype built

5.5. Knowledge engineer and domain expert test prototype, corrects, Knowledge engineer and domain expert test prototype, corrects, refines and redesigns if necessaryrefines and redesigns if necessary

6.6. Final version built and evaluated.Final version built and evaluated.

ES knowledge base must be continuously updated by adding, ES knowledge base must be continuously updated by adding, deleting or changing rules to keep up with new knowledge and deleting or changing rules to keep up with new knowledge and changed circumstanceschanged circumstances

Page 30: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 3030

Expert system shellsExpert system shells

A general expert system development product for the market A general expert system development product for the market An An expert system shellexpert system shell has all components of an expert system has all components of an expert system

except the knowledge-base except the knowledge-base

User

UserInterface:

- Menu-driven

- GUI

- Natural language

Knowledge-base editor

Inference engine

Explanation sub-system

Knowledge-base

Working memory

Page 31: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 3131

Expert system shells (cont’d)Expert system shells (cont’d)

Good shells also provide facilities for communication with external Good shells also provide facilities for communication with external sources includingsources including Database management systemsDatabase management systems SpreadsheetsSpreadsheets Graphics packages.Graphics packages.

Shell selected must match reasoning process (goal driven or data Shell selected must match reasoning process (goal driven or data driven) characterising given problem domaindriven) characterising given problem domain

Other features to be consideredOther features to be considered knowledge representation scheme and the knowledge base knowledge representation scheme and the knowledge base

editor editor user interfaceuser interface explanation capabilities.explanation capabilities.

Page 32: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 3232

Testing expert systems Testing expert systems

Correctness of ES can not be guaranteed due to its heuristic natureCorrectness of ES can not be guaranteed due to its heuristic nature

Some test strategiesSome test strategies

Use of historical dataUse of historical dataData on existing cases fed to the system, and the outputs Data on existing cases fed to the system, and the outputs analysedanalysedInconsistency of human decisions taken into account in case of Inconsistency of human decisions taken into account in case of any difference between the data and ES any difference between the data and ES

ES against Expert ES against Expert ES tested against the expert by presenting both with hypothetical ES tested against the expert by presenting both with hypothetical or actual casesor actual casesExpert’s reasoning compared with that of the ES to make sure Expert’s reasoning compared with that of the ES to make sure both arrived at the same conclusion for the same reasonsboth arrived at the same conclusion for the same reasons

Page 33: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 3333

Testing expert systems (cont’d)Testing expert systems (cont’d)

Field testsField testsUsers in the field use the system for a given period of timeUsers in the field use the system for a given period of timeFavourable results in the field add to ES validity Favourable results in the field add to ES validity Serious problems in field tests indicate need for further Serious problems in field tests indicate need for further

improvement of the designimprovement of the design

Turing testTuring testES and a human expert are subjected to blind user evaluationES and a human expert are subjected to blind user evaluationUser’s failure to differentiate between answers produced by the User’s failure to differentiate between answers produced by the

two enables the ES to passtwo enables the ES to pass

Page 34: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 3434

Some limitations of expert systemsSome limitations of expert systems

Knowledge acquisition remains the major bottleneck in applying Knowledge acquisition remains the major bottleneck in applying ES technology to new domains.ES technology to new domains.

Not adaptiveNot adaptiveKnowledge engineer responsible for revising and maintaining Knowledge engineer responsible for revising and maintaining system.system.

Evaluating expert system correctness is difficultEvaluating expert system correctness is difficult

Explanation of an outcome in terms of the reasoning process can Explanation of an outcome in terms of the reasoning process can be time consuming for large amounts of databe time consuming for large amounts of data

Page 35: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 3535

Some limitations of expert systems Some limitations of expert systems (cont’d)(cont’d)

Self-explanatory individual rules, but difficult to relate to overall Self-explanatory individual rules, but difficult to relate to overall strategy due to lack of hierarchy strategy due to lack of hierarchy

Maintenance and extension of a rule base can be difficult for a Maintenance and extension of a rule base can be difficult for a relatively large rule base (beyond 100 rules).relatively large rule base (beyond 100 rules).

ES are not as compact as neural network and genetic algorithm ES are not as compact as neural network and genetic algorithm systems. systems. This makes them harder to embed in other systems, as the This makes them harder to embed in other systems, as the inference engine and working memory must be part of the system inference engine and working memory must be part of the system at run-time.at run-time.

Page 36: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 3636

Case StudiesCase Studies

Case 1: An Expert System for Pattern Directed Data Mining of Case 1: An Expert System for Pattern Directed Data Mining of Point-Of-Sale DataPoint-Of-Sale Data (see Dhar & Stein pp.244-). (see Dhar & Stein pp.244-).

ObjectiveObjective Supermarkets need to know how different product categories Supermarkets need to know how different product categories

performed over certain periods of time in particular regions and performed over certain periods of time in particular regions and nationallynationally

Some experts are able to detect significant trends in these data – Some experts are able to detect significant trends in these data – what is happening in the market place?what is happening in the market place?

A.C. Nielsen wanted to create an expert system with this expertise A.C. Nielsen wanted to create an expert system with this expertise and make it available to its sales repsand make it available to its sales reps

Page 37: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 3737

Case 1: An Expert System for Pattern Case 1: An Expert System for Pattern Directed Data MiningDirected Data Mining

Requirements and constraintsRequirements and constraints Enable reps to put together a clear and unambiguous story for Enable reps to put together a clear and unambiguous story for

their customertheir customer Use vocabulary commonly used by sales repsUse vocabulary commonly used by sales reps Able to work with Nielsen’s databasesAble to work with Nielsen’s databases Be distributable on low-end PCs to sales reps across the countryBe distributable on low-end PCs to sales reps across the country Reports able to be produced under five minutesReports able to be produced under five minutes

High explainability to enable reps to construct storiesHigh explainability to enable reps to construct stories

Six months development time – Nielsen wanted to leap frog rival Six months development time – Nielsen wanted to leap frog rival

Page 38: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 3838

Case 1: An Expert System for Pattern Case 1: An Expert System for Pattern Directed Data Mining (cont’d)Directed Data Mining (cont’d)

Objectives and constraints clear but not so outputs – eg, use of Objectives and constraints clear but not so outputs – eg, use of imprecise linguistic termsimprecise linguistic terms

Decision:- Produce outputs to focus attention on areas of unusual Decision:- Produce outputs to focus attention on areas of unusual activity (eg, abnormal shift in sales volume, market share, price) activity (eg, abnormal shift in sales volume, market share, price) accompanied by associated factors to explain observationaccompanied by associated factors to explain observation

Problem domain not complex but universally (across all products, Problem domain not complex but universally (across all products, regions, seasons) applicable principles were difficult to identifyregions, seasons) applicable principles were difficult to identify

Decision:- System to be flexible with parameterizable rules to suit Decision:- System to be flexible with parameterizable rules to suit specific circumstancesspecific circumstances

Market data was of high quality Market data was of high quality

Page 39: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 3939

Case 1: An Expert System for Pattern Case 1: An Expert System for Pattern Directed Data Mining (cont’d)Directed Data Mining (cont’d)

ImplementationImplementation The ES SPOTLIGHT was implemented using a rule based control The ES SPOTLIGHT was implemented using a rule based control

engine written in Cengine written in C Sales database and rule base were 15 segments Sales database and rule base were 15 segments Loaded one segment at a time due to memory constraintsLoaded one segment at a time due to memory constraints Results of running each rule base on each segment of data Results of running each rule base on each segment of data

integrated into final reportintegrated into final report

ResultsResults Completed in 1991, SPOTLIGHT proved highly popular with sales Completed in 1991, SPOTLIGHT proved highly popular with sales

reps and their clientsreps and their clients Demonstrated feasibility of expert systems based on conventional Demonstrated feasibility of expert systems based on conventional

technology - written in C for a PC platform, rather than in an AI technology - written in C for a PC platform, rather than in an AI language such as LISP for AI workstationlanguage such as LISP for AI workstation

First (?) successful data mining application of an expert systemFirst (?) successful data mining application of an expert system

Page 40: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 4040

Case 1: An Expert System for Pattern Case 1: An Expert System for Pattern Directed Data Mining (cont’d)Directed Data Mining (cont’d)

Some limitationsSome limitations Gave limited analyses, and not interactive as a decision support Gave limited analyses, and not interactive as a decision support

tooltool Provided insight into what was happening in the market place, but Provided insight into what was happening in the market place, but

not what action to take to follow upnot what action to take to follow up Parameterizing rules was not a good long-term solution to making Parameterizing rules was not a good long-term solution to making

rules sensitive to market contextrules sensitive to market context

Nielsen developed an object-oriented version called Opportunity Nielsen developed an object-oriented version called Opportunity Explorer (OE) with a Windows-based GUI interfaceExplorer (OE) with a Windows-based GUI interface

Rules in OE could be attached to classes of consumer goods, so Rules in OE could be attached to classes of consumer goods, so analysis became automatically sensitive to contextanalysis became automatically sensitive to context

Page 41: ICT619 Intelligent Systems Topic 2: Expert Systems.

ICT619 S2-05ICT619 S2-05 4141

REFERENCESREFERENCES

AI ExpertAI Expert, October 1991 – presents applications of expert systems, October 1991 – presents applications of expert systems

Dhar, V., & Stein, RDhar, V., & Stein, R., Seven Methods for Transforming Corporate Data ., Seven Methods for Transforming Corporate Data into Business Intelligenceinto Business Intelligence., Prentice Hall 1997, Ch 7., Prentice Hall 1997, Ch 7

Giarratano, J., & Riley, G. Expert Systems Principles and Programming, Giarratano, J., & Riley, G. Expert Systems Principles and Programming, Thomson Course Technology, 2005.Thomson Course Technology, 2005.

Negnevitsky, M. Negnevitsky, M. Artificial Intelligence A Guide to Intelligent Systems, Artificial Intelligence A Guide to Intelligent Systems, Addison-Wesley 2005. Addison-Wesley 2005. ((Source of slides on frame-based systems used in this presentationSource of slides on frame-based systems used in this presentation ) )

Zahedi, F., Zahedi, F., Intelligent systems for BusinessIntelligent systems for Business, Wadsworth Publishing, , Wadsworth Publishing, Belmont, California, 1993.Belmont, California, 1993.


Recommended