Expert System: Knowledge Base, Inference Engine & User Interface

 
Expert System: Knowledge Base,

Inference Engine & User Interface


(Pradipta Bandyopadhyay, MLISc. Day Batch 2023-24)

An expert system can be defined as a computer system that embodies knowledge about a specific problem domain and can solve problems from the domain using its knowledge with a degree of expertise that is comparable to that of a human expert. According to Brachman an expert system can have the different characteristics such as, expertise, symbol manipulation, intelligence, complexity, reformulation, reasoning about self, type of task.

The major components of an Expert system are as follows:

  1. A knowledge base
  2. An inference engine
  3. The User interface

 


 fig: Basic structure of an Expert System

 

Knowledge Base


A knowledge base embodies the part of the domain knowledge that should be included in an expert system. It consists of facts, relationships and heuristics relevant to the particular domain. A Knowledge Base comprises different kinds of knowledge stored within the memory to be used by the program in the course of processing the natural language statements. The amount of knowledge required generally depends on the domain being handled.

The knowledge base is an important component of an expert system. The knowledge required in knowledge base can be represented in different ways. The knowledge that needs to be incorporated into an intelligent information retrieval system is diverse. It includes different kinds of knowledge, such as

  • knowledge of the relationship between documents and their descriptions i.e. how the content of a document fully or partially satisfy the headings,
  • knowledge of the database and its access mechanism i.e. information about the database and how to access the database to retrieve exact information which is required,
  • knowledge of users’ problems i.e. to understand users’ query which is being asked into natural language to find the solution from the database and finally
  • knowledge of the subject domain, i.e. to analysis the subject of users’ query & finding the solution of the problem from that particular subject’s database.

In general development of an expert system and knowledge acquisition require the involvement of more than one person. It includes knowledge engineers, domain experts, users, computer programmers, systems analysts, artificial intelligent specialists. But, it is seen that in many times more than one person is doing more than one job, i.e. multi-tasking by one person.

Before knowledge acquisition, there are some tasks to do. These are selection of experts with the recognized expertise and experience in the particular knowledge domain; identification of other sources of knowledge, including printed sources, and the actual process concerned. These all provide input to the knowledge base.

A knowledge engineer can use different methods of knowledge acquisition to elicit knowledge. Basically top-down (or deductive) methods and bottom-up (or inductive) methods are the two knowledge acquisition methods.

In top-down method or deductive method, the knowledge engineer organizes acquisition sessions for discovering general concepts, rules, and objects, and then gradually goes into the details of each concept, rule, or object. For doing so different methods such as questioning methods, object-oriented methods, quantitative methods and invention methods are used.

In bottom-up methods the knowledge engineer focuses the expert's attention on specific cases in order to help the expert abstract the decision for resolving a specific case to a more generalized rule or concept. In this case example-based methods, protocol analysis, and observation of the expert's decision-making process methods are used.

Once the knowledge is elicited and documented (say using pseudo-code), the next task is to represent it for use in a knowledge base. There are various methods of knowledge representation. The major ones are:

  • Production System (also called Production Rules),
  • Predicate Calculus,
  • Semantic Networks,
  • Case Grammar,
  • Frames and
  • Conceptual Dependency.

Knowledge representation refers to the internal representation created from natural language statements. This internal representation is not limited to the language of the input text, and can be used for further processing, e.g. in matching users' queries in information retrieval, in the creation of a database in one or more languages, etc. Kemp mentions that the two major purposes of knowledge representation are:

  • To help people understand the system they are working with, and
  • To enable the system to process the representations.

 

Inference Engine

An inference engine processes and combines facts and rules related to a particular problem or a question with the knowledge from the knowledge base in order to come up with answers or recommendations.

The first inference engines were components of expert systems. The typical expert system consisted of a knowledge base and an inference engine. The knowledge base stored facts about the world. The inference engine applied logical rules to the knowledge base and deduced new knowledge. This process would iterate as each new fact in the knowledge base could trigger additional rules in the inference engine. Inference engines work primarily in one of two modes either special rule or facts: forward chaining and backward chaining. Forward chaining starts with the known facts and asserts new facts. Backward chaining starts with goals, and works backward to determine what facts must be asserted so that the goals can be achieved.

The logic that an inference engine uses is typically represented as IF-THEN rules. The general format of such rules is IF <logical expression> THEN <logical expression>.

An inference engine cycles through three sequential steps: match rules, select rules, and execute rules. The execution of the rules will often result in new facts or goals being added to the knowledge base, which will trigger the cycle to repeat. This cycle continues until no new rules can be matched.


In the first step, match rules, the inference engine finds all of the rules that are triggered by the current contents of the knowledge base. In forward chaining, the engine looks for rules where the antecedent (left hand side) matches some fact in the knowledge base. In backward chaining, the engine looks for antecedents that can satisfy one of the current goals.

In the second step, select rules, the inference engine prioritizes the various rules that were matched to determine the order to execute them. 

In the final step, execute rules, the engine executes each matched rule in the order determined in step two and then iterates back to step one again. The cycle continues until no new rules are matched.

An inference engine works in the following ways:

  • Knowledge Representation: The knowledge relevant to the problem domain is encoded in the form of rules, facts, and heuristics within the knowledge base of the expert system. This knowledge represents the expertise of human specialists in the given domain.
  • Rule-Based Reasoning: The inference engine uses a rule-based reasoning approach to process the information stored in the knowledge base. These rules typically take the form of "if-then" statements, where certain conditions lead to specific conclusions.
  • Pattern Matching and Inference: When presented with a specific problem or query, the inference engine matches the input against the rules stored in the knowledge base. It identifies relevant rules whose antecedents match the current situation or problem scenario.
  • Deductive Reasoning: Once the relevant rules are identified, the inference engine applies deductive reasoning to draw conclusions and make inferences based on the matched rules. It uses logical deduction to derive new knowledge or conclusions from the known facts and rules.
  • Conflict Resolution: In cases where multiple rules are applicable or conflicting, the inference engine employs conflict resolution strategies to prioritize and select the most appropriate rules for inference. This may involve weighing the certainty or importance of each rule, considering contextual information, or applying user-defined preferences.
  • Forward and Backward Chaining: The inference engine may use forward chaining (data-driven) or backward chaining (goal-driven) inference strategies depending on the nature of the problem and the available knowledge. Forward chaining starts with the known facts and derives new conclusions, while backward chaining starts with the desired goal and works backward to determine the necessary conditions.
  • Explanation Generation: In addition to reaching conclusions, the inference engine often generates explanations to justify its reasoning process. This helps users understand how the expert system arrived at a particular decision or recommendation, increasing transparency and trust in the system.


User Interface

The user interface provides communication with the user both in accepting input and providing output. A user interface is the method by which the expert system interacts with a user. These can be through dialog boxes, command prompts, forms, or other input methods. Some expert systems interact with other computer applications, and do not interact directly with a human. In these cases, the expert system will have an interaction mechanism for transactions with the other application, and will not have a user interface.

Most expert systems require information from the user in order to specify the problem to be solved and to provide an initial set of conditions or observed data. An intelligent information retrieval system will need to communicate with its users in natural language. Interfaces that accept users' queries in natural language and transform it in an internal representation for the purpose of matching with the database are called natural language interfaces. Specific features of these and the recently developed interfaces in the area of intelligent information retrieval systems are discussed later.

One of the major objectives of expert systems is to allow people to communicate in natural language, which is processed by the system to derive meaning for further action. The processing of natural language input, whether queries or text, for further action by the system is called natural language processing. A number of Artificial intelligent and expert system technologies have been applied to natural language processing over the past few years.


User interfaces have made rapid technological advance. Its main elements are as follows: menus, forms, graphics, symbols and icons, voice, hypertext, and natural language. The first three are relatively common in most software products. Symbols and icons have great significance for an expert system that involves objects.

The user interface in an expert system serves as the bridge between the human user and the system's functionality, enabling users to interact with the system, input queries or problems, receive recommendations or solutions, and understand the system's reasoning process. Designing an effective user interface is crucial for ensuring user-friendliness, facilitating communication, and maximizing the usability of the expert system.

To design a user interface one should keep in mind the following points:

  • Ease of Use: The User interface should be intuitive and easy to navigate, even for users with limited technical expertise.
  • Explanation and Transparency: The User interface should facilitate transparency by providing explanations of the system's reasoning process and the basis for its recommendations or solutions.
  • Accessibility: Ensuring accessibility is essential for accommodating users with disabilities or diverse needs.
  • Error Handling: The User interface should include error handling mechanisms to gracefully handle user errors, such as invalid inputs or misunderstandings.
  • Input Mechanisms: The User interface should offer various input mechanisms to accommodate different types of queries or problems. This may include text input fields, dropdown menus, checkboxes, radio buttons, or other interactive elements depending on the nature of the domain and the types of information the system requires.
  • Feedback and Guidance: The User interface should provide feedback to users to confirm that their inputs have been received and processed. Additionally, the system should offer guidance or suggestions to help users formulate their queries more effectively and understand the types of information the system can provide.

References

  • Chowdhury, G. G. (2004). Introduction to modern information retrieval. Facet Publishing.
  • https://en.wikibooks.org/wiki/Expert_Systems/Components_of_Expert_Systems#:~:text=A%20user%20interface%20is%20the,interact%20directly%20with%20a%20human.
  • https://en.wikipedia.org/wiki/Inference_engine
  • https://www.geeksforgeeks.org/expert-systems/


*-*-*-*-*



Expert System: User Interface
Inference Engine & Knowledge Base


Mousumi Dam (Mlisc. Day,2023-24)


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.

 

Characteristics of Expert System

  • High Performance: The expert system provides high performance for solving any type of complex problem of a specific domain with high efficiency and accuracy.
  • 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.
  • Reliable: It is much reliable for generating an efficient and accurate output.
  • 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:

  • User Interface
  • Inference Engine
  • Knowledge Base


Ø User Interface

User Interface to an IR System (UIIRS) is a front-end program which interacts with the user and controls an underlying information retrieval system accessing information resources. Its main goal is to empower the user with the capability to operate effectively without the need of an experienced human intermediary.

The absence from the scenario of a human intermediary has the consequence that users explore autonomously the information space; they don't need to make explicit their problems, and they don't have to cope with possibly difficult interpersonal communication. On the other hand,users might miss the conceptual help and specialized skills that human intermediaries can provide. Users are often overwhelmed by complex IR problems, whose effect is usually mitigated by relying on human intermediaries: the vocabulary problem, the anomalous state of knowledge, the label effect, and the explicitation of visceraland muddled needs .Users might also need technical help on commands, controls and displayed information of the program they are using. Therefore, effective UIIRS have to provide a wide range of technical and conceptual support to users.

In the context of an expert system, the user interface (UI) refers to the platform or interface through which users interact with the system to input queries, receive expert advice, and navigate the system's knowledge base. The UI serves as the bridge between the user and the expert system, facilitating communication and information exchange.

 

Key aspects of the user interface in an expert system include:

1.Query Input: Providing a mechanism for users to input their queries or describe their problems in natural language or structured formats. This could involve text-based input fields, voice recognition, or graphical interfaces.

2.Response Presentation: Displaying the expert system's responses, recommendations, or solutions in a format that is understandable and actionable for the user. This may include text-based explanations, visualizations, charts, diagrams, or step-by-step instructions.

3.Navigation: Offering intuitive navigation pathways for users to explore the system's knowledge base, browse topics, and access relevant information. This could involve categorizing knowledge into topics or domains and providing search and browsing functionalities.

4.Feedback Mechanism: Incorporating mechanisms for users to provide feedback on the system's responses, such as rating the usefulness or accuracy of the advice provided. User feedback can be used to improve the system's performance and accuracy over time.

5.Personalization: Allowing users to customize their experience by setting preferences, saving favorite topics, or receiving personalized recommendations based on their past interactions with the system.

6.Help and Support: Providing access to help resources, FAQs, tutorials, and contact information for technical support or further assistance in using the system.

7.Accessibility: Ensuring that the UI is accessible to users with disabilities by incorporating features such as screen readers, keyboard navigation, adjustable font sizes, and color contrast options.

8.Security: Implementing security measures to protect user data and ensure the integrity of the system's knowledge base. This may include user authentication, data encryption, and access control mechanisms.

Overall, the user interface in an expert system plays a crucial role in facilitating effective communication and interaction between users and the system, ultimately enabling users to leverage the system's expertise to solve problems, make decisions, or acquire new knowledge in their domain of interest.

User interface (UI) design principles

User interface (UI) design principles guide the creation of effective, user-friendly interfaces. Here are some key principles:

 

  •  Clarity: Ensure that the interface is clear and easy to understand. Use simple language, intuitive icons, and consistent layout to reduce confusion
  • Consistency: Maintain consistency across the interface in terms of design elements, terminology, and interaction patterns. This helps users navigate the interface more easily
  • Simplicity: Keep the interface simple and focused on essential tasks. Avoid clutter and unnecessary elements that can overwhelm users.
  •   Feedback: Provide immediate and clear feedback to users for their actions. This includes visual cues, such as animations or changes in color, as well as informative messages or alerts.
  •  Hierarchy: Establish a clear visual hierarchy to guide users' attention and prioritize important elements. Use size, color, contrast, and spacing to differentiate between different levels of information.       Accessibility: Design the interface to be accessible to users with disabilities, ensuring that it can be easily navigated and understood by everyone, regardless of their abiliti
  • Flexibility: Allow for customization and adaptability to accommodate users' preferences and different usage contexts. Provide options for adjusting settings, layouts, and content to suit individual needs.
  •  Familiarity: Leverage existing mental models and conventions to make the interface familiar and intuitive to users. Follow established UI patterns and conventions to reduce the learning curve.
  •   Error Prevention: Anticipate potential user errors and design the interface to minimize them. Use clear labels, warnings, and validation checks to help users avoid mistakes.
  •  Efficiency: Optimize the interface for efficiency and productivity by streamlining workflows, reducing friction, and eliminating unnecessary steps.

By following these principles, UI designers can create interfaces that are intuitive, user-friendly, and enjoyable to use.

 

 

Ø Inference engine

 

Artificial Intelligence (AI) has revolutionized various industries by replicating human cognitive functions such as learning and problem-solving. At the heart of AI systems lies the inference engine, a vital component that enables machines to make decisions and draw conclusions based on available information. In the realm of AI, the inference engine acts as the core reasoning mechanism, driving intelligent systems to produce valuable outcomes through logical deductions and rule-based processing. Understanding the essence and functionality of inference engines is paramount in comprehending their multifaceted applications and the potential they hold for shaping the future.

An inference engine in an expert system is like the brain, it's the part that processes the rules and facts to draw conclusions or make decisions. It takes the knowledge stored in the system and applies it to new situations, essentially reasoning through the available information to reach a solution or recommendation.

There are two types of inference engine:

