Você está na página 1de 42

UNIVERSIDADE FEDERAL DE PERNAMBUCO

GRADUAO EM CINCIA DA COMPUTAO


CENTRO DE INFORMTICA

Estudo sobre
Sistemas de
Recomendao
Colaborativos
Aluno: Igor Rafael Guimares Medeiros (irgm@cin.ufpe.br)

Recife, Abril de 2013

Igor Rafael Guimares Medeiros

Estudo sobre Sistemas de Recomendao Colaborativos

Monografia apresentada ao curso de Cincias


da Computao da UFPE, como requisito
parcial para obteno do ttulo de Bacharel em
Cincias da Computao, orientado pelo Prof.
Dr.: Ricardo Bastos Cavalcante Prudncio
(rbcp@cin.ufpe.br)

RECIFE, ABRIL DE 2013

Dedico este trabalho a todos aqueles que contriburam de forma direta


ou indireta para concluso do mesmo.

Agradeo primeiramente a minha famlia, pais,


Janilson e Edlene, e irms, Janielle e Camilla, e a
Andreza pela pacincia e apoio.

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.

Palavras-chave: Sistemas de Recomendao; Filtragem colaborativa;

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.

Keywords: Recommender Systems; Collaborative Filtering.

SUMRIO

1. Introduo .............................................................................................................. 1
2. Sistemas de Recomendao ................................................................................. 4
2.1

Definio de Sistemas de Recomendao ....................................................... 5

2.2

Classificao dos Sistemas de Recomendao ............................................... 6


2.2.1 Filtragem por Contedo ............................................................................ 7
2.2.2 Filtragem Colaborativa.............................................................................. 8
2.2.3 Filtragem Hbrida ...................................................................................... 8

3. Filtragem Colaborativa ........................................................................................... 9


3.1

Baseado em Memria..................................................................................... 10
3.1.1 Clculo da Similaridade entre Usurios .................................................. 11

3.2

Baseado em Modelo ....................................................................................... 13


3.2.1 Similaridade entre Itens .......................................................................... 14
3.2.2 Predio ................................................................................................. 15
3.2.3 Tamanho do Modelo ............................................................................... 16

4. Metodologia e Resultados.................................................................................... 18
4.1

Dados ............................................................................................................. 18

4.2

Mtricas de avaliao ..................................................................................... 18


4.2.1 Procedimento Experimental.................................................................... 19

4.3

Resultados da Experimentao ...................................................................... 20


4.3.1 Efeito da similaridade ............................................................................. 20
4.3.2 Experimentos com o tamanho da vizinhana ......................................... 20
4.3.3 Experimentos de Qualidade ................................................................... 21

4.1

Sensibilidade do Tamanho do Modelo............................................................ 22

4.2

Discusso ....................................................................................................... 23

5. Concluses e Trabalhos Futuros ......................................................................... 25


6. Referncias Bibliogrficas.................................................................................... 27

LISTA DE FIGURAS
Figura 1: Matriz de Avaliao dos Usurios

pg. 6

Figura 2: Processo de Filtragem Colaborativa

pg. 10

Figura 3: Processo do Clculo da Similaridade entre Itens

pg. 14

Figura 4: Desempenho Relativo entre Diferentes Algoritmos de Similaridade pg.20


Figura 5: Sensibilidade da Vizinhana

pg. 21

Figura 6: Comparativo entre Sistemas Colaborativos

pg. 22

Figura 7: Sensibilidade do Tamanho do Modelo

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

tm sido intensamente pesquisados nos ltimos anos e difundidos largamente em


sites de comrcio eletrnico, jogos, entretenimento, frum de discusso e redes
sociais [30].
Um dos maiores desafios da rea de SR o de produzir recomendaes de
qualidade, manipulando, muitas vezes, uma quantidade enorme de dados
independente das condies adversas que estes dados se encontram. Estes dados
podem apresentar problemas como a falta de quantidade de dados suficientes ou a
falta de qualidade dos dados. Alm disso, os dados podem apresentar grande
varincia ou disperso [18]. Em todos os casos, a qualidade da recomendao
destes sistemas pode ser bastante comprometida.
O desenvolvimento da rea de SR promoveu o surgimento de diversas tcnicas
para resolver tais problemas. Dentre elas, uma das mais promissoras Filtragem
Colaborativa (FC). A FC baseia-se na ideia simples de que possvel inferir a
preferncia de uma pessoa por um determinado item ou informao comparando-se
o seu registro de interesses com o registro de interesses de um grupo de pessoas
que possuem gostos e preferencias em comum a ele.
Este estudo analisa estes sistemas de recomendao 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 e compras de
livros de forma automtica. Alm disso, se faz necessrio apresentar uma viso
geral da rea de Sistemas de Recomendao mostrando sua evoluo e sua
importncia no contexto atual.
O trabalho est dividido em cinco captulos, descritos resumidamente, a partir
do segundo captulo, a seguir:
No captulo 2, ser apresentado os Sistemas de Recomendao e as principais
contribuies dessa rea de pesquisa. As principaistcnicas sero apresentadas
juntamente com as trs classificaes para SR: Filtragem por contedo; Filtragem
Colaborativa e Abordagem Hbrida. O captulo 3 dedicado a um estudo mais
aprofundado da tcnica de Filtragem Colaborativa mostrando a variedade de
algoritmos propostos de acordo com seus tipos e a diferena entre eles. No captulo

