0% found this document useful (0 votes)
10 views36 pages

Lecture 3

Uploaded by

manchestermilf1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views36 pages

Lecture 3

Uploaded by

manchestermilf1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 36

LECTURE 3

Knowledge Representation : AI 303


By
Dr.Ashraf Hendam
OUTLINE
• What is expert system?
• Characteristics of an expert system
• Development players of expert system
• Structure of expert system
• Expert System Life Cycle
• Knowledge acquisition
What is expert system?
• An expert system (ES) is a computer program
designed to simulate the problem-solving
behavior of an expert in a narrow domain or
discipline.
• The term expert system is reserved for programs
whose knowledge base contains the knowledge
used by human experts.
• Expert systems and knowledge-based systems are
used synonymously
What is expert system?

Back
Characteristics of an expert system

An expert system is built to perform at a human expert


level in a narrow, specialized domain.
- Thus, the most important characteristic of an
expert system is its high-quality performance.
- No matter how fast the system can solve a
problem, the user will not be satisfied if the
result is wrong.
- Expert systems should apply heuristics to
guide the reasoning and thus reduce the search
area for a solution Back
Characteristics of an expert system

• A unique feature of an expert system is its


explanation capability.
• This enables the expert system to review its own
reasoning and explain its decisions.
• An explanation in expert systems in effect traces
the rules fired during a problem-solving
session.
• However a real or ‘human’ explanation is not yet
possible
Back
Characteristics of an expert system

Expert systems employ symbolic reasoning when


solving a problem.
Symbols are used to represent different types of
knowledge such as facts, concepts and rules.

Back
Development players of expert system
Expert System
Development Team
Project Manager

Domain Expert Knowledge Engineer Programmer

Expert System

End-user
Back
Development players of expert system
• The domain expert is a knowledgeable and skilled person
capable of solving problems in a specific area or domain.
• The domain expert is the most important player in the expert
system development team.
• This person has the greatest expertise in a given domain.
• This expertise is to be captured in the expert system.
• The expert must be able to:
- Communicate his or her knowledge
- Be willing to participate in the expert system development
- Commit a substantial amount of time to the project.
Development players of expert system
• The knowledge engineer is someone who is capable of
designing, building and testing an expert system.
• He :
- interviews the domain expert to find out how a particular
problem is solved.
- Establishes what reasoning methods the expert uses to
handle facts and rules and decides how to represent them in
the expert system.
- Chooses some development software or an expert system
shell, or looks at programming languages for encoding the
knowledge.
- Responsible for testing, revising and integrating the
expert system into the workplace.
Development players of expert system
The programmer is the person responsible for the
actual programming, describing the domain
knowledge in terms that a computer can
understand.
- Have skills in symbolic programming in
such AI languages as LISP, Prolog and OPS5
- Some experience in the application of
different types of expert system shells
- Should know conventional programming
languages like C, Pascal, FORTRAN and
Basic.
Development players of expert system
 The project manager is the leader of the expert
system development team, responsible for
keeping the project on track.
 He makes sure that all deliverables and
milestones are met, interacts with the expert,
knowledge engineer, programmer and end-user.
Development players of expert system
 The end-user, often called just the user, is a
person who uses 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.
Structure of expert system
Structure of expert system
 The knowledge base contains
• The domain knowledge useful for problem solving.
• In a rule-based expert system, the knowledge is
represented as a set of rules.
• Each rule specifies a relation, recommendation,
directive, strategy or heuristic and has the IF
(condition) THEN (action) structure.
• When the condition part of a rule is satisfied, the
rule is said to fire and the action part is executed.
Structure of expert system
 The database includes a set of facts used to
match against the IF (condition) parts of rules
stored in the knowledge base.
 The inference engine carries out the reasoning
whereby the expert system reaches a solution. It
links the rules given in the knowledge base with the
facts provided in the database.
Structure of expert system
 The explanation facilities enable the user to:
• Ask the expert system how a particular conclusion
is reached and why a specific fact is needed.
• An expert system must be able to explain its
reasoning and justify its advice, analysis or
conclusion.
 The user interface is the means of communication
between a user seeking a solution to the problem
and an expert system.
Expert System Life Cycle
Expert System Life Cycle

 Stage 1: Identification of the problem


• The expert and the knowledge engineer interact to identify
the problem.
• The scope and the extent are pondered.
• The amount of resources needed, e.g. men, computing
resources, finance etc. are identified.
• The Return-Of Investment(ROI) analysis is done.
• Areas in the problem which can give much trouble are
identified and a conceptual solution for that problem and
the overall specification is made
Expert System Life Cycle
 Stage 2: Decision about the mode of development

• Decide on the vehicle for development.

• The knowledge engineer can develop the system from


scratch using a programming language like PROLOG or LISP
or any conventional language or adopt a shell for
development.

• Various shells and tools are identified and analyzed for the
suitability.