Deterministic Inference engine: The conclusions drawn from this type of inference engine are assumed to be true. It is based on facts and rules.

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:

Forward Chaining: It starts from the known facts and rules, and applies the inference rules to add their conclusion to the known facts.

Backward Chaining: It is a backward reasoning method that starts from the goal and works backward to prove the known facts.

Significance of inference engine


Importance in the AI Field

Inference engines play a pivotal role in the AI landscape, serving as the cornerstone of automated reasoning and decision support systems. Their significance lies in their ability to sift through vast amounts of data, derive meaningful insights, and facilitate informed decision-making processes across diverse domains, ranging from healthcare and finance to autonomous systems and natural language processing.

Impact on Decision Making

The integration of inference engines empowers AI systems to emulate human-like decision-making processes, enabling them to interpret complex information, draw logical conclusions, and provide contextually relevant output. This proficiency has transformative effects on various industries, arming organizations with the capability to streamline operations, optimize resource allocation, and enhance overall efficiency

 

Benefits of Inference Engine

  • Enhanced Decision-Making: Inference engines facilitate informed decision-making by processing complex data and deriving actionable insights.
  • Automation and Efficiency: The integration of inference engines optimizes processes, reduces manual efforts, and enhances overall operational efficiency.
  • Adaptive Reasoning: These engines exhibit adaptability, allowing them to dynamically adjust their reasoning processes based on evolving inputs and scenarios.

Drawbacks and Limitations

  • Dependency on Existing Data: Inference engines heavily rely on the quality and relevance of existing data, which can impact the accuracy of their conclusions.
  • Complexity of Rule-Based Systems: Designing and managing the rules within an inference engine can be complex, requiring expertise and meticulous maintenance.
  • Uncertainty Handling: While inference engines are adept at handling uncertainty, inherent limitations exist in scenarios with highly ambiguous or conflicting data.

 

Ø Knowledge base

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.

It is similar to a database that contains information and rules of a particular domain or subject.

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

In expert systems, the knowledge base is a critical component. It stores the information and rules that the system uses to make decisions or solve problems in a particular domain. Here are the key components of a knowledge base in expert systems:

 

·         Facts: These are pieces of information about the problem domain. Facts represent the current state of affairs or specific data relevant to the problem being addressed by the expert system. For example, in a medical expert system, facts could include patient symptoms, lab results, or medical history.

·         Rules: Rules are statements that describe relationships between various facts in the domain. They typically take the form of "if-then" statements, where the "if" part specifies conditions or criteria, and the "then" part specifies actions or conclusions to be taken if those conditions are met. For instance, a rule in a diagnostic expert system might state, "If the patient has a fever and cough, then consider the possibility of a respiratory infection."

·         Inference Engine: This is the component of the expert system that applies logical reasoning to deduce new facts or conclusions from the existing knowledge base. It uses the rules and facts to make inferences and draw conclusions about the problem domain.

·         Knowledge Representation: How the knowledge is structured and organized within the system. This could be represented using various formalisms such as production rules, semantic networks, frames, or ontologies.

·         Knowledge Acquisition: The process of acquiring knowledge from human experts or other sources and encoding it into the knowledge base of the expert system. This can involve interviews, documentation review, or data analysis.

·         Knowledge Refinement: The ongoing process of updating and refining the knowledge base as new information becomes available or as the system learns from experience.

·         Knowledge Validation and Verification: Ensuring that the knowledge in the system is accurate, consistent, and relevant to the problem domain. This may involve testing the system against known cases or consulting with domain experts.

Overall, the knowledge base forms the foundation of an expert system, providing the necessary information and rules for the system to perform its tasks effectively within a specific domain.

 

Methods

Knowledge representation is a crucial aspect of artificial intelligence and expert systems, as it determines how information about the problem domain is structured, stored, and manipulated within the system. There are several methods of knowledge representation, each suited to different types of problems and domains. Here are some common methods:

·         Predicate Logic: Also known as first-order logic, predicate logic represents knowledge using predicates, which are statements about objects in the domain and their relationships. It includes quantifiers like "for all" () and "there exists" (), allowing for precise statements about properties and relationships.

·         Production Rules: Production rules represent knowledge as a set of conditional statements, typically in the form of "if-then" rules. These rules describe conditions (antecedents) and actions (consequents), allowing the system to infer new knowledge from existing facts.

·         Semantic Networks: Semantic networks represent knowledge as a network of interconnected nodes, where nodes represent entities or concepts, and links represent relationships between them. This graphical representation allows for easy visualization of relationships and hierarchies within the domain.

·         Frames: Frames are a knowledge representation technique that organizes knowledge into structured units called frames. Each frame represents a particular concept or object in the domain and contains slots for storing attributes, relationships, and procedures related to that concept.

·         Ontologies: Ontologies provide a formal, explicit specification of a domain's concepts, entities, relationships, and properties. They typically consist of a taxonomy that organizes concepts into a hierarchical structure and axioms that specify relationships and constraints within the domain.

·         Rule-Based Systems: Rule-based systems combine production rules with inference mechanisms to represent and reason with knowledge effectively. They use rules to encode domain knowledge and an inference engine to apply these rules to specific situations.

·         Bayesian Networks: Bayesian networks represent probabilistic relationships between variables using a directed acyclic graph. They encode conditional dependencies between variables and allow for reasoning under uncertainty using probabilistic inference.

·         Neural Networks: Neural networks represent knowledge implicitly through their learned connections and parameters. They are particularly effective for tasks such as pattern recognition, classification, and regression, where the underlying structure of the data is complex or not fully understood.

·         Frames: Frames are a knowledge representation technique that organizes knowledge into structured units called frames. Each frame represents a particular concept or object in the domain and contains slots for storing attributes, relationships, and procedures related to that concept.

·         Fuzzy Logic: Fuzzy logic represents knowledge using fuzzy sets and fuzzy rules, allowing for reasoning in situations where concepts are imprecise or uncertain. It enables the representation of vague or subjective knowledge and facilitates decision-making in uncertain environments.

These are just a few examples of the many methods of knowledge representation used in artificial intelligence and expert systems. The choice of representation method depends on the nature of the problem domain, the types of knowledge involved, and the requirements of the application.




 fig : Components of Expert Systems



Reference 


          -------------****-------------




Expert System 

Abdul Ejaj Gazi, MLIS, 2023-24

An expert system is a computer program or software used in the field of artificial intelligence to complement the collective judgment of human expert knowledge on a specific subject [1]. An expert system is a type of system that can find acceptable solutions to complex problems, which require specialized human skills [2].

As an example of an expert system, it helps to make important decisions in the field of medical diagnosis [3], information management, virus detection, warehouse optimization and help desk management etc.

Expert system basically works based on four subsystems or components which are:
  • Knowledge base, 
  • The inference engine and 
  • The user interface.


Source: https://www.geeksforgeeks.org/expert-systems/
Fig: Architecture an Expert System


Knowledge Base

A knowledge base is an organized collection of facts or systematic information about a particular domain [4]. In other words, a knowledge base is a self-service online information library that provides advanced output on a particular domain based on user input [5].

The inference engine can interpret and access the fractal information contained in this knowledge base to provide answers according to the user's query [4].

Example: Public libraries, various databases, particular subject repositories traditionally serve as knowledge bases . However, in the case of expert systems, the knowledge base is a centralized repository which is eventually qualified by machines and technology and is used to disseminate information [6].


Need

In many cases, artificial intelligence is used to build the knowledge base system, but in other cases, the simply index in technique is used, so that the system can provide an immediate and acceptable response to the user's query [5]. Its main need are:
  • To provide easy access to information according to the user's demand, 
  • To narrow down solutions to complex problems with the help of software, and 
  • To provide immediate output according to the user's input.

Knowledge base Software 

Knowledge base software is part of a kind of knowledge management software that can hold different types of knowledge according to the user's needs, it works like a self-survey online information library [7]. Some examples of such software are-
  • Zendesk,
  • Guru,
  • Zoho Corporation and 
  • Bloomfire.

Benifit

Knowledge base has various benefits. The main benefit of this is that it can satisfy the user with information according to his needs. Also other benefits are [5]:
  • Consistent service,
  • Higher resolution rates and 
  • Lower training costs.


Inference Engine

Inference Engine works as a core element or component in an expert system, it helps to find answers from the knowledge base by applying some predefined logical rules based on the user's query [8]. In other words, The inference engine can interpret and access the fractal information contained in this knowledge base to provide answers according to the user's query [4].

The logic used in an inference engine is represented by an IF-THEN rule. The common format for this rule is IF <logical expression> THEN <logical expression> [9,10].


Use

Some important uses of inference engines are as follows [8,10] :
  • Healthcare
  • Expert system
  • Artificial intelligent
  • Smart home device
  • Semantic web
  • E-commerce
  • Cyber security and 
  • Fuzzy Modelling etc.


Role 

The important roles it plays in an expert system are:
  • Process the data given by the user, 
  • Automated decision making and 
  • Future prediction.

Type 

Along with the progress of expert system, various types of new technological inference engines are being added to the expert system. These are  [9]:
  • Truth Maintenance
  • Hypothetical Reasoning
  • Fuzzy Logic
  • Ontology Classification.
Also inference engine can be further divided into two types which are [11]:
  1. Deterministic Inference engine: Usually dependent on facts and rules.
  2. Probabilistic Inference engine: It usually depends on probability.

Advantages 

Inference Engine features are as follows [12]:
  • It is flexible, 
  • Less time is required for decision making, 
  • It provides access to knowledge base,
  • It is able to process large amounts of data continuously and accurately and 
  • It helps to increase output and productivity.

Disadvantages

Its disadvantages are as follows [9]:
  • Tt is very costly, 
  • Sometimes difficult to use, and 
  • An expert knowledge base engineer is required.


User Interface (UI)

User interface can be defined as a means of human interaction with information system. The user interface is created through the use of graphics, illustrations and different types of photographs keeping in mind different types of views from different devices, which display the digital product or service to the user or customer and helps to increase its acceptance [13]. It two main important functions are:
  1. Accepting input from the user and
  2. Providing results to the use.
In the case of expert system, the user interface does the work of interaction between the expert system and the user. In this case, input from the user is usually collected through command prompts, dialog boxes or other input methods [14].


Important of UI

The importance of user interface in an expert system are as follows:
  • It provides the facility of complete navigation of the expert system's knowledge base,
  • It plays an important role in saving time of expert system users and 
  • It can increase user attraction by design and layout, which makes users more inclined to use such system later.

Type of UI 

The user interface can be of different types, depending on the digital product and service and so on. Some of these types of user interfaces are [13, 15]:
  • Graphical User Interface (GUI)
  • Command Line Interface (CLI)
  • Voice User Interface (VUI)
  • Touch user interface
  • Natural language user interface and so on.

UI Design elements 

Some of the notable elements used in UI design are as follows [16]:
  • Menu
  • Icons
  • Buttons
  • Navigation
  • Dropdown
  • Checkboxes
  • Toggles
  • Card
  • Progress bars
  • Search bar
  • Form etc.

Reference 

1. https://expertisefinder.com/expert-systems/
2. https://www.simplilearn.com/tutorials/artificial-intelligence-tutorial/what-are-expert-systems-in-ai
3. https://www.linkedin.com/advice/0/what-best-examples-expert-systems-decision-support-bpsbc
4. https://www.britannica.com/technology/knowledge-base
5. https://www.atlassian.com/itsm/knowledge-management/what-is-a-knowledge-base 
6. https://www.techtarget.com/whatis/definition/knowledge-base
7. https://www.getguru.com/free-knowledge-base-software
8. https://deepgram.com/ai-glossary/inference-engine
9. https://en.wikipedia.org/wiki/Inference_engine
10. https://www.scaler.com/topics/artificial-intelligence-tutorial/inference-engine-in-ai/
11. https://www.javatpoint.com/expert-systems-in-artificial-intelligence
12. https://www.naukri.com/code360/library/inference-engine-in-ai
13. https://www.geeksforgeeks.org/user-interface-ui/
14. https://en.wikibooks.org/wiki/Expert_Systems/Components_of_Expert_Systems
15. https://www.techtarget.com/searchapparchitecture/definition/user-interface-UI
16. https://www.uxpin.com/studio/blog/user-interface-elements-every-designer-should-know


             *****             


Expert System: Knowledge Base, Inference Engine and User Interface  

Suchandra Biswas, MLISc. Day(2023-24) 

Expert System

An expert system is a type of artificial intelligence (AI) system that emulates the decision-making abilities of human experts in a specific domain. It utilizes a knowledge base, inference engine, and user interface to provide expert-level advice, problem-solving, and decision support. 

The components of an expert system are:


1. Knowledge Base:

   - The knowledge base is the repository where domain-specific knowledge is stored in a structured format. It encompasses factual information, rules, heuristics, procedures, and problem-solving strategies relevant to the domain of expertise.

   - Knowledge in the expert system is typically represented using symbolic or declarative languages, such as rules-based representations, semantic networks, frames, or ontologies.

   - The knowledge base is created through the acquisition of expertise from human experts, domain knowledge sources, textbooks, research papers, and other relevant sources.


2. Inference Engine:

   - The inference engine is the reasoning component of the expert system responsible for processing the knowledge stored in the knowledge base to draw inferences, make decisions, and provide recommendations.

   - It applies logical reasoning mechanisms, such as deduction, induction, abduction, and fuzzy logic, to derive new information from the available knowledge and facts.

   - The inference engine evaluates the rules and facts in the knowledge base, matches them against the current problem or query, and executes the appropriate inference mechanism to generate responses or solutions.

   - Different inference strategies, such as forward chaining or backward chaining, may be employed based on the nature of the problem and the goals of the expert system.


3. User Interface:

   - The user interface serves as the interface through which users interact with the expert system. It provides mechanisms for inputting queries, receiving responses, and interacting with the system's functionalities.

   - The user interface can take various forms, including graphical user interfaces (GUIs), command-line interfaces (CLIs), natural language interfaces (NLIs), or conversational interfaces.

   - The design of the user interface aims to make interaction with the expert system intuitive, efficient, and user-friendly, catering to the needs and preferences of the system's users.


4. Explanation Facility:

   - Many expert systems include an explanation facility component that provides explanations for the system's recommendations, decisions, or problem-solving processes.

   - The explanation facility helps users understand the reasoning behind the system's outputs, enhances transparency and trust in the system, and facilitates knowledge transfer from the expert system to the user.


5. Knowledge Acquisition Module:

   - The knowledge acquisition module is responsible for acquiring, eliciting, and updating knowledge in the expert system.

   - It may employ various techniques and methodologies, such as interviews, surveys, knowledge elicitation sessions, observation, and knowledge engineering tools, to capture expertise from human experts and domain knowledge sources.

   - The knowledge acquisition process is iterative and ongoing, allowing the expert system to adapt and evolve over time as new knowledge becomes available or existing knowledge is refined.


