UM ESTUDO SOBRE RACIOCÍNIO BASEADO EM · PDF fileuniversidade federal do rio grande do...

41
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO UM ESTUDO SOBRE RACIOCÍNIO BASEADO EM CASOS - Trabalho Individual - por Mara Abel Prof. José Mauro Volkmer Castilho Orientador PORTO ALEGRE, JANEIRO DE 1996.

Transcript of UM ESTUDO SOBRE RACIOCÍNIO BASEADO EM · PDF fileuniversidade federal do rio grande do...

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL

PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

UM ESTUDO SOBRE

RACIOCÍNIO BASEADO EM CASOS

- Trabalho Individual -

por

Mara Abel

Prof. José Mauro Volkmer Castilho Orientador

PORTO ALEGRE, JANEIRO DE 1996.

2

SUMÁRIO

LISTA DE FIGURAS 3

RESUMO 4

1. INTRODUÇÃO 5

2. HISTÓRICO 8

3. DEFINIÇÃO 11

3.1 REPRESENTAÇÃO DOS CASOS 15

3.2. INDEXAÇÃO DOS CASOS 21

3.3 RECUPERAÇÃO 24

3.4 ADAPTAÇÃO DOS CASOS 26

4. COMPARAÇÃO COM RACIOCÍNIO BASEADO EM MODELOS 27

5. CONCLUSÃO 33

BIBLIOGRAFIA 36

3

LISTA DE FIGURAS

Figura 1 : Ciclo de solução de problema de um sistema em CBR 14

Figura 2 : Representação de um caso para criação de uma receita contendo

Objetivo, Restrições e Descrição da situação.

19

Figura 3 : O algoritmo de vizinhança. 25

Figura 4 : Representação do domínio por modelos e por casos. 30

Figura 5 : Busca da solução de problemas em MBR e CBR. 31

4

RESUMO O presente trabalho apresenta uma introdução compreensiva dos sistemas de

Raciocínio Baseado em Casos (Case-based Reasoning - CBR), dirigido principalmente para o público de Inteligência Artificial e Sistemas Especialistas. Os sistemas baseados em casos surgiram a partir de um modelo de armazenamento de informações na memória humana. Sua evolução levou aos CBR, que enfatiza o reuso de experiências passadas na solução de novos problemas. Dentro desse contexto, este trabalho apresenta: a definição de CBR; a evolução histórica da pesquisa cognitiva que levou ao modelo de CBR; as técnicas usadas na sua construção, referenciando os trabalhos onde foram propostas; as etapas de desenvolvimento e o modelo de funcionamento desses sistemas; uma comparação entre os sistemas que utilizam CBR e Raciocínio Baseado em Modelos (Model-based Reasoning - MBR), bem como as vantagens e desvantagens de cada um; e, finalmente, uma avaliação de CBR como modelo cognitivo e as direções da pesquisa futura nesse campo do conhecimento.

5

1. INTRODUÇÃO A frase "Conhecimento é poder" resumiu a importância dos sistemas

especialistas como uma forma de divulgar e automatizar o método de solução de problemas dos especialistas em diversas áreas de informação. Porém, a questão relativa ao que significa realmente ter conhecimento e como algumas pessoas são mais eficientes em aplicá-lo do que outras ainda permanece uma área de conjecturas. Conhecimento demanda experiência em resolver problemas e, para buscar uma melhor compreensão de seu mecanismo, podemos investigar a forma como essa experiência pode ser armazenada e utilizada.

Imagine a formação de um profissional em Medicina, por exemplo. Ele

permanece durante anos em uma escola aprendendo como o corpo humano é composto, como funciona e como acontecem as doenças. É o que chamamos de conhecimento genérico da área, o conjunto de regras que abstrai a forma geral de funcionamento de qualquer ser humano. Progressivamente, ele é confrontado com pacientes e acompanha os diversos tratamentos aplicados. Essas histórias constituem o conhecimento específico da Medicina, exemplificado através de cada tratamento médico aplicado com sucesso. O estudante está construindo com elas seu banco de memórias. É esperado que, quanto mais pacientes ele tratar com sucesso, melhor desempenho ele terá na solução de novos problemas. Porém, quais os mecanismos utilizados para construir a memória e a experiência desse profissional?

Inicialmente, é oferecido ao estudante um conjunto de regras de solução de

problemas em diagnóstico médico e ele é encorajado a utilizá-las para diagnosticar e tratar novos pacientes. Seu desempenho inicial é pobre, porém, cada paciente tratado é armazenado e lembrado como uma experiência de sucesso ou fracasso. Quando confrontado com outros pacientes com quadro clínico semelhante, o médico utilizará (ou evitará) o mesmo tratamento já experimentado. A repetição do procedimento segue uma sequência de passos descrita como um script nos trabalhos pioneiros de Schank e Abelson (Schank e Abelson, 1977). Essa experiência passada é o que chamamos de caso e a utilização de casos passados na solução de outros novos será tanto mais eficiente quanto melhor compreendidos forem os casos anteriores.

6

A compreensão de cada caso corresponde ao reconhecimento de quais aspectos do problema são relevantes e como influenciam na conclusão. Por exemplo, quais dos sintomas do paciente realmente são decorrentes da doença, quais os que podem ser utilizados para reconhecer a mesma doença em um novo caso e o quanto esse caso é semelhante ou diferente dos demais vistos anteriormente. A isso chamamos indexação, ou seja, o mecanismo pelo qual os casos são separados e organizados na mente desse médico para serem posteriormente utilizados. Quanto maior o número de casos de sucesso armazenados e eficientemente indexados, maior será a chance de que um novo caso possa ser tratado com a mesma solução ou com uma pequena adaptação de uma solução já utilizada.

Esse é o princípio básico no qual se fundamentam os sistemas de raciocínio

baseado em casos (ou CBR, utilizando a sigla de Case-based reasoning, termo original): o armazenamento organizado de problemas com suas soluções e sua utilização para resolver novos problemas similares aos já resolvidos. Esses conceitos foram amplamente explorados nos trabalhos de Riesbeck e Schank (1989) e Kolodner (1993). CBR corresponde a uma aplicação mais limitada de raciocínio analógico (Campbell e Wolstercroft 1990) uma vez que se desenvolve em um domínio específico e utiliza abstrações desse domínio para dirigir a inferência. O raciocínio analógico reconhece similaridades entre diferentes domínios e, a partir delas, pode gerar as abstrações.

Sistemas baseados em casos revolucionaram a engenharia de sistemas

especialistas por tornarem mais fácil a tarefa de aquisição de conhecimento, considerada o gargalo na construção desses sistemas (Hayes-Roth 1983). A aquisição e representação de casos não exige um extensivo trabalho de estruturação de objetos do domínio como acontece nos sistemas de raciocínio baseados em modelos (ou MBR, também mantendo o termo inglês original Model-based reasoning). Por MBR entende-se todos os sistemas com um modelo explícito e genérico de representação do domínio, como os modelos baseados em heurísticas, relações causais, matemática ou estatística. Pode-se incluir, como exemplos, muitos dos sistemas baseados em regras e os sistemas de redes neurais. Ao contrário da construção de modelos, aquisição e representação de casos são feitas de forma mais natural, sem necessidade de uma extensiva análise do domínio por parte do engenheiro de conhecimento (Riesbeck e Schank 1989). Isso só é possível, no entanto, quando os casos estão disponíveis e razoavelmente organizados em sua fonte,

7

É intenção deste trabalho, apresentar um resumo do estado da arte em sistemas

de raciocínio baseado em casos, definindo no que se constituem, sua evolução, quais as principais técnicas e limitações envolvidas no seu desenvolvimento e como os problemas vêm sendo resolvidos pelos pesquisadores da área. Busca ir além, através de uma avaliação sobre o desempenho desses sistemas na solução de problemas quando comparados com sistemas de MBR. A partir dessa análise, são indicados alguns caminhos a serem explorados no desenvolvimento de sistemas para aplicações intensivas em conhecimento. O texto é dirigido para leitores com conhecimento prévio em Inteligência Artificial e Sistemas Especialistas, especialmente representação de conhecimento, mas não necessariamente familiarizado com raciocínio baseado em casos.

Como literatura complementar a esse texto sugere-se iniciar pelas extensivas

revisões bibliográficas de Watson e Marir (1994) e Marir e Watson (1994) sobre raciocínio baseado em casos. Uma introdução às técnicas, com variada descrição de sistemas desenvolvidos, é apresentada nos livros de Riesbeck e Schank (1989) e Kolodner (1993). O estado da arte no que se refere a aplicações, particularidades das implementações, avaliações de desempenho e outros é descrito nos inúmeros artigos dos anais dos Case-based Reasoning Workshops europeu e americano, citados nas referências deste trabalho.

