® BuscaLegis.ccj.ufsc.br

Uma aplicação de Raciocínio Baseado em Casos para apoio a identificação de possíveis suspeitos de crimes

GALBAS MILLÉO FILHO, PAULO S. S. BORGES, REGINALDO R. SILVA
Universidade Federal de Santa Catarina
Florianópolis, SC, Brasil
galbas@redel.com.br, pssb@inf.ufsc.br, reginaldo@cejurps.univali.br

Resumo
Faz parte do processo de investigação de crimes, a busca por possíveis suspeitos dentre os delinqüentes já indiciados, uma vez que há grandes chances de que o criminoso em questão esteja dentre os delinqüentes já fichados. O referido processo de busca é realizado geralmente de forma manual. Assim, surge a necessidade do desenvolvimento de um sistema que permita agilizar e facilitar tal processo de reconhecimento. Frente a esta necessidade, deu-se início ao desenvolvimento de um sistema utilizando a técnica de Raciocínio Baseado em Casos (RBC) para apoio no processo de identificação de possíveis suspeitos de crimes. Utilizou-se para tanto os métodos de recuperação do Vizinho mais Próximo e da Contagem de Características. Para a modelagem da memória dinâmica de casos, foi usada uma combinação de listas encadeadas. O sistema foi desenvolvido utilizando a ferramenta de desenvolvimento Delphi juntamente com o banco de dados Interbase.
Abstract
It is part of the process of inquiry of crimes, the fetching for possible suspected amongst the delinquents already defendants, a time that has great possibilities of that the criminal in question is amongst the booked delinquents already. The related process of fetching is carried through generally of manual form. Thus, the necessity appears of the development of a system that allows to speed and to facilitate such process of recognition. Front to this necessity, gave to beginning to the development of a system using the technique of Case-Based Reasoning (CBR) for bracket in the process of identification of possible suspected of crimes. It was used in such a way for the methods of backup of the Neighbor Next and the Features Count. For the modeling of the dynamic memory of cases, a combination of chained lists was used. The system was developed using the tool of Delphi development together with the data base Interbase.
Palavras-chave: Raciocínio Baseado em Casos (RBC), Inteligência Artificial (IA), Sistemas Inteligentes
1. Introdução
Segundo dados não oficiais, aproximadamente 80% dos crimes ocorridos são praticados por reincidentes, ou seja, são crimes praticados por pessoas que já têm passagem pela polícia. Sendo assim, faz parte do processo de investigação de crimes, a busca por possíveis suspeitos dentre os delinqüentes já indiciados, uma vez que há grandes chances de que o criminoso em questão esteja dentre os delinqüentes já fichados.
O referido processo de busca é realizado geralmente de forma manual, ou seja, a vítima/testemunha do crime é convidada a efetuar a apreciação das fotos de todos os delinqüentes já fichados, uma a uma, selecionando dentre elas, as fotos das pessoas que mais se assemelham fisicamente ao criminoso.
Assim, surge a necessidade do desenvolvimento de um sistema que permita agilizar e facilitar tal processo de reconhecimento. Frente a esta necessidade, deu-se início ao desenvolvimento de um sistema utilizando a técnica de Raciocínio Baseado em Casos (RBC) para apoio no processo de identificação de possíveis suspeitos de crimes.

2. Raciocínio Baseado em Casos
Segundo LEE [4], a filosofia básica desta técnica consiste em buscar a solução para uma situação atual através da comparação da mesma com uma experiência passada semelhante.

2.1. Fundamentos do Raciocínio Baseado em Casos
Apesar de considerar o desenvolvimento de um sistema de RBC como sendo uma tarefa complexa que não se sujeita a ser formulada através de uma metodologia, propõe-se quatro etapas distintas para o mesmo [4]:

Figura 1 – Ciclo de RBC [2].

2.1.1. Representação de casos