6. Knowledge Refinement and Maintenance Tools:

   - Expert systems often include tools and utilities for refining, updating, and maintaining the knowledge base and inference engine.

   - These tools may support tasks such as knowledge validation, consistency checking, knowledge revision, and version control to ensure the accuracy, reliability, and relevance of the expert system's knowledge over time.


By integrating these components effectively, expert systems can emulate the problem-solving capabilities of human experts, provide valuable insights and recommendations, and support decision-making processes in diverse domains ranging from medicine and engineering to finance and logistics.

Knowledge Base

In the realm of Information Retrieval (IR), a knowledge base serves as a foundational reservoir of organized information. It's a structured repository that captures and stores knowledge in a way that facilitates retrieval and utilization. Here’s a breakdown of the role and components of a knowledge base in IR:


1. Centralized Repository: At its core, a knowledge base acts as a centralized repository where various forms of knowledge are collected, stored, and organized. This knowledge can range from structured data, such as databases, to unstructured information like text documents, images, videos, and even user-generated content.


2. Structured Information: Knowledge bases often organize information in a structured format, which enables efficient retrieval and manipulation. This structuring can involve categorization, tagging, or the use of ontologies and taxonomies to define relationships between different pieces of knowledge.


3. Domain Specific: Knowledge bases are often tailored to specific domains or subject areas, allowing them to contain relevant information for targeted retrieval. For instance, a knowledge base in medicine might include information about diseases, symptoms, treatments, and medical procedures.


4. Semantic Enrichment: Advanced knowledge bases incorporate semantic enrichment techniques to enhance the understanding of information. This involves annotating data with additional metadata or semantic tags that provide context and meaning, facilitating more precise retrieval and interpretation.


5. Indexing and Retrieval: A key function of a knowledge base in IR is to support efficient indexing and retrieval of information. This involves creating indexes or catalogs that enable quick access to relevant knowledge based on user queries or search criteria.


6. Query Expansion: Knowledge bases often incorporate techniques like query expansion to improve the relevance of search results. By analyzing user queries and expanding them with synonyms, related terms, or concepts from the knowledge base, the system can retrieve a broader range of relevant information.


7. Knowledge Graphs: In many modern knowledge bases, information is represented as interconnected entities and relationships in a knowledge graph. This graph structure allows for more nuanced querying and exploration of relationships between different pieces of information.


8. Machine Learning Integration: Some knowledge bases leverage machine learning algorithms to improve their functionality. For example, machine learning models can be used to automatically extract relevant information from unstructured text or to personalize search results based on user behavior and preferences.


9. Continuous Updating: Knowledge bases are dynamic entities that require continuous updating to remain relevant and accurate. This involves incorporating new information, correcting errors, and refining the structure and organization of the knowledge base over time.


10. Applications: Knowledge bases find applications in various fields, including search engines, recommendation systems, question answering systems, and decision support systems. They serve as the backbone of many information retrieval and knowledge management solutions, enabling users to access and leverage information effectively.


In summary, a knowledge base in Information Retrieval serves as a vital infrastructure for organizing, storing, and retrieving knowledge efficiently. By structuring information, enriching semantics, and leveraging advanced techniques, knowledge bases empower users to access relevant information and make informed decisions across diverse domains.


Inference Engine

An inference engine is a crucial component of artificial intelligence (AI) systems, particularly in the realm of expert systems and rule-based reasoning. It plays a pivotal role in deducing new information from existing knowledge and making logical inferences based on a set of rules or facts. Here's a deeper exploration of what an inference engine is and how it functions:


1. Definition: An inference engine is a software module or component that processes rules and facts to deduce new information or conclusions. It employs logical reasoning mechanisms to draw inferences from available knowledge and answer queries or make decisions.


2. Rule-Based Reasoning: Inference engines typically operate within rule-based systems, where knowledge is represented in the form of rules or logical statements. These rules encode relationships, constraints, and reasoning patterns within a specific domain.


3. Working Principle: The inference engine works by applying rules to known facts or data to derive new information or conclusions. It systematically evaluates the conditions specified in the rules and performs logical deductions to infer additional facts or make decisions.


4. Forward Chaining vs. Backward Chaining: Inference engines can employ different reasoning strategies, such as forward chaining and backward chaining. 
   - Forward Chaining: In this approach, the engine starts with the available facts and applies rules iteratively to derive new conclusions until no further inferences can be made.
   - Backward Chaining: Here, the engine begins with a goal or query and works backward to find the set of rules and facts that support or fulfill the goal. It recursively applies rules to reach the desired conclusion.


5. Knowledge Representation: Inference engines rely on a formal representation of knowledge, which can include logical rules, facts, assertions, and relationships. This knowledge is typically organized in a structured format that the engine can manipulate and reason with effectively.


6. Uncertainty Handling: Advanced inference engines incorporate mechanisms to handle uncertainty and ambiguity in the knowledge base. This may involve probabilistic reasoning, fuzzy logic, or other techniques to accommodate imperfect or incomplete information.


7. Integration with Expert Systems: Inference engines are often integrated into expert systems, which are AI systems designed to emulate the decision-making capabilities of human experts in specific domains. The engine serves as the reasoning mechanism that drives the expert system's ability to diagnose problems, recommend actions, or provide solutions.


8. Applications: Inference engines find applications across various domains, including diagnostic systems, intelligent tutoring systems, decision support systems, and natural language processing. They are fundamental components of AI technologies that automate reasoning and decision-making processes.


9. Performance Optimization: Efficient inference engines employ optimization techniques to enhance performance, such as caching previously derived conclusions, pruning redundant rules, or parallelizing inference tasks to leverage multicore processors or distributed computing environments.


10. Evolution and Advancements: Over time, inference engines have evolved with advancements in AI research and technology. Modern inference engines may incorporate machine learning techniques, such as neural networks or probabilistic graphical models, to enhance their reasoning capabilities and adaptability to complex problems.
In essence, an inference engine serves as the reasoning backbone of rule-based AI systems, enabling them to derive new knowledge, make decisions, and provide intelligent responses based on available information and logical rules. Its ability to process rules and facts effectively makes it a key enabler of intelligent automation and decision support in diverse applications.


User Interface


A user interface (UI) serves as the primary point of interaction between users and digital systems, facilitating the exchange of information and commands. It encompasses the design elements and functionalities that enable users to navigate, interact with, and control software applications, websites, devices, or systems. Here's a comprehensive overview of user interfaces:


1. Definition and Importance: A user interface refers to the visual, auditory, and tactile elements that allow users to interact with a system or application. It is crucial for providing users with intuitive and efficient ways to accomplish tasks, access information, and achieve their goals while using a software product or device.
  

2. Types of User Interfaces:

 - Graphical User Interface (GUI): GUIs utilize visual elements such as icons, menus, buttons, and windows to enable interaction. They are prevalent in desktop and mobile applications, providing users with familiar metaphors for navigation and control.
   - Command-Line Interface (CLI): CLIs rely on text-based commands entered by users to interact with the system. They are commonly used by developers, system administrators, and power users for tasks that require precise control and automation.
   - Voice User Interface (VUI): VUIs enable interaction through voice commands and responses. Virtual assistants like Siri, Alexa, and Google Assistant employ VUIs to perform tasks, answer questions, and provide information.
   - Natural Language User Interface (NLUI): NLUIs allow users to interact with systems using natural language inputs, which are processed and interpreted by AI algorithms. They are used in chatbots, virtual agents, and natural language processing applications.


3. Elements of User Interface Design:


   - Visual Design: The aesthetic appeal and layout of UI elements, including typography, colors, icons, and imagery.
   - Navigation: The structure and organization of menus, buttons, links, and other navigational elements to facilitate ease of use and discoverability.
   - Interactivity: The responsiveness and feedback provided to users when they interact with UI elements, such as animations, transitions, and sound effects.
   - Consistency: Maintaining uniformity in design patterns, terminology, and behavior across different parts of the interface to enhance usability and user experience.
   - Accessibility: Ensuring that the UI is accessible to users with disabilities by adhering to accessibility standards and providing features such as keyboard navigation, screen readers, and text resizing options.


4. User Interface Development Process:


   - User Research: Understanding the needs, preferences, and behaviors of target users through methods like surveys, interviews, and usability testing.
   - Wireframing and Prototyping: Creating low-fidelity wireframes and interactive prototypes to visualize the layout and functionality of the UI before implementation.
   - Visual Design: Designing high-fidelity mockups and visual assets, incorporating branding guidelines, and refining the visual style of the UI.
   - Implementation: Developing the front-end code and integrating UI components with back-end functionality, ensuring responsiveness and compatibility across devices and platforms.
   - Testing and Iteration: Conducting usability testing, gathering feedback from users, and iteratively refining the UI based on user insights and performance metrics.


5. Emerging Trends and Technologies:


   - Responsive Design: Designing UIs that adapt seamlessly to different screen sizes and device orientations, ensuring optimal user experience across desktops, tablets, and smartphones.
   - Augmented Reality (AR) and Virtual Reality (VR): Creating immersive UIs that blend physical and digital environments, offering new possibilities for gaming, training, visualization, and simulation.
   - Gesture-Based Interaction: Incorporating gestures and motion controls into UIs to enable intuitive interaction with touchscreens, motion sensors, and depth-sensing cameras.
   - Conversational Interfaces: Leveraging natural language processing and machine learning to build chatbots, virtual assistants, and conversational agents that engage users in human-like dialogue.


In conclusion, a well-designed user interface is essential for delivering a seamless and engaging user experience across various digital platforms and devices. By understanding user needs, employing effective design principles, and embracing emerging technologies, UI designers can create interfaces that are intuitive, accessible, and visually appealing, enhancing user satisfaction and driving adoption of software products and services.


https://www.tutorialspoint.com/artificial_intelligence/artificial_intelligence_expert_systems.htm
Expert System and its components



References

  • Chowdhury, G. G. (2004). Introduction to modern information retrieval. Facet Publishing.
  • https://www.sciencedirect.com/science/article/abs/pii/0167739X9290053E
  • https://www.sciencedirect.com/science/article/abs/pii/0306457385900020
  • https://ieeexplore.ieee.org/abstract/document/6694743
  • http://ui.korea.ac.kr/Board/Upload/a%20personal%20view_n.pdf

***********

Expert System: Knowledge Base, Inference Engine & User Interface

(Bhaskar mondal,MLISC.Day Batch2023-2024)


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 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:



Components of Expert System

An expert system mainly consists of three components:

1.     The Knowledge Base

2.     The Inference Engine

3.     The inference engine    


The Knowledge Base

The knowledge base is a vital component of an expert system. It embodies the knowl- edge that the system uses to solve a problem or to perform a task. The knowledge required in a knowledge base may be represented in a number of ways. The knowl- edge that needs to be incorporated into an intelligent information retrieval system is



Source:1.     Chowdhury, G. G. (2004). Introduction to modern information retrieval

diverse: it involves many different kinds of knowledge, including knowledge of the relationship between documents and their descriptions, knowledge of the database and its access mechanisms, knowledge of users' problems, and knowledge of the subject domain. 3 The different methods available for knowledge representation are discussed later in this chapter and in Chapter 20.

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.

It is similar to a database that contains information and rules of a particular domain or subject.

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.

 

The inference engine

The inference engine or reasoning mechanism uses and manipulates the knowledge base to arrive at a solution. The form of the inference engine depends on the nature, structure, and size of the knowledge base, but not on its contents. The reasoning mech- anism in an intelligent information retrieval system is concerned with inferring a doc- ument set that will enable a user to resolve or better manage a particular problem.

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.

With the help of an inference engine, the system extracts the knowledge from the knowledge base.

There are two types of inference engine:

Deterministic Inference engine: The conclusions drawn from this type of inference engine are assumed to be true. It is based on facts and rules.

Probabilistic Inference engine: This type of inference engine contains uncertainty in conclusions, and based on the probability.

Inferencing engines for rule-based systems generally work by either forward or backward chaining of rules. Two strategies are:

Forward Chaining

Forward Chaining is a strategic process used by the Expert System to answer the questions – What will happen next. This strategy is mostly used for managing tasks like creating a conclusion, result or effect. Example – prediction or share market movement status.




Backward Chaining

Backward Chaining is a strategy used by the Expert System to answer the questions – Why this has happened. This strategy is mostly used to find out the root cause or reason behind it, considering what has already happened. Example – diagnosis of stomach pain, blood cancer or dengue, etc.


User interfaces

Most expert systems require information from the user in order to specify the problem to be solved and to provide an initial set of conditions or observed data. An intelli- gent information retrieval system will need to communicate with its users in natural language. Interfaces that accept users' queries in natural language and transform it in an internal representation for the purpose of matching with the database are called nat- ural language interfaces. Specific features of these, and the recently developed inter- faces in the area of intelligent information retrieval systems are discussed later .

 One of the major objectives of expert systems is to allow people to communicate in natural language, which is processed by the system to derive meaning for further action. The processing of natural language input, whether queries or text, for further action by the system is called natural language processing (NLP). A number of Al and expert system technologies have been applied to NLP over the past few years. Brooks3 says that the great benefit of expert systems research to information retrieval has been that it has stimulated interest in the exploration of what knowledge, in the problem- solving strategies used by human retrieval experts, is required to achieve intelligent retrieval, and in how documents can be represented so that the system knows some- thing about their contents.

It explains how the ES has arrived at a particular recommendation. The explanation may appear

in the following forms −

1.     Natural language displayed on screen.

2.     Verbal narrations in natural language.

3.     Listing of rule numbers displayed on the screen.

Reference:



                         **********



Deep Das 

MLISc 2023-2024


Knowledge Base in Expert Systems: 

In the realm of artificial intelligence, knowledge base serves as the cornerstone of expert systems, playing a pivotal role in mimicking human expertise and facilitating intelligent decision-making processes. This essay aims to delve into the significance, structure, and functions of knowledge bases within expert systems, elucidating their crucial role in information retrieval and problem-solving tasks.


Significance of Knowledge Base:

At the heart of an expert system lies its knowledge base, which encapsulates domain-specific information, rules, heuristics, and inferential knowledge essential for reasoning and decision-making. The significance of the knowledge base stems from its capacity to store, organize, and apply expertise, enabling the expert system to emulate the cognitive processes of human experts within a specialized domain. By leveraging this repository of knowledge, expert systems can effectively analyse complex problems, provide recommendations, and deliver valuable insights to users.


Structure of Knowledge Base:

The Structure  of a knowledge base is typically hierarchical, comprising various types of knowledge representations tailored to the specific requirements of the domain. Common structures include:

1. Facts: These are atomic pieces of information representing the current state of affairs within the domain. Facts serve as the foundation upon which rules and inferences are based, providing raw data for analysis and decision-making.