4, a metodologia de avaliao e os resultados experimentais so mostrados. O


captulo 5 mostra a concluso do presente estudo e aponta direcionamento para
trabalhos futuros finalizando, assim, este estudo.

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

desafios so opostos uma vez que a aplicao de tcnicas para reduzir a


complexidade computacional implica em sistemas mais escalveis, por outro lado,
podem produzir recomendaes de menor qualidade [15, 28].

2.1

Definio de Sistemas de Recomendao

Informalmente, a mais comum formulao do problema de recomendao a


soluo para o problema de estimar a avaliao para um determinado item que
ainda no foi avaliado por um usurio. Assim que tivermos uma estimativa da
avaliao dos itens ainda no vistos, podemos recomendar ao usurio os itens que
obtiveram as melhores avaliaes estimadas. Intuitivamente, essa estimativa
obtida baseando-se nas avaliaes dadas pelo usurio para outros itens [1].
A tarefa, ento, de recomendao gerar uma lista com os itens melhores
avaliados enquanto que a tarefa individual de estimar a avaliao para um nico
item conhecida como predio [28].
Uma definio formal para o problema foi proposta por Adomavicius et al. [1]
apresentada a seguir:

Definio: Seja

o conjunto de todos os usurios de um determinado sistema, e 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

um conjunto totalmente ordenado.

, procura-se um item

que maximiza a utilidade do

usurio. Mais formalmente, isto pode ser expresso pela equao abaixo (1):

Em Sistemas de Recomendao, a utilidade de um item normalmente


representada por uma nota. No site Netflix, os usurios podem classificar os filmes
com notas de um (ruim) a cinco (bom) estrelas.
De forma geral, o problema de recomendao estruturado como mostrado na
figura 1. As preferencias so representadas como uma matriz
itens onde cada clula

de

corresponde avaliao, nota, do usurio

usurio e
ao item .

Tipicamente essa matriz esparsa, pois os usurios geralmente avaliam um


subconjunto muito menor que o conjunto

. Por tanto o problema central dos

sistemas de recomendao extrapolar a funo de utilidade para todo o conjunto


. O usurio em questo no processo de recomendao referenciado como o
usurio alvo.

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 .

Uma grande variedade de tcnicas e formas diferentes de se calcular as


estimativas para calcular a avaliao dos usurios para itens ainda no vistos foram
propostas na literatura. Mtodos de aprendizagem de mquinas, teoria da
aproximao e uma quantidade variada de heursticas. Os sistemas de
recomendao so comumente classificados de acordo com forma como eles obtm
essas estimativas.

2.2

Classificao dos Sistemas de Recomendao

Na literatura, a classificao de sistemas de recomendao dividida em trs


categorias, propostas por Shoham & Balabanovic [4] e desde ento vem sendo
complementada por trabalhos subsequentes. So elas:

2.2.1 Filtragem por Contedo


A ideia central dessa abordagem, tambm conhecida como recomendao
baseada em contedo, baseia-se na premissa de que os usurios gostariam de
obter recomendaes de itens semelhantes a itens preferidos do usurio no passado
[4]. A tcnica tem suas origens nas reas de RI [3, 27] e FI [5].
A melhoria com relao s tcnicas clssicas de RI deve-se ao uso de perfis de
usurios. Este perfil guarda as preferncias, gosto e necessidade do usurio. A
construo desse perfil pode ser realizada de forma explcita, e.g. com uso de
questionrios, ou de implcita, aprendida com o comportamento do usurio com o
tempo, e.g. monitoramento de clicks em pginas de e-commerce, tempo de visita
entre outros.
A construo do perfil de cada item envolve a extrao de caractersticas do
item em questo. Sistemas de Recomendao baseado em contedo tem sido
usado com sucesso em aplicaes onde os itens contm informaes textuais, como
documentos, pginas da web, livros, filmes e notcias [1]. Tcnicas de RI so usadas
para extrair palavras-chaves deste contedo. O perfil do item representado ento
como um vetor TF-IDF.
O processo de recomendao baseado em contedo seleciona os itens mais
similares aos itens identificados no perfil de interesse do usurio. Para isso ele
compara o perfil do usurio com o perfil de cada item. O problema ento se torna
uma tarefa de recuperao de informao, onde o contedo associado ao perfil de
usurio tratado como uma consulta (query) e os documentos (itens) no avaliados
so classificao eranqueados de acordo com a relevncia/similaridade em relao
a essa consulta [4].
Por exemplo, dado que o gnero de um livro seja uma das caractersticas
extradas pelo sistema, e sabendo que um usurio gostou dos livros 1984 e Eu
Rob o sistema poderia inferir uma predileo pelo gnero fico cientfica e
recomendar o livro 2001, uma Odisseia no Espao.
Contudo, um problema com esse tipo de abordagem que o sistema tende a
ser muito especializado recomendando apenas itens similares aos itens j avaliados

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

