1 INTRODUÇÃO
2.3 RACIOCÍNIO BASEADO EM CASOS
2.3.1 Representação do Conhecimento
A principal forma de representação do conhecimento em sistemas de RBC é através de casos. Um caso é uma unidade contextualizada de conhecimento que representa uma experiência (KOLODNER, 1993 apud WANGENHEIM; WANGENHEIM, 2003).
Tipicamente, um caso reúne em seu contexto, o par problema/solução, no que inclui: a descrição de uma situação (problema) e as experiências acerca da sua resolução (solução) (WANGENHEIM; WANGENHEIM, 2003).
Figura 3 - Exemplo simplificado de caso
Fonte: Wangenheim e Wangenheim (2003, p. 11).
A Figura 3 apresenta um exemplo de caso que ilustra o modelo de representação do conhecimento em RBC.
Para Kolodner (1993 apud WANGENHEIM; WANGENHEIM, 2003), a representação dos casos apresenta três componentes básicos que são: a descrição do problema, a descrição da solução e a conclusão.
Segundo Barone (2003), a definição destes três componentes:
Descrição do problema: São as características que descrevem o problema de entrada. Tais características podem assumir a forma de nomes, números, funções ou textos que servem para representar características, objetivos, metas, restrições ou condições;
Descrição da solução: São as características que descrevem a solução do caso. A solução do caso é a ação ou conjunto de ações sugeridas pelo sistema que resolvem o problema. A solução pode ainda ser acompanhada de uma justificativa que irá auxiliar o usuário na escolha do caso como solucionador do problema;
Por fim, a coleção de casos de um sistema de RBC é organizada e armazenada em uma base de dados conhecida como Base de Casos que constitui a maior parte da Base de Conhecimento.
2.3.2 Ciclo do RBC
O Ciclo de RBC proposto por Aamondt e Plaza (1994 apud WANGENHEIM; WANGENHEIM, 2003), é um modelo que representa o RBC através de um ciclo de quatro etapas que são: recuperação, reutilização, revisão e retenção.
Figura 4 - Ciclo do Raciocínio Baseado em Casos Fonte: Wangenheim e Wangenheim (2003, p. 15).
2.3.2.1 Recuperação
É o processo de recuperação do caso ou dos casos mais similares da base de casos. A partir de um novo problema, uma busca é realizada na base de casos a procura dos casos cuja descrição seja semelhante a do problema atual. O objetivo é recuperar e disponibilizar ao usuário, todos ou um número limitado de casos mais similares. A ideia é que a solução de um caso suficientemente similar ao atual também poderá ser utilizada para sua solução (WANGENHEIM; WANGENHEIM, 2003).
A similaridade dos casos recuperados é determinada por meio da medida de similaridade e durante o processo de recuperação cada caso tem sua similaridade calculada. Ao final, os casos são ordenados de forma decrescente pelo valor de sua similaridade para que assim o sistema apresente o resultado (WANGENHEIM; WANGENHEIM, 2003).
Conforme Wangenheim e Wangenheim (2003), algumas técnicas de recuperação podem ser utilizadas nos sistemas de RBCs, como por exemplo, a recuperação Sequencial, a recuperação de Dois Níveis, a Orientada a Índices, a recuperação com Arvores k-d e as Redes de Recuperação de Casos.
Para o sistema proposto, a técnica de recuperação escolhida foi a sequencial. Segundo Wangenheim e Wangenheim (2003), na Recuperação Sequencial (RS) a medida de similaridade é calculada sequencialmente para todos os casos da base.
Segundo Wangenheim e Wangenheim (2003, p. 150):
O processo de recuperação sequencial permite a determinação dos m casos mais similares. Para a determinação de uma relação de preferência específica para a situação aplica-se o conceito de similaridade do sistema sucessivamente a cada um dos casos da base de casos. Todos os casos pertencentes à base são então ordenados de acordo com os m casos mais similares. O método de recuperação sequencial é um método de aplicação universal e extremamente fácil de ser implementado para a determinação de casos similares.
As principais vantagens do uso da RS estão na simplicidade de implementação e por ser um processo comprovadamente completo e correto (WANGENHEIM; WANGENHEIM, 2003).
Para o sistema proposto, um método adotado para reduzir o montante de casos candidatos que são comparados, foi dispor um filtro de pesquisa no motor de busca, pois o
cálculo da similaridade não deve necessariamente ser aplicado a todos os casos da base durante a busca dos casos mais similares. Desta forma, um caso quando cadastrado, pode ser categorizado de acordo com o tipo de problema que representa como, por exemplo, software,
hardware, e-mail, impressão, etc. Assim o usuário poderá antes de executar a busca, delimitar
a consulta para uma categoria de casos específica o que trará um proporcional ganho de desempenho no processo de recuperação.
Figura 5 - Recuperação de casos Fonte: Elaboração do autor, 2011.
A Figura 5 sintetiza o processo de recuperação de casos no que compreende a consulta na base de casos, o cálculo da similaridade e o ranqueamento dos casos.
2.3.2.2 Reutilização e Adaptação
A reutilização consiste principalmente da adaptação da solução do caso anterior ao caso atual e as técnicas tratadas na reutilização de casos tentam resolver os problemas
envolvidos na adaptação de casos, que são: quais aspectos da situação devem ser adaptados, quais modificações devem ser realizadas para esta adaptação, que método aplicar para realizar a adaptação e como controlar este processo (WANGENHEIM; WANGENHEIM, 2003).
Quando um caso que foi recuperado da base não satisfaz por completo os requisitos do novo problema, pode se tornar necessário adaptar a solução do caso recuperado. Na maioria dos domínios de aplicações RBC, para que se aplique a solução, será suficiente copiar a solução do caso recuperado para o caso atual ou então adaptar o caso recuperado manualmente (WANGENHEIM; WANGENHEIM, 2003).
Para sistemas de RBC que desempenham tarefas analíticas de classificação, diagnóstico ou suporte à decisão, uma estratégia frequentemente utilizada é contornar o problema da adaptação tornando a base de casos o mais completa possível de forma que contenha os relativos casos para os inúmeros tipos de problemas sem que haja a necessidade de adaptação (WANGENHEIM; WANGENHEIM, 2003).
Segundo Wangenheim e Wangenheim (2003), existe uma série de estratégias de adaptação automáticas como, por exemplo, adaptação transformacional, gerativa/derivacional, composicional, hierárquica e nula sendo esta última a escolhida para o sistema.
2.3.2.2.1 Adaptação Nula
Conforme Wangenheim e Wangenheim (2003), neste tipo de adaptação, nada é adaptado e a solução apresentada pelo caso recuperado é tomada total ou parcialmente para resolver o problema atual sem a necessidade de modificações. “A maioria dos sistemas de RBC comerciais atuais trabalham apenas com adaptação nula.” (WANGENHEIM; WANGENHEIM, 2003).
2.3.2.3 Revisão
Após a solução ter sido adaptada, faz-se necessário que esta seja revisada e se preciso for, corrigida. Os critérios para revisão da solução podem ser a qualidade desta solução, a facilidade de compreensão desta solução por parte do usuário ou a quantidade de esforço para implementar esta solução (WANGENHEIM; WANGENHEIM, 2003).
O processo de revisão pode ocorrer de forma automática por parte do sistema de RBC ou com a participação do Engenheiro de Conhecimento.
Segundo Wangenheim e Wangenheim (2003), a etapa de revisão consiste em duas tarefas principais que podem também ser verificadas no fluxograma a seguir:
Aprender e reter na base, se a solução gerada pelo reuso é considerada correta;
Caso contrário, reparar a solução para o caso utilizando conhecimento específico sobre o domínio ou as informações fornecidas pelo usuário.
Figura 6 - Fluxograma: Revisão do caso recuperado Fonte: Elaboração do autor, 2011.
Para o sistema proposto, a etapa de revisão de um novo caso ocorre de forma manual sob a responsabilidade do Engenheiro do Conhecimento ou pessoa responsável pela manutenção da base de conhecimento.
2.3.2.4 Retenção
Assim que um problema é resolvido, a nova experiência poderá ser incorporada à base de casos de forma que o conhecimento presente do sistema é continuamente atualizado e expandido. Tendo concluído o processo de adaptação e revisão do novo caso, se a solução proposta for aceita, esta poderá ser retida na base de casos, enriquecendo ainda mais a atual base de conhecimento do sistema. Após a incorporação desta solução na base de casos, esta
estará disponível para utilização em problemas futuros (WANGENHEIM; WANGENHEIM, 2003).
Geralmente o processo de retenção ocorrerá com a participação humana. “A decisão de reter as soluções propostas pelo sistema RBC, provavelmente terá a participação do usuário, o que não deve ser visto como uma fraqueza do sistema RBC, mas sim como uma maneira de encorajar a colaboração humana no apoio à tomada de decisão” (WATSON, 1997 apud BARONE, 2003, p. 211).
Segundo Wangenheim e Wangenheim (2003), é possível distinguir três tipos básicos de retenção:
Sem retenção de casos: Aplicado nos sistemas de RBC mais simples onde o domínio de aplicação é bem compreendido e modelado de forma satisfatória já durante o desenvolvimento do sistema;
Retenção de soluções de problemas: Assim que um novo problema é resolvido, a experiência é então retida de forma a auxiliar na solução de problemas futuros. Num sistema de help desk, por exemplo, cada chamado resolvido de forma satisfatória pode vir a ser um caso incorporado da base. Esta forma de aprendizado é uma das maiores vantagens específicas do RBC, pois o aprendizado e a aplicação do conhecimento aprendido não são separados, mas sim integrados;
Retenção de documentos: O novo conhecimento é adquirido de forma assíncrona ao processo de solução de problemas de forma que é retido quando se encontrar disponível. Aqui a fase de retenção de casos é separada do processo de solução de problemas e depende da disponibilidade de conhecimento sobre o domínio. No caso de um sistema de suporte à decisão na área jurídica, por exemplo, uma nova jurisprudência pode ser adicionada na base de casos assim que disponível.
Para o sistema proposto, como será visto mais adiante, cada chamado de help desk que é resolvido ou cada dúvida de usuário que é postada referente a um problema cuja solução não foi encontrada na base de conhecimento, poderá separadamente do processo de solução, conforme a avaliação do Engenheiro do Conhecimento vir a se tornar um caso da base de conhecimento, o que caracteriza dois tipos de retenção: retenção de solução de problemas e retenção de documentos.
Além disso, o sistema proposto utiliza um tipo de Raciocínio Baseado em Casos denominado Textual como será visto na próxima seção. Esta técnica de RBC considera casos como documentos.