650 likes | 798 Views
TOWARDS A COMPONENT-BASED PLATFORM FOR DEVELOPING CBR SYSTEMS. JOSE MARIA ABASOLO LLUCH Directores Enric Plaza Josep-Lluis Arcos Tutor Ton Sales. OUTLINE. Motivation and approach State of the art CBR Knowledge Modelling A Component Description Language CBR Library CBR Ontology
E N D
TOWARDS A COMPONENT-BASED PLATFORM FOR DEVELOPING CBR SYSTEMS JOSE MARIA ABASOLO LLUCH Directores Enric Plaza Josep-Lluis Arcos Tutor Ton Sales
OUTLINE • Motivation and approach • State of the art • CBR • Knowledge Modelling • A Component Description Language • CBR Library • CBR Ontology • CBR Models • CBR Tasks and PSMs • The CAT-CBR platform • Configuring • Enabling • Enacting • An example of using CAT-CBR • Conclusions and Future Work • Publications
OUTLINE • Motivation and approach • State of the art • CBR • Knowledge Modelling • A Component Description Language • CBR Library • CBR Ontology • CBR Models • CBR Tasks and PSMs • The CAT-CBR platform • Configuring • Enabling • Enacting • An example of using CAT-CBR • Conclusions and Future Work • Publications
Motivation • Case Base Reasoning deals with solving new problems from the experience of previous solved problems • Case Base Reasoning uses • Case Knowledge (previous experience) • General Knowledge of the application domain • Development of CBR systems involves decisions about • CBR techniques • Case representation • Two perspectives on CBR systems • Scientific engineer • Application engineer
Motivation • The scientific engineer • develops and characterizes CBR techniques • The application engineer • develops CBR systems • Would like to reuse previous CBR developments • Goal: Support both perspective to improve the development of CBR systems
Approach • CBR techniques → Knowledge components • Knowledge components → reusability • Developing CBR system → Configuring among the Knowledge components • Component Description Language to characterize CBR techniques • Domain independent platform to support the development of CBR systems
OUTLINE • Motivation and approach • State of the art • CBR • Knowledge Modelling • A Component Description Language • CBR Library • CBR Ontology • CBR Models • CBR Tasks and PSMs • The CAT-CBR platform • Configuring • Enabling • Enacting • An example of using CAT-CBR • Conclusions and Future Work • Publications
OUTLINE • Motivation and approach • State of the art • CBR • Knowledge Modelling • A Component Description Language • CBR Library • CBR Ontology • CBR Models • CBR Tasks and PSMs • The CAT-CBR platform • Configuring • Enabling • Enacting • An example of using CAT-CBR • Conclusions and Future Work • Publications
Precedent cases Domain knowlegde CBR Problem New Case New case Retrieve Retrieved cases Learned case Reuse Retain Solved case Suggested solution Confirmed solution Repaired case Revise (Aamodt &Plaza 94)
CBR Problem space R Solution space A
Previous Works • [Aamodt&Plaza94] propose to decompose the different processes in subtasks and methods • [Armengol97] • introduces the Task-Method decomposition for Machine Learning techniques • introduces Methods to acquire knowledge dynamically • [Diaz02] proposes the development of KI-CBR systems using Description Logics • Ontology • Tasks and Methods
CBR Development Methodologies • INRECA is a methodology that provides the guidelines for the activities to succesfully develop CBR systems • Characterize • Set Goals • Choose Process • Execute • Analyze • Package • CBR-PEB is a decision support system for CBR system development • Support for feasibility study • Support for evaluating the applicability of techniques • Support for a state-of-the-art study
CBR Shells • CBR-Works • Structured cases • Predefined Similarity measures and similiratiy measures editor • Adaptation → Rules (if condition then action) • K-commerce • Not structured cases and problems with unknown values • Not general knowledge representation • Support large case bases • Retrieve and Retain • KATE • NN for Retrieval • Personalized similarity measures • Combines NN with dynamic induction • Data Mining module to acquire knowledge • ReMind • Not structured cases and problems with unknown values • Retreival (NN, induction of DT and Query Database) • Reuse → Rules (if condition then action) • Retain • ReCall • Combines NN and Inductive methods • Allows structured cases, incomplete cases and uncertain knowlewdge
OUTLINE • Motivation and approach • State of the art • CBR • Knowledge Modelling • A Component Description Language • CBR Library • CBR Ontology • CBR Models • CBR Tasks and PSMs • The CAT-CBR platform • Configuring • Enabling • Enacting • An example of using CAT-CBR • Conclusions and Future Work • Publications
Knowledge Modelling • A knowledge modelling framework defines the basic types of modelling components, their relations,and proposes a model development methodology. • Task-Method-Decomposition Approaches: • Generic Tasks • Components of Expertise • KADS and CommonKADS • Problem-Solving Methods • UPML
Generic Tasks • Chandresekaran presents a methodology of developing KSs oriented by Tasks. • A Task is described based on the Methods that can solve it and the requisits of this methods to be applied. • A Method is described based on the knowledge used and the decomposition into subtasks.
Components of Expertise • Steels proposes a framework of describing experience at a knowledge level • This knowledge level focuses on the knowledge of the experience more than the implementation structures. • The experience is decomposed in: • Tasks: specifies the goal and the decomposition into subtasks • Models: the knowledge needed to solve the tasks • Case Model (specific situtation solving tasks) • Domain Model (concrete knowledge about domain) • Methods: specifies where and when knowledge is applied • Decomposers • Execution
KADS and CommonKADS • KADS is a methodology for analysis and design of KSs • CommonKADS = KADS + Components of Expertise • Models capturing different aspects of the KS • Organization Model • Task Model • Agent Model • Communication Model • Design Model • Expertise Model • Domain Layer • Inference Layer • Task Layer
Problem-Solving Methods • Common patterns in the reasoning processes in KSs. • (e.g. Generate&Test, Propose&Revise) • These patterns can be described independently from the application domain → reusability. • Two types of PSMs: • Decomposing a task into subtasks • Primitive • Libraries of PSMs
UPML • UPML is a software architecture, that tries to encapsulate some of the previous approaches • UPML deals with the objective of defining components independently of the domain using ontologies for describing components. • UPML has two main drawbacks for our purpose • UPML works statically with domain models. • UPML specifies the components using some formula that do not take into account characterisitics on the specific domain model. Task PSM PSM-Task Bridge Ontologies Task-DM Bridge PSM-DM Bridge Domain model
Context • Currently KM approaches converge to a task-method-decomposition approach • BUT • CBR system development does not use KM approaches • KM has some features that are not suitable for CBR systems development • Our proposal is to develop, upon the idea of [Aamodt&Plaza94] of decomposing the different processes into subtasks and methods, a component based platform to develop CBR systems
OUTLINE • Motivation and approach • State of the art • CBR • Knowledge Modelling • A Component Description Language • CBR Library • CBR Ontology • CBR Models • CBR Tasks and PSMs • The CAT-CBR platform • Configuring • Enabling • Enacting • An example of using CAT-CBR • Conclusions and Future Work • Publications
Component Description Language Task Task-PSM matching PSM PSM-Domain matching Domain Model Content
Component Description Language Task Ri Input roles Ro Output roles P Preconditions G Goals Task-PSM matching • A Task is specified by: • Goals to be achieved • Preconditions need to be satisfied • Input roles • Output roles • CDL allows Tasks which output is a Domain Model. PSM PSM-Domain matching Domain Model Content
Component Description Language Task Ri Input roles Ro Output roles P Preconditions C Competence Rk Knowledge Roles A Assumption Task-PSM matching PSM • PSM (Problem-solving method) that characterizes the way to solve a task: • Competence: goals the PSM is able to achieve • Preconditions: properties that need to be satisfied for the PSM to be applicable • Input and Output roles • Knowledge roles: types of Domain Models • Assumptions: properties of the Domain Models that are assumed to hold PSM-Domain matching Domain Model Content
RR PD I I O O OD DM DM T T E DM I DM Component Description Language Task We distinguish three types of PSM Task-PSM matching PSM PSM-Domain matching Domain Model Content
Component Description Language Task S Type of the knowledge content P Properties A Assumptions Task-PSM matching Content Domain Model characterizes domain knowledge that is used by PSM to solve tasks: - Type of knowledge content - Properties satisfied by the knowledge content - Assumptions: properties assumed to be satisfied by the knowledge content We distinguish between the knowledge content (expressed in the domain ontology) and characterization of the content (expressed in the Task-PSM ontology). PSM PSM-Domain matching Domain Model Content
Component Description Language Task Task-PSM matching Task-PSM matching ≤ ≥ PSM PSM-Domain matching PSM-C →Task-G Task-P →PSM-P Domain Model Content
Component Description Language Task PSM-Domain matching Task-PSM matching PSM ≤ DM-P U DM-A →PSM-A PSM-Domain matching Domain Model Content
OUTLINE • Motivation and approach • State of the art • CBR • Knowledge Modelling • A Component Description Language • CBR Library • CBR Ontology • CBR Models • CBR Tasks and PSMs • The CAT-CBR platform • Configuring • Enabling • Enacting • An example of using CAT-CBR • Conclusions and Future Work • Publications
OUTLINE • Motivation and approach • State of the art • CBR • Knowledge Modelling • A Component Description Language • CBR Library • CBR Ontology • CBR Models • CBR Tasks and PSMs • The CAT-CBR platform • Configuring • Enabling • Enacting • An example of using CAT-CBR • Conclusions and Future Work • Publications
CBR ontology • The CBR ontology defines the concepts used to characterize the Tasks, PSMs and Domain Models for CBR systems. • The preconditions, assumptions, goals and competence of the components are specified using the CBR ontology • The ontology contains concepts to describe • Noise Tolerance • Accuracy • Classification-Variability • Difference-Bias • Time and Space cost • Characteristics of the retrieved cases • …
OUTLINE • Motivation and approach • State of the art • CBR • Knowledge Modelling • A Component Description Language • CBR Library • CBR Ontology • CBR Models • CBR Tasks and PSMs • The CAT-CBR platform • Configuring • Enabling • Enacting • An example of using CAT-CBR • Conclusions and Future Work • Publications
CBR Models • We have defined a typology of CBR Models • The different roles (input, output and knowledge) of the Tasks, PSMs and Domain Models are typed using these CBR Models • Some of these CBR Models are: • Case-Collection • Case-Base • Similarity-Model (Case-Similarity-Model, Grouped-Model, Set-of-cases) • K-Model (Unique-K, K-Case-Model, K-Class-Model) • Weight-Model • Order-Model • Decision-Tree-Model
OUTLINE • Motivation and approach • State of the art • CBR • Knowledge Modelling • A Component Description Language • CBR Library • CBR Ontology • CBR Models • CBR Tasks and PSMs • The CAT-CBR platform • Configuring • Enabling • Enacting • An example of using CAT-CBR • Conclusions and Future Work • Publications
CBR components • The CBR Library include components for: • Retrieval • Nearest Neighbor, Decision Tree indexing • Subsumption Mechanisms (perspectives) • Similarity • Feature similarity (numbers, ordered labels, …) • Structured cases similarity (SHAUD) • Aggregation (Weighted mean, euclidian, city-block, OWA, WOWA) • Reuse • Classification (Voting, selection criteria) • Configuration (Constructive Adaptation techniques) • Model Acquisition (Enabling) • Decision Tree induction • Weight models (gain, RLDM), numerical discretization • K-models
OUTLINE • Motivation and approach • State of the art • CBR • Knowledge Modelling • A Component Description Language • CBR Library • CBR Ontology • CBR Models • CBR Tasks and PSMs • The CAT-CBR platform • Configuring • Enabling • Enacting • An example of using CAT-CBR • Conclusions and Future Work • Publications
CAT-CBR Platform User Requirements
OUTLINE • Motivation and approach • State of the art • CBR • Knowledge Modelling • A Component Description Language • CBR Library • CBR Ontology • CBR Models • CBR Tasks and PSMs • The CAT-CBR platform • Configuring • Enabling • Enacting • An example of using CAT-CBR • Conclusions and Future Work • Publications
CAT-CBR Configuring CBR Library User Requirements User Requirements Preconditions Inputs Goals Domain-Models - The configuring process has been treated as a Search process in a space of states. - These states represent a partial configuration of a CBR system. Configuring Process • CBR system configured • Task → PSM • PSM Knowledge Role → DM Configured CBR system
Task PSM Subtasks Task-method decomposition
PSMs Configuring a Task-method decomposition DM
CAT-CBR Configuring CBR Library User Requirements Configuring Process Configured CBR system
OUTLINE • Motivation and approach • State of the art • CBR • Knowledge Modelling • A Component Description Language • CBR Library • CBR Ontology • CBR Models • CBR Tasks and PSMs • The CAT-CBR platform • Configuring • Enabling • Enacting • An example of using CAT-CBR • Conclusions and Future Work • Publications
k-Model- for-Drums Generate-k-Model Global-k Drums-cases Drums-Model-Instrument Drums-cases Drums-Model-Instrument Drums-Model-Instrument CAT-CBR Enabling Configured CBR system The goal of the enabling process is to connect the configured CBR system with a specific domain of application Enabling Process Enabled CBR system
OUTLINE • Motivation and approach • State of the art • CBR • Knowledge Modelling • A Component Description Language • CBR Library • CBR Ontology • CBR Models • CBR Tasks and PSMs • The CAT-CBR platform • Configuring • Enabling • Enacting • An example of using CAT-CBR • Conclusions and Future Work • Publications
CAT-CBR Enacting (define-method K-selection :inputs ((target CBR-Case)) :domains ((k-Model Unique-k) (Case-Language-Model CLM)) method-code) (K-selection :inputs (targets) :domains (k-Model-for-drums Drums-Model-Instrument)) Enabled CBR system The Enacting process links the enabled configuration with the PSM operationalizations Select-k-Neighbours (use-subtask Select-k-Neighbours target) K-selection Drums-Model-Instrument k-Model-for-drums Enacting Process Enacted CBR system
CAT-CBR Enacting CBR system enabled Domain Ontology CBR Ontology Configuring Process Case Language Model CBR system enacted
OUTLINE • Motivation and approach • State of the art • CBR • Knowledge Modelling • A Component Description Language • CBR Library • CBR Ontology • CBR Models • CBR Tasks and PSMs • The CAT-CBR platform • Configuring • Enabling • Enacting • An example of using CAT-CBR • Conclusions and Future Work • Publications