propostas. De forma geral existem duas formas diferentes, uma a construo de


dois sistemas separados e a combinao de seus resultados como foi propostos em
Claypool et al. [9]. A outra forma combinar os dois sistemas em um nico com
predominncia de uma tcnica ou outra. Melville et al. [22] sugeriram um sistema
onde a filtragem por contedo foi aplicada para reduzir a disperso dos dados na
matriz de avaliao e posteriormente a filtragem colaborativa era aplicada para gerar
as recomendaes. Essa abordagem se mostrou mais eficiente que abordagem de
filtragem puramente colaborativa e puramente de contedo.

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

, em que o usurio tenha expressado suas preferncias ou

gostos. Vale salientar que


tambm que existe um usurio

e que o conjunto

pode ser vazio. Definimos

chamado usurio alvo para o qual a tarefa de

recomendao realizada [28].


A tarefa de recomendao pode ser de duas formas:

10

Predio um nmero,
para o usurio alvo

, que expressa a nota ou avaliao do item


.

Recomendao uma lista de

itens,

provavelmente ir gostar, observando que

, que o usurio ativo

. Essa forma de

recomendao conhecida como recomendao Top-N.

O conjunto de dados usurio-item representado nos algoritmos de


recomendao como uma matriz

de avaliaes. Cada entrada

representa a avaliao, nota, do i-simo usurio

para o j-simo item . O processo

de Filtragem Colaborativa [28] mostrado na figura 2.

Figura 2 - Processo de Filtragem Colaborativa.

Sistemas de recomendao colaborativos podem ser classificados em duas


categorias: sistemas baseados em memria e sistemas baseados em modelo [1].

3.1

Baseado em Memria

Algoritmos baseado em memria, ou baseado em usurios, utilizam toda a


matriz de avaliao usurio-item para gerar predies [28, 29]. Estes sistemas usam
heursticas ou tcnicas estatsticas para encontrar um grupo de usurio, chamados
de vizinhos do usurio alvo das recomendaes. Estes vizinhos possuem um
histrico de concordncia nas avaliaes com o usurio alvo. Uma vez que esse
conjunto de vizinhos determinando, estes sistemas calculam uma predio ou

11

recomendao usando a combinao das notas dos vizinhos juntamente com o


histrico de avaliaes do usurio ativo.
A predio

, dada por uma agregao das avaliaes de

similares ao usurio alvo,


vizinhana de

Onde o nmero

pode variar de 1 a

vizinhos mais

que determina o tamanho da

, nmero de todos os usurios da base. A

funo de agregao mais comumente [1] usada dada por (2):

Nesta equao,

ambos

um fator de normalizao dado pela equao


e

representa um vizinho de

. Outro ponto que

so elementos da matriz de avaliao . A diferena entre eles

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.

3.1.1 Clculo da Similaridade entre Usurios


A similaridade

um artifcio heurstico usado para definir nveis de

semelhana entre os usurios. Isto permite que se encontre o grupo de usurios


mais prximos dele, a vizinhana do usurio ativo. O clculo nos d uma viso do
quo similar as avaliaes dos usurios

baseado nas avaliaes de itens

avaliaes comumente entre eles, i.e., so definidas em

}. A duas medidas de similaridade mais usadas em sistemas de filtragem baseada


em usurio so mostradas a seguir:

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

por vetores de dimenso |

|. A similaridade ento computada (3) como o

cosseno do ngulo entre eles.

Onde , representa o produto interno entre e .

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.

Onde e representam a mdia das avaliaes de

respectivamente.

Sistemas baseados em memria foram bastante usados no passado por se


mostrarem simples e precisos no processo de recomendao. No entanto, sua
popularizao revelaram fraquezas no algoritmo em lidar com problemas de
disperso dos dados e escalabilidade [1, 34].
O problema de escalabilidade deve-se ao fato de que o clculo da vizinhana
de um usurio calcula a similaridade entre ele e todos os outros usurios [1, 20, 28].
Essa tarefa computacionalmente cara. Para contornar esse problema tcnicas de
reduo de do conjunto dos dados como clustering ou descartar itens muito

