um protótipo de aplicação para recomendação de produtos baseado no interesse e comportamento de...

Upload: joiajoia

Post on 13-Oct-2015

35 views

Category:

Documents


0 download

DESCRIPTION

O aumento das transações de comércio eletrônico e da quantidadede conteúdo disponível na Internet tem dificultado nossa busca porinformações relevantes neste meio. Por vezes, quando queremosencontrar algo na Web, podemos navegar durante horas em websites atéque seja possível extrair informações que supram nossa necessidade. Nodia-a-dia, convivemos com amigos, familiares e outras pessoas próximasa nós que nos dão conselhos adequáveis ao nosso perfil, já que nosconhecem o suficiente para tais recomendações.Nesse sentido, têm sido desenvolvidos sistemas de recomendaçãoque nos auxiliam nessa busca por informações e automatizam asrecomendações, por exemplo, maximizando o uso da recomendação“boca-a-boca” que recebemos dos nossos conhecidos. Estes sistemas sãoresponsáveis pela entrega das informações corretas para as pessoascertas, de acordo com as suas necessidades.O presente trabalho apresenta alguns conceitos que envolvemsistemas de recomendação e apresenta um protótipo diferenciado parafazer recomendações no domínio de softwares baseadas no interesse e nocomportamento de uso dos usuários. Além disso, o trabalho tambémcontempla a criação de um modelo para recomendar diferentes tipos deprodutos. Ao final, o protótipo é executado por meio de uma simulaçãode valores, para comprovar a sua funcionalidade e avaliar os resultadosgerados pelo sistema.

