Knowledge Modelling:
Knowledge Modelling:
Foundations, Techniques and Applications Foundations, Techniques and Applications
Enrico Motta
Knowledge Media Institute The Open University
United Kingdom
Interface User
Domain
Knowledge Base Inference
Engine
Basic KBS Architecture
Basic KBS Architecture
Interface User
Domain
Knowledge Base Inference
Engine
First Generation KBS Architecture First Generation KBS Architecture
Rule-based
Backward-chaining
Set of Domain rules
Inference Engine
Problems Problems
Focus on implementation-level aspects (backward chaining) rather than
knowledge-level functionalities (medical diagnosis)
Poor explanation capabilities
Difficult to assess competence
Low-level reuse support
— Rules tend to be application specific
Heuristic Classification Model Heuristic Classification Model
Abstraction
Heuristic Match
Data
Refinement
Solutions
Clancey, AI Journal, 27, 1985
Data
Abstractions
Solutions Abstractions
HC in Medical Diagnosis HC in Medical Diagnosis
Abstraction
Heuristic Match
Refinement Data
Abstractions
Solutions Abstractions
Immunosuppressed
Gram-negative Infection
HC in Book Selection HC in Book Selection
Abstraction
Heuristic Match
Refinement
Solutions Data
Abstractions
Solutions Abstractions
Educated Person Stereotype
Data
‘Intelligent Book’
So What? (Competence vs Performance) So What? (Competence vs Performance)
Knowledge-level analysis shows what system actually does, not how it does it
— The interesting aspect about Mycin is its classification behaviour, not its depth-first control regime
— Separation of competence from performance (or specification from implementation)
»Important for both analysis and design of knowledge-intensive systems
So What? (Levels of system analysis) So What? (Levels of system analysis)
There exist different levels at which a system can be described
— knowledge-level (tasks and problem solving methods)
— Symbol-level (backward-chaining)
— Sub-symbol level (registers)
Shift in the level of analysis:
— Wrong question: Can a problem be solved by means of a rule-based system?
— Right questions: What type of knowledge- intensive task are we tackling? What are the appropriate problem solving methods?
So What? (Reuse) So What? (Reuse)
Knowledge-level analysis uncovers
generic reasoning patterns in problem solving agents
— E.g., heuristic classification
Shift from rule-based reuse to knowledge-level reuse
Focus on high-level reusable task models and reasoning patterns
— Classes of tasks
»Design, diagnosis, classification, etc.
— Problem solving methods
»Design methods, classification methods, etc.
So What? (Research & Development) So What? (Research & Development)
Model-based knowledge acquisition
— From acquiring rules to instantiating task models
Robust KBS development by reuse
— KBS as a structured development process
»Robustness and economy
— Importance of libraries
— KBS development not necessarily an ‘art’!
Towards a practical theory of knowledge-based systems
— What are the classes of tasks/problem solving methods?
— How do we identify/model them?
— When are methods appropriate?
Knowledge-level Architectures Knowledge-level Architectures
for Sharing and Reuse for Sharing and Reuse
Application of the modelling paradigm to the specification and use of libraries of reusable
components for knowledge systems
Modelling Frameworks (1) Modelling Frameworks (1)
A modelling framework identifies the generic types of knowledge which occur in knowledge systems, thus providing a generic epistemological organization for knowledge systems
Several exist
— KADS/Common KADS - Un.of Amsterdam
— Components of Expertise - Steels
— Generic Tasks - Chandrasekaran
— Role-limiting Methods - McDermott
— Protégé - Musen, Stanford
— TMDA - Motta
— UPML - Fensel & Motta
Modelling Frameworks (2) Modelling Frameworks (2)
Much in common
— Emphasis on reusable models
— Typology of generic tasks
— Constructivist paradigm
Some differences
— Different degrees of coupling between domain-specific and domain-independent knowledge
— Different degrees of flexibility
— Different typologies of knowledge categories
A Constructive Approach...
A Constructive Approach...
Let’s define our own framework...
Generic Tasks Generic Tasks
Informal definition
— A generic class of applications - e.g.,
planning, design, diagnosis, scheduling, etc..
More precise definition
— A knowledge-level, application-independent description of the goal to be attained by a problem solver.
Several typologies exist
— e.g., Breuker, 1994
Viewpoints over applications
— No ‘natural categories’
— Different viewpoints can be imposed on a particular application
Example: Parametric Design Example: Parametric Design
Generic Task Parametric Design
Inputs: Parameters, Constraints,
Requirements, Cost-Function, Preferences
Output: Design-Model
Goal: “To produce a complete and consistent design model, which satisfies the given requirements”
Preconditions: “At least one requirement and one parameter are provided”
Example: Classification Example: Classification
Generic Task Classification
Inputs: Candidate-classes Observables
Output: Best-Matching-Classes Preconditions: “At least one candidate
class exists”
Goal: “To find the class that best explains the observables”
Generic Component 2: Reusable PSMs Generic Component 2: Reusable PSMs
A domain-independent, knowledge-level specification of problem solving
behaviour, which can be used to solve a class of tasks.
PSM specifications may be partial
PSM can be task-specific
— E.g., heuristic classification
PSM can be task-independent
— E.g., search methods, such as hill-climbing, A*, etc...
Functional Specification of a PSM Functional Specification of a PSM
Problem solving method search ontology
import
state-space-terminology competence
roles
input input: State output output: State preconditions
input ≠ 0 postconditions
solution_state (output) assumptions
?s . solution_state (?s) & successor (input, ?s)
Operational Description Operational Description
Begin
states:= one x. initialize (input input) repeat
state:= one x . select _state (states states) if solution_state (state)
then return state else
succ_states:= one x. derive_successor_states (state state) states:= one x. update_state_space (input1 states
input2 succ_states) end if
end repeat end
Task-Method Structures Task-Method Structures
Problem Type
Multi-Functional Domain Models Multi-Functional Domain Models
Domain-specific models, which are not committed to a specific PSM or task.
Examples
— A database of cars
— The CYC knowledge base, etc..
Application Model
Picture so far..
Picture so far..
Problem Solving Method
Classification Simple Classifier
Generic Task
Problem Solving Method
Classification Simple Classifier
Application Model
Generic Task
Multi-Functional Domain
Issue Issue
How to link different reusable components?
Problem Solving Method
Classification
Task-Domain Mapping
PSM-Domain Mapping
Simple Classifier
Application Model
Generic Task
Solution: Mappings Solution: Mappings
Mappings model explicitly the relationship between different components in an application model
Task-PSM Mapping
Example Example
Scenario: Office Allocation Application
Generic Task: Parametric Design
Domain: KB about employees and offices
Parameter
Employee
Design Model
Pairs
<Employee, Room>
Task Level
Domain
Level
Mappings are an example of application-specific knowledge. Are there others?
Application-specific knowledge Application-specific knowledge
Yes: Application-specific heuristic
problem solving knowledge
Elevator Design Example Elevator Design Example
A configuration designer only considers two positions for the counterweight
— Half way between platform and U-bracket
— A position such that the distance between the counterweight and the platform is at least 0.75 inches
Complete Picture Complete Picture
Problem Solving Method
Generic Task
Multi-Functional
Mapping
Knowledge Application-specific Problem-Solving Knowledge
Application Configuration
Application Model
Even More Complete Picture Even More Complete Picture
Problem Solving Method
Generic Task
Multi-Functional Domain
Mapping
Knowledge Application-specific Problem-Solving Knowledge
Application Configuration
Task Ontology Method Ontology
Mapping Ontology Ontology