SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
Sistemas de Racioc´nio Baseado em Casos
                              ı
Diego L. Ervatti1 , Patrick P. Andrade1 , Rafael Z. de S´ Silva1 , Erlon Pinheiro1
                                                        a
                     1
                     Centro Universit´ rio Vila Velha - (UVV)
                                      a
                        Curso de Ciˆ ncia da Computacao
                                    e                  ¸˜
                     Rua Comiss´ rio Jos´ Dantas de melo, 21
                                a        e
                       Boa Vista - Vila Velha - ES - Brasil
                               CEP.: 29102-770
                                   31/05/2010


{diegoervatti,patrickpeyneau,rafael zacche}@hotmail.com, erlon@uvv.br

  Abstract. Artificial Intelligence (AI) is a research area that seeks a computa-
  tional artifice that simulates the human capacity to solve problems. Different
  methods are employed to simulate the way humans think, from a wide variety
  is included the case-based reasoning, which tries to imitate the way humans re-
  call past experiences to solve a given problem. This paper describes in details
  what is a CBR system, its application, and presents some key techniques used in
  building systems that use this technology. Some tools that aid in the construc-
  tion of CBR systems are described. In the end it is proposed a development of
  an e-commerce SRBC.
  Keywords: artificial intelligence, case-based reasoning, reasoning in artificial
  intelligence.

  Resumo. A Inteligˆ ncia artificial (IA) e uma area de pesquisa que busca por ar-
                      e                  ´     ´
  tif´cios computacionais que simulem a capacidade humana de resolver proble-
     ı
  mas. Diferentes m´ todos s˜ o empregados para simular a forma como humanos
                     e       a
  pensam, dentre uma ampla variedade est´ o Racioc´nio Baseado em Casos, que
                                            a        ı
  tenta imitar a forma como humanos relembram experiˆ ncias passadas para re-
                                                        e
  solver um dado problema. O presente artigo descreve pormenorizadamente o
  que e um sistema de racioc´nio baseado em casos, suas aplicacoes, al´ m de
        ´                     ı                                 ¸˜     e
  apresentar algumas das principais t´ cnicas adotadas na construcao de sistemas
                                      e                           ¸˜
  que utilizam esta tecnologia. Por fim com base nas ferramentas que ser˜ o apre-
                                                                         a
  sentadas, prop˜ e-se o desenvolvimento de um sistema de vendas online baseado
                 o
  em casos.
  Palavras chaves: inteligˆ ncia artificial, racioc´nio baseado em casos, racioc´nio
                           e                      ı                            ı
  em inteligˆ ncia artificial.
            e
¸˜
1. Introducao

Racioc´nio baseado em casos (RBC)1 e uma abordagem para solucao de problemas e para
       ı                              ´                       ¸˜
o aprendizado com base em experiˆ ncia passada [Wangenheim 2003]. Em s´ntese pode-se
                                  e                                    ı
                                                          ¸˜
afirmar que o RBC resolve um novo problema a partir de solucoes de problemas an´ logos
                                                                              a
                                              ¸˜                 ´
que foram bem sucedidas no passado. A solucao similar encontrada e adaptada para uma
                 ¸˜
melhor representacao e retida para futuras referˆ ncias.
                                                 e
        No enfoque do RBC, os problemas s˜ o conhecidos como casos, que s˜ o armazena-
                                             a                             a
dos em uma base de conhecimento ou base de casos. RBC foi influˆ nciado por diversas
                                                                   e
´
areas, tais como, ciˆ ncias cognitivas, sistemas baseados em conhecimento, aprendizado
                     e
                                       ¸˜             ¸˜
de m´ quina, bases de dados, recuperacao de informacoes, redes neurais, reconhecimento
     a
de padr˜ es, incerteza e estat´stica.
        o                     ı
               ¸˜
        Na secao 2 apresenta-se um breve hist´ rico sobre RBC, as estruturas comu-
                                                  o
                    e                                     ¸˜
mente utilizadas, al´ m do ciclo de vida do RBC. Na secao 3 alguns dos m´ todos para
                                                                               e
            ¸˜
representacao de casos s˜ o descritos, os tipos comumente utilizados, suas vantagens
                           a
                        ¸˜     ´
e desvantagens. A secao 4 e dedicada as medidas de similaridade, assim como sua
            ¸˜                                                              ¸˜
representacao matem´ tica. As fases do ciclo de vida do RBC, recuperacao de casos,
                      a
         ¸˜                                     ¸˜                                   ¸˜
reutilizacao de casos, revis˜ o de casos e retencao de casos s˜ o apresentadas nas secoes
                             a                                a
                                     ¸˜
5, 6, 7 e 8 respectivamente. Na secao 9 prop˜ e-se um projeto que utiliza o racioc´nio
                                                o                                    ı
baseado em casos.

2. Racioc´nio baseado em casos
         ı
Entre as habilidades inteligentes est´ a habilidade para armazenar e recuperar eficiente-
                                     a
                                     ¸˜
mente grande quantidade de informacao, al´ m da capacidade de adaptar ou modificar um
                                            e
conte´ do [Rezende 2005].
     u
        Os primeiros aspectos do RBC foram infundidos nos trabalhos de Schank e Abel-
son sobre mem´ ria dinˆ mica e modelo cognitivo. O RBC originou-se em modelos cog-
                o      a
               ¸˜                                           ¸˜
nitivos da solucao de problemas e aprendizado de novas situacoes, no geral, seria gravar
           ¸˜
essas situacoes em mem´ ria como se fossem roteiros, ou seja, algumas coisas ocorrer˜ o
                         o                                                            a
sempre conforme o esperado.
       CYRUS foi o primeiro sistema de RBC, desenvolvido por Janet Kolodner na Yale
                                ¸˜
University, seu enfoque era solucao de problemas diplom´ ticos. Ap´ s esse sistema, di-
                                                       a          o
versos outros surgiram como: Mediator, Persuader, Chef, Julia, Hypo, Protos, Casey,
Pantdex, dentre outros, cada um com enfoque espec´fico.
                                                 ı
                         ´
       O objetivo do RBC e tentar resolver um problema com base em experiˆ ncias pas-
                                                                         e
sadas. Conforme [Luger 2004], os sistemas RBC compartilham uma estrutura comum.
Para cada novo problema:

       •   Recuperam o caso mais similar na base de casos;
       •   Reutilizam este caso para resolver o problema;
       •                  ¸˜
           Revisam a solucao indicada;
       •   Ret´ m a experiˆ ncia representando o caso atual para referˆ ncias futuras.
              e           e                                           e

  1
      Do inglˆ s, Case-Based Reasoning (CBR).
             e
Figura 1. Ciclo de vida do racioc´nio baseado em casos [Wangenheim 2003].
                                       ı


             ¸˜
3. Representacao de casos
Todo conhecimento que envolve sistemas de RBC s˜ o armazenados sob a forma de casos,
                                               a
casos estes que representam um conhecimento espec´fico de experiˆ ncias ou epis´ dios
                                                   ı            e              o
concretos.
        N˜ o existe um conte´ do exato do que ser´ representado por um caso, seu conte´ do
         a                  u                    a                                    u
´                                   ¸˜                                   ´
e totalmente dependente da aplicacao. O que h´ de comum entre eles e que todos tem
                                                  a
                                     ¸˜
como objetivo representar uma situacao ocorrida que poder´ futuramente ser relembrada,
                                                            a
                                      ¸˜
adaptada e aplicada a uma nova solucao.
       Exemplos de como casos podem conter diferentes conte´ dos:
                                                           u
       Com´ rcio eletrˆ nico: lista das caracter´sticas do produto (por exemplo, marca:
            e           o                       ı
fiat, modelo: siena, cor: prata, preco: R$ 30.000).
                                   ¸
        Com´ rcio eletrˆ nico: lista das caracter´sticas do produto (por exemplo, nome:
            e          o                         ı
mesa, tipo: madeira, cor: marfim).

               ¸˜
3.1. Representacao de casos
  a           e                                               ¸˜
V´ rias estrat´ gias podem ser adotadas para representacao de casos, tais como:
           ¸˜                        ¸˜                                 ´
representacao atributo-valor, orientacao a objetos, redes semˆ nticas e arvores k-d.Existem
                                                             a
                            ¸˜
outras formas de representacao de casos, mas somente as citadas ser˜ o abordadas no pre-
                                                                       a
sente artigo.
                                      ¸˜
        O Ponto mais dif´cil na solucao de problemas baseado em casos, independente-
                          ı
                                                           ¸˜            ´
mente da estrutura de dados selecionada para a representacao dos casos, e a escolha das
                                         ¸˜             ¸˜                             ´
caracter´sticas relevantes para a indexacao e a recuperacao de casos [Luger 2004], que e
        ı
                   ¸˜
apresentado na secao 5.
                    ¸˜
      “A representacao do caso significa codificar o conhecimento contido nos casos
mediante uma ampla gama de formalismos representacionais ou linguagens desenvolvidas
   ˆ
no ambito da IA, permitindo armazen´ -lo em uma forma simples, concisa, completa e
                                   a
clara ”[Russell 2004].
       A metodologia a ser adotada para representar um caso depender´ do contexto ao
                                                                     a
qual o RBC est´ sendo aplicado e como os dados armazenados ser˜ o alterados.
              a                                                a

               ¸˜
3.2. Representacao atributo-valor
            ¸˜                 ´                                   ¸˜
A representacao atributo valor e a forma mais simples de representacao de casos, na qual
        ´
um item e representado por um par atributo-valor [Wangenheim 2003].
                         ¸˜
          Esta representacao pode ser vista na tabela 1.

                           Atributos            Valor
                                 ¸˜
                           Descricao            “Carro,siena, prata”
                           Ano                  2010
                           Cor                  Prata
                           Marca                Fiat
                           Modelo               Siena
                           Preco
                              ¸                 R$ 35.125,00
                                                      ¸˜
                   Tabela 1. Exemplo de uma representacao atributo-valor.


                   ¸˜
      A representacao de casos atributo-valor pode ser definida basicamente por tipos
como: booleano, data, s´mbolo (ordenado, n˜ o-ordenado ou taxonomia), n´ mero e string.
                       ı                  a                            u
                                                ¸˜
          Existem in´ meras vantagens na utilizacao de par atributo-valor, tais como:
                    u
      •               ¸˜
          Representacao simples e f´ cil de programar;
                                   a
      •                    ¸˜
          F´ cil implementacao de medidas de similaridade;
           a
      •   F´ cil armazenamento, podendo ser armazenado em SGBD2 relacionais;
           a
      •             ¸˜
          Recuperacao eficiente.
          Por´ m apresenta desvantagens como:
             e
      • N˜ o e capaz de representar informacoes estruturais;
         a ´                               ¸˜
      • N˜ o e capaz de representar informacoes relacionais.
         a ´                               ¸˜
´
E recomend´ vel que pares atributo-valor sejam usados somente para tarefas de di-
             a
agn´ stico que tem que lidar com grandes bases de casos.
   o

               ¸˜
3.3. Representacao orientada a objetos
Nesta representacao os casos s˜ o vistos como objetos3 , que por sua vez s˜ o agrupados por
                  ¸˜          a                                           a
                                     4
tipos similares formando uma classe .
                       ¸˜
       Essa representacao permite a modelagem de relacionamento entre diferentes tipos
                           ¸˜                     ¸˜                        ¸˜
de objetos, tais como: relacoes taxonˆ micas, relacoes composicionais e relacoes especi-
                                     o
ais.


  2
    Sistema de gerenciamento de banco de dados.
  3
    Instˆ ncia de uma classe.
        a
  4
    Estrutura que abstrai um conjunto de objetos com caracter´sticas similares.
                                                             ı
¸˜
                             Figura 2. Representacao orientada a objetos.


                                            ¸˜
          Algumas vantagens dessa representacao:
       • Representacao estruturada e natural de casos;
                   ¸˜
       • Representacao direta de informacoes estruturais e relacionais;
                   ¸˜                    ¸˜
       • Armazenamento compacto.
          Por´ m possui as seguintes desvantagens:
             e
       • C´ lculo de similaridade complexo;
          a
       • Recuperacao de casos complexa.
                   ¸˜

               ¸˜
3.4. Representacao utilizando redes semˆ nticas
                                       a
´                           ¸˜
E uma forma de representacao do conhecimento determinada como um grafo direcionado
no qual os v´ rtices representam unidades conceituais, e as arestas representam relaciona-
            e
mentos entre essas unidades [Real 2003].
                                                                              ¸˜
       O tipo de rede semˆ ntica utilizada em RBC denomina-se Rede de Recuperacao de
                         a
             5
                    ´                                           ¸˜
Casos (RRC) . Esta e uma forma eficiente e flex´vel de recuperacao de casos, capaz de
                                                ı
                              ı        e                     ¸˜
entender termos vagos e amb´guos, al´ m da eficiente manipulacao de bases de casos de
tamanho razo´ vel [Wangenheim 2003].
             a
        De acordo com [Wangenheim 2003] o conceito fundamental das RRC s˜ o as En-
                                                                              a
                    ¸˜
tidades de Informacao (EI). Um caso consiste de um conjunto de EI, e a base de casos em
uma rede com nodos para as EI observadas no dom´nio e nodos adicionais denotando os
                                                  ı
casos particulares.

               ¸˜             ´
3.5. Representacao utilizando arvore k-d
 ´           ´    ´                     a                                ı           ´
Arvore k-d e uma arvore de pesquisa bin´ ria k-dimensional onde cada n´vel desta arvore
se ramifica baseando-se no discriminador, que por sua vez, tem como base uma medida es-
tat´stica denominada amplitude interquartil6 [Goetze 2005]. Sua divis˜ o e feita alternada-
   ı                                                                 a ´
mente utilizando as coordenadas x, y de acordo com a profundidade da arvore [Heredia,
                                                                         ´
Iochpe, Comba, 2003], como pode ser observado na figura 3.




  5
      Do inglˆ s, Case Retrieval Nets.
             e
  6´
      E dada pela diferenca entre o quartil superior e o quartil inferior.
                         ¸
´         ´
    Figura 3. Espaco de busca bidimensional hipotetico e a arvore k-d de busca
                  ¸
    correspondente.


                  ¸˜     ´           ´                  ¸˜
        A construcao da arvore k-d e feita por uma funcao recursiva que verifica a possi-
                                                                       ¸˜
bilidade de continuar a divis˜ o dos dados para adicionar novas ramificacoes.
                             a
              ´
        Essa e a estrutura de dados comumente utilizada por ser aplic´ vel a qualquer
                                                                         a
                                              ¸˜
tipo de sistema, onde se queira fazer recuperacao de chaves secund´ rias ou multichaves,
                                                                  a
visando a criacao de estruturas de ´ndices sobre base de casos que contenham grandes
                ¸˜                  ı
                                                              ´
quantidades de dados. Por´ m, possui a desvantagem de gerar arvores de grande profun-
                           e
                   ¸˜             ´
didade e sua insercao balanceada e extremamente custosa.

4. Similaridade
                      ´
O objetivo do RBC e recuperar casos de sua base que sejam o mais similar poss´vel ı
ao problema a ser resolvido. Os casos recuperados n˜ o precisam ser necessariamente
                                                      a
                  ¸˜
idˆ nticos a situacao atual, por´ m quanto maior o n´vel de similaridade melhor ser´ a
  e                             e                   ı                              a
     ¸˜
solucao encontrada.
                                                                 ´
       Casos podem ser considerados similares se eles forem uteis para a solucao do¸˜
                                                                 ´
caso atual e seu n´vel de similaridade varia entre 0 e 1, onde 0 e a dissimilaridade total
                  ı
              e                                      ¸˜ a
e 1 a coincidˆ ncia absoluta. Apresenta-se nesta secao v´ rios m´ todos heur´sticos para
                                                                  e           ı
determinar o caso de maior utilidade.
4.1. Modelos de similaridade global sim´ trica
                                            e
                                 ´
A similaridade global sim´ trica e calculada entre objetos com base nos seguintes
                            e
modelos: similaridade como distˆ ncia geom´ trica, nearest neighbour, distˆ ncia euclidi-
                                   a           e                               a
ana, distˆ ncia euclidiana ponderada e m´ trica do quarteir˜ o (distˆ ncia de Manhattan).
         a                               e                 a        a
4.1.1. Distˆ ncia geom´ trica
           a          e

Consiste em determinar o menor valor de similaridade para encontrar o vizinho mais
pr´ ximo, por exemplo, considere os trˆ s casos, chamados A, B e C, onde o caso A se
  o                                   e
refere ao caso atual.
                                      a                            a                   ¸˜
       Nessa medida calcula-se a distˆ ncia de x e y para A. A distˆ ncia x e y em relacao
                    ´
a A para o caso B e de 5 e 1, respectivamente, enquanto que a distˆ ncia x e y entre os
                                                                      a
            ´
casos A e C e 5 e 2, respectivamente.
       Portanto:

           Eixo                A              B                    C
           X                   -              5                    5
           Y                   -              1                    2
                                         ¸˜         ˆ         ´
                     Tabela 2. Representacao da distancia geometrica.


     • A distˆ ncia de A ao caso B: d1 = x1 + y1 = 5 + 1 = 6;
             a
     • A distˆ ncia de A ao caso C: d2 = x2 + y2 = 5 + 2 = 7.
             a
                     a                      o           ´
       Conclui-se ent˜ o que o valor mais pr´ ximo de A e o caso B.


4.1.2. Nearest neighbour ponderado [Watson 1999]

Semelhante a distˆ ncia geom´ trica, por´ m utiliza o conceito de peso para cada atributo.
                 a          e           e
Por exemplo, podemos considerar que o modelo de um produto possui um peso maior do
que a cor do produto.
       Portanto temos:

        Eixo               A          B             C         Modelo    Cor
        X                  -          5             5         1         1
        Y                  -          1             2         1         0
                                       ¸˜
                   Tabela 3. Representacao nearest neighbour ponderado.


     • A distˆ ncia de A ao caso B: d1 = x1 ∗ p1 + y1 ∗ p2 = 5 ∗ 1 + 1 ∗ 1 = 6;
             a
     • A distˆ ncia de A ao caso C: d2 = x2 ∗ p1 + y2 ∗ p2 = 5 ∗ 1 + 2 ∗ 0 = 5.
             a
                     a                      o           ´
       Conclui-se ent˜ o que o valor mais pr´ ximo de A e o caso C.
       A f´ rmula pode ser generalizada para:
          o
                                                n
                             sim(Q, C) =            f (Qi, Ci)wi                       (1)
                                             i=1
•   Q = problema atual;
     •   C = caso recuperado da base;
     •   N = n´ mero de casos da base;
               u
     •   F = similaridade local(a princ´pio utilizaremos F=1);
                                       ı
     •   W = peso.


4.1.3. Distˆ ncia euclidiana
           a

Dado um problema Q e um caso C representados por ´ndices Q = (q1 , q2 , ..., qn ) e C =
                                                 ı
(c1 , c2 , ..., cn ).
       A distˆ ncia euclidiana representa a real distˆ ncia entre dois pontos em um espaco
              a                                      a                                  ¸
           ´
qualquer e e dada por:


                                                   n
                               d(Q, C) =                (qi − ci )2                    (2)
                                                i=1




4.1.4. Distˆ ncia euclidiana ponderada
           a

Inserindo pesos W, podemos estender a distˆ ncia euclidiana para:
                                          a


                                               n
                             d(Q, C) =                 wi (qi − ci )2                  (3)
                                              i=1




4.1.5. M´ trica do quarteir˜ o (distˆ ncia de Manhattan, distˆ ncia pombalina ou
         e                 a        a                        a
       distˆ ncia de taxi)
           a

