UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR
CURSO DE CIÊNCIA DA COMPUTAÇÃO
RACIOCÍNIO BASEADO EM CASOS PARA AUXÍLIO NA ESCOLHA DE TÊNIS PARA A LOJA MARCELO SPORTS
Área de Inteligência Artificial
por
Thiago Vinicius Vassoler
Benjamin Grando Moreira, Bel Orientador
Itajaí (SC), novembro de 2008
UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR
CURSO DE CIÊNCIA DA COMPUTAÇÃO
RACIOCÍNIO BASEADO EM CASOS PARA AUXÍLIO NA ESCOLHA DE TÊNIS PARA A LOJA MARCELO SPORTS
Área de Inteligência Artificial
por
Thiago Vinicius Vassoler Relatório apresentado à Banca Examinadora do Trabalho de Conclusão do Curso de Ciência da Computação para análise e aprovação. Orientador: Benjamin Grando Moreira, Bel
Itajaí (SC), novembro de 2008
ii
AGRADECIMENTOS
Gostaria de agradecer a Deus, que sempre guiou meus passos nesta longa caminhada, dando forças
para sempre prosseguir.
Aos meus pais, Mario Vassoler e Lourdes Vassoler, que sempre me incentivaram e deram apoio
durante toda minha vida.
Ao meu irmão Vitor Vassoler, pela sua ajuda e apoio neste projeto.
A minha noiva Gabriela pelo apoio, ajuda, dedicação, carinho e compreensão no decorrer desta
jornada.
E a todos familiares, amigos e que de forma direta ou indireta contribuíram para que este sonho se
realiza-se.
Um agradecimento especial a todos os mestres que por minha vida acadêmica passaram.
iii
SUMÁRIO
LISTA DE ABREVIATURAS ................................................................... v
LISTA DE FIGURAS ................................................................................ vi LISTA DE TABELAS .............................................................................. vii LISTA DE EQUAÇÕES ......................................................................... viii RESUMO .................................................................................................... ix
ABSTRACT ................................................................................................. x
1 INTRODUÇÃO ........................................................................................ 1
1.1 PROBLEMATIZAÇÃO ........................................................................................ 1 1.1.1 Formulação do Problema ................................................................................... 1 1.1.2 Solução Proposta ................................................................................................. 2 1.2 OBJETIVOS........................................................................................................... 3 1.2.1 Objetivo Geral ..................................................................................................... 3 1.2.2 Objetivos Específicos .......................................................................................... 4 1.2.3 Escopo do Trabalho ............................................................................................ 4 1.3 METODOLOGIA .................................................................................................. 5 1.4 ESTRUTURA DO TRABALHO .......................................................................... 6
2 FUNDAMENTAÇÃO TEÓRICA .......................................................... 7
2.1 INTELIGÊNCIA ARTIFICIAL .......................................................................... 7 2.2 RACIOCÍNIO BASEADO EM CASOS .............................................................. 7 2.2.1 Histórico e Aplicação .......................................................................................... 8 2.2.2 Funcionamento Básico de um RBC .................................................................. 8 2.2.3 Representação de Casos ................................................................................... 11 2.2.4 Similaridade ...................................................................................................... 12 2.2.4.1 Vizinho Mais Próximo ................................................................................... 14 2.2.4.2 Similaridade Local ......................................................................................... 16 2.2.5 Recuperação de Casos ...................................................................................... 17 2.2.5.1 Recuperação Seqüencial ................................................................................ 19 2.2.5.2 Recuperação de Dois Níveis .......................................................................... 20 2.3 SISTEMAS SIMILARES EM RBC ................................................................... 21 2.4 COMÉRCIO ELETRÔNICO E RBC ............................................................... 26 2.5 SISTEMAS PARA INTERNET E PHP ............................................................ 27
3 DESENVOLVIMENTO ........................................................................ 29
3.1 SISTEMA DESENVOLVIDO ............................................................................ 30
iv
3.1.1 Análise de Requisitos ........................................................................................ 31 3.1.1.1 Requisitos Funcionais .................................................................................... 31 3.1.1.2 Requisitos Não Funcionais ............................................................................ 32 3.1.2 Casos de Uso ...................................................................................................... 32 3.1.3 Diagrama de Classes ......................................................................................... 35 3.1.4 Diagrama de Seqüência .................................................................................... 36 3.1.5 Aplicação de Questionário ............................................................................... 38 3.2 TECNOLOGIAS UTILIZADAS ........................................................................ 39 3.3 INTERFACES DO SISTEMA ........................................................................... 39 3.3.1 Interface Administrativa .................................................................................. 39 3.3.2 Interface do Consultor de Vendas ................................................................... 43 3.3.3 Interface do Cliente .......................................................................................... 44 3.4 IMPLEMENTAÇÃO .......................................................................................... 47 3.5 TESTES E AVALIAÇÃO ................................................................................... 49
4 CONCLUSÃO ........................................................................................ 53
REFERÊNCIAS BIBLIOGRÁFICAS ................................................... 55
A Questionário Aplicado .......................................................................... 58
B Casos de Uso do Administrador .......................................................... 60
v
LISTA DE ABREVIATURAS
ERP Enterprise Resource Planning HTML Hyper Text Markup Language IA Inteligência Artificial MAC/FAC Many Are Called/Few Are Chosen RBC Raciocínio Baseado em Casos TCC Trabalho de Conclusão de Curso UC Use Case UML Unified Modeling Language
vi
LISTA DE FIGURAS
Figura 1. Modelo básico do enfoque RBC ........................................................................................... 9 Figura 2. Ciclo de RBC ...................................................................................................................... 10 Figura 3. Tipos utilizados na representação de atributos ................................................................... 12 Figura 4. Exemplos de metas de recuperação .................................................................................... 13 Figura 5. Exemplo de função linear ................................................................................................... 17 Figura 6. Recuperação seqüencial ...................................................................................................... 19 Figura 7. Modelo MAC/FAC em recuperação de dois níveis ............................................................ 21 Figura 8. Modelo da interface de pesquisa do sistema 1 .................................................................... 22 Figura 9. Interface de resultados do sistema 2 ................................................................................... 23 Figura 10. Interface para cadastro de pesos do sistema 3 .................................................................. 24 Figura 11. Interface de configuração para cálculo de similaridade do sistema 3 ............................... 24 Figura 12. Interface de resultados de busca do sistema 3 .................................................................. 25 Figura 13. Abstração do funcionamento geral do sistema proposto .................................................. 30 Figura 14. Requisitos funcionais. ....................................................................................................... 31 Figura 15. Requisitos não funcionais. ................................................................................................ 32 Figura 16. UC do Administrador. ....................................................................................................... 33 Figura 17. UC do Consultor de Vendas. ............................................................................................ 33 Figura 18. UC do Cliente da Internet. ................................................................................................ 34 Figura 19. Diagrama de Classes. ........................................................................................................ 35 Figura 20. Diagrama de seqüência da manutenção de casos. ............................................................. 36 Figura 21. Diagrama de seqüência da consulta do consultor de venda. ............................................. 37 Figura 22. Diagrama de seqüência da consulta do cliente da internet. .............................................. 37 Figura 23. Interface administrativa do sistema. ................................................................................. 40 Figura 24. Interface de cadastro de tênis. ........................................................................................... 41 Figura 25. Interface de detalhe do tênis. ............................................................................................ 41 Figura 26. Interface da lista dos tênis cadastrados. ............................................................................ 42 Figura 27. Interface padrão para cadastro de características. ............................................................. 42 Figura 28. Interface padrão listagem das características. ................................................................... 43 Figura 29. Interface padrão de detalhamento das características. ...................................................... 43 Figura 30. Interface de busca para consultores de venda. .................................................................. 44 Figura 31. Interface de busca para clientes do site. ............................................................................ 45 Figura 32. Interface do resultado de busca do sistema RBC. ............................................................. 46 Figura 33. Atribuição de peso conforme tempo da data de cadastro. ................................................ 48 Figura 34. Resultado de busca influenciado pela data de cadastro do tênis. ...................................... 49
vii
LISTA DE TABELAS
Tabela 1. Comparação entre sistemas RBC. ...................................................................................... 26 Tabela 2. Características e seus pesos pré-definidos. ......................................................................... 38
viii
LISTA DE EQUAÇÕES
Equação 1 ........................................................................................................................................... 15 Equação 2 ........................................................................................................................................... 15 Equação 3 ........................................................................................................................................... 16
ix
RESUMO
VASSOLER, Thiago Vinicius. Raciocínio baseado em casos para auxílio na escolha de tênis para a loja Marcelo Sports. Itajaí, 2008. 51f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) – Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, Itajaí, 2008. As empresas varejistas especializadas na comercialização de calçados esportivos, denominados tênis, enfrentam grande dificuldade no treinamento de seus consultores de venda, devido a grande gama de produtos existentes, e principalmente pela grande quantidade de características que os mesmos possuem. Analisando este problema enfrentado pela loja Marcelo Sports, foi implantado um sistema de raciocínio baseado em casos para auxílio na escolha de tênis, onde os consultores de venda podem informar quais características desejam buscar, além de atribuir pesos para as mesmas, obtendo ao final uma lista de produtos que mais se assemelhem ao desejado. Por este sistema ter sido proposto para o ambiente Web, utilizou-se principalmente as linguagens de programação PHP e HTML, aliados ao banco de dados MySQL, atendendo a uma necessidade inicial do mesmo poder ser acessado por todas as lojas do grupo. O mesmo disponibiliza uma interface diferenciada de busca para os clientes que utilizam o serviço de comércio eletrônico disponibilizado pela empresa em seu site. Este sistema utilizou as etapas de representação de casos, avaliação de similaridade e recuperação de casos da técnica de Inteligência Artificial conhecida como Raciocínio Baseado em Casos, gerando um sistema para auxiliar tanto consultores de venda, como clientes, na busca pelo produto que atenda a maioria das características solicitadas. Palavras-chave: Auxílio a Vendas. Raciocínio Baseado em Casos. Inteligência Artificial.
x
ABSTRACT
The specialized retail companies in the commercialization of sporting shoes, denominated sneakers,
they face great difficulty in their sale consultants' training, due to great range of products, and
mainly for the great amount of characteristics that the sneakers possess. Analyzing this problem
faced by Marcelo Sports’ store, a reasoning system was instruction based on cases to assist the
choice of tennis shoes, where the sale consultants can inform which characteristics they are looking
for, besides attributing weights for the same ones and then obtaining at the end a more resembled
list of products to the ones they wanted. This system was proposed for the Web atmosphere, was
used mainly the programming languages PHP and HTML, associated to the database MySQL,
assisting to an initial need of a programming able to be accessed by all of the stores of the group,
and also, the program offers differentiated interface of search for the customers that use the service
of electronic trade proposed by the company in it’s website. This system used the stages of
representation of cases, similarity evaluation and recovery of cases of the technique of Artificial
Intelligence known as Reasoning based on Cases. This project produced a system that can give
support to sale consultant and customers, in the search of a product that assists most of the
requested characteristics.
Keywords: Sale support. Case-Based Reasoning. Artificial Intelligence.
1 INTRODUÇÃO
O raciocínio humano é capaz de resolver novos problemas, mesmo que de maior
complexidade, através de experiências anteriormente vivenciadas pelo indivíduo, e assim
acumulando esta resolução para que também sirva de modelo para situações futuras. Este
comportamento é comumente denominado de “experiência”.
Desde o advento da computação, o homem vem buscando representar de maneira
computacional o comportamento do raciocínio humano. A área da computação responsável por
desenvolver técnicas e sistemas que representem o conhecimento humano é a Inteligência Artificial
(IA).
Segundo Fernandes (2005), os modelos de IA são divididos em sete, dentre eles o
Raciocínio Baseado em Casos (RBC), sendo este modelo adotado no desenvolvimento deste
trabalho.
Um sistema RBC tem por finalidade receber um novo problema, consultar uma base de
conhecimento e recuperar informações dos casos que mais se assemelham para a resolução deste
novo caso. Sistemas RBC podem ser aplicados para diferentes tarefas, como suporte à decisão na
área de vendas, onde Wangenheim e Wangenheim (2003, p.237-238) exemplificam que:
Durante a situação de pré-venda, o RBC pode ser aplicado para oferecer catálogos de produtos inteligentes (e não apenas listas de produtos estáticas), capazes de oferecer um produto ou serviço similar, caso o requisitado pelo cliente não esteja disponível, ou, então, capazes simplesmente de oferecer um produto com base em um conjunto de características dadas pelo usuário.
É com este objetivo de auxiliar consultores de venda e clientes na tomada de decisão, que foi
desenvolvido neste trabalho uma ferramenta de raciocínio baseado em casos de uso para auxílio na
escolha de tênis, sendo esta desenvolvida para Web.
1.1 PROBLEMATIZAÇÃO
1.1.1 Formulação do Problema
O mercado varejista de materiais esportivos possui grande competitividade e um alto nível
de exigência de seus consumidores. O principal nicho explorado por estas empresas é o segmento
de calçados esportivos, os populares tênis. Em suma, os produtos são os mesmos para todas as lojas,
2
sendo comercializados nas mesmas faixas de preços, obrigando os empresários a buscarem um
diferencial para atrair novos consumidores e fidelizando os que já possuem. Geralmente este
diferencial é o atendimento realizado por seus consultores de venda.
Na empresa Marcelo Sports, o bom atendimento é considerado como um fator
preponderante no sucesso de uma venda. Ao ser contratado, o consultor de venda passa por diversos
treinamentos com o objetivo de, aprender o conceito de atendimento ao cliente adotado pela
empresa, além de adquirir conhecimentos sobre os produtos que são comercializados pela empresa.
Todos eles passam por treinamentos periódicos, geralmente oferecidos pelos fabricantes, com a
finalidade de expor os novos produtos e tecnologias.
Entretanto, existem diversos tipos de tênis, de diversas marcas, de diferentes categorias, de
vários modelos, de várias cores, dentre outras características, dificultando a memorização dos
mesmos pelo consultor de venda. Em um só produto encontramos características como tipo de
amortecimento, solado, utilização, categoria, se possui finalidades médicas ou terapêuticas, estilo,
conforto, etc.
Quando um cliente procura por um tênis, ele pode abordar o consultor de duas diferentes
formas: indicando qual modelo em específico deseja ou fornecendo informações quanto à
característica do produto que ele idealiza. Esta segunda maneira exige do consultor um vasto
conhecimento para poder, através das características solicitadas, criar um “filtro mental” para
encontrar o produto que mais se assemelha com o requisitado.
Mesmo consultores de venda mais experientes podem encontrar dificuldades neste
momento, por mais atualizados que estejam, devido ao dinamismo dos fabricantes em oferecerem
novos produtos e pela grande quantidade de modelos de tênis existentes.
1.1.2 Solução Proposta
Este projeto construiu uma ferramenta RBC para auxiliar os consultores de venda. Por
intermédio desta ferramenta, o consultor pode encontrar os produtos que mais se assemelham com
as características solicitadas, ajudando principalmente aos novos consultores que ainda não
possuam um conhecimento sólido quanto aos produtos comercializados.
Outro local em que esta ferramenta foi aplicada é no site de venda pela internet da empresa,
servindo como um “consultor de vendas virtual”, seguindo o mesmo padrão de atendimento da loja,
3
buscando oferecer o produto que mais se enquadra ao perfil do cliente. Este sistema foi programado
para funcionar via internet, atendendo a todas as unidades da empresa e aos clientes do site. A
diferença é na interface oferecida. Os consultores de venda têm acesso a uma interface simples e
objetiva. Já os clientes que utilizam o sistema pelo site, contam com uma interface do tipo passo a
passo apoiada sobre uma árvore de decisão. Além disso, em cada passo, foram inseridas notas
explicativas sobre as características apresentadas, auxiliando-os para chegarem a um resultado
satisfatório na utilização da ferramenta.
Um problema solucionado foi quanto ao envelhecimento do conhecimento do mesmo. Um
modelo de tênis possui certo tempo de vida de sua produção, sendo descontinuado ou sucedido.
Sendo assim, é possível que o consultor de venda venha a sugerir um tênis que não exista mais. Tal
problema também é passível de ocorrer no sistema RBC, caso não seja criada alguma técnica que
procure recuperar da base de conhecimento os produtos mais novos. A solução foi à integração
deste sistema RBC com o controle de estoque atual da empresa, permitindo que o mesmo informe
somente produtos que estejam em estoque.
Este projeto visou à construção de um RBC moldado conforme as necessidades e
conhecimentos específicos dos consultores de venda da empresa Marcelo Sports, podendo ser
adaptado para outras empresas, desde que sejam consideradas as características para escolha dos
produtos e padrão de atendimento adotado.
Existem diversos sistemas de venda apoiados em RBC, para diversas áreas, mas nenhum em
específico para este caso abordado, o que representou para a empresa um diferencial sobre seus
concorrentes.
1.2 OBJETIVOS
1.2.1 Objetivo Geral
O objetivo geral deste projeto foi desenvolver uma ferramenta de auxílio aos consultores de
venda e clientes de internet da loja Marcelo Sports, através de um sistema de raciocínio baseado em
casos, promovendo uma resposta mais eficiente na busca por um produto mais adequado às
necessidades do consumidor.
4
1.2.2 Objetivos Específicos
Foram definidos como objetivos específicos para este projeto:
• Pesquisar e analisar soluções similares;
• Realizar entrevistas com os consultores de venda;
• Determinar os requisitos exigidos pelo sistema;
• Consolidar os conhecimentos em Inteligência Artificial e RBC;
• Analisar e projetar o sistema para utilização dos consultores de venda e o sistema
para os clientes do site;
• Implementar os sistemas;
• Testar e avaliar os sistemas; e
• Documentar os sistemas desenvolvidos.
1.2.3 Escopo do Trabalho
Neste trabalho obteu-se dois sistemas baseados no mesmo RBC, sendo um para os
consultores de venda e outro para os clientes do site. A base de conhecimento para os dois sistemas
foi à mesma, possuindo uma interface para realizar o cadastro de novos produtos, sendo executada
por um consultor de venda ou funcionário da empresa, desde que este possua um alto grau de
conhecimento referente aos tênis comercializados pela empresa.
O sistema disponibilizado para os consultores de venda traz uma interface com todas as
funcionalidades, porém simples e objetiva. Por meio dela o mesmo pode definir quais as
características solicitadas e atribuir qual o peso de cada característica. A atribuição do peso é o que
determina qual a importância de uma característica em relação à outra. Outra maneira foi aplicar
pesos já pré-definidos para determinar quais características são mais relevantes. Esta informação foi
obtida através de entrevistas junto aos consultores de venda, e determinam o que o cliente considera
como mais importante no momento da escolha do produto.
5
Já a interface do sistema disponibilizado para os clientes do site, é mais simples, levando em
consideração somente as características principais do produto. Estas características principais
também foram obtidas por meio das entrevistas realizadas junto aos consultores de venda. Da
mesma forma, o cliente pode determinar qual é o peso da característica solicitada.
Outra diferença é que esta interface foi apresentada na forma de passo a passo, baseado em
uma árvore de decisão na qual devem ser especificadas as variáveis, ações e a seqüência lógica para
a tomada de decisão. Conforme o cliente avança pelo formulário e vai realizando suas escolhas, o
sistema apresenta novas telas vinculadas à decisão tomada anteriormente.
Ao submeter às informações sobre as características desejadas e os pesos relacionados ao
produto desejado, o sistema busca e aplica a fórmula da similaridade em sua base de conhecimento,
tendo como resultados um valor percentual. Serão exibidos como resultado os tênis que possuírem
75% ou mais de similaridade com as características solicitadas, de forma que a ordenação dos
produtos encontrados ocorre de forma decrescente, iniciando por aquele que mais perto chegou dos
100% de similaridade.
1.3 METODOLOGIA
Esta primeira parte do desenvolvimento deste Trabalho de Conclusão de Curso (TCC) está
dividida em etapas para melhor compreensão, nas quais ao término de cada uma, as mesmas podem
ser avaliadas e revisadas.
A etapa pertinente à fundamentação teórica engloba conceitos da área de Inteligência
Artificial, focando a técnica de sistemas de Raciocínio Baseado em Casos, sua implementação,
utilização e processos que serão utilizados no desenvolvimento do sistema proposto, além de
conceitos de Comércio Eletrônico e Sistemas para Internet.
A etapa que compreende o projeto do sistema proposto apresenta a análise e modelagem
conceitual obedecendo aos conceitos da UML (Unified Modeling Language – Linguagem Unificada
de Modelagem), aplicando os diagramas de classes, seqüência e casos de uso, além da análise de
requisitos funcionais e não funcionais. Outra atividade desenvolvida é a prototipação de telas para
melhor entendimento do sistema proposto.
A última etapa apresenta as considerações finais pertinentes a primeira fase do TCC, além
de fornecer as primeiras informações quanto ao desenvolvimento e conclusão do TCC II.
6
1.4 ESTRUTURA DO TRABALHO
Este trabalho está dividido em quatro capítulos, dispostos de forma lógica, sendo:
introdução, fundamentação teórica, projeto e considerações finais.
A introdução contempla uma descrição geral e introdutória ao trabalho, o problema
identificado, sua solução, objetivos gerais e específicos a serem alcançados, além da metodologia
aplicada e a estrutura utilizada para disposição do trabalho.
A fundamentação teórica está dividida em vários sub–capítulos, abordando conceitos de
Inteligência Artificial, Raciocínio Baseado em Casos, técnicas de Similaridade, Comércio
Eletrônico e Sistemas para Internet.
O projeto contempla a descrição do sistema proposto bem como sua modelagem seguindo os
conceitos estabelecidos pela UML. Neste capítulo também são apresentadas informações iniciais
para confecção do TCC II.
As discussões encerram o trabalho, fazendo um apanhado de tudo que foi realizado, onde é
avaliada a metodologia aplicada, problemas encontrados, soluções empregadas, dentre outras.
2 FUNDAMENTAÇÃO TEÓRICA
Este capítulo destinou-se a apresentação de uma visão teórica sobre IA e RBC, abordando
também comércio eletrônico e sistemas para internet.
2.1 INTELIGÊNCIA ARTIFICIAL
Para Luger (2004), definir o que é inteligência de uma maneira exata é algo improvável,
mesmo que seja possível se determinar o que é um comportamento inteligente. Sendo assim, o ato
de se definir IA é muito mais complexo, uma vez que um de seus termos não possua uma definição
clara. Porém, várias são as tentativas de se definir IA, sendo que o mesmo autor supracitado a
define como “o ramo da ciência da computação que se ocupa da automação do comportamento
inteligente”.
Segundo Russell e Norvig (2004), IA é um campo da ciência ainda novo, tendo iniciado suas
pesquisas após o término da Segunda Guerra Mundial, e recebendo esta nomenclatura a partir do
ano de 1956, através de um seminário realizado em Dartmouth, com o objetivo de reunir
pesquisadores interessados em teorias de autômatos, redes neurais e estudo da inteligência.
As áreas de estudo da IA podem ser divididas em modelos, sendo que, conforme Ganascia
(1997), os principais são Algoritmos Genéticos, Programação Evolutiva, Lógica Fuzzy, Sistemas
Baseados em Conhecimento, Raciocínio Baseado em Casos, Programação Genética e Redes
Neurais.
Sendo assim, a IA por meio de seus modelos pode ser aplicada na resolução de problemas de
diversas áreas, como saúde, educação, negócios, dentre outras, onde seja possível e necessário o
desenvolvimento de um sistema computacional inteligente.
2.2 RACIOCÍNIO BASEADO EM CASOS
Esta seção tem por objetivo apresentar de forma teórica o modelo RBC que foi empregado
na execução deste trabalho.
O RBC é uma técnica da área de IA, definida por Wangenheim e Wangenheim (2003), como
sendo:
8
... um enfoque para a solução de problemas e para o aprendizado baseado em experiência passada. RBC resolve problemas ao recuperar e adaptar experiências passadas – chamadas casos – armazenadas em uma base de casos. Um novo problema é resolvido com base na adaptação de soluções de problemas similares já conhecidas.
2.2.1 Histórico e Aplicação
Para Wangenheim e Wangenheim (2003), o RBC teve seu início baseando-se em trabalhos
sobre Memória Dinâmica, de Schank e Abelson, e através do modelo cognitivo de uma função
central de lembrança de situações ocorridas e de padrões de situação.
Modelos cognitivos representam a forma como o ser humano raciocina. Para Russell e
Norvig (2004), “se pretendermos dizer que um dado programa pensa como um ser humano, temos
de ter alguma forma de determinar como os seres humanos pensam”.
Outra vertente que contribuiu para as pesquisas de RBC foi o estudo do Raciocínio por
Analogia, no início da década de 80, através do trabalho de Gick e Holyoak. Posteriormente outras
pesquisas vieram a contribuir para a construção do modelo RBC, sendo que o primeiro sistema
considerado um raciocinador baseado em casos foi o CYRUS de Janet Kolonder, sendo este um
programa de perguntas e respostas, que consultava uma base de conhecimento, propondo uma
solução com base em uma solução anteriormente aplicada (WANGENHEIM; WANGENHEIM,
2003).
De acordo com Wangenheim e Wangenheim (2003), existem inúmeras aplicações que se
utilizam de RBC, para diversas finalidades, tais como análise financeira, controle de processos,
controle de qualidade, comércio eletrônico, suporte ao usuário, avaliação imobiliária, suporte à
decisão, suporte a vendas, dentre outros.
2.2.2 Funcionamento Básico de um RBC
O ser humano, ao se deparar com uma nova situação ou problema, busca uma solução que se
adapte de forma mais adequada ao novo paradigma, com base em experiências anteriormente
vividas. Em RBC um novo problema é um novo caso e, as experiências anteriores, são os casos
conhecidos.
Um exemplo de tal situação é descrito por Wangenheim e Wangenheim (2003), onde um
técnico especializado na manutenção de televisores identifica um problema em um televisor, e com
9
base em um problema similar visto anteriormente em outro equipamento, decide por efetuar a
mesma troca de componentes feita para solucionar o atual problema.
Os mesmos autores afirmam que sistemas RBC possuem quatro elementos básicos, sendo
eles:
• Representação do Conhecimento: habitualmente representados através de casos
descritos por experiências concretas;
• Medida de Similaridade: capacidade de encontrar um caso anterior similar ao novo
caso;
• Adaptação: nem sempre novos casos são idênticos aos anteriores, sendo necessário
ao RBC possuir mecanismos de adaptação; e
• Aprendizado: capacidade de armazenar o novo caso resolvido, agregando este caso
a sua base de conhecimento.
Figura 1. Modelo básico do enfoque RBC
Fonte: Adaptado de Wangenheim e Wangenheim (2003).
Segundo Lee (1998), pode-se dividir sistemas RBC em interpretativos, que se utilizam de
casos passados para classificação de novos casos, e de solução de problemas, onde os casos
10
passados servem de solução para novos problemas. A diferença entre eles fica visível no processo
de adaptação, sendo este de maior necessidade aos sistemas de solução de problemas.
A ferramenta desenvolvida pode ser classificada como um sistema RBC interpretativo, uma
vez que o RBC é utilizado somente para seleção de casos existentes na base de conhecimento, sem
realizar a adaptação e armazenamento do novo caso.
Tanto Wangenheim e Wangenheim (2003) como Lee (1998) citam como sendo o modelo
mais aceito para o processo de implantação de um RBC, o Ciclo de RBC proposto por Aamondt e
Plaza, sendo este um ciclo de raciocínio contínuo, composto por quatro tarefas principais, que são:
• Recuperar: através de uma avaliação de similaridade aplicada à base de
conhecimento, retorna um ou mais casos que se assemelhem ao novo caso;
• Reutilizar: reutilização do conteúdo do caso recuperado, já adaptado ou não, para
resolução do problema;
• Revisar: a solução proposta ao novo caso é avaliada; e
• Reter: agrega a solução encontrada para o novo caso a base de conhecimento, para
uma reutilização futura.
É possível visualizar este processo do Ciclo de RBC na Figura 2.
Figura 2. Ciclo de RBC
Fonte: Adaptado de Lee (1998).
11
Para a correta implantação de um sistema RBC, além de compreender seu ciclo e enfoque, é
necessário um conhecimento mais aprofundado quanto à representação de casos, similaridade,
recuperação de casos e reutilização de casos.
2.2.3 Representação de Casos
Quando vivenciamos e resolvemos um problema, este é armazenado em nossa memória
como um caso, podendo servir como base para a solução de um novo problema. Nos sistemas RBC
não é diferente esta situação.
Wangenheim e Wangenheim (2003) definem caso como sendo “uma peça de conhecimento
contextualizado representando uma experiência ou episódios concretos. Contém a lição passada,
que é o conteúdo do caso e o contexto em que a lição pode ser usada”.
Para que se obtenha um bom resultado no processo de recuperação e reutilização de um
caso, Fernandes (2005) enfatiza que o grande problema de um RBC esta no fato de se determinar
quais informações de um caso devem ser armazenadas, além da estrutura apropriada para a sua
descrição e a maneira como sua base de conhecimento deve ser organizada e indexada.
A representação de casos pode ser expressa através de diversos tipos de linguagens ou
formalismos de representação, como por exemplo, grafos ou representações de atributo-valor.
Segundo Wangenheim e Wangenheim (2003), um item de dado pode ser representado por
um par atributo-valor, onde o atributo representa uma característica que recebe um determinado
valor. Por exemplo: atributo peso, valor 50 kg. Pares de atributo-valor formam um conjunto
representando um caso. Tal conjunto pode ser fixo para todos os casos ou variável, dependendo das
características dos casos armazenados.
Outra característica quanto a representação atributo-valor apontada por Wangenheim e
Wangenheim (2003), é de o atributo ser associado a um tipo de dado ou faixa delimitada com
valores prováveis. Comumente os tipos utilizados para representação dos atributos dos pares
atributo-valor, são números inteiros e reais, lógicos, data, strings e símbolos (ordenado, não-
ordenado ou taxonomia), como apresentado na Figura 3.
12
Figura 3. Tipos utilizados na representação de atributos
Fonte: Adaptado de Wangenheim e Wangenheim (2003).
De acordo com Wangenheim e Wangenheim (2003), este tipo de representação por atributo-
valor possui vantagens, como simplicidade na representação, facilidade de implementação, fácil
armazenagem e recuperação satisfatória, sendo indicada para tarefas de diagnostico em grandes
bases de conhecimento.
Determinar quais atributos são relevantes para a construção do caso, bem como o tipo
empregado, podem determinar o sucesso do sistema RBC no momento da comparação, recuperação
e reutilização de um caso.
2.2.4 Similaridade
Para Delpizzo (1997), a similaridade é um ponto de extrema importância para a
funcionalidade do sistema RBC, pois através dele todo o processo de raciocínio se torna viável. Esta
etapa é a responsável em analisar as características do novo caso, buscando em sua base de
conhecimento casos que possuam características similares.
Wangenheim e Wangenheim (2003) julgam similaridade como sendo “um conceito intuitivo
que descreve a impressão de semelhança entre dois objetos experimentada por um observador
humano”.
Segundo Lee (1998), avaliar a similaridade em um RBC consiste em comparar os valores
dos atributos de dois casos, atribuindo-se valores aos mesmos determinando a função de
13
combinação a ser empregada. Tais funções comparam valores numéricos e alfanuméricos, exatos ou
presentes em um intervalo.
Para se obter uma avaliação de similaridade válida e eficiente, é necessário avaliarmos o
cenário de aplicação do sistema RBC e quais objetivos devem ser alcançados. Para isto, é
necessário definirmos metas de recuperação.
Uma meta de recuperação deve determinar o objeto a ser reutilizado, finalidade desta
reutilização, tarefa relacionada a reutilização, ponto de vista especifico e contexto particular
(WANGENHEIM; WANGENHEIM, 2003). Podemos melhor observar na Figura 4.
Metas Exemplo 1 Exemplo 2
Recupere
<objeto>relatório de problema tênis
para a
<finalidade>diagnóstico suporte à decisão
relativa ao
<processo>conserto da impressora vendas
do
<ponto de vista>pessoal do SAC consultor de vendas
no contexto de
<ambiente>empresa Intelli-Printers empresa Marcelo Sports
Figura 4. Exemplos de metas de recuperação
Fonte: Adaptado de Wangenheim e Wangenheim (2003).
A próxima importante etapa na avaliação da similaridade é a definição de índices. Para
Wangenheim e Wangenheim (2003), um índice é formado pela combinação de atributos de maior
relevância de um caso, diferenciando-o dos demais e identificando os similares, e afirmam que bons
índices são “aqueles que rotulam um caso como sendo capaz de prover suporte para as decisões que
o sistema de RBC deve sugerir”. A definição de índices pode ser feita avaliando-se as tarefas ou
metas para as quais um caso será utilizado. A indexação dos casos tem por finalidade auxiliar na
melhora da performance de tempo gasto pelo sistema RBC na recuperação de casos que sejam úteis
para a solução do problema.
14
Determinar o grau de similaridade entre casos é uma tarefa complexa, sendo necessário a
formalização do conceito de similaridade.
Uma das maneiras mais conhecidas e aplicadas de formalização do conceito de similaridade
consiste no emprego de uma medida numérica de distância ou similaridade. Em resumo é poder
através da aplicação de um modelo matemático concreto, determinar o grau de similaridade entre o
novo caso e os casos armazenados na base de conhecimento do sistema RBC, de forma a garantir
que o caso recuperado seja útil na resolução do problema (WANGENHEIM; WANGENHEIM,
2003).
Lee (1998), afirma que a medida de similaridade “sintetiza a similaridade ao nível de cada
atributo através de uma medida da importância que é usada para modelar a relevância de cada
atributo na avaliação sintética da similaridade”.
Para Wangenheim e Wangenheim (2003), a similaridade entre dois casos recebe o nome de
similaridade global, devendo ser esta determinada para verificar a utilidade do caso em relação ao
novo problema.
Existem diversas medidas de similaridade global, porém a técnica mais utilizada devido a
sua simplicidade na determinação de similaridade entre dois casos, é a técnica do Vizinho Mais
Próximo.
2.2.4.1 Vizinho Mais Próximo
Segundo Bezerra (2006), a técnica do vizinho mais próximo foi proposta por Cover e Hart
na década de 60, e se mostrou eficiente em problemas de classificação de padrões, e tendo como
maior vantagem a simplicidade de entendimento e implementação.
Para Wangenheim e Wangenheim (2003), uma soma define todo o conceito e essência da
técnica do vizinho mais próximo. Porém é possível considerar a importância de cada índice
ponderando-os através de pesos, onde, por exemplo, o índice categoria do tênis é mais relevante que
o índice tipo de cano do tênis.
A determinação de um peso para o índice pode ser fixa no sistema RBC, sendo determinada,
por exemplo, através de pesquisas junto aos usuários do sistema, como também pode ser variável,
sendo determinada pelo usuário no momento de execução do sistema, conforme o grau de
15
importância que o mesmo julgue possuir tal índice na busca por uma solução similar existente na
base de conhecimento. A equação da similaridade do vizinho mais próximo é apresentada na
Equação 1.
Equação 1
Sendo, na Equação 1:
• N → novo caso;
• F → casos existentes na base de conhecimento;
• n → número de atributos;
• i → atributo individual variando de 1 a n;
• f → função de similaridade par o atributo i nos casos N e F; e
• w → peso do atributo i.
Segundo Wangenheim e Wangenheim (2003), a similaridade é normalizada entre 0 e 1,
sendo 0 totalmente diferente e 1 totalmente igual. Uma forma de representação bastante clara e
utilizada é a representação da similaridade através de porcentagens, sendo que o valor 100%
representa a total similaridade. Para isto, basta realizar a normalização da equação de similaridade,
dividindo-se o valor encontrado da similaridade pelo total da soma de todos os pesos, como pode
ser observado na Equação 2.
Equação 2
16
2.2.4.2 Similaridade Local
Para a construção de um sistema RBC mais sensitivo, além da análise da similaridade
global, deve-se analisar também a similaridade local dos atributos. Nem sempre o atributo
analisado, dependendo do seu tipo e contexto, deve ser totalmente desprezado por não ser
exatamente igual ao do caso comparado presente na base de conhecimento do sistema. Sendo assim,
existem medidas de similaridade local para diversos tipos, como número, símbolo, conjunto,
intervalo e string (WANGENHEIM; WANGENHEIM, 2003).
Número
A medida da distância local genérica entre dois atributos, que sejam descritos por números,
podem, segundo Wangenheim e Wangenheim (2003), serem expressas pelo módulo da diferença
entre o atributo do novo caso n e do caso existente c (| n - c |), servindo de referência para utilização
de funções de cálculo da similaridade local.
Função Linear
É considerada a medida de similaridade mais adequada para a maioria dos tipos numéricos,
sendo que quanto menor a distância entre os dois valores, maior o grau de similaridade, sendo
ponderada pelo tamanho do intervalo assumido pelo domínio dos valores do atributo, sendo
expressos na Equação 3.
Equação 3
Sendo, na Equação 3:
• n → atributo do novo caso;
• c → atributo do caso existente na base de conhecimento;
• ls → limite superior da faixa de valores; e
• li → limite inferior da faixa de valores.
17
É possível representarmos esta função linear graficamente, sendo a Equação 3 representada
na Figura 5.
Figura 5. Exemplo de função linear
Fonte: Adaptado de Wangenheim e Wangenheim (2003).
Símbolo Ordenado
Wangenheim e Wangenheim (2003), afirmam que “símbolos ordenados representam valores
simbólicos em uma determinada classe”. Como exemplo pode-se utilizar os valores do atributo
“estatura”, podendo ser classificados em categorias como baixa (menor que 1,50m), média (entre
1,51 e 1,81) e alta (maior que 1,80m). A partir disso, é possível aplicar as medidas de similaridade
para números, desde que cada símbolo assuma um valor numérico, como por exemplo, baixa = 1,
media = 2 e alta = 3.
2.2.5 Recuperação de Casos
Segundo Wangenheim e Wangenheim (2003), a recuperação de casos tem por finalidade
“encontrar um caso ou um pequeno conjunto de casos na base de casos que contenha uma solução
útil para o problema ou situação atual”. A recuperação ocorre quando se busca encontrar a solução
de um novo problema com base nos problemas armazenados na base de conhecimento, através da
aplicação de uma medida de similaridade, tendo por resultado um caso ou conjunto de casos que
sejam úteis para a resolução do problema atual. O processo de recuperação de casos pode ser
dividido em três tarefas, sendo:
18
• Assessoramento da situação – construção de uma consulta com um conjunto de
descritores relevantes;
• Casamento – identificação de casos similares à consulta; e
• Seleção – determina o melhor caso ou conjunto de casos similares.
Assessoramento da Situação
É considerada a tarefa mais complexa, pois envolve o usuário do sistema, exigindo
conhecimento e interação do mesmo para expressar o problema atual de forma que seja possível a
sua correta comparação com os casos existentes na base conhecimento, de forma a determinar o
caso ou conjunto de casos mais similares (WANGENHEIM; WANGENHEIM, 2003).
Ainda segundo os autores supracitados, um dos maiores problemas está na identificação de
quais descritores são relevantes para a solução do problema atual, sendo que quanto menor o
numero de atributos considerados, maior eficiência terá o sistema.
Casamento
Wangenheim e Wangenheim (2003) definem casamento como “o processo de associar a
descrição do problema atual provida como consulta à descrição do problema de um caso da base de
casos”. A tarefa de casamento deve resultar e um conjunto de casos úteis, obtidos da base de
conhecimento do sistema RBC, para a solução do atual problema. Tal conjunto de casos pode ser
obtido por meio de consultas a base de conhecimento, comparando o novo caso com os consultados,
aplicando-se métricas de similaridade.
Seleção
É a tarefa de escolher dentre o conjunto de casos recuperados qual é a melhor solução, sendo
sinalizado através da avaliação do grau de casamento ou similaridade de forma detalhada
(WANGENHEIM; WANGENHEIM, 2003).
A recuperação de casos pode ser seqüencial ou em dois níveis. O tipo de recuperação de
casos que foi adotada é a recuperação seqüencial.
19
2.2.5.1 Recuperação Seqüencial
A recuperação seqüencial é apontada por Wangenheim e Wangenheim (2003), como sendo a
mais simples das técnicas de recuperação de casos. Seu funcionamento consiste em aplicar a
métrica de similaridade a todos os casos existentes na base de conhecimento do sistema, resultando
ao final deste processo em um conjunto de casos similares ao novo caso. Esta técnica apresenta
como principais vantagens:
• Processo completo e correto, uma vez que a métrica de similaridade é aplicada de
forma seqüencial a todos os casos;
• Fácil implementação;
• Não utiliza indexação, podendo utilizar medidas de similaridade arbitrárias; e
• Possibilidade de se executar consultas especificas independentes do conceito de
similaridade.
A principal desvantagem no emprego desta técnica se deve a sua baixa performance em
bases de conhecimento com uma grande quantidade de informações armazenadas. A técnica de
recuperação seqüencial é representada graficamente na Figura 6.
Figura 6. Recuperação seqüencial
20
2.2.5.2 Recuperação de Dois Níveis
Para utilização desta técnica, podem-se aplicar heurísticas para a redução do espaço de
busca, com a finalidade de se agilizar o processo de recuperação de casos. Os casos que certamente
não serão úteis para a solução do novo caso, serão descartados, restando somente aqueles que serão
analisados através de uma comparação de maior complexidade para obtenção da solução ou dos
casos que mais se assemelham ao novo caso (WANGENHEIM; WANGENHEIM, 2003).
Segundo os autores citados anteriormente, a recuperação em dois níveis foi originalmente
desenvolvida seguindo o modelo MAC/FAC (Many Are Called/Few Are Chosen – muitos são
chamados/poucos são escolhidos), dividindo o processo de recuperação em dois níveis, sendo:
1) Pré-seleção de possíveis candidatos – nesta etapa, denominada MAC, após uma
comparação simples e rápida, os casos que não possuíram nenhuma ou baixa
similaridade são descartados, onde os casos suficientemente similares irão passar
para a próxima etapa.
2) Ordenação dos candidatos de acordo com o conceito de similaridade – nesta
etapa, denominada FAC, a métrica de similaridade é aplicada completamente, de
forma seqüencial, comparando todos os casos pré-selecionados ao novo caso,
retornando aqueles que estiverem acima de um determinado limiar escolhido.
O método de recuperação em dois níveis pode ser representado graficamente através da
Figura 7.
21
Figura 7. Modelo MAC/FAC em recuperação de dois níveis
Fonte: Adaptado de Wangenheim e Wangenheim (2003).
A aplicação desta técnica apresenta vantagens como melhora da performance, desde que a
pré-seleção de casos seja realizada através de métodos eficientes, e desvantagens como
possibilidade de erros como a não inclusão de um caso que seja similar, devido a má
implementação do primeiro nível.
2.3 SISTEMAS SIMILARES EM RBC
Foram realizadas pesquisas na internet com o intuito de se encontrar um sistema de
raciocínio baseado em casos similar ao proposto. Porém, nada foi encontrado, obrigando ao
acadêmico procurar por sistemas RBC que ao menos possuam um funcionamento similar ao
proposto. A partir disto foram selecionados três sistemas para realizar uma comparação com o
sistema proposto.
Vale ressaltar que foram encontrados diversos sistemas RBC destinados a área de saúde em
geral, ficando visível que a construção de tais sistemas para atividades comerciais ainda é um nicho
de mercado a ser explorado.
Os três sistemas analisados têm como principal finalidade poder receber um novo caso, e a
partir disto compararem com a sua base de conhecimento, sugerindo um determinado produto ou
serviço que mais se assemelhe ao solicitado.
Sistema 1 – Sistema baseado no conhecimento para auxílio na escolha de automóveis.
22
É um sistema para Web com a finalidade de auxiliar seus usuários na busca por veículos, de
maneira a sugerir os veículos que mais se enquadrarem no perfil solicitado pelo cliente.
O usuário seleciona quais características deseja encontrar em um veículo e atribui um
determinado peso para a mesma, submetendo esta informação ao sistema RBC que retorna um
ranking contendo os veículos que mais se assemelham ao desejado.
Na Figura 8 é apresentado o modelo da interface de pesquisa proposto para o sistema.
Figura 8. Modelo da interface de pesquisa do sistema 1
Fonte: Junior (2007).
Sistema 2 – Sistema de raciocínio baseado em casos na determinação de aparelhos auditivos
via web.
Sistema proposto para ser acessado via Web, tendo por finalidade auxiliar profissionais do
Centro de Referência em Reabilitação Auditiva da UNIVALI na escolha de aparelhos auditivos,
utilizando-se da técnica de raciocínio baseado em casos.
Através das informações referentes à patologia e exames do paciente, o sistema submete
uma pesquisa ao RBC que deverá retornar qual aparelho é o mais indicado ao paciente.
É possível visualizarmos na Figura 9 a interface que exibe o resultado da busca realizada,
onde os aparelhos mais indicados aparecem de forma decrescente quanto ao seu percentual de
similaridade.
23
Figura 9. Interface de resultados do sistema 2
Fonte: Matos (2007).
Sistema 3 – Sistema de auxílio a restaurantes para elaboração de cardápios.
Diferente dos outros dois sistemas pesquisados, este é uma solução desktop. Seu propósito é
através do RBC buscar cardápios similares ao novo cardápio proposto, para assim evitar a repetição
de cardápios.
O usuário do sistema monta e submete um novo cardápio ao sistema RBC, que deverá
verificar em sua base de conhecimento se o que está sendo sugerido de novo já foi feito, retornando
ao usuário o percentual de similaridade entre o novo cardápio e os já utilizados.
Nas Figuras 10, 11 e 12 são apresentadas interfaces de cadastro de pesos, coleta de pesos
para cálculo de similaridade e resultado de busca de cardápios similares obtidos da base de
conhecimento do sistema.
24
Figura 10. Interface para cadastro de pesos do sistema 3
Fonte: Kisner (2003).
Figura 11. Interface de configuração para cálculo de similaridade do sistema 3
Fonte: Kisner (2003).
25
Figura 12. Interface de resultados de busca do sistema 3
Fonte: Kisner (2003).
Comparação
Mesmo não encontrando sistemas totalmente similares, é possível realizar algumas
comparações entre os sistemas pesquisados e o sistema desenvolvido neste trabalho. Tais
comparações podem ser observadas na Tabela 2, onde:
• Sistema A – Sistema de raciocínio baseado em casos para auxílio na escolha de tênis
para a loja Marcelo Sports (sistema proposto);
• Sistema B – Sistema baseado no conhecimento para auxílio na escolha de
automóveis;
• Sistema C – Utilização de raciocínio baseado em casos na determinação de
aparelhos auditivos via web; e
• Sistema D – Sistema de auxílio a restaurantes para elaboração de cardápios.
26
Tabela 1. Comparação entre sistemas RBC.
Características Sistemas
A B C D Sistema com interface Web X X X Método de recuperação X X X X Modelo de busca com pesos pré-definidos X Interfaces e funcionalidades diferentes para usuários X Ajustar percentual de similaridade X X
A única característica similar a todos os sistemas listados anteriormente, é a utilização do
mesmo método de recuperação de casos, sendo conhecida esta técnica como Vizinho Mais
Próximo. Outra característica que mais se assemelha ao sistema desenvolvido é a disponibilidade
para web, demonstrando uma tendência de os novos sistemas serem disponibilizados pela internet.
Nas demais características avaliadas, a maioria dos outros sistemas não possuem.
2.4 COMÉRCIO ELETRÔNICO E RBC
Desde seu advento, a informática vem sendo utilizada para diversos seguimentos e
finalidades, chegando ao seguimento de comércio em geral. Este fato representou uma profunda
alteração no modelo tradicional de venda de produtos e serviços, dando origem ao comércio
eletrônico. Albertin (2001) define comércio eletrônico como sendo:
...a realização de toda a cadeia de valor dos processos de negocio num ambiente eletrônico, por meio da aplicação intensa das tecnologias de comunicação e de informação, atendendo aos objetivos de negócio. Os processos podem ser realizados de forma completa ou parcial, incluindo as transações negócio-a-negócio, negócio-a-consumidor e intra-organizacional, numa infra-estrutura predominante publica de fácil e livre acesso e baixo custo.
Uma das principais características que popularizaram o comércio eletrônico foi a
possibilidade de o consumidor poder adquirir produtos e serviços de uma maneira rápida e objetiva,
sem a necessidade de se dirigir a um estabelecimento comercial fisicamente estabelecido, podendo
realizar compras de produtos e serviços de diversas partes do mundo através da internet.
Porém, segundo Limeira (2003), um grande desafio para as lojas virtuais está em atrair e
fidelizar clientes, devido a grande competitividade e dinamismo encontrados no ambiente da
internet, onde propaganda e inovação nos serviços garantem um diferencial sobre os demais.
27
Tradicionalmente, uma loja virtual dispõe seus produtos em listas, possuindo um mecanismo
de busca simples, onde o cliente deve possuir em mente qual produto deseja de maneira objetiva,
para poder evitar a perda de tempo na visualização de diversos produtos que não o interessem.
Para resolver tal problema, podem-se utilizar técnicas de IA como o RBC para auxílio no
suporte a venda. Vollrath et al. (2001 apud BEPPLER, 2002), exemplifica um sistema RBC para
comércio eletrônico para uma empresa que comercializa mais de 130 tipos de produtos. Os usuários
do sistema preenchem parâmetros divididos em categorias e atribuindo a eles seu grau de
importância. O sistema RBC recebe estes parâmetros, processa-os, e devolve ao usuário os produtos
que mais se assemelham com o idealizado. Tal modelo pode ser aplicado as lojas virtuais,
garantindo maior interatividade e satisfação do cliente, criando um diferencial em relação as demais
empresas.
2.5 SISTEMAS PARA INTERNET E PHP
Inicialmente todo conteúdo existente na internet era apresentado de forma estática, sem
interatividade entre o usuário e a página, além do grande esforço necessário que existia para a
manutenção destas páginas, onde qualquer inserção ou retirada de informação poderia consumir
uma enorme quantidade de tempo (NIEDERAUER, 2004).
Segundo Memória (2005), os sistemas para internet evoluíram, e através desta evolução a
figura do webmaster, indivíduo responsável por toda a concepção, criação, manutenção e demais
tarefas ligadas ao site, foi extinta, dando lugar a equipes de desenvolvimento de software como as
existentes para ambientes desktop, abandonando o amadorismo.
Muito mais do que uma “simples vitrine” de empresas, os sites são hoje centros de
comercialização e prestação de serviços, indo de sistemas de atendimento ao consumidor, passando
por lojas virtuais de comércio eletrônico, chegando até os sistemas de gestão empresarial,
tradicionalmente chamados de ERP (Enterprise Resource Planning).
Existem diversas linguagens de programação para internet com suas características,
vantagens e desvantagens, cabendo ao desenvolvedor decidir por aquela que melhor atenda aos
requisitos exigidos.
Segundo Niederauer (2004), a linguagem PHP (acrônimo recursivo para PHP: Hypertext
Preprocessor) é uma das linguagens de programação mais utilizadas no desenvolvimento de sites
28
para a internet, devido a sua facilidade de utilização e diversidade de recursos, transformando
páginas estáticas em dinâmicas.
O autor citado anteriormente aponta como vantagens na escolha do PHP sua característica
de ser baseado no lado do servidor, sua portabilidade indiferente à plataforma empregada e por ser
uma linguagem de código-fonte aberto e gratuito.
Além de agregar interatividade e dinamismo aos sistemas para web, a linguagem PHP
interage com diversos bancos de dados, garantindo a construção de sistemas robustos, como os
sistemas encontrados para ambiente local, com a facilidade de ser possível sua utilização pela
internet, independente do local e da plataforma utilizada.
3 DESENVOLVIMENTO
Qualquer ser humano ao adquirir um produto, busca, na maioria das vezes, analisar se este
produto que ele está adquirindo realmente é aquele que atenderá as suas necessidades. Para isso, são
definidas e avaliadas quais características são mais relevantes no contexto geral da sua futura
aquisição. Produtos podem possuir poucas ou muitas características, dependendo da sua
complexidade e finalidade.
O setor de calçados esportivos apresenta uma enorme gama de produtos, cada um com
diversas características que são comuns entre si, e que para cada indivíduo podem ser mais ou
menos relevantes no processo de escolha de um calçado.
Quando existe uma grande quantidade de produtos, cada um possuindo muitas
características, a experiência do consultor de venda é um diferencial no auxílio ao cliente no
momento da venda.
Na empresa Marcelo Sports os consultores de venda recebem treinamento contínuo quanto
aos novos produtos e tecnologias, visando formar um consultor preocupado em oferecer ao cliente o
produto certo, aquilo que realmente ele necessita. Os novos consultores passam por um treinamento
visando nivelar o conhecimento referente aos produtos comercializados. Porém, devido a grande
quantidade de informação referente aos produtos somente serão memorizadas com o passar do
tempo.
Visando auxiliar estes novos consultores em desempenhar suas atividades da melhor
maneira possível, este sistema foi desenvolvido para ser uma ferramenta que através das
características avaliadas, e de acordo com os pesos atribuídos as mesmas, sugere qual ou quais tênis
mais se assemelham com o desejado pelo cliente. Além disso, a ferramenta também foi
disponibilizada pelo site de vendas pela internet da empresa, auxiliando os clientes que aderem ao
comércio eletrônico.
A Figura 13 apresenta uma abstração do funcionamento geral do sistema, sendo possível
visualizar seus principais objetivos de funcionamento.
30
Figura 13. Abstração do funcionamento geral do sistema proposto
3.1 SISTEMA DESENVOLVIDO
Este sistema têm por finalidade auxiliar novos consultores de venda e clientes que adquirem
tênis através do site da empresa Marcelo Sports. Apesar de a empresa comercializar diversos
produtos da linha esportiva, este sistema contempla somente o seguimento de calçados esportivos,
uma vez que estes representam mais da metade do faturamento da empresa, além de possuírem
diversas características. O sistema possibilita o cadastramento destes produtos bem como suas
características, além de possuir interfaces diferenciadas de consulta para consultores de venda e
clientes.
Na elaboração deste sistema foi empregada a técnica de RBC para sugestão do produto que
possuir maior grau de similaridade em relação ao desejado, implementando as fases de
representação de casos, similaridade e recuperação de casos, baseado no conhecimento adquirido
através da fundamentação teórica.
A linguagem de programação que foi empregada é o PHP versão 5.2.5 aliado ao HTML
(HyperText Markup Language) e Java Script. A interface adotada para escrever o código-fonte foi o
PHP Designer 2005. O banco de dados que foi utilizado é o MySQL versão 5.0.51ª, devido a
facilidade de interação com o PHP, uma vez que esta linguagem possui funções nativas para
conexão a banco de dados MySQL. Como servidor de aplicação utilizado o Apache versão 2.2.8. O
31
motor PHP mais o banco de dados MySQL e o servidor Apache são obtidos através da switch
WAMP versão 1.7.0 para Microsoft Windows.
A primeira etapa do projeto compreendeu a modelagem do sistema proposto, através da
UML, incluindo análise de requisitos (funcionais e não funcionais), diagramas de classe, casos de
uso e diagramas de seqüência.
A ferramenta escolhida para realizar a modelagem do sistema, através da metodologia UML,
foi a Enterprise Architect versão 6.1, em sua versão de demonstração.
3.1.1 Análise de Requisitos
Foram levantados através de estudos e junto aos consultores de venda e supervisor da loja
Marcelo Sports, quais seriam os requisitos básicos para garantir o funcionamento do sistema,
documentado-os da maneira devida.
3.1.1.1 Requisitos Funcionais
Esta seção apresenta as funções mínimas que o sistema deve possuir e suas funcionalidades.
Estes requisitos são exibidos na Figura 14.
Figura 14. Requisitos funcionais.
32
3.1.1.2 Requisitos Não Funcionais
Esta seção apresenta a plataforma onde o sistema estará executando bem como as estações,
além de outros detalhes técnicos. Estes requisitos são exibidos na Figura 15.
Figura 15. Requisitos não funcionais.
3.1.2 Casos de Uso
Pender (2004), define Casos de Uso (Use Case – UC) como um diagrama gráfico, utilizado
na modelagem do modo como os usuários esperam interagir junto ao sistema. Neste diagrama fica
expresso quem foram os usuários relevantes, além dos serviços que estes exigem e oferecem ao
sistema.
Os Casos de Uso oferecem uma visualização melhor e entendimento da perspectiva
funcional do sistema. A Figura 16 mostra os UC do usuário Administrador do sistema proposto.
33
Figura 16. UC do Administrador.
A descrição completa dos casos de uso do administrador do sistema, encontram-se no
apêndice B deste trabalho.
A Figura 17 mostra o UC do Consultor de Venda, possuindo um único cenário que é a
consulta aos casos existentes na base de conhecimento do sistema RBC.
Figura 17. UC do Consultor de Vendas.
UC 01 – Consulta Casos
Este caso de uso descreve como o usuário pode buscar os tênis que possuem a maior
similaridade entre as características selecionadas para solução do problema. Este usuário tem a sua
34
disposição todas as características existentes para poder realizar a sua consulta. O consultor de
vendas pode também definir qual o grau de similaridade que o mesmo deseja utilizar na
apresentação dos resultados obtidos na busca RBC, sendo que a mesma traz como valor padrão para
o grau de similaridade 75%.
A Figura 18 mostra o UC do Cliente da Internet, possuindo um único cenário que é a
consulta aos casos existentes na base de conhecimento do sistema RBC. A diferença entre este
cenário e o do Consultor de Vendas esta na interface que será apresentada a cada um deles, sendo
que a interface do cliente não contará com todas as características que a do consultor de venda
possui. Porém o objetivo é o mesmo: a possibilidade de buscar os tênis que possuem a maior
similaridade entre as características selecionadas para solução do problema.
Figura 18. UC do Cliente da Internet.
Tanto o sistema apresentado para o consultor de venda quanto para o cliente da internet,
deverão trazer os pesos das características já pré-definidos, permitindo ao usuário modificar
conforme sua conveniência.
Tais pesos foram obtidos através de entrevistas realizadas junto aos consultores de venda,
que indicaram em uma escala de a 0 à 10 qual o nível de importância que tal característica possui no
momento de escolha de um tênis. Os valores pré-definidos são na verdade a média da soma de cada
uma destas características. O modelo da pesquisa aplicada pode ser encontrado na seção Apêndice
A.
A pesquisa foi aplicada aos consultores de venda uma vez que, os mesmos, poderiam
identificar mais facilmente a importância de cada característica, de acordo com suas experiências no
atendimento aos clientes. Caso esta pesquisa tivesse sido aplicada aos clientes, seria necessário um
número elevado de entrevistados para se chegar a um resultado confiável.
35
3.1.3 Diagrama de Classes
Segundo Pender (2004), o diagrama de classes modela definições e os principais recursos,
representando pessoas, materiais, informações e comportamentos, para a correta operação do
sistema, apresentando várias classes e seus relacionamentos. A Figura 19 apresenta o Diagrama de
Classes do sistema proposto.
Figura 19. Diagrama de Classes.
36
3.1.4 Diagrama de Seqüência
O diagrama de seqüência, segundo Pender (2004), é utilizado para ilustrar interações entre
objetos, modelando objetos e as mensagens trocadas entre estes objetos. A Figura 20 mostra o
diagrama de seqüência da manutenção de casos.
Figura 20. Diagrama de seqüência da manutenção de casos.
37
A seguir são apresentados dois diagramas de seqüência onde a única mudança está nos
atores utilizados. A Figura 21 apresenta o diagrama de seqüência da consulta feita pelo consultor de
vendas e a Figura 22 pelo cliente da internet.
Figura 21. Diagrama de seqüência da consulta do consultor de venda.
Figura 22. Diagrama de seqüência da consulta do cliente da internet.
38
3.1.5 Aplicação de Questionário
Visando facilitar a utilização do sistema na parte de definição dos pesos para as
características dos tênis, tanto o sistema de busca disponibilizado para o consultor de venda, quanto
para o cliente de internet, trará os pesos para as características já pré-definidos, podendo ser
alterados conforme a necessidade do usuário.
Para poder determinar o valor inicial para os pesos de cada característica, foi aplicado um
questionário aos consultores de venda onde os mesmos deveriam avaliar cada características,
atribuindo a ela um valor de 0 a 10, de acordo com seu grau de importância no processo de decisão
de escolha de um produto.
O modelo do questionário aplicado encontra-se no apêndice A deste trabalho. Através da
análise dos resultados obtidos, foi realizada uma média da soma dos pesos de cada característica,
originando um valor médio que será utilizado como um valor pré-definido que o sistema trará
inicialmente para cada característica. A Tabela 2 apresenta as características dos tênis e os pesos
pré-definidos para consulta no sistema de busca RBC.
Tabela 2. Características e seus pesos pré-definidos.
Características Peso Marca (Ex.: Nike, Adidas, Reebok, etc.) 9
Tecnologia (Ex.: Air Max, a3, etc.) 9
Categoria (Ex.: caminhada, corrida, basquete, life style, etc.) 9
Cor (Ex.: azul, vermelho, tons claros, etc.) 7
Preço 9
Perfil (Ex.: baixo, alto) 6
Peso (Ex.: super leve, leve, intermediário, pesado) 7
Grau de amortecimento (Ex.: baixo, médio, alto) 9
Amplitude de amortecimento (Ex.: simples, intermediário, completo) 8
Solado (Ex.: liso, ranhuras) 6
Revestimento cabedal (Ex.: couro, sintético, tecido, nylon, etc.) 8
Cano (Ex.: médio, alto) 6
Grau de transpiração (Ex.: baixo, médio, alto) 8
Tipo de pisada (Ex.: neutra, sub-pronada, pronada) 7
Finalidade terapêutica (Ex.: problema de diabetes, circulação, etc.) 6
39
3.2 TECNOLOGIAS UTILIZADAS
A necessidade inicial de poder disponibilizar pela internet este projeto desenvolvido, nas
diferentes unidades da empresa em diferentes localizações geográficas, e também para seus clientes
que se utilizam do site de comércio eletrônico da empresa, levou a escolha de uma linguagem de
programação para web. A linguagem escolhida foi o PHP, podendo destacar como características:
• Possibilita criação de sites dinâmicos;
• Distribuição gratuita;
• Facilidade de aprendizado e utilização;
• Multiplataforma; e
• Suporte a diversos bancos de dados.
Além disso, foi utilizada a linguagem HTML para criação das interfaces do usuário, e
recursos em Java Script na validação dos dados do lado cliente, especificamente no preenchimento
de formulários.
Como sistema gerenciador de banco de dados, foi utilizado o MySQL, devido sua boa
estabilidade e desempenho, funcionalidades, compatibilidade com a linguagem de programação
adotada, e por ser uma distribuição gratuita, bem como o PHP.
3.3 INTERFACES DO SISTEMA
Neste capítulo serão apresentadas as principais telas do sistema desenvolvido, sendo as
interfaces de cadastro dos tênis e de seus parâmetros, interface de busca do consultor de vendas,
interface de busca do usuário da internet e a interface de resultado de buscas.
3.3.1 Interface Administrativa
A Figura 23 apresenta a tela inicial disponibilizada ao usuário responsável em manter os
cadastros dos tênis comercializados pela empresa. É possível através do menu disposto na lateral
esquerda da tela não só cadastrar os tênis, mas também as características que podem ser variáveis,
dispensando uma intervenção no sistema por parte do programador. Dentre as 16 características
levantadas junto aos consultores, apenas sete características possuem tela de cadastro por serem
40
variáveis, sendo elas a Marca (fabricante), Tecnologia (técnica ou material empregado na confecção
do tênis), Categoria (destinação do produto), Cor (gama de cores utilizadas), Revestimento (tipo de
material empregado na confecção do produto), Solado (tipo de sola utilizada) e Finalidade
(terapêutica, ortopédica, etc.). As demais características estão parametrizadas no sistema.
Figura 23. Interface administrativa do sistema.
A Figura 24 apresenta a interface de cadastro dos tênis, trazendo todas as categorias, exceto
o nome e preço, já estão pré-definidas, sendo disponibilizadas através das combo box existentes na
tela, além de ser possível a vinculação de uma foto do produto.
41
Figura 24. Interface de cadastro de tênis.
A Figura 25 apresenta a interface de detalhamento do cadastro do tênis.
Figura 25. Interface de detalhe do tênis.
A Figura 26 apresenta uma listagem contendo os tênis cadastrados no sistema, exibindo seu
nome, marca e tecnologia, além de uma miniatura da foto do produto, facilitando a atividade de
realizar a manutenção dos mesmos cadastrados.
42
Figura 26. Interface da lista dos tênis cadastrados.
Para o cadastro das características variáveis, foi adotado para todas as interfaces um mesmo
layout, uma vez que as mesmas possuem apenas um código seqüencial, gerado automaticamente
pelo sistema, e a sua descrição. As telas de cadastro, listagem e detalhamento das características,
são apresentadas na Figura 27, Figura 28 e Figura 29. Todas estas interfaces são apresentadas ao
usuário ao lado do menu principal do sistema, conforme observado nas figuras anteriores. Como
exemplo para demonstrar as interfaces, foi escolhida a característica de revestimento do tênis.
Figura 27. Interface padrão para cadastro de características.
43
Figura 28. Interface padrão listagem das características.
Figura 29. Interface padrão de detalhamento das características.
O sistema possui duas interfaces diferentes para busca dos tênis, sendo uma destina aos
consultores de venda da empresa, e outra disponível para os clientes do site de comércio eletrônico
da empresa.
3.3.2 Interface do Consultor de Vendas
A interface criada para os consultores de venda possui um layout simples, contendo todas as
características dos tênis, bem como os possíveis pesos que podem ser atribuídos as mesmas. Estes
pesos são inicialmente configurados conforme pesquisa realizada junto aos próprios consultores.
Outro detalhe desta interface é o campo “Sensibilidade da Busca”, inicialmente parametrizado com
o valor de 75%, podendo ser ajustado pelo usuário, numa escala entre 50% a 100% de similaridade,
variando em 5%. A Figura 30 apresenta a interface de busca do consultor.
44
Figura 30. Interface de busca para consultores de venda.
3.3.3 Interface do Cliente
A interface de busca desenvolvida para os clientes do site da empresa apresenta um layout
diferenciado. Ao invés de apresentar todas as características na tela, conforme feito na tela do
consultor, estas são apresentas em uma interface passo a passo, que traz uma explicação e ilustração
referente a característica que está sendo escolhida, apresentando também o nome da característica,
as opções que podem ser escolhidas, e seu peso (Baixo, Médio, Alto). Diferentemente da interface
do consultor de venda, que traz todas as características cadastradas, esta interface traz as dez
principais características assinaladas pelos consultores de venda na tomada de decisão do cliente no
momento da escolha. São elas:
• Marca;
• Tecnologia;
• Categoria;
• Cor;
45
• Ton;
• Valor;
• Amplitude de Amortecimento;
• Revestimento; e
• Finalidade Terapêutica.
A Figura 31 apresenta uma das interfaces apresentadas conforme o usuário vai navegando e
escolhendo as características que deseja do produto.
Figura 31. Interface de busca para clientes do site.
Outra diferença em relação a interface de busca dos consultores de venda, está no grau de
sensibilidade utilizado na busca pelo sistema RBC. Quando uma consulta é submetida proveniente
da interface de cliente, o valor utilizado como padrão para grau de sensibilidade é de 75%, não
podendo ser alterado pelo usuário.
Para demonstração dos resultados obtidos na busca do sistema RBC, tanto para consultores
de venda como para clientes, foi implementado um único layout, apresentando uma pequena
imagem do produto, seu nome, marca e tecnologia, além do grau de similaridade que este produto
tem em relação ao idealizado no formulário de busca. Os tênis encontrados são listados em ordem
46
decrescente pelo grau de similaridade. A única diferença existente é quando a busca é proveniente
da interface do cliente, que esta será apresentada de forma paginada, com o objetivo de minimizar a
quantidade de informações apresentas na tela para o cliente. A Figura 32 mostra um exemplo da
interface de resultados.
Figura 32. Interface do resultado de busca do sistema RBC.
47
3.4 IMPLEMENTAÇÃO
Além das telas implementadas, que é a parte visível e de interação com o usuário, existem
scripts PHP responsáveis pela conexão e operações com o banco de dados, criação de telas
(cadastro, listagem e detalhes), e o principal de todos, denominado de “motor_rbc.php”, que recebe
os dados informados nas interfaces de busca e aplica as técnicas de RBC para retornar quais
produtos mais se assemelham ao desejado.
Como métrica de similaridade foi aplicada a técnica do Vizinho Mais Próximo, normalizada,
onde as características assinaladas pelo usuário são comparadas com as características dos casos
existentes na base de conhecimento, e havendo igualdade entre as mesmas, seus pesos são somados
para chegar ao grau de similaridade entre o caso existente e o caso informado.
No caso da característica “valor”, ao se comparar o valor informado com o existente na base
de casos, é verificado se o mesmo esta 30% a mais ou a menos que o informado, que é o percentual
que varia o valor quando o cliente busca por um tênis, segundo os consultores da empresa.
Durante o processamento das informações que serão avaliadas pela métrica de similaridade
aplicada, as características que não foram assinaladas pelos usuários, são removidas, não
interferindo no processamento e resultado na busca pelo melhor caso.
Além dos parâmetros informados para consulta pelo usuário, no momento que o sistema
RBC está efetuando a comparação entre o novo caso e os existentes na base, é feita uma
comparação levando em consideração a data atual e data de cadastro do tênis, pontuando esta
característica conforme a diferença entre a atual e a de cadastro, sendo que:
• Se a data de cadastro é menor ou igual a 90 dias, então peso é igual a 9;
• Se a data de cadastro é maior que 90 dias e menor ou igual a 180 dias, então peso é
igual a 6;
• Se a data de cadastro é maior que 180 dias e menor ou igual a 270 dias, então peso é
igual a 3; e
• Se a data de cadastro é maior que 270 dias, então peso é igual a 1.
48
Esta técnica foi utilizada para poder, de certa forma, determinar quais tênis possivelmente
são mais novos, e que provavelmente existam em estoque. Este problema poderia ter sido resolvido
caso houvesse sido possível a integração do sistema desenvolvido com o de estoque da empresa,
podendo assim sugerir apenas produtos que constassem no estoque. A Figura 33 apresenta parte do
código responsável em fazer esta avaliação.
Figura 33. Atribuição de peso conforme tempo da data de cadastro.
Foi realizado um teste replicando-se um produto e suas características quatro vezes, sendo
somente alterada a data de cadastro de cada um, visando verificar a diferença no grau de
similaridade exercida por esta característica. Para uma melhor visualização dos testes, cada um dos
quatro tênis recebeu um identificador de acordo com o seu período de data de cadastramento, em
relação a data do teste (09/11/2008), sendo eles:
• T1 – até 90 dias;
• T2 – entre 90 e 180 dias;
• T3 – entre 180 e 270 dias; e
• T4 – mais de 270 dias.
A Figura 34 mostra a diferença no grau de similaridade com datas de cadastro nos intervalos
avaliados.
49
Figura 34. Resultado de busca influenciado pela data de cadastro do tênis.
Após o processamento pelo sistema RBC, o resultado obtido é armazenado em uma tabela
temporária, que será utilizada para montar a interface de resultado da busca. Nesta tabela é
armazenado um código para identificar a pesquisa do usuário, o código do tênis, seu percentual de
similaridade e um identificador de posição. Este indicador é utilizado para realizar a paginação dos
resultados quando estes são apresentados aos clientes da internet.
3.5 TESTES E AVALIAÇÃO
Durante a fase de desenvolvimento foram realizados testes individuais, visando a qualidade
do sistema desenvolvido, e sua usabilidade. Nestes testes foram identificados alguns erros de
programação que foram corrigidos antes dos testes realizados pelos usuários.
O sistema foi testado por três tipos de usuários: o administrador do sistema, o consultor de
vendas, e o cliente da internet.
O teste da parte do sistema que cadastra os tênis e também suas características, foi realizado
por um funcionário da empresa com mais de três anos de experiência na função de consultor de
vendas. Coube também a este funcionário realizar o cadastramento de tênis para serem utilizados
nos testes posteriores de utilização do sistema RBC. Foram cadastrados pouco mais de trezentos
tênis para servirem inicialmente como base de casos para o sistema.
50
Após o cadastro dos tênis na base de conhecimento, o sistema foi disponibilizado em
computador em uma das unidades da empresa para que os consultores de venda utilizassem o
sistema. Foi realizado um pequeno treinamento explicando o funcionamento da ferramenta e seu
objetivo. Após algumas consultas teste, os consultores iniciaram a utilização do sistema como um
auxílio no momento de sugerir um tênis para o cliente. Os resultados obtidos durante a utilização do
sistema, que foi utilizado por 8 diferentes consultores de vendas, foram positivos, tanto em sua
utilização, bem como na qualidade e veracidade das informações recuperadas durante o processo de
busca pelo produto desejado, de acordo com suas características assinaladas no formulário de busca,
cumprindo o propósito inicial do sistema.
Para o teste do sistema que será disponibilizado futuramente para os clientes que acessam o
site da empresa, foram selecionadas 10 pessoas que caracterizam um grupo normal de
consumidores, sem nenhum conhecimento mais aprofundado em relação ao produto, e um
conhecimento básico em informática. Ao contrário do que fora feito com os consultores de vendas,
estes usuários não receberam nenhum treinamento, ou instrução do funcionamento, visando simular
a interatividade do sistema, bem como a sua utilização.
Durante os testes não foram detectados nenhum problema quanto a integridade do sistema.
Quanto ao tempo gasto para realizar uma busca, tanto para consultores de vendas como para
clientes, a intimidade e conhecimento na utilização do computador foram pontos determinantes para
a performance do sistema.
Para verificar a eficiência do sistema implementado, foi realizado um teste junto a um
consultor de vendas, simulando as características assinaladas por um cliente a procura de um tênis.
Para nenhuma das características foi atribuído um grau de importância maior ou menor em relação
às demais. Com base nos tênis cadastrados no sistema, foram sugeridos seis modelos de tênis pelo
consultor de vendas, de acordo com as características:
• Categoria: Caminhada;
• Ton: Claro;
• Perfil: Médio;
• Peso: Leve;
51
• Grau de Amortecimento: Alto;
• Amplitude de Amortecimento: Completo; e
• Grau de Transpiração: Alta.
Os seis modelos de tênis apontados pelo consultor de vendas foram:
• RESPONSE CSH 16 WMNS;
• WAVE CREATION 8 MEN;
• AIR MAX MOTO + 6 MEN;
• AIR MAX 360 II WMNS;
• CLEAR FLASH LP RBRN209;e
• SMOOTHFIT HEXRIDE.
Após isso, foi realizada a busca no sistema desenvolvido, através da interface de busca para
consultores, utilizando os pesos pré-definidos, e com um grau de similaridade de 75% do produto
desejado com os existentes na base de conhecimento. Como resultado, dos seis sugeridos pelo
consultor de vendas, quatro foram listados entre os obtidos na busca, sendo eles:
• AIR MAX MOTO + 6 MEN – 87,30% de similaridade;
• RESPONSE CSH 16 WMNS – 85,70% de similaridade;
• AIR MAX 360 II WMNS – 76,20% de similaridade; e
• WAVE CREATION 8 MEN – 75,60% de similaridade.
Quando a mesma busca é feita, porém com um grau de similaridade menor, de 60%,
aparecem todos os tênis sugeridos pelo consultor de vendas, sendo eles:
• AIR MAX MOTO + 6 MEN – 87,30% de similaridade;
• RESPONSE CSH 16 WMNS – 85,70% de similaridade;
52
• AIR MAX 360 II WMNS – 76,20% de similaridade;
• WAVE CREATION 8 MEN – 75,60% de similaridade;
• CLEAR FLASH LP RBRN209 – 60,30% de similaridade; e
• SMOOTHFIT HEXRIDE – 60,30% de similaridade.
A mesma busca foi realizada na interface de busca para clientes. Nesta interface não são
apresentadas todas as características para serem utilizadas como parâmetro para a busca, sendo que
das sete características utilizadas na outra interface, apenas três delas foram utilizadas. Como
resultado da busca, foram encontrados quatro modelos de tênis, dos seis sugeridos inicialmente pelo
consultor de vendas, sendo o grau de similaridade fixado em 75% para consultas provenientes desta
interface, sendo eles:
• SMOOTHFIT HEXRIDE – 75,00% de similaridade;
• AIR MAX MOTO + 6 MEN – 75,00% de similaridade;
• CLEAR FLASH LP RBRN209 – 75,00% de similaridade; e
• RESPONSE CSH 16 WMNS – 75,00% de similaridade.
4 CONCLUSÃO
Este trabalho teve como principal objetivo construir um sistema, que através da aplicação da
técnica de IA, denominada RBC, pudesse auxiliar consultores de vendas iniciantes, bem como os
mais experientes, e também os clientes da internet, na escolha do produto mais adequado, de acordo
com suas características.
Ao final da implementação e testes da ferramenta, foi possível observar que os objetivos
inicialmente propostos foram alcançados, principalmente ao fato de as opiniões dos que utilizaram o
sistema terem sido favoráveis, julgando que a ferramenta realmente pode ser de grande valia neste
processo de escolha de um tênis.
Inicialmente, fora proposto um modelo de recuperação em dois níveis (página 20), porém
em testes realizados verificou-se que sua implementação seria desnecessária, e passível de falhas,
devido a algumas características interferirem uma nas outras, como ocorre com marca e tecnologia,
que na maioria das vezes estão vinculadas. Outro fato se dá pela quantidade de registros na base de
casos que não deverá ser grande, mesmo com o cadastramento de todos os tênis que a empresa
comercializa.
Vale ressaltar que o bom funcionamento do sistema, no aspecto que tange os resultados
obtidos nas buscas, esta diretamente ligado ao conhecimento que o usuário responsável no
cadastramento dos tênis possui sobre os mesmos, garantindo que a ferramenta possa realmente ser
utilizada como um auxílio na escolha do produto.
Observou-se uma grande aceitação por parte dos consultores de vendas que utilizaram o
sistema, julgando que o mesmo pode ser uma boa ferramenta de auxílio em seu dia a dia, além de
auxiliar os clientes da empresa que efetuam compras pelo site, podendo oferecer um atendimento
mais próximo ao que é oferecido nas lojas da rede.
Como trabalhos futuros propõem-se a criação de uma maneira de integrar o sistema junto ao
sistema de gestão da empresa que gerencia a parte de estoque, garantindo que somente produtos
existentes em estoque poderão ser sugeridos na busca. Outra sugestão seria criar novas
predefinições de pesos, de acordo com o sexo, idade ou perfil econômico, uma vez que o grau de
importância para uma característica pode variar para cada grupo de indivíduos.
54
Espera-se que a ferramenta desenvolvida possa realmente auxiliar aos novos consultores de
vendas da empresa, bem como clientes na busca pelo produto ideal ou que mais se assemelhe,
cumprindo com seus objetivos iniciais, representando um diferencial de mercado para a empresa
sobre seus concorrentes.
55
REFERÊNCIAS BIBLIOGRÁFICAS
ALBERTIN, Alberto Luiz. Comércio eletrônico: modelo, aspectos e contribuições de sua aplicação. 3 ed. São Paulo: Atlas, 2001. BEPPLER, Fabiano Duarte. Emprego de RBC para recuperação inteligente de informações. 2002. Dissertação (Mestrado em Engenharia de Produção) – UFSC, Florianópolis, 2002. Disponível em: <http://www.fbeppler.com/papers/DissertacaoMestradoFabianoDuarteBeppler.pdf>. Acesso em: 21 abr. 2008. BEZERRA, Miguel Eugênio Ramalho. Métodos baseados na regra do vizinho mais próximo para reconhecimento de imagens. 2006. Trabalho de Conclusão de Curso (Graduação em Engenharia da Computação) – Universidade de Pernambuco, Recife, 2006. Disponível em: <http://www.poli.br/arquivos/ DOWNLOADS/TCC/COMPUTACAO/20052/MiguelEugenio.pdf>. Acesso em: 21 abr. 2008. DELPIZZO, Vanessa Lins Francalacci. Prescrição de atividades físicas através do uso da inteligência artificial. 1997. Dissertação (Mestrado em Engenharia de Produção) – UFSC, Florianópolis, 1997. Disponível em: <http://www.eps.ufsc.br/disserta98/delpizzo/>. Acesso em: 21 abr. 2008. FERNANDES, Anita Maria da Rocha. Inteligência artificial: noções gerais. Florianópolis: VisualBooks, 2005. GANASCIA, Jean-Gabriel. Inteligência artificial. São Paulo: Ática, 1997. JUNIOR, Valdir Antônio Luiz. Desenvolvimento de um sistema baseado no conhecimento para auxílio na escolha de automóveis. 2007. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) – Universidade do Vale do Itajaí, Itajaí, 2007. Disponível em: <http://siaibib01.univali.br/pdf/Valdir%20Antonio%20Luiz%20Junior.pdf>. Acesso em: 2 abr. 2008. KISNER, Gilvani Bruno. Sistema de auxílio a restaurantes para elaboração de cardápios. 2003. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) – FURB, Blumenau, 2003. Disponível em: < http://campeche.inf.furb.br/tccs/2003-I/2003-1gilvanibrunokisnervf.pdf>. Acesso em: 2 abr. 2008. LEE, Rosina Weber. Pesquisa Jurisprudencial Inteligente. 1998. Tese (Doutorado em Engenharia) – UFSC, Florianópolis, 1998. Disponível em: <http://www.eps.ufsc.br/teses98/rosina/index.html>. Acesso em: 20 abr. 2008. LIMEIRA, Tania Maria Vidigal. E-marketing: o marketing na internet com casos brasileiros. São Paulo: Saraiva, 2003. LUGER, George F. Inteligência Artificial: estruturas e estratégias para a solução de problemas complexos. 4. ed. Porto Alegre: Bookmann, 2004.
56
MATOS, Ivan Carlos. Utilização de raciocínio baseado em casos na determinação de aparelhos auditivos via web. 2007. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) – Universidade do Vale do Itajaí, Itajaí, 2007. Disponível em: <http://siaibib01.univali.br/pdf/Ivan%20Carlos%20Matos.pdf>. Acessado em: 2 abr. 2008. MEMÓRIA, Felipe. Design para a Internet: projetando a experiência perfeita. 3. ed. Rio de Janeiro: Elsevier, 2005. NIEDERAUER, Juliano. Desenvolvendo Websites com PHP: aprenda a criar websites dinâmicos e interativos com PHP e bancos de dados. São Paulo: Novatec, 2004. PENDER, Tom. UML, a Bíblia. Rio de Janeiro: Elsevier, 2004. RUSSEL, Stuart Jonathan; NORVIG, Peter. Inteligência Artificial. Rio de Janeiro: Elsevier, 2004. WANGENHEIM, Christiane Gresse von; WANGENHEIM, Aldo von. Raciocínio Baseado em Casos. São Paulo: Manole, 2003.
57
APÊNDICES
58
A Questionário Aplicado
Questionário
Este questionário tem por objetivo coletar informações pertinentes ao processo de
sugestão de um tênis, levando em consideração quais as principais características que
levam a sugestão e escolha de um determinado produto.
Este questionário foi desenvolvido por Thiago Vinicius Vassoler, acadêmico do
curso de Ciência da Computação da Universidade do Vale do Itajaí, sendo este parte do
seu Trabalho de Conclusão de Curso (TCC). Este TCC tem como propósito a construção
de um sistema de raciocínio baseado em casos para auxílio na escolha de tênis para a
loja Marcelo Sports. As respostas contidas neste questionário serão utilizadas somente
para caráter acadêmico, não sendo necessária a identificação do entrevistado.
1 – Indique na tabela abaixo, na coluna “Nota”, qual valor inteiro em uma escala de
1 (mínimo) a 10 (máximo), qual o grau de importância que tal característica
influencia no processo de escolha de um tênis em sua opinião.
Característica Nota
Marca (Ex.: Nike, Adidas, Reebok, etc.)
Tecnologia (Ex.: Air Max, a3, etc.)
Categoria (Ex.: caminhada, corrida, basquete, life style, etc.)
Cor (Ex.: azul, vermelho, tons claros, etc.)
Preço
Perfil (Ex.: baixo, alto)
Peso (Ex.: super leve, leve, intermediário, pesado)
Grau de amortecimento (Ex.: baixo, médio, alto)
Amplitude de amortecimento (Ex.: simples, intermediário, completo)
Solado (Ex.: liso, ranhuras)
Revestimento cabedal (Ex.: couro, sintético, camurça, tecido, nylon, etc.)
Cano (Ex.: médio, alto)
Grau de transpiração (Ex.: baixo, médio, alto)
59
Tipo de pisada (Ex.: neutra, sub-pronada, pronada)
Finalidade terapêutica (Ex.: problema de diabetes, circulação, etc.)
2 – Na maioria das vezes o cliente define a característica COR por:
Cores (Ex.: azul, vermelho, cinza, etc.)
Tons (Ex.: claros, escuros, etc.)
3 – Na maioria das vezes o cliente adquiri o tênis com as características que ele
procurava?
Sim
Não
4 – Existe alguma outra característica, que não tenha sido mencionada na questão
1, que você considere relevante para a escolha de um tênis?
Não
Sim. Qual (is)?_____________________________________________________
_________________________________________________________________
_________________________________________________________________
5 – Em sua opinião, você considera que um sistema computacional possa auxiliar
consultores de venda e clientes na escolha do tênis mais indicado?
Sim
Não
60
B Casos de Uso do Administrador
UC 01 – Cadastra Tênis (Casos)
Este caso de uso descreve como o usuário do tipo Administrador tem acesso à área restrita
do sistema, podendo cadastrar, alterar, excluir e visualizar tênis. Estes dados representam a base de
conhecimento do sistema RBC.
UC 02 – Cadastra Marca
Este caso de uso descreve como o usuário do tipo Administrador tem acesso à área restrita
do sistema, podendo cadastrar, alterar, excluir e visualizar as marcas comercializadas de tênis.
Exemplo: Nike, Adidas, Reebok, etc.
UC 03 – Cadastra Tecnologia
Este caso de uso descreve como o usuário do tipo Administrador tem acesso à área restrita
do sistema, podendo cadastrar, alterar, excluir e visualizar as tecnologias referentes aos tênis
comercializados. Exemplo: Air Max, a3, etc.
UC 04 – Cadastra Categoria
Este caso de uso descreve como o usuário do tipo Administrador tem acesso à área restrita
do sistema, podendo cadastrar, alterar, excluir e visualizar as diferentes categorias referentes aos
tênis comercializados. Exemplo: caminhada, corrida, basquete, etc.
UC 05 – Cadastra Cor
Este caso de uso descreve como o usuário do tipo Administrador tem acesso à área restrita
do sistema, podendo cadastrar, alterar, excluir e visualizar as diferentes cores referentes aos tênis
comercializados. Exemplo: azul, preto, branco, etc.
UC 06 – Cadastra Solado
Este caso de uso descreve como o usuário do tipo Administrador tem acesso à área restrita
do sistema, podendo cadastrar, alterar, excluir e visualizar os diferentes tipos de solado referentes
aos tênis comercializados. Exemplo: liso, ranhuras, etc.
61
UC 07 – Cadastra Revestimento
Este caso de uso descreve como o usuário do tipo Administrador tem acesso à área restrita
do sistema, podendo cadastrar, alterar, excluir e visualizar os diferentes tipos de revestimento
referentes aos tênis comercializados. Exemplo: couro, sintético, camurça, tecido, nylon, etc.
UC 08 – Cadastra Finalidade Terapêutica
Este caso de uso descreve como o usuário do tipo Administrador tem acesso à área restrita
do sistema, podendo cadastrar, alterar, excluir e visualizar as diferentes finalidades terapêuticas
referentes aos tênis comercializados. Exemplo: produto indicado para diabéticos, cardíacos,
ortopédico, etc.