jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple...

24
1 Group for Artificial Intelligence Applications Department of Software Engineering and Artificial Intelligence Universidad Complutense de Madrid jCOLIBRI CBR Framework Juan A. Recio-García Motivation Background Knowledge previous cases new case problem learnt case new case retrieved case solved case suggested solution repaired case confirmed solution Building CBR applications requires: Formalization Methodologies Implementation assistance CBR is: Successful AI subfield Mature & established

Transcript of jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple...

Page 1: jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple representation ... Deliberative, Distributed and Collaborative System for Music recommendation

1

Group for Artificial Intelligence ApplicationsDepartment of Software Engineering and Artificial IntelligenceUniversidad Complutense de Madrid

jCOLIBRI CBR Framework

Juan A. Recio-García

Motivation

BackgroundKnowledge

previous

cases

new

caseproblem

learnt

case

new

case

retrieved

case

solved

case

suggestedsolution

repaired

case

confirmedsolution

Building CBR applications requires:

� Formalization

� Methodologies

� Implementation assistance

CBR is:

� Successful AI subfield

� Mature & established

Page 2: jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple representation ... Deliberative, Distributed and Collaborative System for Music recommendation

2

jCOLIBRI2

Platform for developing CBR applications

Motivation

Platform = Reference Architecture + Implementation

Page 3: jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple representation ... Deliberative, Distributed and Collaborative System for Music recommendation

3

Motivation

� Extensible

� Reusable

� Different types of users and different purposes:

� Development, Research and/or Teaching

� Compatible with commercial applications and suitable for developing large scale applications

� Supporting different types of CBR systems

� It is just a .jar file ���� Suitable for web applications

Main features of jCOLIBRIMain features of jCOLIBRIMain features of jCOLIBRIMain features of jCOLIBRI

Statistics

More than 8.500 downloads

5.000 visits to the web page in the last year

Visits from ~100 countries

Page 4: jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple representation ... Deliberative, Distributed and Collaborative System for Music recommendation

4

Academic & Commercial World Usage

� Université Pierre et Marie Curie (Paris, France)

� Georgia Institute of Technology (Georgia, USA)

� Indian Institute of Technology (Chennai, India)

� The Robert Gordon University (Aberdeen, United Kingdom)

� University College Cork (Cork, Ireland)

� …

Many Universities using jCOLIBRI for teaching or research Many Universities using jCOLIBRI for teaching or research Many Universities using jCOLIBRI for teaching or research Many Universities using jCOLIBRI for teaching or research

purposespurposespurposespurposes

Commercial ApplicationsCommercial ApplicationsCommercial ApplicationsCommercial Applications

KOBAS:

knowledge

management

system

(Romania)

Intelligence

system for

failure

diagnostics in

trains

(Portugal)

Research ProjectsResearch ProjectsResearch ProjectsResearch Projects

� European Project ONE (IST-034744)

External Contributions

CollaborationsCollaborationsCollaborationsCollaborations

Page 5: jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple representation ... Deliberative, Distributed and Collaborative System for Music recommendation

5

Where to start?

http://www.jcolibri.nethttp://www.jcolibri.nethttp://www.jcolibri.nethttp://www.jcolibri.net

Installation

Page 6: jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple representation ... Deliberative, Distributed and Collaborative System for Music recommendation

6

Examples

More Examples

Page 7: jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple representation ... Deliberative, Distributed and Collaborative System for Music recommendation

7

My first CBR application with jCOLIBRI

� Tutorial shows -step by step- how to build a travel advisor system

Import jCOLIBRI2 in Eclipse

� Just follow the steps described in the tutorial

Page 8: jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple representation ... Deliberative, Distributed and Collaborative System for Music recommendation

8

Extensions

Textual CBRKnowledge

Intensive CBR

Recommender

Systems

Distributed

CBR

Data Intensive

CBR

Extensions

Textual CBRKnowledge

Intensive CBR

Recommender

Systems

Distributed

CBR

Data Intensive

CBR

Page 9: jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple representation ... Deliberative, Distributed and Collaborative System for Music recommendation

9

Application Structure

Cases & Persistance

� Direct & simple representationDirect & simple representationDirect & simple representationDirect & simple representation

� Easy programming and debugging Easy programming and debugging Easy programming and debugging Easy programming and debugging

� Automatic generation of GUIAutomatic generation of GUIAutomatic generation of GUIAutomatic generation of GUI

� Compatibility with Web Compatibility with Web Compatibility with Web Compatibility with Web

