SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
Sistemas Baseados em Casos
Inteligência Artificial I
Universidade Luterana do Brasil
Prof Fabiana Lorenzi
Raciocínio Baseado em Casos
“Abordagem da Inteligência Artificial que procura resolver
novos problemas com base nas soluções utilizadas
na resolução de problemas anteriores”
Janet Kolodner, 1993
2
Por que utilizar sistemas de RBC?
● Facilidade na aquisição de conhecimento;
● Reutilização do conhecimento (dados históricos);
● Aprendizado por retenção de casos.
3
Ciclo de funcionamento de um sistema RBC
4
5
Criação da base de casos
● Aquisição do conhecimento
● Representação dos casos
● Indexação dos casos
Para que seja possível implementar um sistema de RBC é
preciso saber COMO representar um CASO.
6
Mas o que é um caso ?
● Um episódio vivido;
● Problema + solução
● + justificativa (às vezes)
7
Mas o que é um caso ?
● Casos é uma experiência = problema e solução
● Casos são armazenados na base de casos para futura
reutilização para resolver um novo problema:
Recuperar o caso mais parecido da base de casos
Adaptar (se necessário) a solução do caso recuperado para
o novo problema
Se sucesso: armazenar o novo caso na base
8
Exemplo
9
Como obter um caso?
● Através da etapa de Aquisição de Conhecimento;
● Esta etapa é considerada o gargalo do desenvolvimento de
sistemas baseados em conhecimento, mas é facilitada no
desenvolvimento de sistemas baseados em casos, pois é
mais fácil adquirir CASOS do que regras.
10
Exemplo: Helpdesk computadores
11
Indexação de casos
● Indexar a base de casos permitindo uma melhor recuperação
de casos (da mesma forma que um banco de dados
relacional);
● Os índices são utilizados da mesma forma que bancos de
dados relacionais;
● Devem endereçar as similaridades entre os casos;
● Devem saber previamente de que forma a informação será
recuperada na solução de diferentes problemas;
12
Indexação de casos
● A recuperação de casos depende de como os mesmos foram
indexados;
● Um índice pode ser um atributo, um predicado, uma
composição de atributos, etc;
● Boa compreensão do problema auxilia na escolha dos
índices.
13
Indexação de casos - exemplo
14
Indexação de casos - exemplo
15
16
Recuperação de casos
● Etapa responsável por recuperar, na base de casos, o caso
mais parecido com o novo problema;
● Identifica e pesquisa índices, calcula a similaridade
entre o caso recuperado e o novo problema;
● A recuperação é baseada na similaridade entre o novo
problema e os casos da base;
● A similaridade é um conceito fundamental em sistemas de
RBC, pois dois problemas são similares se eles tem
soluções similares.
17
Métodos de Recuperação de casos
● Recuperação por indução → árvore de decisão;
● Algoritmo do vizinho mais próximo (Nearest Neighbor) →
similaridade entre o novo problema e os casos da base.
18
Indução (watson, 1997)
19
Indução (watson, 1997)
20
● Nesta técnica, a inteligência está na geração da árvore
de decisão;
● Algoritmos de indução (ID3, C4.5) são executados sobre as
bases de dados das empresas para a criação das árvores.
Árvore de decisão
21
Algoritmo do Vizinho mais Próximo
● Algoritmo Nearest Neighbor;
● Neste método é preciso definir atributos do caso com seus
respectivos pesos na solução do problema;
● Os valores dos atributos do novo problema são comparados
com os valores dos atributos de todos casos da base, na
busca do caso mais similar.
22
Algoritmo do Vizinho mais Próximo
● Definir os atributos;
● Definir pesos para os atributos;
● Calcular as distâncias entre o novo problema e os casos
da base;
● Apresentar os casos mais parecidos ao usuário.
23
Algoritmo do Vizinho mais Próximo
q: novo problema
c: caso da base
f: atributo do caso (c) e do novo problema (q).
w: peso do atributo f.
sim: função de similaridade.
24
Similaridade local
Valores numéricos: Distância Euclidiana entre os valores
do novo problema (q) e do caso (c);
Valores simbólicos: similaridade local.
Se qf = cf então sim = 1
Se qf <> cf diferente = 0
25
Tabela de Similaridade
26
27
Reutilização de casos
● Reutiliza a solução associada ao caso recuperado no
contexto do novo problema;
● Identifica as diferenças entre o caso recuperado e o novo
problema;
● Identifica a parte do caso recuperado que pode ser
transferida ao novo problema.
28
29
Adaptação de casos
● Adaptar a solução associada a um caso recuperado para as
necessidades do novo problema;
● Quando o caso recuperado não é perfeitamente igual ao
novo problema, existem diferenças que devem ser levadas
em conta;
● Compensar as diferenças entre o novo problema e o caso
recuperado para poder utilizar a solução no novo
problema;
30
Métodos de Adaptação de casos
● Adaptação transformacional: transforma a solução
recuperada em uma nova solução, satisfazendo o novo
problema com aplicação de conhecimento específico;
● Adaptação substitucional: faz a substituição de pequenos
detalhes da solução recuperada, em que a descrição do
caso recuperado é muito similar ao problema atual;
● Adaptação Nula (ou cópia): quando a solução é aplicada
direto no novo problema, sem modificações.
31
32
Retenção de casos
● Representa Aprendizado;
● A solução é avaliada.. se ela foi adaptada, o caso
adaptado é inserido na base de casos como um novo caso;
● Decidir que informação deve ser armazenada como um novo
caso para futuras recuperações e integrar o novo caso à
base de casos.
33
Abordagens de RBC
RBC textual
Baseados em casos de texto livre;
Palavras ou frases são extraídas como índices;
RBC conversacional
Casos são representados como uma lista de questões
RBC estrutural
Criado um vocabulário comum (atributo-valor ou orientado
a objetos)
Todos casos são representados com base neste vocabulário.
34
Abordagem Textual
35
Abordagem Conversacional
36
Exemplo de Sistema de RBC Estrutural
37
Exemplo de Sistema de RBC Estrutural
38
39
40
referências
AAMODT, A & PLAZA, E. Case-based reasoning: foundational
issues, methodological variantions and systems approaches.
Em AI Communications, vol 7, Nr.1;
KOLODNER, J. Case-based reasoning. San Mateo, CA, USA,
Morgan Kaufmann, 1993.
WATSON, I. Applying Case-Based Reasoning: Techniques for
Enterprise Systems. Morgan Kaufmann Publishers Inc., 1997.
41

