raciocínio baseado em casos Álvaro vinícius de souza coêlho [email protected]
TRANSCRIPT
Raciocínio Baseado em Casos• O que é RBC
• RBC x Indução
• Idéia central:– Indexação– Resgate– Seleção– Modificação/Adaptação– Retenção
Raciocínio Baseado em Casos
• Conceito de Caso“Porção de conhecimento contextualizado que
represente quer uma experiência passada, quer uma experiência hipotética”
– Casos concretos x casos abstratos
Raciocínio Baseado em Casos
• Espaço de casos
Raciocínio Baseado em Casos
• Algoritmo geralRaciocínio baseado em casosInício
Obter as especificações do novo problemaIdentificar atributos de indexaçãoResgatar um conjunto de casos que atendam aos
atributosRepete
Seleciona um casoModifica o casoAvalia solução
Até que a solução seja satisfatóriaFim
Raciocínio Baseado em Casos
• Indexação: Problema fundamental
• Recuperação– Casamento de padrão– Índices (Atributo)– Bancos de dados
• Adaptação
RBC para Help Desk
• Objetivos– Porque não árvores de decisão?
• Características desejáveis– Recuperação textual (Help!CPRTM)
• Menor acurácia, menos conhecimento técnico
– Recuperação pelo atributo (ClireTM)• Maior acurácia, mais conhecimento técnico
RBC para Help Desk
• Outras funcionalidades desejáveis– Introdução de novos casos:
• Reais - a partir das ocorrências– Originalidade e Relevância
• Abstratos– Problemas potenciais
RBC para Help Desk
• Estruturas de dados
• Em base de dados relacionais
• Usando SQL - eficiência e eficácia
RBC para Help Desk
• Por casamento de padrão– Casos– Perguntas– Palavras-Chave– Sinônimos
• O sistema busca pelas palavras-chave, senão pelos sinônimos associados (hash)
RBC para Help Desk
RBC para Help Desk• Recuperação de casos
RBC para Help Desk
• Por casamento de atributo– Caso– Atributo– Valor
• Métrica de similaridade: distância cartesiana
• A métrica não é uma característica da busca, e sim do atributo do caso.
RBC para Help Desk
RBC para Help Desk
RBC para Help Desk• Recuperação de casos
RBC para Help Desk
• Retenção de novos casos– Para o casamento de padrão: acoplar a estrutura
de perguntas às ocorrências– No casamento por atributo: seleção automática
(depois de tratamento) das ocorrências. O especialista atua na adequação de parâmetros como discretização e distância cartesiana máxima
– Os casos abstratos são construídos
RBC para Help Desk• Recuperação de casos
• TextualRecupera_Textual(Caso_Satisfatorio)Início
Lista_Candidatos := (casos da base) Caso_Satisfatorio := Falso;Le_problema(:problema)Repita
Separa_Palavras(Lista, :Pergunta)Seleciona_Casos(Casos_Selecionados)Lista_Candidatos := Lista_Candidatos Casos_SelecionadosTesta_Caso(Caso_Satisfatorio)
Até Caso_Satisfatorio ou Lista_Candidatos = Fim
RBC para Help Desk• Recuperação de casos
Select cd_caso, count(cd_caso)
From tb_caso_perg_palavra
Where cd_pegunta = :Pergunta and
(tb_caso_perg_palavra.cd_palavra in
(select cd_palavra from tb_palavra where ds_palavra in
(select ds_palavra from Lista))
or
tb_caso_perg_palavra.cd_palavra in
(select tb_sinonimo.cd_palavra
from tb_sinonimo
where tb_sinonimo.ds_sinonimo in
(select ds_palavra from Lista)))
group by cd_caso;
RBC para Help Desk• Recuperação de casos
• Pelo atributoRecupera_Atributo (Caso_Satisfatorio)InícioCaso_Satisfatorio := Falso;Repita
Le_Problema(AtributosAtuais)Seleciona_Casos(Casos_Selecionados)Testa_Caso(Caso_Satisfatorio)
Até Caso_Satisfatório ou Casos_Selecionados = Fim
RBC para Help Desk• Recuperação de casos
Select cd_caso
From tb_atributo_valor_caso v, AtributosAtuais a
Where v.cd_caso not in (select cd_caso from casos_reprovados) and
(v.cd_atributo = a.cd_atributo and
v.vl_classificacao between
a.vl_classificacao - v.vl_distancia_maxima and
a.vl_classificacao + v.vl_distancia_maxima);
Raciocínio Baseado em Casos.
FIM!
“Quando se corta a cabeça de um intelectual, ele morre”Francis PicabiaDa Vinci