InterfacesInterfacesInterfacesInterfaces

Cases representation: Java BeansCases representation: Java BeansCases representation: Java BeansCases representation: Java Beans

Cases persistence: ConnectorsCases persistence: ConnectorsCases persistence: ConnectorsCases persistence: Connectors

Page 10: jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple representation ... Deliberative, Distributed and Collaborative System for Music recommendation

10

Methods

5 Retrieval Strategies

7 Selection methods

30 Similarity Measures:

Texts, Ontologies, myCBR

Parameter adjustment

Transformation by local search

Constructive reuse

User-Based Revision

Preference elicitation

Maintenance algorithms:

BBNR, CRR, RENN, RC, ICF, …

Retain Revise

Retrieve Reuse

Other Features

Visualization of case bases Evaluation: N-fold, Leave-one-out,…

Page 11: jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple representation ... Deliberative, Distributed and Collaborative System for Music recommendation

11

How to continue…

http://www.jcolibri.nethttp://www.jcolibri.nethttp://www.jcolibri.nethttp://www.jcolibri.net

Extensions

Textual CBRKnowledge

Intensive CBR

Recommender

Systems

Distributed

CBR

Data Intensive

CBR

Page 12: jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple representation ... Deliberative, Distributed and Collaborative System for Music recommendation

12

Recommender systems: Example

Cases � Items

Recommender Systems in jCOLIBRI

� jCOLIBRI provides 3 main templates to build recommender systems

� Can be instantiated into more than 20 different recommenders:

� Single-shot, Navigation by Asking, Navigation by Proposing, Collaborative,…

� 15 different recommenders included as examples

RecSys’08RecSys’08RecSys’08RecSys’08

Page 13: jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple representation ... Deliberative, Distributed and Collaborative System for Music recommendation

13

Extensions

Textual CBRKnowledge

Intensive CBR

Recommender

Systems

Distributed

CBR

Data Intensive

CBR

Distributed CBR Systems: Example

� D2ISCO: Deliberative, Distributed and Collaborative System for Music recommendation

case base

case base

case base

case base

case base

A new pop song?

ICCCI’09ICCCI’09ICCCI’09ICCCI’09

Page 14: jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple representation ... Deliberative, Distributed and Collaborative System for Music recommendation

14

Distributed systems in jCOLIBRI

� Main interfaces required to build (almost) any distributed CBR system.

� Follows the IEEE FIPA standard for distributed systems.

� Can be implemented using different technologies:

� Sockets, JADE, …

ALADIN: Abstract LAyer for DIstributed CBR ALADIN: Abstract LAyer for DIstributed CBR ALADIN: Abstract LAyer for DIstributed CBR ALADIN: Abstract LAyer for DIstributed CBR

INfrastructures INfrastructures INfrastructures INfrastructures

SALADIN: Sockets based implementation of ALADINSALADIN: Sockets based implementation of ALADINSALADIN: Sockets based implementation of ALADINSALADIN: Sockets based implementation of ALADIN

� Completely functional implementation of the ALADIN architecture

Extensions

Textual CBRKnowledge

Intensive CBR

Recommender

Systems

Distributed

CBR

Data Intensive

CBR

Page 15: jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple representation ... Deliberative, Distributed and Collaborative System for Music recommendation

15

Textual CBR: examples

Textual CBR: Semantic methods

Follow the

Lenz layered model

and includes two

implementations that

use

OpenNLP and GATE

ICCBR’05ICCBR’05ICCBR’05ICCBR’05

Page 16: jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple representation ... Deliberative, Distributed and Collaborative System for Music recommendation

16

Textual CBR: Statistical methods

� Good results in complex domains where the knowledge required to extract the information is not available

TCBR Workshop

Challenge:

Air Investigation Reports

Statistical TCBR Application: Guided Adaptation

Page 17: jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple representation ... Deliberative, Distributed and Collaborative System for Music recommendation

17

Extensions

Textual CBRKnowledge

Intensive CBR

Recommender

Systems

Distributed

CBR

Data Intensive

CBR

Data Intensive CBR: example

� Textual CBR application usingtexts from journals

� 1.500 documents / 20 categories

Huge case bases with uncertain/incomplete Huge case bases with uncertain/incomplete Huge case bases with uncertain/incomplete Huge case bases with uncertain/incomplete

casescasescasescases

Page 18: jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple representation ... Deliberative, Distributed and Collaborative System for Music recommendation

18

Retrieval from a clustered case base

Use a clustering method to organize the case base