´
E uma medida neutra, avalia todas as diferencas de forma idˆ ntica.
                                            ¸              e
                                                n
                                d(Q, C) =              |qi − ci|                       (4)
                                               i=1


4.2. Medidas de similaridade local
Ao t´ rmino do c´ lculo de similaridade global, pode haver a necessidade de um c´ lculo
    e            a                                                               a
                                                                      ´
mais preciso que atue sobre os atributos, essa medida de similaridade e denominada
similaridade local.
                                                           ¸˜
       A medida de similaridade deve ser definida em relacao ao tipo espec´fico de
                                                                             ı
um atributo, tais como: n´ mero, s´mbolo bin´ rio, s´mbolo (ordenado, n˜ o-ordenado,
                            u         ı           a      ı             a
taxonˆ mico), conjunto, intervalo, string, dentre outros.
     o
Atributos                ¸˜
                      Situacao atual            Caso 1                    Valor similaridade
         ¸˜
   Descricao          Carro, siena, prata       Carro, siena              1
   Ano                2010                      2009                      0.9
   Cor                Prata                     Preto                     0.5
   Marca              Fiat                      Fiat                      1
   Modelo             Siena                     Siena                     1
   Preco
      ¸               R$ 35.125,00              R$ 32.540,00              0.8
                                              ¸˜
                 Tabela 4. Tabela de demonstracao de similaridade local.


        ´
4.2.1. Numero

Pode ser expressa pelo m´ dulo da diferenca entre valores, ser´ utilizado o preco do carro
                        o                ¸                    a                ¸
como exemplo: |preco1 − preco2 |.
                    ¸         ¸


          ¸˜
4.2.2. Funcao escada

          ´            ´
Se o caso e totalmente util ou totalmente in´ til, ent˜ o a similaridade local deve ser definida
                                            u         a
                     ¸˜
por meio de uma funcao escada.
     • F (p1 , p2 ) = 0;
     • |p1 − p2 | ≥ S sendo ’S’ o ponto do degrau.
       O preco dos carros poder´ ser considerado igual quando sua diferenca for menor
              ¸                  a                                        ¸
que R$ 350,00, e sua similaridade ser´ 1, para valores maiores de R$ 350,00 ser´ con-
                                       a                                       a
siderado dissimilar e assumir o valor de similaridade igual a 0.


          ¸˜
4.2.3. Funcao linear

                                                      e ´
Adequada para a maioria dos tipos num´ ricos. A id´ ia e que a similaridade cresce com
                                          e
o decr´ cimo da distˆ ncia entre os dois valores, ponderada pelo tamanho do intervalo as-
      e             a
sumido pelo dom´nio dos valores do atributo, [Wangenheim 2003].
                 ı

                                               1                pi = pj
                               ρ(pi , pj ) =        |pi −pj |                                  (5)
                                               1−    ls −li
                                                                sen˜ o
                                                                   a

     • ls = limite superior;
     • li = limite inferior.


4.2.4. Tipo escalar

As medidas de similaridade para tipos num´ ricos possuem um problema como: valores
                                          e
muito grandes tˆ m o mesmo valor de similaridade que valores muito pequenos, por
                e
                                           ´       `
exemplo: a similaridade de 30.120 e 30.110 e igual a similaridade de 10 e 20, isso ocorre
                    ´
porque a distˆ ncia e a mesma.
             a
Ao atribuir valores diferentes de similaridade de acordo com o tamanho do valor,
´
e poss´vel adotar uma escala logar´tmica onde a similaridade de valores pequenos ser´
      ı                             ı                                                 a
menor que a similaridade de valores grandes.


4.2.5. Strings

´
E aconselh´ vel substituir strings por valores simb´ licos, por´ m existem alguns enfoques
            a                                      o           e
para c´ lculo da similaridade entre strings:
      a
       Correspondˆ ncia exata: as strings ser˜ o consideradas similares se e somente se
                    e                        a
forem escritas da mesma forma.
              ¸˜
        Correcao ortogr´ fica: grau de similaridade e expresso pegando-se o n´ mero de
                         a                            ´                          u
caracteres iguais dividido pelo n´ mero total de caracteres da maior string, por exemplo,
                                 u
”writeln”e ”write”, o grau de similaridade ser´ 5/7=0.7.
                                              a
        Contagem de palavras: nesse caso conta-se o n´ mero de palavras idˆ nticas, por
                                                          u                   e
exemplo, ”carro siena vermelho quatro portas”e ”carro siena vermelho duas portas”, ent˜ o
                                                                                        a
   u                     e       ´        u                                    ´
o n´ mero de palavras idˆ nticas e 4 e o n´ mero total de palavras da consulta e 5, logo a
similaridade ser´ 4/5= 0.8.
                a

           ¸˜
5. Recuperacao de casos
              ´
Seu objetivo e encontrar um ou mais casos na base de conhecimento que seja similar
                                       ´ `         ¸˜                   ´
ao caso atual, ou seja, que pode ser util a situacao atual. Para isso, e necess´ rio casar
                                                                                 a
        ¸˜
a descricao do caso atual com os casos armazenados, baseando-se em uma medida de
                     ¸˜ a                                          ¸˜
similaridade. Esta secao ir´ detalhar a estrutura geral da recuperacao de casos.
                               ¸˜
        O processo de recuperacao pode ser formalmente descrito por um conjunto de
subtrarefas que devem ser realizadas pelo sistema RBC, s˜ o estas: Assessoramento da
                                                        a
     ¸˜                   ¸˜
situacao, casamento e selecao.
        O assessoramento da situacao, mais complexa dentre as trˆ s subtarefas, uti-
                                       ¸˜                               e
                                               ¸˜
liza conhecimento e pode exigir uma iteracao proativa com o usu´ rio. O objetivo e
                                                                       a               ´
                                       ´            ¸˜               ´
encontrar os casos potencialmente uteis a situacao atual, logo, e necess´ rio utilizar a
                                                                            a
     ¸˜                                                      ¸˜
situacao atual como entrada para o processo de recuperacao. Para isto, s˜ o utilizados
                                                                             a
´ndices(caracter´sticas) que s˜ o relevantes para encontrar o caso adequado chamados
ı               ı             a
descritores de entrada.
                                  ¸˜           ¸˜
       Quando a primeira descricao da situacao atual estiver incompleta, o assessora-
mento elabora ´ndices relevantes para permitir a recuperacao de casos adequados. Neste
               ı                                          ¸˜
                 ¸˜                                   ´
contexto, a selecao de testes que dever˜ o ser feitos e muito importante para o ganho de
                                       a
        ¸˜                                                   `    ¸˜
informacao potencial, aumentando as evidˆ ncias associadas a situacao corrente. Este pro-
                                          e
           ´
cedimento e chamado de Levantamento de Sintomas Dirigido.
       O casamento de casos consiste em associar a descricao do caso atual com um ou
                                                          ¸˜
mais casos da base de casos de acordo com as medidas de similaridade.
                                                                ¸˜
        Os algoritmos respons´ veis por esta etapa da recuperacao de casos podem ser
                              a
                                                       ¸˜                     ¸˜
caros computacionalmente por necessitar da combinacao de busca e comparacao de ca-
                                                        ¸˜
sos, no entanto existem deferentes t´ cnicas de recuperacao que podem ser aplicadas para
                                    e
                       ´
tornar o processo mais agil.
Qual t´ cnica utilizar depende da estruturacao da base de casos, ´ndices e medidas
               e                                   ¸˜                    ı
de similaridade. A partir do conjunto de casos similares gerado pela etapa de casamento,
´
e realizada a escolha de um caso, considerado o mais similar.
                                             ¸˜                                     ¸˜
       Dentre as caracter´sticas da recuperacao de casos, est˜ o a qualidade da solucao
                          ı                                   a
                                           ¸˜
gerada e a eficiˆ ncia do processo de solucao. Visando estes pontos, os conceitos de
                e
                     ¸˜                       ¸˜ a
matem´ ticos de correcao e completeza da solucao s˜ o aplicados.
      a
       Um m´ todo e considerado correto, se uma relacao de similaridade definida pelo
             e      ´                               ¸˜
m´ todo entre um caso e o problema atual tamb´ m existe no conceito de similaridade
  e                                           e
                          ¸˜
desenvolvido para a aplicacao.
      Um m´ todo e considerado completo, se toda relacao de similaridade representada
            e      ´                                  ¸˜
                         e                                   e                 ¸˜
no modelo do sistema tamb´ m se encontra no resultado deste m´ todo de recuperacao.

                          ¸˜
5.1. T´ cnicas de recuperacao
      e
       ¸˜                                             ¸˜
Esta secao destaca as principais t´ cnicas de recuperacao de casos.
                                  e


               ¸˜     ¨
5.1.1. Recuperacao Sequencial

                                                     ´
T´ cnica mais simples, onde a medida de similaridade e calculada sequencialmente para
  e
                                                     ¸˜
todos os casos na base de casos. Permite a determinacao dos ’m’ casos mais similares.
Vantagens:

     • Comprovadamente completa e corret. Completa porque analisa todos os casos da base,
       e correta porque aplica diretamente e na ´ntegra o conceito de similaridade definido pelo
                                                ı
       sistema a cada caso;

     • Implementacao simples;
                 ¸˜

     • Aceita utilizacao de medidas de similaridade arbitr´ rias;
                     ¸˜                                   a

     • Permite consultas ad-hoc independentes do conceito de similaridade. Desvantagens:

     • Performance fraca para bases de casos grandes;

     • Esforco de recuperacao constante, independente da complexidade e do n´ mero de casos a
            ¸             ¸˜                                                u
       serem recuperados;

     • Esforco de recuperacao n˜ o pode ser reduzido ou limitado por conhecimento adicional.
            ¸             ¸˜ a


                           TIPOS:
                            1. Tipocaso = ...
                            2. SimCaso = REGISTRO
                            3. case: TipoCaso;
                            4. similaridade: [0..1]
                            5. FIM;
                           VARIAVEIS
                           ListaCasoSim: VETOR[1..m] DE SimCaso
                           CaseBase: ARRAY[1..n] DE TipoCaso (* base de casos *)
                           Consulta: TipoCaso

                     Tabela 5. Estrutura de dados (Wangenheim, 2003).
¸˜
                           1. FUNCAO SelecRel(CaseBase, Consulta, m): ListaCasoSim
                           2. IN´ICIO
                           3. ListaCasoSim[1..m].similaridade :=0
                           4. PARA 1:=1 TO n FACA ¸
                            i. SE sim(Consulta, CaseBase[i])¿ListaCasoSim[m].similaridade
                                    ˜
                            ii. ENTAO insira CaseBase[i] em ListaCasoSim
                           5. RETORNE ListaCasoSim
                           6. FIM

                  Tabela 6. Algoritmo de recuperacao seq¨ encial (Wangenheim, 2003).
                                                 ¸˜     u


               ¸˜
5.1.2. Recuperacao de dois n´veis
                            ı

        e             ı    ´               a         u              ¸˜
Neste m´ todo, o princ´pio e reduzir ao m´ ximo o n´ mero de comparacoes de casos por
              ¸˜            ¸˜                                 `
meio da aplicacao de limitacoes adequadamente escolhidas a base de casos. Assim, s˜ o
                                                                                   a
                      ¸˜                ¸˜
exclu´dos da comparacao com a descricao do problema atual os casos para os quais se
     ı
                                           a ´                  ¸˜
pode determinar, com certeza, que n˜ o ser˜ o uteis para a solucao.
                                    a
                                    a               ı                  ¸˜
        Isto significa que aqui ser˜ o aplicadas heur´sticas para a reducao do espaco de
                                                                                  ¸
                                                                             7
                                           ¸˜
busca, para agilizar o processo de recuperacao. Baseado no modelo MAC/FAC , o m´ todo
                                                                                  e
            ¸˜
de recuperacao de dois n´veis funciona por meio dos seguintes processos:
                          ı

           e      ¸˜
      1. Pr´ -selecao de poss´veis candidatos;
                             ı

               ¸˜
      2. Ordenacao dos candidatos de acordo com o conceito de similaridade.

                                                                         `     ¸˜ a
       No primeiro passo, denominado passo-MAC, candidatos potenciais a solucao s˜ o
determinados a partir do conjunto de todos os casos por meio de similaridades no n´vel
                                                                                  ı
                    ¸˜
mais baixo da descricao sint´ tica dos casos.
                            a
       No segundo passo, denominado passo-FAC, os melhores candidatos s˜ o escol-
                                                                            a
                                                            ´
hidos a partir do conjunto de casos pr´ -selecionados. Isto e realizado por meio de
                                      e
         ¸˜                              ¸˜
comparacoes mais complexas, com aplicacao de an´ lise estrutural dos casos ou mesmo
                                                  a
de todo o conceito de similaridade.




                         Figura 4. Modelo MAC/FAC (Wangenheim, 2003).


  7
      Do inglˆ s, Many Are Called; Few Are Chosen.
             e
¸˜
                   1. FUNCAO RestrigeBase(CaseBase, Consulta, m): ConjCasos
                   2. IN´
                        ICIO
                   3. ...
                   4. RETORNE(ConjCasos)
                   5. FIM

                   6.       ¸˜
                        FUNCAO Selec2N(CaseBase, Consulta, m): ListaCasoSim
                   7.   IN´
                          ICIO
                   8.    RETORNE (SelecSeq(RestringeBase(CaseBase,Consulta,m),Consulta,m))
                   9.   FIM

                                        ¸˜
         Tabela 7. Algoritmo de recuperacao de dois n´veis (Wangenheim, 2003).
                                                     ı


        Este modelo pode ser facilmente mapeado em um banco de dados relacional. No
primeiro passo, uma s´ rie de consultas (que representam o predicado SIM()) recupera
                      e
o conjunto de candidatos potenciais. A medida de similaridade calculada por meio da
      ¸˜                                         ¸˜
aplicacao do conceito SIM() sobre cada informacao pode ser usada como chave para
       ¸˜
ordenacao desta tabela.
                ¸˜
       A utilizacao deste m´ todo provˆ uma melhora de desempenho consider´ vel, caso
                            e          e                                      a
o n´ mero de candidatos potenciais seja consideravelmente menor do que o total de casos
   u
                             a                                              e      ¸˜
na base. A complexidade ser´ equivalente a soma dos custos para aplicar a pr´ -selecao a
                                                   ¸˜
todos os casos da base mais os custos da determinacao seq¨ encial da medida de similari-
                                                         u
dade para os casos selecionados no primeiro passo.
       Esta melhoria na performance pode ter um preco: a possibilidade de erros de
                                                         ¸
        ¸˜
recuperacao. Estes poss´veis erros s˜ o classificados em dois tipos:
                       ı            a

     • Erro α: um caso suficientemente similar a consulta n˜ o e selecionado no primeiro passo;
                                              `           a ´

     • Erro β: um caso que n˜ o e suficientemente similar a consulta e selecionado no primeiro
                            a ´                          `          ´
       passo como candidato potencial.

       Desta forma, a eficiˆ ncia deste m´ todo fica por conta dos erros α e β, o erro
                            e             e
α influencia diretamente na eficiˆ ncia do m´ todo, pois afeta a completeza do resultado.
                                 e          e
Caso o erro β, se apresente em grande n´ mero, o desempenho do algoritmo e afetado,
                                         u                                    ´
pois casos irrelevantes aparecer˜ o no conjunto de potenciais candidatos. Isto deve ser
                                a
                                                 ¸˜
controlado pela escolha do predicado de pr´ -selecao SIM().
                                          e


                ¸˜
5.1.3. Determinacao de SIM()

Existem v´ rios enfoques para se determinar a SIM(), dentre eles:
         a

     • Igualdade: todos os atributos de um caso correspondem aos atributos do caso em quest˜ o;
                                                                                           a

     • Igualdade parcial: pelo menos um atributo de um caso corresponde ao atributo do caso
       em quest˜ o;
               a

     • Similaridade local: todos ou k atributos de um caso s˜ o similares aos atributos do caso
                                                            a
       em quest˜ o;
               a

     • Similaridade local parcial: pelo menos um dos atributos de um caso e suficientemente
                                                                          ´
       similar a um atributo do caso em quest˜ o;
                                             a
Vantagens:

     • Poss´vel vantagem de performance;
           ı

     • Correcao do m´ todo;
            ¸˜      e

     • Custo de recuperacao e vari´ vel;
                        ¸˜ ´      a

     • Utilizacao de conhecimento;
              ¸˜

     • Consultas ad-hoc s˜ o poss´veis.
                         a       ı

       Desvantagens:

     • Possibilidade de erros;

     • Ganho em performance n˜ o e garantido;
                             a ´

     • Dif´cil definicao do predicado SIM().
          ı         ¸˜


               ¸˜              ´
5.1.4. Recuperacao Orientada a Indices

Este m´ todo e executado em duas fases, primeiro seleciona os ´ndices adequados a serem
       e      ´                                                 ı
utilizados, ent˜ o efetua a recuperacao baseada nestes ´ndices:
                a                   ¸˜                 ı

    1. Pr´ -processamento: todos os casos s˜ o analisados com base em crit´ rios tomados a partir
         e                                  a                             e
       da consulta e uma estrutura de ´ndices para o acesso e gerada.
                                      ı                     ´

                 ¸˜
    2. Recuperacao: os casos mais similares s˜ o determinados a partir da estrutura de ´ndices
                                             a                                         ı
       gerada anteriormente.




                           ´         ´                 ¸˜
      Figura 5. Princ´pio basico de metodos de recuperacao orientados a ´ndices.
                     ı                                                  ı


                                              ´
        A principal vantagem desse m´ todo e o ganho de performance devido a
                                       e                                           `
         ¸˜                             ¸˜   ´
comparacao de casos durante a recuperacao. E necess´ rio atingir um equil´brio entre
                                                     a                   ı
                  ¸˜                                                    ¸˜
custos de recuperacao de casos, complexidade de processamento e manutencao de uma
estrutura complexa de ´ndices.
                      ı
      Suas desvantagens s˜ o: custos de processamento elevados, o esforco de
                             a                                         ¸
          ¸˜
implementacao e a n˜ o possibilidade de efetuar consultas ad-hoc.
                   a
¸ ´
                               1. Desca a arvore at´ uma folha
                                                    e
                               2. Calcule a similaridade para os casos na folha
                               3. Determine t´ rmino
                                               e
                               4. Determine mais candidatos
                                a. SE repositorios intersectam ENTAO
                                b. Pesquise em ramos alternativos
                               5. Retorne a p.3
                               7. Pare se n˜ o h´ reposit´ rios que intersectam
                                           a a           o

                                       ¸˜     ´
        Tabela 8. Princ´pio da recuperacao em arvores k-d (Wangenheim, 2003).
                       ı

                            1. IN´
                                 ICIO
                                        ´
                            2. SE K e folha ENTAO    ˜
                            3. PARA cada caso F de K FACA   ¸
                            4.     SE sim(Q,F) > scq[m] ENTAO ˜
                            5.      Insira F em scq
                                      ˜
                            6. SENAO (* nodo interno *)
                            7. SE Ai e o atributo e vi o valor que rotulam K
                                           ´
                            8.     SE Q[Ai ] ≤ vi ENTAO˜
                            9.      recupere(K≤ )
                            10.                   ´
                                   SE Teste-EIL e verdade ENTAO ˜
                            11.      recupere(K> )
                            12. SENAO    ˜
                            13.    recupere(K> )
                            14.                   ´
                                   SE Teste-EIL e verdade ENTAO ˜
                            15.      recupere(K≤ )
                                                ´
                            16. SE Teste-EDL e verdade ENTAO  ˜
                                                    ¸˜
                            17. Termine recuperacao com scq
                            18. FIM

                                           ´
          Tabela 9. ALGORITMO recupere (K: arvore k-d) (Wangenheim, 2003).


               ¸˜      ´