TRANSCRIPT

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    UNIVERSIDADE DO VALE DO RIO DOS SINOSCINCIAS EXATAS E TECNOLGICAS

    CURSO DE INFORMTICA

    Um prottipo de aplicao pararecomendao de produtos baseado

    no interesse e comportamentode uso do usurio

    Fbio Bressler

    Prof. Msc. Silvio Csar CazellaOrientador

    Monografia submetida comorequisito parcial para a obteno dottulo de Bacharel em Informtica.

    So Leopoldo, novembro de 2004.

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    Meu Deus, se errarmos, faz-nos querer mudar;se tivermos razo, d-nos fora para vivermoscom isso.

    (Reverendo Peter Marshall)

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    AgradecimentosPrimeiramente, agradeo a Deus por ter dado-me sade, foras e pacincia paravencer os desafios e persistir nas minhas conquistas.

    Gostaria de agradecer ao amor da minha vida Aline, por ter a pacincia deagentar os finais de semana com encontros por telefone e por me apoiar naverificao da lngua portuguesa escrita no presente trabalho.

    No menos importante, gostaria, de agradecer ao meu pai, Dacilo, e minhame, Marli, por terem me ajudado a realizar mais este sonho com aconselhamentos, nosomente para este trabalho, mas, tambm, para a vida. Agradeo ainda aos meus irmos

    Cludia e Davi que, se no ajudaram tanto, pelo menos no atrapalharam muito.Brincadeira, vocs todos moram no meu corao.

    Tambm agradeo ao meu orientador, Silvio, que mesmo distante se dedicoupara me auxiliar e guiar nesta criao. Obrigado pelas dicas, conselhos e lies quedestes e pelo respeito que tens pelos teus alunos. Pode acreditar, este respeito recproco. Se tudo der certo, levaremos este trabalho adiante, certo?

    Ao meu co-orientador, Sandro, muito obrigado pelo seu acompanhamento eidias que, com certeza, contriburam muito para o sucesso deste trabalho.

    Agradeo aos meus amigos e colegas do Sisinf e GSI, especialmente ao verton,

    ao Chico, ao Jones, ao Marlom, ao Milani, ao Felipe, ao Eduardo, ao Daniel, ao Paulo,ao Luciano, Carla, ao Ari, ao Cassiano, Julie, ao Vincius, ao Charles, ao Gerson equeles que, com certeza eu estou esquecendo e que vo me cobrar depois.

    Por fim, agradeo aos amigos, em especial Rafael, ao Carlo, Day, ao Daniel,ao Duda, ao Felipe, ao Elias, ao Eduardo, ao Alexandre, Ana. A todos estes e outrosque no vejo a um tempo, devido dedicao a este trabalho, mas que, de uma formaou de outra, deixaram a sua contribuio.

    Agradeo a voc tambm, que teve pacincia para chegar at aqui. Espero que aleitura seja proveitosa.

    Obrigado.

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    4

    ResumoO aumento das transaes de comrcio eletrnico e da quantidade

    de contedo disponvel na Internet tem dificultado nossa busca porinformaes relevantes neste meio. Por vezes, quando queremosencontrar algo na Web, podemos navegar durante horas em websitesatque seja possvel extrair informaes que supram nossa necessidade. Nodia-a-dia, convivemos com amigos, familiares e outras pessoas prximasa ns que nos do conselhos adequveis ao nosso perfil, j que nosconhecem o suficiente para tais recomendaes.

    Nesse sentido, tm sido desenvolvidos sistemas de recomendaoque nos auxiliam nessa busca por informaes e automatizam asrecomendaes, por exemplo, maximizando o uso da recomendaoboca-a-boca que recebemos dos nossos conhecidos. Estes sistemas soresponsveis pela entrega das informaes corretas para as pessoascertas, de acordo com as suas necessidades.

    O presente trabalho apresenta alguns conceitos que envolvemsistemas de recomendao e apresenta um prottipo diferenciado parafazer recomendaes no domnio desoftwaresbaseadas no interesse e nocomportamento de uso dos usurios. Alm disso, o trabalho tambm

    contempla a criao de um modelo para recomendar diferentes tipos deprodutos. Ao final, o prottipo executado por meio de uma simulaode valores, para comprovar a sua funcionalidade e avaliar os resultadosgerados pelo sistema.

    Palavras-chave: Sistemas de Recomendao, Filtragem Colaborativa, Filtragem

    Baseada em Contedo, Minerao de Dados, Regras de Classificao, Regras de

    Associao.

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    5

    AbstractThe increase of electronic business transactions and the amount of

    contents available on the Internet have made it difficult for us to searchfor relevant information on the Web. Sometimes, when we want to findsomething on the Internet, we might spend hours browsing websites untilwe are able to extract information that fulfills our needs. In our dailylives, we meet friends, relatives and other people close to us who give usadvice that is suitable to our needs, since they know us well enough tomake such recommendations.

    Therein, recommender systems have been developed to help us inthis search for information and to automate the recommendations, forexample, maximizing the use of recommendations from word of mouththat we receive from the people around us. These systems are responsiblefor delivering the right information for the right people, in accordancewith their needs.

    This paper introduces some theories that involve recommendersystems and presents an unusual prototype that generatesrecommendations in the software domain based on the interests of usersand their using behaviors. Besides that, this paper also contemplates the

    creation of a model to recommend different kinds of products. Finally,the prototype is executed through a simulation of values to prove itsfunctionality and to validate the results generated by the system.

    Key-words: Recommender Systems, Collaborative Filtering, Content-based

    Filtering, Data Mining, Classification Rules, Association Rules.

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    6

    SumrioLISTA DE ABREVIATURAS ........................................................................... 8

    LISTA DE FIGURAS ......................................................................................... 9

    LISTA DE TABELAS ...................................................................................... 10

    1 INTRODUO.............................................................................................. 11

    1.1 OBJETIVOS DO TRABALHO ................................................................... 12

    2 SISTEMAS DE RECOMENDAO .......................................................... 15

    2.1 DEFININDO SISTEMAS DE RECOMENDAO.......................................... 15

    2.2 TCNICAS APLICADAS.......................................................................... 16

    2.2.1 Filtragem Baseada em Contedo ................................................... 16

    2.2.2 Filtragem Colaborativa.................................................................. 17

    2.2.3 Filtragem Hbrida........................................................................... 17

    2.3 EXEMPLO DE SISTEMAS DE RECOMENDAO ....................................... 18

    2.3.1 Ringo ............................................................................................... 18

    2.3.2 GroupLens ...................................................................................... 18

    2.3.3 Fab.................................................................................................. 18

    2.3.4 Amazon.comTM................................................................................ 19

    2.3.5 eBayTM............................................................................................. 19

    3 MINERAO DE DADOS .......................................................................... 21

    3.1 OPROCESSO DE DESCOBERTA DE CONHECIMENTO ............................. 21

    3.2 TCNICAS DE MINERAO DE DADOS ................................................. 22

    3.2.1 Regras de Classificao ................................................................. 22

    3.2.2 Regras de Associao ..................................................................... 24

    3.3 FERRAMENTAS E ALGORITMOS ............................................................ 27

    3.3.1 A ferramenta C4.5 .......................................................................... 27

    3.3.2 A Ferramenta WEKA...................................................................... 30

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    7

    4 PROTTIPO DA APLICAO.................................................................. 34

    4.1 SERVIDOR WEB .................................................................................... 34

    4.2 LINGUAGENS ....................................................................................... 35

    4.2.1 PHP................................................................................................. 354.2.2 Perl ................................................................................................. 35

    4.2.3 Java................................................................................................. 36

    4.3 BANCO DE DADOS ................................................................................ 36

    4.4 ESTRUTURA DO PROTTIPO.................................................................. 36

    4.4.1 Estrutura do banco de dados.......................................................... 39

    4.5 METODOLOGIA APLICADA ................................................................... 40

    4.6 PROTTIPO DA APLICAO .................................................................. 414.6.1 Algoritmo representativo................................................................ 51

    5 APLICAO ................................................................................................. 55

    6 CONCLUSO ................................................................................................ 70

    6.1 TRABALHOS FUTUROS.......................................................................... 70

    7 BIBLIOGRAFIA............................................................................................ 72

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    8

    Lista de AbreviaturasFBC - Filtragem Baseada em Contedo ..........................................................................16FC - Filtragem Colaborativa............................................................................................17

    FH - Filtragem Hbrida ....................................................................................................17

    MIT -Massachusetts Institute of Technology .................................................................18

    DCBD - Descoberta de Conhecimento em Bancos de Dados .........................................21

    KDD -Knowledge Discovery in Databases ....................................................................21

    PHP -PHP: Hypertext Preprocessor..............................................................................35

    CPAN - Comprehensive Perl Archive Network...............................................................35

    JVM -Java Virtual Machine ...........................................................................................36

    SGBDOR - Sistemas de Gerenciamento de Bancos de Dados Objeto-Relacional .........36

    DE-R - Diagrama de Entidade-Relacionamento..............................................................39

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    9

    Lista de FigurasFigura 1 Filtragem Hbrida ...........................................................................................15Figura 2 Processo de DCBD por Fayyad el al (1996) ..................................................19

    Figura 3 Estrutura das rvores de deciso ....................................................................21

    Figura 4 rvore de deciso...........................................................................................22

    Figura 5 Arquivo contendo os dados a serem analisados .............................................25

    Figura 6 Arquivo contendo as possibilidades de valores dos atributos ........................26

    Figura 7 Interface grfica da ferramenta WEKA .........................................................28

    Figura 8 Exemplo de arquivo utilizado na WEKA.......................................................29

    Figura 9 Execuo do algoritmo aprioripela interface grfica....................................30

    Figura 10 Esquema do prottipo para sistemas de recomendao ...............................35

    Figura 11 Diagrama E-R...............................................................................................37

    Figura 12 Tela inicial do sistema com as categorias de softwares ...............................39

    Figura 13 Cadastro do Perfil de Usurios .....................................................................40

    Figura 14 Registros do perfil de usurios .....................................................................41

    Figura 15 Regras de classificao cadastradas no banco de dados ..............................42

    Figura 16 Cadastro das categorias desoftwarerecomendadas.....................................43

    Figura 17 Downloadde jogos da categoria jogos.........................................................44

    Figura 18 Downloaddesoftwarespor usurios ...........................................................45

    Figura 19 Transaes de downloadpor usurio ...........................................................45

    Figura 20 Regras de associao entre usurios do sistema...........................................46

    Figura 21 Recomendaes cadastradas a serem oferecidas aos usurios .....................47

    Figura 22 Tela de login .................................................................................................48

    Figura 23 Tela do agente de recomendao desoftwarese categorias desoftwares ...48Figura 24 Tela de avaliao desoftwarese categorias desoftwares............................49

    Figura 25 Clculo da amostra de usurios para a execuo da simulao ...................53

    Figura 26 Distribuio de usurios por idade ...............................................................54

    Figura 27 Distribuio de usurios por intimidade.......................................................54

    Figura 28 Distribuio de usurios por atividade .........................................................54

    Figura 29 Distribuio de usurios por licena ............................................................54

    Figura 30 Distribuio de usurios por sistema operacional........................................55

    Figura 31 Distribuio de usurios por categoria .........................................................55

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    10

    Lista de TabelasTabela 1 - Atributos preditivos e atributos objetivos.......................................................21Tabela 2 cesta de compras de vrios itens ....................................................................23

    Tabela 3 - Conjuntos freqentes ......................................................................................24

    Tabela 4 Regras vlidas com confiana de 80% ..........................................................24

    Tabela 5 Matriz de confuso gerada.............................................................................28

    Tabela 6 Distribuio de usurios por idade.................................................................54

    Tabela 7 Distribuio de usurios por intimidade ........................................................54

    Tabela 8 Distribuio de usurios por atividade...........................................................54

    Tabela 9 Distribuio de usurios por licena..............................................................54

    Tabela 10 Distribuio de usurios por sistema operacional........................................55

    Tabela 11 Distribuio de usurios por categoria .........................................................55

    Tabela 12 Matriz de confuso (confusion matrix)........................................................56

    Tabela 13 Regras cadastradas .......................................................................................58

    Tabela 14 Amostra do cadastro de recomendaes de grupos desoftwaresreferente aocadastro dos usurios .......................................................................................................59

    Tabela 15 Amostra do cadastro de recomendaes de grupos desoftwaresreferente sregras encontradas ...........................................................................................................60

    Tabela 16 Amostra do cadastro de recomendaes de grupos desoftwaresreferente soportunidades encontradas...............................................................................................60

    Tabela 17 Total de recomendaes geradas por grupos desoftwares ..........................61

    Tabela 18 Simulao de aceite ou recusa gerada sobre os grupos de softwaresrecomendados ..................................................................................................................61

    Tabela 19 Downloadsefetuados sobre cadasoftware ..................................................62

    Tabela 20 Regras de associao por categoria .............................................................63Tabela 21 Total de recomendaes geradas por softwares...........................................65

    Tabela 22 Simulao de aceite ou recusa gerada sobre ossoftwaresrecomendados...66

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    11

    1 IntroduoEstamos na era da informao. Em nosso dia-a-dia, seguimos na constante buscapor informao, seja esta pelo nome de uma msica, pelas referncias de um livro oupela instalao de um novo software. A Internet1surgiu como um poderoso meio paradisponibilizar essas informaes, com o intuito de facilitar nossas vidas atravs de

    buscas de uma forma rpida e fcil.Juntamente com o advento da era da informao, surgiram novas formas de

    efetuar transaes comerciais, conhecidas como transaes de comrcio eletrnico.Shapiro (1999), afirma que a tecnologia muda facilmente, mas a economia no, isto ,destaca-se a revoluo na infra-estrutura informacional e na tecnologia da informao e

    no nas leis econmicas em si. Alm disso, o autor cita a Web2como um impressionanterecurso informacional e comercial, pela sua capacidade de proporcionar acesso imediato informao.

    Seguindo esta linha, Pine II (1994) afirma que existe um movimento que difereda tradicional produo em massa. A nova era exige negcios mais competitivos, emque a antiga fabricao de produtos padronizados em larga escala no servem mais. Oautor afirma que, para atender a um mercado dinmico e homogneo, as organizaesesto fabricando seus produtos, no apenas com maior qualidade e custos mais baixos,mas tambm com maior variedade.

    Todas essas questes fizeram com que a quantidade de informao livre edisponvel crescesse de forma incrvel nos ltimos anos. Percebemos, por exemplo, que,

    para encontrar uma simples informao, nos deparamos, na maioria das vezes, com umaquantidade imensa de contedos que nos sobrecarrega. Mesmo com o auxlio de filtros,levamos muito tempo para encontrar o resultado desejado, devido forma como estestruturada a informao, j que a Internet, na maioria das vezes, apresenta seucontedo em HTML3.

    Segundo Shardanand e Maes (1995), o volume de contedos disponveis muitomaior do que qualquer pessoa poder filtrar a fim de encontrar o que esta gostaria, e queas pessoas gerenciam esta sobrecarga de informaes com seus prprios esforos, sendonecessrio o uso de tecnologia para auxiliar na busca das informaes.

    Alm disso, muitas vezes no somos ns que procuramos pelas informaes,mas, ao invs disso, as recebemos atravs de correio eletrnico, boletins informativos,entre outros meios, podendo ser teis ou no. Freqentemente, pessoas que nosconhecem e que sabem de nossas preferncias, como amigos e familiares, nos sugereme fazem recomendaes sobre diversos assuntos, de acordo com nossos gostos pessoais,

    pois so eles que nos conhecem melhor.

    1Internet a rede mundial de computadores conectados para efetuar a troca de dados, notcias eoutras informaes.

    2Webou WWWso acrnimos de World Wide Web, que representa um sistema de servidores decontedo formatados atravs da linguagem de marcaoHTML . Web no sinnimo deInternet.

    3HTML(HiperText Markup Language) uma linguagem de marcao dos documentos na Webque possuem vnculos feitos por hiperligaes (hyperlinks) e cuja estrutura no separa contedo da forma.

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    12

    Nesses casos, contamos com o conhecimento que cada pessoa possui sobre umdeterminado assunto, isto , a sua experincia pessoal. Quando so consideradas asrecomendaes de pessoas com mais experincia em algum tema, a qualidade dainformao desejada tende a ser mais rica. No entanto, essas pessoas nem sempre esto

    por perto para nos dar dicas que sejam proveitosas.

    Neste contexto, uma soluo para trabalhar com as opinies de usurios quepossuem experincias em determinados assuntos e lidar com a sobrecarga deinformaes a utilizao de um tipo sistema chamado de sistema de recomendao.

    Os sistemas de recomendao so definidos, segundo Resnick e Varian (1997),como sistemas que auxiliam e aumentam a eficcia do processo natural derecomendaes boca-a-boca de livros, filmes, restaurantes, e todos os outros tipos derecomendaes possveis no nosso dia-a-dia, ou seja, atravs destes sistemas possvelrecomendar, aos usurios, produtos de uma determinada categoria, baseando-se noconhecimento e utilizaes prvias de outras pessoas presentes no sistema.

    Esses tipos de recomendao, como livros, filmes, restaurantes, softwares, ou

    seja, produtos ou servios, sero referenciados, daqui por diante, de produtos.Tendo em vista, esta definio, os resultados produzidos pelos sistemas de

    recomendao so recomendaes de produtos para os usurios, sendo que estes podemaceitar ou recusar estas recomendaes. Shardanand e Maes (1995) tambm afirmamque, medida que mais pessoas vo interagindo com o sistema, mais refinadas tornam-se as ofertas, trazendo uma maior satisfao entre os usurios e, conseqentemente,maior interao dos mesmos com o sistema.

    1.1 Objetivo do trabalho

    Tendo contextualizado os sistemas de recomendao, ser criado, ao longo destetrabalho, um prottipopara sistemas de recomendao de softwaresou outro produtoqualquer que possibilite fazer recomendaes a partir da anlise de interesse ecomportamento de uso de usurios pertencentes a uma sociedade de usurios. Este

    prottipo ser aplicado, em princpio, para fazer recomendaes de softwares, mastambm constituir um modelo para sua aplicao em diversos tipos de produtos.

    Conceituando, os interesses dos usurios so definidos como tudo aquilo que osmesmos registram de forma explcita, identificando seus interesses ou desinteressesdentro do sistema de recomendao. Como exemplo, pode ser citado o preenchimentode um cadastro pessoal ou de alguma outra informao, requisitada pelo sistema, que

    identifique as caractersticas ou o perfil da pessoa que proveu a informao.

    Os comportamentos de uso dos usurios constituem uma outra definio, pois osmesmos so identificados pelas aes que executam, de forma espontnea, dentro dosistema. Estas aes podem ser, por exemplo, a compra de um livro, o downloadde um

    softwareou qualquer outra ao disponvel para ser executada no sistema. As aes sotratadas como transaes de uso dos usurios, ou seja, cada usurio ter, ou no, umconjunto de registros que identifiquem o seu comportamento de uso no sistema,incluindo as aes de aceitao ou recusa das recomendaes oferecidas.

    Uma vez que o sistema se caracteriza pelas recomendaes baseadas nosinteresses e comportamentos de uso dos usurios, a definio da sociedade de usurios

    provm do conjunto de indivduos que esto cadastrados neste sistema e que, por meio

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    13

    de suas transaes de utilizao, so responsveis, de forma indireta, pelasrecomendaes aos demais usurios do sistema.

    Este prottipo ser implementado, especificamente, para produzirrecomendaes desoftwaresmediante a execuo de downloaddos mesmos, seguindo oexemplo de sites de download conhecidos, como o Tucows Downloads

    (www.tucows.com), Download.com (www.download.com), AOL Downloads(downloads.aol.com.br) e Superdownloads (superdownloads.ubbi.com.br), queoferecem diversos softwares para download de forma gratuita. A implementaocontemplar a recomendao dos softwares cadastrados no sistema pelos usurios quetambm estiverem cadastrados nele.

    Inicialmente, ser necessrio criar uma interface funcional para fazer ocadastramento de usurios no sistema, assim como uma interface para registrar os

    softwaresutilizados pelos usurios.

    As pessoas cadastradas neste sistema sero analisadas conforme seus interesses ecomportamentos, de forma conjunta, mas as recomendaes sero oferecidas de maneira

    bem especfica. Os interesses sero identificados pelas preferncias iniciais retiradas docadastro de cada usurio, enquanto que o comportamento ser obtido pela interao domesmo com o sistema, ou seja, pelas aes de downloadfeitas pelos usurios e os atosde aceitar ou negar as recomendaes desoftwares.

    O processo de recomendao seguir, inicialmente, com base nos interessesexplicitados pelos usurios e, medida que houver uma maior utilizao ou interaocom o sistema, o comportamento dos usurios ser analisado para identificarrecomendaes mais especficas para os mesmos.

    Utilizando tcnicas de minerao de dados para guiar a descoberta dos padresdesses interesses e comportamentos, este prottipo ser construdo de forma que possaser adaptado para sistemas que recomendem diversos tipos de produtos, ou seja, com

    pequenos ajustes, o sistema poder recomendar livros, itens de supermercados, notciase outros tipos similares.

    Todas as interaes dos usurios no sistema, desde o seu cadastro at a aceitaoou negao das recomendaes realizadas, sero feitas atravs de simulaes. Estassimulaes, no contexto deste trabalho, sero executadas atravs de programas comfunes de gerao de valores aleatrios, respeitando o domnio dos dados a seremgerados, ou seja, se os valores a serem escolhidos pertencem a um domnio especfico,este dever ser respeitado.

    Para enviar as recomendaes aos usurios de uma forma menos incmoda, sercriado um agente de comunicao, utilizando uma interface de tecnologia push4. Destaforma, no ser necessrio interromper a atividade que estiver fazendo para aceitar ourecusar alguma recomendao.

    O principal diferencial da proposta do presente trabalho, em relao aos sistemasde recomendao existentes, que, enquanto a maioria dos sistemas de recomendaose concentra somente na tarefa de analisar padres de compra ou utilizao de produtos,este prottipo traz um maior enfoque sobre o usurio do sistema, utilizando uma

    4 Tecnologiapush ou webcasting um termo tcnico que representa a transmisso, via rede, de

    informaes especficas para pessoas, de forma individual.

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    14

    abordagem hbrida, que analisa tanto os interesses dos usurios, quanto os padres decomportamento de uso das pessoas na caracterizada sociedade de usurios.

    Este trabalho apresenta-se organizado em seis captulos, incluindo este captulode introduo. No captulo 2, ser desvendado o termo sistemas de recomendao ealgumas das tecnologias utilizadas para filtragem de informaes baseadas em contedo

    e filtragem de informaes colaborativas. Ainda, sero mostrados alguns exemplos desistemas de recomendao existentes no meio acadmico e comercial.

    O captulo 3 apresentar conceituaes envolvendo a minerao de dados e suaimportncia nos sistemas de recomendao. Alm das conceituaes, sero mostradas asferramentas de minerao de dados utilizadas, bem como os algoritmos selecionadosnestas ferramentas.

    J o captulo 4 tratar do prottipo em si e dos passos para sua execuo, atravsdas tecnologias de servidor Web, das linguagens de programao e do banco de dados.Tambm ser mostrado um modelo base de sistemas de recomendao para produtosquaisquer.

    O captulo 5 mostrar a aplicao do sistema atravs da utilizao de dadosartificiais e os resultados produzidos pelo prottipo implementado.

    E, por fim, no captulo 6, ser apresentada a concluso e algumas expectativasde trabalhos futuros.

    1.1.1 Objetivos intermedirios

    Considerando o objetivo principal do trabalho que criar um prottipo de umsistema de recomendao baseado nos interesses e no comportamento de uso dos

    usurios, so traados alguns objetivos intermedirios para a sua efetivao. So eles: desenvolver interface de cadastramento e coleta de dados dos usurios para

    montagem de perfis iniciais;

    desenvolver interface de captura das aes dos usurios para a construo deuma base de histrico destas aes;

    aplicar a tarefas de minerao de dados por regras de classificao eassociao sobre a base de dados para descobrir conhecimento;

    criar agente de comunicao atravs da tecnologia push para exibirnotificaes de novas recomendaes ao cliente;

    desenvolver uma base de dados artificial atravs da simulao de valorespara testar a usabilidade do sistema.

    Neste captulo foram apresentadas as questes problemticas referentes grandequantidade de informao disponibilizada no meio digital, principalmente, pelaInternet,e a dificuldade de resgatar essas informaes sem que se percam vrias horas buscandoo que se quer. A soluo, a que o presente trabalho se prope, est baseada na criao deum prottipo de sistema de recomendao e apresentao de um pequeno modeloadaptvel a outros sistemas de recomendao.

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    15

    2 Sistemas de RecomendaoConsiderando que a tarefa de buscar por informaes, que sejam do nossointeresse, extremamente desgastante no meio digital, devido ao grande volume decontedo armazenado na grande rede, aInternet, necessrio descobrir alguma maneirade reduzir o tempo de busca e aumentar a qualidade das informaes desejadas, ou seja,fazer com que sejam buscadas informaes mais precisas sobre o assunto desejado. Paraauxiliar neste processo de filtragem de informaes relevantes, utiliza-se a tecnologiaconhecida como sistemas de recomendao.

    2.1 Definindo sistemas de recomendao

    Os sistemas de recomendao so sistemas que esto programados paragerenciar as preferncias e aes de cada usurio do sistema e para oferecerrecomendaes de novos produtos a estas pessoas, de acordo com algumas prefernciasencontradas nas relaes entre usurios e/ou produtos, ou seja, regras que indiquemsimilaridades entre os gostos ou padres de compras dos usurios. Resnick e Varian(1997) afirmam que os sistemas de recomendao ajudam os usurios que se deparamcom um enorme conjunto de produtos, identificando os que melhor representam osgostos e preferncias de cada usurio.

    Conforme Herlocker (2000), os sistemas de recomendao servem como umainterface para as tecnologias de recuperao e filtragem de informao, e concentram-sena predio de itens ou partes de informaes que sero teis ou interessantes para ousurio.

    As principais foras dos sistemas de recomendao concentram-se no perfil dosusurios, em que so identificadas as preferncias das pessoas cadastradas no sistema, enas interaes dos usurios com o sistema, que produzem o relacionamento dos mesmosem uma abordagem colaborativa.

    A identificao de similaridades entre os gostos dos usurios faz com que sejapossvel agrup-los ou classific-los e, a partir disto, gerar recomendaes de acordo

    com as relaes encontradas. medida que os usurios forem refinando as suaspreferncias, atravs do seu uso, podem mudar seu perfil inicial e tambm recebermelhores recomendaes do sistema. O sucesso de um sistema de recomendao estdiretamente ligado a sua utilizao, ou seja, quanto mais usurios colaborarem nosistema, mais exatos sero os relacionamentos entre os perfis cadastrados e assimilaridades encontradas entre os usurios e suas aes de utilizao, gerando, destaforma, recomendaes com maior preciso. Desta forma, destaca-se a importncia daintegrao entre usurios e o prprio sistema de recomendao

    Os sistemas de recomendao, como dito anteriormente, existem para suprir asdificuldades na busca por informaes na Internet, devido ao grande volume de

    contedo existente neste meio. Normalmente, utilizam-se duas abordagens diferentes

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    16

    para obter as informaes desejadas: a recuperao de informao e a filtragem deinformao, sendo, esta ltima, a mais utilizada.

    A recuperao de informao, segundo Robertson apudBelkin e Croft (1992),caracteriza-se por guiar o usurio para os documentos que satisfaam as suasnecessidades. Este tipo de busca muito encontrado em sites que possuem os seus

    contedos dispostos em categorias e subcategorias, na forma de uma rvore de pesquisa,partindo de um assunto amplo e reduzindo seu escopo medida que os galhos da rvoreso alcanados. Estas rvores de busca so muito utilizadas por pessoas que esto certasdo que desejam buscar, porm de uma forma mais ampla e no um assunto muitoespecfico.

    Buscas desta natureza, s vezes, so dificultadas pela composio de suaestrutura e tornam o processo mais lento quando as descries das categorias esubcategorias esto mal representadas ou quando sofrem interpretaes ambguas (porexemplo, uso de sinnimos), transformando-se em verdadeiros labirintos para seususurios.

    Diferentemente da recuperao de informao, Belkin e Croft (1992) afirmamque a abordagem da filtragem de informao representa uma gama de processosresponsveis pela entrega da informao s pessoas que necessitam dela, baseada no

    perfil do usurio. A filtragem de informao est presente nos inmeros mecanismos debusca dispostos na Internet. Com eles, os usurios podem fazer buscas por palavras oufrases de acordo com os seus gostos ou necessidades, em busca de um resultadoespecfico.

    Alguns dos mecanismos de busca possuem, alm das tradicionais buscas porpalavras, expresses de busca que fazem refinamento por tipos de arquivos, porperodos de tempo e por buscas com o uso de coringas5.

    2.2 Tcnicas aplicadas

    O conceito de filtragem de informao possui desdobramentos que representamdiferentes tcnicas de filtragem, as quais tomam, como base, os usurios pertencentes aocontexto da busca. A seguir, sero explicitados dois tipos de filtragem conhecidos comoFiltragem Baseada em Contedo e Filtragem Colaborativa.

    2.2.1 Filtragem Baseada em Contedo

    A Filtragem Baseada em Contedo (FBC) identificada pela recomendao deprodutos, baseada na correlao entre o contedo dos mesmos e as preferncias dosusurios. Herlocker (2000) afirma que esta filtragem pode ser definida como umaanlise feita para a identificao dos produtos a serem recomendados, de acordo com o

    perfil de caractersticas dos produtos definido pelo usurio.

    Para identificar os gostos dos usurios, muitos sistemas possuem cadastros quequestionam suas preferncias. Mas tambm existem outros casos em que os perfis dosusurios podem ser identificados atravs da utilizao dos sistemas, constatados pelo

    5 Coringas so caracteres especiais que se caracterizam por representarem quaisquer outroscaracteres possveis dentro de uma expresso.

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    17

    uso ou interesse em utilizar. Em ambas as situaes, so geradas informaes referentess preferncias dos usurios, as quais podem ser comparadas com as informaes dosistema, a fim de filtrar os produtos de forma correta, a serem recomendados de formaindividual.

    Entretanto, esta filtragem, baseada em contedo, no consegue tratar casos que

    lidam com arquivos multimdia, como imagens, msicas e vdeos, por no serem dadosestruturados. Outra dificuldade deste tipo de filtragem a anlise de sinnimos, que

    pode produzir resultados diferentes para palavras com o mesmo significado.

    2.2.2 Filtragem Colaborativa

    A Filtragem Colaborativa (FC), tambm conhecida como Filtragem Social,mostra uma abordagem mais personalizada de apresentar as informaes. Esta filtragemest presente quando outras pessoas ajudam a avaliar a informao mais importante nocontexto da busca.

    Em se tratando de recomendaes, Shardanand e Maes (1995) afirmam que afiltragem de informao social automatiza o processo de recomendaes boca-a-bocaentre os usurios, ou seja, os itens so recomendados a um usurio de acordo com asavaliaes de usurios de preferncias similares, baseando-se no relacionamento entreas pessoas e suas opinies, seguindo o exemplo das recomendaes que so recebidasna realidade.

    Porm, o uso deste tipo de filtragem depende de um nmero considervel deusurios e de avaliaes das informaes para que sejam produzidos resultados de boaqualidade, ou seja, sistemas de recomendao com poucos usurios no produzem bonsresultados somente com a Filtragem Colaborativa.

    2.2.3 Filtragem Hbrida

    Tanto na FBC como na FC existem problemas que dificultam as buscas porresultados confiveis. Os autores Balabanovic e Shoham (1997) sugerem umaabordagem, chamada de Filtragem Hbrida (FH), para poder solucionar tais problemas.

    Essa abordagem constituda de vantagens proporcionadas pela FBC e pela FC,unindo o melhor dos dois mundos e eliminando as fraquezas de cada uma, conformeexpressado pela figura 1.

    Figura 1 Filtragem Hbrida.

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    18

    2.3 Exemplo de sistemas de recomendao

    A seguir, sero apresentados alguns exemplos de sistemas de recomendao queutilizam as diferentes abordagens de filtragem citadas. Estes sistemas, criados naacademia e no meio comercial, atuam de forma real e produzem bons resultados,comprovando o seu bom desempenho para gerar recomendaes.

    2.3.1 Ringo

    Ringo um sistema de recomendao que foi desenvolvido por Shardanand eMaes (1995) no Massachusetts Institute of Technology(MIT), com o objetivo de fazerrecomendaes personalizadas de msicas, baseadas em Filtragem Colaborativa deinformaes.

    Neste sistema, a recomendao desencadeada a partir da avaliao inicial dealgumas msicas, lbuns e artistas pr-selecionados, que servem para montar o perfilinicial do usurio. Aps este passo, so feitas recomendaes ao usurio, baseadas na

    comparao de gostos similares de outros usurios. Feitas as recomendaes, o usuriotem condies de qualificar as mesmas, a fim de aprimorar o seu perfil e, com isso,receber melhores recomendaes.

    2.3.2 GroupLens

    O projeto de pesquisa GroupLens foi desenvolvido na Universidade deMinnesota, por Herlocker et al (1997). O GroupLens foi projetado, implementado eavaliado como um sistema de Filtragem Colaborativa para uma usenet news6, ousimplesmente news, com o propsito de ajudar a encontrar artigos mais adequados paraos usurios dentre os grandes volumes de informao, neste caso, na forma de artigos,contidos em um sistema de news.

    O sistema funciona com base na predio de artigos para os usuriosparticipantes da comunidade. Com base na avaliao dos artigos lidos pelos usurios,so computadas as notas dos usurios (valores de 1 at 5) para uma futura comparaoentre as avaliaes. Esta comparao tem o objetivo de encontrar as avaliaes queesto correlacionadas e, com isso, predizer os artigos mais adequados a um determinadousurio.

    2.3.3 Fab

    O sistema Fab, desenvolvido por Balabanovic e Shoham (1997) na Universidadede Stanford, tem, como principal caracterstica, a unio das abordagens de FiltragemColaborativa e Filtragem Baseada em Contedo, constituindo, assim, uma abordagemhbrida para unir os melhores atributos de ambas.

    Este sistema tem como objetivo recomendar, aos usurios, documentosencontrados na Web, com base no contedo destes documentos. Enquanto que aFiltragem Baseada em Contedo procura combinar o conhecimento e a experincia

    6 Usenet um sistema que distribui mensagens para vrios lugares do mundo. Usenet Newssimilar ao e-mail (electronic mail), exceto que a mensagem escrita por uma pessoa no enviada paratodos os destinatrios. Ao invs disso, ela fica armazenada somente no servidor, disposio de quemestiver interessado em l-la.

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    19

    pessoal para criar o perfil dos usurios e identificar as similaridades, a FiltragemColaborativa concentra seus esforos para identificar as correlaes e fazer asrecomendaes.

    2.3.4 Amazon.comTM

    O site de comrcio eletrnico da Amazon.comTM, disponvel em

    www.amazon.com, possui algumas variaes de sistemas de recomendao. Riedl et al(2000) mostram estas variaes, destacando as caractersticas de cada uma delas:

    clientes que compraram: so dois tipos de listas de recomendao separadas. Aprimeira, recomenda livros freqentemente comprados pelos clientes queadquiriram o livro selecionado; a segunda, recomenda autores cujos livros sofreqentemente comprados por clientes que adquiriram trabalhos de acordo como autor do livro selecionado;

    suas recomendaes: os clientes qualificam os livros lidos em uma escala de 1 a5, variando de eu odeio isto a eu adoro isto. Aps a avaliao de umconjunto de livros, os clientes podem requisitar recomendaes de livros que lheagradem;

    olhos: permite aos clientes receberem e-mails sobre novos itens que foramadicionados no catlogo. Os clientes selecionam as informaes, como autor,ttulo, assunto, entre outros, ou utilizam o formato avanado com operadores

    boleanos (and/ or) para filtragem de notificaes;

    amazon.com entrega: os clientes selecionam, em caixas de seleo (checkbox),os itens de uma lista de categorias e gneros especfica. Periodicamente, oseditores da Amazon.comTMenviam as suas ltimas recomendaes, por e-mail,

    para os inscritos em cada categoria;

    idias de presentes da livraria: permite aos clientes receber recomendaes doseditores. Os clientes escolhem uma categoria de livros para as quais gostariamde receber algumas sugestes;

    comentrios dos clientes: permite aos clientes receberem recomendaes, emformato textual, baseadas em opinies de outros clientes que, por sua vez,tambm podem ser qualificadas em uma escala de 1 a 5.

    2.3.5 eBayTM

    Assim como no site da Amazon.comTM, o sitede leiles on-line eBay.comTM,acessvel no endereo www.ebay.com, possui mais de uma variao de sistemas derecomendao, tambm apresentado por Riedl et al(2000). So elas:

    direito de resposta: permite aos compradores e vendedores avaliar o seu parceirode negcio de acordo com o grau de satisfao da transao de compra. Isto gerauma pontuao que demonstra a confiabilidade de cada negociante. Quanto mais

    positiva a pontuao, mais confivel o negociante, e quanto mais negativa apontuao, menos confivel o negociante;

    comprador pessoal: permite aos clientes indicar os itens que eles tm interesse

    em comprar, para que, em uma periodicidade definida, o sitepossa enviar osresultados da busca por esses itens.

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    20

    Este captulo apresentou conceituaes sobre os sistemas de recomendao,mostrando as vantagens geradas por este tipo de sistema. Tambm se observou como

    podemos obter as informaes que desejamos, detalhando os tipos de filtragemexistentes (baseada em contedo, colaborativa e hbrida), com as vantagens edesvantagens conseqentes da utilizao de cada uma. Por fim, foram apresentados

    alguns sistemas de recomendao bem conceituados no meio acadmico e comercial,para avaliar o estado da arte em relao a este tipo de sistema.

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    21

    3 Minerao de DadosNa atualidade, a quantidade de informao disponvel para download na redemundial imensa e tende a aumentar cada vez mais com a digitalizao dos processos

    burocrticos. Muitas empresas possuem bancos de dados que armazenam estaenormidade de dados, e praticamente impossvel digerir os mesmos na busca porinformaes que contenham alguma oportunidade ou vantagem competitiva. Paraagilizar esta busca, utilizam-se tcnicas de minerao de dados ou data mining.

    No entanto, a simples utilizao destas tcnicas, muitas vezes, no o bastantepara encontrar informaes valiosas, sendo necessria a execuo de um processamento

    prvio e posterior sobre os dados, para que seja extrado um novo conhecimentorelevante no contexto de sua aplicao.

    3.1 O Processo de Descoberta de Conhecimento

    Fayyad et al (1996) propem o processo denominado Descoberta deConhecimento em Bancos de Dados (DCBD), tambm conhecido como Knowledge

    Discovery in Databases (KDD), para automatizar a busca por algum conhecimento, ouseja, algo que no se sabia antes da aplicao do DCBD.

    Figura 2 Processo de DCBD por Fayyad el al(1996).

    A figura 2 mostra os passos para uma correta execuo do correta do DCBD,conforme seus criadores Fayyad et al (1996). Seguindo a seqncia do processo,

    primeiro deve-se selecionar os dados aos quais se quer submeter anlise. Em seguida,ocorre a limpeza dos dados selecionados e a eliminao de rudos existentes, como, porexemplo, completar campos em branco e eliminar registros dispensveis para a anlise.Aps esta etapa, os dados sofrem uma transformao, ou seja, eles so ajustados paraservirem como entrada (input) na aplicao da minerao de dados, tambm conhecida

    como data mining. nesta etapa de minerao de dados que ocorre todo oprocessamento de dados, muitas vezes demorado, para que se descubra algumanovidade que possa ser aproveitada.

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    22

    Todo o processo de DCBD necessrio, pois os bancos de dadosorganizacionais possuem muitas informaes que so inconsistentes ou no relevantes

    para a finalidade da busca de conhecimento. Este est representado, na maioria dasvezes, na forma de algum padro ou regra encontrada nos dados analisados e que possuiuma certa probabilidade de ser vlida para um conjunto de dados.

    O DCBD pode ser aplicado em vrias reas do conhecimento, mas importantesalientar que os resultados, na maioria das vezes, devem ser analisados por umespecialista, aps a descoberta do conhecimento, a fim de tentar identificar o querealmente novo e o que j se sabia antes da aplicao do DCBD.

    Por exemplo, em um hospital pode-se aplicar o DCBD para descobrir um padrode tratamento em relao a uma determinada doena. Um outro exemplo, seria comrelao a uma operadora de crdito, na qual deseja-se aplicar o processo de DCBD paradescobrir algum padro de perfil para clientes inadimplentes. Em ambos os casos, umespecialista da rea onde foi aplicada a minerao de dados dever analisar os padresencontrados, para verificar se o conhecimento descoberto poder ser utilizado ou no.

    A funo do DCBD no de nos fornecer a resposta correta, mas, sim, de tentardescobrir padres e oportunidades em grandes volumes de dados, onde a anlise dosdados de forma manual seria quase impossvel.

    A minerao de dados possui vrias tcnicas que podem ser aplicadas sobrebancos de dados e que servem para propsitos especficos de extrao de conhecimentodestas bases. De uma forma geral, pode-se utilizar tcnicas de classificao,clusterizao, associao ou previso de sries temporais.

    Alm de aplicar essas tcnicas de modo individual, pode-se combin-las paraproduzir um nico resultado, encadeando as mesmas de forma sistmica, em que oresultado da aplicao de uma tcnica serve como entrada para a prxima, e assimsucessivamente.

    Neste trabalho, sero abordadas, especificamente, as tcnicas de minerao dedados referentes classificao e associao para a construo do prottipo de umsistema de recomendao.

    3.2 Tcnicas de Minerao de Dados

    As tcnicas de classificao e associao so utilizadas para descobrir novosconhecimentos, representados atravs de regras de classificao ou regras de associao.

    As regras encontradas significam padres de ocorrncia de certos valores na base dedados e possuem um determinado percentual de veracidade ou qualidade para cada umadas regras.

    A seguir, sero apresentados os detalhes de algumas tcnicas existentes paradescobrir as regras de classificao e associao.

    3.2.1 Regras de Classificao

    A classificao, conforme Lopes (1999), tem como funo descobrir umarelao entre vrios atributos preditivos e um atributo objetivo, com a inteno de gerar

    um novo conhecimento que ajude a prever o resultado da ocorrncia de um conjunto de

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    23

    atributos, ou seja, ela tenta gerar uma ou mais regras de classificao que definam ascombinaes de atributos que predizem algo em relao ao atributo objetivo.

    Para uma melhor compreenso, antes de vermos as regras de classificao, deve-se conhecer a sua origem, que so as rvores de deciso. As rvores de deciso e asregras de classificao tm o mesmo significado, porm a primeira possui uma

    representao mais legvel aos olhos humanos quando o nmero de regras menor,enquanto que a segunda trabalha com lgica pura, sendo, assim, mais fcil de seremaplicadas em sistemas informatizados, podendo ser mais bem compreendidos quandoexiste uma grande quantidade de regras geradas.

    Quinlan (1993) afirma que as rvores de deciso so formas simples pararepresentar a classificao de uma base de dados, mas quando so muito extensas,tornam-se difceis de serem compreendidas.

    Uma rvore de deciso definida pela estrutura de nodos, galhos e folhas,conforme representado pela figura 3.

    Figura 3 Estrutura das rvores de deciso.

    Pode-se observar melhor a relao entre rvores de deciso e regras declassificao atravs do exemplo a seguir.

    A tabela 1 apresenta um formulrio de pessoas que compraram ou no algumproduto em uma loja. Neste caso, os atributos preditivos so definidos como sexo, pasde origem e idade. J o atributo objetivo est representado como sendo o fato da pessoater comprado ou no um produto.

    Tabela 1 - Atributos preditivos e atributos objetivos.Atributos Preditivos Atributo ObjetivoSexo Pas Idade Comprou?Masculino Frana 25 SimMasculino Inglaterra 21 SimFeminino Frana 23 SimFeminino Inglaterra 34 SimFeminino Frana 30 NoMasculino Alemanha 21 NoMasculino Alemanha 20 NoFeminino Alemanha 18 No

    Feminino Frana 34 NoMasculino Frana 55 No

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    24

    O que se quer descobrir aqui um padro de compra de produto, ou seja, quecaractersticas (atributos preditivos) so freqentes nas pessoas que compram e que nocompram (atributo objetivo) na loja em questo.

    A figura 4 representa a rvore de deciso na qual foi aplicada a tcnica declassificao sobre os dados da tabela 1.

    Figura 4 rvore de deciso.

    A rvore de deciso mostra, de forma legvel, as seguintes regras de

    classificao descobertas: Se (Pas = Alemanha) ento Comprou = No

    Se (Pas = Inglaterra) ento Comprou = Sim

    Se (Pas = Frana e Idade 25) ento Comprou = No

    Para executar a minerao de dados, seguindo a tcnica de classificao, existemdiversas ferramentas e algoritmos que geram rvores de deciso e regras baseadas nestas

    rvores. Quinlan (1993) criou a ferramenta C4.5, que contm algoritmos para gerarestas rvores e regras. Mais adiante, na seo 3.3.1, esta ferramenta, ser vista com maisdetalhes.

    3.2.2 Regras de Associao

    Diferentemente da classificao na associao, no existem atributos preditivose nem atributo objetivo para executar a gerao das regras. A associao tem, porobjetivo, tentar encontrar, como o prprio nome diz, associaes entre os atributosexistentes e, a partir disto, gerar regras que representem estas associaes. As regrasdescobertas so conhecidas como regras de associao.

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    25

    Segundo Agrawal (1993), as regras de associao determinam padres derelacionamento entre os conjuntos de dados do domnio da aplicao e que ocorremcom uma determinada freqncia na base de dados. O autor tambm apresenta umalgoritmo chamado de algoritmo apriori, que uma das formas mais conhecidas paraextrair regras de associao de um banco de dados. Atravs deste algoritmo, podem ser

    descobertos novos conhecimentos utilizando os conceitos de suporte e confiana paravalidar e verificar a qualidade das regras, ou seja, dos padres encontrados.

    Para uma melhor compreenso dos conceitos, pode-se afirmar que, sendo X e Yatributos de um conjunto de dados N, o suporte e a confiana podem ser definidoscomo:

    Suporte | XY | / | N |

    Confiana | XY | / | Y |

    Sendo assim, o suporte representa o nmero de ocorrncias de X e Y ao mesmo

    tempo sobre o total de registros N avaliados, enquanto que a confiana significa onmero de ocorrncias de X e Y ao mesmo tempo em relao s ocorrncias de Y.

    Exemplificando os conceitos e o funcionamento da descoberta de conhecimentosobre as regras de associao atravs do algoritmo apriori, ficar mais fcil a suacompreenso. Abaixo, mostra-se a tabela 2 com vrios registros, simulando diversascestas de compras em um supermercado:

    Tabela 2 Cesta de compras de vrios itens.

    Leite Caf Cerveja Po Manteiga Arroz FeijoNo Sim No Sim Sim No No

    Sim No Sim Sim Sim No No

    No Sim No Sim Sim No No

    Sim Sim No Sim Sim No No

    No No Sim No No No No

    No No No No Sim No No

    No No No Sim No No No

    No No No No No No Sim

    No No No No No Sim Sim

    No No No No No Sim No

    A partir desta cesta de compras, foi definido que ela deve ter um suporte mnimode 30%. O suporte mnimo significa que ser indicado o percentual mnimo que se quer

    para que um conjunto de itens pertena ao total de registros do banco de dados.

    Todas as combinaes de atributos avaliados que combinam com o suportemnimo, ou seja, que ocorrem com, no mnimo, 30% de vezes em relao ao total de

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    26

    registros, so chamados de conjuntos freqentes. Os conjuntos avaliados e os conjuntosfreqentes podem ser observados na tabela 3.

    Tabela 3 - Conjuntos freqentes.

    Conjuntos Avaliao de suporte Conjuntos freqentes (suporte 30%)

    1 registro

    Suporte (leite) = 2Suporte (Caf) = 3Suporte (Cerveja) = 2Suporte (Po) = 5Suporte (Manteiga) = 5Suporte (Arroz) = 2Suporte (Feijo) = 2

    Suporte (Caf) = 30 %Suporte (Po) = 50 %Suporte (Manteiga) = 50 %

    2 registrosSuporte (Caf, Po) = 3Suporte (Caf, Manteiga) = 3Suporte (Po, Manteiga) = 4

    Suporte (Caf, Po) = 30 %Suporte (Caf, Manteiga) = 30 %Suporte (Po, Manteiga) = 40 %

    3 registros Suporte (Caf, Po, Manteiga) = 3 Suporte (Caf, Po, Manteiga) = 30%

    Verificando a tabela 3, nota-se que os atributos so analisados de formaindividual, com o objetivo de descobrir se so conjuntos freqentes em relao aosuporte mnimo de 30%. Aqueles que so identificados como conjuntos freqentes,

    passam a serem analisados dois a dois, trs a trs, e assim por diante, at que se esgotemas possibilidades de combinaes pertencentes ao suporte mnimo. No final dasoperaes, todos os conjuntos freqentes esto identificados e prontos para seremvalidados em relao confiana da regra.

    A confiana significa que ser indicado o percentual mnimo desejado para queum conjunto freqente se relacione com os seus itens. Neste caso, ser definida anecessidade de uma confiana de 80% para que a regra seja vlida, conforme mostradona tabela 4.

    Tabela 4 Regras vlidas com confiana de 80%.

    Conjuntos freqentes Regras vlidas (confiana 80%)

    Suporte (Caf, Po) = 30 %Suporte (Caf, Manteiga) = 30 %Suporte (Po, Manteiga) = 40 %

    Se (Caf) ento (Po) = 100%Se (Caf) ento (Manteiga) = 100%Se (Po) ento (Manteiga) = 80 %

    Suporte (Caf, Po, Manteiga) = 30% Se (Caf, Po) ento (Manteiga) = 100 %

    A implementao da tcnica de associao ocorre em vrias ferramentas ealgoritmos existentes. A ferramenta WEKA, apresentada por Witten e Frank (2000), um bom exemplo da utilizao desta tcnica. Na seo 3.3.2, ser mostrada, comdetalhes, esta ferramenta em particular e, em seguida, a sua implementao do

    algoritmo apriori.

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    27

    3.3 Ferramentas e algoritmos

    Atualmente, existem muitas ferramentas e algoritmos de minerao de dados,tanto para a rea comercial, como para a rea acadmica. Como este trabalho fruto de

    pesquisas para a academia, sero utilizadas as ferramentas C4.5 e WEKA, reconhecidasno meio acadmico.

    3.3.1 A ferramenta C4.5

    A ferramenta C4.5, criada por Quinlan (1993), possui o algoritmo c4.5, que uma evoluo de um algoritmo chamado ID3 e que minera dados de acordo com atcnica de classificao. Sua funo bsica a de gerar rvores de deciso e regras declassificao (regras de produo) a partir de uma base de dados qualquer.

    Esta ferramenta tem uma grande aceitao no meio acadmico e conhecida nos por sua velocidade para gerar rvores ou regras, mas tambm por sua portabilidade 7.Outra caracterstica que distingue a ferramenta C4.5 das demais o fato de trabalharcom valores contnuos, ou seja, valores numricos no definidos previamente de formaindividual.

    Para que o algoritmo c4.5 possa ser executado, existe a necessidade de construiros arquivos de entrada nos formatos definidos pelo autor.

    Um arquivo de entrada deve conter os dados a serem analisados, onde cada linhasignifica um caso individual, e cada caso contm os atributos preditivos separados porvrgula, sendo que o ltimo deve ser o atributo objetivo. A figura 5 mostra um exemplodesse arquivo, com informaes sobre a possibilidade de uma partida de golfe ocorrer.

    Figura 5 Arquivo contendo os dados a serem analisados.

    Como se pode observar, existem informaes sobre o tempo, temperatura,unidade, vento (atributos preditivos) e a ocorrncia de jogos ou no (atributo objetivo),

    7Portabilidade significa que uma aplicao portvel para diferentes sistemas operacionais, ouseja, a aplicao com um mnimo de esforo pode ser utilizada em alguns sistemas operacionais.

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    28

    gravados em um arquivo com a extenso data, ou seja, o arquivo golf.data, tambmchamado de base de treinamento, contm os dados a serem analisados pela C4.5.Alm disso, existe ainda a possibilidade de armazenar parte dos dados para testesfuturos sobre a classificao gerada (base de testes), o que pode ser feito separando-seum pequeno percentual (mais ou menos 10% do total de linhas) e gravando o mesmo

    arquivo com a extenso test, no caso golf.test. A criao de arquivos para testes importante para verificar a qualidade das regras geradas pelo algoritmo.

    Um outro arquivo de entrada, contendo os valores possveis de cada atributo, necessrio para a execuo do algoritmo C4.5. Este arquivo possui a extenso names,e deve conter, na primeira linha, os possveis valores do atributo objetivo, uma linha em

    branco de separao e os atributos preditivos com as possibilidades de valores naslinhas seguintes. Na figura 6 mostra-se a representao do arquivo golf.names,retratando as possibilidades de valores do arquivo golf.data.

    Figura 6 Arquivo contendo as possibilidades de valores dos atributos.

    Uma vez criados os arquivos de entrada necessrios e, eventualmente, o arquivode teste opcional, executam-se os programas da ferramenta, identificados abaixo, queutilizam o algoritmo c4.5:

    c4.5 gerador de rvores de deciso.

    c4.5rules gerador de regras de classificao (produo).

    Executando o gerador de rvores de deciso atravs da linha de comando abaixo,obtm-se a rvore de deciso, mostrada a seguir:

    $ c4.5 -f golf

    C4.5 [release 8] decision tree generator

    ----------------------------------------

    Decision Tree:

    outlook = overcast: Play (4.0)

    outlook = sunny:

    | humidity 75 : Don't Play (3.0)

    outlook = rain:| windy = true: Don't Play (2.0)

    | windy = false: Play (3.0)

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    29

    Observando os resultados, tem-se a representao de uma rvore de deciso quetambm pode ser mostrada na forma de regras. A linha de comando abaixo gera asregras de classificao, chamadas de regras de produo pelo autor. Aps a execuo docomando, apresenta-se o seu resultado.

    $ c4.5rules -f golf

    C4.5 [release 8] rule generator

    -------------------------------

    Rule 2: outlook = overcast

    -> class Play [70.7%]

    Rule 4: outlook = rain

    windy = false

    -> class Play [63.0%]

    Rule 1: outlook = sunny

    humidity > 75

    -> class Don't Play [63.0%]

    Rule 3: outlook = rain

    windy = true

    -> class Don't Play [50.0%]

    Default class: Play

    Evaluation on training data (14 items):

    Rule Size Error Used Wrong Advantage---- ---- ----- ---- ----- ---------

    2 1 29.3% 4 0 (0.0%) 0 (0|0) Play4 2 37.0% 3 0 (0.0%) 0 (0|0) Play

    1 2 37.0% 3 0 (0.0%) 3 (3|0) Don't Play3 2 50.0% 2 0 (0.0%) 2 (2|0) Don't Play

    Tested 14, errors 0 (0.0%)

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    30

    A matriz de confuso mostra como os valores foram classificados peloalgoritmo, alm da verdadeira classificao dos dados. No caso mostrado acima, noexiste diferenciao, pois o algoritmo classificou exatamente de acordo com a realidadedos dados, como se pode ver na tabela 5.

    Tabela 5 Matriz de confuso gerada.

    ClassificaoPlay Dont Play

    Play 9 0RealidadeDont Play 0 5

    No contexto do presente trabalho, a ferramenta C4.5 ser utilizada para aextrao de regras de classificao dos perfis dos usurios cadastrados no sistema derecomendao. Mais adiante, no captulo 4, isto ser discutido com mais detalhes.

    3.3.2 A Ferramenta WEKA

    Witten e Frank (2000), da Universidade de Waikato, na Nova Zelndia,apresentam a ferramenta WEKA como um poderoso utilitrio para minerao de dados,que est em constante desenvolvimento e aperfeioamento. A ferramenta WEKA noimplementa somente algoritmos para descobrir regras de associao, mas, sim, vriosalgoritmos de minerao de dados e aprendizagem de mquina. Entretanto, nestetrabalho, ser mostrado o algoritmo aprioripara a descoberta de regras de associao.

    Esta ferramenta foi construda de forma modular, utilizando a linguagem Java

    com uma interface grfica para tornar seu funcionamento mais amigvel, comomostrado na figura 7.

    Figura 7 Interface grfica da ferramenta WEKA.

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    31

    Assim como a ferramenta C4.5, a WEKA tambm possui uma formataoespecfica para os dados de entrada na ferramenta. Porm, os arquivos formatados

    podem ser aplicados para gerar resultados sobre qualquer algoritmo de mineraopresente na ferramenta. Outra diferena existente que na WEKA necessrio somenteum arquivo para produzir os resultados desejados.

    O arquivo da WEKA um tipo de arquivo textual, possui a extenso arff, econtm a seguinte estrutura:

    nome da relao que apenas indica o assunto representado pelos dados;

    sintaxe: @relation

    atributos da relao que informam quais os atributos existentes e ospossveis valores que podem ser aplicados a cada atributo;

    sintaxe: @attribute

    dados da relao que informam os valores de cada caso individual,representados pelas linhas, na seqncia da declarao dos atributos.

    sintaxe: @data (seguido dos valores nas linhas abaixo)

    Um exemplo desse arquivo, parecido com o exemplo da C4.5, pode serobservado na figura 8. Este arquivo, o weather.arff, reproduz atributos e dados queindicam quando o tempo est propcio para a prtica de jogos em campo aberto.

    Figura 8 Exemplo de arquivo utilizado na WEKA.

    Uma vez que o arquivo da WEKA est criado, possvel adicion-lo naferramenta, como pode ser observado na aba de pr-processamento (Preprocess) na

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    32

    figura 7. Aps este passo, seleciona-se o tipo de minerao de dados e aplica-se algumdos algoritmos existentes na ferramenta. A figura 9 demonstra a execuo e osresultados do algoritmo aprioriem busca de regras de associao.

    Figura 9 Execuo do algoritmo aprioripela interface grfica.

    Com uma confiana de 80% e um suporte de 5%, o algoritmo encontrou asseguintes regras de associao:

    1. humidity=normal windy=FALSE 4 ==> play=yes 4 conf:(1)

    2. temperature=cool 4 ==> humidity=normal 4 conf:(1)

    3. outlook=overcast 4 ==> play=yes 4 conf:(1)

    4. temperature=cool play=yes 3 ==> humidity=normal 3 conf:(1)

    5. outlook=rainy windy=FALSE 3 ==> play=yes 3 conf:(1)

    6. outlook=rainy play=yes 3 ==> windy=FALSE 3 conf:(1)

    7. outlook=sunny humidity=high 3 ==> play=no 3 conf:(1)

    8. outlook=sunny play=no 3 ==> humidity=high 3 conf:(1)

    9. humidity=normal 7 ==> play=yes 6 conf:(0.86)

    10. play=no 5 ==> humidity=high 4 conf:(0.8)

    Observa-se que somente so mostradas as regras, geradas pelo algoritmo apriori,que possuem o suporte e confiana selecionados. Alm disso, pode-se ver que o atributo

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    33

    resultante pode variar em cada caso, diferentemente da C4.5. As regras descobertaspodem ser mais bem entendidas quando esto representadas da seguinte forma:

    1. Se (UMIDADE=NORMALe VENTO=NO) entoJOGAR=SIM(Conf.: 100%)

    2. Se (TEMPERATURA=FRESCA) ento UMIDADE=NORMAL(Conf.: 100%)3. Se (TEMPO=NUBLADO) entoJOGAR=SIM(Conf.: 100%)

    4. Se (TEMPERATURA=FRESCAeJOGAR=SIM) ento UMIDADE=NORMAL(Conf.: 100%)

    5. Se (TEMPO=CHUVOSOe VENTO=NO) entoJOGAR=SIM(Conf.: 100%)

    6. Se (TEMPO=CHUVOSOeJOGAR=SIM) ento VENTO=NO(Conf.: 100%)

    7. Se (TEMPO=ENSOLARADOe UMIDADE=ALTA) entoJOGAR=NO(Conf.: 100%)

    8. Se (TEMPO=ENSOLARADOeJOGAR=NO) ento UMIDADE=ALTA(Conf.: 100%)

    9. Se (UMIDADE=NORMAL) entoJOGAR=SIM(Conf.: 86%)

    10.Se (JOGAR=NO) ento UMIDADE=ALTA(Conf.: 80%)

    A ferramenta WEKA, neste trabalho, ser utilizada para a extrao de regras deassociao do uso de produtos tratados como transaes dos downloads efetuados nosistema de recomendao. Isto ser apresentado com maiores detalhes no captulo 4.

    Este captulo apresentou conceituaes sobre o processo de DCBD, dandonfase na tarefa de minerao de dados. Tambm foram apresentadas algumas tcnicas

    de minerao que sero utilizadas no trabalho, mais especificamente as tcnicas declassificao e associao. Por fim, mostraram-se as duas ferramentas que sero usadasna confeco do prottipo. Para tratar da tcnica de classificao dos dados, foiapresentada a ferramenta C4.5 e, para cumprir a tarefa de encontrar associaes, foimostrada a ferramenta WEKA.

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    34

    4 Prottipo da aplicaoOs sistemas de recomendao, como vimos nos captulos anteriores, foramcriados para fazer recomendaes, de acordo com aquelas que recebemos no nosso dia-a-dia. Conseqentemente, o sucesso do sistema est ligado qualidade de suasrecomendaes, ou seja, as recomendaes devem ser feitas de forma a suprir asnecessidades dos usurios.

    A qualidade das recomendaes est vinculada aos tipos de filtragem que soaplicados para extrair determinadas informaes, e pelos algoritmos de minerao dedados que possibilitam a identificao das recomendaes. Neste trabalho, para gerar

    recomendaes de boa qualidade, foi adotada a abordagem da Filtragem Hbrida, a qualdivide-se em filtragens baseadas em contedo e filtragens colaborativas, para gerar asrecomendaes. Agregados a estas filtragens, so usados algoritmos de minerao dedados, conhecidos e bem conceituados pela comunidade acadmica, que possibilitamfazer descobertas de regras para recomendar produtos.

    Essas caractersticas definem a criao de um prottipo para sistemas derecomendao. Pressman (1995) define um prottipo como sendo o processo para criarum modelo de softwarea ser implementado no futuro, ou seja, o softwareter algumascaractersticas funcionais, mas precisa de mais algumas revises e implementaesadicionais para que todas as necessidades sejam supridas. Alm disso, o autor tambmmenciona que um prottipo pode ser utilizado para descobrir novos requisitos de

    softwareque no eram perceptveis at ento.

    No presente trabalho, foi criado um prottipo para sistemas de recomendao dedownload de softwares que pode ser adaptado para diversos tipos de sistemas derecomendao, com alguns pequenos ajustes. Tendo em vista a implementao deste

    prottipo, a seguir sero mostradas algumas tecnologias utilizadas para a suaconcretizao.

    4.1 Servidor Web

    Os servidores Web so aplicativos que provem, atravs do protocolo decomunicao HTTP8, pginas HTML para os computadores clientes que possuemconexo com a Internete algum aplicativo para visualizao destas pginas, chamadosWeb Browsers. Muitas vezes, a palavra servidor pode ser confundida, pois existem osaplicativos servidores que possuem a funo de prover servios, como o caso dosservidores Web, mas tambm existem servidores na forma de hardware, que soequipamentos especialmente preparados para suportar o processamento requisitado porcomputadores clientes. Sendo assim, um computador s desempenha o papel deservidor quando disponibiliza algum servio atravs de uma rede de comunicao.

    8 Protocolo de comunicao HTTP (Hyper Text Transfer Protocol) responsvel pelofuncionamento da Web, pois torna possvel a visualizao dos documentosHTML.

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    35

    O servidor Web, ou servidor HTTP, utilizado neste trabalho, foi o Apache(httpd.apache.org), que faz parte do Apache HTTP Server Project. Este um servidortotalmente livre e aberto para ser instalado e utilizado comercialmente. Segundo a

    Netcraft (news.netcraft.com), renomada empresa de estatsticas da Internet, o servidorWeb Apache foi o mais utilizado, no ms de setembro de 2004, com quase 70% dos

    servidores WebdaInternet.

    4.2 Linguagens

    As linguagens utilizadas na implementao deste prottipo foram escolhidaspara serem utilizadas em tarefas especficas, ou seja, cada uma destas linguagensdesempenha o papel pelo qual reconhecida, de forma eficiente e eficaz. Estaslinguagens so distribudas de forma aberta (open source) para desenvolvimento deaplicaes, e so reconhecidas por possurem boas qualificaes e grande utilizao nomeio acadmico e comercial.

    4.2.1 PHP

    A linguagem PHP (www.php.net), acrnimo dePHP: Hypertext Preprocessor, especializada na construo de pginas para a Web. Ela pode ser usada como linguagemde programao e mesclada com a linguagem HTML para produzir um resultadocombinado de informao com controles de programao, quando integrada ao servidor

    HTTP.

    Caracteriza-se por ser uma linguagem interpretada, ou seja, o cdigo escrito noprecisa ser compilado para gerar um programa executvel, mas simplesmente

    interpretado pelo servidor Web. Alm disso, ela possui uma forma de escrita que remetea algumas linguagens mais conhecidas como C, Java e Perl e diversas implementaesde conexo com bancos de dados.

    4.2.2 Perl

    Perl (www.perl.org) uma linguagem de programao interpretada, estvel emulti-plataforma, que distribuda de forma aberta atravs da GPL.9. Os programasescritos em Perl, tambm chamados de scripts Perl, podem ser utilizados para a

    programao e gerao de pginas HTML, mas o seu ponto mais forte o eficazprocessamento de textos.

    Esta linguagem possui caractersticas de outras linguagens como C, awk, sed, sh,e BASIC, entre outras. Ela possui interface de integrao com bancos de dados paraOracle, Sybase, Postgres, MySQL e outros. Ela ainda possui mais de 500 mdulosexternos que podem ser integrados e agregar novas funes linguagem atravs daCPAN(Comprehensive Perl Archive Network www.cpan.org), uma rede responsvel

    por gerenciar estes mdulos.

    9GPL, sigla de General Public License(Licena Pblica Geral), uma licena de softwarelivreque declara que ossoftwarespodem ser distribudos, copiados e modificados, permanecendo livres.

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    36

    4.2.3 Java

    Java uma linguagem de programao orientada a objetos, desenvolvida poruma pequena equipe de pessoas na Sun Microsystems (java.sun.com). Criadainicialmente com a finalidade de ser utilizada em eletrodomsticos, tornou-se popular

    pelo seu uso na Internet. Ela possui uma completa linha de APIs10 e um formato

    relativamente simples, os quais permitem o desenvolvimento de implementaes deforma mais rpida e fcil, com pouca probabilidade de conter erros.

    Programas em Java no so traduzidos para linguagem de mquina, comooutras linguagens compiladas, mas, sim, para uma representao intermediria,chamada de bytecodes, que, por sua vez, so interpretados pela Java Virtual Machine(JVM) disponvel para alguns sistemas operacionais. Os crticos da linguagem afirmamque, devido a esse processo, o cdigo interpretado Java tem baixo desempenho. Porm,sucessivos avanos tornaram a otimizao da Mquina Virtual Java (JVM) bastanteeficiente, diminuindo a diferena de performance entre Java e as linguagens compiladastradicionais.

    Outro problema apontado pelos crticos da linguagem que os bytecodesproduzidos pelos compiladores Java podem ser facilmente usados num processo deengenharia reversa para a recuperao do programa-fonte original, mas esta umacaracterstica que atinge em menor ou maior grau todas as linguagens compiladas.

    4.3 Banco de dados

    Dentre os Sistemas de Gerenciamento de Bancos de Dados Objeto-Relacional(SGBDOR) existentes no mercado de forma livre, percebe-se que o PostgreSQL

    (www.postgres.org) possui um grande potencial, principalmente, pelo seu constantedesenvolvimento de funes caractersticas de grandes bancos comerciais.

    Este SGBDOR, desenvolvido no Departamento de Cincia da Computao daUniversidade da Califrnia em Berkeley, possui caractersticas de bancos de dados degrande porte, suportando praticamente todas as construes do SQL como transaes,subconsultas, gatilhos, vises, integridade referencial de chave estrangeira e travamento(lock) sofisticado.

    O desenvolvimento do PostgreSQL livre e possui todo o seu cdigo-fontedisponvel em vrios repositrios da Internetpara que qualquer pessoa contribua com asua evoluo. Atualmente, este banco de dados compatvel com os sistemas

    operacionais Unix e Linux, mas est sendo portado para a plataforma Windows.

    4.4 Estrutura do prottipo

    O prottipo para sistemas de recomendao criado neste trabalho, possui umaestrutura que representa a sua essncia, representado pela figura 10. Esta estruturadivide-se em duas grandes partes: uma que produz recomendaes de maneira mais

    10API a abreviao de Application Program Interface (Interface de Aplicao Programvel) econtempla um conjunto de rotinas, protocolos e ferramentas para a construo de aplicaes de software.Uma boa API torna fcil o desenvolvimento de um programa, provendo todos os blocos para a suaconstruo. Assim, um programador s precisa unir estes blocos.

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    37

    abrangente (viso macro), e outra que gera as recomendaes de forma bem especfica(viso micro) para os usurios.

    Figura 10 Esquema do prottipo para sistemas de recomendao.

    As recomendaes que atingem os usurios de forma mais abrangente (visomacro), utilizam Filtragem Baseada em Contedo, por meio da tarefa de minerao dedados, para descobrir regras de classificao, com o objetivo de comparar os dadoscadastrais dos usurios e gerar recomendaes de novas categorias de softwarespara osmesmos. Essa etapa pode ser caracterizada pelos seguintes passos:

    cadastro de pessoas: tarefa executada pelos usurios que preenchem seucadastro em uma pgina Webpara serem armazenados em uma base de

    perfis dos usurios do sistema. Neste cadastro, necessrio que existaum campo de entrada que indique o grupo de produto preferido (atributo

    objetivo) do usurio, selecionado de forma nica e distinta;

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    38

    descoberta de novos grupos de produtos: uma vez que os perfis estoarmazenados, o sistema pode executar a minerao desses dados paradescobrir regras de classificao sobre o atributo objetivo (previamentedefinido) e, desta forma, a partir das prprias regras descobertas e deoportunidades identificadas pelo sistema, armazenar os novos grupos a

    serem recomendados para os usurios. Enquanto que as regrasdescobertas representam a pura aplicao da minerao de dados sobre operfil dos usurios, as oportunidades so variaes destas regras,eliminando um atributo preditivo para abranger um nmero maior deusurios, ou seja, tentar surpreender o usurio com um novo grupo de

    produtos a ser recomendado;

    recomendao de grupos de produtos: aps o registro das descobertas, osistema questiona os usurios sobre a veracidade destas descobertas,atravs de um agente de comunicao (detalhado mais adiante) comtecnologia push. O usurio, desta forma, tem condies de aceitar ou

    recusar recomendaes dos grupos de produtos encontrados. Uma vezque o usurio toma esta deciso, sua opo fica registrada no sistema,para que ele no seja questionado novamente sobre o mesmo assunto.

    Todos os usurios possuem, pelo menos, um grupo de produtos que socadastrados junto ao seu perfil inicial. Baseado neste grupo ou grupos de produtos queso feitas as recomendaes de produtos especficos (viso micro) para os usurios,utilizando-se de Filtragem Colaborativa para identificar semelhanas no uso destes

    produtos. Para uma melhor compreenso, sero traados os passos a serem seguidos:

    transaes de uso: o sistema possibilita que os usurios utilizem os

    produtos disponveis por meio de uma interface Web, e essas aes ficamregistradas para cada um deles, gerando, assim, um grande repositrio detransaes de uso. importante que cada uso esteja ligado a um usurioespecfico, para que se faa uma detalhada anlise individual de cada

    pessoa;

    descoberta de novos produtos: diferentemente das descobertas de gruposde produtos, a descoberta dos produtos em si feita atravs deassociaes encontradas entre os produtos usados pelos usurios, ou seja,o repositrio de transaes de uso submetido anlise para descobrirregras de associao. importante que o usurio possua, pelo menos, um

    grupo de produtos cadastrado, pois as regras sero geradas para cadagrupo especificamente, mantendo-se no escopo definido pelo prpriousurio. Uma vez descobertas, estas regras so cadastradas comorecomendaes de produtos a serem feitas para cada usurio. Somenteso cadastradas regras para produtos que o usurio ainda no usou;

    recomendao de produtos: novamente, aps o registro das descobertas,o sistema recomenda os produto aos usurios pelo mesmo agente decomunicao. Assim, o usurio tambm tem condies de aceitar ourecusar as recomendaes de produtos. Ao aceitar ou recusar arecomendao, o sistema registra a ao para que no haja duplicidadenas recomendaes.

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    39

    4.4.1 Estrutura do banco de dados

    Como mostrado no item 4.3, foi usado, neste trabalho, o banco de dadosPostgreSQL para armazenar todos os valores cadastrados e descobertos pelo sistema derecomendao. A figura 11, mostra o Diagrama de Entidade-Relacionamento (DE-R)utilizado.

    Figura 11 Diagrama E-R.

    A seguir, esto descritas as tabelas do sistema:

    PESSOA: cadastro dos usurios e os seus atributos ou interesses;

    CATEGORIA : descrio das categorias desoftwaredo sistema;

    CLASSIFICACAO: regras de classificao descobertas a partir da mineraodos interesses dos usurios (tabela pessoa);

    OFERTA: categorias de software aceitas, negadas pelos usurios e a serem

    recomendadas; SOFTWARE: descrio dossoftwaresdo sistema;

    DOWNLOAD: registro dos downloadsdesoftwaresfeitos pelos usurios;

    TRANSACAO: conjunto desoftwaresbaixados ou no, por usurio;

    ASSOCIACAO: regras de associao descobertas a partir da minerao docomportamento de uso (downloads) dos usurios;

    RECOMENDACAO: softwares aceitos, negados pelos usurios e a seremrecomendados.

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    40

    4.5 Metodologia aplicada

    Neste tpico, ser detalhada a metodologia que foi aplicada no presente trabalho,considerando o seu objetivo principal, que se constitui na construo de um prottipo

    para sistemas de recomendao de sitespara downloadde softwares, e os objetivosintermedirios para tornar possvel o cumprimento deste objetivo.

    Os objetivos intermedirios, necessrios para a construo do prottipo, sero,primeiramente, citados abaixo, em forma de itens bem definidos, para auxiliar no seuesclarecimento:

    desenvolver interface de cadastramento e coleta de dados dos usurios paramontagem de perfis iniciais;

    desenvolver interface de captura das aes dos usurios para a construo deuma base de histrico destas aes;

    aplicar a tarefas de minerao de dados por regras de classificao eassociao sobre a base de dados para descobrir conhecimento;

    criar agente de comunicao atravs da tecnologia push para exibirnotificaes de novas recomendaes ao cliente;

    desenvolver uma base de dados artificial atravs da simulao de valorespara testar a usabilidade do sistema.

    As etapas metodolgicas, definidas a seguir, representam uma execuo vivelpara a efetivao dos objetivos. Essas etapas apresentam-se de forma respectiva aosobjetivos citados acima:

    para a criao da interface de cadastro de usurios, ser utilizada alinguagem PHP, para que seja amigvel e multi-plataforma (via Web

    Browser), juntamente com a validao dos valores de entrada.Adicionalmente, o banco de dados PostgreSQL ser requisitado paraestabelecer a permanncia dos dados de forma estruturada;

    para a elaborao da interface representante das aes dos usurios, tambmdever ser usada a linguagem PHP, a fim de produzir um ambiente de fcilutilizao e propiciar a identificao dos usurios logados no sistema. Umavez identificados, os usurios podero usar esta interface para registrar asaes de downloadno banco de dados PostgreSQL da mesma forma que ocadastro de usurios;

    atravs das ferramentas C4.5 e WEKA, sero aplicadas as tarefas deminerao de dados, para descobrir as regras de classificao e associao,respectivamente. Estas regras iro ajudar a encontrar relaes no perfil dosusurios e nas suas aes de download, ou seja, na anlise de interesse ecomportamento de uso;

    o agente de comunicao ser criado atravs da utilizao de socketsJava naforma de cliente / servidor. Desta forma, o servidor aguarda conexo docliente atravs do login e senha do usurio, e envia as recomendaesencontradas para este usurio de uma forma discreta;

    a criao de scriptsautomatizados, com a utilizao da linguagem Perl, ir

    gerar todos os valores de forma aleatria, para simular dados reais.

  • 5/22/2018 Um prot tipo de aplica o para recomenda o de produtos baseado no interesse ...

    http:///reader/full/um-prototipo-de-aplicacao-para-recomendacao-de-produtos-baseado

    41

    4.6 Prottipo da aplicao

    Seguindo o modelo de sites de download, como o Tucows Downloads(www.tucows.com), Download.com (www.download.com), AOL Downloads(downloads.aol.com.br) e Superdownloads (superdownloads.ubbi.com.br), o prottipodo sistema de recomendao foi construdo para dar suporte aos usurios que utilizameste tipo de servio, ou seja, recomendarsoftwarespara os usurios cadastrados emsitesde