8

2. HISTÓRICO Segundo Watson e Marir (1994), o estudo de CBR tem seu marco inicial no

trabalho de Schank e Abelson (1977) onde foi proposto que nosso conhecimento geral sobre as situações é registrado na forma de scripts. Os scripts descrevem sequências de passos ou etapas que nos permitem antecipar como os acontecimentos devem se suceder e realizar inferências a partir dessa expectativa. Os scripts são propostos como uma estrutura para a memória conceitual descrever informação sobre eventos estereotipados, como ir a um restaurante ou visitar um doutor. Os experimentos mostraram, no entanto, que scripts não podiam ser considerados um modelo completo de representação da memória, uma vez que uma pessoa pode "lembrar-se" de scripts que são compostos por pedaços de diferentes sequências de eventos, ou seja, lembrar-se de algo que na verdade foi criação de sua mente. Outros mecanismos atuam na formação da memória e são explicados por teorias da Filosofia e Psicologia de solução de problemas, formação de conceitos e aprendizado experimental. Como a teoria da Memória Dinâmica de Schank, descrita na sessão 3.1 deste trabalho, que foi uma das importantes contribuições para o desenvolvimento da pesquisa na área. A teoria baseou-se na idéia de que não é possível separar experiência, compreensão, memória e aprendizado e propôs o conceito de pacotes de organização de memória ou MOPs (memory organization packets), que utilizam a lembrança de experiências passadas associadas a estereótipos de situações para a solução de problemas e aprendizado. Paralelamente ao trabalho de Schank e Kolodner, Gentner (1983) desenvolveu uma estrutura teórica para o raciocínio por analogia que foi importante para o desenvolvimento de CBR.

Embora as raízes filosóficas da teoria de CBR possam se espalhar por

trabalhos de diversos pesquisadores no campo da Psicologia ou Ciência da Computação, foram sem dúvida os trabalhos do grupo de Schank, na Universidade de Yale, no início dos anos 80, que produziram o modelo cognitivo de CBR e as primeiras aplicações baseadas nesse modelo. Pesquisadora desse grupo, Janet Kolodner, desenvolveu o primeiro sistema utilizando CBR, chamado CYRUS (Kolodner 1983). O sistema continha as viagens e encontros do ex-secretário do estado dos EUA, Cyrus Vance, descritos na forma de casos e implementado como os MOPs de Schank.

9

O modelo de casos do sistema CYRUS serviu como base para o grupo de Yale desenvolver diversos outros sistemas de CBR.

• MEDIATOR (Simpson, 1985) trabalha na solução de disputas entre diversas partes, propondo possíveis soluções de consenso. Se uma proposta falhar em satisfazer todas as partes envolvidas, o sistema gera uma nova proposta, armazenando a falha de forma a não repeti-la.

• CHEF (Hammond, 1986) desenvolve novos pratos a partir de outros. O sistema recebe como entrada diversos objetivos a serem satisfeitos e recupera do seu banco de casos a receita que possa satisfazer tantos objetivos quanto possível e, a partir dela, gera uma nova receita para a situação proposta.

• PERSUADER (Sycara, 1987) propõem soluções de conflitos entre patrões e empregados utilizando contratos já utilizados por outras companhias ou, caso não existam exemplos anteriores para aquela situação, gerando uma nova solução.

• CASEY (Koton, 1989) diagnostica problemas cardíacos em pacientes adaptando descrições de outros pacientes com sintomas similares, mas não necessariamente iguais.

• JULIA (Hinrichs, 1992) trabalha com planejamento de refeições. O sistema decompõe o problema proposto e utiliza casos para dirigir a elaboração de uma nova refeição, respeitando as restrições propostas.

Em 1986, um trabalho alternativo foi desenvolvido na Universidade do Texas,

utilizando recursos de classificação heurística e aprendizado de máquina para unificar em um modelo o conhecimento genérico do domínio e o conhecimento específico de casos. O resultado foi o sistema PROTOS com seu modelo de memória de casos (Porter & Bareiss, 1986). Modelos como esse, que unificam conhecimento genérico e episódico, têm influenciado grandemente os sistemas de CBR, uma vez que o conhecimento do domínio pode melhorar a qualidade do raciocínio, encurtar o caminho de busca da solução ou mesmo preencher lacunas do espaço do problema que os casos naturalmente não cobririam.

Esses trabalhos e conceitos evoluíram rapidamente para inúmeras aplicações

de sistemas baseados em casos, especialmente nos domínios do Direito, Medicina e

10

Engenharia. As aplicações normalmente buscam resolver problemas de classificação, projeto, diagnóstico ou planejamento, especialmente em domínios onde naturalmente o especialista utiliza casos anteriores como base para a solução do problema. Dessas aplicações, o Direito tem mostrado os resultados mais notáveis até o momento (sistema HYPO, Ashley, 1988; sistema CABARET, Rissland & Skalak, 1989; e os sistemas MEDIATOR e PERSUADER, já citados.)

O crescente interesse pela área e o potencial de uso dos sistemas baseados em

casos levou ao desenvolvimento de algumas ferramentas comerciais. A de maior sucesso é o sistema CBR Express, produzido pela empresa Inference Corporation e comercializado no Brasil pela Spectrum de São Paulo. Além desse, os sistemas ECLIPSE da Haley Enterprises e o ReMind, da Cognitive Systems Inc., foram desenvolvidos nos EUA e o sistema ReCall da ISoft francesa, na Europa. Essas ferramentas oferecem a representação dos casos na forma de objetos e sua indexação, e a recuperação através do algoritmo de vizinhança (nearest neighbour, descrito na sessão 3.3 deste trabalho).

Atualmente, a pesquisa desenvolve-se em centros de pesquisa e universidades

do mundo todo e é dirigida para a ampliação desses recursos básicos constantes nas primeiras ferramentas de CBR. Na prática, pelas características dos domínios onde são aplicados, CBR tem fornecido resultados ainda insatisfatórios. Os problemas ocorrem geralmente pelo número de casos ser insuficiente ou inadequado para refletir a solução dos problemas, ou a recuperação utilizando o algoritmo de vizinhança fornece soluções pífias, ou ainda essas soluções são pobremente adaptadas para o problema apresentado. Entre os itens importantes explorados nos trabalhos mais recentes pode-se citar a unificação de conhecimento genérico do domínio com o conhecimento específico de casos (Reategui et al, in press; Hastings et al 1995), o desenvolvimento de algoritmos de recuperação do caso mais útil (e não do caso mais semelhante) (Kolodner 1989), aplicação de raciocínio por analogia em CBR (Campbell e Wolstencroft 1990) e de aprendizado automático de novos casos.

11

3. DEFINIÇÃO

"Um sistema de CBR resolve problemas por adaptar soluções que foram utilizadas para resolver problemas anteriores" .(Riesbeck & Schank, 1989) A idéia básica em um sistema de CBR é que, para um domínio particular, os

problemas a serem resolvidos tendem a ser recorrentes e repetir-se com pequenas alterações em relação a sua versão original. Dessa forma, soluções anteriores podem ser reaplicadas também com pequenas modificações.

Essa é uma visão que se opõe aos sistemas de MBR, que utilizam um modelo

genérico de conhecimento do domínio, de forma a que possa ser amplamente aplicável a diferentes problemas. No caso de MBR, ao serem analisados diversos pacientes com uma determinada doença, tenta-se abstrair o que eles todos têm em comum, para construir o modelo da doença, sem considerar as particularidades de cada um. CBR, em contraste, justamente enfatiza as instâncias das ocorrências de pacientes, o conhecimento específico associado a cada situação particular.

O primeiro passo para utilizar uma solução já aplicada com sucesso

anteriormente é determinar qual das experiências passadas mais se assemelha ao problema atual. Para ser possível realizar essa comparação, é necessário que as experiências sejam analisadas e armazenadas de forma organizada. Os aspectos importantes dos problemas devem ser isolados, rotulados e ordenados em memória de tal forma que possam ser utilizados para comparar a situação atual com as anteriores armazenadas. Essa semelhança deve ser considerada tanto pelos aspectos explícitos dos problemas, ou seja, as características e seus valores, como por relações abstratas como a ausência de feições, relacionamento entre elas ou importância relativa de cada uma. Por exemplo, ao armazenar o quadro clínico de um determinado paciente, um médico deve registrar as características e sintomas do paciente (normalmente através de duplas atributo-valor, como "idade=54 anos", "febre" com valor "mais que 39 graus"), mas também características estruturais dessa descrição, como quantos e quais sintomas são necessários para descrevê-lo, o fato de que alguns sintomas só existem na presença de outros (febre e infecção) e que alguns sintomas são muito mais específicos e graves do que outros (parada cardíaca comparado com dor de cabeça). A

12

determinação de quais as feições e relações estruturais que irão rotular um problema armazenado é chamado problema da indexação e é resolvido através de uma análise realizada no momento do armazenamento do problema. Um caso é, portanto, a descrição de um problema anterior, seus rótulos utilizados como índices, a solução associada e uma avaliação da eficácia dessa solução.

Um caso representa o conhecimento associado a uma determinada situação em

um nível operacional (Kolodner, 1993), isso é, tornando explícito como uma determinada tarefa foi executada ou como uma parte específica do conhecimento foi aplicada e quais estratégias particulares foram utilizadas para atingir o objetivo. Descreve todos os aspectos importantes que caraterizam uma situação e a solução associada, muitas vezes incluindo o julgamento da eficácia dessa solução. Ainda, os casos mantém agrupados pedaços de conhecimento que são utilizados juntos para resolver determinados problemas em um contexto particular. Desta forma, o sistema captura justamente o que é mais difícil de elicitar quando se utiliza a engenharia de conhecimento para construir um modelo de domínio: os chuncks do especialista (Hayes & Roth, 1983).

Kolodner (1993, p. 13) define um caso como:

"Um pedaço contextualizado de conhecimento representando uma experiência que ensina uma lição fundamental para atingir o objetivo do raciocinador."

Essa definição contempla diversos itens: • um caso é a informação relativa a um problema e solução específicos, ou

seja, é uma instância concreta do problema; • um caso não é genérico pois aplica-se a uma situação em um determinado

contexto; • um caso diferencia-se das outras experiências armazenadas por contribuir

de alguma forma com uma melhor solução do problema.

Formalmente, um caso é composto por:

13

• uma descrição dos aspectos relevantes do problema que caracterizam aquela situação particular a ser resolvida, que aqui será chamada de representação do caso;

• o contexto no qual o caso se insere, representado através dos índices do caso;

• a descrição da solução associada ao problema, na forma de um diagnóstico, uma classificação, uma sequência de ações, etc;

• uma avaliação da solução empregada ao problema particular.

Como exemplo, pode-se considerar que um caso, no exemplo do médico, é a descrição de um paciente e seu diagnóstico. Em linhas gerais, essa descrição irá incluir as características e sintomas que são efetivamente relacionados à doença, omitindo os que não são. Se o diagnóstico do paciente for de um enfarto do miocárdio, serão incluídas informações como a idade do paciente, se ele é fumante e sintomas como angústia e dor no peito. Ao mesmo tempo, se o diagnóstico for de fratura no fêmur, o médico já não incluirá o hábito de fumar como um aspecto relevante do caso. Além do diagnóstico, serão incluídos os respectivos tratamentos para cada um dos casos e seu resultado. No caso da fratura, o médico pode sugerir imobilização da perna, repouso e fisioterapia posterior, e verificar que após quatro meses o paciente retornou à sua vida normal sem sequelas, indicando uma boa eficácia do tratamento. Em ambos os casos, esses pacientes particulares só serão armazenados se o seus quadros clínicos forem diferentes de outros pacientes com o mesmo diagnóstico, já armazenados na memória. Por exemplo, um paciente enfartado com menos de 35 anos, seria uma característica diferente de outros casos utilizáveis na indexação desse paciente. Ou um paciente que tomasse uma medicação específica, vitamina C (por ex.), e tivesse tido uma recuperação mais rápida que o normal indicaria uma melhora na solução já aplicada. A forma como um caso é representado em um sistema baseado em casos será melhor analisada na sessão 3.1 deste trabalho.

Construir um sistema de raciocínio baseado em casos corresponde portanto a:

O ciclo de funcionamento de um sistema de CBR é apresentado na figura 1 e

cada uma de suas etapas é detalhada a seguir.

14

NOVO PROBLEMA

DOMÍNIO

RECUPERAÇÃO

AQUISIÇÃO /INDEXAÇÃO

APRENDIZADO

ADAPTAÇÃO

AVALIAÇÃO

SOLUÇÃO

BASE DE CASOS

CASOSCANDIDATOS

“MELHOR”CASO

Figura 1 - Ciclo de solução de problema de um sistema CBR.

15

3.1 AQUISIÇÃO E REPRESENTAÇÃO DE CASOS Sistemas baseados em casos representaram um grande avanço na engenharia

de conhecimento por possibilitarem a aquisição do conhecimento utilizado para resolver problemas, na forma de estruturas complexas como o especialista o utiliza. A elicitação dos casos demonstrou mesmo ser a única solução viável em domínios pouco estruturados cujos processos não são bem compreendidos (Kolodner, 1993). Ainda, o uso de casos permite a reutilização de bancos de dados prontos já disponíveis nas instituições (Shimazu at al. 1993, Brown et al. 1995)

No entanto, analisar CBR como uma panacéia para a aquisição de

conhecimento merece uma certa cautela. A experiência tem demonstrado que a aquisição de casos pode ser uma tarefa quase tão complexa quanto a construção de modelos. Uma medida da disponibilidade dos casos pode indicar o grau de dificuldade na construção de um sistema.

• Os casos não estão disponíveis em uma fonte externa.

Embora os problemas do domínio sejam tipicamente descritos como eventos episódicos, suas descrições não estão disponíveis em nenhum tipo de registro. Apenas o especialista recorda dos casos. Dessa forma, a obtenção dos casos passa pelos mesmos processos e limitações da aquisição de conhecimento para a construção de modelos.

• Os casos estão semi-disponíveis em uma fonte externa.

A instituição possui o registro dos casos, porém esse registro é incompleto ou desestruturado de tal forma que não permite seu uso imediato. É a situação do especialista que tem a ficha dos seus pacientes mas não registra toda a evolução da doença, ou da empresa que registra a chamada telefônica com as reclamações dos seus clientes mas não descreve as soluções oferecidas. O casos podem ser utilizados como ponto inicial para construção do banco de conhecimentos, porém necessitam ser complementados com informações obtidas através da engenharia de conhecimento.

16

• Os casos estão disponíveis e contém erros.

Os casos estão registrados de forma completa em uma fonte externa, porém contêm informações conflitantes ou erros. São exemplos os prontuários médicos que descrevem os mesmos sintomas com diferentes diagnósticos, ou registros de créditos de clientes com mesmos dados e concessão de diferentes valores de crédito. As diferenças podem ter sido causadas pela omissão das informações que causaram as diferentes avaliações pelo especialista ou simplesmente por erros grosseiros. Ambas as situações vão exigir interações com o especialista para garantir a integridade das informações contidas no banco.

• Os casos estão disponíveis e corretos.

Essa é a situação menos comum e normalmente ocorre em domínios cuja solução pode ser descrita através de poucos casos. Ainda assim, a engenharia de conhecimento será utilizada para definir a melhor forma de representação dos casos, quais características serão utilizadas para indexação e como será realizada a adaptação das soluções recuperadas. (Strube et al. 1995)

Apesar dessas restrições, realizar a aquisição de conhecimento na forma de

casos apresenta algumas vantagens quando comparada aos métodos de construção de modelos.

• Casos permitem a construção de um protótipo operacional nas fases iniciais

do projeto, antes de obter a completa estruturação do domínio. Esses protótipos estão aptos a propor soluções mesmo em domínios não completamente compreendidos.

• A aquisição de casos pode ser realizada mesmo em domínios pouco estruturados ou com base teórica mal definida.

• Casos costumam ser uma boa amostragem dos tipos de problemas que o sistema deve resolver, quais os formatos dos dados de entrada e de saída e tipos de resposta esperadas pelo usuário.

• Casos podem ser bons indicadores de quais as partes do problema que são realmente importantes e quais as características descritas no problema o

17

especialista usa realmente para encontrar a solução. A utilização de casos substitui a utilização extensiva de protocolos verbais retrospectivos e outras técnicas de entrevistas (Wright e Ayton, 1987) que demandam longo tempo do especialista, sem que os passos de solução de problemas sejam evidenciados (Abel, 1991).

• Casos permitem que o conhecimento que vai ser utilizado junto seja

adquirido e armazenado junto, seguindo uma das primeiras normas para aquisição de conhecimento (Hayes-Roth, 1983).

Uma vez coletados em suas fontes, é necessário definir a forma como os casos serão representados no computador. Um caso, individualmente, compõe-se de três partes, independente da forma como será estruturado, que são:

• o problema, descrito através do conjunto de características que descrevem a

situação onde se insere e as restrições associadas; • a solução, que pode ser uma ação, um conjunto de procedimentos, uma

sequência de passos, um diagnóstico, uma classificação, um projeto, um plano, dependendo do tipo de problema que o sistema propõe-se a resolver;

• a avaliação da solução, que descreve o estado do problema depois que a

solução foi aplicada, informação essa que será utilizada na adaptação da solução para novos casos.

Casos podem ser representados em uma variedade de formas usando

praticamente todos os formalismos de representação de conhecimento da Inteligência Artificial, incluindo frames (Reategui et al, in press), objetos (Abel et al. 1995a, 1995c), predicados, redes semânticas e regras de produção (Hasting et al. 1995), redes neurais, além de estruturas menos ricas semanticamente como os modelos de dados dos bancos de dados comerciais (Brown at al. 1995). O formato mais utilizado é o de frames ou objetos, embora muitos sistemas usem mais de uma das formas acima, combinadas. Além desse formato, faz parte das decisões de representação definir como os casos serão organizados e ligados entre si, compondo a memória de casos.

18

Dois modelos de memória de casos influenciaram historicamente o modo como os casos são organizados. São o modelo de memória dinâmica de Schank (1982) e o modelo de categoria de exemplares de Porter e Bareiss (1986).

a) Modelo de memória dinâmica

Esse modelo é composto principalmente de pacotes de organização de

memória (MOPs), que são frames que compõem uma unidade básica da memória dinâmica. Eles representam conhecimento sobre classes de eventos de duas formas:

• instâncias, que representam casos, eventos ou objetos; • abstrações, que representam versões generalizadas de instâncias ou de

outras abstrações. O desenvolvimento da teoria mais geral de Schank levou aos pacotes de

organização de memória episódicos (E-MOPs), implementados no Sistema CYRUS (Kolodner 1983). A idéia básica é organizar casos específicos que partilham propriedades similares sob uma estrutura mais geral (ou seja, uma E-MOP). Uma E-MOP contém os casos, as propriedades comuns entre eles e as feições que os diferenciam. Uma memória de casos é uma árvore de discriminação cujos nodos são esses objetos. O papel de uma E-MOP é indexar a estrutura de forma a armazenar buscar e recuperar os casos. O modelo é dinâmico porque novas E-MOPs são criadas no momento da inserção de novos casos, para discriminá-los em relação aos anteriormente armazenados. Esse processo, que permite a indexação automática de novos casos, tende a levar a uma explosão no número de índices à medida que cresce o número de casos.

b) Modelo de categoria de exemplares Esse modelo considera que os casos no mundo real podem ser vistos como

exemplares de acontecimentos. Aqui, uma memória de casos é uma rede semântica de categorias e casos ligados por relações semânticas de hierarquia, de semelhança ou diferenças. Cada caso é associado a uma categoria e suas feições têm importância distinta para enquadrá-lo ou não na categoria. Feições similares de um caso apontam para as de outro caso ou categoria, assim como categorias com pequenas diferenças também são ligadas. Essa rede compõe uma estrutura de conhecimento genérico do

19

domínio que permite alguma recuperação do raciocínio do sistema para gerar explicações. Para armazenar um novo caso, é buscado um caso semelhante no banco de casos. Se houver pequenas diferenças entre os dois, apenas um deles é retido, ou é armazenada uma única combinação dos dois.

Um exemplo de um problema descrito através de casos é dado por uma parte

de um caso extraído do sistema CHEF (Hammond, 1986) na figura 2, onde é descrito explicitamente o objetivo, as restrições a que deve-se submeter à solução e à descrição da situação presente.

Problem: Goal : (create dish) Constrains: (include broccoli) (include beef) (taste spicy) (preparation stir-fry) Situation: (available broccoli) (unavailable red-pepper) (available beef) (frozen beef) (broken front-right-burner) (available ginger) (available scallions) (available-money $5.00) (available-time 2.00) ...

Figura 2: Representação de um caso para criação de uma receita contendo Objetivo,

Restrições e Descrição da situação. Extraído do sistema CHEF (Hammond, 1986).

Descrições de casos tendem a ser, no entanto, bastante maiores e mais complexas do que o exemplo acima, podendo conter dezenas de atributos para descrever cada objetivo, restrição e avaliação, incluindo ainda figuras, gráficos e imagens. É o que pode ser observado no sistema ARCHIE (Pearse et al, 1992), que utiliza mais de 100 diferentes feições, além de plantas arquitetônicas para descrever um projeto e no sistema de descrições petrográficas de Abel et al (1995a) que utiliza fotografias e quase uma centena de atributos para representar uma descrição de rocha.

20

Os problemas da escolha da representação vão além do tamanho e complexidade intrínseca do problema representado. As decisões de projeto, listadas abaixo, são feitas com o apoio das informações elicitadas do especialista através da engenharia de conhecimento.

• Que estrutura de representação é facilmente compreendida pelo

usuário e, ao mesmo tempo, permite um gerenciamento eficiente no computador?

Casos podem ser armazenados no computador nos mais diferentes formatos, no entanto, muitos deles são excessivamente complexos para serem manipulados pelo desenvolvedor do sistema ou para serem compreendidas pelo usuário do sistema. A representação deve considerar formatos que tenham uma correspondência natural com a forma como a informação costuma estar disponível para evitar o desperdício de processamento em traduções de uma estrutura para outra. Por exemplo, se os casos se constituem em prontuários médicos, uma boa solução é utilizar formulários que se assemelhem a esses prontuários. Se um especialista costuma apresentar o problema em linguagem natural, talvez devesse ser definida uma pseudo-linguagem que possa utilizar suas expressões.

• Quais os casos que devem ser representados?

Os casos registram experiências concretas que podem auxiliar a alcançar um determinado objetivo, porém nem todos os casos devem ser selecionados para serem incluídos no sistema. Apenas aqueles que contêm uma lição útil (Kolodner, 1993) em relação aos demais devem ser armazenados. Ou seja, os casos que ampliam a capacidade de solução de problemas do sistema. Isso significa que casos que repetem uma situação anterior, apenas com pequenas modificações não deveriam ser incluídos, já que essas diferenças podem ser compensadas pelos algoritmos de adaptação do sistema. Ao mesmo tempo, não devem divergir excessivamente do problema resolvido pelo sistema, sob o risco de o sistema conter casos que nunca serão utilizados. O equilíbrio entre as duas restrições é difícil de ser alcançado, uma vez que as medidas de diferença e alcance do domínio são subjetivas, dependendo de uma avaliação particular da aplicação.

21

• Qual a granularidade da informação a ser representada?

Por exemplo, um projeto arquitetônico de uma casa constitui um caso, contém as necessidades do cliente e a solução proposta através dos detalhes do projeto. Porém, considerar todo o projeto como um caso não seria de muita utilidade, já que dificilmente dois clientes teriam as mesmas necessidades para a casa inteira. Mesmo com um grande número de casos armazenados, a possibilidade de recuperação de um caso seria muito pequena. Nesse exemplo, a melhor decisão seria particionar o projeto em um maior número de casos, cada um enfocando uma necessidade do cliente. Embora mais casos devessem ser recuperados para resolver todo o problema, o sistema obteria melhores soluções sobre um número menor de projetos armazenados.

O problema da aquisição e representação de casos em um sistema de CBR inicia, portanto, com uma análise para determinar o grau de disponibilidade dos casos e quanta informação adicional deve ser elicitada diretamente do especialista. Depois disso, deve ser selecionada a melhor forma de representação do caso, tendo em conta a facilidade de compreensão do usuário e a eficiência no armazenamento por computador. Outras decisões complexas incluem a definição de quais, entre os casos disponíveis, são os que devem ser armazenados e qual a granularidade do conhecimento que compõe o caso. O banco assim construído deve contar ainda com uma forma de indexação eficiente para possibilitar ao sistema atingir uma boa performance na solução de problemas.

3.2 INDEXAÇÃO DOS CASOS Indexar casos corresponde a atribuir índices aos casos de forma a facilitar sua

recuperação. Isso inclui colocar rótulos nos casos, no momento de sua inclusão na base de casos, para que possam ser posteriormente recuperados, organizar os casos para facilitar a busca e recuperação e definir os algoritmos de recuperação mais eficientes.

22

Indexar casos depende da compreensão do conteúdo e finalidade da informação que eles armazenam. Um bom índice permite reconhecer similaridades úteis entre os casos recuperados e essa utilidade só pode ser percebida se os índices forem escolhidos com base em uma boa compreensão do problema. Considere-se um banco de casos médicos onde os pacientes são armazenados através de suas descrições e dos diagnósticos de problema. As informações a serem utilizadas como índices dependem do tipo de similaridade que se quer buscar. No diagnóstico de uma infecção, dados como profissão, sexo, cor e idade são menos importantes na indexação do que os sintomas diretamente relacionados à doença. Porém, se a doença tivesse uma origem ligada a um comportamento ou profissão, como no caso das doenças respiratórias em mineiros, esses dados seriam fundamentais na indexação da informação. Muitas vezes, a similaridade que se busca no raciocínio baseado em casos, não é aquela superficial, obtida pela comparação de dados descritivos. É um tipo de similaridade mais abstrata, que permita reconhecer em diferentes contextos soluções que possam ser aplicadas a novos casos (Campbell e Wolstencroft, 1990).

Kolodner (1993) aponta como as qualidades necessárias a um bom índice:

• prever a futura utilização da informação para solução de diferentes problemas;

• endereçar as similaridades úteis entre os casos;

• ser abstrato o suficiente para tornar um caso útil em uma variedade de diferentes situações;

• ser concreto o suficiente para ser facilmente reconhecido em futuras situações.

Os índices podem ser selecionados tanto manualmente como automaticamente.

A seleção manual analisa caso a caso para determinar quais as características descritas que determinam as variações sobre as conclusões. Os métodos automáticos buscam quantificar as diferenças entre os casos e os relacionamentos entre feições do problema e soluções adotadas. Algumas formas de selecionar índices são descritas a seguir (Kolodner, 1993 e Watson and Marir, 1994).

23

• Técnicas baseadas em explicação.

Os casos são analisados individualmente para determinar os elementos do problema que são utilizados para construir a solução. Esses elementos são utilizados como índices.

• Índices baseados em conhecimento do domínio.

Utilizando protocolos retrospectivos sobre os casos são extraídas as correlações entre elementos e conclusões nos casos particulares e no domínio como um todo (processos abstratos). Esses elementos e processos são utilizados como índices (Abel, 1995a).

• Análise matemática.

Todos os elementos do domínio e suas dimensões são analisados numericamente (Michie et al, 1992) para identificar quais as feições que determinam ou influenciam as conclusões. Os elementos e valores computados são utilizados para construir os índices. São os métodos utilizados nos sistemas MEDIATOR (Simpson 1985) e CHEF (Hammond 1986).

• Índices baseados nas diferenças entre os casos.

O sistema analisa casos similares e os indexa especificamente nas características que os diferenciam, como no sistema CYRUS (Kolodner 1983).

• Métodos de generalização.

O método utiliza a definição de casos abstratos a partir dos elementos compartilhados entre diversos casos armazenados. Esses elementos são utilizados para a indexação dos casos abstratos, enquanto que as funções que os diferenciam indexam os casos individuais (Hammond, 1989).

24

• Métodos de aprendizado indutivo.

Identificam os elementos que determinam as conclusões para serem utilizados como índices. Esses métodos são muito difundidos especialmente pela utilização do sistema ReMind (Barletta, 1994) e variações do algoritmo para indução de regras ID3 (Quinlan 1986).

Apesar de os métodos automatizados auxiliarem na escolha de bons índices, na

prática, os sistemas cujos índices foram definidos artesanalmente tendem a ter melhor desempenho do que aqueles puramente processados (Kolodner, 1993).

25

3.3 RECUPERAÇÃO Dada uma descrição de um problema, um algoritmo de recuperação deveria

encontrar os casos mais similares à situação atual, utilizando-se dos índices da memória de casos. Os algoritmos baseiam-se nos índices e na organização de memória para dirigir a busca dos casos potencialmente úteis.

Os algoritmos mais simples baseiam-se no exame exaustivo das feições dos

casos e recuperam o caso com o maior número de feições idênticas. Outros buscam o melhor caso (Kolodner, 1989), utilizando-se de heurísticas para reduzir e dirigir a busca. Entre esses pode-se citar: busca serial (Simoudis et al, 1993), busca hierárquica (Maher e Zhang 1991) e busca por simulação paralela (Domeshek 1993).

Ao contrário dos bancos de dados que recuperam registros com campos

idênticos, recuperar casos de um banco de casos é uma tarefa bem mais complexa. A seleção envolve julgamento, heurísticas e avaliações sobre feições que não casam completamente, todos demandando um processamento que se torna inaplicável para um volume muito grande de casos. Uma das limitações no desenvolvimento de sistemas comerciais em CBR está exatamente na necessidade de serem desenvolvidos algoritmos de recuperação eficientes quando aplicados a centenas ou milhares de casos.

Entre os métodos mais conhecidos de recuperação de casos (Watson e Marir,

1994) estão o algoritmos de vizinhança, de indução, indução guiada por conhecimento e recuperação de padrões, que são utilizados sozinhos ou combinados.

• Algoritmo de Vizinhança (Nearest Neighbour)

Esse método baseia-se na comparação entre um novo caso e aqueles armazenados no banco de utilizando uma soma ponderada das suas características. Para isso é necessário atribuir um peso a cada uma das feições que descrevem o caso e que serão utilizadas na recuperação.

Um exemplo de algoritmo de vizinhança é aquele utilizado pelo sistema ReMind (Cognitive Systems 1992) e mostrado na figura 3.

26

( )w sim f f

w

i il

iR

i

n

ii

n

×=

=

'1

1

Figura 3 - O Algoritmo de vizinhança.

Na equação da figura 3, w corresponde ao peso de uma feição i qualquer que descreve o caso, sim é a função de similaridade e fil e fiR são os valores da feição i para o novo caso e o caso recuperado, respectivamente. O problema é que muitas vezes o método pode não convergir para uma solução correta e o tempo de recuperação cresce linearmente com o número de casos. Na prática, é efetivo apenas quando o banco de casos é relativamente pequeno, por isso, é comumente utilizado juntamente com outros métodos que reduzem o espaço de busca.

• Algoritmo de Indução

Esse método determina quais feições são mais eficazes em discriminar casos e utiliza essas feições para gerar uma árvore de decisão que organiza a memória de casos. É eficiente quando os casos são comparados através de uma única feição que determina a solução. O algoritmo é utilizado no sistema ID3 de J. Quinlan (1986) para descoberta de conhecimento em grandes bancos de dados (Winston, 1993).

• Indução Guiada por Conhecimento

Este processo utiliza o conhecimento da aplicação para identificar manualmente as feições dos casos que são conhecidas ou consideradas por afetarem a decisão. Normalmente, é utilizado com outros métodos, devido às dificuldades em obter o conhecimento aplicável à indução.

27

• Recuperação de padrões

Utiliza métodos similares às consultas SQL de bancos de dados, recuperando todos os casos que casam em certas feições pré-definidas. Como é muito eficiente, mesmo em grande volume de casos, porém pobre em selecionar o melhor caso, esse método é normalmente utilizado antes de outros algoritmos de recuperação para restringir o número de casos a serem analisados.

3.4 ADAPTAÇÃO A tarefa final do raciocínio baseado em casos é adaptar a solução associada a

um caso recuperado para as necessidades do problema corrente. Quando uma situação é fornecida, o algoritmo de recuperação traz o melhor caso que ele encontrar para a memória. Normalmente, o caso selecionado não casa perfeitamente com a descrição do problema do usuário. Existem diferenças entre o problema do usuário e o caso contido no banco que devem ser levadas em conta. O processo de adaptação procura por diferenças salientes entre as duas descrições e aplica regras de forma a compensá-las.

As regras de adaptação são essencialmente mini-resolvedores de problemas.

Em um sistema de CBR para planejamento, a adaptação precisa reconhecer as pré-condições das etapas que devem ser atingidas e achar os planos para atingi-las. Em um sistema de diagnóstico, é necessário achar falhas nas explicações fornecidas e encontrar as causas não-registradas. Isso pode ser exemplificado no sistema CHEF, onde é planejada uma nova receita a partir de carne e brócolis. O sistema recupera do banco de casos uma receita à base de frango com ervilhas, reconhecendo que gado e frango ambos são carnes e que brócolis e ervilhas ambos são vegetais. Porém, o sistema reconhece a diferença entre os ingredientes e recupera as regras associadas a cada um deles para adaptar uma melhor maneira de cozinhá-los. O processo pode necessitar excluir ou incluir novos passos na receita, ou modificar algumas ações. Para isso, podem ser utilizadas algumas regras genéricas do domínio, como a que diz

28

que toda carne deve ser temperada e cortada antes de ser frita, ou específica, como a que afirma que o brócolis deve ser cozido rapidamente na água fervendo para manter-se verde e firme.

Embora as regras aparentem ser bastante específicas, construí-las para

adaptação é muito mais simples do que desenvolver um sistema puramente baseado em regras, desde que os casos armazenados tenham uma razoável cobertura sobre o domínio do problema. Na verdade, a adaptação é feita de maneira dirigida a partir de um conjunto menor de regras, resultando em uma maior eficiência e acuracidade da solução.

Riesbeck e Schank (1989) usam a analogia com uma tabela de logaritmos para

demonstrar o papel de uma base de casos. É ensinado na escola que o logaritmo de 50 na base 10 é igual a 1,69897, porque 10 elevado a 1,69897 é igual a 50. Na prática, para resolver um logaritmo 48, por exemplo, busca-se em uma tabela pelo resultado. Se o número estiver lá, o problema foi solucionado. Senão, busca-se na tabela dois números mais próximos daquele procurado, como 45 e 50, e faz-se uma razão entre os logaritmos dos dois para obter o valor do logaritmo de 48. O processo de calcular a razão é muito mais simples do que o de calcular o logaritmo todo, desde que a tabela abranja o intervalo necessário de números e os intervalos entre esses sejam convenientemente pequenos. A tabela de logaritmos desse exemplo compara-se a uma base de casos, enquanto que os cálculos para chegar aos valores não contidos na tabela correspondem aos métodos de adaptação. Da mesma forma que em uma tabela de logaritmos, uma base de casos só será eficiente em diminuir o espaço de busca de um problema se os casos contidos na base distribuirem-se uniformemente pelo domínio da aplicação.

Em geral, existem dois tipos de adaptação em CBR.

• Adaptação estrutural

As regras de adaptação são aplicadas sobre a solução armazenada junto aos casos, como utilizado pelos sistemas JUDGE (Bain 1986) e CHEF (Hammond, 1986). É o mecanismo possível de ser utilizado quando as soluções associadas aos casos não são bem compreendidas.

• Adaptação derivacional

29

O algoritmo reusa os algoritmos, métodos ou regras que geraram a solução que consta no banco de casos para gerar uma nova solução para o problema corrente. Nesse método, a sequência que construiu a solução original deve ser armazenada juntamente com o caso na memória de casos. Ao contrário da adaptação estrutural, derivar soluções exige uma perfeita compreensão dos casos armazenados e da forma como as soluções associadas foram geradas. Esse é o método utilizado no sistema MEDIATOR (Simpson 1985).

Para gerar soluções aceitáveis a partir das informações fornecidas pelo

usuário, um sistema de CBR pode combinar as duas formas de adaptação, implementadas através de diferentes técnicas (Watson e Marir, 1994).

• Adaptação nula.

O sistema apenas fornece a solução associada ao melhor caso recuperado, sem qualquer modificação. É uma técnica útil quando a solução do problema é simples mas exige mecanismos complexos de raciocínio para atingi-la. Em um problema de concessão de crédito, por exemplo, embora seja necessário coletar muitas informações do usuário, a solução final de conceder ou rejeitar o crédito é direta. Esse é o método utilizado no sistema para diagnóstico de cardiopatias congênitas (Reategui et al 1995).

• Ajuste por parâmetros.

O algoritmo compara parâmetros pré-determinados entre o caso recuperado e o novo para modificar a solução armazenada na direção correta. É o método utilizado no sistema JUDGE (Bain 1986) que recomenda sentença mais curtas para crimes menos violentos.

• Abstração e reespecialização.

O mecanismo utiliza regras gerais para fazer modificações simples sobre soluções anteriores e mecanismos de abstração complexos quando necessário gerar soluções totalmente novas e criativas. É utilizado no sistema de planejamento PLEXUS (Alterman 1988).

• Adaptação baseada em crítica.

30

O algoritmo utiliza informações do domínio para buscar combinação de feições que podem causar problemas na solução, e corrige essas distorções. O sistema PERSUADER (Sycara 1987) utiliza esse algoritmo de crítica sobre a solução gerada inicialmente pelas demais técnicas descritas acima.

• Reinstanciação.

Utiliza feições dos caso recuperado do banco com novos valores adequado ao problema do usuário, como no sistema CHEF (Kolodner, 1993) que a partir de uma receita onde a carne é de gado, gera uma nova com o atributo carne modificado para frango.

• Substituição derivacional.

Repete o método, ou parte do método que gerou uma solução armazenada em um caso similar de forma a obter a solução para o novo caso, substituindo os atributos distintos. Como no sistema BOGART (Mostow et al. 1992) que reaplica os planos de geração de projetos para novos problemas.

• Reparo guiado por modelo.

Utiliza um modelo causal para adaptar as soluções armazenadas ao problema do usuário. Utilizado no sistema CELIA para aprendizado e diagnóstico de problemas mecânicos em automóveis (Redmond 1989).

• Substituição baseada em casos:

Usa casos também para sugerir a adaptação da solução aos novos problemas, como no sistema ACBARR (Moormam e Ram, 1992) para navegação de robôs.

31

4. COMPARAÇÃO DE RACIOCÍNIO BASEADO EM CASOS COM RACIOCÍNIO BASEADO EM MODELOS

Tanto CBR como MBR armazenam uma representação do domínio e raciocinam sobre essa representação para resolver problemas. Ambos buscam armazenar conhecimento como grandes agrupamentos de informações a serem utilizadas juntas. O conteúdo desse conhecimento e a forma de como é utilizado é bastante distinta no entanto.

• Conhecimento geral x específico: MBR busca capturar uma

representação do mundo da forma mais genérica e abstrata possível, porém, completa para aquele nível de abstração. CBR armazena conhecimento específico e episódico sobre o domínio, que corresponderia a instâncias da representação de MBR, geralmente sem cobrir todo o espaço de solução (Figura 4) (Para compreender as duas formas de analisar o domínio do problema pode-se fazer uma analogia com os métodos da Engenharia de Software, considerando MBR como um método de representação de conhecimento top-down e CBR como um método bottom-up. )

MODELO DODOMINIO

CASOS

NÍVEL DE ABSTRAÇÃO

Figura 4- Representação do domínio por modelos e por casos.

• Representação x inferência: MBR enfatiza os aspectos descritivos do

domínio, contendo representações completas e robustas sobre os objetos, mas não

32

sobre os métodos de busca da solução. Nesses sistemas a busca é geralmente não-guiada (Figura 5). CBR representa incompletamente o domínio, porém, para os problemas que descreve, armazena também o método de solução aplicável.

MBR CBR

Figura 5 - Busca da solução de problemas em MBR e CBR.

• Aplicabilidade. MBR é aplicável quando um modelo causal do

domínio é conhecido e bem compreendido. CBR é também aplicável nessas condições, assim como em domínios cujos fenômenos são mal-compreendidos. Nesses casos, o conjunto de casos desempenha o papel do modelo genérico do domínio.

Na verdade, as duas metodologias deveriam ser vistas como complementares, sendo que nenhuma delas é suficientemente completa para cobrir todas as necessidades de representação e processamento de conhecimento. Modelos, por armazenarem as relações causais, podem explicar e validar facilmente as conclusões. Porém não fornecem métodos para construí-las, como CBR faz. Por outro lado, CBR precisa validar suas soluções, muitas vezes adaptá-las, necessitando, para isso, de conhecimento genérico sobre o domínio. Casos são muito mais fáceis de serem adquiridos, organizados e mantidos se comparados à tarefa de construir um modelo. Esse é um aspecto importante uma vez que aborda o maior gargalo para viabilizar a construção e de sistemas baseados em modelos. Em domínios mal-estruturados, coletar casos torna-se a única forma viável de se desenvolver uma solução por computador. Ainda assim, porém, à medida em que cresce o número de casos na base, torna-se necessária a utilização de um modelo do domínio para otimizar a busca e indexação dos casos armazenados. Geralmente, esse modelo pode ser mais facilmente construído se uma base de casos está disponível e foi utilizada. Kolodner (1993) cita diversas avaliações quanto ao esforço de desenvolvimento de sistemas baseados em

33

conhecimento em um mesmo domínio, utilizando-se casos e também outros paradigmas. Esses experimentos demonstram grande vantagem no uso de casos, no que se refere ao tempo de desenvolvimento, número de pessoas/dia utilizadas e esforço de manutenção do sistema depois de pronto. (Goodman 1989; Simoudis 1991).

Bons raciocinadores deveriam ser construídos, portanto, utilizando o melhor

de cada metodologia. Não existem modelos genéricos que possam ser tanto eficientes na representação como amplos no domínio que cobrem. Um modelo que busque cobrir casos específicos ou exceções perderá sua eficiência. Casos são bons para prever situações particulares e, embora possam ser definidos para representarem situações genéricas, não o farão melhor do que os modelos genéricos. Ainda, os mecanismos de justificação dos sistemas em CBR são pobres e insuficientes quando comparados aos de MBR. Assim, modelos causais do domínio poderiam raciocinar e justificar suas conclusões em situações comuns da aplicação, enquanto casos cobririam situações atípicas e auxiliam na construção de soluções mais elaboradas do que os modelos permitem.

Na verdade, a pesquisa em CBR se desenvolve na direção da construção de

sistemas que integrem CBR e MBR (Hastings et al 1995; Reategui et al, 1996). Mesmo sistemas baseados em casos considerados pioneiros, como o PROTOS (Porter e Bareiss 1986), buscam unir as vantagens dos dois modelos. Esses recursos podem permitir a construção de sistemas robustos que possam raciocinar sobre situações comuns ou particulares com uma melhor qualidade das soluções oferecidas.

34

5. CONCLUSÕES O desenvolvimento de inúmeras aplicações em sistemas baseados em casos

tem demonstrado que o simples armazenamento e recuperação de experiências passadas, mesmo quando eficazmente indexadas, não é suficiente para o bom desempenho de um sistema especialista na solução de problemas. O primeiro impasse refere-se à expressão problemas similares, referindo-se ao reconhecimento, no conjunto de experiências passadas, de alguma que possa ser utilizada para resolver o problema atual (Klein and Calderwood 1988). Mesmo que um médico acumule centenas de casos de pacientes e doenças em seu banco de experiências, é muito pouco provável que um novo paciente apresente-se com o mesmo quadro clínico de um outro paciente já tratado. Também é pouco provável que um tratamento aplicado com sucesso em um paciente anterior, possa ser reaplicado exatamente da mesma forma em outra pessoa. Essas observações endereçam dois conceitos que têm sido explorados em sistemas que utilizam CBR: o de grau de similaridade entre problemas passados e atuais e o de adaptação de soluções armazenadas no banco para resolver problemas diferentes. Ambos, até o momento, não apresentam soluções definitivas, embora tenham sido amplamente explorados na literatura básica de CBR .

A segunda questão é percebida por aqueles que migram de paradigmas de

MBR para o de CBR, questão essa pouco considerada no desenvolvimento de sistemas baseados em casos (Kolodner, 1993, Cap. 1.2). Cabe, portanto, uma reflexão: O armazenamento de casos passados, sua recuperação e adaptação para a solução de novos problemas realmente representam um modelo aceitável da forma de raciocínio do especialista?

Voltando ao exemplo analisado no capítulo 1, seria possível para um médico

especialista reter em sua memória a descrição pormenorizada de centenas de pacientes já tratados por ele? É pouco provável, da mesma forma que cada um de nós é capaz de lembrar-se de apenas algumas dezenas de diferentes problemas resolvidos recentemente em nossa vida cotidiana.

Na verdade, um médico iniciante pode lembrar-se da fisionomia e sintomas

dos seus últimos dez ou quinze pacientes, especialmente por estes constituírem para ele novas experiências. Porém a aplicação de um mesmo tratamento sucessivas vezes acaba por obliterar as experiências passadas e o médico passa a armazenar um quadro

35

genérico de como a doença se manifesta (comparável ao schemata descrito por Mattos, 1991), onde constam apenas os aspectos relevantes do problema, associados à forma mais eficiente de tratamento. Dessa forma, ele substitui as regras aprendidas na escola por outras novas geradas a partir de sua experiência pessoal. Apenas pacientes com quadros clínicos muito diversos ou particulares serão armazenados individualmente. Estes comporão, da mesma forma que para o aprendiz, novas experiências e portanto não relacionáveis a outras anteriores.

Confrontado com novos problemas, portanto, dificilmente o especialista utiliza

um mecanismo simples como a evocação de um caso particular, ou conjunto de casos, para obter a solução do problema. Ele utiliza, sim, as abstrações do domínio, como a generalização dos casos armazenados, de forma a guiar a solução, reconhecer quais os aspectos relevantes do problema a serem inquiridos e o tipo de solução que pode ser utilizada. Para aspectos particulares da manifestação da doença, no entanto, ele pode utilizar-se de uma ou mais experiências passadas onde essas particularidades aconteceram e adaptá-las ao novo paciente. O caminho de solução é construído, na mente humana, a partir de diversos mecanismos da inteligência, utilizando diferentes estruturas armazenadas em memória como regras, scripts, esquemas, exemplos, normas e, naturalmente, casos (Strube et alii, 1995)1. O homem soluciona problemas utilizando mecanismos de abstração e generalização que lhe permitem raciocinar sobre menor quantidade de dados e de maneira mais dirigida. Essa constatação não invalida a utilização de sistemas baseados em casos, mas dirige a pesquisa na direção de soluções que integrem a utilização de conhecimento específico e episódico na forma de casos, com o uso de conhecimento genérico sobre o domínio do problema.

Em contrapartida, nos domínios muito complexos ou cujos fenômenos são mal

compreendidos, extrair os operadores abstratos para construir sistemas puramente baseados em modelos pode ser um procedimento extremamente difícil. Utilizar experiências passadas pode ser o único caminho para aquisição e representação de conhecimento nesses domínios. Mesmo para aplicações menos complexas, com modelos causais bem compreendidos, adquirir conhecimento na forma de casos demonstrou ser uma técnica mais rápida, fácil e eficiente do que a construção de modelos. Também do ponto de vista do especialista, fornecer casos costuma ser um 1 No capítulo 1 de seu Inside Case-based reasoning, Riesbeck & Schank propõem um mecanismo cognitivo para o armazenamento de conhecimento na forma de casos ou abstrações e a forma de utilização destes pela mente humana. Adicionamente, o trabalho de Strube et alii, 1995, apresenta um interessante experimento demonstrando como um especialista utiliza diferentes categorias de entradas de informação, além de casos, na solução de problemas em projeto.

36

processo mais natural e menos penoso do que as formas normais de elicitar a informação.

CBR tem-se tornado a técnica natural para o reuso de conhecimento constante

em repositórios de dados, como demonstrado nas inúmeras aplicações de sucesso. O formato de casos torna mais fácil também definir mecanismos de gerência de conhecimento em memória secundária, inclusive utilizando-se do armazenamento em bancos de dados (Abel et al. 1995a). Essa característica permite projetar bancos de conhecimento com maior quantidade de informações do que quando são modelados em outras representações, expandido o leque de utilizações possíveis desses sistemas.

Finalmente, raciocínio baseado em casos é apresentado como um modelo cognitivo da mente humana. Embora discuta-se aqui se ele é um modelo completo ou adequado do original, é importante salientar a contribuição que a técnica trouxe para a área de sistemas especialistas. Com o auxílio de casos, a aquisição de conhecimento tornou-se uma tarefa possível em muitas áreas, os sistemas suportam um volume maior de conhecimento e são construídos com menor volume de recursos, expandindo o campo das aplicações comerciais. A pesquisa por melhores técnicas de indexação e algoritmos eficientes na recuperação do melhor caso promete trazer ainda muitas novidades para esse campo.

37

BIBLIOGRAFIA

ABEL, M. Knowledge processing in geology: major problems and future trends. In: Proceedings of

Latin American Conference on Artificial Intelligence in Petroleum Exploration and Production.

Rio de Janeiro, Instituto Brasileiro do Petróleo, 1991.

ABEL, Mara; REATEGUI, Eliseo Berni; CASTILHO, José M.V; CAMPBELL, John Evaluating .

Case-Based Reasoning in a geological model. In: DEXA 95. Proceedings. Londres, 1995a.

ABEL, Mara; REATEGUI, Eliseo Berni; CASTILHO, José M.V. Using case-based reasoning in a

system that supports petrographic analysis. In: AI Petro. Proceedings. Oslo, 1995b.

ABEL, Mara; REATEGUI, Eliseo Berni; CASTILHO, José M.V. Aquisição, modelagem e

processamento de conhecimento utilizando raciocinio baseado em casos. In: PANEL-95.

Proceedings. Canela, 1995c.

ALTERMAN, R. Adaptative planning. Cognitive Science 12:393-422, 1988 apud Watson e Marir,

1994.

BAIN, W.M. Case-based reasoning: a computer model for subjective assestment. Ph.D. thesis. Yale

University, 1986. apud KOLODNER, 1993.

BARLETTA, Ralph. An introduction to Case-based Reasoning. AI Expert, August 1991.

BARLETTA, Ralph. A Hybrid indexing and retrieval strategy for advisory CBR systems built with

Remind. In: HATON, J-P.; KEANE, M. and MANAGO, M. (Eds). Second European Workshop

on Case-Based Reasoning. Proceedings. Acknosoft Press, Chantilly, France, 1994.

BROWN, Mike; WATSON, Ian and FILER, Nick. Separating the cases from the data: towards more

flexible case-based reasoning. In: M. VELOSO and A. AAMODT (Eds). Case-based

Reasoning research and development. Lectures Notes in Artificial Intelligence 1010. First

Intern. Conf., ICCBR-95. Proceedings. Springer-Verlag, Sesimbra, Portugal, October 1995. p.

157-68.

CAMPBELL, J.A. and WOLSTENCROFT, J. Structure and significance of analogical reasoning.

Artificial Intelligence in Medicine 2:103-118. Elsevier,1990.

COGNITIVE SYSTEMS. ReMind developer's reference manual. Boston, 1992 apud KOLODNER,