5.1.5. Recuperacao com arvores k-d

            ¸˜        ´                                ´
Na recuperacao com arvores k-d, o espaco de busca e estruturado com base em sua den-
                                         ¸
                            ¸˜     a ´
sidade observada, a recuperacao ent˜ o, e feita nesta estrutura.
       Principais vantagens:

    • Recuperacao extremamente eficiente;
              ¸˜

    • Esforco de recuperacao depende do n´ mero m de casos que se deseja recuperar;
           ¸             ¸˜              u

    • Extens˜ o incremental se mais casos se tornarem dispon´veis;
            a                                               ı

    • Armazenamento dos casos em uma base de dados f´ cil de ser realizado.
                                                    a

       Desvantagens:

    • Esforco maior na criacao da estrutura de ´ndices da arvore k-d.
           ¸               ¸˜                  ı          ´
¸˜
5.2. Redes de Recuperacao de Casos

                                            ¸˜ a
Os principais passos do processo de recuperacao s˜ o:


            ¸˜                                            ¸˜
    1. Ativacao das Eis dadas por meio do caso de recuperacao;

                ¸˜             ¸˜
    2. Prorrogacao dessa ativacao de acordo com a similaridade por meio de toda a rede de EI
       at´ que nodos de casos sejam alcancados;
         e                               ¸

                      ¸˜                                                                       `
    3. Coleta da ativacao adquirida nos nodos de caso associados, a qual reflete a similaridade a
       consulta.


                                                        ¸˜
        Formalmente, pode-se definir uma rede de recuperacao de casos b´ sica como
                                                                      a
descrito abaixo:

                        N=[E, C, S, F, T) onde:
                            ´
                        . E e um conjunto finito de nodos EI;
                            ´
                        . C e um conjunto finito de nodos de casos;
                            ´
                        . S E uma medida de similaridade S: E x E → R que descreve a
                        similaridade local S (e’, e”) entre duas EIs e’, e”;
                        . F e uma funcao de relevˆ ncia F: E x C → R que descreve a
                            ´          ¸˜          a
                        relevˆ ncia (peso) F(e,c) da EI e para o nodo de caso c;
                              a
                        . T e o conjunto de funcoes de propagacao tn : RE → R
                            ´                   ¸˜               ¸˜
                        para cada nodo n E ∪ C.

                                        ¸˜
             Tabela 10. Rede de recuperacao de casos (Wangenheim, 2003).



       Vantagens:

     • Representacao de medidas de similaridade compostas;
                 ¸˜

     • Capacidade de manipular consultas incompletas;

     • Medidas de similaridade sens´veis a contexto;
                                   ı

     • Recuperacao eficiente;
               ¸˜

     • Recuperacao completa;
               ¸˜

     • Recuperacao e representacao flex´veis de casos.
               ¸˜              ¸˜     ı

       Desvantagens:

     • Construcao inicial requer custos computacionais altos;
              ¸˜

     • Sens´vel a inconsistˆ ncias nos dados armazenados;
           ı               e

     • Falta de nodos para atributos num´ ricos e muitos passos de propagacao s˜ o necess´ rios se
                                         e                                ¸˜ a           a
                                ´
       o grau de conectividade e alto e com muitas EI semelhantes.
5.3. Qual o melhor m´ todo?
                    e
   e                   a                        ¸˜
O m´ todo que melhor ir´ se adaptar a uma aplicacao depender´ dos seguintes aspectos:
                                                            a

     • Representacao de casos: casos se apresentam em uma estrutura fixa, pr´ -definida, ou sem
                  ¸˜                                                       e
                                                  ¸˜
       formato e pode variar de acordo com a situacao do sistema;

     • Estrutura de Base de casos: tamanho desta base, do conhecimento a ser aplicado ou a
       eficiˆ ncia que ser´ necess´ ria;
           e             a       a

     • Medida de similaridade: locais, globais ou at´ mesmo os dois tipos, dependendo da
                                                    e
            ¸˜
       situacao.

            ¸˜
6. Reutilizacao de casos
                                                 ¸˜
A partir de um caso armazenado na base, sua solucao e os detalhes de como o mesmo foi
                                                           ¸˜
realizado s˜ o objetos que podem ser analisados para a solucao de um novo problema no
           a
                                                                                 ¸˜
sistema. O simples fato de se utilizar um caso armazenado caracteriza a reutilizacao em
sistemas de RBC.
                               ¸˜                            ¸˜        ¸˜
       O processo de reutilizacao se d´ atrav´ s da adaptacao de solucoes encontradas de
                                         a      e
                                                      ¸˜
casos anteriores, que podem ser utilizadas na solucao de novos casos, por´ m, espera-se
                                                                             e
               ¸˜ a                                                                    ¸˜
que esta adaptacao n˜ o seja necess´ ria, e sim, que o sistema possa encontrar uma solucao
                                   a
em potencial para o problema apresentado.
        Conforme [Wangenheim 2003], ao inv´ s de se adaptar um caso recuperado, pode-
                                               e
se optar pela inclus˜ o de uma grande quantidade de casos na base, possibilitando uma
                     a
     ¸˜
solucao garantida a todo problema apresentado no sistema. A principal dificuldade en-
                                ¸˜               ¸˜                              ¸˜
frentada no processo de adaptacao est´ na definicao de como realiz´ -la. A adaptacao pode
                                       a                            a
                        a          e                             ¸˜
ocorrer de forma autom´ tica, por´ m, deve-se levar em consideracao os seguintes detalhes:
as diferencas entre os casos (atual e o passado) e que detalhes do caso passado podem ser
          ¸
utilizados no caso atual.
       V´ rias t´ cnicas j´ foram pesquisadas e desenvolvidas para o processo automati-
         a      e         a
                ¸˜                                                          ¸˜
zado de adaptacao. Conforme [Wangenheim 2003], as estrat´ gias de adaptacoes s˜ o as
                                                             e                    a
seguintes:
     • Adaptacao nula;
             ¸˜
     • Adaptacao transformacional;
             ¸˜
           – Adaptacao substitucional;
                     ¸˜
           – Adaptacao estrutural;
                     ¸˜
     • Adaptacao gerativa/derivacional;
             ¸˜
           – Inicializacao;
                        ¸˜
           – One-shot replay;
           – Replay entrelacado;
                             ¸
     • Adaptacao composicional;
             ¸˜
     • Adaptacao hier´ rquica.
             ¸˜       a
                                  a ´                        ¸˜
Em meio a essas t´ cnicas, a quest˜ o e como utilizar a solucao de um caso armazenado
                   e
                              ¸˜
para o caso proposto. A solucao se daria atrav´ s da transferˆ ncia completa ou parcial do
                                              e              e
caso similar, ou utilizando fragmentos dos casos candidatos, gerando assim uma solucao ¸˜
                            ¸˜
com o conjunto de informacoes obtidas.
7. Revis˜ o de casos
        a
         ¸˜ ´
Nesta secao e abordada as quest˜ es de aprendizado do sistema. Quando um caso n˜ o cor-
                                o                                                a
     ´                                                      ¸˜
reto e selecionado, h´ a necessidade de armazenar esta situacao a fim de evitar poss´veis
                     a                                                             ı
                                                  ¸˜
erros no futuro. Da mesma forma, quando a solucao gerada for considerada correta, o
sistema deve “aprender” com o sucesso e reter o caso. A revis˜ o de casos consiste em
                                                                a
duas tarefas:

     • Avaliar a solucao e fazer a retencao, no caso de sucesso;
                     ¸˜                 ¸˜

     • Caso contr´ rio, reparar a solucao com base no conhecimento espec´fico ou informacoes
                   a                  ¸˜                                ı              ¸˜
       do usu´ rio.
             a

                                                                             ¸˜
        Primeiramente, a revis˜ o se concentra em encontrar falhas nas solucoes apresen-
                              a
                                          ¸˜              ¸˜                       ¸˜
tadas, considerando o resultado da aplicacao destas solucoes atrav´ s de monitoracao au-
                                                                   e
    a              ¸˜
tom´ tica ou interacao com o usu´ rio. Em seguida, as falhas encontradas s˜ o reparadas ou
                                 a                                        a
explicadas.
                             ¸˜ ´                                        ¸˜
        Quando uma explicacao e dada para uma falha, significa que a solucao em quest˜ o
                                                                                    a
                                               ¸˜     a ´
n˜ o gera os resultados esperados, esta explicacao ent˜ o, e utilizada para modificar a
 a
     ¸˜                                      `     ¸˜
solucao ou a forma como o sistema chegou a solucao de maneira que o caso obtenha
sucesso e a falha n˜ o ocorra futuramente.
                   a
                             ´           ´
       Quando uma falha e reparada, e recomendado que este reparo seja feito em
poss´veis falhas similares, nos casos armazenados na base de casos.
    ı
        “Um bom sistema RBC deve ser projetado de forma a oferecer uma interface para
     ¸˜                                         ¸˜         ¸˜
captacao de feedback sobre o resultado da aplicacao da solucao fornecida”[Wangenheim
2003].

        ¸˜
8. Retencao de novos casos
                                ´
De acordo com [Toniazzo 2005] e importante reter o conhecimento toda vez que um novo
problema for solucionado, estendendo assim a base de casos.
                 ¸˜
       A retencao automatizada de um novo caso em RBC pode ser mais complexa do
que apenas inserir um novo caso de sucesso, tamb´ m se faz necess´ rio utilizar t´ cnicas
                                                  e              a               e
                                         ¸˜
de Aprendizado de M´ quina. Nesta secao ser´ abordado algumas filosofias de retencao
                        a                       a                                     ¸˜
de casos e as t´ cnicas utilizadas em cada uma.
               e

                   ¸˜
8.1. Tipos de retencao
                                                ¸˜
[Wangenheim 2003] Apresenta trˆ s tipos de retencao conhecidos em um sistema de RBC:
                              e
     • Sem retencao de casos: Geralmente aplicado onde se tem um dom´nio satis-
                    ¸˜                                                           ı
                                                              ¸˜          ¸˜
       fat´ rio do conhecimento necess´ rio para a estruturacao da aplicacao. Neste caso,
          o                            a
               ¸˜
       a retencao de novos registros n˜ o se faz necess´ rio, pois o mesmo n˜ o contribuir´
                                      a                a                     a            a
                       ¸˜
       com a otimizacao na performance da aplicacao;¸˜
     • Retencao de solucoes de problemas: Este tipo de retencao e a que caracteriza
               ¸˜         ¸˜                                         ¸˜ ´
       de forma espec´fica o aprendizado no RBC. Quando solucionado um problema, o
                        ı
                                    ´
       conhecimento a experiˆ ncia e armazenada para ser utilizada como um auxiliar nos
                             e
       novos problemas;
• Retencao de Documentos: Aqui a retencao ocorre separada ao processo de
              ¸˜                                   ¸˜
           ¸˜
       solucao de um problema. Sempre que disponibilizado um novo conhecimento
                                                      ¸˜
       no sistema, seja atrav´ s de documentos, descricoes, ou qualquer outro tipo, o pro-
                             e
                     ¸˜ ´
       cesso de retencao e ativado.

                               ¸˜
8.2. Fases do processo de retencao
                     ¸˜                                      ¸˜
O processo de retencao pode ser refinado em trˆ s fases: extracao de conhecimento,
                                                  e
      ¸˜                    ¸˜
indexacao de casos e integracao na base de casos.


            ¸˜
8.2.1. Extracao do conhecimento

´          ¸˜             ¸˜                               ¸˜             ¸˜
E a aquisicao das informacoes necess´ rias para a estruturacao de uma solucao na tomada
                                     a
de decis˜ o. Esse novo conhecimento adquirido ser´ integrado a um caso que j´ exista na
        a                                          a                          a
base, assim como, pode ser constru´do um novo caso [Toniazzo 2005]. As fontes para
                                   ı
novas experiˆ ncias podem ser:
              e
     • Para sistemas de retencao de solucao problemas: A solucao do problema, es-
                               ¸˜         ¸˜                      ¸˜
                                   ¸˜            ¸˜
       trutura do caminho de solucao, representacao do conhecimento usado, hist´ rico
                                                                                  o
                  ¸˜                            ¸˜                               ¸˜
       de adaptacao de casos, protocolos de solucao gerados pelo sistema, explicacoes e
       justificativas;
     • Para sistemas de retencao de documentos: Documentos, manuais t´ cnicos,
                                ¸˜                                             e
               ¸˜
       descricoes de produtos, base de dados online com resumos de conhecimento em
             ´
       uma area.
                       ¸˜
Com base nas informacoes adquiridas, um novo caso poder´ ser integrado em um caso
                                                             a
existente ou um caso similar poder´ ser generalizado para inserir a nova experiˆ ncia. Para
                                  a                                            e
                       ¸˜           ´
qualquer uma das situacoes citadas e preciso levantar o que deve ser utilizado como fonte
de aprendizado e como estruturar a nova experiˆ ncia.
                                                e


             ¸˜
8.2.2. Indexacao

´                                                                                ¸˜
E a fase que decide qual a melhor forma de indexar os casos para futuras recuperacoes.
Uma solucao para este problema seria utilizar todas as entidades como ´ndices.
          ¸˜                                                          ı


              ¸˜
8.2.3. Integracao de casos

                                                    ¸˜                            ¸˜
Esta fase realiza a inclus˜ o, exclus˜ o ou modificacao de casos na base. A integracao
                          a          a
pode realizar um ajuste nos ´ndices existentes e nos pesos dos mesmos, proporcionando
                              ı
                                       ´                                 ¸˜
o refinamento dos casos. O objetivo e que em consultas futuras a recuperacao dos casos
venha a ser feita em uma base de casos atualizada.

8.3. Aprendizado baseado em casos
RBC implica em uma forma de aprendizado por analogia, em que, por meio da
          ¸˜
transformacao e extens˜ o do conhecimento existente, uma tarefa ou problema similar
                      a
´
e executado ou removido [Andrade 2008].
`
       Algoritmos para aprendizados baseado em casos pertencem a classe de algoritmos
                                                         8
de aprendizado de instˆ ncias, os chamados Algoritmos IBL .
                      a


8.3.1. Algoritmos IBL

Conforme [Alves 2005] sempre que um sistema altera seu conhecimento, atrav´ s dae
   ¸˜                                            ¸˜
adicao de novos padr˜ es, ou outro tipo de alteracao, podemos falar de um processo de
                    o
aprendizado.
       Algoritmos IBL aprendem a categorizar um conjunto de classes de objetos de
forma incremental com base em exemplos de instˆ ncias dessas categorias.
                                              a
        Segundo [Wangenheim 2003] existem trˆ s componentes presentes em todas as
                                            e
classes de algoritmos-IBL:
        • Funcao de Similaridade: Computa a similaridade entre uma instˆ ncia de treina-
              ¸˜                                                          a
          mento i e as instˆ ncias em uma dada descricao conceitual;
                           a                         ¸˜
        • Funca
              ¸ ˜ o de Classificacao: Recebe o resultado da ”Funcao de Similaridade”e
                                   ¸ ˜                               ¸˜
          provˆ uma classificacao para i;
              e                 ¸˜
        • Atualizador do descritor conceitual: Decide quais instˆ ncias incluir na
                                                                        a
                 ¸˜
          descricao conceitual.
       ¸˜                              ¸˜ e
As funcoes de similaridade e classificacao tˆ m o objetivo de determinar como o conjunto
       a                       ¸˜
de instˆ ncias salvas na descricao conceitual ser˜ o utilizadas para predizer valores para o
                                                 a
atributo de categoria.
       De acordo com [Wangenheim 2003], para supervisionar o desempenho de algorit-
mos de aprendizado usamos as seguintes dimens˜ es:
                                             o
        • Generalidade: Representa as classes de conceito que podem ser aprendidos e
          descritos pelo algoritmo em quest˜ o;
                                              a
        • Acur´ cia: E
                a     ´ a acur´ cia da classificacao provida pela descricao conceitual;
                              a                  ¸˜                     ¸˜
                                     `
        • Taxa de Aprendizado: E a velocidade com a qual a acur´ cia classificat´ ria au-
                                                                       a             o
          menta durante o aprendizado;
        • Custos de Incorporacao: Custos que decorrem da atualizacao da descricao con-
                                 ¸˜                                     ¸˜          ¸˜
                                      a               a   ´
          ceitual por meio da inclus˜ o de uma instˆ ncia unica;
        • Requisitos de Armazenamento: Tamanho da descricao conceitual, que em
                                                                    ¸˜
                           ´
          algoritmos-IBL e definida com o n´ mero de instˆ ncias que necessitam ser salvas,
                                               u            a
          para prover um desempenho classificat´ rio adequado.
                                                    o
                   ´
O algoritmo IBL1 e o mais simples algoritmo de aprendizado baseado em instˆ ncias. A
                                                                          a
   ¸˜                  ´
funcao de similaridade e a seguinte:

                                                    n
                                    sim(Q, C) = −         f (Q, C)                      (6)
                                                    i=1


Onde os casos s˜ o descritos atrav´ s de n entidades. Definimos f (Qi, Ci) = (Qi − Ci)2
                 a                e
para entidades de valor num´ rico, e f (Qi, Ci) = (Qi. 1 Ci) para entidades booleanas e de
                             e                         4
valor simb´ lico ou textual [Wangenheim 2003].
           o
   8
       Do inglˆ s, Instance-Based Learning.
              e
Entidades ausentes s˜ o consideradas como sendo maximamente diferentes do
                             a
valor presente. Se ambos faltam, ent˜ o vale f (Qi, Ci) = 1. De acordo com [Wangenheim
                                    a
                          ´ e                                                       ¸˜
2003], o algoritmo IBL1 e idˆ ntico ao algoritmo nearest neighbour discutido na secao 4,
                                                      ´
exceto que, pelo fato de normalizar as faixas das EI, e capaz de processar casos de forma
incremental, e possui uma pol´tica simples para lidar com valores desconhecidos.
                              ı
               ¸˜                                  ¸˜                          ¸˜
        As funcoes de similaridade e de classificacao de IBL1 provˆ uma descricao con-
                                                                     e
ceitual extensiva a partir do conjunto de casos salvos, mostrado na tabela 11.

                   DC: Descritor Conceitual
                   Inicialize DC := 0
                   PARA cada C ∈ conjunto de treinamento FACA
                                                            ¸
                      PARA cada C ∈ DC FACA    ¸
                        sim(C) := sim(Q, C)
                        Cmax := algum C ∈ DC com MAX sim(C)
                        SE classe(Q) = classe(Cmax) ENTAO ˜
                           classificacao := correta
                                    ¸˜
                              ˜
                        SENAO classificacao := incorreta
                                          ¸˜
                           DC := DC ∈ Q
                   FIM
                                 Tabela 11. Algoritmo IBL1


       Existem duas extens˜ es deste algoritmo que s˜ o respectivamente o algoritmo IBL2
                              o                       a
             e a                 ´
e IBL3. A id´ ia b´ sica do IBL2 e que n˜ o precisamos instanciar todos os novos casos para
                                        a
                          ¸˜                                ´
permitir uma boa descricao dos limites de um conceito. E necess´ rio apenas utilizar um
                                                                    a
caso similar de sucesso e seus casos vizinhos similares de insucessos para se formular uma
           ¸˜           ¸˜