2. Rules: Rules codify expert knowledge and expertise in the form of conditional statements or logical propositions. They specify relationships, patterns, or conditions within the domain and prescribe actions or conclusions based on input conditions. For example, a medical expert system may include rules such as "if the patient exhibits symptoms A, B, and C, then diagnose condition X."

3. Heuristics: Heuristics are general principles, guidelines, or strategies derived from expert experience or common sense reasoning. They provide shortcuts or decision-making criteria for handling complex or uncertain situations within the domain. Heuristics complement rules and can guide the inference process in situations where explicit rules are lacking or insufficient.

4. Meta-Knowledge: Meta-knowledge refers to knowledge about the knowledge itself, including its origin, reliability, uncertainty, and context. Meta-knowledge helps the expert system assess the quality and relevance of information, evaluate the confidence level of inferences, and adapt its reasoning strategies based on the reliability of sources.


Functions of Knowledge Base:

The knowledge base performs several key functions within an expert system, including:

1. Knowledge Representation: The knowledge base serves as a repository for encoding and representing domain-specific knowledge in a structured and machine-readable format. This representation enables the expert system to interpret, manipulate, and reason with the available knowledge effectively.

2. Inference and Reasoning:  Using the knowledge stored in the knowledge base, the expert system employs inference mechanisms and reasoning algorithms to derive conclusions, make decisions, and generate solutions to user queries or problems. Inference involves applying logical deduction, induction, or abduction to draw new insights or infer missing information from existing knowledge.

3. Knowledge Updating and Maintenance:  The knowledge base is not static; it evolves over time as new information becomes available, expert insights emerge, or domain knowledge advances. Knowledge updating and maintenance mechanisms allow the expert system to incorporate new knowledge, revise existing knowledge, and adapt to changing circumstances or requirements within the domain.

4. Explanatory Capabilities: In addition to providing answers or recommendations, the knowledge base enables the expert system to justify its decisions and provide explanations to users. Explanation facilities within the expert system elucidate the reasoning process, the evidence considered, and the rationale behind the system's recommendations, enhancing user understanding and trust.

 The knowledge base is a fundamental component of expert systems, serving as the repository of domain-specific expertise and knowledge essential for intelligent decision-making and problem-solving. Its hierarchical structure, encompassing facts, rules, heuristics, and meta-knowledge, enables expert systems to interpret, reason, and infer solutions to complex problems within specialized domains. By leveraging the knowledge base, expert systems can emulate human expertise, provide valuable insights, and assist users in information retrieval and decision support tasks across a wide range of domains.


References:


1. Jackson, P. (1999). Introduction to expert systems. Pearson Education.

2. Giarratano, J. C., & Riley, G. (1989). Expert systems: Principles and programming (2nd ed.). PWS Publishing Company.

3. Brachman, R. J., & Levesque, H. J. (2004). Knowledge representation and reasoning. Elsevier/Morgan Kaufmann.

4. Chowdhury, G. G. (2004). Introduction to modern information retrieval



Inference Engine in Expert Systems: 


The inference engine stands as the central processing unit within an expert system, orchestrating the manipulation of knowledge and guiding the system's reasoning and decision-making capabilities. This essay aims to explore the significance, functionality, and operation of inference engines in expert systems, shedding light on their pivotal role in transforming raw knowledge into actionable insights.


Significance of Inference Engine:


At the core of an expert system, the inference engine serves as the brain behind intelligent decision-making, drawing upon the knowledge stored in the system's knowledge base to infer conclusions, generate recommendations, and provide solutions to user queries or problems. Its significance lies in its ability to interpret user input, apply reasoning algorithms, and traverse the knowledge base to derive logical conclusions, mimicking the cognitive processes of human experts within a specialized domain.


Functionality of Inference Engine:


The inference engine performs a myriad of functions within an expert system, including:


1. Pattern Matching and Rule Evaluation: Upon receiving user input or queries, the inference engine engages in pattern matching and rule evaluation to identify relevant rules and facts within the knowledge base. It compares the input against the conditions specified in the rules, triggering the activation of applicable rules based on the matching criteria.


2. Forward Chaining and Backward Chaining:  Inference engines commonly employ forward chaining and backward chaining mechanisms to infer conclusions and make decisions. Forward chaining involves starting with known facts and applying rules iteratively to derive new conclusions until a desired outcome is achieved. Conversely, backward chaining begins with the goal or desired outcome and works backward through the rules to determine the conditions necessary to satisfy the goal.


3. Conflict Resolution:  In scenarios where multiple rules are applicable or conflicting, the inference engine employs conflict resolution strategies to prioritize and select the most relevant or highest-priority rules. Conflict resolution mechanisms may consider factors such as rule specificity, certainty factors, or user-defined preferences to resolve conflicts and guide the reasoning process effectively.


4. Uncertainty Handling: Expert systems often operate in domains characterized by uncertainty, ambiguity, or incomplete information. The inference engine incorporates mechanisms for handling uncertainty, such as probabilistic reasoning, fuzzy logic, or certainty factors, to quantify and reason with uncertain or imprecise knowledge effectively.


5. Explanation Generation:  In addition to deriving conclusions, the inference engine generates explanations to elucidate the reasoning process and justify its recommendations or decisions to users. Explanation generation capabilities enhance user understanding, transparency, and trust in the expert system's outputs.


Operation of Inference Engine:


The operation of the inference engine involves several steps, including:


1. Parsing and Interpretation: The inference engine parses user input or queries, extracting relevant information and translating it into a format suitable for processing within the expert system.


2. Rule Activation: Based on the parsed input and the current state of the knowledge base, the inference engine activates relevant rules that match the input conditions, initiating the inference process.


3. Inference and Conclusion Generation:  Using forward or backward chaining, the inference engine applies activated rules, performs logical deduction or inference, and derives conclusions or recommendations based on the available knowledge and input conditions.


4. Conflict Resolution and Explanation Generation:  In cases of conflicts or uncertainty, the inference engine resolves conflicts, prioritizes rules, and generates explanations to justify its reasoning process and recommendations to users.

The inference engine serves as the computational powerhouse within an expert system, driving intelligent decision-making, and problem-solving through the manipulation of knowledge and application of reasoning algorithms. Its functionality encompasses pattern matching, rule evaluation, conflict resolution, uncertainty handling, and explanation generation, enabling expert systems to emulate human expertise and provide valuable insights across diverse domains. By unraveling the operation of the inference engine, we gain deeper insights into the inner workings of expert systems and their capacity to harness knowledge for informed decision-making.


References:


1. Russell, S. J., & Norvig, P. (2016). Artificial intelligence: A modern approach (3rd ed.). Pearson.

2. Hayes-Roth, F., Waterman, D. A., & Lenat, D. B. (1983). Building expert systems. Addison-Wesley.

3. Jackson, P. (1999). Introduction to expert systems. Pearson Education.

4. Chowdhury, G. G. (2004). Introduction to modern information retrieval


User Interface in Expert Systems: 

The user interface serves as the gateway through which users interact with expert systems, facilitating communication, information exchange, and decision-making processes. This essay aims to explore the significance, design principles, and functionalities of user interfaces in expert systems, highlighting their crucial role in enhancing usability, accessibility, and user experience.


Significance of User Interface:

In the context of expert systems, the user interface holds immense significance as it bridges the gap between users and the underlying intelligence of the system. It serves as the medium through which users input queries, receive responses, and interact with the system's recommendations or decisions. A well-designed user interface can enhance user engagement, foster trust, and facilitate effective collaboration between users and the expert system.


Design Principles of User Interface:

Designing a user interface for an expert system entails adhering to several key principles to ensure usability, intuitiveness, and effectiveness. Some of these principles include:


1. User-Centred Design: The user interface should be designed with the needs, preferences, and cognitive abilities of the target users in mind. It should prioritize ease of use, clarity, and accessibility to accommodate users with varying levels of expertise and domain knowledge.

2. Consistency and Familiarity: The user interface should maintain consistency in layout, terminology, and interaction patterns to promote familiarity and reduce cognitive load for users. Consistent design elements enhance learnability, efficiency, and user satisfaction.

3. Feedback and Responsiveness:  The user interface should provide timely feedback and responsive feedback to user actions, such as input validation, progress indicators, and error messages. Feedback mechanisms reassure users, confirm their actions, and guide them through the interaction process.

4. Customization and Personalization: The user interface should offer flexibility for users to customize their experience, such as preferences settings, personalized recommendations, or adaptive interfaces tailored to individual user needs and preferences.

5. Clarity and Simplicity: The user interface should prioritize clarity, simplicity, and minimalism in design elements, layout, and information presentation. Clear visual hierarchy, concise language, and intuitive navigation promote ease of understanding and reduce cognitive effort for users.


Functionalities of User Interface:


The user interface in an expert system encompasses various functionalities aimed at facilitating user interaction, information retrieval, and decision-making. Key functionalities include:

1. Input Mechanisms:  The user interface provides input mechanisms for users to input queries, provide feedback, or enter data relevant to the problem domain. Input mechanisms may include text fields, drop-down menus, checkboxes, or natural language processing interfaces for more intuitive interaction.

2. Output Presentation: The user interface presents the system's outputs, recommendations, or conclusions in a clear, organized manner that is easy for users to interpret and understand. Output presentation may involve visualizations, textual summaries, or interactive displays tailored to the nature of the information being conveyed.

3. Navigation and Interaction: The user interface facilitates navigation and interaction within the expert system, guiding users through the interaction process and enabling them to explore different features, options, or functionalities seamlessly. Intuitive navigation promotes efficiency and user engagement.

4. Contextual Help and Guidance: The user interface may incorporate contextual help, tooltips, or guidance features to assist users in understanding the system's functionalities, interpreting outputs, or resolving issues encountered during interaction. Contextual help enhances user autonomy and confidence in using the expert system.

The user interface plays a pivotal role in facilitating user interaction, information retrieval, and decision-making within expert systems. By adhering to design principles such as user-centered design, consistency, feedback, and simplicity, user interfaces can enhance usability, accessibility, and user experience. Through its functionalities, the user interface serves as the conduit through which users access and leverage the intelligence of expert systems, fostering effective collaboration and knowledge exchange.


References:


1. Shneiderman, B., & Plaisant, C. (2016). Designing the user interface: Strategies for effective human-computer interaction (6th ed.). Pearson.

2. Preece, J., Rogers, Y., & Sharp, H. (2015). Interaction design: Beyond human-computer interaction (4th ed.). Wiley.

3. Dix, A., Finlay, J., Abowd, G., & Beale, R. (2004). Human-computer interaction (3rd ed.). Pearson.

4. Chowdhury, G. G. (2004). Introduction to modern information retrieval






****************                



  

Expert systems 

Madhabi Rani Bijuli, Roll - 09, M.Lib.I.Sc.(Day, 2023-24)

In information retrieval, expert systems involve utilizing a stored knowledge base and rules to derive problem solutions. The introduction of expert system techniques aims to improve information handling operations by addressing limitations in existing systems. These techniques can be applied in various ways, such as tailoring search efforts to individual user requirements, extracting subject content from text, refining cataloguing and indexing systems, constructing automatic search intermediary systems, and developing text transformation systems like automatic summarization and abstracting. The basic components of most expert systems:




Fig: Components of expert system
Source:https://images.app.goo.gl/FWr2zchonM9PdUPX6


1. Knowledge Base (KB):


A knowledge base acts as a specialized repository designed to store knowledge sourced from various experts within a specific domain. It functions as an extensive reservoir of information, akin to a large storage unit dedicated to housing accumulated knowledge. The effectiveness and precision of an expert system are often directly proportional to the comprehensiveness of the knowledge base it relies upon. 


A knowledge base resembles a database, containing a wealth of information and rules pertinent to a particular subject or domain. It encapsulates not only factual data but also procedural knowledge, making it a comprehensive resource for decision-making and problem-solving within its designated field. The knowledge base can be perceived as a collection of objects and their associated attributes. For example, considering a lion as an object within the domain of zoology, its attributes might include being a mammal, a carnivore, and not being a domesticated animal. This structured representation of knowledge facilitates the development and implementation of expert systems by providing a framework for encoding and organizing domain-specific information.¹


The knowledge base contains the domain-specific information, rules, facts, and heuristics used by the inference engine to make decisions or provide solutions. These are–


1. Domain Specific Information: This includes all the information about the subject matter that the expert system deals with. It encompasses both textbook knowledge and practical expertise gained through experience.


2. Facts: These are specific pieces of information relevant to the problem domain. Facts can range from simple data points to complex relationships between entities.


3. Rules: Rules are logical statements that dictate how to infer new information or make decisions based on existing facts. These rules are typically formulated as If/Then statements, where the antecedent specifies a condition that must be satisfied for the rule to be applicable, and the consequent specifies the action to be taken when the rule is triggered or "fires." 


For example: IF the temperature is above 30°C THEN turn on the air conditioner. The process of reasoning in an expert system involves matching the current state or input against the antecedents of the rules in the knowledge base. When a rule's antecedent is satisfied by the current state, it is added to a queue called the agenda.²


4. Heuristics: These are general problem-solving strategies or rules of thumb used by experts to guide their decision-making process. Heuristics help the system to efficiently search through the knowledge base and make informed decisions.


Knowledge base serves as the repository of expertise and is typically structured in a way that the inference engine can efficiently access and utilize the stored knowledge. Knowledge in the knowledge base can be represented using various formalisms such as production rules, semantic networks, frames, or ontologies. The knowledge base is continuously updated and refined as new information becomes available or the system learns from interactions. 



  

2. Inference Engine (IE):


The inference engine is the reasoning component of the expert system. It uses the knowledge stored in the knowledge base to draw conclusions, make predictions, or provide recommendations. The inference engine is the core component of an expert system responsible for applying the knowledge stored in the knowledge base to solve problems. It determines the steps needed to go from the initial information to the final solution, essentially representing the "know-how" of the expert system.


 The inference engine applies various rules, algorithms, or heuristics to draw conclusions from the available information. It processes user queries or inputs, applies appropriate rules, and generates responses or recommendations. The inference engine is responsible for processing information and generating conclusions or recommendations by–


1. Reasoning and Deduction: The primary function of the inference engine is to reason and deduce new information based on the knowledge stored in the knowledge base. It does this by applying various logical rules, algorithms, or heuristics to the available data. For example, it might apply deductive reasoning to infer new facts from existing ones, or it might use probabilistic reasoning to make educated guesses based on statistical data.


2. Processing User Queries: The inference engine is also responsible for processing user queries or inputs. When a user submits a question or request to the expert system, the inference engine analyzes the input and determines the appropriate course of action. This may involve searching the knowledge base for relevant information, applying reasoning methods to derive a solution, or consulting external sources if necessary.