13

populares ou impopulares foram sugeridas, no entanto essas medidas, no entanto,


apesar de se mostrarem eficientes na tarefa de reduzir o conjunto de dados, essas
mesmas medidas tambm reduzem a qualidade das recomendaes [20].
A disperso dos dados tambm representa um desafio para estes sistemas.
Em um sistema de recomendao de livros, mesmo um usurio mais ativo que tenha
avaliado 1000 livros em uma base de 1.000.000 ter avaliado apenas 0,1% dos
livros. Nesse cenrio, o clculo de

pode revelar pouco ou nenhum item em

comum para a maioria dos pares de usurios. Implicando em uma preciso e


qualidade ruim para o sistema.

3.2

Baseado em Modelo

Sistemas baseados em modelo,diferentemente dos baseados em memria,


usam o conjunto de avaliaes para aprender um modelo, que usado ento para
fazer as predies e recomendaes. Modelos so entidades que sintetizam o
comportamento dos dados. Sistemas baseado em modelos foram criados para
resolver os problemas dos algoritmos baseado em memria [21, 28]. Estes sistemas
analisam a estrutura da matriz

que relaciona usurios e itens para encontrar

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

recomendao por uma representao de modelo. Uma abordagem probabilstica


vista em [6] enquanto que [20, 28] apresentam uma abordagem mais tradicional que
explora a correlao item-a-item (baseado em itens).
Nas abordagens baseado em itens, analisa o conjunto de itens avaliados pelo
usurio ativo,

, e computa a similaridade de entre esses itens e um item

depois seleciona uma lista com os

itens mais similares {

. Ao mesmo

14

tempo guarda a lista de similaridades correspondente {

. A predio

ento obtida por uma mdia ponderada dos itens do usurio,

, sobre cada um dos

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

e depois aplicar uma tcnica de

. O processo mostrado na figura 3.

Figura 3 - A computao da similaridade entre e ( ) feita usando apenas os pares de avalio


de usurios em comuns. Nesse exemplo os pares vm dos usurios , e .

Assim que os usurios em comuns tenham sido identificados, podemos


calcular a similaridade entre eles usando diferentes algoritmos de similaridade.
Vemos abaixo alguns deles:

Cosseno
A similaridade entre dois itens,

, dada por uma pequena modificao

(5) na equao (3), pois dada no conjunto,

}.

15

Pearson
O coeficiente de Pearson tambm usado para calcular similaridades entre
itens sendo obtida pela equao (6):

Onde e representam a mdia das avaliaes de e respectivamente.

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].

Onde a mdia de todas as avaliaes do usurio .


3.2.2 Predio
Assim que o conjunto de itens mais similares seja determinado devemos
aplicar uma tcnica que permita calcular as predies usando o conjunto de itens
avaliados. Com predies podemos enfim gerar uma lista Top-N [12] com os
melhores itens avaliados como recomendao para o usurio.
Uma das formas de se calcular a predio de um item

para um usurio

pela a soma das notas dadas pelo usurio para itens similares ao item
pela similaridade
determinar a predio

, onde

um dos itens similares a

por (8):

ponderado

. Assim, podemos

16

3.2.3 Tamanho do Modelo


Como vimos na seo anterior, algoritmos baseado em memria apresentam
problemas de escalabilidade. Os algoritmos baseados em modelos tm uma grande
vantagem com relao aos primeiros, eles podem ser divididos em duas fases, uma
off-line e outra online, i.e., a fase de calculo de similaridades entre itens pode ser
computada e armazenada em uma estrutura. No momento da recomendao, um
simples acesso a essa estrutura busca pelas similaridades necessrias tornando
oprocesso de recomendao bastante rpido [12, 20, 28]. Outra vantagem que a
escalabilidade deste modelo independe do tamanho da base de usurios.
A estrutura que armazena de similaridade precisa apenas ser atualizada de
tempos em tempos para refletir as mudanas nas relaes entre os itens. Porm
essas relaes so estveis e no mudam to frequentemente quanto a relao
entre usurios.
As similaridades podem ser vistas como uma matriz quadrada de tamanho
. Apesar de economizar tempo, esse modelo requer

de espao. Na

prtica, precisamos de um nmero pequeno de itens similares para se realizar a


predio. Em consequncia, Sarwar et al. [28] sugeriram o conceito de tamanho do
modelo. Para cada item

computamos os

itens mais similares de

registramos esses itens e suas similaridades com . O nmero


tamanho do modelo. Para gerar a predio para o item
modelo, o algoritmo recupera a lista dos

onde

corresponde ao

para o usurio

nesse

itens similares ao item e faz a interseo

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

