Razonamiento Basado en Casos (CBR, Case-based Reasoning)Fernando Díaz GómezE. U. de Informática Departamento de InformáticaUniversidad de Valladolid
2
Contenidos
Razonamiento basado en memoria Motivación sistemas CBR Tipos de razonamiento basado en casos Ciclo de un CBR Representación de los casos Recuperación Adaptación Revisión Aprendizaje CBR vs. otros enfoques Ejemplos jColibri
3
Razonamiento basado en memoria (I) Razonamiento en Sistemas Basados en Conocimiento
(KBS, Knowledge-based systems) La tarea de razonamiento se define comúnmente
como el proceso de derivación de nuevas conclusiones mediante el encadenamiento sucesivo de reglas
Razonamiento en Sistemas CBR El razonamiento está basado en memoria, en el
sentido de que las nuevas soluciones se generan mediante la recuperación de los casos más relevantes presentes en la memoria y su adaptación para ajustarse a las nuevas situaciones
4
Razonamiento basado en memoria (II)
Principios que asume el enfoque CBR “El mundo es regular”: problemas
similares tienen soluciones similares
“El mundo es recurrente”: los tipos de problemas con los que suele encontrarse un agente inteligente tienden a repetirse
5
Razonamiento basado en memoria (III)
6
Razonamiento basado en memoria (IV) Aprendizaje basado en la experiencia
En un sistema CBR la tarea de razonamiento está inseparablemente ligada a la tarea de aprendizaje
• Se “razona recordando” y se “recuerda el razonamiento”
El conocimiento de un sistema CBR continuamente cambia conforme aparecen nuevas experiencias que se almacenan para su uso futuro
Un sistema CBR aprende de la experiencia para explotar éxitos anteriores y evitar fracasos anteriores
7
Motivación sistemas CBR (I)
El estudio de sistemas CBR es interesante para una mejor compresión de los procesos cognitivos Multitud de estudios corroboran que los humanos
razonan a partir de casos y experiencias pasadas en multitud de contextos (programación, resolución de problemas matemáticos, explicación de eventos anómalos, …)
El estudio de sistemas CBR es interesante para mejorar la eficiencia de los sistemas inteligentes Los seres humanos resolvemos problemas de forma
robusta• Rutinariamente resolvemos problemas complejos a
pesar de disponer de un conocimiento limitado e incierto, y nuestro rendimiento mejora con la acumulación de experiencia, y estos atributos son también deseables para los sistemas de Inteligencia Artificial reales
8
Motivación sistemas CBR (II)
Mejora en la adquisición de conocimiento (knowledgeacquisition) Problema clásico de los KBS, pues el proceso de
elicitación de conocimiento es laborioso y poco fiable• Además, determinados dominios son difíciles de formalizar
o requieren un número inmanejable de reglas
Los sistemas CBR necesitan la descripción de casos específicos, no necesitan analizar y generalizar los componentes de los casos en forma de reglas
• En algunos dominios, esta tarea es directa• En otros, se requiere cierta “ingeniería de casos” (delimitar
la información que deben contener los casos, determinar su representación y extraerla de los datos disponibles)
• Los expertos en el dominio son más proclives a contar situaciones dadas que a formalizar su conocimiento en forma de reglas
9
Motivación sistemas CBR (III)
Mejora en el mantenimiento del conocimiento(knowledge maintenance) Los sistemas CBR permiten a los usuarios incorporar
casos no considerados inicialmente a la memoria, sin necesidad de la intervención del experto en el dominio
Además, la naturaleza incremental del aprendizaje, permite desplegar inicialmente el sistema con un número reducido de casos que puede aumentarse, si es necesario
• Un sistema CBR no necesita, para su funcionamiento, todos los posibles tipos de problemas, sólo los que realmente ocurren en la práctica
10
Motivación sistemas CBR (IV)
Incremento de la eficiencia de la resolución del problema La reutilización de soluciones previas ayuda
a incrementar la eficiencia en el proceso de resolución de un problema, al basar la nueva solución en el resultado del razonamiento llevado con anterioridad en lugar de repetir el razonamiento completo
Además, dado que el sistema CBR también almacena las soluciones fallidas (no sólo las exitosas), éstas pueden ayudar a advertir potenciales problemas a evitar
11
Motivación sistemas CBR (V)
Incremento de la calidad de las soluciones Cuando el conocimiento acerca de un dominio
es incompleto, las reglas del dominio serán imperfectas y, en estas circunstancias, …
… las soluciones sugeridas por un sistema CBR pueden ser más precisas que las sugeridas por el encadenamiento de reglas,
• pues los casos reflejan lo que realmente ocurre en un contexto dado
12
Motivación sistemas CBR (VI)
Mejora de la aceptación del usuario Un sistema inteligente no es útil, si sus usuarios no
aceptan sus resultados Los resultados de un sistema CBR están basados en
experiencias reales previas, que pueden presentarse al usuario para soportar convincentemente sus conclusiones
• Existen modelos de caja negra que no pueden justificar sus conclusiones (redes neuronales, p.e.)
• En dominios no formalizados completamente, la justificación en base a reglas no comprendidas o, incluso aceptadas, restan credibilidad a la solución
13
Tipos de razonamiento basado en casos (I) Interpretación basada en casos (interpretative CBR)
Objetivo: el objetivo del sistema es clasificar o formular un juicio acerca de una nueva situación• Relacionado con la tareas de clasificación
supervisada y diagnosis Procedimiento:
1. Valorar la situación para determinar que características de la situación actual son realmente relevantes
2. En base a los resultados de la valoración inicial, recuperar uno o varios casos previos que sean relevantes
3. Comparar los casos recuperados con la nueva situación para determinar que interpretación aplicar
4. Guardar la situación actual y la interpretación dada como un nuevo caso
14
Tipos de razonamiento basado en casos (II) Resolución de problemas basada en casos (problem-solving
CBR) Objetivo: el objetivo del sistema es aplicar una solución previa
para generar la solución a un nuevo problema• Relacionado con sistemas de diseño basado en casos,
planificación y explicación Procedimiento:
• Al igual que la interpretación basada en casos, la resolución de problemas basada en casos implica: i) valorar la nueva situación, ii) recuperar un caso, y iii) evaluar/valorar la similitud
Otras consideraciones• El concepto de similitud es aplicado tanto al espacio de
descripciones como al espacio de soluciones (ver figura transparencia 4)
• Además, el conocimiento acerca del dominio no sólo está en los casos almacenados (en forma de esquema de representación/indexación), sino también en la métrica de similitud y en el procedimiento de adaptación
15
Ciclo de un CBR (I)
La resolución de un problema por un sistema CBR implica que: Partiendo de la descripción de un nuevo problema Medir la similitud del problema actual con los problemas
anteriores y ya resueltos (con sus soluciones), almacenados en la base de casos (o memoria), recuperando uno o más casos similares
Intentar reutilizar la solución de uno de los casos recuperados, posiblemente después de adaptarlo teniendo en cuenta las diferencias en las correspondientes descripciones de los problemas
La solución propuesta por el sistema se evalúa a continuación (bien mediante la aplicación al problema inicial, bien mediante la valoración de un experto en el dominio)
Tras la revisión de la solución propuesta (si es necesario a la vista del resultado de su evaluación), la descripción del problema y su solución puede retenerse como un nuevo caso, y el sistema habrá aprendido a resolver un nuevo problema
16
Ciclo de un CBR (II)
17
Representación de los casos (I) ¿Qué es un caso?
“Un caso es una pieza contextualizada de conocimiento que representa una experiencia que enseña una lección fundamental para alcanzar los objetivos del razonador”(Kolodner & Leak)
El conocimiento del caso es aplicable siempre que se presente un determinado contexto
No todas las situaciones “enseñan una lección”.• Casos redundantes• Casos cubiertos por el conocimiento general
¿Qué lecciones puede enseñar un caso?• Cómo conseguir uno o varios objetivos• Cómo alcanzar el estado necesario para poder lograr un
objetivo• Qué problemas se pueden plantear a la hora de lograr un
objetivo
18
Representación de los casos (II)
¿De qué partes se compone un caso? Descripción del problema Descripción de la solución Resultado, si admitimos que el sistema se
pueda equivocar (opcional)
¿Qué tipo de conocimiento se incluye en cada parte?
¿Qué formalismos de representación son los adecuados?
19
Representación de los casos (III) ¿De qué partes se compone un caso?
Descripción del problema Descripción de la solución Resultado, si admitimos que el sistema se
pueda equivocar (opcional)
Caso = problema + solución + [resultado]
¿Qué tipo de conocimiento se incluye en cada parte?
¿Qué formalismos de representación son los adecuados?
20
Representación de los casos (IV) Representación del problema
Describe el estado del mundo al comenzar el razonamiento
• Situación a interpretar o clasificar• Problema a resolver, o artefacto a diseñar
Total o parcialmente se utiliza para determinar la similitud entre los casos
Tres posibles componentes:• Objetivos que consigue el caso: “diagnosticar”,
“evaluar”, “explicar”,… Sólo se representa explícitamente cuando hay varios objetivos posibles
• Restricciones impuestas sobre los objetivos: se debe tener en cuenta en la solución
• Otras características del problema se pueden tener en cuenta en la solución
21
Representación de los casos (V) Contenido de la solución
La propia solución: el artefacto, el plan o la interpretación. Los pasos del razonamiento que se han utilizado para
resolver el problema:• Operadores aplicados• Qué casos se han utilizado y cómo se han adaptado• Reglas aplicadas
Justificaciones de las decisiones tomadas para la resolución, para así:
• Guiar la adaptación• Qué casos se han utilizado y cómo se han adaptado• Reglas aplicadas
Soluciones aceptables que no se eligieron (y por qué) Soluciones inaceptables que se descartaron (y por qué) Las expectativas sobre el resultado de la aplicación
22
Representación de los casos (VI) Elementos que pueden formar parte del resultado:
El propio resultado (a veces desde diferentes puntos de vista) Si el resultado se ajusta o no a las expectativas de la solución Si el resultado es de éxito o de fracaso Una explicación del fallo o de la violación de las expectativas Estrategia de reparación Qué se podría haber hecho para evitar el problema Un puntero al siguiente intento de solución (resultado de la
reparación) La información representada en el resultado permite
Saber si se debe aplicar la solución Detectar carencias en el modelo (las expectativas no
coinciden con el resultado) Anticipar y explicar fallos futuros Obtener soluciones que corrigen fallos previos
23
Recuperación (I)
Tareas de la fase de recuperación1. Valoración de la situación
• Determinar las características que permiten encontrar casos relevantes
• Se debe limitar el coste de la obtención de los índices2. Búsqueda en la memoria para encontrar los casos
que guardan una similitud por encima de cierto umbral. Comparación superficial• El procedimiento de búsqueda dependerá de la
organización- la estructura de datos- de los casos• En ocasiones, los casos se organizan
automáticamente utilizando métodos de aprendizaje automático.
3. Ordenación de los casos recuperados4. Selección del caso mejor
24
Recuperación (II)
Consideraciones generales Elección de los índices
• Cómo se asignan etiquetas (atributos) a los casos para que luego sean recuperados cuando resulten útiles
Estructura de la base de casos• Cómo se organizan los casos de forma que la búsqueda
se pueda llevar a cabo de forma eficiente y precisa• Qué subconjunto de los índices se debe utilizar para
construir la estructura Medidas de similitud
• Cómo se mide la relevancia de un caso para el problema a resolver
• Similitud local vs. Similitud global Algoritmo de recuperación
• Elemento aglutinador de todo lo anterior
25
Adaptación (I)
Tareas de la fase de adaptación Se utiliza el conocimiento incluido en el caso
recuperado para resolver/clasificar el problema actual• Sin modificar
• La solución es válida o es el usuario quien se encarga de adaptarla o interpretarla
• Modificando• Se adapta la solución (resolución de problemas) o la
justificación (interpretación de situaciones) de los casos recuperados.
Tipos de adaptación• Sin modificar la estructura: Insertar elementos, eliminar
elementos, sustituir elementos• Transformando la estructura
26
Adaptación (II)
Métodos de adaptación Sin adaptación
• Un gran número de sistemas CBR no realizan adaptación. No es necesario que el sistema la realice para que resulte útil
Métodos basados en sustitución• Re-instanciación• Ajuste de parámetros• Búsqueda local• Búsqueda en la memoria• Búsqueda especializada• Sustitución basada en casos
Métodos basados en transformación• Transformaciones de sentido común• Reparación guiada por un modelo
Otros métodos• Adaptación y reparación de propósito especial• Analogía derivacional (adaptar la traza de pasos seguidos en la
solución)
27
Revisión
Tareas de la fase de revisión ¿Es correcta la solución propuesta? La evaluación de la solución se realiza fuera del
sistema CBR• Respuesta de un experto (o del usuario)• Simulación
Reparación de los fallos• Se identifican las causas del fallo• Se solicita una explicación del fallo de las expectativas• Se solicita una reparación o el propio sistema se
encarga de aplicar estrategias de reparación
Si el sistema podía llegar a la solución correcta, ¿por qué no lo hizo al primer intento?
28
Aprendizaje (I)
En CBR el razonamiento y el aprendizaje están íntimamente ligados
Un sistema CBR mejora con el uso al ir adquiriendo nuevas experiencias que integra adecuadamente
Mejora la eficiencia del sistema al disponer de más casos a partir de los cuales obtener soluciones
Tareas del aprendizaje: Extracción de la información a recordar (la descripción, la
solución, el resultado, la justificación de la solución, las causas de fallo,…)
Obtención de los índices que sirven para clasificar la nueva información
Integración del conocimiento. Ubicación del nuevo caso en el lugar correcto dentro de la base de casos, incorporación de nuevos índices, reorganización de los índices, construcción de abstracciones de los casos.
29
Aprendizaje (II)
Aprendizaje dirigido por el éxito Cuando el proceso concluye con éxito, la
solución se almacena para su futuro uso, evitando la necesidad de rehacer el razonamiento
• La combinación de sistemas CBR y sistemas de producción (de reglas) puede acelerar la tarea de aprendizaje
• En dominios imperfectos, la adquisición de nuevos casos puede refinar el conocimiento inicial del dominio y permitir al sistema favorecer ciertas soluciones que son más probables de ser exitosas, en base a su experiencia
30
Aprendizaje (III)
Aprendizaje dirigido por el fracaso Los fallos revelan que se necesita aprender Los fallos ayudan a focalizar qué aprender Un sistema CBR aprende tanto:
• De los fallos en la ejecución de la tarea, o situaciones en que los resultados no son exitosos
• De los fallos en las expectativas, o situaciones en las que el resultado real difiere del resultado predicho
Puede disparar diferentes tipos de aprendizaje:• Memorizar la nueva solución exitosa, una vez reparada• Guardar información acerca del fallo en si mismo, para un
futuro análisis a la vista de nueva información• Poner sobre aviso acerca de posibles fallos futuros que
debería evitarse• Inducir a la revisión de los criterios de indexación
utilizados en la fase de recuperación
31
CBR vs. otros enfoques (I)
Razonamiento analógico Un sistema CBR resuelve nuevos problemas e
interpreta nuevas situaciones mediante la aplicación de episodios anteriores análogos
La Analogía se centra originariamente en el estudio del conocimiento abstracto (cómo se estructuran los conceptos y sus relaciones) y la similitud estructural
CBR se centra en establecer correspondencias entre casos específicos en base a consideraciones prácticas acerca de la utilidad del resultado
Además la Analogía se centra en la correspondencia analógica, mientras que CBR se centra en los procesos relacionados que ocurren tanto antes (recuperación) como después (adaptación) de la correspondencia analógica
32
CBR vs. otros enfoques (II)
Bases de datos y sistemas de recuperación de información En un sistema CBR es básico el almacenamiento y
recuperación de información, al igual que los sistemas de bases de datos y de recuperación de información (IR, Information Retrieval)
Un sistema CBR completo que adapta los casos recuperados se diferencia claramente de este tipo de sistemas
Un sistema CBR que sólo recupera y propone una solución, presenta unas diferencias más sutiles:
• Los sistemas de BBDD y de IR, dejan al usuario la tarea de cómo formular correctamente la consulta (query) adecuada, mientras que en un sistema CBR está diseñado para iniciar el proceso de consulta, utilizando posiblemente características muy diferentes a las incluidas en la base de casos, con información incompleta, etc.
• Además los sistemas de BBDD están diseñados para realizar emparejamientos perfectos entre consultas e información almacenada, mientras que el objetivo de un CBR es recuperar los casos “más similares”
33
CBR vs. otros enfoques (III)
Aprendizaje inductivo Cuando los sistemas de clasificación (basados en ejemplos)
almacenan ejemplares de un concepto, este aprendizaje puede verse como una forma de aprendizaje inductivo de conceptos
Los métodos tradicionales de aprendizaje inductivo definen los conceptos mediante generalizaciones, descartando los ejemplos en los que se basan estas generalizaciones, mientras que los sistemas CBR definen los conceptos completamente en base a los casos específicos almacenados
El aprendizaje de casos en CBR es incremental, frente al aprendizaje por lotes de los sistemas tradicionales
El enfoque CBR contrasta también con los métodos de aprendizaje inductivo con escaso o nulo conocimiento (p.e., IBL, Instance-based Learning) porque enfatizan la semántica de un dominio mediante los criterios de similitud y recuperación, así como el conocimiento empleado en la adaptación de los casos
34
CBR vs. otros enfoques (IV)
Aprendizaje basado en explicaciones (EBL, Explanation-based Learning) Los métodos EBL explotan intensivamente el conocimiento
extenso, casi perfecto, de un dominio para explicar por quéun caso presenta unas propiedades particulares, y utilizar esta explicación para guiar la generalización o formación de un concepto
EBL, al igual que CBR, permite aprendizaje a partir de un único ejemplo
• Sin embargo CBR no generaliza los casos en tiempo de almacenamiento (como EBL) , sino cuando la adaptación es necesaria para resolver un nuevo problema
• Esta faceta de los CBR se conoce como aprendizaje perezoso (lazylearning)
Además, la adaptación en CBR es a menudo mucho más flexible que en la generalización basada en explicaciones
• La adaptación puede incluir operaciones diferentes a la generalización, como la especialización y sustitución
������������ �����
������������ ����� �
����
� �������� �
� � ��������������� ������� ������������� ��!" ����#� ����$�����%�����������&������ �"������'������&�%����('&)�%����
� � ���������������"���*� ������� ��# �� ��� +���#� �����#��"�����,����,�,���-#� � ������� �����$�����%�����������&������ �"������'������&�%����('&)�%����
� � ������������������ ��!" ����#� ���� �.�/���#� ����� �� ������0� �1����������� �����%����
� %��#2��
� 3���� ���� �2��������� ��������� ��,�
� ��� � ��� ����4���2������"4�+���5������������ "����67
� 8 �� ����#� ����������# ��������� ����# � ��"������� ����� 9������#� ������"4�+������� ���� �
������������ ����� :
����
� * � ���� �����+ ������"������������� ����� ����� ��;��# ���� �<���=����������"4�+�����"����< 0� � #;���� ����" ��� �� �������# �� ��������"4�+��
� * ������ ��������- ��<0��������#�� �< �� +=����������"4�+���9������#������� ���������>%���3?���%����4��#��� "���! ��!"������ ��;����- � �#��
��������������� ����������� ����������� �������������� ������������
������������ ����� @
����
� >��� ������#���
������������������� ��������� ��������������
���������������������������������� ������������������������� ���� ������!��������� ����"���������������������� ����������������� ����#���������� ����$��������������#
������������������%��������� ��&������' ��������������%��������������
���(������ ����� �����" ������ ������)
��� ������%��������# ��&������' ���"����������%����(����������� �����$
������ ���������%������������� ������������" ���#����������%�������������� ������
��������������
������������ ����� A
����
� >� �+�B�����#�� ������� ����;����� ���� � � # �2������� �B �������# ����#������'?3&�&��3?�
�� 8� ���� �� ����#� �� ���� ������� �������+ ��� �� �����#� �� ������������������0����������������� ������#����������+��
�,�1���C����/!#� ����↔ "����C�"������
↓ �������������������
�,�1���↔ "�����������������������/!#� ��↔ "������
:� 8� D ����� �������������# ���� �����#��� ��#����������+�������������<�"4�������<��%����4��#���
������������# "���!,�!���1
�� ��� �!,�!� !����!,�!���1
"�� ��� ,�!���1!�!��/!� 0
�������� �����������# ���� ���� �����#������#������������������% � �� � ����+�����������������#���" ����������� ����������� ���� ����������������
������������ ����� E
����
� ��������������������# � ��� �B ��� � � # �2�
����
���������� ����� ����
�� � �� ���� ��� ���� ������
��� ������� ���� ��������� �������� �������
���! "#�$��
������������ ����� �
����
� * � 0��F ��������#� ��� ���������������F �� 9�F��#����������� �B ����#��������;� � #����B 4�����=-���0��� � ���
� ���������������� #������� ����+ ����� �
� � �+ �G ��� ����� ����� �2�
� ���# � ��������� �����"���������������"4�+������� ����� �0������� ������� �������=-��������� � ��
� �� ����������� ����� �����#���������������+� 5��%���3?�7 0�������������� � ���� ������ �2��#��+ ������� ���� + 5�8&HI�3?�7
� ����������� ��������0������������������� ����� ����0����,���������������������
������������ ����� J
����
� ' ��4 � �������������� ������ ����#������� �����9������#������#��������������#� ���
� *���� ��������#��������#������ ������������ "�������������# ��������#� �
� � � �#������ �������+ � ��� ���������4�������#��"������� �� �������# � �2�
� �������2������ �����#��������%���3?�
�� &��� �-#�� ��� �� �� ��# � ������ ����B �������������#��F������"���������������� � �# ������� ���0��������������=������"������ ���������� �� �� �
:� ���� �� ����� ��+ � ��#��"������� �� �������# � �2�� ��� � ���������#������ ������� ������, 0�� ����� ��������� ����0����" ��� �� ��������������� #�� "�� ������ � ���� ��
@� �#�� �� ���� �� ������# � �2�
������������ ����� �
����
� �4��#�� �# � �9���� �� � �������# �������B� ��������� ���9���, 0 ����������9��"��������� �� �� ����� �� �0�� ������+ ��� K�� ��2��������� �� �� �� � �, �,��,��9��� ������� �� �� ����� �� ��0�������# �����9��"��
� )#������ ��� ������������� ������������ �����
� ��� �� �������# � �2�
� ���������������������� �B ��� � ��2��9��������B� � ���� ������� ������������������ �� ������� "��
� ������������������������������� ����# ��� ���� +��9��������9��� ������#�������2��� ������������+�� � �
� ��������� D ������# ��� ������ �2������ � ��2��9���#����4�������������� �� ����������9����������������� �������� "��
� ������ ������������ 4�� ��������9��"��� D �������;��������9���� �
� ������ ��������������4�� ��������9��"������� ����# ���������9�����"�
� � � ���� �� ������# � �2�����+ � ��� ����������4�������� ������������� #��2�������� ���������B ��# � ������� ��� � #�� "�� ������ ���� ��
������������ ����� �
����
� �#����B 4� ���������������#�������8&HI�3?�
�� 3����� 9�= � � ���F�� ��#������#����������� ���
:� >�B �� ��� � ���F�� ��# � ����- �� ������� ���� �����<# � �#��+������������ ����< ��������� �����# � ���<# � �#����������� �����#�������# � �2����B ��<
� % � ��+ ����#�������� �������� D ������#�����# ��� ���� �� ��#����������#� ��� �2� � ��# �2������ ����
� �� ����#�� ��#� ����� �����������"4�+������ ���� ���������#��"��� � �� ���0
� �� D ���� �� ������#�2�����=���� �������������9����+ ��� ���#��2���������� ����
� �������4��#�������# ����������� ��� D ��F �� �������2���� ����������9��"������ �� $
�L
��9����� ��������
0HPRULD GH
SODQHV
(VWUDWHJLDV
GH UHSDUDFLyQ
LQGH[DGDV
3UHGLFWRUHV
GH IDOORV
&UtWLFDV
9RFDEXODULR
GH GHVFULSFLyQ
GH IDOORV
0pWULFD GH
VLPLOLWXG
-HUDUTXtD
GH REMHWLYRV
5HJODV GH
PRGLILFDFLyQ
$/0$&(1$'25
$17,&,3$'25
5(&83(5$'25 02',),&$'25
5(3$5$'25
$6,*1$'25
2EMHWLYRV \
SUHGLFFLRQHV
2EMHWLYRV
GHO SODQLILFDGRU
3ODQ
IDOOLGR
([SOLFDFLyQ
GHO IDOOR
3ODQ
UHSDUDGR
3ODQ
PRGLILFDGR
������������ ����� ��
��������� �����������������
� * ""���� ����� ������������ ��
� ������������"���� �� �� ��# � �� ������2������ �����4��������� ����� �� �������# � �2�� ��� � �
� �������������"�������������� � ����������5� �����������7
� >� � -����F ������#� ��<�� ��������;�� ����� ����< �����������������;���� ���� ��������=�������� �������������� ��8����B �# �
� 3����� ��� ������������� ���
� &�� �� � ����#� ���� ������<#������� "������� ��������#������ ��������������������<
������������ ����� �:
���� ������ ������#� ��� �����
� ' 0�� ������ �#��9�������B �����������# � � �
� ���� # B�������� �������������# � �����0� #���������������
� %���� #��������������� �������9������#����B� �
� * �#� ��� �2��������� � �� �" � � ����� ������ ������� ������� � �� ������������2�
������������ ����� �@
�*�.&��
� �������� �
� ' �1��M����������� ��!" ������ ���������� ���� +��� � �����$�����%�����M��1�,�#����� ��!" ������ ������53��%�7��%��� ��� ��� �,������� ��8 ��' ��������'��� ��� ��� ��
� � ��� ������ ����������0��3����������� ��� � # ����� ���� +��� 0��������$�����%�����M��1�,�#����� ��!" ������ ������53��%�7��%��� ��� ��� �,������� ��8 ��' ��������'��� ��� ��� ��
� ������0��3��� �����1����3������:����##�0���� ��!" ������ �������� ���� +���� ���$��&�����-#���J5E7 �:�!:�
� %��#2��
� 3���� �� �� ������� ���� +��# � �� ���������2�����#�B �
� ��� � ��� ����#�B �� ��������
� 8 �� ���#���2������ ��#�B �������� ���� +��
������������ ����� �A
�*�.&��
� I���-���������������"���� ��F�� ����� ���� +���*����-#�������� #�0 ���������-#����� �0����+ ���������������� ��� �� �
� 8����B �������� ��,+���# � ��"������������������ ������ �" ������� ���
� �� ����� ���������#�����
� *������"�������� ��#�B �
� * ����� ���������������� ��� ��#�B �
� * ��"� �2������ ��#�B �
� � � ���F�� ������#������ ���� �2���#���2��0���#�� ��
� *���� ����������- ��#���� ��� ����#�B ��9����������
�E
�*�.&��
%DVH GH FDVRV
3ULRULGDG$OWD
3ULRULGDGPHGLD
3ULRULGDGEDMD
5HFXSHUDFLyQGH FDVRV
$GDSWDFLyQGH FDVRV
&RQVHMR DORSHUDULR
,QGH[DFLyQGH FDVRV
&DVR PiVVLPLODU
&DVRDGDSWDGR
8QD SLH]DGHO FDVRQR HVWi HQOD HQWUDGD
/D SLH]DHUUyQHD VH
KD VXVWLWXLGRSRU RWUD�HQ EDVH DOFRQWH[WR
������������ ����� ��
�*�.&��
� �� # �2�
� �������� ����� �B �� � # �2���� �������� �������#�� �������0��#�B ��9��������;������ ���� �
� I�����#��"����� �B ��� � � # �2��������� �����2���� ������������#�B �� �� � � ��������� ��������������� ��������-�
� 8������#�� ��� ����9�����������# �� �������������� ��� � � # ��<����-������ ���< 0�9�������0 ��#�B ������ ���� � ��� # ������������������������ �� � # �����
� % � �����#�� ������-������ ���������B ������#����������������
� ������������� → ���"��2������ ��#�B � ���� ���� ��������2�
� ����������� �� → � � �������������� �� �� ���#�����#�� �� ��#���2���� �� ������#�� �����6
� *����� ������ �������� ��� <� ����� �< ��;�����- ����#�����# � ���0����������#"���������������#�� ���
�J
�*�.&��
&DVRUHFXSHUDGRLQLFLDOPHQWH
'HWHUPLQDFLyQGHO FRQWH[WR
3LH]DLQFRUUHFWD
$MXVWHGHO FRQWH[WR
6HOHFFLyQGH OD SLH]D
6XVWLWXFLyQVXJHULGD
&DVRDGDSWDGR
0HPRULDGH FDVRV
���#���������� � # �2�
������������ ����� ��
�*�.&��
� 8��� ����+ ������������������� ����������� ����# � �� � � # �2��0�� ���B �2�����"� � �����������������" ��0���� �
� *�� ��� ����#����������� �B ��� � � # �2�� �� ��
� �� ������� ��������#�� ���
� ������ �� ������ �#������������� ������� � � # �2������������������� ���� ����
� >��� ��F�������������� ��-#����� ���������#�� ���
� * ��-#����� ����� � ��������#�������� ����� ���#���2������������;�
� �����B2 ����:L�� ����0� ,�� �#�����+ ���������
� ���� # B��������#�� ���� �������� �2��+;�� �����LN����� ���� �����
������������ ����� ��
�O%?
� �������� �
� ��,��0�����3������L��'����������� �� ������ ��� ������/,�� ���� ���,0#�,�� ����� �"������'���'&)�%�������� ���������1�
� ��,��0�����3��� ������� �������*������������� ��!" ���� ##�� �,�������������� ���-#����$��&�����-#���@5@L7 �JL!JJ
� %��#2��
� 3���� ���� �� ����� ������"�����#�� 4������� �
� ��� � ��� ��� �2����� �
� 8 �� ��� � ������ �2�� �� +���������� ���<��� �� �������� �� ��<
� �������#�� +� ��� ��� ��� ��� �2�����������������4��������� ������������ ���� ���� ��������� �� +������� ��� ��� �2�
������������ ����� :L
�O%? ���#����� �2���������� �������������
�����*���+,�+$+��������
-�.���������������������������.������������������
-�.����������'������������������������������������������������������'���������������������������������������������������������������������������������������-�.���%�����������+�"���%���������+�+'��!����������������-�.��������
����������������������������������,��������������������������������
�����������������������
.��������������������������������-�.�������������
.���������������'������������������������������������������������������'���������������������������������������������������������������-�.������������������.��������%�����������+#����%���������+#"
�������������������������������-�. ����������.����� �������������-�.������������������������������.����� �������������������������������������.����� ��������������������������-�.
������������ ����� :�
�O%? �#����������� B�� ����
�� �� �B ���� ���#��"��� ����"��� ��������� ����������+ ���
:� ����#�� ����� ���������� # ����������� �������������� ���
@� �� ��� ����� ��������#�� �����������#���� ��� ��� �� � ������ ���� �� +���0������ �����������
A� 8������� ����� �����;������+ �������������� � ����4���
E� ������0� � � ������ �2�
� >�B �����4���� ��� �� +�������� �������
� �� �B � ��������� ����������� ��� �� ��0������4���� ���������� �0� �# ��������� ���������� �� ���� �� +���9��� �"=��#���������� �������� �0��#������ �����+ ��# � ����� �� ������ !�4��#��
� 8� ������0������ �� ������ �������# ���������������� ���� �� +���0�������� ��0�� ��������#������������ �����
�� �� �;������ �B ���������# ��� �����������B �# � �4���� ��9��������� �������� B2�
������������ ����� ::
�O%? �����4��#��
� 8� �2�
� P �� 9�����; �#����������#����@� D���9��������+������ �����# �����# � �9��������4����� �+����* ���� ��������,�������$ 9�����;�� ��� � �# � �� 0���������@� D���
� � �����
� �� � 0�� ����B���� ��� �2������ �#��F��� ��� ��� �� � �� �9�����;��������9�= �F ����� ���� � ����+ ����, ����� ���������"������6
� � ����������+ ���
� �� ��0�� ����B���� ��� �2������ �#��F���
� � ��������#�� ���
� ����,��� � ��9������� 0���9���=������, ����4 ����� �+���
� ������4��� �����P� �������, ����4 ����� �+���
� , ������ D����������4 ������ �+����� �#��F��� ��� ��� � �# � �� 0���������@� D��
������������ ����� :@
�O%?
� ������� �2�
� 3�"�����4 ��� ��#��9��� ����,��� � �������, ��#�����
� %��+= 9�������# ����� ������ �;����B ����� �������� ������ ��� �������� ��P ���#���; ���#������9��� �P� ����9��������������� ��� ����F ���, ����4 ����
� ����� �������������� ��� D ���� ������ �� ��� �2��5� ����,#�=���7
� 8����� ��������+ ������9������������; ��� � �����4��
� ������� ����� ���������9���������#���2 +����� �#��F��� �����������9����� " � G���;����4�������������� ��������+ �������9�������# �����9���F ��+����� �#��F��� ���������������
� ������0������ ���,#�=���0�#����� ������#����F ������ ���������������� ���+����� �#��F��� ���������������
������������ ����� :A
P�� �9�F ����� �����
)��� ,QIR�7UDGH�6HFUHW �S�
)�� 'HFHSWLRQ �S�
)��� ,QIR�.QRZQ �S�
)��� ,QIR�/HJLWLPDWHO\�
2EWDLQHG�2U�2EWDLQDEOH �G�
)��� (IIRUWV�7R�
0DLQWDLQ�6HFUHF\ �S�
)��� ,QIR�.QRZQ�
2U�$YDLODEOH �G�
)�� 8QLTXH�
3URGXFW �S�
)�� 6HFUHWV�'LVFORVHG�
2XWVLGHUV �G�
)� &RPSHWLWLYH�
$GYDQWDJH �S�
)�� ,QIR�5HYHUVH�
(QJLQHHUDEOH �G�
)�� ,QIR�.QRZQ�
7R�&RPSHWLWRUV �G�
)��� ,QIR�
9DOXDEOH �S�
)�� 'LVFORVXUH�,Q�
3XEOLF�)RUXP �G�
)�� ,QIR�2EWDLQDEOH�
(OVHZKHUH �G�
)�� 2XWVLGHU�
'LVFORVXUHV�5HVWULFWHG �S�
)� 'LVFORVXUH�,Q�
1HJRWLDWLRQV �G�
)��� (IIRUWV�7R�
0DLQWDLQ�6HFUHF\�9LV�
$�9LV�'HIHQGDQW �S�
)��� ,QIR�
$YDLODEOH�
(OVHZKHUH �G�
)� $JUHHG�1RW�
7R�'LVFORVH �S�
)� 6HFXULW\�
0HDVXUHV �S�
)�� 1R�6HFXULW\�
0HDVXUHV �S�
)�� :DLYHU�2I�
&RQILGHQWLDOLW\ �G�
)� 'LVFORVXUH�,Q�
1HJRWLDWLRQV �G�
)��� (IIRUWV�7R�
0DLQWDLQ�6HFUHF\�9LV�
$�9LV�2XWVLGHUV �S�
�
��
�
�
�
�
�
�
�
� ��
�
�
��
�
�
�
�
�
�
�
��
������������ ����� :E
�#�� �����
� ���#��������� ���������������� �
� '���� �� ��#�� �� ��������#�����������������# � �!0!���� � ��# � ����#�������� ���� �����
� ��� �� ��# � ���� �� ������ �����
� �2�� �������� ������� ����������+ ����������� ��
� ������� ���)?���+����2������O%?�������; ��B ���������,��� ��� �#�� �;���� �# � ��������� ������������,�
jCOLIBRI
GAIA - Group for Artificial Intelligence Applications(UCM, http://gaia.fdi.ucm.es/projects/jcolibri/)
Overview
• jCOLIBRI is a technological evolution of COLIBRI that incorporates in a distributed architecture a DLs engine, GUI clients for assembling a CBR system from reusable components and an object-oriented framework in Java.
Overview• The design of the framework comprises a hierarchy of Java classes plus a
number of XML files organized around the following elements:
– Tasks and Methods. XML files describe the tasks supported by the framework along with the methods for solving those tasks.
– Case Base. Different connectors are defined to support several types of case persistency, from the file system to a data base. Additionally, a number of possible in-memory Case Base organization are supported.
– Cases. A number of interfaces and classes are included in the framework to provide an abstract representation of cases that support any type of actual case structure.
– Problem solving methods. The actual code that supports the methods included in the framework. jCOLIBRI is designed to easily support the construction of (different types of) CBR systems taking advantage of the task/method division paradigm described. Building a CBR system is a configuration process where the system developer selects the tasks the system must fulfill and for every task assigns the method that will do the job.
• Ideally, the system designer would find every task and method needed for the system at hand, so that she would program just the representation for cases. However, in a more realistic situation a number of new methods may be needed and, less probably, some new task.
Overview
• One of the biggest problems with frameworks is learning how to use them. In order to alleviate framework instantiation effort, JCOLIBRI features a semiautomatic configuration tool that guides the instantiation process through a graphical interface.
• The configuration of a CBR system using this interface consists of the following processes:– Defining the case structure, the source for cases and the case base
organization.– While the system is not complete, select one of the tasks without a method
assigned, select and configure a method for that task. At start-up the task tree has only one element, CBRTask, which is solved by a decomposition method that results in additional tasks. Task/method constraints are being tracked during the configuration process so that only applicable methods in the given context are offered to the system designer.
– Once the system is configured, the configuration code is generated so that a running CBR system is available. The configuration tool also provides a default interface for running the configured CBR system although in a real settlement an application specific interface should be developed.
Overview
• The framework implementation is evolving, as new methods are included, although it is already publicly available at http://jcolibri-cbr.sourceforge.net jCOLIBRIaims to apply the best ideas of COLIBRI to different types of CBR systems:– With different types of case representation (simple attribute-value
pairs, texts, object oriented representations, semi-structured,…),– With different case base organization structures ( plain,
hierarchical, machine-learning based, ...),– With different set of tasks (like retrieval only systems)– With different methods to solve the tasks, ranging from simple to
complex knowledge intensive methods.
Top Related