nova descricao da solucao. IBL2 reduz drasticamente as necessidades de armazenamento.
                                   ´
         O maior problema do IBL2 e o ru´do, que rapidamente mortifica seu desempenho,
                                         ı
                                                `
podendo levar a uma acur´ cia bastante inferior a do IBL1. Isto ocorre porque IBL2 salva
                         a
todos os exemplos de treinamento com ru´do que classifica erroneamente e depois os
                                            ı
utiliza.
              ´
        IBL3 e uma extens˜ o do IBL2 tolerante a ru´dos que emprega uma estrat´ gia de
                            a                          ı                             e
coleta de evidˆ ncias de “esperar para ver”para ent˜ o averiguar quais das instˆ ncias salvas
              e                                    a                           a
                                          ¸˜             ¸˜                   ´ e
v˜ o funcionar bem durante a classificacao. Sua funcao de similaridade e idˆ ntica ao
 a
                                         uˆ
IBL2. No entanto, IBL3 registra a freq¨ encia com a qual um caso armazenado quando
escolhido como o mais similar ao caso atual correspondeu ao valor do atributo-meta deste.
       ¸˜               ¸˜                             ¸˜
A funcao de classificacao e o algoritmo de atualizacao diferem do IBL3. Entre outras
                    e                            ¸˜
coisas, IBL3 mant´ m um registro de classificacoes, registrando o n´ mero de tentativas
                                                                       u
corretas e incorretas, associado a cada caso armazenado.

                    ¸˜
9. Dom´nio da aplicacao
      ı
A tecnologia de RBC pode ser utilizada em v´ rios dom´nios, como por exemplo: an´ lise
                                              a         ı                              a
                   ¸˜ e
financeira, manutencao t´ cnica, controle de processos, controle da qualidade, diagn´ stico
                                                                                     o
m´ dico, sistemas de suporte a software, previs˜ o, planejamento, projeto, classificacao,
  e                                              a                                      ¸˜
          ¸˜                    ¸˜
interpretacao de imagens, avaliacao imobili´ ria, com´ rcio eletrˆ nico, suporte ao usu´ rio
                                            a        e           o                      a
e etc.
Cada dom´nio possui suas caracter´sticas particulares que influenciam fortemente
                  ı                     ı
                        ¸˜
na escolha da representacao do conhecimento a ser utilizado [Wangenheim 2003].

             `
9.1. Suporte a vendas
                          ´            ı `
O objetivo desse dom´nio e oferecer aux´lio a venda de produtos, estimando custos ade-
                      ı
quados ao perfil do cliente.
         De acordo com [Nisanbayev, Ko, Abdulaev, Na, Lim 2009] e [Wangenheim 2003]
                    `
o dom´nio suporte a vendas, pode ser definido como qualquer atividade de comunicacao
       ı                                                                             ¸˜
                                                     `
em forma eletrˆ nica realizada para oferecer suporte a atividades comerciais. Podendo se
               o
inserir em diferentes momentos tais como: pr´ -venda, venda e p´ s-venda.
                                              e                  o
        No per´odo de pr´ -venda, o cliente manifesta interesse por um produto ou servico,
              ı         e                                                              ¸
                       ¸˜
e obt´ m toda a informacao. Na venda, um cliente e um vendedor negociam produtos ou
     e
                                ´
servicos. A tarefa do vendedor e descobrir as necessidades do cliente e oferecer-lhe um
     ¸
produto ou servico adequado.
                 ¸
        Neste contexto, o SRBC tem como objetivo oferecer ao cliente servicos e facili-
                                                                               ¸
                        ¸˜                                  ¸˜
dades melhores de selecao. Por exemplo, durante a situacao de pr´ -venda, o SRBC pode
                                                                     e
ser aplicado para capturar caracter´sticas do cliente e oferecer um produto similar ao perfil
                                   ı
do mesmo.
         At´ o momento foi apresentada a t´ cnologia RBC, em seguida, ser´ feita uma
           e                                  e                              a
                            ¸˜
an´ lise detalhada da aplicacao, o projeto e a modelagem do sistema proposto.
  a

9.2. Projeto proposto
O projeto tem como objetivo modelar e desenvolver um sistema de vendas on-line, uti-
lizando a tecnologia RBC. Com base nas caracter´sticas do cliente, o sistema buscar´ na
                                                 ı                                  a
                              ¸˜
base de conhecimento por situacoes (casos) que julgue similares ao perfil desse cliente.
       Utilizando-se o exemplo abaixo, onde um cliente gostaria de comprar um carro
em um ambiente Web, e fornecendo seus dados e caracter´sticas o sistema ir´ sugerir o
                                                       ı                  a
carro mais similar ao seu perfil:
         Caso atual:
     •   Profiss˜ o: Engenheiro el´ trico
                a                e
     •   Idade: 25
     •   Hobby: Esportes
     •   Classe Social: Alta
         Caso recuperado:
     •   Cliente: Carlos Magno
     •                                  ¸˜
         Profiss˜ o: Engenheiro de Automacao
                a
     •   Idade: 29
     •   Hobby: Esportes
     •   Classe Social: Alta
               ¸˜         ¸˜
         Descricao da Solucao:
     • Carro Comprado: Audi TT
     • Cor: Amarelo
• Valor: R$ 120.000
     • Forma de Pagamento: 10 vezes no cheque
       Logo, o sistema recomendar´ o carro do caso mais similar recuperado da base de
                                    a
conhecimento e apresentaria seus benef´cios. Caso o cliente goste do produto, o sistema
                                        ı
o questionar´ sobre a forma de pagamento mais adequado e interagindo com o mesmo,
             a
        a                         ı                    a          ¸˜
calcular´ o valor do desconto poss´vel e assim concluir´ a negociacao.

9.3. Modelagem do sistema
         ¸˜
Nesta secao apresenta-se o diagrama de casos do sistema proposto e descreve-se o princi-
pal caso de uso: consultar produto RBC.


9.3.1. Diagrama de casos de uso

Casos de uso envolvidos: consultar produto, consultar produto RBC, comprar produto,
cadastrar cliente, cadastrar produto, cadastrar benef´cio dos produtos, cadastrar fornece-
                                                     ı
                                             ¸˜
dor, cadastrar funcion´ rio e cadastrar promocao, como apresentado na figura 6.
                      a
       Atores do sistema: cliente Web, funcion´ rio e gerente.
                                              a
                                                            ´
       O caso de uso que ser´ interessante para este artigo e o consultar produto RBC,
                             a
que estende do caso de uso comprar produto.




                                               ´
     Figura 6. Diagrama de casos de uso do prototipo do sistema de vendas on-line.



             ¸˜
9.3.2. Descricao do caso de uso comprar produto

                                   ¸˜
Na tabela 12 apresenta-se a descricao do caso de uso comprar produto, que tem como
fluxo alternativo consultar produto RBC e registrar pedido.
Projeto                                   Sistema e-commerce9
 CSU01                                     Comprar Produto
 Data                                      12/04/2010
 Vers˜ o
      a                                    1.0
         ¸˜
 Descricao                                        ¸˜                              ¸˜
                                           Descricao feita ap´ s a primeira validacao de requisitos com o cliente.
                                                             o
 Autor                                     Diego Lima Ervatti, Patrick Peyneau Andrade, Rafael Zacche de S´ Silva.
                                                                                                               a
 Sum´ rio
      a                                    Ator realiza a compra de um produto.
 Ator Principal                            Cliente Web
    e        ¸˜
 Pr´ -Condicoes                            Cliente Web dever´ estar cadastrado no sistema.
                                                             a
 Risco: Alto                               Prioridade: Alto
 1.1. Fluxo Principal: Comprar Produto
 1.1.1. Este caso de uso inicia quando o ator opta por comprar um novo produto ( A2)
 1.1.2. O ator insere seus os dados para pesquisar um produto adequado com seu perfil ( A1)
                             ¸˜
 1.1.3. O ator lˆ as informacoes do produto
                e
 1.1.4. O ator solicita um pedido do produto
 1.1.5. O sistema gera o c´ digo do Produto automaticamente
                           o
 1.1.6. O sistema retorna uma mensagem de sucesso
 1.1.7. O ator confirma a mensagem
 1.1.8. O caso de uso se encerra.
 1.2. Fluxos Alternativos
 1.2.1. ( A1) - Consultar Produto RBC
 1.2.1.1. O sistema faz a validacao dos dados ( E1)
                                 ¸˜
 1.2.1.2. O sistema aplica a similaridade e recupera o caso mais similar da base de casos
                                                                                  ¸˜
 1.2.1.3. O sistema exibe o caso mais similar da base de casos com as informacoes do produto
                                                                      ¸˜
 1.2.1.4. O sistema retorna uma mensagem de sucesso na recuperacao do caso
 1.2.1.5. Este caso de uso se encerra.
 1.2.2. ( A2) - Cadastrar Cliente
 1.2.2.1. O sistema verifica se o ator j´ est´ cadastrado no sistema
                                       a a
 1.2.2.2. Caso o ator n˜ o esteja cadastrado o sistema solicita os dados do ator ( E1)
                        a
 1.2.2.2. O ator informa seus dados
 1.2.2.3. O sistema retorna uma mensagem de sucesso
 1.2.2.4. O ator confirma a mensagem
 1.2.2.5. Este caso de uso se encerra.
                   ¸˜
 1.3 Fluxos Excecoes
 1.3.1. ( E1) - Dados Obrigat´ rios
                                 o
                                  o      a                     ´
 1.3.1.1. Caso os dados obrigat´ rios n˜ o sejam fornecidos, e emitida uma mensagem de erro informando a falha e solicitando os
 dados
 1.3.1.2. Retornar ao ponto de entrada de dados.
             ¸˜
 P´ s-Condicoes: Um compra de um produto foi realizada e um novo caso foi inserido ou alterado da base de casos com sucesso.
  o

                            Tabela 12. Descricao do caso de uso Comprar produto
                                             ¸˜



9.3.3. Modelagem de casos

A modelagem de casos tem como objetivo aplicar o c´ lculo de similaridade global e local.
                                                  a
           ¸˜
Nesta subsecao apresenta-se a modelagem de um sistema de vendas on-line de carros.


Modelo de caso para classe carro

A modelagem de caso para a classe carro tem como atributos: ano, categoria, cor, marca,
           ¸       e                                  ¸˜
modelo, preco e potˆ ncia, com suas respectivas descricoes e tipos, representado na tabela
13.
Tipo-base              Faixa
  Ano              Data                   2010/2011
  Categoria        S´mbolo
                    ı                     Econˆ mico, esportivo, pick-up, cl´ ssico
                                                o                              a
  Cor              S´mbolo
                    ı                     Amarelo, preto, prata,...
  Marca            S´mbolo
                    ı                     Chevrolet
  Modelo           S´mbolo
                    ı                     Agile, astra, blazer, captiva, celta, classic
  Preco
     ¸             Real                   [0,00, 200.000,00]
  Potencia         Inteiro                [0 - 300]
                                   ¸˜
                   Tabela 13. Definicao de atributos e tipos para carro.


        Existe uma similaridade local para o modelo de carro. Cada caso de venda pos-
suir´ os atributo para os modelos de carros, onde os valores de similaridade ser˜ o dis-
    a                                                                           a
tribu´dos conforme a tabela 14.
     ı

                    Agile         Astra      Blazer       Captiva      Classic     Vectra
                                                                                   GT
  Agile             1.0           0.6        0.0          0.3          0.5         0.4
  Astra             0.6           1.0        0.0          0.4          0.5         0.8
  Blazer            0.0           0.0        1.0          0.2          0.0         0.0
  Captiva           0.3           0.4        0.2          1.0          0.1         0.3
  Classic           0.5           0.5        0.0          0.1          1.0         0.0
  Vectra GT         0.4           0.8        0.0          0.3          0.0         1.0
                          Tabela 14. Similaridade local para modelo.



Modelo de caso para classe cliente

A modelagem de caso para a classe cliente tem como atributos: hooby, classe social,grau
                                                                  ¸˜
escolar, estilo de ser e estado civil, com suas respectivas descricoes e tipos, representado
na tabela 15.

                       Tipo-base          Faixa
  Hooby                S´mbolo
                        ı                 Esportes radicais, colecionador, sair com a
                                          fam´lia
                                              ı
  Classe social        S´mbolo
                        ı                 Baixa, m´ dia, alta
                                                    e
  Grau escolar         S´mbolo
                        ı                 Fundamental, m´ dio, superior
                                                           e
  Estilo de ser        S´mbolo
                        ı                 Simples, extravagante, formal, arrojado,
                                          espacoso
                                                ¸
  Estado Civil         S´mbolo
                        ı                 Solteiro, casado, separado, divorciado, vi´ vo
                                                                                    u
                                  ¸˜
                  Tabela 15. Definicao de atributos e tipos para cliente.
Existe uma similaridade local para a classe social de cada cliente. Cada caso de
venda possuir´ o atributo classe social do cliente, onde os valores de similaridade ser˜ o
              a                                                                        a
distribu´dos conforme a tabela 16.
        ı
                                        Baixa        M´ dia
                                                       e          Alta
                          Baixa         1.0          0.5          0.0
                          M´ dia
                            e           0.5          1.0          0.5
                          Alta          0.0          0.5          1.0
                        Tabela 16. Similaridade local para Classe social.


9.4. Ferramentas para desenvolvimento de SRBC
Existem v´ rias ferramentas (shells10 ) para desenvolvimento de SRBC no mercado. Dentre
          a
as quais destacam-se: CBR-Works, MyCBR11 e JColibri12 .
        A metodologia RBC pode ser aplicada em um problema de forma ad-hoc13 ou a
                     ¸˜
partir da especializacao de infra-estruturas que englobem as diversas tarefas necess´ rias
                                                                                    a
ao racioc´nio.
          ı
                                                                ´
        O shell CBR-Works, desenvolvido pela TecInno/empolis, e um dos shells de RBC
                                                                                 ¸˜
mais poderosos dispon´veis, podendo ser utilizado para desenvolvimento de solucoes in-
                        ı
teligentes aplicados a diversos dom´nios e ambientes operacionais. Possui uma interface
                                   ı
                                 ´                         ¸˜
intuitiva e com poucos cliques e poss´vel criar uma aplicacao simples utilizando RBC.
                                      ı
                          ´
Sua grande desvantagem e ser um shell propriet´ rio, possuindo um alto custo, o que para
                                               a
o desenvolvimento do projeto proposto no presente artigo se torna invi´ vel.
                                                                      a
                 ´
        MyCBR e um shell de c´ digo fonte aberto para o desenvolvimento de solucoes
                                 o                                                  ¸˜
                                                                       14
                                     ´
que utilizam do RBC. Seu objetivo e ser f´ cil de usar e fornecer GUIs poderosas para
                                            a
modelagem do sistema. Sua confort´ vel interface gr´ fica permite que at´ mesmo os no-
                                     a                a                  e
                                                         ¸˜
vatos em RBC criem rapidamente suas primeiras aplicacoes. No entanto, garante a flexi-
                                                                                    ¸˜
bilidade suficiente para permitir que usu´ rios experientes possam implementar aplicacoes
                                        a
avancadas de RBC.
     ¸
                                                                              ¸˜
         Em particular, o shell jColibri desenvolvido pelo Grupo de Aplicacoes de In-
teligˆ ncia Artificial da Universidade Complutense de Madri (Espanha) e licenciado
     e
atrav´ s da Licenca P´ blica Geral. Esta apresenta shells para projetar RBC e APIs15 para
     e           ¸ u
                        `        ¸˜
integrar a metodologia as aplicacoes.
                                                                                 ¸˜
       O jColibri disp˜ e de funcionalidades para uso de ontologias na representacao de
                      o
