Prévia do material em texto
See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/262272507 Raciocínio Baseado em Casos Book · June 2003 CITATIONS 32 READS 393 2 authors: Some of the authors of this publication are also working on these related projects: Telemedicina SES/SC View project Workflow View project Aldo Von Wangenheim Federal University of Santa Catarina 461 PUBLICATIONS 1,157 CITATIONS SEE PROFILE Christiane Gresse von Wangenheim Federal University of Santa Catarina 201 PUBLICATIONS 1,501 CITATIONS SEE PROFILE All content following this page was uploaded by Aldo Von Wangenheim on 14 May 2014. The user has requested enhancement of the downloaded file. v SUMÁRIO 1. Introdução 1 1.1. O que é este Livro? 4 1.2. Para quem é este Livro? 5 1.3. Estrutura do Livro 5 1.4. Como Usar este Livro? 6 1.5. Agradecimentos 7 2. O que é Raciocínio Baseado em Casos? 9 2.1. Objetivos deste Capítulo 10 2.2. Usando Casos 11 2.3. Elementos Básicos do RBC 13 2.4. Representação do Conhecimento 13 2.5. Como Funciona RBC? 17 2.6. Exemplo de RBC 20 2.7. Como Encontrar o Caso mais Similar? 27 2.8. Vantagens e Limitações do RBC 29 vi Ch.G.v.Wangenheim e A.v.Wangenheim Sumário 3. História do RBC 35 3.1. Primeiros Enfoques 35 3.2. Primeiros Sistemas 39 3.3. Usando Aprendizado de Máquina 50 3.4. Pesquisas Atuais 52 3.5. Outros Grupos 63 3.6. Tendências 71 4. Representação de Casos 73 4.1. Componentes Básicos de um Caso 75 4.2. Descrição do Problema 77 4.3. Descrição da Solução 79 4.4. Resultados 80 4.5. Como Representar Casos? 82 4.6. Representações Atributo-Valor 84 4.7. Representação Orientada a Objetos 89 4.8. Árvores e Grafos 95 4.9. Redes Semânticas 96 4.10. Árvores k-d 100 4.11. Discussão: Rede ou Árvore? 106 4.12. Como Estruturar Casos? 106 5. Similaridade 111 5.1. Similar = Útil? 112 5.2. Utilidade 112 5.3. Metas de Recuperação 115 5.4. Indexação 117 5.5. Critérios de Indexação 119 5.6. Métodos de Indexação 119 5.7. Similaridade 122 5.8. Modelos para Determinação de Similaridade Global 126 5.9. Medidas de Similaridade Locais 141 5.10. Similaridade entre Objetos 154 Raciocínio Baseado em Casos vii 6. Recuperação de Casos 165 6.1. Processo de Recuperação de Casos 166 6.2. Assessoramento da Situação 167 6.3. Casamento 171 6.4. Seleção 172 6.5. Recuperação Seqüencial 173 6.6. Características da Recuperação 175 6.7. Recuperação de dois Níveis 178 6.8. Recuperação Orientada a Índices 184 6.9. Recuperação com Árvores k-d 186 6.10. Redes de Recuperação de Casos 192 6.11. Discussão: Qual Método Usarei? 198 7. Reutilização de Casos 199 7.1. Estratégias de Adaptação 203 7.2. Adaptação Nula 205 7.3. Adaptação Transformacional 205 7.4. Adaptação Substitu-cional 206 7.5. Adaptação Estrutural 213 7.6. Adaptação Gerativa e Derivacional 214 7.7. Adaptação Composicional 229 7.8. Adaptação Hierárquica 232 8. Revisão de Casos 237 8.1. Avaliação de Soluções 239 8.2. Eliminação de Falhas 240 9. Retenção de Novos Casos 243 9.1. Tipos de Retenção 244 9.2. Processo de Retenção 246 9.3. Aprendizado Baseado em Casos 250 9.4. Componentes 255 9.5. IBL1 257 9.6. IBL2 257 9.7. IBL3 259 9.8. Discussão 261 viii Ch.G.v.Wangenheim e A.v.Wangenheim Sumário 10. Aplicações de RBC 263 10.1. Áreas de Aplicação 264 10.2. Classificação 265 10.3. Diagnóstico 266 10.4. Projeto e Configuração 268 10.5. Planejamento 271 10.6. Suporte à Decisão 272 10.7. Suporte a Vendas 274 10.8. Tutoriais e Ensino a Distância 279 11. Desenvolvimento de Aplicações usando RBC 281 11.1. O Shell CBR-Works 282 11.2. Cenário de Aplicação: Agência de Viagens Virtual 283 12. Referências 309 13. Índice Remissivo 329 1 1 INTRODUÇÃO “In order to solve a new problem, one should first try using methods similar to those that have worked on similar problems.” Marvin Minsky O Raciocínio Baseado em Casos (RBC)1 estabeleceu-se nos últimos anos como uma das tecnologias mais popu- lares e disseminadas para o desenvolvimento de Siste- mas Baseados em Conhecimento. Raciocínio Baseado em Casos é uma abordagem para a solução de problemas e para o aprendizado com base em experiência passada. De uma forma simplificada, podemos entender o Raciocínio Baseado em Casos como a solução de novos problemas por meio da utilização de casos anteriores já conhecidos. Um novo problema que nos é apresentado é resolvido com a reutilização da solução de um problema anterior pare- 1. Do inglês, Case-Based Reasoning (CBR). 2 Ch.G.v.Wangenheim e A.v.Wangenheim Introdução cido com o atual. Esta solução pode ser aplicada em sua totalidade ou apenas parcialmente no novo problema, podendo ainda ser modificada de acordo com os requisitos da nova situação. A disciplina do processamento do conhe- cimento baseado em casos tem início na observação de que se trata de uma estratégia de solução de problemas comu- mente adotada por especialistas humanos em muitas situa- ções. As pessoas recordam-se da solução que elas mesmas elaboraram ou aprenderam para uma determinada situação parecida com a que estão confrontando atualmente e tentam aplicar as soluções que já conhecem ao problema atual, sem passar pelo complexo e demorado processo de elaborar uma nova solução a partir do zero, evitando assim ter de resolver o novo problema passo a passo. Neste contexto, o RBC pode funcionar inclusive como um modelo cognitivo para se entender alguns aspectos do pen- samento e comportamento humanos, além de ser uma tec- nologia extremamente simples de se usar para construir sistemas computacionais inteligentes e resolver problemas reais em áreas como a do comércio eletrônico, centrais de atendimento ao cliente e mesmo diagnóstico médico. Usando Experiência Com seu enfoque na utilização de experiências, o Raciocínio Baseado em Casos diferencia-se radicalmente de outras metodologias para o desenvolvimento de programas e siste- mas da área da Inteligência Artificial (IA). Ao contrário de enfoques tradicionais para encontrar uma solução para um problema em IA, em que se descreve conhecimento gené- rico na forma de regras, quadros, roteiros etc., no Raciocínio Baseado em Casos é o conhecimento específico, na forma de exemplos concretos de casos, que se encontra no centro do processo de solução de um problema. A visão de mundo reducionista, voltada ao processo de solução do problema de um sistema orientado a regras, como em sistemas especi- alistas tradicionais, dá lugar a uma visão orientada a metas e soluções, no enfoque baseado em casos. Raciocínio Baseado em Casos é aplicável de forma simples e direta a um espectro extremamente grande de problemas e Raciocínio Baseado em Casos 3 situações reais, o que justifica seu sucesso e rápida aceitação por quem desenvolve sistemas inteligentes em todo o mundo. Este espectro pode variar de situações ricas em conhecimento, em que a construção de uma solução para um problema é um processo complexo, até situações pobres em conhecimento, cujos casos à disposição são a única fonte de informação que um sistema tem para sugerir uma solução a um problema. RBC oferece a possibilidade de se modelar e analisar o comportamento de aprendizado e resolução de problemas humanos e é capaz de integrar capacidade de aprendizado e solução construtiva de proble- mas. RBC possui muitas vantagens, que permitem a um sis- tema computacional propor soluções para problemas de uma forma extremamente rápida, e elaborar raciocínios em domínios do conhecimento mal compreendidos ou descri- tos de forma incompleta. RBC também permite gerar e ava- liar soluções para problemas em áreas onde um algoritmo de solução não é conhecido ou mesmo onde a relação exata entre os problemas e suas soluções ainda nãoé totalmente conhecida, como por exemplo na relação entre os dados meteorológicos atuais em uma região e a previsão do tempo. Do ponto de vista comercial, sistemas baseados em casos estão vivendo um período de expansão extremamente rápida, encontrando um número crescente de aplicações. RBC tem sido utilizado em um amplo espectro de domínios de aplicação, incluindo-se aí análise financeira, assessora- mento de riscos, manutenção de equipamentos, controle de processos, controle da qualidade, diagnóstico médico, suporte a sistemas de software, previsão em diversas áreas, planejamento automatizado, projeto auxiliado por compu- tador, classificações de objetos, interpretação de imagens, avaliação imobiliária, atendimento personalizado no comér- cio eletrônico, suporte ao cliente, gerência do conheci- mento, etc. Isto se deve ao fato de que aplicações usando RBC são muito fáceis de serem projetadas e implementadas, oferecem ao usuário capacidade para deduzir e justificar de forma convincente as decisões e ações tomadas e também, em comparação com outras técnicas da Inteligência Artifi- «I predict that 20 years from now Case-Based Reasoning will be the most impor- tant application of Artificial Intelli- gence.» Marvin Minsky, 1991 4 Ch.G.v.Wangenheim e A.v.Wangenheim Introdução cial, permitem que se criem aplicações com muito pouco esforço e custo. 1.1. O QUE É ESTE LIVRO? O objetivo deste livro é oferecer uma visão geral de fácil compreensão da tecnologia RBC e também instrumentos para que o leitor possa aplicar a tecnologia na prática. O livro cobre todas as técnicas modernas de RBC mais efetivas para a solução de problemas reais, com exemplos práticos, e oferece também uma visão técnica detalhada do processo e métodos do RBC. Pode ser usado ao mesmo tempo como um livro didático e como um manual de desenvolvimento. Foi escrito com enfoque tanto em uma descrição clara e teoricamente bem fundamentada das técnicas básicas e avançadas de RBC, como também em aplicações, sistemas e ferramentas exis- tentes e requisitos para as diversas áreas de aplicação. Este é o primeiro livro a apresentar uma visão unificada e coerente do campo de RBC. Inclui os mais importantes resultados de pesquisas recentes na área. Hoje em dia não existe literatura suficiente sobre técnicas e métodos de RBC, apesar da popularidade que o tema vem obtendo. Assim há necessidade de uma publicação abrangente, bem fundamen- tada, que também enfoque técnicas modernas e conceitos avançados, permitindo ao leitor utilizá-la de forma efetiva como um guia de desenvolvimento de aplicações. A falta de literatura sobre RBC deve-se, em parte, ao fato de que o RBC, ao contrário da maioria dos métodos e técnicas da informática tradicionalmente desenvolvidos e lançados ao mundo nos EUA, atingiu a sua “maturidade” como tec- nologia de gerência e manipulação de conhecimento na pri- meira metade da década de 1990 em alguns grupos de pesquisa na Europa, principalmente na Alemanha. Devido a isso, muitos livros e publicações técnicas avançadas sobre RBC foram editados em inglês ou alemão e não são acessí- veis ao grande público. Com este livro, os autores preten- dem preencher essa lacuna. Raciocínio Baseado em Casos 5 Para quem é este Livro? 1.2. PARA QUEM É ESTE LIVRO? Este livro é dirigido a todos aqueles que têm interesse em aspectos técnicos e teóricos do Raciocínio Baseado em Casos. Pode ser utilizado como livro-texto em um curso de Ciência da Computação ou em outras áreas da Informática. Em vir- tude de sua estrutura didática e da elaboração progressiva do assunto, pode ser usado tanto em cadeiras de Sistemas Especialistas ou Inteligência Artificial como em uma cadeira voltada exclusivamente para Raciocínio Baseado em Casos, na graduação ou na pós-graduação. Evidentemente, é também dirigido a todos aqueles que este- jam interessados em desenvolver ou integrar uma aplicação de RBC, não só provendo a fundamentação teórica, mas também servindo ao leitor como guia prático para o desen- volvimento de seu próprio sistema. Além disso, é também voltado ao usuário final, a Gerentes de Tecnologia de Informação de empresas e a outros que necessitem tomar decisões sobre qual tecnologia usar em seus sistemas de comércio eletrônico para relacionar-se com o cliente e antendê-lo, provendo-lhes um visão geral dos benefícios potenciais e das limitações de aplicações usando RBC na prática. 1.3. ESTRUTURA DO LIVRO Para facilitar a leitura deste livro, todos os capítulos técnicos estão, em sua maioria, organizados em três partes: • objetivos do capítulo e uma visão geral do assunto do capítulo, • uma descrição dos aspectos fundamentais do assunto do capítulo, e • um conjunto de seções avançadas, nas quais o assunto é aprofundado e problemas e situações de aplicação específicas são abordados. Dessa forma, existem três possíveis leituras de cada capí- tulo: uma leitura informativa; uma leitura para compreensão dos fundamentos teóricos, técnicas e aplicações básicas; e 6 Ch.G.v.Wangenheim e A.v.Wangenheim Introdução uma leitura aprofundada. Assim, o leitor que estiver com pouco tempo disponível poderá realizar uma leitura abrevi- ada do livro e obter uma visão panorâmica de todos os aspectos do RBC, por outro lado, um desenvolvedor pode encontrar respostas para questões técnicas específicas. Exceção a esta organização é o primeiro grupo de capítulos, formado pelos capítulos 2 e 3, os quais em função de sua generalidade, deveriam ser lidos na íntegra por todos os lei- tores. 1.4. COMO USAR ESTE LIVRO? O livro está dividido em quatro grandes grupos de capítulos: Visão Geral e Histórico Esta parte engloba o capítulo 2, O que é Raciocínio Baseado em Casos?, e o capítulo 3, História do RBC. Esta parte do livro apresenta, em linhas gerais, o que é RBC, a história do surgimento e descreve as atuais aplicações desta tecnologia, as metodologias fundamentais para a representação do conhecimento em RBC e as formas e estratégias adotadas por RBC na solução de problemas e geração de respostas. Fundamentação Teórica e Técnicas Básicas Esta parte do livro engloba os capítulos 40 - Representação de Casos, 50 - Similaridade, 60 - Recuperação de Casos, 70 - Métodos de Recuperação, 80 - Reutilização de Casos, 90 - Revisão de Casos e 100 - Retenção de Novos Casos. Aborda, em detalhes, tanto do ponto de vista teórico e técnico, quanto do ponto de vista de desenvolvimento de aplicações, os quatro pontos funda- mentais da tecnologia RBC. A compreensão do conteúdo destes capítulos permitirá ao leitor dominar as técnicas necessárias para o desenvolvi- mento de um sistema de RBC para a grande maioria das áreas de aplicação dessa tecnologia. Em conjunto com os quatro anteriores, podem ser utiliza- dos como texto para um capítulo de RBC em uma cadeira Raciocínio Baseado em Casos 7 Agradecimentos de Inteligência Artificial ou de Sistemas Especialistas em um curso de graduação ou de pós-graduação em Ciências da Computação. Aplicações, Ferramentas, Sistemas A última parte do livro engloba os capítulos 11 - Aplicação de RBC e 12 - Desenvolvimento de Aplicações usando RBC. São capí- tulos que interessam diretamente, tanto a quem desenvolve sistemas inteligentes, que aqui pode encontrar justificativas para sua escolha de uma ou outra tecnologia, com exemplos de como problemas semelhantes ao seu foram resolvidos no passado, e descobrir a ferramenta mais indicada para a sua aplicação, como também ao Gerente de Tecnologia da Informação de uma empresa que precisa decidir sobre qual tecnologia usar para desenvolver um projeto ou aplicação. No Capítulo 13, em especial, é oferecida uma visão geral de ferramentas existentes, com exemplos, e também um tuto- rial usando a mais conhecida delas, CBR-Works, ensinando todos os passos do desenvolvimentode uma aplicação de uma loja virtual para montagem e venda de pacotes de via- gem pela Internet. Para a elaboração de um seminário em um curso de gradua- ção, este último conjunto de capítulos complementa o pri- meiro grupo de capítulos e provê uma visão geral das técnicas, suas vantagens, suas aplicações e fornece instru- mentos para os alunos desenvolverem trabalhos práticos. 1.5. AGRADECI- MENTOS Os autores desejam agradecer a todos aqueles que participa- ram, direta ou indiretamente, na elaboração deste livro, em especial ao Professor Michael M. Richter, ao Grupo de Sis- temas Baseados em Conhecimento da Universidade de Kai- serslautern, aos pesquisadores e empreendedores do RBC, Klaus Dieter-Althoff, Stefan Wess, Hector Muñoz, Ralph Bergmann e Sascha Schmidt, e, por fim, aos amigos cientis- tas Ian Watson, David Aha, Rosina Weber e Qiang Yang, por discussões frutíferas e opiniões construtivas. 8 Ch.G.v.Wangenheim e A.v.Wangenheim Introdução 9 2 O QUE É RACIOCÍNIO BASEADO EM CASOS? “A case-based reasoner solves new problems by adapting solutions that were used to solve old problems” C. K. Riesbeck & R. C. Schank Nos últimos anos, o Raciocínio Baseado em Casos (RBC) [Wes95, AP94,Kol93] surgiu como uma técnica poderosa para solução automática de problemas. RBC é aplicável de forma simples e direta a um amplo espectro de tarefas, todas tipicamente relacionadas à Inteligência Artificial (IA). A idéia básica do enfoque de RBC é resolver um novo problema relembrando uma situação anterior similar e, 10 Ch.G.v.Wangenheim e A.v.Wangenheim O que é Raciocínio Baseado em Casos? então, reutilizando informação e conhecimento daquela situação [RS89]. 2.1. OBJETIVOS DESTE CAPÍTULO Neste capítulo será fornecida ao leitor uma visão geral da teoria, das tecnologias e das aplicações de RBC. Para isso, abordaremos cada uma das técnicas mais importantes e for- neceremos, passo a passo, um exemplo de um sistema de RBC para diagnóstico de defeitos em impressoras, o qual servirá como linha-mestra para exemplificar e explicar as metodologias e aspectos do RBC que serão descritos neste capítulo. Cada aspecto da teoria ou técnica que for sendo descrito neste capítulo será demonstrado com utilização desse exemplo. Ao final do capítulo será realizada uma discussão sobre as vantagens do RBC em relação a outras tecnologias, em apli- cação em problemas similares. Citaremos vários aspectos técnicos que serão detalhados no decorrer deste livro. O objetivo deste capítulo é apresentar ao leitor uma visão panorâmica do RBC e fornecer-lhe uma compreensão ini- cial, fundamentada em exemplos, do que seja um sistema de RBC simples. Ao término da leitura deste capítulo, o leitor terá uma visão geral da estrutura e funcionalidade de um sistema típico de RBC, e será capaz de vislumbrar as suas potencialidade de aplicação, sua forma de organização e as técnicas para a implementação de um sistema de RBC simples. Todos os aspectos teóricos e técnicos abordados aqui serão aprofun- Raciocínio Baseado em Casos é um enfoque para a solução de problemas e para o aprendizado baseado em experiência passada. RBC resolve problemas ao recuperar e adaptar expe- riências passadas - chamadas casos - armazenadas em uma base de casos. Um novo problema é resolvido com base na adapta- ção de soluções de problemas similares já conhecidas. Raciocínio Baseado em Casos 11 Usando Casos dados e fundamentados nos capítulos subseqüentes. Este capítulo fornecerá ao leitor também os instrumentos para que possa direcionar a sua leitura dos capítulos posteri- ores, escolhendo aqueles que lhe interessam, em relação ao seu problema particular. 2.2. USANDO CASOS Um grande número de exemplos da vida diária pode ser uti- lizado para demonstrar como seres humanos utilizam casos conhecidos como uma forma de resolução de problemas de um modo extremamente natural. Veja alguns exemplos: • Ao atender um novo paciente e escutar seus problemas, o médico lembra-se do histórico da doença de um outro paciente devido ao conjunto similar de sintomas, e aplica-lhe um tratamento semelhante ao que administrou ao paciente que apresentou aqueles sintomas similares: «Os problemas apresentados nos ouvidos do paciente são parecidos com um caso típico de otite média. Assim vou administrar-lhe um tratamento para otite média.». • Um técnico de serviço de um determinado tipo de aparelhos lembra-se de um defeito similar no tipo de máquina que está tentando consertar: «Essa TV tem os mesmos problemas de uma que eu consertei na semana passada, então, também vou trocar as válvulas de saída de áudio.» • Um profissional jurídico reforça os seus argumentos com jurisprudências semelhantes: «Esse caso deve ser decidido como no caso Santos versus de Silva.» • Um arquiteto estuda as plantas de um prédio já existente ao planejar uma construção similar: «No ano passado fiz uma casa de praia com três quartos, na encosta de um morro, vou usar o plano daquele caso como uma base.» • Um vendedor relata para um cliente com necessidades e características semelhantes as de um cliente anterior fatos sobre a venda com sucesso de um determinado produto: «Muitos estudantes ficam nesse hotel em Porto de Galinhas.» 12 Ch.G.v.Wangenheim e A.v.Wangenheim O que é Raciocínio Baseado em Casos? Todas estas situações têm em comum o fato de que uma solução para um problema obtida no passado foi reutilizada para guiar a solução do problema na situação presente. Raci- ocínio Baseado em Casos (RBC) é a tecnologia de Inteligên- cia Artificial inspirada neste modelo de cognição e comportamento humanos. A tecnologia de RBC pode ser vista de dois pontos de vista diferentes. Pode ser considerada como uma metodologia para modelar o raciocínio e o pensamento humanos e tam- bém como uma metodologia para construir sistemas com- putacionais inteligentes. RBC é um paradigma de resolução de problemas RBC é um novo paradigma para resolução de problemas que em muitos aspectos difere de forma fundamental de outros enfoques da Inteligência Artificial [AP94]. Em vez de se basear unicamente em conhecimento generalizado acerca de um domínio de problemas ou de realizar associações lógicas ao longo de relacionamentos abstratos entre descri- tores de problemas e conclusões, RBC é capaz de utilizar o conhecimento específico de soluções de problemas concre- tos, experimentadas anteriormente, denotadas como casos. Figura 2.1 Modelo básico do enfoque RBC. Solução nova Problema novo BASE DE CASOS Adaptação Similaridade CASO 1 Solução Problema CASO n Raciocínio Baseado em Casos 13 Elementos Básicos do RBC 2.3. ELEMENTOS BÁSICOS DO RBC Os elementos básicos de um sistema de RBC são (veja figura 2.1): • Representação do Conhecimento: Em um sistema de RBC, o conhecimento é representado principalmente em forma de casos que descrevem experiências concretas. No entanto, se for necessário, também outros tipos de conhecimento sobre o domínio de aplicação podem ser armazenados em um sistema de RBC (por exemplo, casos abstratos e generalizados, tipos de dados, modelos de objetos usados como informação). • Medida de Similaridade: Temos de ser capazes de encontrar um caso relevante para o problema atual na base de casos e responder à pergunta quando um caso relembrado for similar a um novo problema. • Adaptação: Situações passadas representadas como casos dificilmente serão idênticas às do problema atual. Sistemas de RBC avançados têm mecanismos e conhecimento para adaptar os casos recuperados completamente, para verificar se satisfazem às características da situação presente. • Aprendizado: Para que um sistema se mantenha atualizado e evolua continuamente, sempre que ele resolver um problema com sucesso, deverá ser capaz de lembrar dessa situaçãono futuro como mais um novo caso. Nas próximas seções serão apresentados os aspectos teóri- cos e técnicos básicos. Cada um desses aspectos será poste- riormente aprofundado em um capítulo próprio, juntamente com aspectos avançados que não serão aborda- dos neste capítulo. 2.4. REPRESENTA- ÇÃO DO CONHECI- MENTO A representação do conhecimento é um aspecto tão impor- tante do RBC que lhe será dedicada uma seção especial neste capítulo. A forma principal de representação de conhecimento em um sistema de RBC são os casos. Um caso é uma peça de 14 Ch.G.v.Wangenheim e A.v.Wangenheim O que é Raciocínio Baseado em Casos? conhecimento contextualizado que registra um episódio em que um problema ou situação problemática foi total ou par- cialmente resolvido. Um caso representa tipicamente a descrição de uma situação (problema) conjuntamente com as experiências adquiridas (solução) durante a sua resolução (veja figura 2.2), sendo visto como essa associação dos dois conjuntos de informa- ções: descrição do problema e respectiva solução. Casos representam experiências concretas Casos podem, por exemplo, representar: • o conjunto dos sintomas de um paciente e os passos do tratamento médico aplicado; • a descrição dos sintomas do defeito técnico apresentado por um equipamento (por exemplo: uma impressora) e da estratégia de conserto aplicada; • os objetivos de um processo legal e a respectiva jurisprudência; Figura 2.2 Exemplo simplificado de um caso. CASO 1 Problema: Impressora não funciona Modelo: Robotron Matrix 600 Luz de estado do papel: apagada Luz de estado da tinta colorida: apagada Luz de estado da tinta preta: apagada Estado do interruptor: ligadoP ro bl em a/ Si nt om as Diagnóstico: Curto-circuito Ação: Troca da fonte de alimentação So lu çã o atributo valor Raciocínio Baseado em Casos 15 Representação do Conhecimento • os requisitos para um prédio e sua respectiva planta de construção; • a descrição de um pacote de viagem. Um caso pode também conter outros itens, como os efeitos da aplicação da solução ou a justificativa para aquela solu- ção e sua respectiva explicação [Kol93]. Pode ainda ser enri- quecido por dados administrativos, como o número do caso, a data de sua criação ou o nome do engenheiro de conhecimento que o incorporou à base. Casos contêm primordialmente experiências concretas, vivi- das em uma situação específica. No entanto, podemos tam- bém criar casos abstratos, que realizam a subsunção de experiências adquiridas em um conjunto de situações [Ber96]. Casos são armazenados na Base de Casos Para que estejam à disposição para serem reutilizados, casos são organizados e armazenados em uma base de casos (BC), um conjunto de casos apropriadamente organizados. Geralmente, uma base de casos contém experiências positi- vas descrevendo estratégias de solução que contribuíram com sucesso para resolver o problema descrito, de forma que possam ser reutilizadas. Experiências negativas, expres- sando tentativas frustradas de solução de um problema podem também ser armazenadas, com o objetivo de indicar problemas potenciais e prevenir a repetição de erros passa- dos [Kol93]. Na figura 2.3 vemos um exemplo simplificado de uma base de casos na qual estão armazenados somente dois exemplos positivos acerca do reparo de impressoras no passado. Repositórios de Conhecimento Ao lado de casos, um sistema de RBC pode também incluir conhecimento geral acerca do seu domínio de aplicação. Existem quatro diferentes repositórios nos quais um sis- tema de RBC pode armazenar conhecimento, denominados Repositórios de Conhecimento [Ric95]. São: 16 Ch.G.v.Wangenheim e A.v.Wangenheim O que é Raciocínio Baseado em Casos? • o vocabulário utilizado para descrever o conhecimento geral do domínio que é utilizado durante os diferentes estágios do processo de RBC. Por exemplo, um sistema help desk via Internet de um fabricante de impressoras, em que o comprador pode procurar perguntas de ajuda freqüentemente apresentadas (Frequently Asked Questions - FAQs)apenas formulando questões, necessita possuir modelado o vocabulário técnico do audiófilo, com termos como “cartucho”, “luz do estado de tinta”, “fonte de alimentação” etc; • casos concretos experimentados no passado armazenados em uma base de casos (como descrito anteriormente). Por exemplo, Figura 2.3 Exemplo simplificado de uma base de casos. CASO 1 Problema: Impressora não funciona Modelo: Robotron Matrix 600 Luz de estado do papel: apagada Luz de estado da tinta colorida: apagada Luz de estado da tinta preta: apagadaPr ob le m a/ Si nt om as Diagnóstico: Curto-circuito Ação: Troca da fonte de alimentação So lu çã o CASO 2 Problema: Não imprime em preto Modelo: Robotron Matrix 800 Luz de estado do papel: apagada Luz de estado da tinta colorida: apagada Luz de estado da tinta preta: acesoPr ob le m a/ Si nt om as Diagnóstico: Cartucho de tinta preta vazio Ação: Troca do cartucho de tinta preta So lu çã o Raciocínio Baseado em Casos 17 Como Funciona RBC? o protocolo de perguntas feitas ao telefone e as respectivas respostas dadas pelos técnicos humanos da empresa dos seis últimos meses de atendimento a clientes, referente ao tempo em que o help desk desse fabricante de impressoras era por telefone (veja a figura 2.2 na página 14); • conhecimento sobre como identificar casos que podem ser úteis para resolver o problema atual. Esta utilidade é predita pela similaridade entre as descrições do problema atual e dos casos armazenados na base utilizando-se uma medida de similaridade. Por exemplo, perguntas de clientes anteriores relacionadas ao mesmo modelo de impressora, em que o maior número de palavras-chave é o mesmo. O grau da similaridade entre dois casos é relativo e depende do domínio de aplicação. Conseqüentemente, o conceito de similaridade tem que ser modelado explícitamente em um sistema de RBC. • conhecimento sobre como adaptar casos recuperados de forma a satisfazer completamente os requisitos da situação atual. Por exemplo, o problema presente refere-se a cartucho preto vazio, enquanto o caso mais similar refere-se a um problema do cartucho colorido. Neste caso, a solução aplicada no passado (troca da cartucho de tinta colorida) deve ser adaptada à situação atual, sugerindo, então, a troca do cartucho preto. Este conhecimento de adaptação é geralmente representado na forma de heurísticas ou regras de adaptação. Dependendo das características da aplicação de RBC espe- cífica, o foco da representação do conhecimento pode variar de um repositório de conhecimento para outro (veja Capítulo 4, “Representação de Casos”). 2.5. COMO FUNCIONA RBC? Quando um novo problema é encontrado, RBC relembra casos similares e adapta as soluções que funcionaram no passado ao problema corrente (veja figura 2.4 na página 19). Subjacente a este enfoque está a suposição de que proble- mas cuja descrição possui forma similar apresentam solu- 18 Ch.G.v.Wangenheim e A.v.Wangenheim O que é Raciocínio Baseado em Casos? ções similares. Conseqüentemente soluções de problemas prévios similares ao atual são um ponto de partida útil para a soluções de um novo problema. O Ciclo do RBC O modelo mais aceito para o processo de RBC é o Ciclo de RBC proposto por Aamondt e Plaza [AP94], que engloba um ciclo de raciocínio contínuo composto por quatro tare- fas principais (veja também figura 2.4 na página 19): • recuperar o(s) caso(s) mais similar(es) da base de casos; • reutilizar este(s) caso(s) para resolver o problema; • revisar a solução proposta; e • reter a experiência representando o caso atual (ou partes desta experiência) para reutilização futura. Dado um novo problema, a base de casos é pesquisada àprocura de tarefas anteriormente resolvidas cuja descrição seja similar à da situação atual. No entanto, essa pesquisa não é realizada com base numa filosofia tudo-ou-nada, como por exemplo, na busca em um banco de dados. Aqui vamos usar uma ordem de preferência que estabelece quais dos casos da base são mais similares ao atual e quais são menos. A idéia é que a solução de um caso suficientemente similar ao atual poderá ser reutilizada também para sua solução. Esta similaridade é determinada por meio da medida de similaridade. Medida de Similaridade A medida de similaridade define como será calculada a simi- laridade entre a situação atual e um determinado caso na base de casos, sendo aplicada repetidamente, par a par, no cálculo da similaridade entre a descrição de problema do caso atual e a descrição de cada caso na base de casos. Feito isto, os casos na base de casos são ordenados de acordo com o seu valor de similaridade e o(s) caso(s) mais simi- lar(es) é(são) sugerido(s) como solução potencial para o pro- blema presente. Adaptação A solução dos casos recuperados é então transferida para a situação presente. Se necessário, a solução recuperada é adaptada para que satisfaça completamente os requisitos da O ciclo de RBC também é chama- do de 4R [AP94]. Uma versão avan- çada deste ciclo, que enfoca mais na parte da manu- tenção de um sis- tema de RBC, é chamada de 6R [Max00]. Ela sepa- ra a parte da apli- cação: • recuperar • reutilizar • revisar do processo da manutenção: • reter • revisar Raciocínio Baseado em Casos 19 Como Funciona RBC? situação presente. Isto corresponde a uma reutilização com adaptações. Neste passo, os mais variados graus de modifica- ção podem ser realizados, utilizando-se diferentes técnicas de adaptação, que vão desde a simples cópia da solução até adaptações realizadas conforme complexas regras que refle- tem um modelo do domínio de aplicação do sistema de RBC em questão. RevisãoNo passo seguinte, a solução que foi adaptada é validada e, se necessário, corrigida. Este passo representa uma parte essencial do processo de aprendizado humano: a confirma- ção de uma solução plausível para um problema. Critérios para esta revisão da solução podem ser a correção e quali- dade da solução, bem como critérios específicos da aplica- Figura 2.4 Ciclo do Raciocínio Baseado em Casos [AP94]. problema (novo caso) solução confirmada solução adaptada RECUPERAÇÃO REÚSOREVISÃO RETENÇÃO caso armazenado BASE DE CASOS caso(s) mais similar(es) 20 Ch.G.v.Wangenheim e A.v.Wangenheim O que é Raciocínio Baseado em Casos? ção em questão, como a facilidade de compreensão da solução por parte do usuário ou a quantidade de esforço para implementar-se a sugestão sugerida. A verificação da solução é, em muitos casos, realizada durante sua aplicação na prática, embora possa ser substituída por uma simulação. Aprendizado e integração de conhecimento Em um sistema de RBC, raciocínio e aprendizado estão inti- mamente ligados. Toda vez que um problema é resolvido, a nova experiência pode ser retida e integrada na base de casos, tornando-a imediatamente disponível para problemas futuros. Dessa forma, o conhecimento presente em um sis- tema de RBC é continuamente atualizado, à medida que novas experiências dão origem a novos casos armazenados na base de casos. Além do conhecimento específico repre- sentado pelo caso, informações sobre os processos de recu- peração e adaptação que foram executadas para a geração deste novo caso também podem ser capturados, de forma a prover informações sobre a performance do sistema de RBC. Com base nesta informação, um sistema de RBC pode ser continuamente melhorado por meio, por exemplo, da modificação da estrutura de representação dos casos, das medidas de similaridade ou do mecanismo de adaptação de uma resposta. Intervenção humana Este ciclo raramente ocorre sem a intervenção humana. Muitas ferramentas para desenvolvimento de sistemas de RBC, agem primariamente como sistemas de recuperação e reutilização de casos, por exemplo, numa loja virtual. Neste caso, os outros passos do ciclo, como a revisão de casos, são deixados a cargo do usuário, e a retenção de novos casos, por exemplo, deixada a cargo do Engenheiro de Conheci- mento humano responsável pela manutenção do sistema. 2.6. EXEMPLO DE RBC Nesta seção ilustraremos o processo de RBC com um exemplo simples de um sistema de RBC que trabalha ofere- cendo diagnóstico para problemas em impressoras. Nesta aplicação, um caso armazenado na base de casos representa uma descrição de uma situação de diagnóstico Raciocínio Baseado em Casos 21 Exemplo de RBC particular, a descrição de um problema que ocorreu no pas- sado e a forma como foi resolvido. O caso é representado registrando vários atributos e seus respectivos valores como ocorreram naquela situação. Por exemplo, a descrição de caso inclui sintomas observados (por exemplo, impressora não imprime) e parâmetros contextuais (por exemplo, modelo da impressora) (veja figura 2.2 na página 14). Pode também incluir parâmetros medidos (por exemplo, luz de estado do papel). A solução colocada no caso descreve o diagnóstico (por exemplo, cartucho colorido vazio) e as operações de manu- tenção requeridas para a situação (por exemplo, trocar cartu- cho de tinta colorida). Com a utilização do RBC, pode-se fazer uso da experiência capturada na base de casos para resolver novos problemas de diagnóstico. Se um novo problema de diagnóstico não resolvido é encontrado, um caso passado que seja similar ao novo problema conterá, muito provavelmente, um con- junto de operações de manutenção adequado. Como definimos um problema em RBC? Vamos assumir que um cliente que está encontrando um problema com a sua impressora telefona ao serviço de aten- dimento ao consumidor do fabricante de impressoras Robotron. Resolver o novo problema de diagnóstico para descobrir qual poderá ser a causa do mau funcionamento da impressora e qual o procedimento de eliminação do pro- blema implica observar primeiramente a situação presente. O cliente descreverá o seu problema ao atendente (por exemplo, impressora não imprime a cores). Dado este sintoma, o funcionário do serviço de atendimento ao consumidor poderá perguntar mais alguns parâmetros de contexto (por exemplo, modelo da impressora), bem como alguns parâmetros medidos (por exemplo, situação da luz de estado da tinta colo- rida). Estas observações providas pelo cliente durante o assessoramento da situação definem um novo problema (veja figura 2.5). Na realidade, uma descrição do problema é um caso sem a parte que descreve a solução. A descrição do problema não necessariamente precisa ser completa. Por exemplo, informação sobre o estado do interruptor não foi solicitada ao cliente e, conseqüentemente, o valor para este 22 Ch.G.v.Wangenheim e A.v.Wangenheim O que é Raciocínio Baseado em Casos? atributo não é conhecido. Como é encontrado um caso similar em RBC ? Assim, para prover uma solução adequada ao problema des- crevendo-se a situação dada, o objetivo é identificar a causa e sugerir uma solução efetiva. Para tanto, a informação adquirida durante o diálogo com o cliente, para descrever um novo problema, é comparada com os casos armazena- dos na base de casos. Para cada caso na base, um valor de similaridade (VS) é calculado, com a utilização da medida de similaridade. Este valor de similaridade indica o grau de semelhança entre o problema presente e um caso específico da base de casos. O valor de similaridade é expresso como número real entre 0.0 (nenhuma semelhança) e 1.0 (igual- dade) e é calculado para cada caso na base conforme os valores dos atributos. Problema (Sintomas): Descrição: Não imprime em cores Modelo: Robotron 200 Luz de estado do papel: apagadaLuz de estado da tinta colorida: acesa Luz de estado da tinta preta: apagada Estado do interruptor: não conhecido CASO 1 CASO 2 valor de similaridade? valor de similaridade? Figura 2.5 Qual caso deve ser reutilizado para a solução? Raciocínio Baseado em Casos 23 Exemplo de RBC Similaridade global versus local A similaridade pode ser calculada globalmente para um caso, por exemplo, contando os atributos do caso que apre- sentam valores iguais, ou também localmente considerando similaridades entre os valores de um atributo. Neste caso, para cada um dos atributos de uma descrição de problema, um valor de similaridade local é atribuído. Por exemplo, vamos assumir que a empresa tem 4 modelos diferentes de impressoras, dois da primeira geração (Robotron 100 e Robotron 200) e dois da segunda geração (Robotron Matrix 600 e Robotron Matrix 800). Dessa forma, os modelos da mesma geração são considerados semelhantes (valor de similaridade 0.8), e os modelos de gerações diferentes são considerados bem menos similares (valor de similaridade 0.2). O valor da similaridade entre os modelos de impresso- ras pode ser modelado explicitamente por meio de uma tabela que define o valor de similaridade local para todas as combinações de valores entre a situação atual e um caso na base (veja tabela 2.1). O valor da similaridade global, pode ser calculado com base nos valores de similaridade locais. Aqui, nós podemos tam- bém utilizar pesos para indicar níveis de importância dife- rentes para a identificação de soluções úteis. Por exemplo, a similaridade entre a descrição do problema atual e um caso na base é mais importante do que o modelo da impressora (veja também a tabela 2.2). Uma forma simples de calcular o valor da similaridade glo- bal é a medida ponderada. Utilizando a medida ponderada, somamos os valores de similaridade local multiplicado pelo peso respectivo, e dividimos o resultado pela soma total de Valor de similaridade local Robotron 100 Robotron 200 Robotron Matrix 600 Robotron Mat 800 Robotron 100 1.0 0.8 0.2 0.2 Robotron 200 0.8 1.0 0.2 0.2 Robotron Matrix 600 0.2 0.2 1.0 0.9 Robotron Matrix 800 0.2 0.2 0.8 1.0 Tabela 2.1 Exemplo da medida de similaridade local para o modelo de impressora. 24 Ch.G.v.Wangenheim e A.v.Wangenheim O que é Raciocínio Baseado em Casos? pesos, para normalizar o valor de similaridade local. Como calculamos a similaridade? Veja abaixo os cálculos de valores de similaridade, dada a descrição do problema atual com os dois casos na base. Em relação aos valores de similaridade, sistemas de RBC induzem uma ordem parcial entre os casos da base de casos e sugerem o mais similar, ou o conjunto dos mais similares, a partir da base de casos, como uma solução potencial para a situação presente. Esta fase corresponde ao processo cogni- tivo humano de relembrar com o objetivo de encontrar uma situação já vivida a mais similar possível à confrontada atual- mente. Comparando dois casos Por exemplo, se tomarmos um outro problema descre- vendo uma situação em que a impressora não imprime a cor e dois casos da base de casos, podemos considerar o caso 2 como mais similar ao problema do que o caso 1 (veja figura Atributos Importância (peso) Situação atual Caso 1 da Base de Casos Valor da similaridade local Descrição alta (5) Impressora não imprime em cores Impressora não funciona 0 Modelo baixa (1) Robotron 200 Robotron Matrix 600 0.6 (similar) Luz de estado do papel média (2) apagada apagada 1.0 (igual) Luz de estado da tinta colorida média (2) acesa apagada 0 Luz de estado da tinta preta média (2) apagada apagada 1.0 (igual) Estado do interruptor média (2) não conhecido ligado 0 Valor da similaridade global: (5*0+1*0.6+2*1.0+2*0+2*1.0+2*0)/(5+1+2+2+2+2) = 0.3 Tabela 2.2 Exemplo do cálculo de similaridade (situação atual/caso 1 da Base de Casos). Raciocínio Baseado em Casos 25 Exemplo de RBC 2.3 na página 16), uma vez que seu valor de similaridade é 0.5, enquanto o valor da similaridade do caso 1 com a situa- ção atual é de 0.3 (veja tabela 2.2 e tabela 2.3). Isto sugere o caso 2 como solução potencial para o problema presente. O que fazemos quando nenhum caso é igual ao da situação atual? O caso recuperado acima, no entanto, não preenche com- pletamente os requisitos do problema presente. Por exem- plo, o sintoma do caso recuperado é “impressora não imprime em preto”, e o problema real é que ela não imprime em cores. Portanto, a solução recuperada tem de ser adequadamente adaptada para efetivamente resolver o problema corrente (veja figura 2.6). Em nosso exemplo, o diagnóstico e as ações de manutenção devem ser adaptadas substituindo se o «cartucho preto» pelo «cartucho colorido». Como resultado do processo de recuperação e de adapta- ção, a solução final sugerida para a situação, então, será a “troca do cartucho colorido”, como mostra a figura 2.6. Atributos Importância (peso) Situação atual Caso 2 da Base de Casos Valor da similaridad local Descrição alta (5) Impressora não imprime em cores Impressora não imprime 0.9 (muito similar) Modelo baixa (1) Robotron 200 Robotron Matrix 800 0.6 (similar) Luz de estado do papel média (2) apagada apagada 1.0 (igual) Luz de estado da tinta colorida média (2) acesa apagada 0 Luz de estado da tinta preta média (2) apagada acesa 0 Estado do interruptor média (2) não conhecido ligado 0 Valor da similaridade global: (5*0.9+1*0.6+2*1.0+2*0+2*0+2*0)/(5+1+2+2+2+2) = 0.5 Tabela 2.3 Exemplo do cálculo de similaridade (situação atual/caso 2 da Base de Casos). 26 Ch.G.v.Wangenheim e A.v.Wangenheim O que é Raciocínio Baseado em Casos? Armazenar um novo caso Se o novo diagnóstico e a respectiva solução adaptada suge- rida estiverem corretos, esta experiência recém adquirida (veja figura 2.7) pode ser armazenada como um novo caso na base de casos. Este exemplo descreve o ciclo de RBC para tarefas de diag- nóstico e mostra como o RBC pode ser aplicado de forma simples para realizar tarefas de raciocínio complexo em domínios de aplicação caracterizados por apresentarem conhecimento incompleto, inconsis-tente e pela necessidade da evolução contínua de uma base de conhecimento. Figura 2.6 Exemplo de adaptação de um caso recuperado. Problema (Sintomas): Descrição: Não imprime em cores Modelo: Robotron 200 Luz de estado do papel: apagada Luz de estado da tinta colorida: acesa Luz de estado da tinta preta: apagada Estado do interruptor: não conhecido CASO 2 Problema: Não imprime em preto Modelo: Robotron Matrix 800 Luz de estado do papel: apagada Luz de estado da tinta colorida: apagada Luz de estado da tinta preta: acesaPr ob le m a/ Si nt om as Diagnóstico: Cartucho de tinta preta vazio Ação: Troca do cartucho de tinta preta So lu çã o Como adaptar a solução do caso recuperado para satisfazer a situação atual? Diagnóstico: Cartucho de tinta colorida vazio Ação: Troca do cartucho de tinta colorida N ov a So lu çã o Raciocínio Baseado em Casos 27 Como Encontrar o Caso mais Similar? 2.7. COMO ENCONTRAR O CASO MAIS SIMILAR? O objetivo da recuperação de casos, vista em detalhes nos capítulos 7 e 8, é encontrar um caso ou um pequeno con- junto de casos na base de casos que contenha uma solução útil para o problema ou situação atual. Por exemplo, dada a descrição de um problema ocorrido com uma impressora, um sistema de RBC deveria ser capaz de recuperar um caso que descreve uma solução apropriada para o problema (por exemplo, trocar o cartucho de tinta). Em contraste com os Sistemas de Gerência de Bancos de Dados, em que os casos podem ser recuperados somente se o problema presente já estiver representado deforma exata no banco de dados, os Sistemas Baseados em Casos utili- zam a noção de similaridade para serem capazes de realizar casamentos inexatos entre descrições de problemas e casos armazenados na base. A similaridade dirige a recuperação Isto significa que a finalidade do processo de recuperação é encontrar a situação já resolvida, representada na base de casos, que mais se assemelha ao problema atual. A similari- dade é descrita por meio de uma medida de similaridade predefinida. Em princípio, o que se faz é aplicar uma função para o cálculo dessa medida de similaridade em relação ao problema atual a todos os casos na base de casos. Em Figura 2.7 Exemplo do novo caso incluído na base de casos. CASO 3 Problema: Não imprime em cor Modelo: Robotron 200 Luz de estado do papel: apagada Luz de estado da tinta colorida: acesa Luz de estado da tinta preta: apagadaPr ob le m a/ Si nt om as Diagnóstico: Cartucho de tinta colorida vazio Ação: Troca do cartucho de tinta colorida So lu çã o 28 Ch.G.v.Wangenheim e A.v.Wangenheim O que é Raciocínio Baseado em Casos? seguida, os casos são ordenados de acordo com a similaridade ca lada e o caso ou casos mais similares retornam ao usuário. A sim ridade é, portanto, calculada a partir da definição de como rea este cálculo e da descrição do caso atual. Similaridade indica utilidade No capítulo 6 serão discutidos detalhadamente todos os aspecto definição de uma medida de similaridade. Nesse contexto, va elaborar a relação entre a utilidade da solução e a similaridad descrição da situação. A partir daí, introduziremos o conceito índices de casos e descrevemos como estes podem ser determ dos. Vários enfoques de medidas de similaridade serão descrit exemplificados, e sua fundamentação matemática, explicada detalhes. Isto inclui tanto medidas de similaridade global diferentes tipos de representações de casos, como representaç baseadas em pares atributo-valor e representações orientadas a o tos, quanto medidas de similaridade local para determinadas e dades de informação constituindo partes de casos. Exem práticos para medidas de similaridade local sobre diversos tip base, como número, símbolos e strings serão apresentados. Recuperação é iniciada com uma descrição parcial do caso atual O processo de recuperação de casos similares a partir da base casos é iniciado com uma descrição (parcial) do problema presen termina quando um caso prévio ou conjunto de casos prévios satisfaz a busca é encontrado. As três tarefas em que a recupera se divide são denominadas assessoramento da situação, casamen seleção, e são executadas nesta ordem. Estas tarefas são aqui de tas brevemente. Serão detalhadas no capítulo 7: • O assessoramento da situação objetiva produzir uma cons representada por um conjunto de descritores da situação problema presentes. Nesta parte do processo, um sistema RBC interage com o usuário para adquirir um conjunto mín de dados, para poder gerar a sua primeira consulta. • O objetivo do processo de casamento de casos é o de reto um conjunto de casos que sejam suficientemente similares ao consulta, dado um limiar de similaridade mínima de algum t Nesta parte do processo, algoritmos de busca específicos pa tipo de organização de base de casos utilizado agem sob coleção de casos. • A tarefa de seleção de casos trabalha sobre o conjunto de c recuperados e escolhe o melhor ou melhores casamentos, apresentá-los ao usuário. Nesta parte do processo, heuríst Raciocínio Baseado em Casos 29 Vantagens e Limitações do RBC adicionais que não fazem parte da medida de similaridade podem ser aplicadas sobre o conjunto resultante do casamento. Levantamento dirigido de dados Não há necessidade de que essas tarefas sejam executadas apenas uma vez, o processo pode ser realizado de forma repetida, em interação com o usuário no sentido de refinar a consulta a cada vez que a repetimos. Um exemplo é um sis- tema de RBC para o diagnóstico médico, em que um usuá- rio entra com alguns dados iniciais em uma situação desconhecida e os resultados da primeira consulta sugerem um conjunto de atributos cujo valor ainda é desconhecido mas que são importantes em todos os casos recuperados. Isto pode sugerir ao médico quais exames serão realizados com o pacientes, a seguir, para restringir e melhorar a busca em uma segunda consulta. Isto se chama levantamento de dados dirigido. É muito importante em aplicações de RBC nas quais uma situação deve ser diagnosticada mas nem todos os dados são conhecidos. Em alguns casos, será reali- zada diretamente no assessoramento inicial da situação. Diferentes métodos de recuperação podem ser usados O processo de recuperação de casos pode ser implemen- tado através dos mais variados métodos computacionais. Detalhes relativos aos passos do processo de recuperação são descritos no capítulo 6. O enfoque mais simples é a recuperação seqüencial, em que um valor de similaridade é calculado seqüencialmente para todos os casos armazena- dos na base. Métodos complexos utilizam estruturas de indexação especialmente desenvolvidas para RBC, como as árvores k-d. 2.8. VANTAGENS E LIMITA- ÇÕES DO RBC O Raciocínio Baseado em Casos tornou-se parte integrante da caixa de ferramentas da Inteligência Artificial. O princi- pal ponto a favor do RBC é que ele mimetiza a forma como as pessoas relembram de muitas soluções de problemas. No passado, sistemas baseados em conhecimento enfoca- ram principalmente a utilização de conhecimento generali- zado. Existem várias abordagens de IA para sistemas 30 Ch.G.v.Wangenheim e A.v.Wangenheim O que é Raciocínio Baseado em Casos? baseados em conhecimento com essa característica, como siste baseados em regras, redes semânticas ou sistemas baseados em q dros. RBC, por outro lado, é um paradigma de solução de problemas na maioria de seus aspectos é fundamentalmente diferente outras técnicas da Inteligência Artificial. Em vez de basear-se un mente em conhecimento geral do domínio de um problema, ou realizar associações ao longo de relacionamentos generaliza entre descritores de problemas, o RBC é capaz de utilizar de fo explícita conhecimento específico sobre situações concretas vive adas anteriormente na forma de casos. RBC, no entanto, é um campo que foi influenciado por várias ou áreas, como por exemplo, ciências cognitivas, sistemas baseados conhecimento, aprendizado de máquina, bases de dados, recup ção de informações e redes neurais. Existe também uma série pontos em comum com campos como reconhecimento de padr incerteza e estatística. Seres humanos são solucionadores de problemas extremam robustos e, à medida que sua experiência cresce, capazes de reso de forma rotineira e com crescente qualidade, problemas mal de dos e com conhecimento incompleto. Esta qualidade é altam desejável em sistemas inteligentes reais. Abordagens tradicionai IA, sistemas de bancos de dados e de recuperação de informaç porém, têm falhado em satisfazer esta expectativa. O RBC é u tecnologia capaz de superar alguns desses problemas [Lea96]. RBC x bancos de dados Sistemas de gerência de bancos de dados (SGBD) têm sido la mente utilizados, na prática, para o armazenamento estruturado recuperação baseada em consultas de grandes quantidades de in mação. As maiores vantagens dos SGBDs são a sua capacidad interrelacionar conjuntos de itens e de acessar rapidamente gran quantidades de dados. Em comparação com o RBC, bancos de dados são projetados realizar correspondências exatas entre consultas e informaç armazenadas, enquanto o objetivo de um sistema de RBC é ju mente realizar acessos com base em correspondências inex [Lea96]. Em muitas aplicações reais, casos que correspondem ex mente a uma nova situação podem não ser encontrados em u biblioteca de casos. Em domínios em que situações assim ocorrsistemas de bancos de dados não fornecem uma solução adequa Raciocínio Baseado em Casos 31 Vantagens e Limitações do RBC RBC x recuperação de informações A Recuperação de Informações (RI) é uma área onde itens de conhecimento armazenados sob forma textual são inde- xados e recuperados por meio de termos. Termos são pala- vras ou frases extraídas de um item de conhecimento, expressam o assunto principal desse item. Pode-se associar pesos a termos para expressar sua importância relativa na indexação. Embora a RI ofereça máquinas de recuperação e indexação de informações genéricas, que podem ser utilizadas para um amplo escopo de aplicações, a RI apresenta sérias limitações no que diz respeito à acurácia da recuperação [KLG98]. Em grandes bases de conhecimento textual, a recuperação está limitada à experiente manipulação de palavras-chave, o que pode ser um grande problema quando o usuário é inexperi- ente na área do conhecimento armazenado. Outro pro- blema é a falta de semântica associada aos termos e a inexistência de representação de relacionamentos entre dife- rentes termos [SM83]. Outro problema da RI é que a defini- ção de quais termos serão índices tem de ser realizada manualmente. Comparando RI e RBC, podemos dizer que ambos perse- guem os mesmos objetivos e abordagem básicos, enfo- cando, em recuperação de informações, relevância de aspectos dessa informação e consultas simples [KLG98]. No entanto, no que diz respeito à estruturação dos dados e do conhecimento armazenado, ambas as tecnologias dife- rem drasticamente. Sistemas de RI, além de possuírem mecanismos de recuperação extremamente mais simples e menos flexíveis que o RBC, não possuem capacidade de adaptação de solução, e recuperam informação sem nenhum tipo de crítica. Aquisição do conhecimento Sistemas baseados em conhecimento tradicionais armaze- nam conhecimento sob forma de regras ou modelos gerais de conhecimento. Um grande problema aqui é: como pro- ver as regras das quais o sistema depende? O processo de aquisição de conhecimento pode ser trabalhoso e pouco confiável, pode ser difícil expressar as regras e mais difícil 32 Ch.G.v.Wangenheim e A.v.Wangenheim O que é Raciocínio Baseado em Casos? ainda garantir que elas ofereçam a performance necessária. Em alguns domínios, mesmo o conhecimento de cunho geral pode ser de difícil formulação, como áreas do conheci- mento ainda imaturas e pouco delimitadas da medicina, ou o número de regras pode ser grande demais para poder ser gerenciado. Além desses fatores, é muitas vezes difícil, para os especia- listas, expressar o conhecimento tácito, adquirido de forma empírica durante anos de trabalho, sob a forma de regras. É muito mais fácil expressar esse conhecimento sob a forma de casos concretos, expressivos, que eles encontraram no passado. Além disso, após o esforço de engenharia de casos inicial, torna-se muito mais fácil melhorar a perfomance de um sistema aumentando sua base de casos do que tentar definir regras a mais, o que facilita também a tarefa posterior de manutenção do conhecimento. Manutenção do conhecimento Sistemas baseados em conhecimento são de difícil manuten- ção, uma vez que muitas interdependências podem existir entre regras e os efeitos da modificação de uma regra são dificilmente perdidos. Além disso, a representação do conhecimento sob a forma de regras nem sempre reflete a forma de pensar do usuário, pois muitas regras para funcio- narem no sistema, às vezes são formuladas de uma maneira difícil de se entender. O RBC oferece benefícios consideráveis para a tarefa de manutenção do conhecimento, pois novos casos podem ser facilmente adicionados à base de casos e uma inconsistência entre casos não inviabiliza o funcionamento do sistema. Como os sistemas de RBC realizam aprendizado incremen- tal, um aplicativo pode ser instalado apenas com um pequeno conjunto de “casos-semente” e melhorar sua per- formance com o uso. Recuperação baseada em similaridade Em muitos domínios de aplicação é improvável encontrar conhecimentos que satisfaçam completamente os requisitos de uma nova situação. SGBDs e RI são projetados para recuperar informações Raciocínio Baseado em Casos 33 Vantagens e Limitações do RBC com base em correspondência exata. A filosofia dos siste- mas de RBC é recuperar o caso “mais parecido” ao da situa- ção descrita, mesmo que este caso possua conflitos com alguns valores colocados pelo usuário. Outro problema é que a recuperação em RI e SGBDs às vezes retorna excesso de informação (2000 itens que satisfi- zeram os termos da consulta...) ou absolutamente nenhuma informação. Em RBC pode-se, por exemplo, especificar que um sistema retorne apenas os “10 casos mais similares”, o que torna o resultado de uma consulta muito mais digesto para o usuário. Qualidade das soluções em constante evolução Na prática é muito comum que os domínios para os quais sistemas baseados em conhecimento são desenvolvidos não tenham sido ainda completamente compreendidos, sendo a modelagem do conhecimento necessariamente incompleta. Em situações assim, soluções sugeridas por coleções de casos refletem o que de fato ocorre nesse domínio, sem ten- tar postular teorias, servindo como evidência para tomada de decisões. Isto também é de suma importância em domí- nios em constante mutação, como a jurisprudência, por exemplo. Aceitação por parte do usuário Outro problema-chave no desenvolvimento de aplicações de Inteligência Artificial de sucesso é a sua aceitação por parte do usuário. Para confiar nas soluções geradas por um sistema, o usuário deve ser convencido de que foram gera- das de forma adequada. Utilizando-se casos como justifica- tiva para conclusões, isto se torna fácil e o usuário pode servir como um bem informado juiz final, para aceitar ou rejeitar uma conclusão do sistema. 34 Ch.G.v.Wangenheim e A.v.Wangenheim O que é Raciocínio Baseado em Casos? 329 13 ÍNDICE REMISSIVO A Acurácia 256 Adaptação 18 Adaptação automática de casos 203 Adaptação composicional 229 Adaptação da solução 200 Adaptação de casos 200 Adaptação derivacional 214 Adaptação estrutural 213 Adaptação gerativa 214 Adaptação hierárquica 232 Adaptação nula 205 Adaptação substitucional 206 Adaptação transformacional 205 Agência de viagens virtual 283 Algoritmos-IBL 253 Analogia 37 Analogia derivacional 214 Aprendizado 20 330 Ch.G.v.Wangenheim e A.v.Wangenheim Índice Remissivo Aprendizado baseado em casos 250 Aprendizado de instâncias 253 Aprendizado de máquina 50, 244, 250 Aquisição do conhecimento 31 Áreas de aplicação 264 Arquitetura de memória massiva 250 Árvores 95 Árvores k-d 100 Assessoramento da situação 28, 167 Atributos discriminantes 292 Atualizador do descritor conceitual 255 Avaliação de soluções 239 B Base de casos 15 Booleanos 86 C CABATA 205 Call center 275, 276 CAPlan 56, 217, 219, 230, 272 Casamento 28, 171 Case Explorer 299 Case Navigator 302 CASEY 51, 206, 217, 248, 268 Caso 13, 16, 73 CASUEL 62 Categoria 254 CBR-Works 54, 282 CHEF 43, 209, 210, 241, 270 Ciclo do RBC 18, 65 Classe 89, 254 Classificação 264, 265 CLAVIER 206, 212, 270 Coeficiente-S 136 Comércio eletrônico 273, 274, 281 Raciocínio Baseado em Casos 331 Common Query Language 55 Completeza do método de recuperação 177 Componentes básicos de um caso 75 Concept Manager 287 Configuração 264, 268 Consulta da base em CBR-Works 301 Controle baseado em regras 58 Correção do método de recuperação 176 Critérios de indexação 119 Custo de recuperação 183 Custos de incorporação 256 CYRUS 39 D Dados incompletos 138 Dados não-binários 138 Datas 86 DEJA VU 214, 230 Descrição conceitual 254 Descrição da solução 79 Descrição do problema 76, 77 Diagnóstico 81, 201, 238, 264, 266 Discriminant 293 Disponibilização na Web 303 Distânciade Hamming 133 Distância de Manhattan 132 Distância euclidiana 132 Distância geométrica 127 Domínio de aplicação 265 E Edição de atributos em CBR-Works 289 Elemento máximo 150 Elementos básicos do RBC 13 Eliminação de falhas 240 Ensino a distância 279 332 Ch.G.v.Wangenheim e A.v.Wangenheim Índice Remissivo Entidade de informação 97 Erro-a 182 Erro-b 182 Estratégias de adaptação 203 Exemplo de RBC 20 Extração de conhecimento 247 F Função assintótica 145 Função de classificação 255 Função de similaridade 255 Função escada 143 Função linear 144 G Generalidade 256 Gerenciador de tipos em CBR-Works 290 Gerenciamento de conceitos em CBR-Works 288 Gestão do conhecimento 273 Grafos 95 H Help desk 273, 276 HYPO 48, 274 I IBL1 257 IBL2 257 IBL3 259 Igualdade 182 Igualdade parcial 182 Incerteza 163 Inclusão de consulta 149 Indexação 117, 247 Indexação automática 120 Índices 117 Raciocínio Baseado em Casos 333 INRECA 60, 206, 250 Instância 90 Integração de casos 248 Interseção 149 Intervalos 150 J JUDGE 211, 274 Julgamento de similaridade 123 JULIA 44, 270 K KoDiag 59 Kohonen 59 L Levantamento de sintomas dirigido 170 Limitações do RBC 29 M MAC/FAC 178 Mandatory 288 Manutenção do conhecimento 32 Matriz de similaridade 147, 296 MEDIATOR 41 Medida de distância 125 Medida de similaridade 18, 22, 124, 292 Medida de similaridade global 126, 293 Medida de similaridade invariante 135 Medida de similaridade local 141, 294 Memória dinâmica 35 Memória episódica 36 Meta de recuperação 115, 116 Métodos de indexação 119 Métrica 126 Métrica do quarteirão 132 334 Ch.G.v.Wangenheim e A.v.Wangenheim Índice Remissivo MoCAS 217 Modelagem dos casos 284 Modelagem orientada a objetos 93 Modelo de contraste 139 Modelos para determinação de similaridade 126 Monotonicidade 123 N Nearest neighbour 127 Nearest neighbour normalizado 132 Nearest neighbour ponderado 129 Números 86 O One shot replay 218 Ordem de preferência 18 Orenge 68 P PARIS 233, 272 Passos do desenvolvimento da aplicação 283 PATDEX 53, 205, 248, 249, 268 PERSUADER 42, 211 Peso 129, 131, 140, 292 PLAKON 217 Planejadores 221 Planejamento 202, 239, 265, 271 Problema 75 Problema da indexação 247 Problemas super-restringidos 269 Processo de recuperação de casos 166 Processo de retenção 246 Prodigy/Analogy 52, 217, 225, 230, 272 Projeto 265, 268 Projeto baseado em casos 270 Prolog 58 Raciocínio Baseado em Casos 335 Propagação 195 PROTOS 50, 266 PSNL 57 R Raciocínio adversário 273 Raciocínio baseado em casos 1, 10 Raciocínio por analogia 37 Recuperação baseada em similaridade 32 Recuperação com árvores k-d 186 Recuperação completa 176 Recuperação correta 176 Recuperação de casos 165 Recuperação de casos online 306 Recuperação de dois níveis 178 Recuperação de informações 202, 238 Recuperação orientada a índices 184 Recuperação seqüencial 173 Redes de recuperação de casos 96, 192 Redes de recuperação de casos básica 194 Redes neuronais 59, 262 Reflexividade 122 Regra de contraste 139 Reinstanciação 208 Relações composicionais 90 Relações taxonômicas 90 Replay 215 Replay entrelaçado 223 Repositórios de conhecimento 15 Representação do conhecimento 13, 82 Representação não simbólica 60 Representação orientada a objetos 89 Representações atributo-valor 84 Requisitos de armazenamento 256 Resultados 80 Retenção de documentos 245 Retenção de novos casos 243 336 Ch.G.v.Wangenheim e A.v.Wangenheim Índice Remissivo Retenção de soluções de problemas 244 Reutilização de casos 199 Reutilização de soluções conhecidas 111 Revisão de casos 19, 237 Roteiros 36 S Seleção de casos 28, 172 Servidor HTTP 304 Shell de RBC 55 Símbolo não-ordenado 87, 147 Símbolo ordenado 87, 146 Símbolos 86 Símbolos taxonômicos 151 Simetria 122 Similaridade 111, 122 Similaridade de descrições de problema 112 Similaridade de objetos 154 Similaridade entre objetos 154 Similaridade global 23 Similaridade interclasse 158 Similaridade interclasse entre objetos abstratos 161 Similaridade interclasse entre objetos concretos 160 Similaridade intraclasse 158 Similaridade local 23 Similaridade local parcial 183 Similaridade ponderada de conjuntos de atributos 138 Sistema híbrido 59 Sistemas de gerência de bancos de dados 30 Sistemas FAQ 278 Smalltalk 304 Solução 76 Solucionador de problemas gerativo 216 Strings 86, 153 Substituição baseada em casos 211 Substituição baseada em regras 209 Suporte à decisão 264, 272 Raciocínio Baseado em Casos 337 Suporte a vendas 274 Suporte técnico 276 T Tabelas de contingências 133 Tarefas analíticas 264 Tarefas sintéticas 264 Taxa de aprendizado 256 Taxonomias 87 Teste esfera-dentro-de-limites 191 Teste esfera-intersecionando-limite 190 TinyHTTPServer 304 Tipo conjunto 148 Tipo escalar 146 Tipos 85 Tipos de retenção 244 Transitividade 122 Tutoriais 264, 279 Type Manager 290 U Utilidade 28, 112 V Valor de similaridade 22 Valor preditivo dos atributos 88 Vantagens do RBC 29 Vocabulário 16 338 Ch.G.v.Wangenheim e A.v.Wangenheim Índice Remissivo View publication statsView publication stats Blank Page