Developing Knowledge-Based Systems (Knowledge-Based Systems) Nature Of Knowledge-Based Systems Quite different from other computer based information systems. Deals with knowledge and works at an unstructured level. Can justify their decision and have the ability to learn. KBS Chapter3 Difficulties in KBS Development High cost and effort Dealing with experts Experts are often rare so it is difficult to meet them and take knowledge for the system. The nature of knowledge As the knowledge is specific to the domain, it can not be shared without the presence of expert even the knowledge is available. The level of risk It is some how risky because the development cost is very high and the cost goes higher and higher in maintaining these systems. KBS Chapter3 KBS Development Model ANALYSIS DESIGN Elicitation of feasible requirements Strategy selection and overall design of KBS Knowledge acquisition Middleware services and tools Knowledge sources and users’ requirements Testing, implementation, and training Knowledge Engineer Ontology, reusable component library, and standards Ontology selection and knowledge representation System development and implementation IMPLEMENTATION DETAILED DESIGN Development round 1 (resulting in the first in-house prototype) Development round 2 KBS Chapter3 KBS Development Model This Development model is based on the system life cycle. The major stages of this model are: Elicitation of feasible requirements Strategy Selection and Overall Design of KBS Ontology Selection and knowledge representation System Development and Implementation Testing, Implementation and Training Knowledge Acquisition In the figure development round one just gives a prototype and round two gives complete system development. KBS Chapter3 Knowledge Acquisition Activities in Knowledge Acquisition IDENTIFICATION CONCEPTULIZATION Other knowledge sources IDENTIFICATION Experts • • • • • Knowledge Acquisition Techniques Literature review Protocol analysis Diagram-based techniques Concept sorting Etc. KBS requirements Knowledge Engineer User Knowledge representation Knowledge discovery and verification FORMALIZATION IMPLEMENTATION Knowledge Base Database Automatic creation from cases Cases and documents KBS Chapter3 TESTING Knowledge Acquisition… Knowledge Elicitation The knowledge acquisition process in which the domain expert is the only source of knowledge Steps Of Knowledge Acquisition Step I : Find suitable expert and knowledge engineer Step II : Proper homework and planning Step III : Interpreting and understanding the knowledge provided by the experts. Step IV : Representing the knowledge provided by the experts. KBS Chapter3 Techniques for Knowledge Acquisition Literature review Interview and protocol analysis Protocol analysis is a kind of interview in which the domain expert is asked not only to solve the problem but also to think aloud while doing so. Surveys and Questionnaires Useful in gather quantitative factual knowledge (explicit knowledge) Observations Observing experts in a live environment gives a better picture of the solution strategy. Diagram-Based Techniques Process-flow diagram, conceptual maps, event and state charts Generating Prototypes Concept sorting KBS Chapter3 Concept Sorting It is a psychological technique that is useful in tapping an organization's knowledge. Steps of Concept Sorting 1. 2. 3. 4. 5. Consider a textbook or ask domain expert for the basic concepts and standards of the domain and codify each major concept in separate cards. Arrange these cards into various groups according to their use. Ask question to the domain expert regarding the order and placement of the concept cards. Steps 2 & 3 are repeated until the expert is finished answering questions or sufficient knowledge is acquired If the expert runs out of knowledge then the engineer takes any three cards and ask the relationship. KBS Chapter3 Sharing Knowledge Experts can share meaningful outcomes of their learning process to enrich and generalize their knowledge. Following are the methods for knowledge sharing: Problem Solving Talking and story telling Supervisory style KBS Chapter3 Issues with Knowledge Acquisition Most knowledge rests with experts so can not be extracted directly. Continuously changing nature of knowledge Difficult to prepare the experts for knowledge acquisition process. Sometimes the knowledge are subconscious An expert is not always correct No single expert know everything Opinions among multiple experts may differ significantly KBS Chapter3 Updating knowledge The knowledge base in a KBS undergoes continuous updating. Following are the three means by which updates can be made. Self-Updating: The system learns from the cases it handles(self learning) Manual updates by knowledge engineer Manual Updates by experts KBS Chapter3 Knowledge Representation Knowledge components should be represented in such a way that the operations storage, retrieval, inference and reasoning are facilitated without disturbing the required characteristics of knowledge Knowledge Structure: KBS Chapter3 Characteristics of efficient knowledge representation facility It should be able to represent the given knowledge to a sufficient depth. Should preserve the fundamental characteristics of knowledge(complete, accessible, consistent etc). Should be able to infer new knowledge Should be able to provide reasoning and explanation. Should be able to store updates and support incremental development Should be independent enough to be reused KBS Chapter3 Types Of Knowledge Knowledge representation is broadly classified in two categories: Factual Knowledge Representation Constants Variables Functions Predicates Well-formed Formulas First Order Logic Procedural Knowledge Representation KBS Chapter3 Factual Knowledge Representation Factual knowledge are known as formal knowledge and can be represented using first order logic supporting constants, variables functions and predicates Constants: Those symbols that don’t change, represent fixed knowledge Variables: Takes different values within a fixed domain Functions: Set of instructions that carry out process and return a predefined value Predicates: Special functions that return only Boolean value Well-Formed Formulas: String of symbols that is generated by a formal language KBS Chapter3 Factual Knowledge Representation First Order Logic: Generated by combining predicate logic and propositional logic. Examples Constants: Mohammad, Salem etc. Variables: Man Functions: Elder(Mohammad, Salem) returns value Predicates: Mortal(Salem) returns Boolean value Well-Formed Formulas: If you don’t exercise you will gain weight. Represented as ∀x[{Human(x) ^ ~ ∃Exercise(x)} => Gain_Weight(x)] KBS Chapter3 Representing Procedural Knowledge Procedural knowledge represents how to reach a solution in a given situation. Examples of procedural knowledge are: Production Rules: Knowledge is represented as a sequence of condition and the appropriate actions If<condition>, then <action> Rules are simple and easy to understand, implement and modify. Large number of rules are required to solve simple problems. This large volume creates problem in documenting and encoding into the knowledgebase. Deduction process works as follows: Knowledge in the form of facts and rules New facts are added Combining the new facts with existing facts and rule KBS Chapter3 Representing Procedural Knowledge Semantic Networks: Graphical description of knowledge composed of nodes (objects or concepts) and links that show hierarchical relationships. The links carries semantic information such as is-a, type-of, part-of etc. Example: KBS Chapter3 Representing Procedural Knowledge Frames: Frames are the description of conceptual and default knowledge about a given entity. A frame organizes knowledge according to cause-andeffect relationships The slots of a frame contains items like rules, facts, videos, references etc. It also contains pointers to other frames or procedures. A slot is further divided into facets. A facet may be any of the following Example: Explicit or default values A range of values An if-added type of procedural attachment. KBS Chapter3 Name: Broad Category: Sub Category: Cost: Capacity: Speed: Power bike Land vehicle Gearless $350 Two persons 160 km/hour Representing Procedural Knowledge A frame based interpreter must be capable of the following: Check for a slot value that is correct and within specified range. Dissemination of definition values Inheritance of default values Computation of the value of a slot as required Checking whether the correct values has been computed KBS Chapter3 Representing Procedural Knowledge Scripts: Script is a knowledge representation structure for a specific situation. It contains slots such as objects, their roles, entry and exit conditions and different scenes describing a process in detail. Example: Name: Visit to Pharmacy Props: Money Symptoms Treatment Medicine Roles: Dentist - D Receptionist - R Patient - P Entry Conditions: Patient P has toothache. Patient P has money. Exit Conditions Patient P has less money. Patient P returns with treatment. Patient P has appointment. Patient P has prescription. KBS Chapter3 Scene 1: Entry P enters the pharmacy. P goes to reception. P meets R. P pays registration and/or fees and gets appointment. Go to Scene 2. Scene 2: Consulting Doctor P meets D. P conveys symptoms. P gets treatment. P gets appointment. Go to Scene 3. Scene 3: Exiting P pays money to R. P exits the pharmacy. Representing Procedural Knowledge Hybrid Structures: It incorporates more than one representation scheme. Example: KBS Chapter3 KBS Tools PROLOG LISP (List Processing) AIML (Artificial Intelligence Modeling Language) MATLAB JavaNNS (Java Neural Networks Simulator) CLIPS (C Language Integrated Production System) KBS Chapter3