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 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. ii 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 iii 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 iv LISTA DE ABREVIATURAS ERP HTML IA MAC/FAC RBC TCC UC UML Enterprise Resource Planning Hyper Text Markup Language Inteligência Artificial Many Are Called/Few Are Chosen Raciocínio Baseado em Casos Trabalho de Conclusão de Curso Use Case Unified Modeling Language v 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 vi LISTA DE TABELAS Tabela 1. Comparação entre sistemas RBC. ...................................................................................... 26 Tabela 2. Características e seus pesos pré-definidos.......................................................................... 38 vii LISTA DE EQUAÇÕES Equação 1 ........................................................................................................................................... 15 Equação 2 ........................................................................................................................................... 15 Equação 3 ........................................................................................................................................... 16 viii 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. ix 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. x 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, 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, 2 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. 3 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. 4 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. 5 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. 6 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: ... 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 8 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 9 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). 10 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ãoordenado ou taxonomia), como apresentado na Figura 3. 11 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 atributovalor 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 12 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. 13 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 14 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 15 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. 16 É 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: 17 • 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. 18 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 19 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. 20 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. 21 É 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. 22 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. 23 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). 24 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. 25 Tabela 1. Comparação entre sistemas RBC. Sistemas Características Sistema com interface Web Método de recuperação Modelo de busca com pesos pré-definidos Interfaces e funcionalidades diferentes para usuários Ajustar percentual de similaridade A X X X X X B X X C X X D 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. 26 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 27 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. 28 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. 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 30 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. 31 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. 32 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 33 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. 34 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. 35 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. 36 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. 37 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 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, tecido, nylon, etc.) Cano (Ex.: médio, alto) Grau de transpiração (Ex.: baixo, médio, alto) Tipo de pisada (Ex.: neutra, sub-pronada, pronada) Finalidade terapêutica (Ex.: problema de diabetes, circulação, etc.) 38 Peso 9 9 9 7 9 6 7 9 8 6 8 6 8 7 6 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 39 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. 40 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. 41 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. 42 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. 43 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; 44 • 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 45 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. 46 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. 47 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. 48 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. 49 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; 50 • 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; 51 • 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. 52 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. 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. 54 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. 55 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. 56 APÊNDICES 57 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 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) 58 Nota 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 59 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. 60 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. 61