Mais conteúdo relacionado

Mais de Fabiana Lorenzi

Mais de Fabiana Lorenzi (7)

Lse header
Lse headerLse header
Lse header
 
Agentes
AgentesAgentes
Agentes
 
Inteligência Artificial Distribuída
Inteligência Artificial DistribuídaInteligência Artificial Distribuída
Inteligência Artificial Distribuída
 
Aquisição de conhecimento
Aquisição de conhecimentoAquisição de conhecimento
Aquisição de conhecimento
 
Pilhas encadeadas
Pilhas encadeadasPilhas encadeadas
Pilhas encadeadas
 
Aula apontadores
Aula apontadoresAula apontadores
Aula apontadores
 
Filas encadeadas
Filas encadeadasFilas encadeadas
Filas encadeadas
 

Sistemas Baseados em Casos (Parte I)

  • 1. Sistemas Baseados em Casos Inteligência Artificial I Universidade Luterana do Brasil Prof Fabiana Lorenzi
  • 2. Raciocínio Baseado em Casos “Abordagem da Inteligência Artificial que procura resolver novos problemas com base nas soluções utilizadas na resolução de problemas anteriores” Janet Kolodner, 1993 2
  • 3. Por que utilizar sistemas de RBC? ● Facilidade na aquisição de conhecimento; ● Reutilização do conhecimento (dados históricos); ● Aprendizado por retenção de casos. 3
  • 4. Ciclo de funcionamento de um sistema RBC 4
  • 5. 5
  • 6. Criação da base de casos ● Aquisição do conhecimento ● Representação dos casos ● Indexação dos casos Para que seja possível implementar um sistema de RBC é preciso saber COMO representar um CASO. 6
  • 7. Mas o que é um caso ? ● Um episódio vivido; ● Problema + solução ● + justificativa (às vezes) 7
  • 8. Mas o que é um caso ? ● Casos é uma experiência = problema e solução ● Casos são armazenados na base de casos para futura reutilização para resolver um novo problema: Recuperar o caso mais parecido da base de casos Adaptar (se necessário) a solução do caso recuperado para o novo problema Se sucesso: armazenar o novo caso na base 8
  • 10. Como obter um caso? ● Através da etapa de Aquisição de Conhecimento; ● Esta etapa é considerada o gargalo do desenvolvimento de sistemas baseados em conhecimento, mas é facilitada no desenvolvimento de sistemas baseados em casos, pois é mais fácil adquirir CASOS do que regras. 10
  • 12. Indexação de casos ● Indexar a base de casos permitindo uma melhor recuperação de casos (da mesma forma que um banco de dados relacional); ● Os índices são utilizados da mesma forma que bancos de dados relacionais; ● Devem endereçar as similaridades entre os casos; ● Devem saber previamente de que forma a informação será recuperada na solução de diferentes problemas; 12
  • 13. Indexação de casos ● A recuperação de casos depende de como os mesmos foram indexados; ● Um índice pode ser um atributo, um predicado, uma composição de atributos, etc; ● Boa compreensão do problema auxilia na escolha dos índices. 13
  • 14. Indexação de casos - exemplo 14
  • 15. Indexação de casos - exemplo 15
  • 16. 16
  • 17. Recuperação de casos ● Etapa responsável por recuperar, na base de casos, o caso mais parecido com o novo problema; ● Identifica e pesquisa índices, calcula a similaridade entre o caso recuperado e o novo problema; ● A recuperação é baseada na similaridade entre o novo problema e os casos da base; ● A similaridade é um conceito fundamental em sistemas de RBC, pois dois problemas são similares se eles tem soluções similares. 17
  • 18. Métodos de Recuperação de casos ● Recuperação por indução → árvore de decisão; ● Algoritmo do vizinho mais próximo (Nearest Neighbor) → similaridade entre o novo problema e os casos da base. 18
  • 20. Indução (watson, 1997) 20 ● Nesta técnica, a inteligência está na geração da árvore de decisão; ● Algoritmos de indução (ID3, C4.5) são executados sobre as bases de dados das empresas para a criação das árvores.
  • 22. Algoritmo do Vizinho mais Próximo ● Algoritmo Nearest Neighbor; ● Neste método é preciso definir atributos do caso com seus respectivos pesos na solução do problema; ● Os valores dos atributos do novo problema são comparados com os valores dos atributos de todos casos da base, na busca do caso mais similar. 22
  • 23. Algoritmo do Vizinho mais Próximo ● Definir os atributos; ● Definir pesos para os atributos; ● Calcular as distâncias entre o novo problema e os casos da base; ● Apresentar os casos mais parecidos ao usuário. 23
  • 24. Algoritmo do Vizinho mais Próximo q: novo problema c: caso da base f: atributo do caso (c) e do novo problema (q). w: peso do atributo f. sim: função de similaridade. 24
  • 25. Similaridade local Valores numéricos: Distância Euclidiana entre os valores do novo problema (q) e do caso (c); Valores simbólicos: similaridade local. Se qf = cf então sim = 1 Se qf <> cf diferente = 0 25
  • 27. 27
  • 28. Reutilização de casos ● Reutiliza a solução associada ao caso recuperado no contexto do novo problema; ● Identifica as diferenças entre o caso recuperado e o novo problema; ● Identifica a parte do caso recuperado que pode ser transferida ao novo problema. 28
  • 29. 29
  • 30. Adaptação de casos ● Adaptar a solução associada a um caso recuperado para as necessidades do novo problema; ● Quando o caso recuperado não é perfeitamente igual ao novo problema, existem diferenças que devem ser levadas em conta; ● Compensar as diferenças entre o novo problema e o caso recuperado para poder utilizar a solução no novo problema; 30
  • 31. Métodos de Adaptação de casos ● Adaptação transformacional: transforma a solução recuperada em uma nova solução, satisfazendo o novo problema com aplicação de conhecimento específico; ● Adaptação substitucional: faz a substituição de pequenos detalhes da solução recuperada, em que a descrição do caso recuperado é muito similar ao problema atual; ● Adaptação Nula (ou cópia): quando a solução é aplicada direto no novo problema, sem modificações. 31
  • 32. 32
  • 33. Retenção de casos ● Representa Aprendizado; ● A solução é avaliada.. se ela foi adaptada, o caso adaptado é inserido na base de casos como um novo caso; ● Decidir que informação deve ser armazenada como um novo caso para futuras recuperações e integrar o novo caso à base de casos. 33
  • 34. Abordagens de RBC RBC textual Baseados em casos de texto livre; Palavras ou frases são extraídas como índices; RBC conversacional Casos são representados como uma lista de questões RBC estrutural Criado um vocabulário comum (atributo-valor ou orientado a objetos) Todos casos são representados com base neste vocabulário. 34
  • 37. Exemplo de Sistema de RBC Estrutural 37
  • 38. Exemplo de Sistema de RBC Estrutural 38
  • 39. 39
  • 40. 40
  • 41. referências AAMODT, A & PLAZA, E. Case-based reasoning: foundational issues, methodological variantions and systems approaches. Em AI Communications, vol 7, Nr.1; KOLODNER, J. Case-based reasoning. San Mateo, CA, USA, Morgan Kaufmann, 1993. WATSON, I. Applying Case-Based Reasoning: Techniques for Enterprise Systems. Morgan Kaufmann Publishers Inc., 1997. 41