View
232
Download
4
Category
Tags:
Preview:
Citation preview
ICT619 Intelligent SystemsICT619 Intelligent Systems
Topic 2: Expert SystemsTopic 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
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
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..
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
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.
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.
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.
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
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
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.
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.
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.
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
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
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:
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
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.
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..
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
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
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.
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
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?
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.
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
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.
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
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
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
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.
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
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
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
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.
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
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
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
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
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
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