Escolar Documentos
Profissional Documentos
Cultura Documentos
Estudo sobre
Sistemas de
Recomendao
Colaborativos
Aluno: Igor Rafael Guimares Medeiros (irgm@cin.ufpe.br)
RESUMO
Sistemas de recomendao representam as preferncias dos usurios com o
propsito de sugerir itens de seu interesse. Estes sistemas se tornaram fundamental
em aplicaes de comrcio eletrnico e busca de informaes por sua capacidade
de filtrar informaes que melhor se aplicam aos interesses do usurio de forma
efetiva e automtica. Partindo do desafio de se propor sistemas de recomendao
de qualidade, capazes de escalar e confrontar problemas de disperso dos dados,
diversas tcnicas foram propostas nos ltimos anos. Atualmente sistemas de
recomendao colaborativos so uns dos mais usados para resolver tais problemas
por sua eficincia e simplicidade. O presente estudo analisa estes sistemas com o
objetivo de implantar e avaliar tais sistemas em uma aplicao real na WEB para
aproximar pessoas com preferencias literrias em comuns e recomendar leituras de
forma automtica bem como apresentar uma viso geral do problema e tcnicas
usadas para resolv-lo. Nesse estudo, diferentes formas de calcular a similaridades
entre itens e de se obter recomendaes sero avaliadas usando-se mtricas de
desempenho descritas em outros trabalhos de pesquisa.
ABSTRACT
Recommendation systems represent the preferences of users to suggest items of
their interest. These systems have become critical in e-commerce applications and
information searchbecause its ability to filter information that best apply to the user's
interests effectively and automatically. On the challenge to producehigh quality
recommendation systems, able to scale and in the face of data sparsity issues,
several techniques have been proposed in recent years. Collaborative
recommendation systems are currently one of the most used to solve such problems
by its efficiency and simplicity. This study examines these systems in order to deploy
and evaluate such systems in a real application on the WEB to bring people with
common literary preferences and recommend readings automatically as well as
present an overview of the problem and techniques used to solve it. In this study,
different ways to calculate the similarities between items and to obtain
recommendations will be evaluated using performance metrics described in others
research works.
SUMRIO
1. Introduo .............................................................................................................. 1
2. Sistemas de Recomendao ................................................................................. 4
2.1
2.2
Baseado em Memria..................................................................................... 10
3.1.1 Clculo da Similaridade entre Usurios .................................................. 11
3.2
4. Metodologia e Resultados.................................................................................... 18
4.1
Dados ............................................................................................................. 18
4.2
4.3
4.1
4.2
Discusso ....................................................................................................... 23
LISTA DE FIGURAS
Figura 1: Matriz de Avaliao dos Usurios
pg. 6
pg. 10
pg. 14
pg. 21
pg. 22
pg. 23
1. Introduo
A tecnologia reduziu sensivelmente as barreiras para se publicar e
disponibilizar informao. Em consequncia, a quantidade de informao disponvel
cresce muito alm de nossas capacidades de process-la. Achar o que desejamos
em meio a esse mar de informaes pode fcil se tornar uma tarefa bastante rdua.
A busca de uma soluo frente a essa dificuldade impulsionou o desenvolvimento de
diversas reas de pesquisa. A rea de Recuperao da Informao (RI) promove
tcnicas que possibilitam a busca e recuperao dessas informaes de forma
eficiente. O usurio realiza uma consulta e o sistema de RI, retorna o maior nmero
de documentos relevantes, de forma rpida, que satisfaa os critrios de busca [3,
27].
Entretanto, os Sistemas de Recuperao da Informao (SRI) podem recuperar
documentos que no sejam do interesse do usurio ou um nmero elevado de
resultados [20, 23]. Outro problema a dificuldade que o usurio por vezes tem de
expressar suas necessidades atravs de uma consulta por palavras chave ou at
mesmo saber com preciso o que desejam buscar [23].
Em alternativa e como forma superar as limitaes dos SRI clssicos, surgiu a
rea de pesquisa de Sistemas de Filtragem de Informao (SFI). Enquanto os SRI
recuperam informaes baseadas na pesquisa do usurio os SFI atuam separando
do fluxo, itens irrelevantes dos relevantes para um determinado usurio.
Sistemas de Recomendao (SR) surgiram como uma subrea de pesquisa da
rea de SFI e evoluiu para uma se tornar uma rea independente. A proposta dessa
rea de pesquisa construir sistemas capazes de identificar as preferncias do
usurio e a partir delas recuperar itens que sejam do interesse deste. Estes sistemas
2. Sistemas de Recomendao
Sistemas de Recomendao se tornaram uma importante rea de pesquisa em
resposta ao problema de sobrecarga de informao. A rea teve incio com a
publicao do artigo de seu primeiro artigo em meados da dcada de noventa [25].
Inicialmente os Sistemas de Recomendao foram chamados de Sistemas de
Filtragem Colaborativa devido utilizao desse termo no primeiro sistema de
recomendao Tapestry [14], sistema onde os usurios indicavam documentos entre
si, desenvolvido pela Xerox. Shardanand & Maesusaram usaram o termo filtragem
social para designar estes sistemas considerando que eles automatizam o processo
social de indicao boca-a-boca [33]. O termo mais genrico, Sistema de
Recomendao, foi proposto por [26]. Eles consideram o termo mais apropriado
porque a recomendao no precisa ser necessariamente produto da colaborao
entre usurios e recomendaes sugerem da indicao de itens relevantes mais do
que o processo de filtrar itens no relevantes. Na literatura, comum aparecer os
termos filtragem colaborativa e sistemas de recomendao nos trabalhos da rea at
hoje.
Desde o surgimento, o interesse de pesquisas na rea vem aumentando nos
ltimos anos. Exemplos de sistemas desenvolvidos academicamente bem sucedidos
como os do grupo de pesquisa GroupLens, da University of Minnesota [16] e a vasta
aplicao destes sistemas como parte crucial de sistemas de e-commerce e sites de
empresas como Amazon, Google, Netflix e eBay, colaboram para o aquecimento
desta rea de pesquisa [1].
Existem dois grandes desafios fundamentais na rea que ainda so objetos de
estudos dos pesquisadores [28]. O primeiro desafio o de aprimorar a
escalabilidade de sistemas de recomendao. A demanda dos dias atuais de
manipular dezenas de milhes de dados em tempo real. A Amazon, por exemplo,
possui uma plataforma de comercio eletrnico com um catalogo de dezenas de
milhes de produtos e algumas centenas de milhes de usurios. A segunda o
melhorar a qualidade das recomendaes geradas. De certa forma esses dois
2.1
Definio: Seja
conjunto de todos os possveis itens que podem ser recomendados como livros, filmes,
restaurantes etc. Seja a funo utilidade que mede o quo til um determinado item para
um determinado usurio , i.e.,
Ento, para cada usurio
, onde
, procura-se um item
usurio. Mais formalmente, isto pode ser expresso pela equao abaixo (1):
de
usurio e
ao item .
Figura 1 Matriz de avaliao dos usurios. Cada clula corresponde avaliao do usurio
para o item . A tarefa estimar o valor da avaliao
para o usurio .
2.2
pelo usurio. Um usurio que gostou do livro 1984 pode receber apenas
recomendaes de livros de fico cientfica mesmo que o usurio goste de outros
gneros, ou pior, pode receber apenas recomendaes de livros escritos por George
Orwell. Novidade uma caracterstica desejvel em sistemas de recomendao e
estudos foram conduzidos para resolver esse problema [13, 35, 37].
Alm do problema de especializao mencionado anteriormente, a filtragem
por contedo ainda encontra dificuldades com a preciso das recomendaes para
usurios novos. Um usurio precisa avaliar um nmero suficiente de itens antes que
possa obter recomendaes satisfatrias. Do mesmo modo, um novo perfil deve ser
criado para cada item novo. Esta tarefa pode ser concretizada usando tcnicas de RI
caso o item possua contedo textual como citado antes, mas nem sempre este o
caso. Existem aplicaes como o Pandora (www.pandora.com), sistema de
recomendao de msicas, que conseguem extrair caractersticas de itens no
textuais, no entanto a classificao dos itens feita de forma manual [8] e
consequentemente de forma no escalvel.
2.2.2 Filtragem Colaborativa
Ao contrrio da filtragem por contedo, a tcnica de filtragem colaborativa, ou
sistemas de recomendao colaborativos, tenta predizer a avaliao de um
determinado usurio para um item baseado nas avaliaes dos outros usurios
(similares a ele) para este item [1, 28]. Em outras palavras, a ideia usar a
inteligncia coletiva de um grupo de pessoas para fazer recomendaes para outras
[2, 32].
A Filtragem Colaborativa ser mais bem estudada no prximo captulo,pois se
mostra como a tcnica mais adequada, segundo o autor, para o contexto de
construir um sistema de recomendao de livros.
2.2.3 Filtragem Hbrida
A combinao das tcnicas de filtragem por contedo e por colaborao tem
como objetivos superar as limitaes individuais de cada uma das tcnicas e
potencializar os seus benefcios. Diferentes formas de se atingir esse objetivo foram
3. Filtragem Colaborativa
Sistemas de recomendao por filtragem colaborativa, como j foi dito
anteriormente, baseiam-se na ideia de que uma pessoa tende a aceitar a sugesto
de um grupo de pessoas prximas, ou semelhantes a ela. No entanto para se
construir tais sistemas precisamos de um entendimento mais aprofundado de como
funciona o mecanismo de recomendao.
Em um tpico cenrio de sistemas de FC, existe uma lista de
{
uma lista de itens
e uma lista de
itens
. Cada usurio
usurios
possui
e que o conjunto
10
Predio um nmero,
para o usurio alvo
itens,
. Essa forma de
3.1
Baseado em Memria
11
Onde o nmero
pode variar de 1 a
vizinhos mais
Nesta equao,
ambos
representa um vizinho de
que o primeiro uma estimativa, predio, dentro da escala de avaliao, e.g., notas
entre 1 e 5, enquanto que o segundo de fato a avaliao dada por um usurio.
Cosseno
Essa mtrica bastante usada na rea de RI para calcular a similaridade entre
vetores TF-IDF. Em SR baseados em memria, os usurios so representados
12
Pearson
Um problema que ocorre com a similaridade baseada em cosseno que ela
no considera a diferena entre as notas dos usurios. Um usurio pode ser
mais rigoroso em suas avaliaes. Pensando nisso outras medidas foram
sugeridas como o coeficiente de Pearson (4), que calcula a correlao entre os
usurios.
respectivamente.
13
3.2
Baseado em Modelo
relaes entre os itens. A ideia por trs dessa estratgia vem da intuio de que o
usurio se interessaria por itens similares aos itens bem avaliados por ele e evitar os
itens similares aos itens que ele no gostou no passado [21, 28]. Alm disso, essa
tcnica no precisa identificar a vizinhana de usurios similares que presenta o
gargalo de desempenho dos algoritmos baseados em memria. Em consequncia,
tende a produzir recomendaes muito mais rapidamente [21, 28].
Diferentes
tcnicas
foram
sugeridas
para
abordar
problema
de
. Ao mesmo
14
. A predio
itens .
3.2.1 Similaridade entre Itens
A ideia bsica para computar a similaridade entre dois itens
usurio que tenham avaliados ambos
similaridade para computar a similaridade
isolar os
Cosseno
A similaridade entre dois itens,
}.
15
Pearson
O coeficiente de Pearson tambm usado para calcular similaridades entre
itens sendo obtida pela equao (6):
Cosseno Ajustado
Assim como o coeficiente de Pearson, o cosseno ajustado, leva em
considerao a diferena entre as notas dos usurios. Esse algoritmo (7) de
similaridade foi proposto no trabalho de Sarwar et al. [28].
para um usurio
pela a soma das notas dadas pelo usurio para itens similares ao item
pela similaridade
determinar a predio
, onde
por (8):
ponderado
. Assim, podemos
16
de espao. Na
computamos os
onde
corresponde ao
para o usurio
nesse
com a lista de itens avaliados por . Em seguida o algoritmo procede com o clculo
padro da filtragem colaborativa baseada em item descrita em (8).
A responsabilidade por esse problema da fase de calculo da similaridade
entre usurios. Para contornar esse problema, foi sugerido que as similaridades
fossem previamente calculadas e armazenadas em uma estrutura de dados (modo
17
18
4. Metodologia e Resultados
Ao analisar um algoritmo de recomendao estamos interessados no seu
desempenho futuro em novos dados, mais do que em seu desempenho nos dados
passados [11]. Uma metodologia adequada necessria para se atingir esse
objetivo. preciso realizar uma anlise dos dados, das mtricas e definir o
procedimento experimental.
4.1
Dados
. O nvel de
4.2
Mtricas de avaliao
19
bem avaliados em relao aos que foram estimados como bons pelo sistema de
recomendao. Entre essas mtricas podemos citar a medida F (F-Mesure),
preciso (Precision) e cobertura (Recall) e curva ROC (Receiver Operating
Characteristic) que mostra equilbrio entre as taxas de verdadeiros positivos e falsos
positivos em sistemas de recomendao [7].
O procedimento de avaliar desempenho de sistemas de recomendao usando
mtricas estatsticas mais simples de se implementar e por essa razo essa a
forma mais usada [11]. Neste estudo vamos considerar mtrica mais usada MAE,
pois ela menos sensvel a exemplos dspares nos dados (outliers) do que MSE,
por exemplo, e sua interpretao direta [7, 11].
4.2.1 Procedimento Experimental
Para testar o desempenho futuro e estimar o erro de previso, temos
corretamente particionar o conjunto de dados original em subconjuntos de
treinamento e teste. O conjunto de teste deve ser diferente e independente do
conjuntotreinamento a fim de obter uma estimativa confivel do verdadeiro erro. Em
[28], Sarwar et al. Experimentaram diferentes propores de diviso dos dados
variando de 20% para testes at 90% em incrementos de 10%. Nos testes
realizados os autores escolheram a razo 80/20 (treinamento/teste) como sendo a
ideal para os demais experimentos. Seguindo esses resultados o primeiro passo foi
dividir 80% dos dados para treinamento e 20% para testes de forma aleatria em
relao aos usurios. Para realizar a comparao do erro da predio para cada
usurio, foi usada a tcnica de deixar um de fora [24] (leave-one-out), i.e., a
estimativa de um item do usurio obtida com a mdia ponderada dos demais itens
avaliados pelo usurio.
Todos os experimentos foram implementados em Python 2.7 e realizados em
um laptop com processador Intel i3 com velocidade de 2,26 GHz com 4GB de
memria RAM.
20
4.3
Resultados da Experimentao
0,2
0
Cosseno
Ajustado
Pearson
Cosseno
21
Sensibilidade da Vizinhana
0,7
0,65
0,6
0,55
0,5
baseado em usuario
0,45
0,4
0,35
0,3
10
20
30
40
50
60
70
80
22
Usuario-Usuario
0,2
0,1
0
10
20
30
40
50
60
70
80
4.1
Sistemas
de
filtragem
colaborativa
por
item
baseado
em
modelo
itens mais
23
baseado em item
0,45
0,4
4.2
Discusso
24
25
26
27
6. Referncias Bibliogrficas
28
29
30