65
TOWARDS A COMPONENT- BASED PLATFORM FOR DEVELOPING CBR SYSTEMS JOSE MARIA ABASOLO LLUCH Directores Enric Plaza Josep-Lluis Arcos Tutor Ton Sales

TOWARDS A COMPONENT-BASED PLATFORM FOR DEVELOPING CBR SYSTEMS

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

TOWARDS A COMPONENT-BASED PLATFORM FOR

DEVELOPING CBR SYSTEMS

JOSE MARIA ABASOLO LLUCHDirectores 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

CBR

Newcase

NewCase

Retrievedcases

Solvedcase

Repairedcase

Learnedcase

Precedentcases

Domainknowlegde

RetrieveR

euse

Revise

Ret

ain

Problem

(Aamodt &Plaza 94)

Confirmedsolution

Suggestedsolution

CBR

Problemspace

Solutionspace A

R

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

Domainmodel

PSM-TaskBridge

Task-DMBridge

PSM-DMBridge

Ontologies

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

PSM

Task-PSMmatching

PSM-Domainmatching

DomainModel

Content

Component Description Language

•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.

Task

P G

R Ri o Ri Input rolesRo Output rolesP PreconditionsG Goals

Task

PSM

Task-PSMmatching

PSM-Domainmatching

DomainModel

Content

Component Description Language

• 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

P C (R ,A)

R R oi

k

Ri Input rolesRo Output rolesP PreconditionsC CompetenceRk Knowledge RolesA Assumption

Task

PSM

Task-PSMmatching

PSM-Domainmatching

DomainModel

Content

Component Description Language

Task

PSM

Task-PSMmatching

We distinguish three types of PSM

PDI O

OD

T T

DM

RRI O

DM

EI

DM

DMPSM-Domain

matching

DomainModel

Content

Component Description Language

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).

Domain Model

S P AS Type of the knowledge contentP PropertiesA Assumptions

Task

PSM

Task-PSMmatching

PSM-Domainmatching

DomainModel

Content

Content

Component Description Language

Task-PSM matching

Task-P → PSM-P

PSM-C →Task-G

Task

PSM

Task-PSMmatching

Task

P G

R Ri o

PSM

P C (R ,A)

R R oi

k

PSM-Domainmatching

DomainModel

Content

Component Description Language

Domain Model

S P A

PSM-Domain matching

PSM

P C (R ,A)

R R oi

k

Task

PSM

Task-PSMmatching

≤DM-P U DM-A → PSM-A

PSM-Domainmatching

DomainModel

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

An example of PDProblem Decomposer K-NN-Retrieval

Ontology CBR-Ontology

Input roles target : CBR-Case

Output roles cases : CBR-Case

Subtasks Asses similarity

Select-k-neighbours

Preconditions

Competence Retrieve-Similar-cases-with-similarity

Operational Description (use-subtask Select-k-neighbours

target

(use-subtask Assess-Similarity

target))

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

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

ConfiguringProcess

User RequirementsPreconditions InputsGoals Domain-Models

CBR Library User Requirements

ConfiguredCBR system

CBR system configured• Task → PSM• PSM Knowledge Role → DM

Task-method decomposition

Task

PSM

Subtasks

Configuring a Task-method decomposition

PSMs

DM

CAT-CBR Configuring

ConfiguringProcess

CBR Library User Requirements

ConfiguredCBR 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 Enabling

The goal of the enabling process is to connect the configured CBR system with a specific domain of application

Configured CBR system

EnablingProcess

EnabledCBR system

Drums-Model-Instrument

Drums-Model-Instrument Drums-cases

k-Model- for-Drums

Generate-k-Model

Global-kDrums-cases

Drums-Model-Instrument

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

The Enacting process links the enabled configuration with the PSM operationalizations

(use-subtask Select-k-Neighbours target)

(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))

EnabledCBR system

EnactingProcess

EnactedCBR system

Select-k-NeighboursK-selection

Drums-Model-Instrument

k-Model-for-drums

CAT-CBR Enacting

CBR systemenabled

ConfiguringProcess

CBR systemenacted

CBROntology

DomainOntology

CaseLanguage

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

Application Domain

Audio Content Description ← Classification Automatic labelling of sounds → sampling and

synthesis devices Application Domain = Unpitched percussion

sounds There are many sound descriptors Different source recordings Different criteria of classification (instrument, family)

A sound is described using 207 attributes There are 30 instrument classes

Configuring CBR system

ConfiguringProcess

User RequirementsPreconditions Propositonal-CaseInputs (Problem CBR-Case)Goals Classify-ProblemDomain-Models

(Case-Base-ModelPropositional-CaseNo-Missing-Values)

(Case-Language-Model)

CBR Library User Requirements

Configuring CBR system

ConfiguringProcess

CBR Library User Requirements

ConfiguredCBR system

Classify

Classify-by-k-NN

Retrieve-for-k-NN

Reuse-for-k-NN

K-NN-Retrieval

Assess-Similarity

Feature-Similarity-and-Aggragation

Feature-Similarity

Feature-Similarity-No-Missing-Values

Case-Base-Model

Case-Language-Model

Aggregation

City-Block-Aggregation

K-Model

Case-Language-Model

Select-k-Neighbours

K-selection