off-line). Assim, no momento em for realizado a recomendao basta acessar os


dados de similaridade acelerando o processo de recomendao (modo online).
Embora seja uma boa estratgia separar o processo em duas etapas, uma off-line e
outra online, a quantidade de usurios do sistema sofre alteraes frequentemente o
que inviabiliza a aplicao dessa tcnica de modelos filtragem colaborativa
baseada em usurio.
Adicionalmente, a tcnica de sistemas baseados em itens mais passvel de
se usar para explicar as recomendaes. Isto porque usurios lembram o que j
avaliaram, mas no pode racionalizar sobre a escolha dos vizinhos [19].

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

A base de dados usada para avalio dos sistemas de recomendao


colaborativos MovieLens (ML). ML um conjunto de dados pblico no binrio
extrado de um sistema de recomendao de pesquisa baseado na Web. A escala
de avaliao adotada [1... 5] e 0 representa itens no avaliados. Existem 943
usurios e itens de 1682. Cada usurio avaliou pelo menos 20 itens (filmes). O
conjunto de dados tem 100,000 classificaes. Outro fator levado em considerao
o nvel de disperso ou esparsidade dado por
disperso de ML ento

. O nvel de

. Por tanto o nvel de disperso de

de 93,69% e um nmero mdio de classificaes iguais a 106 por usurio.

4.2

Mtricas de avaliao

A acurcia dos sistemas de recomendao pode ser medida de forma


estatstica ou por suporte deciso [1]. Mtricas estatsticas de acurcia comparam
a estimativa das avaliaes com as avaliaes reais dos usurios [7, 31] e incluem
Raiz do Erro Mdio Quadrtico (Root Mean Square Error) [RMSE], Erro Mdio
Absoluto (Mean Absolute Error) MAE, Erro Mdio Absoluto Normalizado (Normalized
Mean Absolute Error) NMAE. Mtricas de suporte deciso determinam o quo bem
um sistema de recomendao pode fazer predies de alta relevncia, ou seja, itens
que seriam bem classificados pelo usurio. Nessa categoria encontram-se as
mtricas clssicas de RI de preciso, i.e. a porcentagem de item verdadeiramente

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

Os experimentos propostos investigam a qualidade e desempenho dos


sistemas de recomendao propostos. Foram realizadas diversas comparaes
sobre as variveis de estudo e os resultados so mostrados a seguir:
4.3.1 Efeito da similaridade
Foram implementados trs algoritmos diferentes de similaridade: cosseno,
correlao e cosseno ajustado. Os testes foram conduzidos em um sistema de
recomendao baseado em usurio. A figura 4 mostra que o algoritmo de
similaridade do cosseno ajustado proposto por Sarwar et al. [28] obteve o melhor
desempenho. J a similaridade por cosseno, obteve o pior desempenho. Por essa
razo este foi escolhido como algoritmo de similaridade para os demais testes.

Desempenho Relativo entre Diferentes


Algoritmos de Similaridade
0,8
0,6
0,4
MAE

0,2
0
Cosseno
Ajustado

Pearson

Cosseno

Figura 4 - Impacto de diferentes medidas de similaridades usando FC baseada em usurio.

4.3.2 Experimentos com o tamanho da vizinhana


O nmero de vizinhos tem impacto significativo no desempenho dos sistemas
de recomendao [17]. Para determinar a importncia desse parmetro na qualidade
das recomendaes o nmero de vizinhos foi variado gradativamente usando um
sistema de filtragem baseada em usurio e o valor do erro MAE foi computado. Os
resultados so mostrados na figura 5. Pode se constatar que o valor do MAE cai

21

drasticamente assim que se considera uma vizinhana maior. No entanto, aps


atingir um valor mnimo o MAE aumenta e estabiliza. A explicao para isso que a
contribuio dos vizinhos na predio no to similares tende a degradar a
qualidade da predio considerando apenas os vizinhos mais similares. Alm disso,
medida que a vizinhana aumenta o custo computacional da predio dada por (2)
ou (8) tambm aumenta. O menor valor do MAE obtido com vizinhana com
tamanho prximo a 40, por esse motivo foi escolhido como o valor timo para esse
parmetro.

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

90 100 125 150 200

Figura 5 Sensibilidade do parmetro de vizinhana.

4.3.3 Experimentos de Qualidade


Com a finalidade de comparar a qualidade das recomendaes entre sistemas
baseados em usurio e sistemas baseados em itens, novos experimentos
comparativos foram realizados. O objetivo foi medir o valor MAE para ambos os
sistemas comparativamente para diferentes valores de tamanho de vizinhana. Um
sistema usurio-a-usurio (user-user) e um sistema item-a-item (item-item) so
sistemas baseados em memria que consideram cada outro usurio, ou item,