• Tools whose features fit the characteristics of the problem are


analyzed in detail.
Expert System Life Cycle
 Stage 3: Development of a prototype

 Before developing a prototype, the following are the


prerequisite activities:

 Decide on what concepts are needed to produce the


solution. One important factor to be decided here is the level
of knowledge (granularity).

 Knowledge acquisition begins.

 The knowledge engineer and the domain expert interact


frequently and the domain-specific knowledge is extracted.
Expert System Life Cycle
 Stage 3: Development of a prototype

• The knowledge engineer decides on the method of


representation.

• When the knowledge representation scheme and the


knowledge is available, a prototype constructed.

• The prototype undergoes the process of testing for various


problems and revision of the prototype takes place.
Expert System Life Cycle
 Stage 4: Planning for a full-scale system

• The success of the prototype provides the needs impetus for


the full-scale system.

• In prototype construction, the area in the problem which can


be implemented with relative ease is first chosen.

• In the full-scale implementation, sub-system development is


assigned.
Expert System Life Cycle
 Stage 5: Final implementation, maintenance and evolution
• The full scale system developed is implemented at the site.
• The basic resource requirements at the site are fulfilled and
parallel conversion and testing techniques are adopted.
• The final system undergoes rigorous testing and later
handed over to the user.
• Evaluation is a difficult task for any AI programs because
solutions for AI problems are only satisfactory.
• Supply a set of problems to the system and a human export
and compare the results.
Knowledge acquisition
In artificial intelligence, knowledge acquisition is the
process of gathering, selecting, and interpreting
information and experiences to create and
maintain knowledge within a specific domain. It is a
key component of machine learning and knowledge-
based systems.
Knowledge acquisition
The most important part of knowledge acquisition is
the interpretation of information. This is where
human expertise is required. Machines are not able
to interpret information in the same way humans
can. They can only make sense of data if it is
presented in a certain way.
Knowledge acquisition
Knowledge Acquisition Technique
At the heart of the process is the interview. The
heuristic model of the domain is usually extracted
through a series of intense, systematic interviews,
usually extending over a period of many months.
Knowledge acquisition
Knowledge Acquisition Technique
knowledge acquisition process are summarized in:
1. Observe the person solving real problems.
2. Discussions, identify the kinds of data, knowledge and procedures
required to solve different types of problems.
3. Build scenarios with the expert that can be associated with different
problem types.
4. Have the expert solve a series of problems verbally and ask the
rationale behind each step.
5. Develop rules based on the interviews and solve the problems with
them.
6. Have the expert review the rules and the general problem solving
procedure.
7. Compare the responses of outside experts to a set of scenarios
obtained from the project's expert and the ES.
Knowledge acquisition
Practical Considerations
Operational Goals
After an evaluation of the problem domain shows that an ES solution is
appropriate and feasible, then realistic goals for the project can be
formulated.
An ES's operational goals should define exactly what level of expertise
its final product should be able to deliver, who the expected user is and
how the product is to be delivered.
Knowledge acquisition
Practical Considerations
Pre-training
Pre-training the knowledge engineer about the domain can be
important.
In the past, knowledge engineers have often been unfamiliar
with the domain.
As a result, the development process was greatly hindered.
If a knowledge engineer has limited knowledge of the problem
domain, then pre-training in the domain is very important and
can significantly boost the early development of the ES.
Knowledge acquisition
Practical Considerations
Knowledge Document
• Once development begins on the knowledge base, the process
should be well documented.
• Conventions should be established for the document such as keeping
the rules in quasi-English format, using standard domain jargon,
giving descriptive names to the rules and including supplementary,
explanatory clauses with each rule.
• The rules should be grouped into natural subdivisions and the entire
document should be kept current.
Knowledge acquisition
Practical Considerations
Scenarios
An early goal of knowledge acquisition should be the
development of a series of well developed scenarios that fully
describe the kinds of procedures that the expert goes through
in arriving at different solutions.
Familiarity with several realistic scenarios can be essential to
understanding the expert in early interviews and the key to
structuring later interviews.
They are ultimately necessary for validation of the system.
Knowledge acquisition
Practical Considerations
Interviews
Experts are usually busy people and interviews held in the expert's
work environment are likely to be interrupted.
To maximize access to the expert and minimize interruptions it can
be helpful to hold meetings away from the expert's workplace.
Audiotape recordings ought to be made of the interviews because
often times notes taken during an interview can be incomplete.
Knowledge acquisition

Practical Considerations
Questionnaires
When specific information is needed, a questionnaire
can sometimes be used effectively.
Questionnaires are generally used in combination
with other techniques such as interviews.
Knowledge acquisition
Practical Considerations
Decision Trees
Decision trees are widely recognized to be useful tools
for the knowledge engineer in prototyping knowledge
representations.
Some knowledge engineers have found that experts
can more readily relate to decision trees than rules.

You might also like