3. Applying Rules and Algorithms: Inference engines can employ a variety of rules, algorithms, or heuristics to draw conclusions from the available information. For example, they might use forward chaining, where they start with known facts and apply rules to derive new conclusions until a goal is reached. Alternatively, they might use backward chaining, where they start with a goal and work backward to find the facts that support it. They may also use fuzzy logic to handle uncertainty or imprecision in the data.


4. Generating Responses or Recommendations: Once the inference engine has processed the available information and applied the appropriate rules or algorithms, it generates responses or recommendations for the user. These responses might take the form of text-based answers, graphical visualizations, or other types of output depending on the nature of the expert system and the user's preferences.


Inference engines can employ different reasoning methods such as forward chaining, backward chaining, or fuzzy logic to handle different types of problems effectively. They are–


1.Forward Chaining: Forward chaining is a problem-solving strategy where the system starts with the available initial information and incrementally builds towards a solution. It is particularly useful when there are a small number of initial conditions but a large number of possible solutions. The inference engine determines the best solution by continuously applying rules and heuristics to generate new information and move closer to the solution.

 In forward chaining, the system starts with the available facts and uses rules to infer new information until a conclusion is reached. One of the forward chaining processes is an analogy, which is the game of Twenty Questions, where each piece of information leads to new questions, gradually narrowing down the possible solutions.


2. Backward Chaining: Backward chaining involves starting with a possible solution and working backward to validate its correctness. This strategy is effective when there is a large amount of initial data but a small number of possible solutions. The inference engine examines the available information, selects a potential solution, and then verifies it by checking whether it fits the given relationships in the knowledge base. Experienced clinicians often use backward chaining in diagnostic processes, rapidly forming initial hypotheses and then collecting further data to confirm or refute them.


In backward chaining, the system starts with a goal or hypothesis and works backward through the rules to determine which facts support or refute the hypothesis.


Both forward chaining and backward chaining are essential reasoning mechanisms for the inference engine, allowing it to efficiently navigate the knowledge base and generate solutions to complex problems. They mimic the problem-solving approaches used by human experts in various domains, enabling expert systems to provide valuable assistance in decision-making and problem-solving tasks. There is another reasoning method of inference engine is fuggy theory.


3. Fuzzy logic:

fuzzy logic is a game-changer in dealing with uncertainty or vagueness in expert systems. It allows for a more nuanced approach to decision-making by accommodating degrees of truth instead of just binary true/false values. This flexibility is especially beneficial when dealing with real-world situations that involve imprecise or ambiguous data.⁵


3. User Interface (UI):


The user interface component facilitates interaction between the expert system and the user. It provides a means for users to input queries, receive responses, and interact with the system in a user-friendly manner. The user interface can take various forms depending on the application context and user requirements. It could be a command-line interface, a graphical user interface (GUI), a web-based interface, or even a voice-enabled interface. The goal of the user interface is to make the expert system accessible and easy to use for non-expert users while providing relevant feedback and guidance. It may also include features such as explanation facilities to help users understand the system's reasoning process and decision-making.⁴


Interactive expert systems are specialized software designed to assist users in problem-solving by generating queries based on input data and knowledge stored in a knowledge base. These systems typically feature a sophisticated user interface for collecting data from users, while an inference engine processes this data to generate conclusions. One significant aspect of these systems is the dynamic generation of queries based on the input data received up to a given point in the interaction. Unlike traditional applications where the sequence of user interactions is predefined, in interactive expert systems, the sequence of queries depends on the input data collected thus far.³ This dynamic nature poses challenges for designing the user interface:


1. Unpredictable Query Sequence: Since the sequence of queries cannot be predetermined during the design phase, traditional user interface design approaches may not be applicable. Designers cannot predefine the layout or sequence of data items on the screen.


2. Complex Data Modification: The dynamic change in the query sequence requires sophisticated data modification routines to accommodate flexible data entry and modification functions on the user interface. As the system adapts to the user's input and knowledge, the interface must dynamically adjust to reflect the current state of the interaction.


Addressing these challenges is crucial for effective implementation of interactive expert systems. Some strategies to overcome these difficulties include:


1. Dynamic User Interface: Designing a flexible user interface capable of adapting to the changing query sequence. This may involve the use of dynamic layouts or interactive components that adjust based on the current context.

  

2. Modular Design: Implementing the user interface as a separate module managed by a User Interface Management System (UIMS). This modular approach facilitates easier modification and reuse of interface components.


3. Advanced Data Handling: Developing sophisticated data modification routines capable of handling the dynamic nature of the query sequence. This may involve implementing algorithms to dynamically update data entry fields or modify interface components based on the inference engine's output.


Overall, addressing the challenges posed by the dynamic nature of query generation in interactive expert systems is essential for enhancing user experience and facilitating efficient problem-solving. By leveraging advanced design and development techniques, developers can mitigate these difficulties and unlock the full potential of these systems for diagnostic and analytical applications.


A UI in an expert system serves as the bridge between the system and the user, facilitating interaction.  Various UI methods are–


1. Dialog Boxes: These are pop-up windows that display information or request input from the user. They can be used for displaying messages, warnings, errors, or requesting user input.


2. Command Prompts: Text-based interfaces where users input commands via typing. These are commonly used in command-line interfaces (CLI) where users interact with the system by entering text commands.


3. Forms: Forms provide structured input fields for users to enter information. They are common in web applications and desktop software, allowing users to input data through fields like text boxes, checkboxes, dropdown menus, etc.


4. Other Input Methods: This encompasses various other ways users can interact with the system, such as voice commands, touch gestures, or even specialized input devices.


For expert systems that interact with other computer applications instead of directly with humans, they may not have a traditional UI. Instead, they utilize mechanisms for transactions with other applications. These mechanisms could include APIs (Application Programming Interfaces) for data exchange, messaging protocols for communication, or other integration methods tailored to the specific interaction needs.



Reference:


1. Nilsson, N. J. (1998). Artificial Intelligence: A New Synthesis. Morgan Kaufmann.


2. Russell, S. J., & Norvig, P. (2016). Artificial Intelligence: A Modern Approach. Pearson.


3. Kaneda, S., (et. al) (1996). INTERFACER: A user interface tool for interactive expert-systems,

Decision Support Systems.


4. https://en.wikibooks.org/wiki/A-level_Computing/CIE/Computer_systems,_communications_and_software/System_software/User_interfaces

https://en.wikibooks.org/wiki/A-level_Computing/CIE/Computer_systems,_communications_and_software/System_software/User_interfaces


5. https://www.britannica.com/technology/artificial-intelligence/Expert-systems#ref739694


Arnab Das
roll-17


User Interface

History:

In early computers, there was very little user interface except for a few buttons at an operator's console. Many of these early computers used punched cards, prepared using keypunch machines, as the primary method of input for computer programs and data. While punched cards have been essentially obsolete in computing since 2012, some voting machines still use a punched card system.

The user interface evolved with the introduction of the command line interface, which first appeared as a nearly blank display screen with a line for user input. Users relied on a keyboard and a set of commands to navigate exchanges of information with the computer. This command line interface led to one in which menus (lists of choices written in text) predominated.

Finally, the GUI arrived, originating mainly in Xerox's Palo Alto Research Center (PARC), adopted and enhanced by Apple and effectively standardized by Microsoft in its Windows operating systems.

 

Defination:The user interface (UI) is the point of human-computer interaction and communication in a device. This can include display screens, keyboards, a mouse and the appearance of a desktop. It is also the way through which a user interacts with an application or a website.

Types:

·         graphical user interface (GUI)

·         command line interface (CLI)

·         menu-driven user interface

·         touch user interface

·         voice user interface (VUI)

·         form-based user interface

·         natural language user interface

 

Example of Greenstone UI used in libraries:

Greenstone is a suite of software for building and distributing digital library collections. It provides a new way of organizing information and publishing it on the Internet or on CD-ROM. Greenstone is produced by the New Zealand Digital Library Greenstone is an open-source, multilingual software, issued under the terms of the GNU General Public License for building and distributing digital library collections. The aim of the Greenstone software is to empower users, particularly in universities, libraries, and other public service institutions, to build their own digital libraries. It provides a new way of organizing information and publishing it on the Internet or on CD-ROM in the form of a fully-searchable, metadata-driven digital library. The software provides a way of organizing information and publishing it on the Web in the form of a fully-searchable, metadata-driven digital resource. It can also be run in a non-networked environment (standalone), operating from removable media such as a USB Flash Drive and DVD. Greenstone has been developed and distributed in cooperation with UNESCO and the Human Info NGO in Belgium.

 

LIBRARIAN INTERFACE - GLI supports six basic activities: Downloading Files from the Internet The Download panel allows you to download files from the internet using a variety of protocols:

 Web: downloads web pages and files via HTTP and FTP.

 MediaWiki: downloads web pages and files via HTTP from a MediaWiki website.

 OAI: downloads metadata records (and optionally documents) from an OAIPMH (Open Archives Initiative) server. 

Z39.50: downloads MARC records that match a particular search criterion from a Z39.50 server. 

SRW: downloads MARCXML records that match a particular search criterion from a Search/Retrieve Web (SRW) server.

 

TECHNICAL FEATURES OF GSDL –

 • Multiplatform user friendly application

• Interoperability

 • Independent librarian and user interfaces

 • Supports variety of Metadata formats

• Supports variety of Document formats

 • Supports multiple Languages


Knowledge base

One of the most exciting new uses of the knowledge base is its central place in the current generation of library services platforms (LSPs). These systems aim to integrate functionality traditionally distributed across siloes, specifically the discovery knowledge base, the integrated library system (ILS), and the electronic resources management system (ERMS). Oliver Pesch, chief product strategist at EBSCO, sums up the way that bringing these environments together around a central knowledge base benefits libraries:

For things to function properly—acquisitions and circulation and discovery and linking and usage and all of those pieces—you need to be consistent in how you talk about the resources that are in your collection. And the best way of doing that is to have some fairly rich central knowledge base in the middle that, if nothing else, is acting as an identity broker. You can take and enhance that thing that you decided to purchase. You’re not copying that thing each time in a new system, but supplementing it. We see the knowledge base as pretty important in that world

 

While EBSCO doesn’t offer a single, unified LSP, its suite of tools demonstrates an understanding of how to use a central knowledge base to achieve consistency and interoperability across related products. EBSCO’s global knowledge base supports its discovery products, including EBSCO Discovery Service and the LinkSource OpenURL resolver. As a subscription agent and content provider, the company has begun to also explore the use of the knowledge base in other contexts, including an ERMS, a usage statistics manager, and its flagship EBSCONet subscription management service.

 

OCLC’s WorldShare Management Services (WMS) provides another solid demonstration of the ways that a knowledge base can unify a suite of services that covers the entire resource management life cycle. WMS includes core acquisitions, cataloging, and circulation functionality, in addition to integration with WorldCat Discovery and OCLC’s resource-sharing tools. The WorldCat Knowledge Base underpins all of these services.

ProQuest announced the development of a library services platform in 2011 and released the first version of Intota in 2013.7 On paper, Intota has embraced the LSP vision, promising functionality to support acquisitions, cataloging, discovery, fulfillment, and assessment with a focus on streamlined workflows and interoperability. The knowledge base was to have been the foundation of all of these services. The full version of Intota was never completed, though some of the discovery and assessment functionality released under the Intota name has capitalized on the integrated knowledge base. The ProQuest knowledge base can receive automated holdings updates for DDA titles and other collection types, helping libraries to track complex and changeable materials. The central role of the knowledge base throughout the system also provides users with a single point of management and eliminates the need to manually create e-resources metadata

 

______*******______

Ramij Raja Mondal, MLISC.Day,  2023-24


knowledge base expert systems (KBES) in information retrieval (IR). 

KBES for IR :

Knowledge base expert systems (KBES) are a type of artificial intelligence (AI) system that is designed to mimic human experts' decision-making abilities in a specific domain. 

In IR, KBES can significantly improve information retrieval accuracy, enhance user experience, and preserve librarian expertise.

Knowledge Base: The core of KBES, storing factual domain knowledge (e.g., library classification systems) and expert heuristics (e.g., search strategies).

Inference Engine: The reasoning engine, applying KBES knowledge to user queries to retrieve relevant information.

User Interface: The bridge between users and the system, enabling query submission and retrieving information presentation.


Objectives of KBES


Improves Accuracy: Leverages expert knowledge to identify the most relevant resources for user queries.

Enhanced User Experience: Provides guidance and support throughout the information search process.

Knowledge Preservation: Captures and retains librarian expertise for future users.


Advantages

Increase Retrieval Accuracy: KBES can significantly improve the precision of information retrieval by leveraging expert knowledge to pinpoint the most relevant resources.

Improves User Experience: User experience is enhanced through guidance, support, and tailored search results.

Preserved Expertise: KBES safeguards valuable librarian expertise, ensuring its accessibility even after staff turnover.


Disadvantages


Knowledge Acquisition Challenges: Building a comprehensive knowledge base can be time-consuming and require domain and knowledge representation expertise.

Knowledge Base Maintenance: The knowledge base needs continuous updates to reflect evolving information resources and user needs.

Limited Reasoning for Complex Queries: KBES might struggle with intricate or ambiguous queries demanding more nuanced reasoning.


Applications


Information Resource Classification: KBES can automate information resource classification, streamlining collection organization and user discovery.

 Enhanced Information Retrieval: KBES refines queries, identifies relevant sources, and improves overall information retrieval effectiveness.

User Guidance on Search Strategies: KBES offers guidance on search strategies and library resource utilization, empowering users for independent information seeking.

In conclusion, KBES offers a promising approach to enhancing information retrieval accuracy, user experience, and knowledge preservation in IR. While challenges exist in knowledge acquisition and maintenance, KBES's potential benefits make it a valuable tool for libraries and information centers.


References

1. Expert Systems and their Application in Library and information Science [publications.drdo.gov.in]

2. EXPERT SYSTEMS IN INFORMATION RETRIEVAL REVIEW: CLASSIFICATION, INDEXATION, AND ABSTRACTION [ResearchGate]

3. Knowledge-Based Information Retrieval Systems [egyankosh.ac.in]

4.  Evolutions in Information Retrieval [ebooks.inflibnet.ac.in]

5. How information retrieval software works and how it increases the productivity of business systems [blog.pigro.ai]



Inference Engines

 

Inference engines in expert systems for information retrieval (IR), Inference Engine in IR Expert Systems: The Reasoning Powerhouse 
Within the realm of artificial intelligence (AI) and information retrieval (IR), expert systems leverage knowledge bases to mimic human experts' decision-making abilities. The inference engine acts as the core reasoning component of these expert systems, playing a pivotal role in retrieving relevant information for user queries.

Understanding the Meaning
An inference engine can be likened to a powerful processor that analyzes information and draws conclusions. 
In IR expert systems, it

Accesses the knowledge base: This repository stores factual domain knowledge (e.g., library classification systems) and expert heuristics (e.g., search strategies).

 Processes user queries: It examines the user's information needs expressed in the query.

