LECTURE 8
EXPERT SYSTEMS
Definitions
• Expert system is a system that attempt to imitate knowledge and
reasoning process of an expert in solving specific Problems.
• It uses artificial intelligence techniques in solving specific problems.
Definitions
• Knowledge is an integrated information, including facts and their
relations, which have been perceived, discovered, or learned as our
“mental pictures”.
• Those who possess knowledge are called experts.
• They gain that knowledge through training and experience
Types of Knowledge
• Shallow Knowledge: factual knowledge that can be easily stored
and manipulated using database query
• Multidimensional Knowledge: knowledge that is composed of
several integrated facts. It can be found using database query.
• Hidden Knowledge: patterns or regularities in data that cannot be
easily found using database query. Data mining algorithms can
find such patterns with ease
• Deep Knowledge: knowledge stored in a database that can only
be found if we are given some direction about what we are
looking for. E.g. when typing a keyword when searching using
search engine helps retrieve a list web pages with deep
knowledge
Characteristics of expert systems
1. Rely on internally represented knowledge (either in a dbms or hard
coded) to perform tasks
2. Utilizes reasoning methods (forward chain, backward chain etc) to
derive appropriate new knowledge/conclusions
3. Are usually restricted to a specific problem domain
e.g. mycin only diagnose meningitis and bacteria infection
3. Apply heuristics to guide the reasoning and thus reduce the search
area for a solution.
4. Employ symbolic reasoning when solving a problem. i.e. symbols
are used to represent different types of knowledge such as facts,
concepts and rules.
5. Explains its decisions to the user, thus enabling the user to
understand how solutions/conclusions are derived by the system.
Participants of developing expert systems
• There five main participants of developing expert systems.
Expert System
End-user
Knowledge Engineer Programmer
Domain Expert
Project Manager
Expert System
Development Team
Participants of developing expert systems
• 1. Domain Expert is a person with deep knowledge (of both facts
and rules) and strong practical experience in a particular domain.
• The area of the domain may be limited.
• In general, an expert is a skilful person who can do things other
people cannot.
Knowledge
base
Knowledge
acquisition
facility
Domain Expert
Participants of developing expert systems
• 2. End user
• A person who uses and benefits from the expert system when it is
developed.
• The user must not only be confident in the expert system performance
but also feel comfortable using it. Therefore, the design of the user
interface of the expert system is also vital for the project’s success; the
end-user’s contribution here can be crucial.
• Examples: Doctor, patient, manager, person of the street
Participants of developing expert systems
3. Knowledge Engineer
i. Designing, building and tests an expert system.
ii. Establishes what reasoning methods the expert uses to handle
facts and rules and decides how to represent them in the expert
system.
iii. Chooses some development software or an expert system shell, or
looks at programming languages for encoding the knowledge.
Participants of developing expert systems
3. Knowledge Engineer
iv. Interviews the domain expert to find out how a particular problem
is solved.
v. Chooses knowledge representation techniques and Maintains the
knowledge base
Participants of developing expert systems
• 4. Programmer
• Responsible for the actual programming, describing the
domain knowledge in terms that a computer can understand.
• Needs to have skills in symbolic programming in such AI
languages as LISP, Prolog and OPS5.
• Should have some experience in the application of different
types of expert system shells such as CLIPS and JESS.
• Should know conventional programming languages like C#,
Java,vb.net.
Participants of developing expert systems
• 4. The project manager:
• The leader of the expert system development team, responsible for
keeping the project on track.
• Creates a schedule for expert system project
• Makes sure that all deliverables and milestones are met, interacts with
the expert, knowledge engineer, programmer and end-user.
The structure of Expert systems
Explanation
subsystem
Inference
engine
Knowledge
acquisition
subsystem
Case specific
database
Knowledge
base
User
interface
Developer's
interface
User
Knowledge
engineer
1. Knowledgebase
• Knowledgebase is a database of facts and rules for representing
domain knowledge.
• Facts are propositions that describes the state of real world. They
can be true or false depending on the current situation
• Rules that describes relationships between facts.
1. Knowledgebase
• Examples of Facts:
• Headache is a symptom of disease
• Tiredness is a symptom of a disease
• Gladular fever is a disease.
• Example of Rule:
• If tired and headache then diagnose glandular fever
2. Inference Engine
• It links the rules with the facts provided in the knowledgebase.
• Used to derive conclusions, make recommendations or provide advises to
users based on facts and rules represented in the knowledgebase and
information received from the user.
• Also known as reasoner.
2. Inference Engine: Example
If user applies loan ranging from $100,000 to $200,000
AND the following rules in knowledgebase succeeds
If there are no previous credits problems, and
If month net income is greater than 4x monthly loan
payment, and
If down payment is 15% of total value of property, and
If net income of borrower is > $25,000, and
If employment is > 3 years at same company
Then accept the application
Else check other credit rules
Sample inference engine for a Credit Application
4. User Interface
• User Interface is the component that enable the user to interact with the
expert system.
• Example of User interaction
• Patient: I have a headache
• System: I suggest you take a pain killer. Do you have a sore throat?
• Patient: Yes, I do.
• System: Have you been coughing?
• Patient: No, why do you ask?
• System: If you had a head ache and a sore throat and had been coughing, I would
have to conclude you might have the flu.
Developer Interface
• It is an interface for updating the knowledge.
• It is connected to Knowledge Editor.
• It is not available to the end user
Knowledge
base
Knowledge
based editor/
knowledge acquisition facility
Knowledge
engineer/Expert
Developer Interface
3. Explanation Facility
• Explanation system explains the decisions the system makes.
• It allows a user or decision maker to understand how the expert system
arrived at certain conclusions or results
5. Knowledgebase Editor
• Knowledge base editor is the component that allows the user to edit
facts and rules in the knowledge base.
• Provides a convenient and efficient means of capturing and storing all components of the
knowledge base
• Also known as knowledge acquisition facility
Knowledge
base
Knowledge
based editor/
knowledge acquisition facility
Knowledge
engineer/Expert
Case- specific database
• - Component for saving results generated by inference engine
during problem solving.
• - it can be used for tracking system usage or evaluating the
effectiveness of the expert system.
Applications of Expert systems
1. Provision of advises to support decision making process
Example: Design Advisor :
Gives advice to designers of processor chips .
Such systems are also recommendation systems
Applications of Expert systems
2: Used to identify the structure of chemical compounds. Example
Dendral: First used in 1965
Applications of Expert systems
• 3. Used by geologists to identify sites for drilling or mining
• Example :
• PROSPECTOR –used to analyze geological data for minerals. It discovered a
mineral deposit worth $100 millions
Applications of Expert systems
• 4. Diagnosing the disease of a patient and recommends appropriate
treatment.
• Such systems such asks about symptoms, patient details and
history, calls for lab tests if unsure, balances pro’s and con’s of
possible treatments and risks of side effects.
• Examples:
• (a) PUFF :- Diagonise respiratory diseases
• (b) Mycin: -Diagonise bacteria infections in the blood
Applications of Expert systems
• Car repair support: Helps Repair Mechanics to track down and fix
engine problems.
Applications of Expert systems
• Airline scheduling display planes circling the airport, the number of
planes approaching airport and gate information.
• E.g smart Airport
Applications of Expert systems
• 5. Natural language interfaces to allow interaction between users and
computing devices through natural language.
• Example: Eliza
• Developed by MIT computer scientist Joseph Weizenbaum, 1966
• - Eliza program was named , after the character Eliza Doolittle in
Shaw's Pygmalion
• - The program allow the user to type any sentence (no restriction on
content or grammar) at the keyboard and the computer would
respond with a sentence of its own
Examples of Expert systems
• Example: Eliza
• The rules were indexed by keywords so only a few had actually to be
matched against a particular sentence.
• Example interaction case:
• If the preceding sentence had been
• Person: "I don't get along with my girlfriend's brother”
• sooner or later ELIZA would come up with
• Eliza "Does that have anything to do with the fact that your
girlfriend's brother ?”
Examples of Expert systems
• Example interaction with Eliza
• Person: Men are all alike.
• ELIZA: In what way?
• Person: They're always bugging us about something or other.
• ELIZA: Can you think of a specific example ?
• Person: Well, my boyfriend made me come here.
• ELIZA: Your boyfriend made you come here.
• Person: He says I'm depressed much of the time.
• ELIZA: I am sorry to hear you are depressed.