22

respectivamente como potencial vizinho na hora de determinar a vizinhana no


processo de recomendao [28]. A experimentao relativa qualidade das
recomendaes usa tais sistemas porque eles oferecem a melhor qualidade possvel
comparado com sistemas baseados em modelos j que usando todos os dados no
h perda de informao. A figura 6 mostra o comparativo dos desempenhos dos
dois sistemas. Os dados experimentais mostram que o sistema item-a-item tem
desempenho superior ao usurio-a-usurio em todos os valores de vizinhana
testados.

Comparativo entre Sistemas Colaborativos


0,7
0,6
0,5
0,4
Item-Item
0,3

Usuario-Usuario

0,2
0,1
0
10

20

30

40

50

60

70

80

90 100 125 150 200

Figura 6 Comparativo de desempenho entre sistemas baseados em usurios e itens.

4.1

Sensibilidade do Tamanho do Modelo

Sistemas

de

filtragem

colaborativa

por

item

baseado

em

modelo

mantmapenas as relaes entre itens mais relevantes para resolver o problema de


recomendao. Um modelo de tamanho

significa considera apenas os

similares para a construo do modelo depois usa os


predio [28]. Usando um valor pequeno de

itens mais

itens para a gerao de

garante que a matriz de similaridade

23

entre itens esparsa e pode armazenada na memria, promovendo uma rpida


resposta no processo de recomendao [12].
Para determinar o impacto do tamanho do modelo na qualidade das
recomendaes foram realizados diferentes experimentos variando o valor de k de
25 a 200 com incrementos de 25. Os resultados apresentados na figura 7mostram
que a qualidade das predies aumenta com o tamanho do modelo, i.e., o valor do
erro MAE diminui. No entanto a queda do MAE mais acentuada no intervalo de
entre 25 a 75 e depois diminui de forma discreta. Esse resultado importante mostra
que nesses modelos a qualidade da predio alta mesmo usando uma frao dos
itens e com custo computacional menor.

Sensibilidade do Tamanho do Modelo


0,65
0,6
0,55
0,5

baseado em item

0,45
0,4

Figura 7 Sensibilidade do tamanho do modelo na abordagem por item.

4.2

Discusso

Os resultados experimentais obtidos nesse estudo so consistentes com os


resultados de outras pesquisas.Pode se observar, primeiramente, que a similaridade
tem grande impacto no grau de exatido das estimativas bem como o tamanho do

24

parmetro de vizinhana escolhido. As diferenas entre os dois tipos de sistemas de


filtragem colaborativa cerca da qualidade das recomendaes e detalhes de
implementao mostram que os sistemas baseados em item se mostram mais
adequados a grande demanda dados dos dias atuais. Pois estes so capazes atingir
desempenho semelhante ou melhor que os primeiros a um custo computacional
menor. Isso se deve em grande parte a observao de que a relao entre os itens
tipicamente esttica e permite que ela seja pr-calculada tornando possvel se obter
alta performance na recomendao online. No tocante a sistemas baseado em item
por modelo, proposto por Sarwar et al. [28], constata-se que possvel guardar
apenas um subconjunto dos itens e ainda assim obter uma qualidade satisfatria nas
predies. Portanto, os sistemas baseado em item so capazes de resolver os dois
maiores desafios da rea de SR: produzir recomendaes de qualidade com alto
desempenho e escalabilidade.

25

5. Concluses e Trabalhos Futuros


Sistema de Recomendao uma tecnologia poderosa cada vez mais
indispensvel s empresas que desejam potencializar seus negcios promovendo
experincias, de compra e marketing, por exemplo, diferenciadas para seus clientes.
Ao mesmo tempo, ela ajuda a solucionar o problema de excesso de informao
filtrando pro ativamente contedo que seja relevante para as pessoas que interagem
com essa tecnologia. Vimos que a grande variedade de aplicaes possveis, que
varia de recomendao de produtos em sites de e-commerce de recomendao de
piadas e rotas de ciclismo, alm da riqueza intelectual promovida pelas pesquisas,
aquecem a rea e a torna instigante.
Os sistemas de recomendao colaborativos, vistos no presente estudo,
diferentemente dos sistemas de filtragem por contedo que se baseiam nas
caractersticas dos itens que se deseja recomendar, usam a percepo da
inteligncia coletiva [2] como estratgia eficaz para obter recomendao.
Observamos que os sistemas colaborativos baseados em item, em especial o
baseado em modelo, so mais preparados para suportar a crescente demanda de
dados garantindo ao mesmo tempo alta qualidade das recomendaes e alto
desempenho.
Embora as mtricas de desempenho estudas sejam largamente utilizadas para
avaliar a preciso e qualidade dos sistemas de recomendao, preciso investigar
outras outros mtodos e critrios [1, 10]. Sugerir a um cliente de supermercado que
ele compre po s porque ele faz isso todas as vezes que vai ao supermercado no
de grande valia embora essa abordagem certamente demostraria uma alta
acurcia [1, 37]. esperado que as recomendaes tenham certo nvel de novidade,
surpresa, descoberta e mtricas especficas para avaliar tais critrios [13, 35, 37].
Diversas pesquisas se aprofundam nessas questes propondo mtricas alternativas
para avaliar a qualidade dos sistemas, e.g., mtricas orientadas economia
estipulam os sistemas com relao ao retorno do investimento (ROI) e valor
agregado ao cliente [1]. Estes ainda so ativos na rea de pesquisa assim como