Extensions

Textual CBRKnowledge

Intensive CBR

Recommender

Systems

Distributed

CBR

Data Intensive

CBR

Page 19: jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple representation ... Deliberative, Distributed and Collaborative System for Music recommendation

19

Knowledge Intensive CBR applications

Complement the knowledge required by CBR Complement the knowledge required by CBR Complement the knowledge required by CBR Complement the knowledge required by CBR

applications by means of ontologiesapplications by means of ontologiesapplications by means of ontologiesapplications by means of ontologies

Tale generatorTale generatorTale generatorTale generator

Knowledge Intensive CBR Example

Page 20: jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple representation ... Deliberative, Distributed and Collaborative System for Music recommendation

20

jCOLIBRI2

Needs graphical tools …

COLIBRI Studio

� Complete Graphical Development Environment for CBR applications

� GUI for jCOLIBRI2 integrated into Eclipse IDE

Page 21: jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple representation ... Deliberative, Distributed and Collaborative System for Music recommendation

21

COLIBRI Studio

Case Structure

Case base

organization

Connector

Graphical composition

of methods

Automatic source

code generation

Project

Management

Easy compilation and

execution

(Available in September)(Available in September)(Available in September)(Available in September)

COLIBRI Studio

Page 22: jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple representation ... Deliberative, Distributed and Collaborative System for Music recommendation

22

Wizard

� Easy to follow wizard to configure the basic building blocks of CBR applications

COLIBRI Studio

� Graphical configuration of the CBR system through templates.

� Templates are abstract representations of common CBR applications that can be customized.

� COLIBRI Studio will provide templates for standard CBR systems, Textual CBR applications and recommenders.

CBR for CBR: A CaseCBR for CBR: A CaseCBR for CBR: A CaseCBR for CBR: A Case----

Based Template Based Template Based Template Based Template

Recommender System for Recommender System for Recommender System for Recommender System for

Building CaseBuilding CaseBuilding CaseBuilding Case----Based Based Based Based

System. ECCBR08, 2008System. ECCBR08, 2008System. ECCBR08, 2008System. ECCBR08, 2008

Semantic Templates for Semantic Templates for Semantic Templates for Semantic Templates for

CaseCaseCaseCase----Based Reasoning Based Reasoning Based Reasoning Based Reasoning

Systems (2009), in: The Systems (2009), in: The Systems (2009), in: The Systems (2009), in: The

Knowledge Engineering Knowledge Engineering Knowledge Engineering Knowledge Engineering

Review, 24:Special Review, 24:Special Review, 24:Special Review, 24:Special

Issue 03, Issue 03, Issue 03, Issue 03,

2009200920092009

Page 23: jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple representation ... Deliberative, Distributed and Collaborative System for Music recommendation

23

COLIBRI Studio

� Graphical configuration of the CBR system through templates.

� Templates are abstract representations of common CBR applications that can be customized.

� COLIBRI Studio will provide templates for standard CBR systems, Textual CBR applications and recommenders.

CBR for CBR: A CaseCBR for CBR: A CaseCBR for CBR: A CaseCBR for CBR: A Case----

Based Template Based Template Based Template Based Template

Recommender System for Recommender System for Recommender System for Recommender System for

Building CaseBuilding CaseBuilding CaseBuilding Case----Based Based Based Based

System. ECCBR08, 2008System. ECCBR08, 2008System. ECCBR08, 2008System. ECCBR08, 2008

Semantic Templates for Semantic Templates for Semantic Templates for Semantic Templates for

CaseCaseCaseCase----Based Reasoning Based Reasoning Based Reasoning Based Reasoning

Systems (2009), in: The Systems (2009), in: The Systems (2009), in: The Systems (2009), in: The

Knowledge Engineering Knowledge Engineering Knowledge Engineering Knowledge Engineering

Review, 24:Special Review, 24:Special Review, 24:Special Review, 24:Special

Issue 03, Issue 03, Issue 03, Issue 03,

2009200920092009

COLIBRI Studio

Coming soon at www.jcolibri.net

Page 24: jCOLIBRI CBR Framework · 9 Application Structure Cases & Persistance Direct & simple representation ... Deliberative, Distributed and Collaborative System for Music recommendation

24

http://www.jcolibri.nethttp://www.jcolibri.nethttp://www.jcolibri.nethttp://www.jcolibri.net

Juan A. RecioJuan A. RecioJuan A. RecioJuan A. Recio----GarcíaGarcíaGarcíaGarcía

Questions?