Applies reasoning techniques: The engine employs various reasoning methods like forward chaining (starting from known facts to reach a conclusion) or backward chaining (working backward from a goal to identify supporting evidence) to match the query with relevant knowledge in the base.

Delivers results: Based on the reasoning process, the inference engine retrieves information resources most aligned with the user's query.

Objectives of an Inference Engine

 Accurate Information Retrieval: By applying domain knowledge and reasoning techniques, the inference engine strives to identify the most pertinent information resources for user queries, enhancing retrieval precision.

 Efficient Search Process: The engine aims to streamline the information search process by efficiently navigating the knowledge base and retrieving relevant information, saving users time and effort.

Reasoned Responses: Beyond just providing raw data, the inference engine can explain its reasoning process, offering users valuable insights into why specific resources were retrieved.

Advantages of Inference Engines

Improved Accuracy: Leverage expert knowledge to significantly improve the accuracy of information retrieval compared to traditional keyword-based search methods.

Flexibility: Inference engines can handle various query formulations and complexities, adapting to diverse user information needs.

Explainability: Some engines can provide explanations for retrieved information, fostering user trust and understanding of the search process.

Disadvantages of Inference Engines

Knowledge Acquisition Bottleneck: Building a comprehensive knowledge base can be time-consuming and require significant human expertise in the specific domain.

Knowledge Base Maintenance: Keeping the knowledge base up-to-date with the evolving information landscape and user needs is an ongoing challenge.

Limited Reasoning for Complex Queries: While effective for well-defined queries, inference engines might struggle with intricate or ambiguous queries requiring more nuanced reasoning capabilities.

Applications of Inference Engines in IR

Information Resource Classification: Automating information resource classification based on domain knowledge, improving collection organization and user discovery of relevant materials.

Enhanced Search Capabilities: Refining user queries, identifying the most relevant information sources, and guiding users towards more precise search strategies.

User Support Systems: Offering guidance and support throughout the information search process, empowering users to become more independent information seekers.

Important Information to Consider:
Inference engines are a powerful tool for enhancing information retrieval in expert systems. However, their effectiveness hinges on the quality and comprehensiveness of the underlying knowledge base. Continuous knowledge base maintenance and the ongoing development of more sophisticated reasoning techniques are crucial for maximizing the potential of inference engines in IR systems.

References
 1. Expert Systems and their Application in Library and information Science [publications.drdo.gov.in]

 2. Knowledge-Based Information Retrieval Systems [egyankosh.ac.in]



User interfaces (UI) 

User interfaces (UI) in expert systems for information retrieval (IR).
The User Interface: Bridge Between User and Expert System in IR
In the realm of artificial intelligence (AI) and information retrieval (IR), expert systems function as intelligent assistants that leverage knowledge bases to emulate human experts. 
The user interface (UI) serves as the critical bridge between the user and the expert system, facilitating interaction and information exchange.
Crucial Functionalities of a UI in IR Expert Systems

Query Formulation: The UI provides a platform for users to submit their information needs in the form of queries. This may involve text input fields, selection options from menus, or even voice recognition for spoken queries.

User Guidance: Effective UIs can offer guidance to users on formulating clear and concise queries. This might include query refinement suggestions, faceted search options, or thesaurus integration to help users find the most appropriate search terms.

Information Presentation: Once the expert system retrieves relevant information based on the user's query, the UI presents the results in a user-friendly format. This could involve displaying retrieved documents, summarizing key findings, or highlighting relevant sections within the retrieved information.

Interaction and Feedback: The UI should enable users to interact with the retrieved information and provide feedback to the system. This might involve features like result sorting and filtering based on relevance or date, the ability to save or export search results, and mechanisms for users to provide feedback on the accuracy or helpfulness of the retrieved information.

Importance of a Well-Designed UI

Enhanced User Experience: A well-designed UI that is intuitive, user-friendly, and visually appealing significantly impacts the user experience. It empowers users to interact with the expert system effectively, leading to a more productive and satisfying information search process.

Improved Retrieval Accuracy: By guiding users towards formulating clear and precise queries, the UI can contribute to the overall accuracy of information retrieval. Users are better equipped to express their information needs, leading the system to identify the most relevant resources.

Accessibility for Diverse Users: Effective UIs should consider the needs of users with varying levels of technical expertise or those with disabilities. Features like clear instructions, accessibility options, and alternative input methods can ensure everyone can benefit from the expert system.

Important Considerations for UI Design

Clarity and Simplicity: The UI should be designed with clarity and simplicity in mind, avoiding complex layouts or overwhelming users with too much information.

 User-Centered Design:  Involving potential users in the design process through usability testing can ensure the UI caters to their needs and expectations.

Customization Options: Offering some level of customization, such as allowing users to personalize the interface layout or preferred information presentation formats, can enhance the overall user experience.

In Conclusion
The user interface plays an essential role in the success of expert systems for information retrieval. By providing a user-friendly and intuitive platform for interaction, UIs empower users to leverage the expertise stored within the system and efficiently navigate the information search process. Careful consideration of UI design principles and user needs is crucial for maximizing the effectiveness of expert systems in IR.

References
1. User Interfaces for Expert Systems [interaction-design.org]

2. Expert Systems and their Application in Library and information Science [publications.drdo.gov.in]

3. Human-Computer Interaction for Information Retrieval [doi.org]


************


Expert System: User Interface
Inference Engine & Knowledge Base

Supriya Baskey (MLISc Day,  Roll no. - 18)

Expert systems are designed to solve real problems  in a particular domain that normally would require a human expert. One of the most rapidly ,growing and  fascinating topic in computer science, psychology, linguistics and information science  is expert systems. Expert System is a part of Artificial  Intelligence (AI). Expert System is used in various domains  such as designing domain, manufacturing domain, finance  domain, diagnosis domain and Knowledge domain. In  knowledge domain Expert System applied for publishing  the appropriate knowledge for use. 

Components of an expert system

The expert system in artificial intelligence consists of the following components:

 1. User interface 
2. Inference engine 
3. Knowledge base

1. User interface 
Users interact with interactive UI. The UI will take all the parameters and pass the information to the inference engine. After computing the result from the user's input, UI then shows the result on the screen.

      Generally, Expert System in AI users and ES itself uses User interface as a medium of interaction between users. Also, the user of the Expert Systems need not be necessarily an expert in Artificial Intelligence.
     Although, at a particular recommendation, it explains how the Expert Systm has arrived. Hence, the explanation may appear in the following forms −
Basically, the natural language displayed on a screen.
      Also, verbal narrations in natural language.
Further, listing of rule numbers displayed on the screen. The user interface makes it easy to trace the credibility of the deductions.


2. Inference engine
The mind of the expert system has all the predefined rules to use the information from the knowledge base. It takes user input queries from the user interface and applies knowledge facts and rules. It can also deduce the problem to find a solution. 
        To arrive a particular solution, Inference Engine acquires and manipulates the knowledge. In case of rule-based Expert System in Artificial Intelligence −

      We have to apply rules to the facts. That is obtained from earlier rule application.
        Also, we have to add new knowledge if it’s required.

Basically, it can resolve rules conflict. Whenever multiple rules are applicable to a particular case.

To recommend a solution, the Inference Engine uses the following strategies −
       
        -  Forward Chaining
        -  Backwards Chaining
Two strategies are used to find the answer to the problem:
                
           Forward chaining: It uses rules of inference and data to deduce more rules until it comes to a conclusion. And adds new information to its database for future problems. It moves its reasoning toward the goal. Its approach can be called data-driven reasoning.
          
           Backward chaining: It works its way back from the goal. So basically, it does the backtracking from the goal state to the present state. It is goal-driven reasoning. As the goal is already known, it becomes easy to use rules of inference to find the solution.

3. Knowledge base
It is the database where experts' knowledge is stored. Knowledge engineers gather knowledge from the experts and keep it in the knowledge base. 
      There are many ways to represent this knowledge in expert systems. Examples are rule-based, framework-based, object-based, and case-based knowledge representation methods.

        Object-based knowledge:
Knowledge represented as a network of objects. An object is a data element that includes both data and methods or processes that act on that data. (A Complete Guide of Data Mining)

          Casee-Based Knowledge:
Representation of knowledge in the knowledge base of an expert system in the form of cases, which are examples of past performances, events and experiences.

          Framework knowledge:
Knowledge represented in the form of a hierarchy or network of frames. A frame is a body of knowledge about an entity consisting of a complex package of data values describing its attributes.

           Rule-Based Knowledge:
Knowledge represented in the form of rules and statements of fact. Rules are statements that usually take the form of a premise and a conclusion, such as: If (condition), Then (conclusion).


Reference 

https://www.osti.gov/biblio/5675197
https://dl.acm.org/doi/abs/10.5555/4131
https://en.m.wikipedia.org/wiki/Expert_system
https://www.techtarget.com/searchenterpriseai/definition/expert-system
https://www.tutorialspoint.com/artificial_intelligence/artificial_intelligence_expert_systems.htm
https://www.sciencedirect.com/topics/computer-science/expert-system





Expert system: Knowledge Base, 

Inference Engine and User Interface

                          (Ananya Ghosh   Roll - 19) 


The expert system approach consists in asking human experts--for example, human search intermediaries--to supply the facts and the rules used by these experts in solving certain specific information retrieval problems. Expert Systems have evolved from a long tradition of Artificial Intelligence (Al) research. Almost all types of organizations have recognized the enormous potential of expert systems which have forced the frontier of knowledge forward at a rapid pace. Expert systems are no longer confined to the research laboratory. Although, still in an evolutionary stage, these have added a new dimension to information processing. Having achieved remarkable success in both industry and commerce, expert systems are now denuding the frontiers of library and information systems. There is a significant surge in activities on assessing and debating the likely impact of expert systems on library and information profession.

FEATURES:  Although, expert systems are the subject of much discussion these days, their definition is somewhat vague. If basic definitions from some introductory texts on expert systems are examined (such as those of Barr and Feigenbaum; Forsyth; Harmon and King; Hart; and Jackson) then it is found that only two elements are consistently cited:

1. An expert system embodies some representation of knowledge about a given task domain.

2. The expert system emulates the capabilities of a human within the given task domain at a level of .performance equivalent to an 'expert'.

 


 Source: https://www.researchgate.net/publication/303391925/figure/fig1/AS:364178238918658@1463838266996/Typical-Architecture-of-an-Expert-System.png

 

COMPONENTS OF EXPERT SYSTEM: A detailed discussion of the components of an expert system is presented here to clarify this further.

1.      The knowledge base: This is where the information the expert system draws upon is stored. Human experts provide facts about the expert system's particular domain or subject area are provided that are organized in the knowledge base. The knowledge base often contains a knowledge acquisition module that enables the system to gather knowledge from external sources and store it in the knowledge base. The knowledge base in an expert system contains codified knowledge that is structured very differently from book knowledge. Typically, the knowledge base of an expert system contains 'facts' and the relation between them. There are two kinds of facts : public facts and heuristics. Public facts are defined as published rules (generally available) and agreed knowledge, e.g. cataloging rules. Heuristics are the personal (and often unwritten) knowledge of the human expert (e.g., skill in cataloging). In addition to facts, heuristics imply several features of human decision making based on experience, perhaps acquired on a trial-and -error basis, 'rules of thumb', and inability to take all possible factors into account due to cognitive limitations.

The major difference between 'conventional' database and expert system database methodology is that a knowledge base of an expert system is more creative. Facts in a database are normally passive; they are either present or not present. A knowledge base on the other hand, actively tries to fill in the missing information. Production rules are a favorite means of encapsulating 'rule-of-thumb' (heuristics) knowledge. These have a familiar IF (CONDITION)-THEN (CONSEQUENCE) format, for example: IF frequency of word < = upper threshold AND frequency of word > = lower threshold THEN use word as index term.

 

2.      Inference Engine: This part of the system pulls relevant information from the knowledge base to solve a user's problem. It is a rule based systems that maps known information from the knowledge base to a set of rules and makes decisions based on those inputs. Inference engines often include an explanation module that shows users how the system came to its conclusion.

 Inference Engine stands between the user and the knowledge base. It performs two major tasks: first, it examines existing facts and rules, and adds new facts when possible; second, it decides the order in which inferences are made. In doing so, the inference engine conducts the conclusion with the user.

The inference strategies used in expert systems are:

·         Modusponens

·         Reasoning about uncertainty

·         Resolution

 Engine part of the system means it is used to drive around among the various inferences it might make. This means it allows to pursue reasoning strategies or control strategies as they are sometimes called, to decide what operators to apply at each stage of the search. The most common control strategies used in expert systems are forward chaining, backward chaining and bidirectional. Broadly speaking, forward chaining involves reasoning from data to hypotheses, while backward chaining attempts to find data to prove, or disapprove, a hypothesis. Pure forward chaining leads to unfocused questioning in a dialogue mode system, whereas pure backward chaining tends to be rather relentless in its goal-directed questioning. Most successful expert systems use by-directional reasoning method.

 

3.      User interface: This is the part of the expert system that end users interact with to get an answer to their question or problem. User interface is the component which enables the user to communicate with the expert system. Most expert systems are interactive; they need ‘users to input information about a particular situation before they can offer advice. Most of the existing user interfaces of expert systems are menu-driven, accepting single words or short phrases from the human user. A few have natural language capabilities. A good user interface is an expert system that will allow the user :

·         to ask question, such as why an advice has been given, how a conclusion has been reached or why certain information is needed 

·         to volunteer information before being asked 

·          to change a previous answer

·         to ask for context-sensitive help on demand

·         to examine the state of reasoning at any time

·         to save a session in disk for later perusal, and

·         to resume a session previously abandoned mid-way.


Reference:

1. file:///C:/Users/user/Downloads/3271-Article%20Text-10012-1-10-20130101.pdf

2. Barr, A. and Feigenbaum, E.A. (Ed.). The handbook of artificial intelligence. AddisonWesley, Reading, MA. 1987.

 3. Forsyth, R. (Ed.) Expert Systems: Principles and case Studies. Chapman and Hall, New York. 1984.

 4. Hermon, P. and King, D. Expert systems: Artificial intelligence in business. John Wiley, New York. 1965.

5.  Hart, A. Knowledge acquisition for expert systems. McGraw-Hill, New York. 1986.

6.  Chowdhury, G. G. (2004). Introduction to modern information retrieval

************

Expert System: User Interface
Inference Engine & Knowledge Base


Bilkis Begam. (Mlisc. Day,2023-24)


Expert System is one of the research fields in Artificial Intelligence. It is a part of Artificial Intelligence. Sometimes it may be regarded as Artificial Intelligence. It is based on knowledge and computer system. It performs various tasks which specially require human expertise. Expert System is used in solving specific domain problem by taking the help of human expertise. During early 1980’s, Expert System came out from research laboratories and found in many fields such as engineering, medicine, diagnosis, chemistry, astronomy, industry etc.


