Uma aplicação para recomendação de produtos baseada no

Transcrição

Uma aplicação para recomendação de produtos baseada no
Uma aplicação para recomendação de produtos baseada
no interesse e comportamento de consumo do usuário
Fábio Bressler1, Silvio César Cazella2, Sandro José Rigo3
{fabio@bage, cazella@exatas, rigo@exatas}.unisinos.br
Centro de Ciências Exatas e Tecnológ icas
Universidade do Vale do Rio dos Sinos
São Leopoldo - RS - Brasil
Resumo
Este artigo apresenta uma visão a respeito da necessidade de termos as
informações desejadas de forma ágil e precisa. Esta visão retrata o nosso dia-a-dia,
onde recebemos recomendações de amigos para assistirmos um filme, lermos um
livro ou, até mesmo, experimentarmos a comida de um novo restaurante. Isto é o
que os autores denominam filtragem de informação social.
Retratando a vida diária, o artigo mostra os conceitos de sistemas de
recomendação com o objetivo de esclarecer o seu uso e a sua finalidade, bem como
os seus enfoques específicos em filtragem colaborativa e filtragem baseada em
conteúdo. O artigo também comenta sobre as aplicações que existem no meio
acadêmico e no meio comercial, destacando os pontos importantes de cada uma,
juntamente, com o enfoque de recomendação utilizado por cada uma delas.
Todos estes pontos são discutidos para introduzir o trabalho proposto como
um protótipo de um sistema de recomendação de softwares disponíveis para
download. Este protótipo baseia-se na análise dos interesses e padrões de
comportamento dos grupos de usuários que interagem com o sistema, visando fazer
recomendações pelas similaridades encontradas nos interesses declarados, nos
downloads efetuados e nas avaliações destes usuários a respeito dos softwares
adquiridos.
Palavras-Chave
Sistema de Recomendação, Filtragem de Informação, Mineração de Dados.
1
Aluno de graduação do curso de informática: habilitação em análise de sistemas da Unisinos.
Professor Msc. orientador do trabalho de conclusão.
3 Professor Msc. co-orientador do trabalho de conclusão.
2
1. Introdução
Com o advento da era da informação, surgiram novas formas de efetuar transações comerciais, mais
especificamente definidas como transações de comércio eletrônico. Shapiro (1999), afirma que a tecnologia
muda facilmente, mas a economia não, isto é, destaca-se a revolução na infra-estrutura informacional e na
tecnologia da informação e não as leis econômicas em si. O autor cita a Web como um impressionante
recurso informacional e comercial pela sua capacidade de proporcionar acesso imediato à informação.
Ainda nesta linha, Pine II (1994) afirma que existe um movimento que difere da tradicional produção
em massa. A nova era exige negócios que sejam mais competitivos, onde a antiga fabricação de produtos
padronizados em larga escala não servem mais. O autor afirmaque, para atender a um mercado dinâmico e
homogêneo, as organizações estão fabricando seus produtos, não apenas com maior qualidade e custos
mais baixos, mas também com maior variedade.
Esta revolução tecnológica proporcionada, principalmente, pela Internet, somada ao fato da
necessidade competitiva de diversificação de produtos, acarreta em um aumento considerável no volume de
informação disponível. Segundo Maes e Shardanand (1995) houve, nos últimos anos, um grande crescimento
do volume de informações, com um aumento significativo do número de livros, filmes, notícias, anúncios e,
em particular, informações on-line. Os autores afirmam que este volume de conteúdos disponíveis é bem
maior do que qualquer pessoa poderá filtrar a fim de encontrar o que esta gostaria e que as pessoas
gerenciam esta sobrecarga de informações com seus próprios esforços, sendo necessário o uso de
tecnologia para auxiliar na busca das informações.
Outra questão importante nesta busca por informações é o conhecimento que cada usuário possui
sobre um determinado assunto, isto é, a sua experiê ncia pessoal. Neste caso, quando são consideradas as
recomendações de pessoas com mais experiência em algum tema, a qualidade da informação desejada
tende a aumentar.
Neste contexto, uma solução para lidar com as opiniões de usuários experientes e com a sobrecarga
de informações é o tipo de sistema chamado de sistema de recomendação. Os sistemas de recomendação
são definidos, segundo Resnick e Varian (1997), como sistemas que auxiliam e aumentam a eficácia do
processo natural de recomendações “boca-a-boca” de livros, filmes e restaurantes, e todos os outros tipos de
recomendações possíveis no nosso dia-a-dia.
A seguir, no tópico 2, serão apresentados os objetivos do trabalho, bem como a motivação para a
escolha do mesmo. Após, o tópico 3 apresentará duas téc nicas para a construção de sistemas de
recomendação existentes, assim como algumas de suas aplicações acadêmicas e comerciais. No tópico 4,
serão descritos os passos para a construção do protótipo proposto. Finalmente, no tópico 5, será apresentada
a conclusão sobre o andamento da pesquisa e as próximas etapas deste trabalho.
2. Objetivos do trabalho
Como mencionado anteriormente, perde-se muito tempo e dinheiro na busca pelas informações que
realmente valem a pena. Para auxiliar neste processo de filtragem de informações relevantes é utilizada a
tecnologia conhecida como sistemas de recomendação. Os sistemas de recomendação, conforme Resnick e
Varian (1997), ajudam os usuários que se deparam com um enorme conjunto de produtos, identificando quais
os produtos que melhor representam os gostos e preferências de cada usuário.
A principal força dos sistemas de recomendação concentra-se no perfil, onde são identificadas as
preferências dos usuários, e nas interações dos usuários com o sistema, quando a abordagem for
colaborativa . A identificação de similaridades nos gostos dos usuários faz com que seja possível agrupar
estes usuários e recomendar de acordo com este agrupamento gerado. À medida que os usuários forem
refinando as suas preferências, eles podem mudar de perfil e, conseqüentemente, podendo até mudar para
um outro grupo de usuários. O sucesso de um sistema de recomendação está diretamente ligado a sua
utilização, ou seja, quanto mais usuários colaborarem no sistema, mais exata será a identificação dos perfis e
similaridades entre os usuários, gerando, assim, recomendações com maior precisão.
2
O esforço gasto na busca por informação pode ser, desta forma, minimizado pela utilização de um
sistema que tem como função básica conhecer o usuário, seu grupo e recomendar os itens que podem ser de
grande interesse do usuário, frente ao domínio de produtos do sistema.
Para que sejam possíveis tais recomendações, pode-se fazer uso de algoritmos de mineração de
dados, como, por exemplo, regras de associação, clusterização e classificação. A mineração de dados
constitui-se em uma das etapas do processo de descoberta de conhecimento em bases de dados (DCBD).
Segundo Fayyad et al (1996), a filtragem e seleção manual de grandes quantidades de informações
constituem-se em processos muito lentos, dispendiosos e altamente subjetivos, mas que com a aplicação da
DCBD, tornam-se muito mais eficientes e eficazes na busca por informações.
A partir dessas observações, este trabalho pretende implementar um protótipo de um sistema de
recomendação que consiga fazer as recomendações a partir da análise de interesse e comportamento de
uma sociedade de usuários, por meio de técnicas de mineração de dados em relação aos downloads e
utilizações de diversos tipos de softwares. Esta sociedade de usuários é definida pelo grupo de usuários que
interagem no sistema e, através de suas colaborações, são responsáveis, de forma indireta, pelas
recomendações do sistema.
Os usuários do sistema serão analisados pelos seus interesses e comportamentos de uma forma
distinta. Os interesses serão identificados pelas preferências iniciais de um usuário, a fim de alocá-lo em um
grupo de usuários que correspondem ao seu perfil. Já o comportamento será obtido pela interação do mesmo
com o sistema, ou seja, o ato de o usuário fazer o download e/ou avaliar um software positiva ou
negativamente em uma escala de pontuação a ser definida.
As recomendações serão feitas, inicialmente, com base nos interesses explicitados pelos usuários e,
à medida que houver um maior uso do sistema, o comportamento dos usuários será analisado para identificar
se o usuário permanece no seu grupo de usuários, move-se para um outro grupo existente ou cria-se um
novo grupo para o seu perfil de comportamento.
O principal diferencial da proposta deste trabalho em relação aos sistemas de recomendação
existentes é que, enquanto a maioria dos sistemas de recomendação se concentra na simples tarefa de
analisar padrões de compra e/ou utilização de produtos, este trabalho traz um maior enfoque sobre o usuário
do sistema, utilizando uma abordagem híbrida que analisa tanto os interesses dos usuários, quanto os
padrões de comportamento das pessoas na caracterizada sociedade de usuários.
3. Sistemas de recomendação
Muitas vezes enfrentamos dificuldades na busca por alguma informação na Internet devido ao
grande volume de conteúdo existente neste meio. Para conseguir acesso a estas informações, existem duas
abordagens: a filtragem de informação e a recuperação de informação. Para Belkin e Croft (1992), a filtragem
de informação representa uma gama de processos responsáveis pela entrega da informação às pessoas que
necessitam dela, baseado no perfil do usuário, enquanto que a recuperação de informação, segundo
Robertson apud Belkin e Croft (1992), se caracteriza por guiar o usuário para os documentos que satisfaçam
as suas necessidades.
Os sistemas de recomendação, segundo Herlocker (2000), servem como uma interface para as
tecnologias de recuperação e filtragem de informação e concentram-se na predição de itens ou partes de
informaç ões que serão úteis ou interessantes para o usuário. Basu et al. (1998), complementa dizendo que
existem enfoques diferentes para sistemas de recomendação. Um deles é a filtragem colaborativa (ou
filtragem social), onde os itens são recomendados a um usuário de acordo com as suas avaliações por
usuários de preferências similares, ou seja, baseia-se no relacionamento entre as pessoas e suas opiniões.
Um outro enfoque existente é a filtragem baseada em conteúdo, identificada pela recom endação de itens
baseada na correlação entre o conteúdo dos itens e as preferências do usuário, também definida como uma
análise feita para a identificação dos produtos a serem recomendados de acordo com o perfil de
características dos produtos definido pelo usuário.
Além destas duas abordagens, existe a possibilidade de fazer uma união das melhores práticas de
cada uma delas, formando, segundo Balabanovic e Shoham (1997), uma abordagem híbrida.
3
A seguir serão apresentados alguns exemplos de sistemas de recomendação acadêmicos e
comerciais:
3.1 Ringo
Ringo é um sistema de recomendação que foi desenvolvido por Maes e Shardanand (1995) no
Massachussets Institute of Technology (MIT) com o objetivo de fazer recomendações personalizadas de
músicas baseadas em filtragem colaborativa de informações.
Neste sistema a recomendação é desencadeada a partir da avaliação inicial de algumas músicas,
álbuns e artistas pré-selecionados, que servem para montar o perfil inicial do usuário. Após este passo, são
feitas recomendações a este usuário, baseadas na comparação de gostos similares dos outros usuários.
Feitas as recomendações, o usuário tem condições de qualificar as mesmas, a fim de aprimorar o seu perfil e,
com isso, receber melhores recomendações.
3.2 GroupLens
O projeto de pesquisa GroupLens foi desenvolvido na Universidade de Minnesota por Herlocker el al
(1997). O GroupLens foi projetado, implementado e avaliado como um sistema de filtragem colaborativa para
uma Usenet news 4, com o propósito de ajudar a encontrar artigos mais adequados ao usuário em um grande
volume e variedade de artigos.
O sistema funciona com base na predição de artigos para um usuário. Com base na avaliação dos
artigos lidos pelos usuários, são computadas as notas dos usuários (valores de 1 até 5) para uma futura
comparação entre estas avaliações. Esta comparação tem o objetivo de encontrar as avaliações que estão
correlacionadas e, com isso, predizer os artigos mais adequados a um determinado usuário.
3.3 Fab
O sistema Fab, desenvolvido por Balabanovic e Shoham (1997) na Universidade de Stanford, tem
como principal característica, a união das abordagens de filtragem colaborativa e filtragem baseada em
conteúdo, constituindo, assim, uma abordagem híbrida para unir os melhores atributos de ambas.
Este sistema tem como objetivo recomendar aos usuários documentos encontrados na Web, com
base no conteúdo destes documentos. Enquanto que a filtragem baseada em conteúdo procura combinar o
conhecimento e a experiência pessoal para criar o perfil dos usuários e identificar as similaridades, a filtragem
colaborativa concentra seus esforços para identificar as correlações e fazer as recomendações.
3.4 Amazon.comTM (www.amazon.com)
O site de comércio eletrônico da Amazon.comTM possui algumas variações de sistemas de
recomendação. Riedl et al (2000) mostra estas variações destacando as características de cada uma delas:
• Clientes que compraram: São dois tipos de listas de recomendação separadas. A primeira
recomenda livros freqüentemente comprados pelos clientes que adquiriram o livro selecionado e
a segunda recomenda autores cujos livros são freqüentemente comprados por clientes que
adquiriram trabalhos pelo autor do livro selecionado.
• Suas recomendações: Os clientes qualificam os livros lidos em uma escala de 1 até 5, indo de
“eu odeio isto” para “eu adoro isto”. Após a avaliação de um conjunto de livros, os clientes
podem requisitar recomendações de livros que lhe agradem.
• Olhos: Permite aos clientes receberem e-mails sobre novos itens que foram adicionados no
catálogo. Os clientes selecionam as informações, como autor, título, assunto, entre outros, ou
usam o formato avançado com operadores boleanos (e/ou) para filtragem de notificações.
4
Serviço de lista de discussão na Internet de alta rotatividade e volume de informações
4
•
•
•
Amazon.com entrega: Os clientes selecionam em caixas de seleção (checkbox) os itens de uma
lista de categorias e gêneros específica. Periodicamente, os editores da Amazon.com TM enviam
as suas últimas recomendações por e-mail para os inscritos em cada categoria.
Idéias de presentes da livraria: Permite aos clientes receber recomendações dos editores. Os
clientes escolhem uma categoria de livros para as quais eles iriam querer algumas sugestões.
Comentários dos clientes: Permite aos clientes receberem recomendações em formato textual
baseada em opiniões de outros clientes que, por sua vez, também podem ser qualificadas em
uma escala de 1 até 5.
3.5 eBayTM (www.ebay.com)
Assim como no site da Amazon.com TM, o site de leilões on-line eBay.com TM possui mais de uma
variação de sistemas de recomendação também apresentado por Riedl et al (2000). São elas:
• Direito de resposta: Permite aos compradores e vendedores avaliar o seu parceiro de negócio
com grau de satisfação da transação de compra. Isto gera uma pontuação que demonstra a
confiabilidade de cada negociante. Quanto mais positiva a pontuação, mais confiável é o
negociante e quanto mais negativa a pontuação, menos confiável é o negociante.
• Comprador pessoal: Permite aos clientes indicar os itens que eles têm interesse em comprar
para, em uma periodicidade definida, o site enviar os resultados da busca por estes itens.
4. Protótipo
Como sugerido, o trabalho se propõe a construir um protótipo de um sistema de recomendação de
softwares para download. Com a intenção de deixar mais clara a construção deste protótipo, foi feita uma
representação gráfica das etapas a serem seguidas a fim de alcançar o objetivo. Segue, abaixo, o esquema
dos passos da construção do protótipo (Figura 1), com as suas respectivas explicações:
Figura 1 - Esquema dos passos do protótipo de recomendação
(1)
O usuário irá preencher um pequeno questionário em uma página Web que irá traçar o seu perfil
com perguntas como idade, intimidade com informática, atividade em que mais usa o computador,
tipo de sistema operacional, tipo de licença de software e categoria de software preferida.
(2)
Os dados das preferências de todos os perfis dos usuários serão armazenados em um banco de
dados específico para esta tarefa.
5
(3)
Aplicação de algoritmos de mineração de dados envolvendo a tarefa de clusterização ou
classificação sobre o banco de dados dos perfis, a fim de agrupar os usuários com perfis similares.
(4)
Representação dos agrupamentos de usuários por interesse, gerados a partir da aplicação do
algoritmo escolhido sobre a base de perfis.
(5)
Recomendação feita pelo sistema utilizando a filtragem baseada em conteúdo sobre os interesses
dos usuários, ou seja, verificação dos softwares que fecham com o perfil de um determinado grupo
de usuários e a emissão da recomendação pelo agente para o usuário via tecnologia push.
(6)
A cada download de software e/ou avaliação de um software no sistema será gerada uma
transação por parte de um cliente, representando, assim , o comportamento que o mesmo possui na
sociedade de usuários.
(7)
Todas as transações geradas serão devidamente guardadas em um banco de dados definido para
este fim.
(8)
Utilização de algoritmos de mineração de dados, mais especificamente algoritmos de regras de
associação, para achar relações que melhor definam os grupos existentes, baseando-se no
comportamento dos usuários.
(9)
Reorganização dos grupos existentes, devido ao comportamento dos usuários, para um maior
ajuste das relações existentes entre estes usuários, gerando, assim, recomendações mais precisas.
(10) Baseado na filtragem colaborativa, por meio da similaridade de gostos, recomenda-se os softwares
aos usuários de um mesmo grupo em relação a um usuário deste grupo, isto é, se um usuário de
um grupo definido por ter usuários com gostos similares escolher um software para download e
avaliá-lo como bom, então, baseado nesta similaridade existente, o agente de recomendação, via
tecnologia push, irá recomendar este software aos demais integrantes do grupo.
A tecnologia push, também conhecida como Webcasting , é um termo técnico que representa a
transmissão via rede de informações específicas para as pessoas de forma individual, sem que estas tenham
que fazer a busca pela informação.
Para a realização deste trabalho, foi implementada uma interface de cadastro de usuários para a
identificação do perfil dos mesmos em relação às suas preferências de softwares, conforme relatado no
primeiro passo da Figura 1.
Como, num primeiro momento, não existe tempo hábil para a realização de uma interação com
usuários reais, optou-se pela simulação dos perfis iniciais dos usuários, a fim de verificar qual o algoritmo que
produz o melhor resultado na geração dos grupos iniciais. Esta simulação foi feita utilizando a linguagem Perl,
gerando valores randômicos para 10.000 perfis, ou seja, como se 10.000 usuários cadastrassem o seu perfil
de preferências de software.
Em relação aos algoritmos de mineração de dados, optou-se pelo uso de uma ferramenta acadêmica
da Universidade de Waikato , na Nova Zelândia, chamada Weka (www.cs.waikato.ac.nz/~ml/weka). Esta
ferramenta, apresentada por Witten e Frank (2000), já possui uma implementação, na linguagem Java, de
diversos algoritmos de mineração. Atualmente, estuda-se qual o algoritmo que melhor se comporta na
identificação dos grupos de usuários baseado no interesse deles. Dentre estes algoritmos, seis estão sendo
testados, sendo que três deles fazem análise por clusterização: Cobweb, Expectation-Maximization (EM),
SimpleKMeans e os outros três algoritmos analisam por classificação: K-nearest neighbor learner (lbk), C4.5
decision trees (j48.J48), Rule learner (j48.PART).
Para identificar a qualidade dos resultados obtidos pelos algoritmos de mineração de dados a serem
aplicados, pretende-se executar a simulação dos valores referentes ao perfil do usuário de forma direcionada
e não de forma aleatória como feito na primeira simulação. A aplicação de algoritmos de mineração sobre
dados induzidos torna possível uma análise qualitativa, pois, como já se sabe qual resultado o algoritmo deve
produzir, pode ser identificado qual o algoritmo que mais se aproxima deste resultado.
6
5. Conclusão
A recomendação em si nos oferece uma grande ajuda na redução do tempo de procura das
informações que queremos ou precisamos. Somente por este fato, os sistemas de recomendação
representam uma excelente ferramenta para a filtragem de informações no nosso dia-a-dia.
Um sistema de recomendação que trabalha tanto com o interesse quanto com a colaboração dos
usuários, tende a ser mais eficiente que um sistema que utilize somente uma das abordagens para identificar
os gostos dos usuários. Este trabalho concentra-se nesta abordagem híbrida e tenta unir o melhor de dois
mundos para produzir melhores recomendações para os seus colaboradores.
Espera-se que este protótipo de sistema de recomendação possa facilitar as recomendações de
softwares para aquelas pessoas que não possuem tempo para ficar filtrando, de forma solitária, novas
tecnologias e versões de softwares existentes, e também que possa produzir as recomendações com
qualidade, sendo de real interesse do usuário.
Levando em consideração o trabalho realizado até agora, ficam pendentes as seguintes etapas para
a conclusão do protótipo:
• Identificar o melhor algoritmo de mineração de dados para separar os grupos de usuários por
perfil;
• Aplicar o algoritmo de mineração de dados mais bem avaliado na base de perfis de usuários,
com o objetivo de organizar os grupos de perfis de usuários;
• Implementar a interface de downloads de softwares;
• Implementar a interface de qualificação dos softwares baixados e utilizados;
• Criar uma base transacional simulada de downloads e qualificação de softwares para
representar a ação dos usuários no sistema;
• Aplicar algoritmo de mineração de dados para identificar similaridades entre usuários, com o
objetivo de reorganizar os grupos de usuários com base nas transações e qualificações dos
softwares baixados (anteriormente organizados pelo perfil);
• Criar um agente de recomendação utilizando a tecnologia push para o usuário;
6. Referências Bibliográficas
BALABANOVIC, Marko; SHOHAM, Yoav. Fab: Content-Based, Collaborative
Communications of the ACM , New York, v.40, n.3, March 1997, p66-72.
Recommendation.
BASU, C.; HIRSH, H.; COHEN, W. Recommendation as Classification: Using Social and Content-Based
Information in Recommendation. In: Proceedings of the 15 th National Conference on Artificial Intelligence,
1998. Disponível na Web em: http://citeseer.nj.nec.com/basu98recommendation.html
BELKIN, Nicholas J.; CROFT, W. Bruce. Information Filtering and Information Retrieval: two sides of the same
coin? Communications of the ACM , New York, v.35, n.12, p29, Dec. 1992.
FAYYAD, Usama; PIATETSKY-SHAPIRO, Gregory; SMYTH, Padhraic. From Data Mining to Knowledge
Discovery in Databases. USA: AAAI Press, 1996.
Disponível na Web em: http://citeseer.nj.nec.com/fayyad96from.html
HERLOCKER, Jon. Understanding and Improving Automated Collaborative Filtering Systems. Ph.D
Dissertation, University of Minnesota, 2000.
Disponível na Web em: http://web.engr.oregonstate.edu/~herlock/papers.html
HERLOCKER, J.; RIEDL, J.; KONSTAN, J.; MILLER, B.; MALTZ, D.; GORDON, L., GroupLens: Applying
Collaborative Filtering to Usenet News. Communications of the ACM, vol. 40, no. 3, March 1997, p77 -87.
7
MAES, Pattie; SHARDANAND, Upendra. Social Information Filtering: Algorithms for Automating "Word
of Mouth". MIT Media-Lab. Cambridge, MA, 1995.
Disponível na Web em: http://citeseer.nj.nec.com/shardanand95social.html
PINE II, B. Joseph. Personalizando Produtos e Serviços : Customização Maciça. São Paulo : Makron,
1994. 334p.
RESNICK Paul, VARIAN Hal. Recommender Systems. Communications of the ACM , vol. 40, no. 3, March
1997, p56-58.
RIEDL, J., KONSTAN, J., and SCHAFER, J.B., Electronic Commerce Recommender Applications. Journal
of Data Mining and Knowledge Discovery, vol. 5 nos. 1/2, p115-152. 2000. Disponível na Web em:
http://www.cs.umn.edu/research/GroupLens/publications.html
SHAPIRO, Carl. A economia da informação : como os princípios econômicos se aplicam a era da
Internet. Rio de Janeiro : Campus, 1999. p9-21.
WITTEN, Ian H.; FRANK, Eibe. Data Mining: Practical Machine Learning Tools and Techniques with Java
Implementations. San Francisco, Morgan Kaufmann. 2000.
8

Documentos relacionados

proposta de trabalho de conclusão

proposta de trabalho de conclusão Para que sejam possíveis tais recomendações, pode-se fazer uso de Regras de Associação. As Regras de Associação referem-se a uma das tarefas de Mineração de Dados, que por sua vez constitui-se em ...

Leia mais