Majority

Case-Language-Model

Enabling CBR system

ConfiguredCBR system

EnablingProcess

Enabled CBR system

Classify

Classify-by-k-NN

Retrieve-for-k-NN

Reuse-for-k-NN

K-NN-Retrieval

Assess-Similarity

Feature-Similarity-and-Aggragation

Feature-Similarity

Feature-Similarity-No-Missing-Values

Case-Base-Model

Case-Language-Model

Aggregation

City-Block-Aggregation

K-Model

Case-Language-Model

Select-k-Neighbours

K-selection

Majority

Case-Language-Model

Drums-cases

Drums-Model-Instrument

Drums-Model-Instrument

Drums-Model-Instrument

k-Model-for-drums

Generate-k-Model

Global-kDrums-cases

Drums-Model-Instrument

Enacting CBR system

(define (Case-Language-Model :id Drums-Case-Language) (case-spec (define-spec (Mostpercussionclasses))) (case-attributes Specflat Speccent Speccentn

Strpeak Kurtosis Scr Zcr Strdecay Varsc Varzcr Skew B1 B1bis B2 B2bis B3 B4 B5 B6 B7 B8 B9 B10 B11 B12 B13....) (solution-attribute Instrument) (solution-accessor ‘Instrument-Accessor))

Case structure definition

Selected Attributes

(define (Numeric-Attribute :id Specflat) (name 'Specflat) (accessor Specflat-Accessor) (sim-function 'Specflat-Similarity) (range (define (interval)

(inf-lim -61)(sup-lim -1))))

Testing CBR systemsClassify

Classify-by-k-NN

Retrieve-for-k-NN

Reuse-for-k-NN

K-NN-RetrievalAssess-Similarity

Feature-Similarity-and-AggragationFeature-Similarity

Feature-Similarity-No-Missing-ValuesCase-Base-ModelCase-Language-Model

AggregationCity-Block-Aggregation

K-ModelCase-Language-Model

Select-k-NeighboursK-selection

Majority

Case-Language-Model

ClassifyClassify-by-k-NN

Retrieve-for-k-NN

Reuse-for-k-NN

K-NN-RetrievalAssess-Similarity

Feature-Similarity-and-AggragationFeature-Similarity

Feature-Similarity-No-Missing-ValuesCase-Base-ModelCase-Language-Model

AggregationEuclidean-Aggregation

K-ModelCase-Language-Model

Select-k-NeighboursK-selection

Majority

Case-Language-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

Conclusions Reusability of CBR techniques across different domains Task-Method decomposition of CBR techniques

We have defined a CDL addresing the needs of the CBR development

CBR Library that includes a representative set of tasks and PSMs for the Retrieve and Reuse phase

We do not pretend to cover all CBR techniques, we only present some classic methods and viability of define and specify new methods using the CDL

CAT-CBR platform to develop CBR systems

We have presented the development process of a CBR system as a three phases processes

Configure Enable Enact

Future Work

To incorporate other techniques to the CBR Library Knowledge Intensive CBR (CREEK techniques) Higher Order Retrieval techniques (perspectives) Reuse techniques for Configuration (Constructive

Adaptation) To further study two application domains

Device configuration Music content retrieval and analysis

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

Publications M. Gomez, C. Abasolo, E. Plaza (2003), “Open, Reusable and Configurable Multi-Agent

Systems”. Third price in the AgentCities Technology ATC03, in the Infrastructures category. M. Gomez, C. Abasolo (2003), “A general framework for meta-search based on query weighting

and numerical aggregation operators”. In Bouchon-Meuner, B. Foulloy, L and Yager, R.R. (eds.). Intelligent Systems for Information Pro-cessing: From Representation to Applications, pp. 129-140, Elsevier Science.

C. Abasolo, E. Plaza, J. Arcos (2002),”Components for Case-Based Reasoning”. In Proc.Congres Catala d'Intel.ligencia Artificial, CCIA 2002.

M. Gomez, C. Abasolo, E. Plaza (2002), “Problem-solving Methods and Cooperative Information Agents”. In Proc. Special Issue of the International Journal on Cooperative Information Systems vol. 11(3), 2002.

M. Gomez, C. Abasolo (2002), “Improving meta-search by using query-weighting and numerical aggregation operators”. In Proc. Information Processing and Management of Uncertainty conference, IPMU 2002.

C. Abasolo, M. Gomez (2002), “A framework for meta-search based on numerical aggregation operators”. In Proc.Congres Catala d'Intel.ligencia Artificial,CCIA 2002.

M. Gomez, C. Abasolo, E. Plaza (2001), ·Domain-independent ontologies for cooperative information agents·. In Proc. Fifth International Workshop Cooperative Information Agents CIA-2001. Lecture Notes in Artificial Intelligence, LNAI 2128, p. 118-129. Springer-Verlag.

C. Abasolo, M. Gomez E. Plaza (2001),” Agents d'informacio independents del domini”. In Proc.Congres Catala d'Intel.ligencia Artificial, CCIA 2001.

J. M. Abasolo, M. Gomez (2000). “MELISA: An ontology-based agent for information retrieval in medicine”. Proceedings of the First International Workshop on the Semantic Web (SemWeb2000). Lisbon, Portugal, pp 73-82.