A representação dos casos num sistema de RBC é essencialmente a representação do conhecimento. Há outros momentos em que algum conhecimento especialista é representado no sistema de RBC, entretanto, é nos casos que está representado o conhecimento que servirá para sugerir uma solução para o problema de entrada no sistema: a base de conhecimento está nos casos [4].
O problema de representação em RBC, refere-se, fundamentalmente, em o que guardar de um caso, encontrando uma estrutura apropriada para descrever o conteúdo do caso e decidindo como a memória de casos deve ser organizada e indexada para uma efetiva recuperação e reutilização [3]
.
Os casos são normalmente representados através de uma lista de atributos devidamente valorados. As características de um caso referem-se ao par atributo-valor. Na representação dos casos, dois são os componentes básicos [WEB1996]:
2.1.2. Recuperação de casos
Segundo REIS [3], a recuperação começa com uma descrição do problema e termina quando o melhor caso é encontrado, sendo esta tarefa subdividida em:
  • identificação das características: informa ao sistema as características do caso atual. “A subtarefa de identificação é somente necessária em domínios de aplicação onde as características, índices – ou quaisquer que sejam os elementos alvo da avaliação da similaridade – não sejam diretos ou não estejam claros” [4];
  • casamento inicial: recupera um conjunto de candidatos plausíveis;
  • busca: é um processo mais elaborado de selecionar o melhor candidato entre os casos recuperados durante o casamento inicial;
  • seleção: o processo de seleção gera conseqüências e expectativas de cada caso recuperado e tenta avaliar as conseqüências e justificar as expectativas. Os casos são eventualmente ordenados de acordo com a métrica ou algum critério de classificação, desta forma o caso que possui a mais forte sustentação de similaridade ao novo problema é escolhido.
2.1.2.1. Similaridade
De acordo com LEE [4], similaridade é a essência do Raciocínio Baseado em Casos, uma vez que o fundamento do paradigma de RBC é solucionar um problema atual, reutilizando a solução de uma experiência passada similar.
Já REIS [3], descreve similaridade como um conceito genérico e mal definido, profundamente influenciado por fatores subjetivos, além de afirmar que “objetivos diferentes podem invocar tipos de similaridade diferentes”.

2.1.2.2. Métodos de recuperação de casos
Segundo LEE [4], os métodos de recuperação de casos podem ser métodos que avaliem numericamente os casos candidatos através de uma métrica de similaridade, métodos eliminatórios, métodos de classificação de casos mais similares ou uma combinação destes.

2.1.2.2.1. Método do vizinho mais próximo (Nearest Neighbour)
De acordo com REIS [3], esta é uma técnica simples, a qual não requer muitos cálculos para o seu entendimento. O primeiro passo consiste da identificação das características (atributos) essenciais para a solução do problema, sendo que estes atributos devem ser representados em algum sistema de coordenadas, de forma que se possa medir a distância entre o novo problema e os casos já existentes na memória de casos.
Há ainda a possibilidade de um especialista considerar outros fatores além dos selecionados, fazendo com que os atributos tenham importâncias (pesos) diferenciadas.
A similaridade neste método se expressa através da fórmula da figura 2.

onde: N é o novo caso
F são os casos existentes na memória de casos
n é o número de atributos
i é um atributo individual
ƒ é a função de similaridade para o atributo i nos casos N e F
w é o peso do atributo i
Figura 2 – Fórmula da similaridade no método do vizinho mais próximo [3].

2.1.2.2.2. Método da contagem de características (Features Count)
Neste método, o cálculo da similaridade consiste da contagem dos atributos do caso armazenado na base que coincidem com os atributos do caso de entrada. A cada atributo i do caso armazenado na base igual ao atributo i do caso de entrada, soma-se 1 ao número de atributos coincidentes entre os dois casos.
O grau de similaridade entre o novo caso e o caso armazenado na base é dado pelo percentual do número de atributos coincidentes entre os dois casos em função do número de atributos considerados para a comparação destes.

2.1.3. Reutilização de casos
De acordo com REIS [3], a tarefa de reutilização de casos caracteriza-se por adaptar a solução armazenada de um caso recuperado às necessidades de um caso proposto.
Segundo AAMODT [1], a reutilização da solução dos casos recuperados no contexto dos novos casos tem foco em dois aspectos: as diferenças entre o caso passado e o caso corrente e que parte do caso recuperado pode ser transferida para o novo caso.

2.1.4. Revisão do caso
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 conhecimento
Para 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 casos
Seguindo 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ção

Dando 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óximo
Dentre 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ísticas
També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 sistema
Para 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 finais
Os 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).