ARTIFICIAL INTELLIGENCE AND EXPERT SYSTEMS
UNIT 5
Expert systems - Architecture of expert systems, Roles of expert systems - Knowledge
Acquisition – Meta knowledge, Heuristics. Typical expert systems - MYCIN, DART, XOON,
Expert systems shells.
Expert systems - Architecture of expert systems, Roles of expert systems - Knowledge Acquisition
– Meta knowledge, Heuristics. Typical expert systems - MYCIN, DART, XOON, Expert systems
shells.
What is an Expert System?
An expert system is a computer program that is designed to solve complex problems and to provide
decision-making ability like a human expert. It performs this by extracting knowledge from its
knowledge base using the reasoning and inference rules according to the user queries.
The expert system is a part of AI, and the first ES was developed in the year 1970, which was the
first successful approach of artificial intelligence. It solves the most complex issue as an expert by
extracting the knowledge stored in its knowledge base. The system helps in decision making for
compsex problems using both facts and heuristics like a human expert. It is called so because
it contains the expert knowledge of a specific domain and can solve any complex problem of that
particular domain. These systems are designed for a specific domain, such as medicine,
science, etc.
The performance of an expert system is based on the expert's knowledge stored in its knowledge
base. The more knowledge stored in the KB, the more that system improves its performance. One
of the common examples of an ES is a suggestion of spelling errors while typing in the Google
search box.
Below is the block diagram that represents the working of an expert system:
Note: It is important to remember that an expert system is not used to replace the human experts;
instead, it is used to assist the human in making a complex decision. These systems do not have
human capabilities of thinking and work on the basis of the knowledge base of the particular
domain.
Below are some popular examples of the Expert System:
o DENDRAL: It was an artificial intelligence project that was made as a chemical analysis
expert system. It was used in organic chemistry to detect unknown organic molecules with
the help of their mass spectra and knowledge base of chemistry.
o MYCIN: It was one of the earliest backward chaining expert systems that was designed to
find the bacteria causing infections like bacteraemia and meningitis. It was also used for
the recommendation of antibiotics and the diagnosis of blood clotting diseases.
o PXDES: It is an expert system that is used to determine the type and level of lung cancer.
To determine the disease, it takes a picture from the upper body, which looks like the
shadow. This shadow identifies the type and degree of harm.
o CaDeT: The CaDet expert system is a diagnostic support system that can detect cancer at
early stages.
Characteristics of Expert System
o High Performance: The expert system provides high performance for solving any type of
complex problem of a specific domain with high efficiency and accuracy.
o Understandable: It responds in a way that can be easily understandable by the user. It can
take input in human language and provides the output in the same way.
o Reliable: It is much reliable for generating an efficient and accurate output.
o Highly responsive: ES provides the result for any complex query within a very short
period of time.
Components of Expert System
An expert system mainly consists of three components:
o User Interface
o Inference Engine
o Knowledge Base
1. User Interface
With the help of a user interface, the expert system interacts with the user, takes queries as an input
in a readable format, and passes it to the inference engine. After getting the response from the
inference engine, it displays the output to the user. In other words, it is an interface that helps a
non-expert user to communicate with the expert system to find a solution.
2. Inference Engine(Rules of Engine)
o The inference engine is known as the brain of the expert system as it is the main processing
unit of the system. It applies inference rules to the knowledge base to derive a conclusion
or deduce new information. It helps in deriving an error-free solution of queries asked by
the user.
o With the help of an inference engine, the system extracts the knowledge from the
knowledge base.
o There are two types of inference engine:
o Deterministic Inference engine: The conclusions drawn from this type of inference
engine are assumed to be true. It is based on facts and rules.
o Probabilistic Inference engine: This type of inference engine contains uncertainty in
conclusions, and based on the probability.
Inference engine uses the below modes to derive the solutions:
o Forward Chaining: It starts from the known facts and rules, and applies the inference
rules to add their conclusion to the known facts.
o Backward Chaining: It is a backward reasoning method that starts from the goal and
works backward to prove the known facts.
3. Knowledge Base
o The knowledgebase is a type of storage that stores knowledge acquired from the different
experts of the particular domain. It is considered as big storage of knowledge. The more
the knowledge base, the more precise will be the Expert System.
o It is similar to a database that contains information and rules of a particular domain or
subject.
o One can also view the knowledge base as collections of objects and their attributes. Such
as a Lion is an object and its attributes are it is a mammal, it is not a domestic animal, etc.
Components of Knowledge Base
o Factual Knowledge: The knowledge which is based on facts and accepted by knowledge
engineers comes under factual knowledge.
o Heuristic Knowledge: This knowledge is based on practice, the ability to guess,
evaluation, and experiences.
Knowledge Representation: It is used to formalize the knowledge stored in the knowledge base
using the If-else rules.
Knowledge Acquisitions: It is the process of extracting, organizing, and structuring the domain
knowledge, specifying the rules to acquire the knowledge from various experts, and store that
knowledge into the knowledge base.
Development of Expert System
Here, we will explain the working of an expert system by taking an example of MYCIN ES. Below
are some steps to build an MYCIN:
o Firstly, ES should be fed with expert knowledge. In the case of MYCIN, human experts
specialized in the medical field of bacterial infection, provide information about the causes,
symptoms, and other knowledge in that domain.
o The KB of the MYCIN is updated successfully. In order to test it, the doctor provides a
new problem to it. The problem is to identify the presence of the bacteria by inputting the
details of a patient, including the symptoms, current condition, and medical history.
o The ES will need a questionnaire to be filled by the patient to know the general information
about the patient, such as gender, age, etc.
o Now the system has collected all the information, so it will find the solution for the problem
by applying if-then rules using the inference engine and using the facts stored within the
KB.
o In the end, it will provide a response to the patient by using the user interface.
Participants in the development of Expert System
There are three primary participants in the building of Expert System:
1. Expert: The success of an ES much depends on the knowledge provided by human experts.
These experts are those persons who are specialized in that specific domain.
2. Knowledge Engineer: Knowledge engineer is the person who gathers the knowledge from
the domain experts and then codifies that knowledge to the system according to the
formalism.
3. End-User: This is a particular person or a group of people who may not be experts, and
working on the expert system needs the solution or advice for his queries, which are
complex.
Why Expert System?
Before using any technology, we must have an idea about why to use that technology and hence
the same for the ES. Although we have human experts in every field, then what is the need to
develop a computer-based system. So below are the points that are describing the need of the ES:
1. No memory Limitations: It can store as much data as required and can memorize it at the
time of its application. But for human experts, there are some limitations to memorize all
things at every time.
2. High Efficiency: If the knowledge base is updated with the correct knowledge, then it
provides a highly efficient output, which may not be possible for a human.
3. Expertise in a domain: There are lots of human experts in each domain, and they all have
different skills, different experiences, and different skills, so it is not easy to get a final
output for the query. But if we put the knowledge gained from human experts into the
expert system, then it provides an efficient output by mixing all the facts and knowledge
4. Not affected by emotions: These systems are not affected by human emotions such as
fatigue, anger, depression, anxiety, etc.. Hence the performance remains constant.
5. High security: These systems provide high security to resolve any query.
6. Considers all the facts: To respond to any query, it checks and considers all the available
facts and provides the result accordingly. But it is possible that a human expert may not
consider some facts due to any reason.
7. Regular updates improve the performance: If there is an issue in the result provided by
the expert systems, we can improve the performance of the system by updating the
knowledge base.
Capabilities of the Expert System
Below are some capabilities of an Expert System:
o Advising: It is capable of advising the human being for the query of any domain from the
particular ES.
o Provide decision-making capabilities: It provides the capability of decision making in
any domain, such as for making any financial decision, decisions in medical science, etc.
o Demonstrate a device: It is capable of demonstrating any new products such as its
features, specifications, how to use that product, etc.
o Problem-solving: It has problem-solving capabilities.
o Explaining a problem: It is also capable of providing a detailed description of an input
problem.
o Interpreting the input: It is capable of interpreting the input given by the user.
o Predicting results: It can be used for the prediction of a result.
o Diagnosis: An ES designed for the medical field is capable of diagnosing a disease without
using multiple components as it already contains various inbuilt medical tools.
Advantages of Expert System
o These systems are highly reproducible.
o They can be used for risky places where the human presence is not safe.
o Error possibilities are less if the KB contains correct knowledge.
o The performance of these systems remains steady as it is not affected by emotions, tension,
or fatigue.
o They provide a very high speed to respond to a particular query.
Limitations of Expert System
o The response of the expert system may get wrong if the knowledge base contains the wrong
information.
o Like a human being, it cannot produce a creative output for different scenarios.
o Its maintenance and development costs are very high.
o Knowledge acquisition for designing is much difficult.
o For each domain, we require a specific ES, which is one of the big limitations.
o It cannot learn from itself and hence requires manual updates.
Applications of Expert System
o In designing and manufacturing domain
It can be broadly used for designing and manufacturing physical devices such as camera
lenses and automobiles.
o In the knowledge domain
These systems are primarily used for publishing the relevant knowledge to the users. The
two popular ES used for this domain is an advisor and a tax advisor.
o In the finance domain
In the finance industries, it is used to detect any type of possible fraud, suspicious
activity, and advise bankers that if they should provide loans for business or not.
o In the diagnosis and troubleshooting of devices
In medical diagnosis, the ES system is used, and it was the first area where these systems
were used.
o Planning and Scheduling
The expert systems can also be used for planning and scheduling some particular tasks
for achieving the goal of that task.
knowledge acquisition
What is 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.
There are many different methods of knowledge acquisition, including rule-based systems,
decision trees, artificial neural networks, and fuzzy logic systems. The most appropriate
method for a given application depends on the nature of the problem and the type o f data
available.
Rule-based systems are the simplest form of knowledge-based system. They use a set of
rules, or heuristics, to make decisions. Decision trees are another common method, which
use a series of if-then-else statements to arrive at a decision.
Artificial neural networks are a more complex form of knowledge-based system, which
mimic the way the human brain learns. They are able to learn from data and make predictions
based on that data. Fuzzy logic systems are another type of complex knowledge -based
system, which use fuzzy set theory to make decisions.
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.
Humans need to select the right data and experiences to create knowledge. They also need to
interpret that data correctly. This is where artificial intelligence can help. AI sys tems can
automate the process of knowledge acquisition, making it faster and more accurate.
What are the goals of knowledge acquisition?
In artificial intelligence, knowledge acquisition is the process of gathering, selecting, and
interpreting information that can be used to solve problems. The goals of knowledge
acquisition are to reduce the amount of time and effort required to solve problems, and to
improve the quality of the solutions.
One of the challenges in knowledge acquisition is that it is often d ifficult to know what
information is relevant to the problem at hand. Another challenge is that the process of
acquiring knowledge can be time-consuming and expensive.
Despite these challenges, knowledge acquisition is an essential part of artificial intel ligence.
By gathering and interpreting information, artificial intelligence can identify patterns and
relationships that would be difficult for humans to find. This allows artificial intelligence to
solve problems more efficiently and effectively.
What are the methods of knowledge acquisition?
There are a few methods of knowledge acquisition in AI:
1. Expert systems: In this method, experts in a particular field provide rules and knowledge
to a computer system, which can then be used to make decisions or solve problems in that
domain.
2. Learning from examples: This is a common method used in machine learning, where a
system is presented with a set of training data, and it “learns” from these examples to
generalize to new data.
3. Natural language processing: This is a method of extracting knowledge from text data,
using techniques like text mining and information extraction.
4. Semantic web: The semantic web is a way of representing knowledge on the internet using
standards like RDF and OWL, which can be processed by computers.
5. Knowledge representation and reasoning: This is a method of representing knowledge in
a formal way, using logic or other formalisms, which can then be used for automated
reasoning.
What are the challenges of knowledge acquisition?
One of the key challenges in AI is knowledge acquisition – that is, acquiring the right data
and information to train AI models to be effective. This can be a challenge for a number of
reasons.
First, data can be expensive to acquire. In some cases, it may be necessary to purchase data
from third-party providers. This can be a significant cost, especially for small businesses or
startups.
Second, data can be difficult to obtain. In some cases, it may be necessary to collect data
manually. This can be time-consuming and expensive.
Third, data can be noisy. That is, it can contain errors or be incomplete. This can make it
difficult to train AI models effectively.
Fourth, data can be biased. That is, it can be skewed to favor certain outcomes. This can lead
to AI models that are not effective or that produce results that are unfair.
Finally, data can be dynamic. That is, it can change over time. This can make it difficult to
keep AI models up-to-date.
These are just some of the challenges that can be associated with knowledge acquisition in
AI. Overcoming these challenges is essential to developing effective AI models.
What is the role of knowledge acquisition in AI?
In AI, knowledge acquisition is the process of acquiring knowledge from data sources and
then using that knowledge to improve the performance of AI systems. This process can be
used to improve the accuracy of predictions made by AI systems, or to help them learn new
tasks faster.
One of the most important aspects of knowledge acquisition is choosing th e right data
sources. This is because the quality of the data that AI systems use to learn is crucial to the
performance of the system. For example, if an AI system is trying to learn how to identify
objects in images, it will need to be trained on a dataset of high-quality images.
Once the data has been collected, it needs to be processed and converted into a format that
can be used by AI systems. This process is known as feature engineering, and it is crucial to
the success of AI systems. After the data has been processed, it can be used to train AI
models.
Training AI models is a complex process, and it is important to choose the right algorithm
for the task at hand. There is a wide range of different algorithms that can be used for training
AI models, and each has its own strengths and weaknesses.
After the AI model has been trained, it can be deployed in a real-world environment. This is
where knowledge acquisition can really help to improve the performance of AI systems. By
constantly monitoring the data that is being generated by the system, knowledge acquisition
can help to identify areas where the system can be improved.
Overall, knowledge acquisition is a vital part of AI. By carefully selecting data sources,
processing that data, and then using it to train AI models, knowledge acquisition can help to
improve the performance of AI systems.
Meta knowledge
Meta-knowledge, as described in your statement, is a term used in the context of artificial
intelligence and knowledge systems to refer to information that provides insight into the structure,
organization, and characteristics of the data and knowledge contained within these systems. It is
not specific to any particular domain or subject matter but rather focuses on the nature of
knowledge itself. Here are some key points to further clarify the concept of meta-knowledge:
1. Description of Knowledge Structure: Meta-knowledge serves as a way to
describe how the data and information within a knowledge system are organized
and related to each other. It helps provide a higher-level understanding of the
knowledge’s structure.
2. User Interface Improvement: One of the main applications of meta-knowledge is
in enhancing the design of user interfaces for AI systems. By understanding the
structure of knowledge, designers can create more effective and intuitive interfaces
for users to interact with the AI system.
3. Knowledge Base Maintenance: Meta-knowledge is also valuable for maintaining
and managing knowledge bases that are used alongside inference engines. It helps
in ensuring the quality, relevance, and consistency of the knowledge contained
within these systems.
4. Inter-domain Communication: In complex AI systems that involve multiple
modules or components, meta-knowledge can aid in facilitating communication
between these modules. It helps different parts of the system understand and utilize
the shared knowledge effectively.
5. Autonomous Operations: For AI systems to operate autonomously and
efficiently, it’s essential for them to have a clear understanding of the knowledge
they rely on. Meta-knowledge can assist in this understanding and coordination,
making autonomous operations smoother.
6. Future Trends: The statement suggests that as the complexity of problems AI
systems need to tackle increases, the use of meta-knowledge is expected to become
more prominent. This is because having a deep understanding of the knowledge
structure becomes increasingly critical when dealing with complex, multi-faceted
issues.
Overall, meta-knowledge plays a crucial role in enhancing the performance, usability, and
coordination of AI systems by providing insights into the underlying knowledge and data
structures. It helps bridge the gap between the complexity of real-world problems and the ability
of AI systems to effectively solve them.
MYCIN:
MYCIN was an early backward chaining expert system that used AI to identify
microorganisms causing severe diseases like bacteremia and meningitis and propose
antibiotics based on patient weight.
DART: