4 Raciocínio Baseado em Casos

4.1 Introdução

Os Sistemas Especialistas (SE) representam um dos grandes sucessos das pesquisas da Inteligência Artificial (IA). Este sucesso deve-se não apenas às características de inteligência que estes sistemas apresentam, mas por sua grande abrangência de aplicação. Entretanto, existem alguns problemas conhecidos:

Watson (1997) reafirma o sucesso dos SE’s, mas também aponta algumas dificuldades encontradas pelos pesquisadores desta área. Segundo este autor, o processo de recuperação do conhecimento é complicado, tornando sua implementação difícil. Além disso, SE’s tendem a se tornar lentos e incapazes de manipular grandes volumes de informação. Por fim, a inabilidade de aprender automaticamente torna o processo de manutenção difícil.

Para resolver a lacuna deixada pelos sistemas especialistas, os pesquisadores de IA têm explorado soluções na cognição humana. Segundo Sun (1996), o raciocínio é um aspecto fundamental da cognição humana. Ele está envolvido em todos os tipos de processos cognitivos, variando do entendimento da linguagem ao processo de tomada de decisão. O processo de reutilizar episódios passados corresponde a uma forma freqüente e poderosa do raciocínio humano. Para Aamodt e Plaza (1994), esta alegação está apoiada na pesquisa da psicologia cognitiva, onde vários estudos demonstram o uso de experiências de situações prévias no processo humano de aprendizado e resolução de problemas. Neste sentido, o Raciocínio Baseado em Casos (RBC) é uma técnica de IA que baseia-se na premissa de que seres humanos utilizam um raciocínio analógico ou experimental para aprender e resolver problemas complexos. Sistemas RBC utilizam a filosofia de aprender através de situações que aconteceram no passado (aprendizado por experiência). Leake (1996) apresenta dois pressupostos para o emprego do raciocínio baseado em analogia: problemas similares têm soluções similares e os tipos de problemas se repetem.

As principais características que diferem os sistemas RBC dos sistemas especialistas são apresentadas em (Watson, 1997):

Kolodner e Leake (1996) acrescentam que sistemas RBC oferecem também tempo de resposta rápido e a possibilidade de trabalhar em domínios que não são completamente conhecidos. Estas características possibilitam a aplicação do raciocínio baseado em casos em diversos tipos de tarefas. Algumas das possíveis aplicações são:


4.2 Histórico

No final da década de 70, Schank e Abelson (1977) propuseram que o conhecimento humano podia ser armazenado na forma de um conjunto de roteiros (scripts). Estes roteiros seriam descrições sobre situações vivenciadas que poderiam ser recuperados e utilizados para inferir novos roteiros. Este trabalho é considerado por muitos pesquisadores como sendo uma das principais origens do raciocínio baseado em casos (Aamodt e Plaza, 1994), (Watson, 1997).

Entretanto, Aamodt e Plaza (1994) consideram que o trabalho de Wittgenstein, em 1953, pode ter sido a base filosófica para o RBC. Wittgenstein observou que conceitos naturais, como mesas e cadeiras, são na verdade polimórficos e não podem ser classificados como um simples conjunto de facilidades suficientes e necessárias, mas através de um conjunto de instâncias (casos) que possuam similaridades.

Schank (1982) apresentou seus estudos sobre memória dinâmica e como a manipulação de casos passados e padrões de situação poderiam ser aplicados à resolução de problemas e ao aprendizado. Schank definiu que um padrão de situação poderia ser descrito através de estruturas, as quais ele denominou de pacotes de organização de memória (MOP – Memory Organization Packets). Watson (1997) lembra que o modelo teórico para analogia proposto por Gentner (1983) também foi de grande relevância para área de RBC.

Janet Kolodner também é umas das precursoras em RBC. Um dos primeiros sistemas que utilizou esta abordagem foi o CYRUS (Kolodner, 1983). Este sistema possuía um modelo de memória baseado no modelo de memória dinâmico (MOP) proposto por Schank. Foi utilizada uma estrutura hierárquica chamada pacotes de organização de memória episódica, onde casos específicos com propriedades similares eram organizados em estruturas mais generalizadas. O CYRUS era basicamente um sistema de perguntas e respostas sobre viagens e reuniões do Secretário de Estado Americano Cyrus Vance. Segundo Aamodt e Plaza (1994), o modelo de memória de casos utilizado para o desenvolvimento do CYRUS foi a base de muitos outros sistemas RBC.

Outro trabalho considerado muito relevante para o RBC foi desenvolvido por Bruce Porter e seus colegas em 1986 (Aamodt e Plaza, 1994), (Watson, 1997). Porter aplicou a abordagem do aprendizado por conceitos para classificação de tarefas. Este trabalho serviu como base para o desenvolvimento do sistema PROTOS. Este sistema enfatizava a integração do conhecimento geral sobre o domínio com o conhecimento específico de casos em uma única estrutura de representação de conceitos baseada em exemplos.

Desde a década de 90, RBC tem sido um campo de grande interesse. Esta motivação não é meramente acadêmica, mas também possui um grande apelo comercial. Diversas ferramentas e aplicações já estão disponíveis e em uso. Raciocínio baseado em casos é freqüentemente utilizado como um termo genérico para descrever técnicas que utilizam raciocínio por analogia. Segundo Watson (1997), Estados Unidos e Alemanha tem se destacado nesta área.

4.3 Definição

Como apresentado, o raciocínio baseado em casos é uma área relativamente recente. Mesmo assim, existe um grande interesse pelas possibilidades que esta abordagem compreende. Diferentemente da teoria sobre agentes, apresentada no capítulo anterior, os pesquisadores em RBC não divergem muito sobre sua definição. A maioria dos autores concordam que o RBC é um método de raciocínio baseado na proposta de utilizar experiências passadas encapsuladas em estruturas de dados como a base para lidar com novas situações similares. A abordagem parece ser intuitiva: quando uma nova situação acontece, deve-se tentar alguma coisa que já foi utilizada com sucesso. Usualmente, as soluções utilizadas em situações similares devem ajudar na solução do novo problema. É importante notar que o raciocínio pode funcionar também por contra-exemplos. Neste caso, dada uma nova situação, deve-se procurar descartar aquelas soluções utilizadas em situações similares que resultaram em insucessos.

Segundo Gentner (1983), o raciocínio baseado em casos é um novo ramo de resoluções de problemas por analogia que utiliza a experiência para resolver novos problemas. O processo de raciocínio por analogia identifica determinados aspectos em novos e antigos problemas e procura utilizar as soluções encontradas para inferir uma nova solução.

Riesbeck e Schank (1989) definem que um sistema RBC resolve novos problemas adaptando soluções que solucionaram problemas do passado.

Aamodt e Plaza (1994) descrevem RBC como sistemas capazes de utilizar um conhecimento específico de experiências passadas (casos) para revolver novos problemas. A solução é encontrada através da recuperação de um caso similar no passado.

Leake (1996) argumenta que o raciocínio utilizado em RBC está baseado em lembrança. A fonte primária do conhecimento em um sistema RBC está na sua memória de casos armazenados que caracterizam episódios específicos do passado. Sendo assim, novas soluções são geradas pela recuperação dos casos mais relevantes na memória e pela adaptação destes casos de forma a atenderem as novas necessidades.

Watson (1997) define RBC como um paradigma de resolução de problemas que envolve a aproximação entre o problema atual e um problema resolvido com sucesso no passado. Este processo pode ser otimizado adaptando soluções que mais acuradamente se aproximam do problema atual.

Apesar de sua definição genérica, Aamodt e Plaza (1994) consideram também que o paradigma RBC abrange uma faixa de diferentes métodos para manipular a informação contida nos casos. Sendo assim, eles apresentam alguns outros termos e definições encontrados na área:


4.4 A Abordagem RBC

Os sistemas RBC utilizam um processo interativo constituído genericamente por: identificação da situação atual, busca da experiência mais semelhante na memória e aplicação do conhecimento desta experiência na situação atual. Entretanto, a literatura usualmente não considera a identificação da situação atual como parte do processo RBC, adotando um modelo genérico baseado em quatro etapas: recuperar, reutilizar, revisar e reter. Autores como Aamodt e Plaza (1994) e Watson (1997) referem-se a estas etapas como o ciclo do RBC (figura 7):

  1. Recuperar: busca, na base de casos, um ou mais casos a partir da comparação da situação atual (caso de entrada) com cada um dos casos da base (casos candidatos). O processo de comparação é realizado através da avaliação das similaridades entre o caso de entrada e os casos candidatos.
  2. Reutilizar: procura utilizar a informação e o conhecimento contidos nos casos recuperados (pode ser apenas um) para resolver o caso de entrada.
  3. Revisar: procura avaliar a solução proposta.
  4. Reter: adiciona o caso de entrada com sua solução revisada na base de casos. Esta etapa representa a característica de aprendizagem de um sistema RBC.

Fig. 7 – O Ciclo do RBC (Aamodt e Plaza, 1994).


Apesar do ciclo apresentado representar um grande número de sistemas RBC, autores como Kolodner e Leake (1996) consideram que um sistema RBC pode ter um processo mais detalhado: recuperar, propor, justificar ou adaptar, criticar, avaliar e armazenar. Esta proposta para o ciclo CBR é apoiada no fato que os sistemas RBC podem ser freqüentemente classificados de acordo com suas tarefas e objetivos (Leake, 1996). Sendo assim, os sistemas RBC podem ser divididos em sistemas interpretativos e de resolução de problemas.

4.4.1 Sistemas Interpretativos

Os sistemas interpretativos utilizam casos passados como pontos de referência para a classificação e caracterização de novos casos. A classificação da nova situação é realizada através de uma comparação com os casos já classificados. O foco destes sistemas está na interpretação do novo caso, e não na resolução de um problema.

O ciclo destes sistemas caracteriza-se pela etapa de justificação. Após a recuperação dos casos similares e de uma interpretação inicial ter sido feita e proposta, inicia-se a etapa de criação de argumentos para justificar a solução proposta. A justificativa é feita através de uma análise balanceada das similaridades e diferenças com os casos recuperados. A etapa de crítica pode ser utilizada para testar a solução com sua justificativa, antes que a avaliação final seja feita.

Estes sistemas são particularmente importantes para aplicação no ensino. Interpretar um problema e justificar esta interpretação parece ser uma forma interessante de construir conhecimento sobre um domínio. Na verdade, o uso de casos não precisa ocorrer apenas de forma automática através de um sistema computacional. Eles podem ser utilizados por alunos em uma sala de aula. Neste caso, o professor pode orientar o processo RBC de forma com que os alunos sejam os executores do ciclo. Eventualmente, ferramentas computacionais podem auxiliar os alunos neste processo.

4.4.2 Sistemas de Resolução de Problema

Os sistemas de resolução de problema utilizam as soluções adotadas em casos passados para sugerir soluções que podem ser aplicadas a novas situações. O enfoque destes sistemas está na adaptação das soluções recuperadas para gerar a solução de um novo problema. A adaptação substitui a etapa de justificativa dos sistemas interpretativos, permitindo uma revisão do caso recuperado no sentido de ajustar ao caso de entrada. A etapa de crítica pode fazer com que o processo de adaptação tenha que ser revisto antes da solução ser aplicada, indicando uma recursividade inerente.

4.5 Representação do Conhecimento

A representação de conhecimento pode ser interpretada como sendo um conjunto de métodos que modelam um conhecimento especialista para disponibilizá-lo em um sistema inteligente. Apesar de um sistema RBC ser extremamente dependente da estrutura e do conteúdo de sua base de casos, seu conhecimento não está presente apenas nos seus casos (memória), mas também nas suas etapas de desenvolvimento. Webber (1998) lembra que esta é uma importante distinção do raciocínio baseado em casos quando comparado a outras técnicas da IA, e apresenta algumas evidências desta conclusão:


4.6 Processo de Desenvolvimento RBC

O processo de desenvolvimento RBC é uma tarefa que pode variar dependendo do tipo de sistema em questão. Entretanto, pode-se definir uma metodologia genérica que compreende uma seqüência de etapas. Estas etapas são problemas a serem modelados que, quando resolvidos, compreendem um sistema RBC. Estas etapas são:

  1. Representação dos casos.
  2. Indexação.
  3. Recuperação dos casos.
  4. Adaptação.
  5. Aprendizagem.
  6. Análise da situação.
É importante notar que este processo de desenvolvimento não aborda a formulação inicial para um sistema RBC, que é a identificação da situação atual ou do caso de entrada. Entretanto, pode-se subentender que esta identificação está inserida na própria definição de um caso no sistema. Outro ponto importante a ser observado é que algumas das etapas descritas podem não ser necessárias, dependendo do domínio para o qual o sistema será desenvolvido. Como já discutido anteriormente, não é obrigatório que um sistema RBC possua capacidade de adaptação, ou mesmo a análise da situação.

4.6.1 Representação dos Casos

A principal parte do conhecimento nos sistemas RBC está representada através de seus casos. Um caso pode ser entendido como a abstração de uma experiência descrita em termos de seu conteúdo e contexto, podendo assumir diferentes formas de representação. Aamodt e Plaza (1994) definem um caso como sendo uma situação de problema. Watson (1997) interpreta um caso como uma parte de conhecimento contextualizada representando uma experiência. O conjunto destes casos compreendem uma base de casos. Kolodner (1993) acrescenta que os procedimentos de acesso aos casos também fazem parte da base de casos.

A representação dos casos é uma tarefa complexa e importante para o sucesso do sistema RBC. Inicialmente, o problema é decidir o que será armazenado em um caso e encontrar a estrutura mais apropriada para descrever seu conteúdo. Definido o caso, resta a questão sobre como os casos serão organizados e indexados para efetivar sua recuperação e reutilização (Aamodt e Plaza, 1994).

Um caso deve possuir dois componentes básicos: a descrição do problema e a descrição da solução. Watson (1997) afirma que um caso contém uma lição passada que é o conteúdo do caso e o contexto no qual a lição pode ser utilizada, sendo representado por um registro que apresente tipicamente: problema que descreve o estado do contexto onde o caso ocorreu, e solução que expõe a solução derivada daquele problema. Kolodner (1993) inclui ainda um terceiro componente: o resultado da aplicação da solução ao problema. Os aspectos desta definição abordam mais diretamente os sistemas de resolução de problema. Em sistemas interpretativos, o enfoque é a representação de experiências de forma a facilitar a interpretação das mesmas.

A IA oferece uma grande variedade de formalismos de representação que podem ser utilizados para modelar o conteúdo de um caso computacionalmente:


4.6.2 Indexação

A indexação é um problema central do raciocínio baseado em casos, envolvendo a determinação dos tipos de índices que serão utilizados pela etapa de recuperação. Da mesma forma que índices permitem acelerar a busca em bancos de dados, eles são utilizados no sistemas RBC para acelerar a recuperação de casos. Existem dois tipos de informação dentro de um caso (Watson, 1997):

De acordo com Kolodner e Leake (1996), os índices de um caso são combinações de importantes descritores, capazes de estabelecer distinções entre os casos existentes. O algoritmo de recuperação utiliza estes índices para selecionar os casos conforme suas necessidades. Webber (1998) reafirma a importância da indexação na avaliação de similaridade. O conjunto de descritores utilizados como índices permitirão definir o que faz um caso ser similar a outro, representando a relevância dos casos.

Kolodner (1993) e Watson (1997) apresentam características desejáveis para os índices:

Webber (1998) afirma que o processo de indexação pode oferecer a oportunidade de superar deficiências na descrição do caso e transformá-lo em informação útil para o sistema.

4.6.3 Recuperação dos Casos

Dado um problema a ser resolvido (caso de entrada), a etapa de recuperação realiza a busca na base de casos e seleciona quais casos podem ser aproveitados. O processo de busca é feito por algoritmos que selecionam casos com similaridade quando comparados ao caso de entrada. As tarefas que compreendem a recuperação de casos são: métrica da similaridade, recuperação de casos e seleção do caso escolhido. Aamodt e Plaza (1994) descrevem que a tarefa de recuperação de casos inicia com a descrição de um problema e termina quando um caso mais similar é encontrado.

A métrica de similaridade é uma função que permite avaliar analiticamente os graus de similaridade entre dois casos. Usualmente, são atribuídos pesos diferentes a cada uma das características de um caso e métodos de agregação como a média ponderada são utilizados. O valor de cada peso é diretamente proporcional à importância de cada característica.

A recuperação é uma função que retorna os casos mais similares. Usualmente, é utilizado um limiar de similaridade, que orienta o processo no sentido de recuperar apenas aqueles casos que tenha similaridade superior àquele limiar. Pode ser utilizado também um limite no número de casos a ser retornado.

O processo de seleção do caso mais relevante é a última tarefa da etapa de recuperação de casos. O sistema pode implementar o método de seleção usando de várias formas: perguntando ao usuário, combinação de heurísticas ou aplicação de regras.

4.6.4 Adaptação

Após a recuperação do caso mais similar, torna-se necessário revisar este caso e sua solução para verificar a necessidade de adaptação ao problema de entrada antes de utilizá-lo. A revisão de casos consiste em avaliar a solução do caso recuperado e verificar as seguintes possibilidades (Aamodt e Plaza, 1994): se a solução obteve êxito, aprender com o sucesso, caso contrário, reparar a solução utilizando conhecimentos específicos do domínio do problema.

A tarefa de avaliação está relacionada com a análise dos resultados obtidos pela aplicação da solução no ambiente real (perguntando a um instrutor ou realizando a tarefa no mundo real). Este processo geralmente ocorre fora do sistema RBC e os resultados da aplicação de uma solução podem demorar a aparecer, dependendo do tipo da aplicação. A reparação de um caso envolve a detecção dos erros ocorridos na solução de um caso, e a recuperação ou geração de explicações para estes erros.

4.6.5 Aprendizagem

Uma característica muito interessante que os sistemas RBC podem apresentar é a capacidade de aprendizagem. É importante lembrar que o raciocínio baseado em casos originou-se em estudos sobre máquinas de aprendizado. A aprendizagem em sistemas RBC pode ser empregada ao nível dos casos e da base de casos, denotando um paradigma capaz de aprender a partir da atualização da sua base de casos após um problema ter sido resolvido.

A retenção de casos corresponde ao processo de incorporar à base de casos, informações úteis relativas à resolução de um novo problema. Este processo corresponde à aprendizagem de um sistema RBC, sendo disparado pelas tarefas de avaliação e adaptação de soluções (Aamodt e Plaza, 1994).

Segundo Kolodner e Leake (1996), a efetivação do aprendizado também pode ocorrer como o resultado da atualização do seu raciocínio. O mecanismo de raciocínio pode ser mais eficiente quando está dotado de maior capacidade de relembrar soluções passadas, as quais serão adaptadas para o novo caso, derivando-se novas soluções a cada momento. Ele passa a ser mais competente quanto maior for sua capacidade de derivar soluções melhores, quando desprovido de experiência sobre o problema.

O processo de aprendizado em um sistema RBC não deve ser dirigido apenas pelo sucesso da aplicação de um caso recuperado em um caso de entrada. É importante também aprender com os fracassos. Há dois motivos para aprender com fracassos: soluções falhas revelam a necessidade do aprendizado e revelam ao sistema o que deve ser aprendido (Leake, 1996).

4.6.6 Análise da Situação

Os sistemas RBC podem funcionar perfeitamente apenas com as etapas discutidas até o momento. Entretanto, existe uma questão problemática a ser tratada que é quando o usuário tem dificuldade para apresentar o caso de entrada no formato escolhido para representar a base de casos. Deve-se entender que este formato não precisa ser a estrutura interna de armazenamento de casos, mas a filosofia embutida nesta representação. Sendo assim, torna-se necessário haver uma etapa de ajuste da situação inicial, com o objetivo de modelá-la em um caso de entrada que possa ser identificado pelo sistema para o processo de recuperação.

4.7 Ensino Baseado em Casos

O capítulo 2 abordou algumas características do uso de IA em educação. Foi visto que em sistemas computacionais de apoio ao ensino tradicionais, o projetista usualmente possui conhecimento sobre o domínio e decide sobre como este conhecimento será disponibilizado. O desenvolvimento de tais sistemas é realizado através de análises das tarefas que compreendem o domínio e das experiências dos professores. O projetista, de posse destas informações, define como o conhecimento será repassado aos estudantes: seqüência, nível de dificuldade e forma de apresentação. A existência de um modelo previamente definido do domínio faz com que esta abordagem não esteja preparada para lidar com situações inesperadas (Khan e Yip, 1996).

Como discutido anteriormente neste capítulo, uma das vantagens de aplicação do raciocínio baseado em casos está em trabalhar com conhecimento do domínio parcialmente incompleto. Não há a necessidade que um modelo explícito do domínio esteja presente. Esta característica permite que o crescimento do conhecimento seja incremental. Além disso, no enfoque educacional, os casos podem ser explorados como situações a serem apresentadas aos estudantes para que estes tentem encontrar soluções adotadas anteriormente em problemas semelhantes, sintetizá-las, aplicá-las na nova solução e ainda fornecer as explicações que motivaram a escolha. Estes aspectos fazem com que o uso de casos seja interessante como uma ferramenta no processo de ensino/aprendizagem.

Khan e Yip (1996) apresentam 14 princípios pedagógicos que têm contribuído para o desenvolvimento de sistemas de ensino baseado em casos:

  1. Ensino baseado em estórias: explora o interesse inerente dos estudantes de aprender através de estórias e o desejo básico de professores e especialistas por contar estórias que encapsulam suas experiências.
  2. Ensino auto direcionado: os estudantes são motivados a refinar seus modelos cognitivos de um domínio por auto exploração de um ambiente. Este ambiente deve permitir que os modelos possam ser testados.
  3. Instrução significante: estórias são melhor apresentadas em um contexto que habilite o estudante determinar onde ele está no conteúdo e como ele poderia se conectar a outras estórias.
  4. Ensino dirigido ao impasse: estórias poderiam ser utilizadas para ilustrar pontos pedagógicos somente quando o estudante necessita saber a informação.
  5. Instrução centrada na tarefa: habilidades devem ser ensinadas em tarefas onde o conhecimento é normalmente aplicado.
  6. Ensino dirigido a falha: estudantes deveriam ser motivados a aprender a partir de situações de falha durante a execução de uma tarefa.
  7. Ensino dedutivo: pessoas aprendem sobre um domínio deduzindo regras generalizadas a partir de casos dados. Portanto, o ensino pode ocorrer através da apresentação de exemplos bem escolhidos.
  8. Congruência instrucional: uma seleção conduzida de exemplos assegura a realização de metas instrucionais pretendidas e evita erros de entendimento.
  9. Raciocínio analógico: estudantes utilizam a lembrança de soluções passadas para resolver novos problemas. Estas soluções podem ainda ser generalizadas para serem aplicadas em outros domínios. Esta análise pode ser considerada o processo de entendimento por parte do estudante.
  10. Estratégias de elaboração: estudantes podem aprender a criar suas próprias explicações se eles aprendem boas estratégias para elaborar o conteúdo dos exemplos trabalhados.
  11. Auto explicação: estudantes aprendem através da construção de explicações que os ajudam a entender o conteúdo. Desta forma, o entendimento do estudante pode ser testado pela análise de suas explicações.
  12. Perguntas explicativas: estudantes aprendem através de respostas dadas a um conjunto de perguntas investigativas.
  13. Explicações derivativas: professores incorporam suas explicações passadas na derivação de novas explicações.
  14. Auxílio à memória: humanos funcionam melhor quando são assistidos por uma memória externa que os auxilia com raciocínio analógico.
Alguns destes princípios estão claramente presentes nos trabalhos de Schank et al (1994) quando ele explora o raciocínio baseado em casos para a construção de explicações. Outros pesquisadores do grupo de Schank também exploram o uso de casos como uma abordagem para modelar ensino baseado em estórias (Fergunson et al, 1992), (Burke e Kass, 1996).

O próximo capítulo apresenta um modelo para ensino colaborativo utilizado para o ensino a distância, onde procura-se atender alguns dos princípios pedagógicos discutidos nesta seção e no capítulo 2.