casos e conta com uma biblioteca de m´ tricas de similaridade para ontologias [Martins
                                        e
2009].
                                                                `            ¸˜
       O que torna o shell jColibri particularmente adequado a implementacao do sis-
                            ´
tema proposto neste artigo, e que dentre os shells pesquisados, ele possui maior quanti-
  10
                                    ´                                ¸˜
     Shells, de maneira gen´ rica, e um programa que faz a intermediacao do contato entre o usu´ rio e o
                             e                                                                 a
computador.
  11
     http://mycbr-project.net/
  12
     http://gaia.fdi.ucm.es/projects/jcolibri/
  13
                                ¸˜
     Termo usado em computacao para resolver determinado problema ou realizar uma tarefa espec´fica.
                                                                                               ı
  14
     Do inglˆ s, Graphical User Interface.
             e
  15
     Do inglˆ s, Application Programming Interfaces.
             e
¸˜
dade de material dispon´vel para estudos e possui a integracao de suas bibliotecas com a
                       ı
linguagem Java.

10. Conclus˜ o
           a
Neste trabalho foram discutidas as principais caracter´sticas que envolvem o estudo da
                                                      ı
tecnologia de RBC.
        Sistemas de gerˆ ncia de bancos de dados (SGBD) s˜ o largamente utilizados, para
                         e                                   a
                             ¸˜              ¸˜
armazenamento e recuperacao de informacoes em sistemas e-commerce. Estes sistemas
s˜ o projetados para realizar consultas exatas na base de dados, em contrapartida os SRBC
 a
s˜ o projetados para realizar consultas inexatas.
 a
                         e              a                              ¸˜
       Quando correspondˆ ncias exatas n˜ o existem para uma nova situacao um SGBD
                               ¸˜                       ´
n˜ o consegue oferecer uma solucao, por´ m um SRBC e capaz de encontrar um caso
 a                                      e
adequado.
        Os objetivos propostos no artigo foram atingidos. Apresentamos o estado da arte
   ´                                                     ¸˜
na area de RBC e iniciamos a modelagem de uma aplicacao RBC (sistema de vendas de
carros on-line).
       Como trabalhos futuros pretende-se desenvolver e testar o sistema de vendas de
carro on-line. Utilizaremos a linguagem Java com o aux´lio do shell jColibri. Assim,
                                                         ı
demonstraremos de forma pr´ tica o funcionamento de um SRBC e ser˜ o aplicados os
                             a                                         a
                                                                      ¸˜
conhecimentos adquiridos no decorrer do curso de Ciˆ ncias da Computacao (UVV).
                                                   e
Referˆ ncias
        e
                                              ¸˜                        ¸˜
[1] Alves, F. C. (19 de Abril de 2005). Aplicacao de T´ cnicas de Mineracao de Dados a uma
                                                      e
                                                   ¸˜                      ¸˜
     Base de um Sistema Gerenciador de Informacoes para UTI. Dissertacao de Mestrado ,
     p. 112.
                                                  ¸˜                   ¸˜
[2] Andrade, F. V. (19 de Novembro de 2008). Predicao de Tempo de Execucao de Tarefas
     em Grades Computacionais para Recursos n˜ o Dedicados , p. 107.
                                               a
[3] Goetze, A. R. (11 de Abril de 2005). Unisinos. Acesso em 3 de Maio
     de 2010, dispon´vel em Universidade do Vale do Rio dos Sinos:
                          ı
     http://www.inf.unisinos.br/ ari/estrut/kdtree/kd-tree.html
[4] Heredia, L. R., Iochpe, C., e Comba, J. (2003). Explorando a multidimensionalidade
     da KD-Tree para suporte a temporalidade em dados espaciais vetoriais do tipo ponto.
     Instituto de Inform´ tica da UFRGS , p. 8.
                        a
[5] Luger, G. F. (2004). Inteligˆ ncia artificial (4a ed.). (P. Engel, Ed.) Porto Alegre: Book-
                                e
     mann.
                                                               ¸˜          ¸˜
[6] Martins, D. (Julho de 2009). Uma abordagem para recuperacao de informacoes sens´vel
                                                                                   ı
                                      ¸˜
     ao contexto usando retroalimentacao impl´cita de relevˆ ncia. p. 107.
                                             ı             a
[7] Nisanbayev, Y., Ko, I. S., Abdulaev, S., Na, H., e Lim, D. (2009). E-commerce Appli-
     cations of the Hybrid Reasoning Method. International Conference on New Trends in
     Information and Service Science ,p. 5.
[8] Real,     R.      (21      de     Marco
                                         ¸      de      2003).    Redes       semˆ nticas
                                                                                 a
     .     Acesso     em      3     de     Maio      de     2010,     dispon´vel
                                                                             ı        em
     http://www.inf.ufrgs.br/gppd/disc/cmp135/trabs/rodrigo/T1/html/index.html
[9] Rezende, S. O. (2005). Sistemas Inteligentes (1a ed.). Barueri: Manole.
[10] Russell, S. J. (2004). Inteligˆ ncia artificial (2 ed.). Rio de Janeiro: Norving.
                                   e
                                                          ¸˜
[11] Toniazzo, L. H. (Junho de 2005). M´ dulo de Recuperacao de Conhecimento para
                                        o
     Aux´lio na Tomada de Decis˜ o em um Sistema de Ouvidoria. p. 66.
         ı                     a
[12] Wangenheim. (2003). Racioc´nio Baseado em Casos. Barueri: Manole.
                               ı
[13] Watson, I. (1999). Case-based reasoning is a methodology not a technology. Elsevier ,
     p. 6.

Contenu connexe

En vedette

Em discussão! maio internet (1)
Em discussão! maio internet (1)Em discussão! maio internet (1)
Em discussão! maio internet (1)
rcatanese
 
Acervo dvd mec
Acervo dvd   mecAcervo dvd   mec
Acervo dvd mec
TV Escola
 
Cenário acadêmico-institucional dos cursos de Arquivologia, Biblioteconomia e...
Cenário acadêmico-institucional dos cursos de Arquivologia, Biblioteconomia e...Cenário acadêmico-institucional dos cursos de Arquivologia, Biblioteconomia e...
Cenário acadêmico-institucional dos cursos de Arquivologia, Biblioteconomia e...
Briquet de Lemos
 
Engenharia de Produção Mecânica - FMU
Engenharia de Produção Mecânica - FMUEngenharia de Produção Mecânica - FMU
Engenharia de Produção Mecânica - FMU
FMU - Oficial
 
Comunicação em rede (2)
Comunicação em rede (2)Comunicação em rede (2)
Comunicação em rede (2)
Yasmin Buriti
 
Produção Multimídia para DVD
Produção Multimídia para DVDProdução Multimídia para DVD
Produção Multimídia para DVD
liarosamoura
 
Ciˆncias humanas e suas tecnologias parte ii
Ciˆncias humanas e suas tecnologias   parte iiCiˆncias humanas e suas tecnologias   parte ii
Ciˆncias humanas e suas tecnologias parte ii
jullyvi
 

En vedette (20)

Case e-Sergipe
Case e-SergipeCase e-Sergipe
Case e-Sergipe
 
Em discussão! maio internet (1)
Em discussão! maio internet (1)Em discussão! maio internet (1)
Em discussão! maio internet (1)
 
Acervo dvd mec
Acervo dvd   mecAcervo dvd   mec
Acervo dvd mec
 
Planejamento Estratégico em Comunicação
Planejamento Estratégico em ComunicaçãoPlanejamento Estratégico em Comunicação
Planejamento Estratégico em Comunicação
 
Secretários do Recife
Secretários do RecifeSecretários do Recife
Secretários do Recife
 
Arqueologia rio Piquiri
Arqueologia rio PiquiriArqueologia rio Piquiri
Arqueologia rio Piquiri
 
Cenário acadêmico-institucional dos cursos de Arquivologia, Biblioteconomia e...
Cenário acadêmico-institucional dos cursos de Arquivologia, Biblioteconomia e...Cenário acadêmico-institucional dos cursos de Arquivologia, Biblioteconomia e...
Cenário acadêmico-institucional dos cursos de Arquivologia, Biblioteconomia e...
 
Engenharia de Produção Mecânica - FMU
Engenharia de Produção Mecânica - FMUEngenharia de Produção Mecânica - FMU
Engenharia de Produção Mecânica - FMU
 
Comercio exterior
Comercio exteriorComercio exterior
Comercio exterior
 
Hip-Hop: a Periferia Grita
Hip-Hop: a Periferia GritaHip-Hop: a Periferia Grita
Hip-Hop: a Periferia Grita
 
Comunicação em rede (2)
Comunicação em rede (2)Comunicação em rede (2)
Comunicação em rede (2)
 
Produção Multimídia para DVD
Produção Multimídia para DVDProdução Multimídia para DVD
Produção Multimídia para DVD
 
O natal musica
O natal musicaO natal musica
O natal musica
 
Robótica y nanotecnología natalia
Robótica y nanotecnología  nataliaRobótica y nanotecnología  natalia
Robótica y nanotecnología natalia
 
Hidrografia
HidrografiaHidrografia
Hidrografia
 
Automacao industrial vi
Automacao industrial viAutomacao industrial vi
Automacao industrial vi
 
Ciˆncias humanas e suas tecnologias parte ii
Ciˆncias humanas e suas tecnologias   parte iiCiˆncias humanas e suas tecnologias   parte ii
Ciˆncias humanas e suas tecnologias parte ii
 
2011 07-14 10-45-03
2011 07-14 10-45-032011 07-14 10-45-03
2011 07-14 10-45-03
 
Hotelaria
HotelariaHotelaria
Hotelaria
 
Estudo Saneamento Mato Grosso
Estudo Saneamento Mato GrossoEstudo Saneamento Mato Grosso
Estudo Saneamento Mato Grosso
 

Similaire à Raciocínio baseado em casos

Livro risco de credito
Livro risco de creditoLivro risco de credito
Livro risco de credito
Tâmara Muhle
 
Redes neurais, lógica fuzzy e inteligência artificial
Redes neurais, lógica fuzzy e inteligência artificialRedes neurais, lógica fuzzy e inteligência artificial
Redes neurais, lógica fuzzy e inteligência artificial
Miguel Sellitto
 
Multicolinearidade%20em%20modelos%20de%20regressao adicional
Multicolinearidade%20em%20modelos%20de%20regressao adicionalMulticolinearidade%20em%20modelos%20de%20regressao adicional
Multicolinearidade%20em%20modelos%20de%20regressao adicional
Adilson Gomes Veiga
 
Representação do conhecimento (rc)
Representação do conhecimento (rc)Representação do conhecimento (rc)
Representação do conhecimento (rc)
iaudesc
 
Jornal Segurito janeiro/12
Jornal Segurito janeiro/12Jornal Segurito janeiro/12
Jornal Segurito janeiro/12
segvita
 
Apresntação Genetica 09
Apresntação Genetica 09Apresntação Genetica 09
Apresntação Genetica 09
nlemke
 
Dissertacao (1)
Dissertacao (1)Dissertacao (1)
Dissertacao (1)
fodisz
 
Estatística: introdução
Estatística: introduçãoEstatística: introdução
Estatística: introdução
Renato Vicente
 

Similaire à Raciocínio baseado em casos (15)

Livro risco de credito
Livro risco de creditoLivro risco de credito
Livro risco de credito
 
Lógica fuzzy e redes neurais na indústria
Lógica fuzzy e redes neurais na indústriaLógica fuzzy e redes neurais na indústria
Lógica fuzzy e redes neurais na indústria
 
Escrever bons problemas
Escrever bons problemasEscrever bons problemas
Escrever bons problemas
 
Redes neurais, lógica fuzzy e inteligência artificial
Redes neurais, lógica fuzzy e inteligência artificialRedes neurais, lógica fuzzy e inteligência artificial
Redes neurais, lógica fuzzy e inteligência artificial
 
Multicolinearidade%20em%20modelos%20de%20regressao adicional
Multicolinearidade%20em%20modelos%20de%20regressao adicionalMulticolinearidade%20em%20modelos%20de%20regressao adicional
Multicolinearidade%20em%20modelos%20de%20regressao adicional
 
Representação do conhecimento (rc)
Representação do conhecimento (rc)Representação do conhecimento (rc)
Representação do conhecimento (rc)
 
Algoritmos genéticos: princípios e aplicações
Algoritmos genéticos: princípios e aplicaçõesAlgoritmos genéticos: princípios e aplicações
Algoritmos genéticos: princípios e aplicações
 
Jornal Segurito janeiro/12
Jornal Segurito janeiro/12Jornal Segurito janeiro/12
Jornal Segurito janeiro/12
 
Oficina 1: CBC de Ciências e Matemática
Oficina 1: CBC de Ciências e MatemáticaOficina 1: CBC de Ciências e Matemática
Oficina 1: CBC de Ciências e Matemática
 
Apresntação Genetica 09
Apresntação Genetica 09Apresntação Genetica 09
Apresntação Genetica 09
 
Previsão de Inadimplência por Redes Neurais Artificiais na Presença de Baixo ...
Previsão de Inadimplência por Redes Neurais Artificiais na Presença de Baixo ...Previsão de Inadimplência por Redes Neurais Artificiais na Presença de Baixo ...
Previsão de Inadimplência por Redes Neurais Artificiais na Presença de Baixo ...
 
Avaliação NOSQL para indexação do Twitter
Avaliação NOSQL para indexação do TwitterAvaliação NOSQL para indexação do Twitter
Avaliação NOSQL para indexação do Twitter
 
Dissertacao (1)
Dissertacao (1)Dissertacao (1)
Dissertacao (1)
 
Estatística: introdução
Estatística: introduçãoEstatística: introdução
Estatística: introdução
 
Conceitualização.pptx
Conceitualização.pptxConceitualização.pptx
Conceitualização.pptx
 

Raciocínio baseado em casos

  • 1. Sistemas de Racioc´nio Baseado em Casos ı Diego L. Ervatti1 , Patrick P. Andrade1 , Rafael Z. de S´ Silva1 , Erlon Pinheiro1 a 1 Centro Universit´ rio Vila Velha - (UVV) a Curso de Ciˆ ncia da Computacao e ¸˜ Rua Comiss´ rio Jos´ Dantas de melo, 21 a e Boa Vista - Vila Velha - ES - Brasil CEP.: 29102-770 31/05/2010 {diegoervatti,patrickpeyneau,rafael zacche}@hotmail.com, erlon@uvv.br Abstract. Artificial Intelligence (AI) is a research area that seeks a computa- tional artifice that simulates the human capacity to solve problems. Different methods are employed to simulate the way humans think, from a wide variety is included the case-based reasoning, which tries to imitate the way humans re- call past experiences to solve a given problem. This paper describes in details what is a CBR system, its application, and presents some key techniques used in building systems that use this technology. Some tools that aid in the construc- tion of CBR systems are described. In the end it is proposed a development of an e-commerce SRBC. Keywords: artificial intelligence, case-based reasoning, reasoning in artificial intelligence. Resumo. A Inteligˆ ncia artificial (IA) e uma area de pesquisa que busca por ar- e ´ ´ tif´cios computacionais que simulem a capacidade humana de resolver proble- ı mas. Diferentes m´ todos s˜ o empregados para simular a forma como humanos e a pensam, dentre uma ampla variedade est´ o Racioc´nio Baseado em Casos, que a ı tenta imitar a forma como humanos relembram experiˆ ncias passadas para re- e solver um dado problema. O presente artigo descreve pormenorizadamente o que e um sistema de racioc´nio baseado em casos, suas aplicacoes, al´ m de ´ ı ¸˜ e apresentar algumas das principais t´ cnicas adotadas na construcao de sistemas e ¸˜ que utilizam esta tecnologia. Por fim com base nas ferramentas que ser˜ o apre- a sentadas, prop˜ e-se o desenvolvimento de um sistema de vendas online baseado o em casos. Palavras chaves: inteligˆ ncia artificial, racioc´nio baseado em casos, racioc´nio e ı ı em inteligˆ ncia artificial. e
  • 2. ¸˜ 1. Introducao Racioc´nio baseado em casos (RBC)1 e uma abordagem para solucao de problemas e para ı ´ ¸˜ o aprendizado com base em experiˆ ncia passada [Wangenheim 2003]. Em s´ntese pode-se e ı ¸˜ afirmar que o RBC resolve um novo problema a partir de solucoes de problemas an´ logos a ¸˜ ´ que foram bem sucedidas no passado. A solucao similar encontrada e adaptada para uma ¸˜ melhor representacao e retida para futuras referˆ ncias. e No enfoque do RBC, os problemas s˜ o conhecidos como casos, que s˜ o armazena- a a dos em uma base de conhecimento ou base de casos. RBC foi influˆ nciado por diversas e ´ areas, tais como, ciˆ ncias cognitivas, sistemas baseados em conhecimento, aprendizado e ¸˜ ¸˜ de m´ quina, bases de dados, recuperacao de informacoes, redes neurais, reconhecimento a de padr˜ es, incerteza e estat´stica. o ı ¸˜ Na secao 2 apresenta-se um breve hist´ rico sobre RBC, as estruturas comu- o e ¸˜ mente utilizadas, al´ m do ciclo de vida do RBC. Na secao 3 alguns dos m´ todos para e ¸˜ representacao de casos s˜ o descritos, os tipos comumente utilizados, suas vantagens a ¸˜ ´ e desvantagens. A secao 4 e dedicada as medidas de similaridade, assim como sua ¸˜ ¸˜ representacao matem´ tica. As fases do ciclo de vida do RBC, recuperacao de casos, a ¸˜ ¸˜ ¸˜ reutilizacao de casos, revis˜ o de casos e retencao de casos s˜ o apresentadas nas secoes a a ¸˜ 5, 6, 7 e 8 respectivamente. Na secao 9 prop˜ e-se um projeto que utiliza o racioc´nio o ı baseado em casos. 2. Racioc´nio baseado em casos ı Entre as habilidades inteligentes est´ a habilidade para armazenar e recuperar eficiente- a ¸˜ mente grande quantidade de informacao, al´ m da capacidade de adaptar ou modificar um e conte´ do [Rezende 2005]. u Os primeiros aspectos do RBC foram infundidos nos trabalhos de Schank e Abel- son sobre mem´ ria dinˆ mica e modelo cognitivo. O RBC originou-se em modelos cog- o a ¸˜ ¸˜ nitivos da solucao de problemas e aprendizado de novas situacoes, no geral, seria gravar ¸˜ essas situacoes em mem´ ria como se fossem roteiros, ou seja, algumas coisas ocorrer˜ o o a sempre conforme o esperado. CYRUS foi o primeiro sistema de RBC, desenvolvido por Janet Kolodner na Yale ¸˜ University, seu enfoque era solucao de problemas diplom´ ticos. Ap´ s esse sistema, di- a o versos outros surgiram como: Mediator, Persuader, Chef, Julia, Hypo, Protos, Casey, Pantdex, dentre outros, cada um com enfoque espec´fico. ı ´ O objetivo do RBC e tentar resolver um problema com base em experiˆ ncias pas- e sadas. Conforme [Luger 2004], os sistemas RBC compartilham uma estrutura comum. Para cada novo problema: • Recuperam o caso mais similar na base de casos; • Reutilizam este caso para resolver o problema; • ¸˜ Revisam a solucao indicada; • Ret´ m a experiˆ ncia representando o caso atual para referˆ ncias futuras. e e e 1 Do inglˆ s, Case-Based Reasoning (CBR). e
  • 3. Figura 1. Ciclo de vida do racioc´nio baseado em casos [Wangenheim 2003]. ı ¸˜ 3. Representacao de casos Todo conhecimento que envolve sistemas de RBC s˜ o armazenados sob a forma de casos, a casos estes que representam um conhecimento espec´fico de experiˆ ncias ou epis´ dios ı e o concretos. N˜ o existe um conte´ do exato do que ser´ representado por um caso, seu conte´ do a u a u ´ ¸˜ ´ e totalmente dependente da aplicacao. O que h´ de comum entre eles e que todos tem a ¸˜ como objetivo representar uma situacao ocorrida que poder´ futuramente ser relembrada, a ¸˜ adaptada e aplicada a uma nova solucao. Exemplos de como casos podem conter diferentes conte´ dos: u Com´ rcio eletrˆ nico: lista das caracter´sticas do produto (por exemplo, marca: e o ı fiat, modelo: siena, cor: prata, preco: R$ 30.000). ¸ Com´ rcio eletrˆ nico: lista das caracter´sticas do produto (por exemplo, nome: e o ı mesa, tipo: madeira, cor: marfim). ¸˜ 3.1. Representacao de casos a e ¸˜ V´ rias estrat´ gias podem ser adotadas para representacao de casos, tais como: ¸˜ ¸˜ ´ representacao atributo-valor, orientacao a objetos, redes semˆ nticas e arvores k-d.Existem a ¸˜ outras formas de representacao de casos, mas somente as citadas ser˜ o abordadas no pre- a sente artigo. ¸˜ O Ponto mais dif´cil na solucao de problemas baseado em casos, independente- ı ¸˜ ´ mente da estrutura de dados selecionada para a representacao dos casos, e a escolha das ¸˜ ¸˜ ´ caracter´sticas relevantes para a indexacao e a recuperacao de casos [Luger 2004], que e ı ¸˜ apresentado na secao 5. ¸˜ “A representacao do caso significa codificar o conhecimento contido nos casos mediante uma ampla gama de formalismos representacionais ou linguagens desenvolvidas ˆ no ambito da IA, permitindo armazen´ -lo em uma forma simples, concisa, completa e a
  • 4. clara ”[Russell 2004]. A metodologia a ser adotada para representar um caso depender´ do contexto ao a qual o RBC est´ sendo aplicado e como os dados armazenados ser˜ o alterados. a a ¸˜ 3.2. Representacao atributo-valor ¸˜ ´ ¸˜ A representacao atributo valor e a forma mais simples de representacao de casos, na qual ´ um item e representado por um par atributo-valor [Wangenheim 2003]. ¸˜ Esta representacao pode ser vista na tabela 1. Atributos Valor ¸˜ Descricao “Carro,siena, prata” Ano 2010 Cor Prata Marca Fiat Modelo Siena Preco ¸ R$ 35.125,00 ¸˜ Tabela 1. Exemplo de uma representacao atributo-valor. ¸˜ A representacao de casos atributo-valor pode ser definida basicamente por tipos como: booleano, data, s´mbolo (ordenado, n˜ o-ordenado ou taxonomia), n´ mero e string. ı a u ¸˜ Existem in´ meras vantagens na utilizacao de par atributo-valor, tais como: u • ¸˜ Representacao simples e f´ cil de programar; a • ¸˜ F´ cil implementacao de medidas de similaridade; a • F´ cil armazenamento, podendo ser armazenado em SGBD2 relacionais; a • ¸˜ Recuperacao eficiente. Por´ m apresenta desvantagens como: e • N˜ o e capaz de representar informacoes estruturais; a ´ ¸˜ • N˜ o e capaz de representar informacoes relacionais. a ´ ¸˜ ´ E recomend´ vel que pares atributo-valor sejam usados somente para tarefas de di- a agn´ stico que tem que lidar com grandes bases de casos. o ¸˜ 3.3. Representacao orientada a objetos Nesta representacao os casos s˜ o vistos como objetos3 , que por sua vez s˜ o agrupados por ¸˜ a a 4 tipos similares formando uma classe . ¸˜ Essa representacao permite a modelagem de relacionamento entre diferentes tipos ¸˜ ¸˜ ¸˜ de objetos, tais como: relacoes taxonˆ micas, relacoes composicionais e relacoes especi- o ais. 2 Sistema de gerenciamento de banco de dados. 3 Instˆ ncia de uma classe. a 4 Estrutura que abstrai um conjunto de objetos com caracter´sticas similares. ı
  • 5. ¸˜ Figura 2. Representacao orientada a objetos. ¸˜ Algumas vantagens dessa representacao: • Representacao estruturada e natural de casos; ¸˜ • Representacao direta de informacoes estruturais e relacionais; ¸˜ ¸˜ • Armazenamento compacto. Por´ m possui as seguintes desvantagens: e • C´ lculo de similaridade complexo; a • Recuperacao de casos complexa. ¸˜ ¸˜ 3.4. Representacao utilizando redes semˆ nticas a ´ ¸˜ E uma forma de representacao do conhecimento determinada como um grafo direcionado no qual os v´ rtices representam unidades conceituais, e as arestas representam relaciona- e mentos entre essas unidades [Real 2003]. ¸˜ O tipo de rede semˆ ntica utilizada em RBC denomina-se Rede de Recuperacao de a 5 ´ ¸˜ Casos (RRC) . Esta e uma forma eficiente e flex´vel de recuperacao de casos, capaz de ı ı e ¸˜ entender termos vagos e amb´guos, al´ m da eficiente manipulacao de bases de casos de tamanho razo´ vel [Wangenheim 2003]. a De acordo com [Wangenheim 2003] o conceito fundamental das RRC s˜ o as En- a ¸˜ tidades de Informacao (EI). Um caso consiste de um conjunto de EI, e a base de casos em uma rede com nodos para as EI observadas no dom´nio e nodos adicionais denotando os ı casos particulares. ¸˜ ´ 3.5. Representacao utilizando arvore k-d ´ ´ ´ a ı ´ Arvore k-d e uma arvore de pesquisa bin´ ria k-dimensional onde cada n´vel desta arvore se ramifica baseando-se no discriminador, que por sua vez, tem como base uma medida es- tat´stica denominada amplitude interquartil6 [Goetze 2005]. Sua divis˜ o e feita alternada- ı a ´ mente utilizando as coordenadas x, y de acordo com a profundidade da arvore [Heredia, ´ Iochpe, Comba, 2003], como pode ser observado na figura 3. 5 Do inglˆ s, Case Retrieval Nets. e 6´ E dada pela diferenca entre o quartil superior e o quartil inferior. ¸
  • 6. ´ ´ Figura 3. Espaco de busca bidimensional hipotetico e a arvore k-d de busca ¸ correspondente. ¸˜ ´ ´ ¸˜ A construcao da arvore k-d e feita por uma funcao recursiva que verifica a possi- ¸˜ bilidade de continuar a divis˜ o dos dados para adicionar novas ramificacoes. a ´ Essa e a estrutura de dados comumente utilizada por ser aplic´ vel a qualquer a ¸˜ tipo de sistema, onde se queira fazer recuperacao de chaves secund´ rias ou multichaves, a visando a criacao de estruturas de ´ndices sobre base de casos que contenham grandes ¸˜ ı ´ quantidades de dados. Por´ m, possui a desvantagem de gerar arvores de grande profun- e ¸˜ ´ didade e sua insercao balanceada e extremamente custosa. 4. Similaridade ´ O objetivo do RBC e recuperar casos de sua base que sejam o mais similar poss´vel ı ao problema a ser resolvido. Os casos recuperados n˜ o precisam ser necessariamente a ¸˜ idˆ nticos a situacao atual, por´ m quanto maior o n´vel de similaridade melhor ser´ a e e ı a ¸˜ solucao encontrada. ´ Casos podem ser considerados similares se eles forem uteis para a solucao do¸˜ ´ caso atual e seu n´vel de similaridade varia entre 0 e 1, onde 0 e a dissimilaridade total ı e ¸˜ a e 1 a coincidˆ ncia absoluta. Apresenta-se nesta secao v´ rios m´ todos heur´sticos para e ı determinar o caso de maior utilidade. 4.1. Modelos de similaridade global sim´ trica e ´ A similaridade global sim´ trica e calculada entre objetos com base nos seguintes e modelos: similaridade como distˆ ncia geom´ trica, nearest neighbour, distˆ ncia euclidi- a e a ana, distˆ ncia euclidiana ponderada e m´ trica do quarteir˜ o (distˆ ncia de Manhattan). a e a a
  • 7. 4.1.1. Distˆ ncia geom´ trica a e Consiste em determinar o menor valor de similaridade para encontrar o vizinho mais pr´ ximo, por exemplo, considere os trˆ s casos, chamados A, B e C, onde o caso A se o e refere ao caso atual. a a ¸˜ Nessa medida calcula-se a distˆ ncia de x e y para A. A distˆ ncia x e y em relacao ´ a A para o caso B e de 5 e 1, respectivamente, enquanto que a distˆ ncia x e y entre os a ´ casos A e C e 5 e 2, respectivamente. Portanto: Eixo A B C X - 5 5 Y - 1 2 ¸˜ ˆ ´ Tabela 2. Representacao da distancia geometrica. • A distˆ ncia de A ao caso B: d1 = x1 + y1 = 5 + 1 = 6; a • A distˆ ncia de A ao caso C: d2 = x2 + y2 = 5 + 2 = 7. a a o ´ Conclui-se ent˜ o que o valor mais pr´ ximo de A e o caso B. 4.1.2. Nearest neighbour ponderado [Watson 1999] Semelhante a distˆ ncia geom´ trica, por´ m utiliza o conceito de peso para cada atributo. a e e Por exemplo, podemos considerar que o modelo de um produto possui um peso maior do que a cor do produto. Portanto temos: Eixo A B C Modelo Cor X - 5 5 1 1 Y - 1 2 1 0 ¸˜ Tabela 3. Representacao nearest neighbour ponderado. • A distˆ ncia de A ao caso B: d1 = x1 ∗ p1 + y1 ∗ p2 = 5 ∗ 1 + 1 ∗ 1 = 6; a • A distˆ ncia de A ao caso C: d2 = x2 ∗ p1 + y2 ∗ p2 = 5 ∗ 1 + 2 ∗ 0 = 5. a a o ´ Conclui-se ent˜ o que o valor mais pr´ ximo de A e o caso C. A f´ rmula pode ser generalizada para: o n sim(Q, C) = f (Qi, Ci)wi (1) i=1
  • 8. Q = problema atual; • C = caso recuperado da base; • N = n´ mero de casos da base; u • F = similaridade local(a princ´pio utilizaremos F=1); ı • W = peso. 4.1.3. Distˆ ncia euclidiana a Dado um problema Q e um caso C representados por ´ndices Q = (q1 , q2 , ..., qn ) e C = ı (c1 , c2 , ..., cn ). A distˆ ncia euclidiana representa a real distˆ ncia entre dois pontos em um espaco a a ¸ ´ qualquer e e dada por: n d(Q, C) = (qi − ci )2 (2) i=1 4.1.4. Distˆ ncia euclidiana ponderada a Inserindo pesos W, podemos estender a distˆ ncia euclidiana para: a n d(Q, C) = wi (qi − ci )2 (3) i=1 4.1.5. M´ trica do quarteir˜ o (distˆ ncia de Manhattan, distˆ ncia pombalina ou e a a a distˆ ncia de taxi) a ´ E uma medida neutra, avalia todas as diferencas de forma idˆ ntica. ¸ e n d(Q, C) = |qi − ci| (4) i=1 4.2. Medidas de similaridade local Ao t´ rmino do c´ lculo de similaridade global, pode haver a necessidade de um c´ lculo e a a ´ mais preciso que atue sobre os atributos, essa medida de similaridade e denominada similaridade local. ¸˜ A medida de similaridade deve ser definida em relacao ao tipo espec´fico de ı um atributo, tais como: n´ mero, s´mbolo bin´ rio, s´mbolo (ordenado, n˜ o-ordenado, u ı a ı a taxonˆ mico), conjunto, intervalo, string, dentre outros. o
  • 9. Atributos ¸˜ Situacao atual Caso 1 Valor similaridade ¸˜ Descricao Carro, siena, prata Carro, siena 1 Ano 2010 2009 0.9 Cor Prata Preto 0.5 Marca Fiat Fiat 1 Modelo Siena Siena 1 Preco ¸ R$ 35.125,00 R$ 32.540,00 0.8 ¸˜ Tabela 4. Tabela de demonstracao de similaridade local. ´ 4.2.1. Numero Pode ser expressa pelo m´ dulo da diferenca entre valores, ser´ utilizado o preco do carro o ¸ a ¸ como exemplo: |preco1 − preco2 |. ¸ ¸ ¸˜ 4.2.2. Funcao escada ´ ´ Se o caso e totalmente util ou totalmente in´ til, ent˜ o a similaridade local deve ser definida u a ¸˜ por meio de uma funcao escada. • F (p1 , p2 ) = 0; • |p1 − p2 | ≥ S sendo ’S’ o ponto do degrau. O preco dos carros poder´ ser considerado igual quando sua diferenca for menor ¸ a ¸ que R$ 350,00, e sua similaridade ser´ 1, para valores maiores de R$ 350,00 ser´ con- a a siderado dissimilar e assumir o valor de similaridade igual a 0. ¸˜ 4.2.3. Funcao linear e ´ Adequada para a maioria dos tipos num´ ricos. A id´ ia e que a similaridade cresce com e o decr´ cimo da distˆ ncia entre os dois valores, ponderada pelo tamanho do intervalo as- e a sumido pelo dom´nio dos valores do atributo, [Wangenheim 2003]. ı 1 pi = pj ρ(pi , pj ) = |pi −pj | (5) 1− ls −li sen˜ o a • ls = limite superior; • li = limite inferior. 4.2.4. Tipo escalar As medidas de similaridade para tipos num´ ricos possuem um problema como: valores e muito grandes tˆ m o mesmo valor de similaridade que valores muito pequenos, por e ´ ` exemplo: a similaridade de 30.120 e 30.110 e igual a similaridade de 10 e 20, isso ocorre ´ porque a distˆ ncia e a mesma. a
  • 10. Ao atribuir valores diferentes de similaridade de acordo com o tamanho do valor, ´ e poss´vel adotar uma escala logar´tmica onde a similaridade de valores pequenos ser´ ı ı a menor que a similaridade de valores grandes. 4.2.5. Strings ´ E aconselh´ vel substituir strings por valores simb´ licos, por´ m existem alguns enfoques a o e para c´ lculo da similaridade entre strings: a Correspondˆ ncia exata: as strings ser˜ o consideradas similares se e somente se e a forem escritas da mesma forma. ¸˜ Correcao ortogr´ fica: grau de similaridade e expresso pegando-se o n´ mero de a ´ u caracteres iguais dividido pelo n´ mero total de caracteres da maior string, por exemplo, u ”writeln”e ”write”, o grau de similaridade ser´ 5/7=0.7. a Contagem de palavras: nesse caso conta-se o n´ mero de palavras idˆ nticas, por u e exemplo, ”carro siena vermelho quatro portas”e ”carro siena vermelho duas portas”, ent˜ o a u e ´ u ´ o n´ mero de palavras idˆ nticas e 4 e o n´ mero total de palavras da consulta e 5, logo a similaridade ser´ 4/5= 0.8. a ¸˜ 5. Recuperacao de casos ´ Seu objetivo e encontrar um ou mais casos na base de conhecimento que seja similar ´ ` ¸˜ ´ ao caso atual, ou seja, que pode ser util a situacao atual. Para isso, e necess´ rio casar a ¸˜ a descricao do caso atual com os casos armazenados, baseando-se em uma medida de ¸˜ a ¸˜ similaridade. Esta secao ir´ detalhar a estrutura geral da recuperacao de casos. ¸˜ O processo de recuperacao pode ser formalmente descrito por um conjunto de subtrarefas que devem ser realizadas pelo sistema RBC, s˜ o estas: Assessoramento da a ¸˜ ¸˜ situacao, casamento e selecao. O assessoramento da situacao, mais complexa dentre as trˆ s subtarefas, uti- ¸˜ e ¸˜ liza conhecimento e pode exigir uma iteracao proativa com o usu´ rio. O objetivo e a ´ ´ ¸˜ ´ encontrar os casos potencialmente uteis a situacao atual, logo, e necess´ rio utilizar a a ¸˜ ¸˜ situacao atual como entrada para o processo de recuperacao. Para isto, s˜ o utilizados a ´ndices(caracter´sticas) que s˜ o relevantes para encontrar o caso adequado chamados ı ı a descritores de entrada. ¸˜ ¸˜ Quando a primeira descricao da situacao atual estiver incompleta, o assessora- mento elabora ´ndices relevantes para permitir a recuperacao de casos adequados. Neste ı ¸˜ ¸˜ ´ contexto, a selecao de testes que dever˜ o ser feitos e muito importante para o ganho de a ¸˜ ` ¸˜ informacao potencial, aumentando as evidˆ ncias associadas a situacao corrente. Este pro- e ´ cedimento e chamado de Levantamento de Sintomas Dirigido. O casamento de casos consiste em associar a descricao do caso atual com um ou ¸˜ mais casos da base de casos de acordo com as medidas de similaridade. ¸˜ Os algoritmos respons´ veis por esta etapa da recuperacao de casos podem ser a ¸˜ ¸˜ caros computacionalmente por necessitar da combinacao de busca e comparacao de ca- ¸˜ sos, no entanto existem deferentes t´ cnicas de recuperacao que podem ser aplicadas para e ´ tornar o processo mais agil.
  • 11. Qual t´ cnica utilizar depende da estruturacao da base de casos, ´ndices e medidas e ¸˜ ı de similaridade. A partir do conjunto de casos similares gerado pela etapa de casamento, ´ e realizada a escolha de um caso, considerado o mais similar. ¸˜ ¸˜ Dentre as caracter´sticas da recuperacao de casos, est˜ o a qualidade da solucao ı a ¸˜ gerada e a eficiˆ ncia do processo de solucao. Visando estes pontos, os conceitos de e ¸˜ ¸˜ a matem´ ticos de correcao e completeza da solucao s˜ o aplicados. a Um m´ todo e considerado correto, se uma relacao de similaridade definida pelo e ´ ¸˜ m´ todo entre um caso e o problema atual tamb´ m existe no conceito de similaridade e e ¸˜ desenvolvido para a aplicacao. Um m´ todo e considerado completo, se toda relacao de similaridade representada e ´ ¸˜ e e ¸˜ no modelo do sistema tamb´ m se encontra no resultado deste m´ todo de recuperacao. ¸˜ 5.1. T´ cnicas de recuperacao e ¸˜ ¸˜ Esta secao destaca as principais t´ cnicas de recuperacao de casos. e ¸˜ ¨ 5.1.1. Recuperacao Sequencial ´ T´ cnica mais simples, onde a medida de similaridade e calculada sequencialmente para e ¸˜ todos os casos na base de casos. Permite a determinacao dos ’m’ casos mais similares. Vantagens: • Comprovadamente completa e corret. Completa porque analisa todos os casos da base, e correta porque aplica diretamente e na ´ntegra o conceito de similaridade definido pelo ı sistema a cada caso; • Implementacao simples; ¸˜ • Aceita utilizacao de medidas de similaridade arbitr´ rias; ¸˜ a • Permite consultas ad-hoc independentes do conceito de similaridade. Desvantagens: • Performance fraca para bases de casos grandes; • Esforco de recuperacao constante, independente da complexidade e do n´ mero de casos a ¸ ¸˜ u serem recuperados; • Esforco de recuperacao n˜ o pode ser reduzido ou limitado por conhecimento adicional. ¸ ¸˜ a TIPOS: 1. Tipocaso = ... 2. SimCaso = REGISTRO 3. case: TipoCaso; 4. similaridade: [0..1] 5. FIM; VARIAVEIS ListaCasoSim: VETOR[1..m] DE SimCaso CaseBase: ARRAY[1..n] DE TipoCaso (* base de casos *) Consulta: TipoCaso Tabela 5. Estrutura de dados (Wangenheim, 2003).
  • 12. ¸˜ 1. FUNCAO SelecRel(CaseBase, Consulta, m): ListaCasoSim 2. IN´ICIO 3. ListaCasoSim[1..m].similaridade :=0 4. PARA 1:=1 TO n FACA ¸ i. SE sim(Consulta, CaseBase[i])¿ListaCasoSim[m].similaridade ˜ ii. ENTAO insira CaseBase[i] em ListaCasoSim 5. RETORNE ListaCasoSim 6. FIM Tabela 6. Algoritmo de recuperacao seq¨ encial (Wangenheim, 2003). ¸˜ u ¸˜ 5.1.2. Recuperacao de dois n´veis ı e ı ´ a u ¸˜ Neste m´ todo, o princ´pio e reduzir ao m´ ximo o n´ mero de comparacoes de casos por ¸˜ ¸˜ ` meio da aplicacao de limitacoes adequadamente escolhidas a base de casos. Assim, s˜ o a ¸˜ ¸˜ exclu´dos da comparacao com a descricao do problema atual os casos para os quais se ı a ´ ¸˜ pode determinar, com certeza, que n˜ o ser˜ o uteis para a solucao. a a ı ¸˜ Isto significa que aqui ser˜ o aplicadas heur´sticas para a reducao do espaco de ¸ 7 ¸˜ busca, para agilizar o processo de recuperacao. Baseado no modelo MAC/FAC , o m´ todo e ¸˜ de recuperacao de dois n´veis funciona por meio dos seguintes processos: ı e ¸˜ 1. Pr´ -selecao de poss´veis candidatos; ı ¸˜ 2. Ordenacao dos candidatos de acordo com o conceito de similaridade. ` ¸˜ a No primeiro passo, denominado passo-MAC, candidatos potenciais a solucao s˜ o determinados a partir do conjunto de todos os casos por meio de similaridades no n´vel ı ¸˜ mais baixo da descricao sint´ tica dos casos. a No segundo passo, denominado passo-FAC, os melhores candidatos s˜ o escol- a ´ hidos a partir do conjunto de casos pr´ -selecionados. Isto e realizado por meio de e ¸˜ ¸˜ comparacoes mais complexas, com aplicacao de an´ lise estrutural dos casos ou mesmo a de todo o conceito de similaridade. Figura 4. Modelo MAC/FAC (Wangenheim, 2003). 7 Do inglˆ s, Many Are Called; Few Are Chosen. e
  • 13. ¸˜ 1. FUNCAO RestrigeBase(CaseBase, Consulta, m): ConjCasos 2. IN´ ICIO 3. ... 4. RETORNE(ConjCasos) 5. FIM 6. ¸˜ FUNCAO Selec2N(CaseBase, Consulta, m): ListaCasoSim 7. IN´ ICIO 8. RETORNE (SelecSeq(RestringeBase(CaseBase,Consulta,m),Consulta,m)) 9. FIM ¸˜ Tabela 7. Algoritmo de recuperacao de dois n´veis (Wangenheim, 2003). ı Este modelo pode ser facilmente mapeado em um banco de dados relacional. No primeiro passo, uma s´ rie de consultas (que representam o predicado SIM()) recupera e o conjunto de candidatos potenciais. A medida de similaridade calculada por meio da ¸˜ ¸˜ aplicacao do conceito SIM() sobre cada informacao pode ser usada como chave para ¸˜ ordenacao desta tabela. ¸˜ A utilizacao deste m´ todo provˆ uma melhora de desempenho consider´ vel, caso e e a o n´ mero de candidatos potenciais seja consideravelmente menor do que o total de casos u a e ¸˜ na base. A complexidade ser´ equivalente a soma dos custos para aplicar a pr´ -selecao a ¸˜ todos os casos da base mais os custos da determinacao seq¨ encial da medida de similari- u dade para os casos selecionados no primeiro passo. Esta melhoria na performance pode ter um preco: a possibilidade de erros de ¸ ¸˜ recuperacao. Estes poss´veis erros s˜ o classificados em dois tipos: ı a • Erro α: um caso suficientemente similar a consulta n˜ o e selecionado no primeiro passo; ` a ´ • Erro β: um caso que n˜ o e suficientemente similar a consulta e selecionado no primeiro a ´ ` ´ passo como candidato potencial. Desta forma, a eficiˆ ncia deste m´ todo fica por conta dos erros α e β, o erro e e α influencia diretamente na eficiˆ ncia do m´ todo, pois afeta a completeza do resultado. e e Caso o erro β, se apresente em grande n´ mero, o desempenho do algoritmo e afetado, u ´ pois casos irrelevantes aparecer˜ o no conjunto de potenciais candidatos. Isto deve ser a ¸˜ controlado pela escolha do predicado de pr´ -selecao SIM(). e ¸˜ 5.1.3. Determinacao de SIM() Existem v´ rios enfoques para se determinar a SIM(), dentre eles: a • Igualdade: todos os atributos de um caso correspondem aos atributos do caso em quest˜ o; a • Igualdade parcial: pelo menos um atributo de um caso corresponde ao atributo do caso em quest˜ o; a • Similaridade local: todos ou k atributos de um caso s˜ o similares aos atributos do caso a em quest˜ o; a • Similaridade local parcial: pelo menos um dos atributos de um caso e suficientemente ´ similar a um atributo do caso em quest˜ o; a
  • 14. Vantagens: • Poss´vel vantagem de performance; ı • Correcao do m´ todo; ¸˜ e • Custo de recuperacao e vari´ vel; ¸˜ ´ a • Utilizacao de conhecimento; ¸˜ • Consultas ad-hoc s˜ o poss´veis. a ı Desvantagens: • Possibilidade de erros; • Ganho em performance n˜ o e garantido; a ´ • Dif´cil definicao do predicado SIM(). ı ¸˜ ¸˜ ´ 5.1.4. Recuperacao Orientada a Indices Este m´ todo e executado em duas fases, primeiro seleciona os ´ndices adequados a serem e ´ ı utilizados, ent˜ o efetua a recuperacao baseada nestes ´ndices: a ¸˜ ı 1. Pr´ -processamento: todos os casos s˜ o analisados com base em crit´ rios tomados a partir e a e da consulta e uma estrutura de ´ndices para o acesso e gerada. ı ´ ¸˜ 2. Recuperacao: os casos mais similares s˜ o determinados a partir da estrutura de ´ndices a ı gerada anteriormente. ´ ´ ¸˜ Figura 5. Princ´pio basico de metodos de recuperacao orientados a ´ndices. ı ı ´ A principal vantagem desse m´ todo e o ganho de performance devido a e ` ¸˜ ¸˜ ´ comparacao de casos durante a recuperacao. E necess´ rio atingir um equil´brio entre a ı ¸˜ ¸˜ custos de recuperacao de casos, complexidade de processamento e manutencao de uma estrutura complexa de ´ndices. ı Suas desvantagens s˜ o: custos de processamento elevados, o esforco de a ¸ ¸˜ implementacao e a n˜ o possibilidade de efetuar consultas ad-hoc. a
  • 15. ¸ ´ 1. Desca a arvore at´ uma folha e 2. Calcule a similaridade para os casos na folha 3. Determine t´ rmino e 4. Determine mais candidatos a. SE repositorios intersectam ENTAO b. Pesquise em ramos alternativos 5. Retorne a p.3 7. Pare se n˜ o h´ reposit´ rios que intersectam a a o ¸˜ ´ Tabela 8. Princ´pio da recuperacao em arvores k-d (Wangenheim, 2003). ı 1. IN´ ICIO ´ 2. SE K e folha ENTAO ˜ 3. PARA cada caso F de K FACA ¸ 4. SE sim(Q,F) > scq[m] ENTAO ˜ 5. Insira F em scq ˜ 6. SENAO (* nodo interno *) 7. SE Ai e o atributo e vi o valor que rotulam K ´ 8. SE Q[Ai ] ≤ vi ENTAO˜ 9. recupere(K≤ ) 10. ´ SE Teste-EIL e verdade ENTAO ˜ 11. recupere(K> ) 12. SENAO ˜ 13. recupere(K> ) 14. ´ SE Teste-EIL e verdade ENTAO ˜ 15. recupere(K≤ ) ´ 16. SE Teste-EDL e verdade ENTAO ˜ ¸˜ 17. Termine recuperacao com scq 18. FIM ´ Tabela 9. ALGORITMO recupere (K: arvore k-d) (Wangenheim, 2003). ¸˜ ´ 5.1.5. Recuperacao com arvores k-d ¸˜ ´ ´ Na recuperacao com arvores k-d, o espaco de busca e estruturado com base em sua den- ¸ ¸˜ a ´ sidade observada, a recuperacao ent˜ o, e feita nesta estrutura. Principais vantagens: • Recuperacao extremamente eficiente; ¸˜ • Esforco de recuperacao depende do n´ mero m de casos que se deseja recuperar; ¸ ¸˜ u • Extens˜ o incremental se mais casos se tornarem dispon´veis; a ı • Armazenamento dos casos em uma base de dados f´ cil de ser realizado. a Desvantagens: • Esforco maior na criacao da estrutura de ´ndices da arvore k-d. ¸ ¸˜ ı ´
  • 16. ¸˜ 5.2. Redes de Recuperacao de Casos ¸˜ a Os principais passos do processo de recuperacao s˜ o: ¸˜ ¸˜ 1. Ativacao das Eis dadas por meio do caso de recuperacao; ¸˜ ¸˜ 2. Prorrogacao dessa ativacao de acordo com a similaridade por meio de toda a rede de EI at´ que nodos de casos sejam alcancados; e ¸ ¸˜ ` 3. Coleta da ativacao adquirida nos nodos de caso associados, a qual reflete a similaridade a consulta. ¸˜ Formalmente, pode-se definir uma rede de recuperacao de casos b´ sica como a descrito abaixo: N=[E, C, S, F, T) onde: ´ . E e um conjunto finito de nodos EI; ´ . C e um conjunto finito de nodos de casos; ´ . S E uma medida de similaridade S: E x E → R que descreve a similaridade local S (e’, e”) entre duas EIs e’, e”; . F e uma funcao de relevˆ ncia F: E x C → R que descreve a ´ ¸˜ a relevˆ ncia (peso) F(e,c) da EI e para o nodo de caso c; a . T e o conjunto de funcoes de propagacao tn : RE → R ´ ¸˜ ¸˜ para cada nodo n E ∪ C. ¸˜ Tabela 10. Rede de recuperacao de casos (Wangenheim, 2003). Vantagens: • Representacao de medidas de similaridade compostas; ¸˜ • Capacidade de manipular consultas incompletas; • Medidas de similaridade sens´veis a contexto; ı • Recuperacao eficiente; ¸˜ • Recuperacao completa; ¸˜ • Recuperacao e representacao flex´veis de casos. ¸˜ ¸˜ ı Desvantagens: • Construcao inicial requer custos computacionais altos; ¸˜ • Sens´vel a inconsistˆ ncias nos dados armazenados; ı e • Falta de nodos para atributos num´ ricos e muitos passos de propagacao s˜ o necess´ rios se e ¸˜ a a ´ o grau de conectividade e alto e com muitas EI semelhantes.
  • 17. 5.3. Qual o melhor m´ todo? e e a ¸˜ O m´ todo que melhor ir´ se adaptar a uma aplicacao depender´ dos seguintes aspectos: a • Representacao de casos: casos se apresentam em uma estrutura fixa, pr´ -definida, ou sem ¸˜ e ¸˜ formato e pode variar de acordo com a situacao do sistema; • Estrutura de Base de casos: tamanho desta base, do conhecimento a ser aplicado ou a eficiˆ ncia que ser´ necess´ ria; e a a • Medida de similaridade: locais, globais ou at´ mesmo os dois tipos, dependendo da e ¸˜ situacao. ¸˜ 6. Reutilizacao de casos ¸˜ A partir de um caso armazenado na base, sua solucao e os detalhes de como o mesmo foi ¸˜ realizado s˜ o objetos que podem ser analisados para a solucao de um novo problema no a ¸˜ sistema. O simples fato de se utilizar um caso armazenado caracteriza a reutilizacao em sistemas de RBC. ¸˜ ¸˜ ¸˜ O processo de reutilizacao se d´ atrav´ s da adaptacao de solucoes encontradas de a e ¸˜ casos anteriores, que podem ser utilizadas na solucao de novos casos, por´ m, espera-se e ¸˜ a ¸˜ que esta adaptacao n˜ o seja necess´ ria, e sim, que o sistema possa encontrar uma solucao a em potencial para o problema apresentado. Conforme [Wangenheim 2003], ao inv´ s de se adaptar um caso recuperado, pode- e se optar pela inclus˜ o de uma grande quantidade de casos na base, possibilitando uma a ¸˜ solucao garantida a todo problema apresentado no sistema. A principal dificuldade en- ¸˜ ¸˜ ¸˜ frentada no processo de adaptacao est´ na definicao de como realiz´ -la. A adaptacao pode a a a e ¸˜ ocorrer de forma autom´ tica, por´ m, deve-se levar em consideracao os seguintes detalhes: as diferencas entre os casos (atual e o passado) e que detalhes do caso passado podem ser ¸ utilizados no caso atual. V´ rias t´ cnicas j´ foram pesquisadas e desenvolvidas para o processo automati- a e a ¸˜ ¸˜ zado de adaptacao. Conforme [Wangenheim 2003], as estrat´ gias de adaptacoes s˜ o as e a seguintes: • Adaptacao nula; ¸˜ • Adaptacao transformacional; ¸˜ – Adaptacao substitucional; ¸˜ – Adaptacao estrutural; ¸˜ • Adaptacao gerativa/derivacional; ¸˜ – Inicializacao; ¸˜ – One-shot replay; – Replay entrelacado; ¸ • Adaptacao composicional; ¸˜ • Adaptacao hier´ rquica. ¸˜ a a ´ ¸˜ Em meio a essas t´ cnicas, a quest˜ o e como utilizar a solucao de um caso armazenado e ¸˜ para o caso proposto. A solucao se daria atrav´ s da transferˆ ncia completa ou parcial do e e caso similar, ou utilizando fragmentos dos casos candidatos, gerando assim uma solucao ¸˜ ¸˜ com o conjunto de informacoes obtidas.
  • 18. 7. Revis˜ o de casos a ¸˜ ´ Nesta secao e abordada as quest˜ es de aprendizado do sistema. Quando um caso n˜ o cor- o a ´ ¸˜ reto e selecionado, h´ a necessidade de armazenar esta situacao a fim de evitar poss´veis a ı ¸˜ erros no futuro. Da mesma forma, quando a solucao gerada for considerada correta, o sistema deve “aprender” com o sucesso e reter o caso. A revis˜ o de casos consiste em a duas tarefas: • Avaliar a solucao e fazer a retencao, no caso de sucesso; ¸˜ ¸˜ • Caso contr´ rio, reparar a solucao com base no conhecimento espec´fico ou informacoes a ¸˜ ı ¸˜ do usu´ rio. a ¸˜ Primeiramente, a revis˜ o se concentra em encontrar falhas nas solucoes apresen- a ¸˜ ¸˜ ¸˜ tadas, considerando o resultado da aplicacao destas solucoes atrav´ s de monitoracao au- e a ¸˜ tom´ tica ou interacao com o usu´ rio. Em seguida, as falhas encontradas s˜ o reparadas ou a a explicadas. ¸˜ ´ ¸˜ Quando uma explicacao e dada para uma falha, significa que a solucao em quest˜ o a ¸˜ a ´ n˜ o gera os resultados esperados, esta explicacao ent˜ o, e utilizada para modificar a a ¸˜ ` ¸˜ solucao ou a forma como o sistema chegou a solucao de maneira que o caso obtenha sucesso e a falha n˜ o ocorra futuramente. a ´ ´ Quando uma falha e reparada, e recomendado que este reparo seja feito em poss´veis falhas similares, nos casos armazenados na base de casos. ı “Um bom sistema RBC deve ser projetado de forma a oferecer uma interface para ¸˜ ¸˜ ¸˜ captacao de feedback sobre o resultado da aplicacao da solucao fornecida”[Wangenheim 2003]. ¸˜ 8. Retencao de novos casos ´ De acordo com [Toniazzo 2005] e importante reter o conhecimento toda vez que um novo problema for solucionado, estendendo assim a base de casos. ¸˜ A retencao automatizada de um novo caso em RBC pode ser mais complexa do que apenas inserir um novo caso de sucesso, tamb´ m se faz necess´ rio utilizar t´ cnicas e a e ¸˜ de Aprendizado de M´ quina. Nesta secao ser´ abordado algumas filosofias de retencao a a ¸˜ de casos e as t´ cnicas utilizadas em cada uma. e ¸˜ 8.1. Tipos de retencao ¸˜ [Wangenheim 2003] Apresenta trˆ s tipos de retencao conhecidos em um sistema de RBC: e • Sem retencao de casos: Geralmente aplicado onde se tem um dom´nio satis- ¸˜ ı ¸˜ ¸˜ fat´ rio do conhecimento necess´ rio para a estruturacao da aplicacao. Neste caso, o a ¸˜ a retencao de novos registros n˜ o se faz necess´ rio, pois o mesmo n˜ o contribuir´ a a a a ¸˜ com a otimizacao na performance da aplicacao;¸˜ • Retencao de solucoes de problemas: Este tipo de retencao e a que caracteriza ¸˜ ¸˜ ¸˜ ´ de forma espec´fica o aprendizado no RBC. Quando solucionado um problema, o ı ´ conhecimento a experiˆ ncia e armazenada para ser utilizada como um auxiliar nos e novos problemas;
  • 19. • Retencao de Documentos: Aqui a retencao ocorre separada ao processo de ¸˜ ¸˜ ¸˜ solucao de um problema. Sempre que disponibilizado um novo conhecimento ¸˜ no sistema, seja atrav´ s de documentos, descricoes, ou qualquer outro tipo, o pro- e ¸˜ ´ cesso de retencao e ativado. ¸˜ 8.2. Fases do processo de retencao ¸˜ ¸˜ O processo de retencao pode ser refinado em trˆ s fases: extracao de conhecimento, e ¸˜ ¸˜ indexacao de casos e integracao na base de casos. ¸˜ 8.2.1. Extracao do conhecimento ´ ¸˜ ¸˜ ¸˜ ¸˜ E a aquisicao das informacoes necess´ rias para a estruturacao de uma solucao na tomada a de decis˜ o. Esse novo conhecimento adquirido ser´ integrado a um caso que j´ exista na a a a base, assim como, pode ser constru´do um novo caso [Toniazzo 2005]. As fontes para ı novas experiˆ ncias podem ser: e • Para sistemas de retencao de solucao problemas: A solucao do problema, es- ¸˜ ¸˜ ¸˜ ¸˜ ¸˜ trutura do caminho de solucao, representacao do conhecimento usado, hist´ rico o ¸˜ ¸˜ ¸˜ de adaptacao de casos, protocolos de solucao gerados pelo sistema, explicacoes e justificativas; • Para sistemas de retencao de documentos: Documentos, manuais t´ cnicos, ¸˜ e ¸˜ descricoes de produtos, base de dados online com resumos de conhecimento em ´ uma area. ¸˜ Com base nas informacoes adquiridas, um novo caso poder´ ser integrado em um caso a existente ou um caso similar poder´ ser generalizado para inserir a nova experiˆ ncia. Para a e ¸˜ ´ qualquer uma das situacoes citadas e preciso levantar o que deve ser utilizado como fonte de aprendizado e como estruturar a nova experiˆ ncia. e ¸˜ 8.2.2. Indexacao ´ ¸˜ E a fase que decide qual a melhor forma de indexar os casos para futuras recuperacoes. Uma solucao para este problema seria utilizar todas as entidades como ´ndices. ¸˜ ı ¸˜ 8.2.3. Integracao de casos ¸˜ ¸˜ Esta fase realiza a inclus˜ o, exclus˜ o ou modificacao de casos na base. A integracao a a pode realizar um ajuste nos ´ndices existentes e nos pesos dos mesmos, proporcionando ı ´ ¸˜ o refinamento dos casos. O objetivo e que em consultas futuras a recuperacao dos casos venha a ser feita em uma base de casos atualizada. 8.3. Aprendizado baseado em casos RBC implica em uma forma de aprendizado por analogia, em que, por meio da ¸˜ transformacao e extens˜ o do conhecimento existente, uma tarefa ou problema similar a ´ e executado ou removido [Andrade 2008].
  • 20. ` Algoritmos para aprendizados baseado em casos pertencem a classe de algoritmos 8 de aprendizado de instˆ ncias, os chamados Algoritmos IBL . a 8.3.1. Algoritmos IBL Conforme [Alves 2005] sempre que um sistema altera seu conhecimento, atrav´ s dae ¸˜ ¸˜ adicao de novos padr˜ es, ou outro tipo de alteracao, podemos falar de um processo de o aprendizado. Algoritmos IBL aprendem a categorizar um conjunto de classes de objetos de forma incremental com base em exemplos de instˆ ncias dessas categorias. a Segundo [Wangenheim 2003] existem trˆ s componentes presentes em todas as e classes de algoritmos-IBL: • Funcao de Similaridade: Computa a similaridade entre uma instˆ ncia de treina- ¸˜ a mento i e as instˆ ncias em uma dada descricao conceitual; a ¸˜ • Funca ¸ ˜ o de Classificacao: Recebe o resultado da ”Funcao de Similaridade”e ¸ ˜ ¸˜ provˆ uma classificacao para i; e ¸˜ • Atualizador do descritor conceitual: Decide quais instˆ ncias incluir na a ¸˜ descricao conceitual. ¸˜ ¸˜ e As funcoes de similaridade e classificacao tˆ m o objetivo de determinar como o conjunto a ¸˜ de instˆ ncias salvas na descricao conceitual ser˜ o utilizadas para predizer valores para o a atributo de categoria. De acordo com [Wangenheim 2003], para supervisionar o desempenho de algorit- mos de aprendizado usamos as seguintes dimens˜ es: o • Generalidade: Representa as classes de conceito que podem ser aprendidos e descritos pelo algoritmo em quest˜ o; a • Acur´ cia: E a ´ a acur´ cia da classificacao provida pela descricao conceitual; a ¸˜ ¸˜ ` • Taxa de Aprendizado: E a velocidade com a qual a acur´ cia classificat´ ria au- a o menta durante o aprendizado; • Custos de Incorporacao: Custos que decorrem da atualizacao da descricao con- ¸˜ ¸˜ ¸˜ a a ´ ceitual por meio da inclus˜ o de uma instˆ ncia unica; • Requisitos de Armazenamento: Tamanho da descricao conceitual, que em ¸˜ ´ algoritmos-IBL e definida com o n´ mero de instˆ ncias que necessitam ser salvas, u a para prover um desempenho classificat´ rio adequado. o ´ O algoritmo IBL1 e o mais simples algoritmo de aprendizado baseado em instˆ ncias. A a ¸˜ ´ funcao de similaridade e a seguinte: n sim(Q, C) = − f (Q, C) (6) i=1 Onde os casos s˜ o descritos atrav´ s de n entidades. Definimos f (Qi, Ci) = (Qi − Ci)2 a e para entidades de valor num´ rico, e f (Qi, Ci) = (Qi. 1 Ci) para entidades booleanas e de e 4 valor simb´ lico ou textual [Wangenheim 2003]. o 8 Do inglˆ s, Instance-Based Learning. e
  • 21. Entidades ausentes s˜ o consideradas como sendo maximamente diferentes do a valor presente. Se ambos faltam, ent˜ o vale f (Qi, Ci) = 1. De acordo com [Wangenheim a ´ e ¸˜ 2003], o algoritmo IBL1 e idˆ ntico ao algoritmo nearest neighbour discutido na secao 4, ´ exceto que, pelo fato de normalizar as faixas das EI, e capaz de processar casos de forma incremental, e possui uma pol´tica simples para lidar com valores desconhecidos. ı ¸˜ ¸˜ ¸˜ As funcoes de similaridade e de classificacao de IBL1 provˆ uma descricao con- e ceitual extensiva a partir do conjunto de casos salvos, mostrado na tabela 11. DC: Descritor Conceitual Inicialize DC := 0 PARA cada C ∈ conjunto de treinamento FACA ¸ PARA cada C ∈ DC FACA ¸ sim(C) := sim(Q, C) Cmax := algum C ∈ DC com MAX sim(C) SE classe(Q) = classe(Cmax) ENTAO ˜ classificacao := correta ¸˜ ˜ SENAO classificacao := incorreta ¸˜ DC := DC ∈ Q FIM Tabela 11. Algoritmo IBL1 Existem duas extens˜ es deste algoritmo que s˜ o respectivamente o algoritmo IBL2 o a e a ´ e IBL3. A id´ ia b´ sica do IBL2 e que n˜ o precisamos instanciar todos os novos casos para a ¸˜ ´ permitir uma boa descricao dos limites de um conceito. E necess´ rio apenas utilizar um a caso similar de sucesso e seus casos vizinhos similares de insucessos para se formular uma ¸˜ ¸˜ nova descricao da solucao. IBL2 reduz drasticamente as necessidades de armazenamento. ´ O maior problema do IBL2 e o ru´do, que rapidamente mortifica seu desempenho, ı ` podendo levar a uma acur´ cia bastante inferior a do IBL1. Isto ocorre porque IBL2 salva a todos os exemplos de treinamento com ru´do que classifica erroneamente e depois os ı utiliza. ´ IBL3 e uma extens˜ o do IBL2 tolerante a ru´dos que emprega uma estrat´ gia de a ı e coleta de evidˆ ncias de “esperar para ver”para ent˜ o averiguar quais das instˆ ncias salvas e a a ¸˜ ¸˜ ´ e v˜ o funcionar bem durante a classificacao. Sua funcao de similaridade e idˆ ntica ao a uˆ IBL2. No entanto, IBL3 registra a freq¨ encia com a qual um caso armazenado quando escolhido como o mais similar ao caso atual correspondeu ao valor do atributo-meta deste. ¸˜ ¸˜ ¸˜ A funcao de classificacao e o algoritmo de atualizacao diferem do IBL3. Entre outras e ¸˜ coisas, IBL3 mant´ m um registro de classificacoes, registrando o n´ mero de tentativas u corretas e incorretas, associado a cada caso armazenado. ¸˜ 9. Dom´nio da aplicacao ı A tecnologia de RBC pode ser utilizada em v´ rios dom´nios, como por exemplo: an´ lise a ı a ¸˜ e financeira, manutencao t´ cnica, controle de processos, controle da qualidade, diagn´ stico o m´ dico, sistemas de suporte a software, previs˜ o, planejamento, projeto, classificacao, e a ¸˜ ¸˜ ¸˜ interpretacao de imagens, avaliacao imobili´ ria, com´ rcio eletrˆ nico, suporte ao usu´ rio a e o a e etc.
  • 22. Cada dom´nio possui suas caracter´sticas particulares que influenciam fortemente ı ı ¸˜ na escolha da representacao do conhecimento a ser utilizado [Wangenheim 2003]. ` 9.1. Suporte a vendas ´ ı ` O objetivo desse dom´nio e oferecer aux´lio a venda de produtos, estimando custos ade- ı quados ao perfil do cliente. De acordo com [Nisanbayev, Ko, Abdulaev, Na, Lim 2009] e [Wangenheim 2003] ` o dom´nio suporte a vendas, pode ser definido como qualquer atividade de comunicacao ı ¸˜ ` em forma eletrˆ nica realizada para oferecer suporte a atividades comerciais. Podendo se o inserir em diferentes momentos tais como: pr´ -venda, venda e p´ s-venda. e o No per´odo de pr´ -venda, o cliente manifesta interesse por um produto ou servico, ı e ¸ ¸˜ e obt´ m toda a informacao. Na venda, um cliente e um vendedor negociam produtos ou e ´ servicos. A tarefa do vendedor e descobrir as necessidades do cliente e oferecer-lhe um ¸ produto ou servico adequado. ¸ Neste contexto, o SRBC tem como objetivo oferecer ao cliente servicos e facili- ¸ ¸˜ ¸˜ dades melhores de selecao. Por exemplo, durante a situacao de pr´ -venda, o SRBC pode e ser aplicado para capturar caracter´sticas do cliente e oferecer um produto similar ao perfil ı do mesmo. At´ o momento foi apresentada a t´ cnologia RBC, em seguida, ser´ feita uma e e a ¸˜ an´ lise detalhada da aplicacao, o projeto e a modelagem do sistema proposto. a 9.2. Projeto proposto O projeto tem como objetivo modelar e desenvolver um sistema de vendas on-line, uti- lizando a tecnologia RBC. Com base nas caracter´sticas do cliente, o sistema buscar´ na ı a ¸˜ base de conhecimento por situacoes (casos) que julgue similares ao perfil desse cliente. Utilizando-se o exemplo abaixo, onde um cliente gostaria de comprar um carro em um ambiente Web, e fornecendo seus dados e caracter´sticas o sistema ir´ sugerir o ı a carro mais similar ao seu perfil: Caso atual: • Profiss˜ o: Engenheiro el´ trico a e • Idade: 25 • Hobby: Esportes • Classe Social: Alta Caso recuperado: • Cliente: Carlos Magno • ¸˜ Profiss˜ o: Engenheiro de Automacao a • Idade: 29 • Hobby: Esportes • Classe Social: Alta ¸˜ ¸˜ Descricao da Solucao: • Carro Comprado: Audi TT • Cor: Amarelo
  • 23. • Valor: R$ 120.000 • Forma de Pagamento: 10 vezes no cheque Logo, o sistema recomendar´ o carro do caso mais similar recuperado da base de a conhecimento e apresentaria seus benef´cios. Caso o cliente goste do produto, o sistema ı o questionar´ sobre a forma de pagamento mais adequado e interagindo com o mesmo, a a ı a ¸˜ calcular´ o valor do desconto poss´vel e assim concluir´ a negociacao. 9.3. Modelagem do sistema ¸˜ Nesta secao apresenta-se o diagrama de casos do sistema proposto e descreve-se o princi- pal caso de uso: consultar produto RBC. 9.3.1. Diagrama de casos de uso Casos de uso envolvidos: consultar produto, consultar produto RBC, comprar produto, cadastrar cliente, cadastrar produto, cadastrar benef´cio dos produtos, cadastrar fornece- ı ¸˜ dor, cadastrar funcion´ rio e cadastrar promocao, como apresentado na figura 6. a Atores do sistema: cliente Web, funcion´ rio e gerente. a ´ O caso de uso que ser´ interessante para este artigo e o consultar produto RBC, a que estende do caso de uso comprar produto. ´ Figura 6. Diagrama de casos de uso do prototipo do sistema de vendas on-line. ¸˜ 9.3.2. Descricao do caso de uso comprar produto ¸˜ Na tabela 12 apresenta-se a descricao do caso de uso comprar produto, que tem como fluxo alternativo consultar produto RBC e registrar pedido.
  • 24. Projeto Sistema e-commerce9 CSU01 Comprar Produto Data 12/04/2010 Vers˜ o a 1.0 ¸˜ Descricao ¸˜ ¸˜ Descricao feita ap´ s a primeira validacao de requisitos com o cliente. o Autor Diego Lima Ervatti, Patrick Peyneau Andrade, Rafael Zacche de S´ Silva. a Sum´ rio a Ator realiza a compra de um produto. Ator Principal Cliente Web e ¸˜ Pr´ -Condicoes Cliente Web dever´ estar cadastrado no sistema. a Risco: Alto Prioridade: Alto 1.1. Fluxo Principal: Comprar Produto 1.1.1. Este caso de uso inicia quando o ator opta por comprar um novo produto ( A2) 1.1.2. O ator insere seus os dados para pesquisar um produto adequado com seu perfil ( A1) ¸˜ 1.1.3. O ator lˆ as informacoes do produto e 1.1.4. O ator solicita um pedido do produto 1.1.5. O sistema gera o c´ digo do Produto automaticamente o 1.1.6. O sistema retorna uma mensagem de sucesso 1.1.7. O ator confirma a mensagem 1.1.8. O caso de uso se encerra. 1.2. Fluxos Alternativos 1.2.1. ( A1) - Consultar Produto RBC 1.2.1.1. O sistema faz a validacao dos dados ( E1) ¸˜ 1.2.1.2. O sistema aplica a similaridade e recupera o caso mais similar da base de casos ¸˜ 1.2.1.3. O sistema exibe o caso mais similar da base de casos com as informacoes do produto ¸˜ 1.2.1.4. O sistema retorna uma mensagem de sucesso na recuperacao do caso 1.2.1.5. Este caso de uso se encerra. 1.2.2. ( A2) - Cadastrar Cliente 1.2.2.1. O sistema verifica se o ator j´ est´ cadastrado no sistema a a 1.2.2.2. Caso o ator n˜ o esteja cadastrado o sistema solicita os dados do ator ( E1) a 1.2.2.2. O ator informa seus dados 1.2.2.3. O sistema retorna uma mensagem de sucesso 1.2.2.4. O ator confirma a mensagem 1.2.2.5. Este caso de uso se encerra. ¸˜ 1.3 Fluxos Excecoes 1.3.1. ( E1) - Dados Obrigat´ rios o o a ´ 1.3.1.1. Caso os dados obrigat´ rios n˜ o sejam fornecidos, e emitida uma mensagem de erro informando a falha e solicitando os dados 1.3.1.2. Retornar ao ponto de entrada de dados. ¸˜ P´ s-Condicoes: Um compra de um produto foi realizada e um novo caso foi inserido ou alterado da base de casos com sucesso. o Tabela 12. Descricao do caso de uso Comprar produto ¸˜ 9.3.3. Modelagem de casos A modelagem de casos tem como objetivo aplicar o c´ lculo de similaridade global e local. a ¸˜ Nesta subsecao apresenta-se a modelagem de um sistema de vendas on-line de carros. Modelo de caso para classe carro A modelagem de caso para a classe carro tem como atributos: ano, categoria, cor, marca, ¸ e ¸˜ modelo, preco e potˆ ncia, com suas respectivas descricoes e tipos, representado na tabela 13.
  • 25. Tipo-base Faixa Ano Data 2010/2011 Categoria S´mbolo ı Econˆ mico, esportivo, pick-up, cl´ ssico o a Cor S´mbolo ı Amarelo, preto, prata,... Marca S´mbolo ı Chevrolet Modelo S´mbolo ı Agile, astra, blazer, captiva, celta, classic Preco ¸ Real [0,00, 200.000,00] Potencia Inteiro [0 - 300] ¸˜ Tabela 13. Definicao de atributos e tipos para carro. Existe uma similaridade local para o modelo de carro. Cada caso de venda pos- suir´ os atributo para os modelos de carros, onde os valores de similaridade ser˜ o dis- a a tribu´dos conforme a tabela 14. ı Agile Astra Blazer Captiva Classic Vectra GT Agile 1.0 0.6 0.0 0.3 0.5 0.4 Astra 0.6 1.0 0.0 0.4 0.5 0.8 Blazer 0.0 0.0 1.0 0.2 0.0 0.0 Captiva 0.3 0.4 0.2 1.0 0.1 0.3 Classic 0.5 0.5 0.0 0.1 1.0 0.0 Vectra GT 0.4 0.8 0.0 0.3 0.0 1.0 Tabela 14. Similaridade local para modelo. Modelo de caso para classe cliente A modelagem de caso para a classe cliente tem como atributos: hooby, classe social,grau ¸˜ escolar, estilo de ser e estado civil, com suas respectivas descricoes e tipos, representado na tabela 15. Tipo-base Faixa Hooby S´mbolo ı Esportes radicais, colecionador, sair com a fam´lia ı Classe social S´mbolo ı Baixa, m´ dia, alta e Grau escolar S´mbolo ı Fundamental, m´ dio, superior e Estilo de ser S´mbolo ı Simples, extravagante, formal, arrojado, espacoso ¸ Estado Civil S´mbolo ı Solteiro, casado, separado, divorciado, vi´ vo u ¸˜ Tabela 15. Definicao de atributos e tipos para cliente.
  • 26. Existe uma similaridade local para a classe social de cada cliente. Cada caso de venda possuir´ o atributo classe social do cliente, onde os valores de similaridade ser˜ o a a distribu´dos conforme a tabela 16. ı Baixa M´ dia e Alta Baixa 1.0 0.5 0.0 M´ dia e 0.5 1.0 0.5 Alta 0.0 0.5 1.0 Tabela 16. Similaridade local para Classe social. 9.4. Ferramentas para desenvolvimento de SRBC Existem v´ rias ferramentas (shells10 ) para desenvolvimento de SRBC no mercado. Dentre a as quais destacam-se: CBR-Works, MyCBR11 e JColibri12 . A metodologia RBC pode ser aplicada em um problema de forma ad-hoc13 ou a ¸˜ partir da especializacao de infra-estruturas que englobem as diversas tarefas necess´ rias a ao racioc´nio. ı ´ O shell CBR-Works, desenvolvido pela TecInno/empolis, e um dos shells de RBC ¸˜ mais poderosos dispon´veis, podendo ser utilizado para desenvolvimento de solucoes in- ı teligentes aplicados a diversos dom´nios e ambientes operacionais. Possui uma interface ı ´ ¸˜ intuitiva e com poucos cliques e poss´vel criar uma aplicacao simples utilizando RBC. ı ´ Sua grande desvantagem e ser um shell propriet´ rio, possuindo um alto custo, o que para a o desenvolvimento do projeto proposto no presente artigo se torna invi´ vel. a ´ MyCBR e um shell de c´ digo fonte aberto para o desenvolvimento de solucoes o ¸˜ 14 ´ que utilizam do RBC. Seu objetivo e ser f´ cil de usar e fornecer GUIs poderosas para a modelagem do sistema. Sua confort´ vel interface gr´ fica permite que at´ mesmo os no- a a e ¸˜ vatos em RBC criem rapidamente suas primeiras aplicacoes. No entanto, garante a flexi- ¸˜ bilidade suficiente para permitir que usu´ rios experientes possam implementar aplicacoes a avancadas de RBC. ¸ ¸˜ Em particular, o shell jColibri desenvolvido pelo Grupo de Aplicacoes de In- teligˆ ncia Artificial da Universidade Complutense de Madri (Espanha) e licenciado e atrav´ s da Licenca P´ blica Geral. Esta apresenta shells para projetar RBC e APIs15 para e ¸ u ` ¸˜ integrar a metodologia as aplicacoes. ¸˜ O jColibri disp˜ e de funcionalidades para uso de ontologias na representacao de o casos e conta com uma biblioteca de m´ tricas de similaridade para ontologias [Martins e 2009]. ` ¸˜ O que torna o shell jColibri particularmente adequado a implementacao do sis- ´ tema proposto neste artigo, e que dentre os shells pesquisados, ele possui maior quanti- 10 ´ ¸˜ Shells, de maneira gen´ rica, e um programa que faz a intermediacao do contato entre o usu´ rio e o e a computador. 11 http://mycbr-project.net/ 12 http://gaia.fdi.ucm.es/projects/jcolibri/ 13 ¸˜ Termo usado em computacao para resolver determinado problema ou realizar uma tarefa espec´fica. ı 14 Do inglˆ s, Graphical User Interface. e 15 Do inglˆ s, Application Programming Interfaces. e
  • 27. ¸˜ dade de material dispon´vel para estudos e possui a integracao de suas bibliotecas com a ı linguagem Java. 10. Conclus˜ o a Neste trabalho foram discutidas as principais caracter´sticas que envolvem o estudo da ı tecnologia de RBC. Sistemas de gerˆ ncia de bancos de dados (SGBD) s˜ o largamente utilizados, para e a ¸˜ ¸˜ armazenamento e recuperacao de informacoes em sistemas e-commerce. Estes sistemas s˜ o projetados para realizar consultas exatas na base de dados, em contrapartida os SRBC a s˜ o projetados para realizar consultas inexatas. a e a ¸˜ Quando correspondˆ ncias exatas n˜ o existem para uma nova situacao um SGBD ¸˜ ´ n˜ o consegue oferecer uma solucao, por´ m um SRBC e capaz de encontrar um caso a e adequado. Os objetivos propostos no artigo foram atingidos. Apresentamos o estado da arte ´ ¸˜ na area de RBC e iniciamos a modelagem de uma aplicacao RBC (sistema de vendas de carros on-line). Como trabalhos futuros pretende-se desenvolver e testar o sistema de vendas de carro on-line. Utilizaremos a linguagem Java com o aux´lio do shell jColibri. Assim, ı demonstraremos de forma pr´ tica o funcionamento de um SRBC e ser˜ o aplicados os a a ¸˜ conhecimentos adquiridos no decorrer do curso de Ciˆ ncias da Computacao (UVV). e
  • 28. Referˆ ncias e ¸˜ ¸˜ [1] Alves, F. C. (19 de Abril de 2005). Aplicacao de T´ cnicas de Mineracao de Dados a uma e ¸˜ ¸˜ Base de um Sistema Gerenciador de Informacoes para UTI. Dissertacao de Mestrado , p. 112. ¸˜ ¸˜ [2] Andrade, F. V. (19 de Novembro de 2008). Predicao de Tempo de Execucao de Tarefas em Grades Computacionais para Recursos n˜ o Dedicados , p. 107. a [3] Goetze, A. R. (11 de Abril de 2005). Unisinos. Acesso em 3 de Maio de 2010, dispon´vel em Universidade do Vale do Rio dos Sinos: ı http://www.inf.unisinos.br/ ari/estrut/kdtree/kd-tree.html [4] Heredia, L. R., Iochpe, C., e Comba, J. (2003). Explorando a multidimensionalidade da KD-Tree para suporte a temporalidade em dados espaciais vetoriais do tipo ponto. Instituto de Inform´ tica da UFRGS , p. 8. a [5] Luger, G. F. (2004). Inteligˆ ncia artificial (4a ed.). (P. Engel, Ed.) Porto Alegre: Book- e mann. ¸˜ ¸˜ [6] Martins, D. (Julho de 2009). Uma abordagem para recuperacao de informacoes sens´vel ı ¸˜ ao contexto usando retroalimentacao impl´cita de relevˆ ncia. p. 107. ı a [7] Nisanbayev, Y., Ko, I. S., Abdulaev, S., Na, H., e Lim, D. (2009). E-commerce Appli- cations of the Hybrid Reasoning Method. International Conference on New Trends in Information and Service Science ,p. 5. [8] Real, R. (21 de Marco ¸ de 2003). Redes semˆ nticas a . Acesso em 3 de Maio de 2010, dispon´vel ı em http://www.inf.ufrgs.br/gppd/disc/cmp135/trabs/rodrigo/T1/html/index.html [9] Rezende, S. O. (2005). Sistemas Inteligentes (1a ed.). Barueri: Manole. [10] Russell, S. J. (2004). Inteligˆ ncia artificial (2 ed.). Rio de Janeiro: Norving. e ¸˜ [11] Toniazzo, L. H. (Junho de 2005). M´ dulo de Recuperacao de Conhecimento para o Aux´lio na Tomada de Decis˜ o em um Sistema de Ouvidoria. p. 66. ı a [12] Wangenheim. (2003). Racioc´nio Baseado em Casos. Barueri: Manole. ı [13] Watson, I. (1999). Case-based reasoning is a methodology not a technology. Elsevier , p. 6.