LESSON 8 EXPERT SYSTEMS BASICS.ppt

  • 1.
  • 2.
    Definitions • Expert systemis a system that attempt to imitate knowledge and reasoning process of an expert in solving specific Problems. • It uses artificial intelligence techniques in solving specific problems.
  • 3.
    Definitions • Knowledge isan integrated information, including facts and their relations, which have been perceived, discovered, or learned as our “mental pictures”. • Those who possess knowledge are called experts. • They gain that knowledge through training and experience
  • 4.
    Types of Knowledge •Shallow Knowledge: factual knowledge that can be easily stored and manipulated using database query • Multidimensional Knowledge: knowledge that is composed of several integrated facts. It can be found using database query. • Hidden Knowledge: patterns or regularities in data that cannot be easily found using database query. Data mining algorithms can find such patterns with ease • Deep Knowledge: knowledge stored in a database that can only be found if we are given some direction about what we are looking for. E.g. when typing a keyword when searching using search engine helps retrieve a list web pages with deep knowledge
  • 5.
    Characteristics of expertsystems 1. Rely on internally represented knowledge (either in a dbms or hard coded) to perform tasks 2. Utilizes reasoning methods (forward chain, backward chain etc) to derive appropriate new knowledge/conclusions 3. Are usually restricted to a specific problem domain e.g. mycin only diagnose meningitis and bacteria infection 3. Apply heuristics to guide the reasoning and thus reduce the search area for a solution. 4. Employ symbolic reasoning when solving a problem. i.e. symbols are used to represent different types of knowledge such as facts, concepts and rules. 5. Explains its decisions to the user, thus enabling the user to understand how solutions/conclusions are derived by the system.
  • 6.
    Participants of developingexpert systems • There five main participants of developing expert systems. Expert System End-user Knowledge Engineer Programmer Domain Expert Project Manager Expert System Development Team
  • 7.
    Participants of developingexpert systems • 1. Domain Expert is a person with deep knowledge (of both facts and rules) and strong practical experience in a particular domain. • The area of the domain may be limited. • In general, an expert is a skilful person who can do things other people cannot. Knowledge base Knowledge acquisition facility Domain Expert
  • 8.
    Participants of developingexpert systems • 2. End user • A person who uses and benefits from the expert system when it is developed. • The user must not only be confident in the expert system performance but also feel comfortable using it. Therefore, the design of the user interface of the expert system is also vital for the project’s success; the end-user’s contribution here can be crucial. • Examples: Doctor, patient, manager, person of the street
  • 9.
    Participants of developingexpert systems 3. Knowledge Engineer i. Designing, building and tests an expert system. ii. Establishes what reasoning methods the expert uses to handle facts and rules and decides how to represent them in the expert system. iii. Chooses some development software or an expert system shell, or looks at programming languages for encoding the knowledge.
  • 10.
    Participants of developingexpert systems 3. Knowledge Engineer iv. Interviews the domain expert to find out how a particular problem is solved. v. Chooses knowledge representation techniques and Maintains the knowledge base
  • 11.
    Participants of developingexpert systems • 4. Programmer • Responsible for the actual programming, describing the domain knowledge in terms that a computer can understand. • Needs to have skills in symbolic programming in such AI languages as LISP, Prolog and OPS5. • Should have some experience in the application of different types of expert system shells such as CLIPS and JESS. • Should know conventional programming languages like C#, Java,vb.net.
  • 12.
    Participants of developingexpert systems • 4. The project manager: • The leader of the expert system development team, responsible for keeping the project on track. • Creates a schedule for expert system project • Makes sure that all deliverables and milestones are met, interacts with the expert, knowledge engineer, programmer and end-user.
  • 13.
    The structure ofExpert systems Explanation subsystem Inference engine Knowledge acquisition subsystem Case specific database Knowledge base User interface Developer's interface User Knowledge engineer
  • 14.
    1. Knowledgebase • Knowledgebaseis a database of facts and rules for representing domain knowledge. • Facts are propositions that describes the state of real world. They can be true or false depending on the current situation • Rules that describes relationships between facts.
  • 15.
    1. Knowledgebase • Examplesof Facts: • Headache is a symptom of disease • Tiredness is a symptom of a disease • Gladular fever is a disease. • Example of Rule: • If tired and headache then diagnose glandular fever
  • 16.
    2. Inference Engine •It links the rules with the facts provided in the knowledgebase. • Used to derive conclusions, make recommendations or provide advises to users based on facts and rules represented in the knowledgebase and information received from the user. • Also known as reasoner.
  • 17.
    2. Inference Engine:Example If user applies loan ranging from $100,000 to $200,000 AND the following rules in knowledgebase succeeds If there are no previous credits problems, and If month net income is greater than 4x monthly loan payment, and If down payment is 15% of total value of property, and If net income of borrower is > $25,000, and If employment is > 3 years at same company Then accept the application Else check other credit rules Sample inference engine for a Credit Application
  • 18.
    4. User Interface •User Interface is the component that enable the user to interact with the expert system. • Example of User interaction • Patient: I have a headache • System: I suggest you take a pain killer. Do you have a sore throat? • Patient: Yes, I do. • System: Have you been coughing? • Patient: No, why do you ask? • System: If you had a head ache and a sore throat and had been coughing, I would have to conclude you might have the flu.
  • 19.
    Developer Interface • Itis an interface for updating the knowledge. • It is connected to Knowledge Editor. • It is not available to the end user Knowledge base Knowledge based editor/ knowledge acquisition facility Knowledge engineer/Expert Developer Interface
  • 20.
    3. Explanation Facility •Explanation system explains the decisions the system makes. • It allows a user or decision maker to understand how the expert system arrived at certain conclusions or results
  • 21.
    5. Knowledgebase Editor •Knowledge base editor is the component that allows the user to edit facts and rules in the knowledge base. • Provides a convenient and efficient means of capturing and storing all components of the knowledge base • Also known as knowledge acquisition facility Knowledge base Knowledge based editor/ knowledge acquisition facility Knowledge engineer/Expert
  • 22.
    Case- specific database •- Component for saving results generated by inference engine during problem solving. • - it can be used for tracking system usage or evaluating the effectiveness of the expert system.
  • 23.
    Applications of Expertsystems 1. Provision of advises to support decision making process Example: Design Advisor : Gives advice to designers of processor chips . Such systems are also recommendation systems
  • 24.
    Applications of Expertsystems 2: Used to identify the structure of chemical compounds. Example Dendral: First used in 1965
  • 25.
    Applications of Expertsystems • 3. Used by geologists to identify sites for drilling or mining • Example : • PROSPECTOR –used to analyze geological data for minerals. It discovered a mineral deposit worth $100 millions
  • 26.
    Applications of Expertsystems • 4. Diagnosing the disease of a patient and recommends appropriate treatment. • Such systems such asks about symptoms, patient details and history, calls for lab tests if unsure, balances pro’s and con’s of possible treatments and risks of side effects. • Examples: • (a) PUFF :- Diagonise respiratory diseases • (b) Mycin: -Diagonise bacteria infections in the blood
  • 27.
    Applications of Expertsystems • Car repair support: Helps Repair Mechanics to track down and fix engine problems.
  • 28.
    Applications of Expertsystems • Airline scheduling display planes circling the airport, the number of planes approaching airport and gate information. • E.g smart Airport
  • 29.
    Applications of Expertsystems • 5. Natural language interfaces to allow interaction between users and computing devices through natural language. • Example: Eliza • Developed by MIT computer scientist Joseph Weizenbaum, 1966 • - Eliza program was named , after the character Eliza Doolittle in Shaw's Pygmalion • - The program allow the user to type any sentence (no restriction on content or grammar) at the keyboard and the computer would respond with a sentence of its own
  • 30.
    Examples of Expertsystems • Example: Eliza • The rules were indexed by keywords so only a few had actually to be matched against a particular sentence. • Example interaction case: • If the preceding sentence had been • Person: "I don't get along with my girlfriend's brother” • sooner or later ELIZA would come up with • Eliza "Does that have anything to do with the fact that your girlfriend's brother ?”
  • 31.
    Examples of Expertsystems • Example interaction with Eliza • Person: Men are all alike. • ELIZA: In what way? • Person: They're always bugging us about something or other. • ELIZA: Can you think of a specific example ? • Person: Well, my boyfriend made me come here. • ELIZA: Your boyfriend made you come here. • Person: He says I'm depressed much of the time. • ELIZA: I am sorry to hear you are depressed.