26

pesquisas para propor novas formas e algoritmos para computar similaridade de


forma mais eficiente [36]. Por se tratar de uma rea ampla e multidisciplinar, as
pesquisas tambm exploram outros aspectos importantes como explicabilidade,
confiabilidade e privacidade [1].
Os sistemas estudados recomendam uma lista ordenada com os itens
melhores estimados (Top-N). No obstante esta forma ser til em diversas
aplicaes em outras pode no ser o caso. Um sistema de recomendao de msica
online em stream (como o jango.com ou grooveshark.com) no pode tocar as
msicas na ordem da mais interessante para a menos, pois corre o risco de perder o
interesse dos usurios com o tempo. Uma estratgia diferente se faz necessria
como intercalar as melhores msicas em meio a outras.
Diante do exposto, considera-se que os sistemas apresentados so factveis e
adequados para implementao do sistema de recomendao de livros em particular
o sistema de filtragem colaborativa por modelo proposto por Sarwar et al. [28]. A
razo a sua simplicidade, escalabilidade e qualidade nas predies mesmo em
base de dados esparas.
Em trabalhos futuros uma melhor investigao com relao melhoria na lista
final de recomendao levando em considerao outros critrios alm de mtricas
de preciso estatsticas alm de estudos com relao melhoria da performance
geral dos sistemas ser estudada.

27

6. Referncias Bibliogrficas

[1] ADOMAVICIUS, G.; TUZHILIN, A. Toward the next generation of recommender


systems: A survey of the state-of-the-art and possible extensions. Knowledge
and Data Engineering, IEEE Transactions on, v. 17, n. 6, p. 734-749, 2005.
[2] ALAG, S.; MACMANUS, R. Collective intelligence in action. Manning New
York, 2009. ISBN 1933988312.
[3] BAEZA-YATES, R.; RIBEIRO-NETO, B. Modern information retrieval. ACM
press New York, 1999.
[4] BALABANOVI, M.; SHOHAM, Y. Fab: content-based, collaborative
recommendation. Communications of the ACM, v. 40, n. 3, p. 66-72, 1997.
[5] BELKIN, N. J.; CROFT, W. B. Information filtering and information retrieval: two
sides of the same coin? Communications of the ACM, v. 35, n. 12, p. 29-38,
1992.
[6] BREESE, J. S.; HECKERMAN, D.; KADIE, C. Empirical analysis of predictive
algorithms for collaborative filtering. Proceedings of the Fourteenth conference
on Uncertainty in artificial intelligence, 1998. Morgan Kaufmann Publishers
Inc. p.43-52.
[7] CARENINI, G. User-specific decision-theoretic accuracy metrics for
collaborative filtering. Proceedings of the Wokshop Beyond Personalization
2005, in conjunction with the International Conference on Intelligent User
Interfaces IUI05, 2005. p.26-30.
[8] CELMA, O.; LAMERE, P. Music recommendation tutorial. ISMIR. Vienna,
Austria,2007.
[9] CLAYPOOL, M. et al. Combining content-based and collaborative filters in an
online newspaper. Proceedings of ACM SIGIR workshop on recommender
systems, 1999. Citeseer.
[10] CREMONESI, P.; KOREN, Y.; TURRIN, R. Performance of recommender
algorithms on top-n recommendation tasks. Proceedings of the fourth ACM
conference on Recommender systems, 2010. ACM. p.39-46.
[11] CREMONESI, P. et al. An evaluation methodology for collaborative
recommender systems. Automated solutions for Cross Media Content and

28

Multi-channel Distribution, 2008. AXMEDIS'08. International Conference on,