1993.

DOMESHEK, E. A case study of case indexing: designing index feature sets to suit task demands and

support parallelism. J. Barnden and K. Holyoak. Norwood (Eds). Advances in conectionist and

38

neural computation theory, vol 2: Analogical connections. NJ: Ablex. apud KOLODNER,

1993.

GENTNER, D. Structure mapping - a theoretical framework for analogy. Cognitive Science 7:155-170.

1983.

GOODMAN, M. CBR in battle planning. In: Workshop on case-based reasoning (DARPA).

Proceedings. Morgan Kaufmann, Pensacola Beach, Florida, May 1989. apud KOLODNER

1993.

HAMMOND,K.J. CHEF: a model of case based planning. AAAI-86. Proceedings. AAAI Press/MIT

Press, Cambridge, MA, 1986. apud KOLODNER 1993.

HAMMOND,K.J. On funcionality motivaded vocabularies: an apologia. In: Second Workshop on

Case-based Reasoning. Proceedings. Morgan Kaufmann, Pensacola Beach, Florida, May 1989.

HASTINGS, J. D.; BRANTING, L. K. and LOCKWOOD, J. A. Case adaptation using an incomplete

causal model. In: M. VELOSO and A. AAMODT (Eds). Case-based Reasoning research and

development. Lectures Notes in Artificial Intelligence 1010. First Intern. Conf., ICCBR-95.

Proceedings. Springer-Verlag, Sesimbra, Portugal, October 1995.

HAYES-ROTH, Frederick; WATERMAN, Donald A. and LENAT, Douglas B. (Eds). Building

expert systems. California, Addison-Wesley, 1983.

HINRICHS, T.R. Problem solving in open worlds: a case study in design. Northvale, NJ: Erbaum,

1992.

KAULA, R. and NGWENYAMA, O. K. An approach to open intelligent information systems.

Information Systems, 15(4): 489-496, 1990. Oxford: Pergamon Press.

KLEIN, G. A. and CALDERWOOD, R How do people use analogues to make decisions. In: J.

KOLODNER (Ed). Proceedings of Case-Based Reasoning Workshop, Morgan Kaufmann,

Clearwater Beach, Florida, 1988.

KOLODNER, J. Reconstrutive memory: a computer model. Cognitive Science 7(4), 1983 apud

KOLODNER 1993.

KOLODNER, J. Judging which is the "best" case for a case-based reasoner. Proceedings of a

Workshop on Case-Based Reasoning. Morgan Kaufmann, Pensacola Beach, Florida, 1989.

KOLODNER, J. Case-based reasoning. Morgan Kauf Pub, San Mateo, CA, 1993.

KOTON, P. Using experience in learning and problem solving. PhD dissertation. Dept. of Computer

Science, MIT, 1989.

39

LEÃO, B. F and REATEGUI, E. B. A hybrid connectionist expert system to solve classificational

problems. In Proceedings of Computers in Cardiology, 1993. London, UK.

MAHER, M.L. and ZHANG, D.M. CADSYN: using case and decomposition knowledge for desing

synthesis. apud WATSON, Ian and MARIR, Farhi. 1994.

MARIR, Farhi and WATSON, Ian. Case-based reasoning: a categorized bibliography. The Knowledge

Engineering Review, Vol. 9:4, 1994. p.355-381..

MATTOS, Nelson M. An approach to knowledge base management. Berlin, Spring-Verlag, 1991.

MICHIE,D.; SPIEGELHALTER, D.J. and TAYLOR, C.C. Machine learning, neural and statistical

classification. Ellis Horwood, New York, 1994.

MOORMAN, K. and RAM, A. A case-based approach to reactive control for autonomous robots. In:

AAAI Fall Symposium on AI for Real-World Autonomous Robots. Proceedings. apud

WATSON, Ian and MARIR, Farhi, 1994.

MOSTOW, J.; BARLEY, M. and WEINRICH, T. Automated reuse of design plans in BOGART. In:

C. TONG and D. SRIRAM (Eds). Artificial Intelligence in Engineering Desing. Boston,

Academic Press, 1992. apud KOLODNER, 1993.

PEARCE, M; GOEL, A.; KOLODNER,J.; ZINRING,C. SENTOSA,L. and BILLINGTON, R. Case-

based design support: a case study in architectural design. IEEE Expert, 7(5):14-20.,1992.

PORTER, B. W. and BAREISS, R. PROTOS: An experiment in knowledge acquisition for heuristics

classification tasks. In: First International Meeting on Advances in Learning (IMAL).

Proceedings. Les Arcs, France, 1986. p159-174.

PORTER, B. W.; BAREISS, R. and HOLTE,R.C. Concept learning and heuristic classification in

weak theory domains. Artificial Intelligence, 45, vol. 1-2: 229-263. September, 1990.

QUINLAN, J. R. Induction of decision trees. Machine Learning, 1(1), 1986. p.81-106.

REATEGUI, E. B. ; CAMPBELL, J. and BORGETTI, S. Using a neural network to learn general

knowledge in a case-based system. In: M. VELOSO and A. AAMODT (Eds). Case-based

Reasoning research and development. Lectures Notes in Artificial Intelligence 1010. First

Intern. Conf., ICCBR-95. Proceedings. Springer-Verlag, Sesimbra, Portugal, October 1995.

p.528-537

REATEGUI, E. B. ; CAMPBELL, J. and LEÃO, B.F. A case-based model that combines general and

specific knowledge in reasoning. Applied Intelligence, 1996 (in press).

REATEGUI, E. B. and LEÃO, B. F. Integrating neural networks with the formalism of frames. In: The

First World Congress on Neural Networks '93. Proceedings. Portland, Oregon 1993.

40

REDMOND, M. Combining case-bases reasoning, explanation-based learning, and learning from

instruction. In: Sixth International Machine Learning Workshop. Proceedings. San Mateo, CA,

Morgan Kaufmann, 1989 apud KOLODNER, 1993.

RIESBECK, Christopher K. and SCHANK, Roger C. Inside case-based reasoning. Lawrence

Erlbaum Associates, Hillsdale, New Jersey, 1989.

SCHANK, R.C. and ABELSON,R. Scripts, plans, goals, and understanding. NJ: Erlbaum, Northvale,

1977.

SCHANK, R.C. Dynamic memory: A theory of reminding and learning in computers and people.

Cambridge University Press, Cambridge, 1982. apud KOLODNER, 1993.

SCHANK, R.C. Explanation patterns:understanding mechanically and creatively. Lawrence Erbaum

Associates, Hillsdale, New Jersey, 1986.

SHIMAZU, H; KITANO, H. and SHIBATA, A. Retrieving cases from relational data-bases: another

stride towards corporate-wide case-based systems. In: IJCAI-93. Proceedings. Morgan

Kaufmann, Chambéry, 1993. p. 909-914.

SIMOUDIS, E. Retrievel justifiably relevant cases from a case base using validation models. Ph.D.

dissertation. Dept. of Computer Science, Brandeis University, 1991.

SIMOUDIS, E., MENDALL, A and MILLER, P. Automated support for developing retrieve-and-

propose systems. In: XI Conference of Artificial Intelligence. Proceedings. Orlando, Florida,

1993.

SIMPSON,R.L. A computer model of case-based reasoning in problem solving: an investigation in the

domain of dispute mediation. Technical Report. GIT-ICS-85/18. Georgia Institute of

Technology, School of Information and Computer Science, 1985.

STRUBE, G.; ENZINGER,A.; JANETZKO,D. and KNAUFF, M. Knowledge engineering for CBR

systems from a cognitive science perspective. In: M. VELOSO and A. AAMODT (Eds). Case-

based Reasoning research and development. Lectures Notes in Artificial Intelligence 1010.

First Intern. Conf., ICCBR-95. Proceedings. Springer-Verlag, Sesimbra, Portugal, October

1995. p. 548-558.

SYCARA, E.P. Resolving adversarial conflits: an approach to integrating case-based and analytic

methods. Technical Report. GIT-ICS-87/26. Georgia Institute of Technology, School of

Information and Computer Science, 1987.

SYCARA, K. Using case-based reasoning for plan adaptation and repair. In: Case-Based Reasoning

Workshop '88. Proceedings. Clearwater Beach, Florida, 1988.

41

WATSON, Ian and MARIR, Farhi. Case-based reasoning: a review. The Knowledge Engineering

Review, Vol. 9:4, 1994. p.327-354.

WINSTON, P.H. Artificial Intelligence.Third Edition. Addison-Wesley, Reading, 1993.

WRIGHT, G. and AYTON, P. Eliciting and modelling expert knowledge. Decision Support Systems,

3: 13-26. Elsevier Science Publishers, North-Holland, 1987.