Segundo AAMODT [1], quando a solução de um caso gerada na fase de reutilização não está correta, nasce uma oportunidade para aprender a partir desta falha. Esta fase é chamada de revisão do caso, que consiste de duas tarefas:
avaliar a solução do caso gerada pela reutilização e, se esta obteve sucesso, aprender (retenção do caso);
reparar a solução do caso usando reconhecimento específico de domínio.
“Sempre que soluções falham e são consertadas é importante armazenar uma ligação entre a solução que falhou e a que finalmente está correta, pois se tivermos o mesmo caso com falhas para ser aplicado novamente em outra solução, o sistema pode observar uma outra falha associada com o caso e generalizar coisas em comum simultaneamente” [3].
2.1.5. Retenção do caso (aprendizagem)Segundo REIS [3], trata-se de incorporar aquilo que é útil de reter do problema resolvido. Após a avaliação e possíveis reparos, efetua-se o aprendizado do sucesso ou das falhas da solução proposta.
Para LEE [2], pode-se empregar a aprendizagem em sistemas de RBC ao nível dos casos e da base de casos. Podendo as bases de casos ser estendidas através de processos incrementais de aprendizagem, uma vez que tarefa e o projeto do sistema permitam isto.
“O processo de aprendizagem deve deixar claro o conhecimento desejado e realizar um conjunto de operações que aumentem as oportunidades de encontrar este conhecimento” [3].
3. O sistema desenvolvido
Após efetuar o levantamento do método de identificação de possíveis suspeitos de crimes, deu-se início ao desenvolvimento do Sistema Inteligente para Apoio a Identificação de Possíveis Suspeitos de Crimes, implementando as etapas do cliclo do RBC, com exceção da revisão e da aprendizagem, as quais não cabem ao sistema, uma vez que este classifica-se como um Sistema de Raciocínio Baseado em Exemplares. A aprendizagem foi implementada indiretamente através do módulo de cadastros do sistema, que permitirá a adição de novos casos (fichas de indiciados) à base de casos.
Para a implementação do sistema, optou-se pela utilização da ferramenta de programação Delphi, em função da flexibilidade no desenvolvimento da interface do usuário, oferecida por esta ferramenta e, ausente na maioria das shells de RBC disponíveis.
Enfatizou-se a interface do usuário, após constatar-se que os investigadores e comissários de polícia, prováveis usuários deste sistema, apresentam pouca experiência no uso de soluções computacionais.
3.1. Aquisição do conhecimentoPara o desenvolvimento de um sistema inteligente, é necessário conhecimento especialista sobre o domínio da aplicação. Para a aquisição de tal conhecimento especialista, faz-se necessária a utilização de um método de extração do conhecimento junto àqueles que o detêm. Portanto, antes da implementação das etapas do cliclo do RBC, propriamente ditas, é necessária a realização da tarefa de aquisição do conhecimento.
Assim sendo, desenvolveu-se junto ao pessoal responsável pela investigação criminal da Delegacia de Polícia de Blumenau, um processo de extração do conhecimento a ser utilizado no sistema. Identificou-se quais os atributos do caso (delinqüente fichado), devem ser armazenados na base de casos.
Utilizou-se para o desenvolvimento da base de casos, segundo sugestão do especialista, um formulário fornecido pelo governo do estado (Anexo I), onde são registradas todas as características físicas do indiciado, bem como fotos deste e informações pertinentes ao(s) crime(s) cometido(s) pelo mesmo.
3.2. Representação dos casosSeguindo com a implementação das etapas do ciclo do RBC , após realizar a aquisição do conhecimento, faz-se necessária a identificação da melhor técnica para a representação dos casos, ou seja, é necessário definir como o sistema irá modelar a memória de casos.
Para o armazenamento físico da memória de casos, utilizou-se a ferramenta de banco de dados Interbase, devido as facilidades de operação da mesma. Além disso, considerou-se também as diversas vantagens relacionadas com desempenho e confiabilidade, no que diz respeito às operações realizadas pelo SGBD da referida ferramenta.
Através de uma combinação de listas encadeadas, o sistema modelará a memória de casos de forma dinâmica (Figura 3), de modo a carregar na memória da máquina apenas os atributos relevantes para o cálculo da similaridade e recuperação dos casos.
Figura 3 – Modelagem dinâmica da memória de casos
3.3. Implementação dos métodos de recuperaçãoDando seqüência a implementação das etapas de desenvolvimento do sistema de RBC, passa-se à tarefa de definição do(s) método(s) de recuperação de casos.
Levando-se em conta o tempo disponível para implementação, bem como a complexidade apresentada por cada um dos métodos de recuperação de casos analisados, chegou-se a uma combinação de dois deles para serem implementados no sistema: o método do Vizinho mais Próximo (Nearest Neighboor) e o método de Contagem de Características (Features Count).
Tal combinação de métodos, permitirá ao usuário do sistema optar por aquele que mais adaptar-se às suas necessidades. Isto é, ao ser consultado sobre qual dos métodos de recuperação deseja utilizar, o usuário receberá uma explicação sobre cada um deles, destacando o tipo de situação a que cada um mais se adapta.
Também ficará a cargo do usuário, a atribuição dos pesos de cada característica do novo caso que ele informar para a recuperação dos casos similares.
3.3.1. Implementação do método do Vizinho mais PróximoDentre as diversas funções para cálculo da distância, optou-se pela utilização da fórmula de cálculo da Distância City-Block, que consiste em calcular o módulo da distância entre cada atributo do novo caso e o atributo correspondente de cada caso armazenado na base.
Neste método, o usuário poderá informar um limiar de similaridade, limitando o número de casos a serem recuperados da base. Desta forma, somente lhe serão listados como resultados os n casos mais similares.
Cada caso listado como resultado da recuperação, mostra, além dos atributos cadastrados na base, o valor da distância entre este caso e o caso de entrada. A listagem de casos mais similares encontra-se ordenada de forma descendente, onde o grau de similaridade diminui a medida que desloca-se em direção ao final da lista.
Para efeito de exemplo do cálculo da similaridade, tomam-se os casos A e B (armazenados na base de casos) e o caso N (caso de entrada ou novo caso). Para cada um dos casos, têm-se os atributos cor dos olhos e altura.
O caso A, representa um indivíduo de olhos azuis e 1.80 de altura. Para o caso B, a cor dos olhos é verde e a altura é 1.50. Para o caso de entrada N, tem-se olhos castanhos e altura igual a 1.70.
Parte-se do princípio de que na etapa de representação, atribuiu-se valores para os atributos, conforme Tabelas 1 e 2.
Cor
|
Valor
|
Preto
|
1
|
Castanho
|
2
|
Azul
|
3
|
Verde
|
4
|
Tabela 1 – Atribuição de valores ao atributo cor dos olhos
Intervalo
|
Valor
|
Até 1.60 m
|
1
|
1.61 – 1.70 m
|
2
|
1.71 – 1.80 m
|
3
|
1.81 – 1.90 m
|
4
|
Acima de 1.90 m
|
5
|
Tabela 2 – Atribuição de valores ao atributo altura
Além de atribuir valores para os atributos dos casos, é necessário determinar o peso de cada atributo (de acordo com a importância que cada um deles representa na recuperação dos casos). Considerando que os pesos atribuídos foram: cor dos olhos 0.7 (70%) e altura 0.3 (30%), parte-se então para a plotagem dos casos num gráfico (Figura 4).
Figura 4 – Plotagem dos casos
Como já foi citado anteriormente, para cálculo das distâncias entre os casos, deve-se calcular a distância entre cada um dos atributos do caso de entrada e o seu correspondente dos casos das bases (Figura 5).
Figura 5 – Cálculo da distância para o caso A.
Calculando-se a distância entre o caso B e o caso N, obtém-se 1.7. Comparando as distâncias entre o caso A e o caso N, e entre o caso B e o caso N, verifica-se que a menor distância é a de A para N. Assim, o vizinho mais próximo do caso N é o caso A, ou seja, o caso mais similar ao caso de entrada (N) é o caso A, cuja distância é 1.
3.3.2. Implementação do método de Contagem de CaracterísticasTambém neste método, tem-se a possibilidade da indicação de um limiar de similaridade. Porém, este limiar é expresso através do percentual mínimo de similaridade.
Do mesmo modo que ocorre no método do Vizinho mais Próximo, os casos resultantes do processo de recuperação são listados de forma decrescente em função da sua similaridade com o caso de entrada.
3.3.3. Implementação do sistemaPara a implementação do sistema, optou-se pela utilização da linguagem Delphi, dispensando o uso de shells de RBC, como já foi citado anteriormente, pela não adequação destas ao tipo de usuário alvo deste projeto.
Para a implementação do banco de dados que armazenará fisicamente a base de casos, utilizou-se o Interbase devido às vantagens de desempenho e segurança apresentadas por este banco de dados, com relação aos demais disponíveis.
Após a escolha das ferramentas a serem utilizadas, deu-se início ao desenvolvimento do sistema, implementando todas as etapas descritas nas seções anteriores deste capítulo.
O sistema dispõe de um menu, através do qual o usuário tem acesso às diversas tarefas disponíveis.
A opção de Cadastros implementa indiretamente, a etapa de aprendizagem do RBC, pois permite que seja feita a manutenção da base de casos, incluindo, alterando ou excluindo casos (registros de indiciados), conforme a necessidade.
Além da opção de Cadastros, o usuário conta ainda com as opções de Configuração e Consulta.
Na opção de configuração, estão disponíveis as tarefas de parametrização do sistema, bem como o Cadastro de Usuários. A esta opção, somente têm acesso os usuários com privilégio de administrador, sendo que os operadores não dispõem da mesma.
É através da opção de Consulta que o sistema fará a recuperação dos casos mais similares àquele entrado pelo usuário para busca.
4. Considerações finaisOs resultados obtidos após o desenvolvimento deste trabalho mostram que os objetivos do Sistema Inteligente para Apoio a Identificação de Possíveis Suspeitos de Crimes foram alcançados, agilizando o processo de identificação de suspeitos, passando a fazer parte do cotidiano do pessoal da investigação criminal.
O aprofundamento dos conhecimentos de Inteligência Artificial, bem como o aprendizado da técnica de Raciocínio Baseado em Casos fizeram deste, um projeto bem sucedido, pois sua aplicação no desenvolvimento do sistema proposto proporcionou uma melhora de eficiência no processo para o qual foi desenvolvido.
Com a conclusão deste trabalho pôde-se notar uma profunda adaptação da técnica de Raciocínio Baseado em Casos a solução de problemas similares ao que este projeto se propôs a solucionar.
Os métodos de recuperação adotados mostraram resultados satisfatórios, porém, sugere-se para futuros trabalhos um estudo de novos métodos a serem disponibilizados no sistema.
Sugere-se também um estudo da viabilidade da disponibilização deste sistema na Internet ou numa Intranet, de acesso restrito a polícia, unificando a base de casos, armazenando-a num servidor central, ao qual todas as delegacias do estado teriam acesso, aumentando as probabilidades de êxito no processo de identificação de suspeitos, visto que o universo de busca seria ainda maior.
5. Referências bibliográficas
[1] AAMODT, Agnar; PLAZA, Enric. “Case-Based Reasoning: Foundational Issues, Methodological Variations, and System Approaches”. 3 jul. 1996.
[http://www.iiia.csic.es/People/enric/AICom.html]. (19 mar. 1999 22:45).
[2] LEE, Rosina Weber. Pesquisa Jurisprudencial Inteligente. Florianópolis, 1998. Tese (Doutorado em engenharia) – Programa de Pós Graduação em Engenharia de Produção PPGEP/UFSC, Universidade Federal de Santa Catarina.
[3] REIS, Lisiane Albuquerque; CARGNIN, Moema Luz. SDDEP – Uma Aplicação na Área Médica Utilizando Raciocínio Baseado em Casos. Florianópolis, 1997. Relatório de Estágio (Graduação em Ciência da Computação) – Centro de Ciências Tecnológicas, Universidade Federal de Santa Catarina.
[4] LEE, Rosina Weber. “CBR Course Home Page”. 13 mai. 1996.
[http://www.eps.ufsc.br/~martins/fuzzy/cbr.html]. (20 mar. 1999 11:45).