2008. IEEE. p. 224-231.
[12] DESHPANDE, M.; KARYPIS, G. Item-based top-n recommendation
algorithms. ACM Transactions on Information Systems (TOIS), v. 22, n. 1, p.
143-177, 2004.
[13] FLEDER, D.; K. HOSANAGAR (2009). "Blockbuster culture's next rise or fall:
The impact of recommender systems on sales diversity." Management science
55(5): 697-712.
[14] GOLDBERG, D. et al. Using collaborative filtering to weave an information
tapestry. Communications of the ACM, v. 35, n. 12, p. 61-70, 1992.
[15] GOLDBERG, K. et al. Eigentaste: A constant time collaborative filtering
algorithm. Information Retrieval, v. 4, n. 2, p. 133-151, 2001.
[16] GROUPLENS, 2002, GroupLens homepage, http://www.grouplens.org,
acessado em 26/04/2013.
[17] HERLOCKER, J. L. et al. An algorithmic framework for performing
collaborative filtering. Proceedings of the 22nd annual international ACM SIGIR
conference on Research and development in information retrieval, 1999.
ACM. p.230-237.
[18] HERLOCKER, J. L.; KONSTAN, J. A.; RIEDL, J. Explaining collaborative
filtering recommendations. Proceedings of the 2000 ACM conference on
Computer supported cooperative work, 2000. ACM. p.241-250.
[19] KOREN, Y. Factor in the neighbors: Scalable and accurate collaborative
filtering. ACM Transactions on Knowledge Discovery from Data (TKDD), v.
4, n. 1, p. 1, 2010.
[20] LAWRENCE, S. Context in web search. IEEE Data engineering bulletin, v.
23, n. 3, p. 25-32, 2000.
[21] LINDEN, G.; SMITH, B.; YORK, J. Amazon. com recommendations: Item-toitem collaborative filtering. Internet Computing, IEEE, v. 7, n. 1, p. 76-80,2003.
[22] MELVILLE, P.; MOONEY, R. J.; NAGARAJAN, R. Content-boosted
collaborative filtering for improved recommendations. Proceedings of the
National Conference on Artificial Intelligence, 2002. Menlo Park, CA;
Cambridge, MA; London; AAAI Press; MIT Press; 1999. p.187-192.

29

[23] MIZZARO, S. Relevance: The whole history. Journal of the American


society for information science, v. 48, n. 9, p. 810-832, 1997.
[24] REFAEILZADEH, P.; TANG, L.; LIU, H. Cross-validation. Encyclopedia of
Database Systems, v. 3, p. 532-38, 2009.
[25] RESNICK, P. et al. GroupLens: an open architecture for collaborative filtering
of netnews. Proceedings of the 1994 ACM conference on Computer supported
cooperative work, 1994. ACM. p.175-186.
[26] RESNICK, P.; VARIAN, H. R. Recommender systems. Communications of
the ACM, v. 40, n. 3, p. 56-58, 1997.
[27] SALTON, G. Automatic Text Processing: The Transformation, Analysis,
and Retrieval of. Addison-Wesley, 1989. ISBN 0201122278.
[28] SARWAR, B. et al. Item-based collaborative filtering recommendation
algorithms. Proceedings of the 10th international conference on World Wide
Web, 2001. ACM. p.285-295.
[29] SCHAFER, J. B. et al. Collaborative filtering recommender systems. In: (Ed.).
The adaptive web: Springer, 2007. p.291-324. ISBN 3540720782.
[30] SCHAFER, J. B.; KONSTAN, J. A.; RIEDL, J. E-commerce recommendation
applications. In: (Ed.). Applications of Data Mining to Electronic Commerce:
Springer, 2001. p.115-153. ISBN 1461356482.
[31] SCHEIN, A. I. et al. Methods and metrics for cold-start recommendations.
Proceedings of the 25th annual international ACM SIGIR conference on
Research and development in information retrieval, 2002. ACM. p.253-260.
[32] SEGARAN, T. Programming collective intelligence: building smart web
2.0 applications. O'Reilly Media, 2008. ISBN 0596550685.
[33] SHARDANAND, U.; MAES, P. Social information filtering: algorithms for
automating word of mouth. Proceedings of the SIGCHI conference on Human
factors in computing systems, 1995. ACM Press/Addison-Wesley Publishing
Co. p.210-217.
[34] TAKCS, G. et al. Scalable collaborative filtering approaches for large
recommender systems. The Journal of Machine Learning Research, v. 10, p.
623-656, 2009.
[35] VARGAS, S. New approaches to diversity and novelty in recommender
systems. Fourth BCS-IRSG symposium on future directions in information

30

access (FDIA 2011), Koblenz, 2011.


[36] WANG, J.; DE VRIES, A. P.; REINDERS, M. J. Unifying user-based and itembased collaborative filtering approaches by similarity fusion. Proceedings of the
29th annual international ACM SIGIR conference on Research and
development in information retrieval, 2006. ACM. p.501-508.
[37] ZIEGLER, C.-N. et al. Improving recommendation lists through topic
diversification. Proceedings of the 14th international conference on World Wide
Web, 2005. ACM. p.22-32.

Você também pode gostar