Components of an Expert System: 

The main components of an expert system are: a) Knowledge base b) Inference engine and c) User Interface.


a) Knowledge base:


 Knowledge base is the first main component of an expert system. It contains facts and knowledge about the domain of an expert. It is a store house of facts and heuristics. It can be represented in many ways, sometimes by simple facts or sometimes by complex frames. It employs rule based method, heuristic method and algorithmic method to generate reasonable, accurate and useful solution of the problem in a particular domain or area. These methods are used to represent the expert’s knowledge and skills then the expert system uses the knowledge and gives the inference. For example IF-THEN-ELSE RULE is used to organize and formalize the knowledge. When the knowledge base is formed, the expert system starts o make inferences. The success of an expert system depends on the quality and accuracy of the information and knowledge stored in the knowledge base.


b) Inference Engine:


Inference Engine acquires and manipulates the knowledge from the knowledge base to arrive at a particular solution. Number of rules and procedures are used by expert system to deduct a correct and reliable solution . Inference Engine is the procedure of matching facts and union of facts to make a set of conclusion or decision. Then possible action is taken by the system. Inference Engine adds new knowledge into the knowledge base wherever required. Mostly two strategies are used by it for recommending the solution to problem and these are: Forward Chaining and Backward Chaining. 


c) User Interface: 


User Interface allows the user to interact with the expert system. The user can ask the system to provide the answer with reasoning. It anticipates the needs of the user and then satisfies those needs. The user interface acts as software which allows interaction between the user and the system. The interface may contain pre-formulated questions and menus to facilitate the collection of data needed by the system in order to conduct the search of its knowledge base. The interface also provides the means of displaying the solution reached by the system.


APPLICATION OF EXPERT SYSTEMS IN LIBRARY AND INFORMATION SYSTEM


In Library and Information System, various operations are repetitive and tedious. Professionals get bored of doing such 

job. Expert System is the only way to get rid of such situation and it also helps in appointing some workers because machines do that job. Today we see libraries are 

combating with the invention of technology. Libraries are getting automated for their users and clients to satisfy them with the documents and information that they require.


1. Classification:


For any type of library, Classification scheme acts as a backbone of library services. It helps in organizing information and knowledge and also in its timely retrieval. It is the most difficult area for an Expert System. Research is progressing in the development of systems for assigning subject headings and class numbers (Iravis, 1990). If classification scheme is proper, all books will be used, every reader will get his book, every book finds its reader, it saves of the time of the reader and results in the growth of library for accessing all types of material to users and make them satisfy with the required information and document. It satisfies all the five laws of library Science which were given by Dr. S. R. Ranganathan who is the father of Library Science in India .


2. Cataloguing:


A Cataloging in Publication record is a bibliographic record prepared by the Library of Congress for a book that has not yet been published. When the book is published, the 

publisher includes the CIP data on the copyright page thereby facilitating book processing for libraries and book dealers . The presence of AACR2, the MARC format, Library of Congress Rule Interpretations, OCLC manuals, and a number of other interpretive guides for cataloging form precisely the kind of knowledge which is transferable to the knowledge base of an ES.  


3. Reference Service:


One of the basic objectives of every library and information centre is to save the time of the user as well as to provide specific information as quickly as possible. The method used for the same involve personal efforts to bring together user. Hence this method of providing personal attention to readers in terms of meeting their specific needs is given the name ‘Reference Service’ . According to Dr. S. R. Ranganathan, in the present electronic and communication environment reference service is not only confined to the library service but also to remote users. Sometimes it is termed as e reference service, Digital reference service, Virtual reference service, its main objective is to provide pin-pointed, exhaustive, expeditious service to its information seekers whenever they have a query.


Reference:- 

[1] Gupta, I. & Nagpal, G. Artificial Intelligence and Expert 

Systems. Dulles, VA: Mercury Learning and 

Information.

[2] Kumar, K. (1987). Library Administration and Management, Delhi: Vikas Publishing.

[3] Cavanagh, Joseph M. A. (1989). Library Applications of Knowledge Based Systems. Expert Systems in Reference Services. Newyork, London: The Haworth Press. ISBN- 0-86656-839-5

[4] Asemi,A. Ko, A. & Nowkarizi, M. (2020). Intelligent libraries: a review on expert systems, artificial 

intelligence, and robot. Retrieved from: 

https://www.emerald.com/insight/content/doi/10.1108/LHT-02-2020-0038/full/html

[5] Avra, M. (March, 1991). Expert Systems Technology and its implication for archives; National Archives Technical Information Paper no. 9. Washington, DC: National Archives and Records Administration. Retrieved from: https://files.eric.ed.gov/fulltext/ED344605.pdf


*********

 

Expert system: Knowledge base, Inference engine, User interface 
(Subhashree Das, MLISc. Day Batch,2023-24)
Expert systems refer to the application of artificial intelligence techniques, particularly expert system technology, to enhance the process of searching and retrieving information from databases or documents and present result effectively. Ultimately improving the efficiency and effectiveness of information retrieval processes. These systems utilize rule-based approaches and domain-specific knowledge to assist users in finding relevant information efficiently.

An expert system mainly consists of three components:
1. Knowledge Base 
2. Inference Engine 
3. User Interface



Knowledge base

The knowledge base in an expert system is a crucial component that stores facts and rules relevant to a specific domain. It represents the collective knowledge and expertise of human experts in a structured format, enabling the expert system to make informed decisions and solve complex problems. The knowledge base is typically developed through a knowledge acquisition process, where human experts share their knowledge with a knowledge engineer, who then organizes and structures this knowledge for the expert system. It can be represented in various ways, such as rules, frames, or semantic networks. Rules are the most common method of knowledge representation, consisting of an IF part (condition or premise) and a THEN part (action or conclusion). Frames, on the other hand, are employed for building powerful expert systems by specifying the attributes of a complex object, with frames for various object types having specified relationships. Expert system in information retrieval Expert systems enhance the process of searching and retrieving information from databases or documents. These systems utilize rule-based approaches and domain-specific knowledge to assist users in finding relevant information efficiently. Expert systems for information retrieval are designed to handle complex queries, interpret user input, and provide tailored search results
based on predefined rules and expertise.
Several research papers and projects highlight the significance of expert systems in information
retrieval. They emphasize the potential of expert systems to improve search accuracy, facilitate
access to specialized information, and enhance the overall search experience for users. These
systems are being developed to address various domains, such as cancer therapy literature,
electronic mail messages, gardening references, and passage retrieval from online books.
It creates intelligent search intermediaries that can understand user queries, extract relevant
information, and present results effectively, ultimately improving the efficiency and effectiveness
of information retrieval processes.
The knowledge base is continuously updated and refined to incorporate new knowledge and
experiences, ensuring the expert system remains up-to-date and effective in its decision-making
capabilities. The knowledge base is a dynamic component that grows and evolves with the
system, reflecting the ever-changing nature of the domain it represents.

 Steps involved in updating the knowledge base in an expert system:
To update the knowledge base in an expert system, the following steps can be taken:

Identify the sources of knowledge: This can include human experts, textbooks, journals,
databases, reports, case studies, or other expert systems. Select sources that are accurate,
consistent, comprehensive, and up-to-date, and that can provide both explicit and tacit
knowledge.

Acquire and structure the knowledge: This can be done by using various techniques, such as
interviews, questionnaires, observation, analysis, or prototyping. Elicit the knowledge from the
experts or the documents, and then organize it into a logical and coherent structure that can be
represented and manipulated by the expert system.

Validate and verify the knowledge: This involves checking whether the knowledge base is
consistent with the reality and the expectations of the domain. Use various methods, such as
testing, debugging, reviewing, or comparing, to validate and verify the knowledge base. Involve
users and experts in this process, soliciting their feedback and suggestions.

Implement and integrate the new knowledge: Translate the new knowledge into a format that can
be executed by the expert system, such as code, rules, or frames. Link the new knowledge with
the other components of the expert system, such as the inference engine, the user interface, or
the database. Ensure that the new knowledge is compatible and interoperable with the system.

Monitor and evaluate the new knowledge: Observe and measure the performance and behavior
of the expert system, such as its accuracy, efficiency, reliability, or usability. Assess and judge the
quality and value of the expert system, such as its effectiveness, relevance, satisfaction, or
impact. Use various indicators, metrics, or criteria to monitor and evaluate the new knowledge
and the system. Collect and analyze data, such as feedback, results, or outcomes, from the users
and the experts.

Revise and refine the new knowledge: Modify and correct the new knowledge to address any
errors, inconsistencies, gaps, or changes that have been identified or reported. Enhance and
improve the new knowledge to increase its accuracy, completeness, clarity, or relevance. Use
various methods, such as editing, adding, deleting, or reorganizing, to revise and refine the new
knowledge. Communicate and document the changes and updates to the users and the experts.

These steps are part of the knowledge engineering process, which is the process of building and
maintaining an expert system's knowledge base. The knowledge engineering process is iterative
and continuous, requiring regular updates and revisions to ensure the accuracy, completeness,
and relevance of the knowledge base.

Inference engine

Inference engine is a critical component responsible for applying logical rules to the knowledge
base to deduce new information. It is an element of the system that processes the rules and facts
to make decisions and draw conclusions based on the available information. The inference
engine plays a key role in the reasoning process of expert systems, enabling them to provide
intelligent responses and solutions to complex problems within a specific domain.
logical rules used in an inference engine for an expert system-
1. Rule-based systems: These systems use a set of predefined rules to make decisions
and draw conclusions based on the available information
2. Decision trees: Decision trees represent a series of decisions and their possible
consequences. Each node represents a decision, and each branch represents an
outcome based on that decision.
3. Neural networks: Neural networks are used to model complex relationships between
inputs and outputs. They learn from data and can make predictions or classifications
based on patterns they have learned.
4. Bayesian networks: Bayesian networks represent probabilistic relationships between
variables. They are used to calculate the probability of an event based on prior knowledge.
5. Fuzzy logic rules: Fuzzy logic rules allow for reasoning with uncertain or imprecise
information. They are used when dealing with variables that do not have clear-cut values.
These logical rules are essential for the inference engine to process information, make decisions,
and provide recommendations or solutions within the expert system.

User interface

User interfaces in expert systems are responsible for interacting with users and displaying results
on the screen. They are the primary means by which users communicate with the system,
providing input and receiving output. User interfaces in expert systems typically include features
such as text input and output, graphical displays, and interactive elements such as buttons and
menus.
The user interface is a critical component of an expert system, as it directly affects the user's
experience and the system's usability. A well-designed user interface can make an expert systemmore accessible and user-friendly, while a poorly designed interface can make the system difficult to use and hinder its effectiveness. Examples of user interfaces in expert systems include graphical user interfaces (GUIs) that display information in a visual format, command-line interfaces (CLIs) that allow users to enter commands using text-based input, and natural language interfaces (NLIs) that allow users to interact with the system using spoken or written language. In summary, the user interface is a key component of an expert system, responsible for interacting with users and displaying results on the screen. A well-designed user interface can enhance the user's experience and improve the system's usability, making it an essential consideration in the development of expert systems.
 Role of the user interface in an expert system
The role of the user interface in an expert system is to interact with users, take queries as input in a readable format, pass this information to the inference engine, receive the response from the inference engine, and display the output to the user. The user interface is responsible for facilitating communication between the user and the expert system, making it a crucial component for user interaction and displaying results on the screen.

References:
www.digitalcommons.unf.edufavicon.com www.blog.happyfox.comfavicon.com www.avatpoint.comfavicon.com www.geeksforgeeks.org favicon.com 
www.github.comfavicon.com

*****


Expert System: User Interface,Inference Engine & Knowledge Base
Penaki Sharma ,MLISc.DAY (2023-24)

Expert system 

An Expert System is a computer program that possesses or represents knowledge in a particular domain, has the capability of processing/ manipulating or reasoning with this knowledge with a view to solving a problem, giving some achieving or to achieve some specific goal. 
 Building a expert system is known as knowledge engineering and its practitioners are called knowledge engineers. It is the job of the knowledge engineer to ensure to make sure that the computer has all the knowledge needed to solve a problem. The knowledge engineer must choose one or more forms in which to represent the required knowledge i.e., s/he must choose one or more knowledge representation schemes (A number of knowledge representing schemes like semantic nets, frames, predicate logic and rule based systems have been discussed above. We would be sticking to rule based representation scheme for our discussion on expert systems). S/he must also ensure that the computer can use the knowledge efficiently by selecting from a handful of reasoning methods.

An expert system may or may not provide the complete expertise or functionality of a human expert but it must be able to assist a human expert in fast decision making. The program might interact with a human expert or with a customer directly.
Components of Expert System
An expert system mainly consists of three components:
User Interface
Inference Engine
Knowledge Base


User Interface

User Interface (UI) defines the way humans interact with the information systems. In Layman’s terms, User Interface (UI) is a series of pages, screens, buttons, forms, and other visual elements that are used to interact with the device. Every app and every website has a user interface. User Interface (UI) Design is the creation of graphics, illustrations, and the use of photographic artwork and typography to enhance the display and layout of a digital product within its various device views.
Interface elements consist of input controls (buttons, drop-down menus, data fields), navigational components (search fields, slider, icons, tags), and informational components (progress bars, notifications, message boxes).

Types of User Interface
There are several types of User Interface (UI) depending upon the interaction between users and computers or electronic devices in different ways. Some common types of User Interface(UI) are:
GUI (Graphical User Interface): Visual user interface output (keyboard and monitor) with a tactile user interface input.
Menu Driven Interface: An UI that uses a menu of options to navigate a program or website is known as a menu-driven UI. For instance, ATMs have user interfaces that are menu-driven and simple to use.
Form Based Interface: Form-based user interfaces provide a small number of options for users to choose from when entering data into a program or application. For instance, a device’s settings menu is form-based.
Touch user interface: Haptic or tactile user interface. Haptic input is used by most smartphones, tablets, and other devices with touch screens.
Voice user interface: Auditory commands are used to communicate between humans and machines. GPS, talk-to-text gadgets, and virtual assistants are a few examples.

Significance of User Interface

A good user interface (UI) focuses on making user’s interactions simple and efficient. User would appreciate a website with intuitive user interface that leads them towards their task in most engaging way. User Interface (UI) design focuses on thinking of a user, what they might need to do when they visit website and ensure that the interface has elements that are easy to access and understand. Being a UI designer, one need to understand the goals, skills, preferences and tendencies of the user to make a better interface.

Importance of User Interface

-How you present your product matters the most. The presentation (the interface) of a badly designed application or website can drive away the incoming users and leave a bad impression on them. Navigation through a site can be made efficient and simple by effective UI design.
-Great design is great business The color scheme, layout, graphics, tab and button placement, typography usage and other design elements determine how well the site/app communicates visually with the user.
-At a given time, finding right thing at right place is essential Consistent navigation that is equally easy to locate and browse through is basic need of any app/website. If navigation is complex for a user to work, there is no way he would want to work on that site/app.

