Estudo sobre Sistemas de Recomendação Colaborativos

download Estudo sobre  Sistemas de  Recomendação  Colaborativos

of 42

description

Estudo sobre Sistemas de Recomendação Colaborativos

Transcript of Estudo sobre Sistemas de Recomendação Colaborativos

  • Estudo sobre

    Sistemas de

    Recomendao

    Colaborativos

    UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAO EM CINCIA DA COMPUTAO

    CENTRO DE INFORMTICA

    Aluno: Igor Rafael Guimares Medeiros ([email protected])

    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

    ([email protected])

    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

    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

    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

  • 3

    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.

  • 4

    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

  • 5

    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 o

    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., , onde um conjunto totalmente ordenado.

    Ento, para cada usurio , 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 de usurio e

    itens onde cada clula corresponde avaliao, nota, do usurio ao item .

  • 6

    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:

  • 7

    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

  • 8

    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

  • 9

    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 usurios

    { e uma lista de itens { . Cada usurio possui

    uma lista de itens , em que o usurio tenha expressado suas preferncias ou

    gostos. Vale salientar que e que o conjunto pode ser vazio. Definimos

    tambm que existe um usurio 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, , que expressa a nota ou avaliao do item

    para o usurio alvo .

    Recomendao uma lista de itens, , que o usurio ativo

    provavelmente ir gostar, observando que . 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 vizinhos mais

    similares ao usurio alvo, . Onde o nmero que determina o tamanho da

    vizinhana de pode variar de 1 a , nmero de todos os usurios da base. A

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

    Nesta equao, um fator de normalizao dado pela equao

    e

    representa um vizinho de . Outro ponto que

    ambos e 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 e 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 e 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 o 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 e

    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 e isolar os

    usurio que tenham avaliados ambos e e depois aplicar uma tcnica de

    similaridade para computar a similaridade . 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 ponderado

    pela similaridade , onde um dos itens similares a . Assim, podemos

    determinar a predio por (8):

  • 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 onde e

    registramos esses itens e suas similaridades com . O nmero corresponde ao

    tamanho do modelo. Para gerar a predio para o item para o usurio nesse

    modelo, o algoritmo recupera a lista dos 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

    . O nvel de

    disperso de ML ento

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

    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

    0

    0,2

    0,4

    0,6

    0,8

    CossenoAjustado

    Pearson Cosseno

    Desempenho Relativo entre Diferentes Algoritmos de Similaridade

    MAE

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

    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,

    0,3

    0,35

    0,4

    0,45

    0,5

    0,55

    0,6

    0,65

    0,7

    10 20 30 40 50 60 70 80 90 100 125 150 200

    Sensibilidade da Vizinhana

    baseado em usuario

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

    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 itens mais

    similares para a construo do modelo depois usa os itens para a gerao de

    predio [28]. Usando um valor pequeno de garante que a matriz de similaridade

    0

    0,1

    0,2

    0,3

    0,4

    0,5

    0,6

    0,7

    10 20 30 40 50 60 70 80 90 100 125 150 200

    Comparativo entre Sistemas Colaborativos

    Item-Item

    Usuario-Usuario

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

    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

    0,4

    0,45

    0,5

    0,55

    0,6

    0,65

    Sensibilidade do Tamanho do Modelo

    baseado em item

  • 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-to-item 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 item-based 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.