Inference Engine 

An inference engine is a key component of an expert system, one of the earliest types of artificial intelligence. An expert system applies logical rules to data to deduce new information. The primary function of an inference engine is to infer information based on a set of rules and data. It is the core of an expert system, which applies the rules to a knowledge base to make decisions.
An inference engine has the ability to reason—it can interpret the data, draw conclusions, and make predictions. It is a critical component in many automated decision-making processes, as it helps computers understand complex patterns and relationships within data.
Expert systems are still commonly used in fields like cyber security, project management, and clinical decision support. However, in many fields they have been replaced by newer machine learning architectures, such as decision trees or neural networks. Inference engines are also sometimes used as part of diagnostic systems, recommendation systems, and natural language processing (NLP) processes.

Techniques Used in Inference Engines Reasoning

Here are two major techniques inference engines use to analyze data and make decisions:

Backward Chaining
Backward chaining is a type of deductive reasoning where the inference engine starts with the conclusion and works backward to find the evidence that supports that conclusion.
Backward chaining is particularly useful when the goal is known, but the path to that goal is not clear. The inference engine will start with the goal and work backward, looking for evidence that supports that goal. This method is often used in problem-solving and decision-making processes.

Forward Chaining
Forward chaining is a type of inductive reasoning where the inference engine starts with the available evidence and uses that to deduce the conclusions.Forward chaining reasoning is particularly useful when the evidence is known, but the conclusion is not. The inference engine will start with the evidence and use that to deduce possible conclusions. This method is often used in prediction and forecasting processes.

Applications of Inference Engines

Expert Systems
Expert systems are computer systems that mimic the decision-making ability of a human expert. They are designed to solve complex problems by reasoning through bodies of knowledge, represented mainly as if–then rules rather than through conventional procedural code.
The inference engine is at the core of these systems, making logical deductions based on the provided rules. It's akin to a human brain, processing information, making connections, and reaching conclusions. A key advantage of inference engines in expert systems lies in their ability to handle uncertainty and make informed decisions, even when complete information is not available.

Diagnostic Systems
Inference engines are also extensively used in diagnostic systems, particularly in the medical field. These systems use the inference engine to analyze symptoms, compare them with known diseases, and then infer possible diagnoses.
The benefit of using an inference engine in diagnostic systems is its ability to process vast amounts of data rapidly and accurately. It outperforms human capability in terms of speed and precision, making it a valuable tool in medical diagnostics.
An inference engine can sift through thousands of medical records, identify patterns, and suggest potential diagnoses. However, it is limited to straightforward logical reasoning and cannot exhibit creativity or identify patterns outside its predefined rules.

Recommendation Systems
Recommendation systems are widely used in online platforms like Amazon, Netflix, and Spotify, to provide personalized recommendations to users. Some recommendation systems use inference engines to analyze user behavior, identify patterns, and make recommendations based on these patterns.
The role of an inference engine in recommendation systems is to process the collected data, infer user preferences, and predict future behavior. Modern recommendation systems are augmenting, or replacing, inference engines with modern machine learning algorithms like neural networks.

Natural Language Processing
Inference engines also find applications in the field of natural language processing (NLP), where they are used to understand and generate human language. In the past, inference engines played a critical role in machine translation, sentiment analysis, and language generation. However, they are quickly being replaced by more advanced techniques based on recurrent neural networks (RNNs) and their successor, Transformer architectures.

Knowledge Base

The knowledge base is a collection of interlinked descriptions of entities (real-world objects, events, situations or concepts) that enables storage, analysis and reuse of this knowledge in a machine-interpretable way. As a result, it empowers search engines and other content retrieval applications to interpret text and match it to advanced queries.
In the world of data, the machine is king, but humans live in a world of knowledge. It is knowledge, hopefully, supported by data, that enables decisions to be made and actions to be taken. But, although supercomputers like Summit have astounding computational power, they are still as dumb as toasters when it comes to acquiring information or skills by experience.

To make them smarter, together with the huge amounts of data produced by humanity (which, according to a recent Forbes article, is 2.5 quintillion bytes per day), we need to provide them with the knowledge of how to interpret this data (the experience).
People and organizations in the know understand the business value and strategic advantage of moving up through the knowledge pyramid and knowledge bases are designed to do just that.
A knowledge base is a collection of interlinked descriptions of entities (real-world objects, events, situations or abstract concepts) interlinked in a way that enables storage, analysis and reuse of this knowledge in a machine-interpretable way. The Facebooks, Amazons, Netflix and Googles (FANGs) of the world have long ago figured this out and they all use knowledge bases.

Knowledge Bases for Application Interoperability
A major advantage of knowledge bases is that the logic of the data interpretation stays with the data and not only with the application.
Technically, this means that all applications can still use their specific application profiles (which is a set of integrity constraints for checking the physical and logical correctness or rationality of a certain dataset). In fact, the knowledge base is often a fully-distributed decentralized system where multiple schemas and application profiles applied over the same data codify different application perspectives to the data.
Essentially, all applications still own the data they use, but as they comply to or extend the organization’s understanding of the data (the formal semantic model), they make this data reusable.

Adopting a knowledge base helps organizations share:
The same data among applications to find common ground;
An ecosystem where each application contributes with metadata descriptions of the data (data about data);
Inference rules that allow the pieces of information generated by different applications to be transformed into organizational knowledge.
Combining data and data interpretation rules from various applications in this way enables a whole range of intelligent operations such as business intelligence, predictive maintenance, decision support and many more.
A knowledge base is not merely a space for data storage, but can be an artificial intelligence tool for delivering intelligent decisions. Various knowledge representation techniques, including frames and scripts, represent knowledge. The services offered are explanation, reasoning and intelligent decision support.
Knowledge-based computer-aided systems engineering (KB-CASE) tools assist designers by providing suggestions and solutions, thereby helping to investigate the results of design decisions. The knowledge base analysis and design allows users to frame knowledge bases, from which informative decisions are made.

The two major types of knowledge bases are Human Readable and Machine Readable.

Human readable knowledge bases enable people to access and use the knowledge. They store help documents, manuals, troubleshooting information and frequently answered questions. They can be interactive and lead users to solutions to problems they have, but rely on the user providing information to guide the process.

Machine readable knowledge bases store knowledge, but only in system readable forms. Solutions are offered based upon automated deductive reasoning and are not so interactive as this relies on query systems that have software that can respond to the knowledge base to narrow down a solution. This means that machine readable knowledge base information shared to other machines is usually linear and is limited in interactivity, unlike the human interaction which is query based.
Knowledge management (KM) contains a range of strategies used in an organization to create, represent, analyze, distribute and enable the adoption of experiences. It focuses on competitive advantages and the improved performance of organizations. Work script is a well known knowledge management database.

Types of Knowledge Base
There are two types: internal and external. 

Internal Knowledge Base

Those inside the organization leverage an internal knowledge base, but there can be two functions here. The first is an internal base for customer support and service, with the other is for employee support.
Customer service agents must have access to the same information, or they might provide different answers. There could be a lapsed response time because people look for solutions through various systems. 
Bots can work behind the scenes to offer helpful information to sales agents during the conversation. They can type in questions to a search bar or widget and get the answer to provide to the customer.
With an internal knowledge base for employees, it doesn’t focus on the customer at all. These often contain information about IT and HR questions.

Everyone is used to getting instant access to information. At the office, there’s no difference. You don’t want to call the IT department and sit on hold or put in a ticket, especially if it’s something simple.

External Knowledge Base
People outside the organization use an external knowledge base, including website visitors and customers. A chatbot or AI-powered search bar typically delivers the information stored for external knowledge bases.
Chatbots are the most popular way to let customers self-serve themselves and get answers to common questions. This service is available 24/7/365 to answer questions, and most people prefer that instead of engaging with humans.
Often, chatbots are AI-powered and use NLU (Natural Language Understanding) to determine the intent of the question and search the knowledge base to get the answer. The knowledge base contains what the chatbot knows, so you want to ensure that the knowledge management software includes things your customers want to know.


Reference 
1. https://www.javatpoint.com/expert-systems-in-artificial-intelligence
2. https://www.geeksforgeeks.org/expert-systems/
3. Chowdhury, G. G. (2004). Introduction to modern information retrieval. Facet Publishing.
4. https://en.wikipedia.org/wiki/Inference_engine
5. https://www.techtarget.com/whatis/definition/knowledge-base
6. https://egyankosh.ac.in/handle/123456789/10553

**********

Expert System: User Interface
Inference Engine & Knowledge Base


(Zainab Alam, Mlisc. Day, 2023-24)

An expert system is a computer program that simulates the decision-making ability of a human expert in a specific domain. It is designed to solve complex problems and provide decision-making capabilities by extracting knowledge from its knowledge base using reasoning and inference rules according to user queries. 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 the system improves its performance.

Components of an expert system: 

The main components of an expert system are:
  • User Interface
  • Inference Engine
  • Knowledge Base

 Architecture of an Expert System


User interface: 

The user interface is a crucial component of an expert system that enables users to interact with the system. It serves as a bridge between human users and the expert system, allowing users to input queries and receive responses from the system in a readable format. The user interface can take various forms, such as dialog boxes, command prompts, and forms.

The user interface is responsible for taking user inputs and passing them to the inference engine, which processes the information and applies knowledge rules to find a solution. After computing the result, the user interface displays the output to the user on the screen. This interaction between the user and the system is essential for the expert system to function effectively and provide valuable decision support.

The user interface is a critical component of an expert system because it determines how users interact with the system and how the system presents its responses. A well-designed user interface can make the system more accessible and user-friendly, enabling users to easily input queries and understand the system's responses. On the other hand, a poorly designed user interface can make the system difficult to use and hinder its effectiveness.

Thus, the user interface is a crucial component of an expert system that enables users to interact with the system and receive responses in a readable format. It is responsible for taking user inputs, passing them to the inference engine, and displaying the output to the user. A well-designed user interface can make the system more accessible and user-friendly, while a poorly designed user interface can hinder its effectiveness.

Inference Engine:

The inference engine is a critical component of an expert system that processes the information in the knowledge base and applies it to specific situations or problems. It is responsible for interpreting and evaluating the facts in the knowledge base to provide an answer to the user's query. The inference engine enables the expert system to draw deductions from the rules in the knowledge base.

The inference engine uses various types of reasoning to solve problems and provide solutions, including forward chaining and backward chaining. Forward chaining is a data-driven strategy that moves from the facts of the case to a goal (conclusion), while backward chaining is a goal-driven strategy that matches the assumed conclusion with the facts in the knowledge base.

The inference engine combines the facts of a specific case with the knowledge contained in the knowledge base to come up with a recommendation. It controls the order in which production rules are applied and resolves conflicts if more than one rule matches the condition. The inference engine repeatedly applies the rules to the working memory, adding new information obtained from the rules conclusions to it, until a goal state is produced or confirmed.

The inference engine is the active component of the expert system that contains a strategy to use the knowledge, present in the knowledge base, to provide a solution to the problem. It is responsible for reasoning and making decisions based on the knowledge and rules in the knowledge base.

Thus, the inference engine is the component of an expert system that processes the information in the knowledge base and applies it to specific situations or problems. It is responsible for interpreting and evaluating the facts in the knowledge base to provide an answer to the user's query. The inference engine uses various types of reasoning to solve problems and provide solutions, including forward chaining and backward chaining. It is the active component of the expert system that contains a strategy to use the knowledge, present in the knowledge base, to provide a solution to the problem.

Knowledge Base:

The knowledge base is a crucial component of an expert system that stores the knowledge and information required to solve complex problems in a specific domain. It consists of facts and rules that are used by the inference engine to derive solutions relevant to the user's problem. The knowledge base is the repository of the expert's knowledge, which is acquired and stored by knowledge engineers.

The knowledge base can take various forms, such as rule-based, framework-based, object-based, and case-based methods. Rule-based knowledge is represented in the form of rules and statements of fact, with rules usually taking the form of a premise and a conclusion. Framework knowledge is represented in the form of a hierarchy or network of frames, where a frame is a body of knowledge about an entity consisting of a complex package of data values describing its attributes. Object-based knowledge is represented as a network of objects, where an object is a data element that includes both data and methods or processes that act on that data. Case-based knowledge is represented in the knowledge base of an expert system in the form of cases, which are examples of past performances, events, and experiences.

The knowledge base is the primary source of information for the inference engine, which fetches relevant knowledge from the knowledge base, interprets it, and finds a solution relevant to the user's problem. The inference engine acquires the rules from its knowledge base and applies them to the known facts to infer new facts. The knowledge base is the foundation of an expert system, and its effectiveness depends on the quality and quantity of knowledge stored in it.

Thus, the knowledge base is a critical component of an expert system that represents facts and rules in a specific domain. It is the repository of the expert's knowledge, which is acquired and stored by knowledge engineers. The knowledge base can take various forms, such as rule-based, framework-based, object-based, and case-based methods. The inference engine fetches relevant knowledge from the knowledge base, interprets it, and finds a solution relevant to the user's problem. The effectiveness of an expert system depends on the quality and quantity of knowledge stored in the knowledge base.

In addition to these components, some sources also mention other components such as the Knowledge Acquisition and Learning Module, which allows the expert system to acquire more knowledge, and the Explanation Module, which helps the expert system to give the user an explanation about how the expert system reached a particular conclusion or advice.

The development of an expert system involves several steps, including defining the problem, acquiring knowledge from human experts, designing the system architecture, implementing the system, and testing and evaluating the system.

Expert systems are used in various fields, such as medical diagnosis, accounting, coding, games, and many others, where complex decision-making is required. They are not used to replace human experts but to assist them in making complex decisions.

Expert systems have several advantages, such as low accessibility cost, fast response, not affected by emotions, low error rate, and capable of explaining how they reached a solution. However, they also have limitations, such as not having human-like decision-making power, not possessing human capabilities, requiring excessive training, and not being capable of explaining the logic behind the decision.

Thus, an expert system is a computer program that simulates the decision-making ability of a human expert in a specific domain. It consists of three main components: the user interface, the inference engine, and the knowledge base. The user interface enables the system to interact with the user, the inference engine derives solutions by fetching relevant knowledge from the knowledge base, and the knowledge base represents facts and rules in a specific domain. Expert systems are used in various fields, have several advantages, and also have limitations.

References: 

  • Chowdhury, G. G. (2004). Introduction to modern information retrieval. Facet Publishing.
  • https://www.javatpoint.com/expert-systems-in-artificial-intelligence
  • https://www.geeksforgeeks.org/expert-systems/

 


Comments

Popular posts from this blog

Different types of databases

SEARCHING TECHNIQUES

Vocabulary control tools