Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação...

32
Universidade Federal de Pernambuco Centro de Informática Graduação em Ciência da Computação Sistema de recomendação baseado em filtragem colaborativa em uma base de dados de feedback implícito Danielle Sales de Oliveira Trabalho de Graduação Recife 2019

Transcript of Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação...

Page 1: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

Universidade Federal de PernambucoCentro de Informática

Graduação em Ciência da Computação

Sistema de recomendação baseado emfiltragem colaborativa em uma base de

dados de feedback implícito

Danielle Sales de Oliveira

Trabalho de Graduação

Recife2019

Page 2: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

Universidade Federal de PernambucoCentro de Informática

Danielle Sales de Oliveira

Sistema de recomendação baseado em filtragem colaborativaem uma base de dados de feedback implícito

Trabalho apresentado ao Programa de Graduação em Ci-ência da Computação do Centro de Informática da Univer-sidade Federal de Pernambuco como requisito parcial paraobtenção do grau de Bacharel em Ciência da Computação.

Orientador: Ricardo Bastos Cavalcante Prudêncio

Recife2019

Page 3: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

Agradecimentos

Em primeiro lugar, gostaria de agradecer a minha família, especialmente meus pais, Diana eRoberto, meu irmão, Daniel, minha irmã, Roberta, e minha avós, Irinéa e Judite, por todo amore suporte.

A Vinicius Paes, por todo apoio, por sempre me incentivar e me ajudar a melhorar e por meencorajar em todos os momentos que pensei em desistir.

A meus tios, Horácio e Andréia, e meus primos, Zito e Beatriz, por me acolherem tão bemem sua casa durante meus três primeiros anos em Recife.

A todos os professores que passaram por minha vida escolar e acadêmica, em especial aMário Rodrigues, por tudo que me ensinou nos três anos de Ensino Médio e que foi muito alémdo colégio, e Ricardo Prudêncio, por ter me orientado neste trabalho.

As pessoas incríveis que pude conhecer no CIn, especialmente Arthur Henrique, AyrtonBrito, Carolina Melo, Cecília Hunka, Eládia Cristina, Lucas Falbo e Pedro Torchio.

A todos que são ou passaram pelo projeto WiSL por tudo que aprendi e evolui nesse últimoano, em especial Dayse Ferreira, Felipe Cavalcanti e Pedro Vinícius.

A Amanda Cavalcanti, Bruna Letícia, Irys Andrade, Maed Ferreira e Maryllia Borges, pelaamizade desde o colégio até hoje, mesmo com a distância e dificuldade de se encontrar, e porsempre acreditarem em mim.

iii

Page 4: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

Resumo

Sistemas de recomendação baseados em filtragem colaborativa são usados para sugerir itenspara um determinado usuário a partir da opinião de outros usuários parecidos. Esta opiniãopode ser coletada de forma implícita ou explícita e, apesar do feedback implícito ser maiscomum na prática, o explícito ainda é mais comum na literatura. O objetivo deste trabalho éanalisar a técnica de filtragem colaborativa baseada em modelo em um conjunto de dados defeedback implícito. Para isso, foram feitos experimentos de transformação de ratings e umaanálise por grupo de usuários.

Palavras-chave: Sistema de Recomendação, Filtragem Colaborativa, Feedback Implícito

iv

Page 5: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

Abstract

Collaborative filtering based recommender systems are used to suggest items to a target userbased on similar user’s opinions. This opinion can be collected implictly or explicitly and,although implicit feedback is more common in practical applications, explicit feedback is morecommon on literature. This work aims to analyze the collaborative filtering model based ap-proach in a implicit feedback dataset. To achieve this, rating transformation experiments wereperformed and an analysis by user groups was carried out.

Keywords: Recommender System, Collaborative Filtering, Implicit Feedback

v

Page 6: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

Sumário

1 Introdução 11.1 Contexto 11.2 Objetivo 11.3 Estrutura do Trabalho 1

2 Sistemas de Recomendação 32.1 Modelos de Sistemas de Recomendação 3

2.1.1 Sistema de Recomendação baseado em Filtragem Colaborativa 32.1.2 Sistema de Recomendação baseado em Conteúdo 42.1.3 Sistema de Recomendação Híbrido 4

2.2 Tipos de feedback 52.2.1 Feedback explícito 62.2.2 Feedback implícito 6

3 Filtragem Colaborativa 83.1 Desafios da Filtragem Colaborativa 8

3.1.1 Problema de Cold Start 83.1.2 Esparsidade 83.1.3 Escalabilidade 9

3.2 Filtragem Colaborativa baseada em Vizinhança 93.2.1 Baseado em Usuário 93.2.2 Baseado em Item 93.2.3 Algoritmos de correlação 10

3.2.3.1 Correlação de Pearson 103.2.3.2 Similaridade cosseno 10

3.3 Filtragem Colaborativa baseada em Modelo 103.3.1 Princípios básicos de Fatoração de Matriz 113.3.2 SVD 113.3.3 Algoritmos de Aprendizagem 12

3.3.3.1 Gradiente descendente 123.3.3.2 Mínimos quadrados alternados 13

4 Experimentos 144.1 Base de dados 144.2 Metodologia 144.3 Resultados 15

vi

Page 7: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

SUMÁRIO vii

4.3.1 Transformação de ratings 154.3.2 Usuários pouco ativos x usuários muito ativos 15

4.3.2.1 Por quantidade de artistas escutados 174.3.2.2 Por listening count 18

5 Conclusão 19

Page 8: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

Lista de Figuras

2.1 Exemplos de feedback explicíto 62.2 Exemplo de feedback implícito 7

4.1 Trasformação de Ratings: Recall x N 164.2 Trasformação de Ratings: Precision x Recall 164.3 Comparação entre usuários por artista: Recall x N 174.4 Comparação entre usuários por artista: Precision x Recall 174.5 Comparação entre usuários por listening count: Recall x N 184.6 Comparação entre usuários por listening count: Precision x Recall 18

viii

Page 9: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

Lista de Tabelas

2.1 Exemplo de matriz usuário-item 3

4.1 Comparação dos resultados da transformação de rating 164.2 Comparação entre usuários em relação ao número de artistas escutados 174.3 Comparação entre usuários em relação ao listening count 18

ix

Page 10: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

CAPÍTULO 1

Introdução

1.1 Contexto

Ao mesmo tempo que a internet trouxe facilidade de comunicação e de obter informaçõesrapidamente, isso teve como consequência um aumento excessivo no número de dados que éexposto para as pessoas todos os dias. Esse fenômeno é chamado de Information Overload[30], um exemplo disso é que mais de 400 horas de conteúdo são enviados para o Youtubediariamente [6]. Sistemas de recomendação se tornaram um campo de estudo importante desdea publicação dos primeiros artigos sobre filtragem colaborativa em meados dos anos 1990 [7] esão utilizados para tentar direcionar conteúdos mais relevantes para o usuário, aumentando aschances que ele compre um produto ou que ele passe mais tempo em um determinado site.

Para se ter uma ideia da importância dos sistemas de recomendação, em 2006, a Netlix [3]criou o Netflix Prize [4], que dava um prêmio de 1 milhão de dólares para quem conseguissedesenvolver um sistema de recomendação com acurácia pelo menos 10% melhor que a doCinematch, que era o sistema desenvolvido e utilizado por eles na época.

Há diversas informações que podem ser usadas para gerar recomendações e elas podem serdadas implícita ou explicitamente pelo usuário, chamamos de feedback implícito e explícito,respectivamente. E também existem diversas abordagens que podem ser usadas para criar sis-temas de recomendação, cada uma com suas vantagens e desvantagens, e elas também podemser combinadas. Este trabalho foca na filtragem colaborativa, que recomenda itens baseado naavaliação de outros usuários [21], mas também falará sobre outras técnicas.

1.2 Objetivo

O objetivo deste trabalho é aplicar técnicas de filtragem colaborativa em um dataset de feedbackimplícito que possui dados coletados da rede social Last.fm [2] e analisar seus resultados.

Como os resultados dos experimentos utilizando algoritmos baseados em Vizinhança ti-veram resultados muito baixos, este trabalho focará nas análises da Filtragem Colaborativabaseada em Modelo.

1.3 Estrutura do Trabalho

Este trabalho é dividido da seguinte forma: o capítulo 2 introduz alguns conceitos básicos,mostrando diferentes modelos de Sistemas de Recomendação, além de definir e dar exemplos

1

Page 11: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

1.3 ESTRUTURA DO TRABALHO 2

de feedback implícito e explícito. O capítulo 3 dá mais detalhes sobre as técnicas baseadas emFiltragem Colaborativa, mostrando os desafios, as abordagens baseados em Vizinhança e Mo-delo e alguns algoritmos de correlação e de aprendizagem que são usados nessas técnicas. Nocapítulo 4, será mostrada a metodologia e resultados dos experimentos. E, por fim, o capítulo5 mostrará as conclusões e possíveis direcionamentos para trabalhos futuros.

Page 12: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

CAPÍTULO 2

Sistemas de Recomendação

Sistemas de Recomendação (SR) servem para indicar itens que um determinado usuário possaachar útil [21], esses itens podem ser filmes, produtos, músicas, usuários, entre outros. Tipi-camente, SRs utilizam a interação entre usuários e itens para gerar sugestões. Essa interaçãoé representada através de uma matriz usuário-item, onde as linhas representam os usuários, ascolunas representam os itens e os elementos são as notas, que podem ser fornecidas implícitaou explicitamente. Um elemento vazio indica que não houve uma interação do usuário como item. Na Tabela 2.1, temos três usuários e cinco itens e podemos ver, por exemplo, que ousuário 1 avaliou os itens 1 e 3 com as notas 5 e 2, respectivamente.

i1 i2 i3 i4 i5u1 5 2u2 3 5 4u3 1 3

Tabela 2.1: Exemplo de matriz usuário-item

2.1 Modelos de Sistemas de Recomendação

Diversas abordagens podem ser usadas para criar um SR, algumas delas serão descritas abaixo.

2.1.1 Sistema de Recomendação baseado em Filtragem Colaborativa

A técnica de filtragem colaborativa (FC) recomenda itens baseada na avaliação de outros usuá-rios. A FC pode utilizar a abordagem baseada em vizinhança ou baseada em modelo.

Na primeira, calcula-se os k vizinhos mais próximos do usuário através de algoritmos desimilaridade e depois uma nota é computada para os itens não avaliados. Estes itens são ran-queados e os que estiveram nas primeiras n posições são recomendados.

A abordagem baseada em modelo usa a matriz usuário-item para criar um modelo preditivo.Esta técnica utiliza fatoração de matrizes para agrupar diferentes usuários em um pequenonúmero de classes baseado no padrão das avaliações de cada um. Para recomendar itens a umusuário novo, ele primeiro é classificado em uma das classes criadas, que é usada para gerar asrecomendações. Este método consegue ter uma cobertura alta mesmo em matrizes esparsas, ouseja, matrizes onde há uma quantidade grandes de elementos vazios. [8][17][30]

O capítulo 3 descreverá a Filtragem Colaborativa com mais detalhes.

3

Page 13: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

2.1 MODELOS DE SISTEMAS DE RECOMENDAÇÃO 4

2.1.2 Sistema de Recomendação baseado em Conteúdo

A recomendação baseada em conteúdo tem origem na Recuperação de Informação, portantoambas utilizam técnicas semelhantes. Diferente da filtragem colaborativa, que recomenda itensque usuários semelhantes ao usuário alvo gostaram, o SR baseado em conteúdo recomendaitens parecidos com os itens que o usuário gostou [9]. Para isso, um modelo é construídobaseado na descrição dos itens avaliados por um usuário, este modelo é uma representação dosinteresses do usuário. Para recomendar novos itens, os atributos destes são comparados com osatributos do modelo do usuário alvo. [20]

O processo de recomendação é baseado em três passos:

1. Pré-processamento e extração de features: sistemas baseados em conteúdo podem serusados em diversos contextos: páginas web, descrições de produtos, notícias, entre ou-tros. O primeiro passo é extrair as informações e armazená-las em um modelo de espaçovetorial (vector space model) que será usado como entrada para os próximos passos.

2. Aprendizagem de perfil dos usuários: neste passo, um modelo é criado para um determi-nado usuário através de técnicas de apredizagem de máquina com o objetivo de inferir osinteresses deste usuário baseado em itens previamente avaliados.

3. Filtragem e recomendação: por último, o modelo criado no passo anterior é usado parafazer recomendações ao usuário.

Algumas das vantagens desta técnica são: não depende da avaliação de outros usuários, poisapenas os itens avaliados pelo usuário alvo importam; é capaz de recomendar itens que aindanão foram avaliados por nenhum usuário e é possível saber quais as features fizeram um deter-minado item ser recomendado. Por outro lado, não é possível fazer uma análise muito complexado conteúdo, já que o texto representa apenas uma parte dele, por exemplo, não conseguimosrecomendar um poema a um usuário apenas com a frequência das palavras dos poemas avalia-dos anteriormente. Um outro problema é a superespecialização (Over-Specialization), em umSR baseado em conteúdo, o usuário tende receber recomendações muito parecidas com o quejá consome e dificilmente algo novo é sugerido. Por fim, não é possível fazer recomendaçõesconfiáveis quando o usuário é novo, já que esta abordagem depende das avaliações já feitas.[9][20]

2.1.3 Sistema de Recomendação Híbrido

Os SRs Híbridos combinam mais de um tipo de técnica com o objetivo de ampliar as vantagensde cada uma e diminuir as desvantagens associadas a cada método. De acordo com Burke [12],as técnicas de hibridização podem ser classificadas de sete maneiras.

1. Weigthed: neste método, a nota de um item é computada a partir dos resultados de todasas técnicas usadas no sistema. Um exemplo simples é fazer uma combinação lineardos ratings, mas também é possível aplicar técnicas mais complexas, como métodosestatísticos formais [8].

Page 14: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

2.2 TIPOS DE FEEDBACK 5

2. Switching: neste caso são definidos critérios para alternar entre diferentes técnicas deacordo com a situação. Um exemplo de SR que aplica este método é o DailyLearner[11], que inicialmente usa um sistema baseado em conteúdo e, caso este não consigafazer uma recomendação com confiança suficiente, um sistema baseado em filtragemcolaborativa é usado.

3. Mixed: no método Mixed as recomendações de mais de uma técnica são apresentadas aomesmo tempo. Um SR que utiliza esta técnica é o PTV [14], este sistema recomendaprogramas de TV a partir de um SR baseado em conteúdo, que utiliza as descriçõesdos programas de TV para gerar as recomendações e de um SR baseado em FiltragemColaborativa, que sugere programas a partir da preferência de outros usuários.

4. Feature combination: nesta técnica, diferentes features são utilizadas como entrada paraum único algoritmo. Uma forma de criar um híbrido entre os SRs baseado em conteúdoe baseado em FC com a Feature combination é usar a matriz usuário-item como umacaracterística a mais dos itens e aplicar um algoritmo baseado em conteúdo nesta novabase de dados.

5. Cascade: ao contrário dos métodos descritos anteriormente, no Cascade os algoritmossão aplicados em sequência. O primeiro algoritmo gera uma lista de recomendações eo segundo aperfeiçoa esta lista. No sistema de recomendação de restaurantes EntreeC[12], um algoritmo baseado em conhecimento, que usa como entrada os interesses decla-rados pelo usuário, é aplicado primeiro e retorna uma lista de restaurantes, onde todas asrecomendações possuem o mesmo grau de importância. Depois um algoritmo de FC éaplicado para ranquear as sugestões.

6. Feature augmentation: no Feature augmentation, o primeiro algoritmo gera uma nota ouclassificação para um item, e isso é utilizado como entrada para um segundo algoritmo.No sistema Libra [22], por exemplo, as recomendações são feitas por um algoritmo ba-seado em conteúdo que utiliza dados da Amazon, incluindo as informações de autorese títulos relacionados gerados pelo sistema colaborativo interno do site. Esta técnicamelhorou de maneira significativa a qualidade das recomendações.

7. Meta-level: neste método, todo o modelo gerado por um algoritmo é usado como entradapara um outro. O modelo gerado por um SR baseado em conteúdo, que é um vetorde termos e pesos, pode ser usado como entrada para um sistema colaborativo. Comoeste vetor é uma representação comprimida dos interesses do usuário, o algoritmo de FCconsegue rodar mais facilmente neste modelo do que nos dados brutos.

2.2 Tipos de feedback

As recomendações dos SRs são baseadas em avaliações dos usuários, que podemos dividir emdois grupos: Feedback Explícito e Feedback Implícito.

Page 15: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

2.2 TIPOS DE FEEDBACK 6

2.2.1 Feedback explícito

No feedback explícito o usuário dá uma nota a um item manualmente. O IMDb [1] tem um sis-tema de avaliação onde um usuário pode avaliar um filme dando até 10 estrelas. Já o YouTube[5] tem um sistema binário onde o usuário indica se gostou ou não de um determinado vídeo,como pode ser visto na Figura 2.1.

Figura 2.1: Exemplos de feedback explicíto

Os ratings explícitos facilitam a predição de nota, já que o valor está dentro de um determi-nado intervalo, o que nem sempre ocorre quando o feedback é coletado implicitamente. Porém,um fator negativo é que nem todos os usuários avaliam os items, o que pode gerar matrizes maisesparsas.

2.2.2 Feedback implícito

No feedback implícito, a nota de um item é inferida a partir do comportamento do usuário.A principal motivação para usar o ratings implícitos é remover do usuário a necessidade deverificar e analisar cada item [23]. Alguns exemplos desses comportamentos são: históricode compra, histórico de navegação, padrões de pesquisa, movimentos do mouse, tempo queo usuário passou assistindo um vídeo, quanto tempo passou lendo um artigo, entre outros. OLast.fm [2], por exemplo, usa a quantidade de vezes que cada usuário ouviu um artista, músicaou álbum para gerar recomendações, como mostra a Figura 2.2.

Hu et al. [16] define algumas características do feedback implícito.

1. Não há feedback negativo. Ao observar o comportamento do usuário, conseguimos iden-tificar o que ele gosta e escolhe consumir, entretanto não conseguimos identificar o queele não gosta. Ao contrário do feedback explícito, onde a nota indica se o usuário gos-tou ou não de um item, em uma base de dados de ratings implícitos, o usuário não terconsumido um item pode significar tanto que o usuário não gosta do item quanto que eleapenas não o conhece.

2. Feedback implícito é inerentemente ruidoso. Como foi dito no item anterior, não con-seguimos determinar com certeza as opiniões do usuário a partir de seu comportamento.

Page 16: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

2.2 TIPOS DE FEEDBACK 7

Figura 2.2: Exemplo de feedback implícito

O usuário ter comprado um produto, por exemplo, não indica, necessariamente, que elegostou.

3. A nota no feedback explícito indica preferência, enquanto que no feedback negativo in-dica confiança. No rating implícito, o valor indica a frequência da ação do usuário. Eapesar de valores mais altos não indicarem com certeza uma preferência maior, açõesrecorrentes são mais prováveis de refletir a opinião do usuário.

4. Avaliar sistemas que utilizam feedback implícito necessita de métricas apropriadas. Umadas métricas mais comuns para avaliar SRs é o MSE (Mean Square Error, ou Erro Qua-drático Médio). Contudo, além do feedback implícito na maioria das vezes não estar emum intervalo determinado, é preciso levar em consideração fatores que fazem um usáriodeixar de consumir um item como, por exemplo, disponibilidade ou competição de umitem com outros.

Page 17: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

CAPÍTULO 3

Filtragem Colaborativa

Como foi dito no capítulo 2, a Filtragem Colaborativa leva em consideração as avaliações deoutros usuários para recomendar itens. Este capítulo falará sobre os principais desafios da FCe das técnicas baseadas em Vizinhaça e Modelo.

3.1 Desafios da Filtragem Colaborativa

Existem diversos desafios associados a técnica de FC, esta seção falará sobre três: o problemade Cold Start, esparsidade e escalabilidade.

3.1.1 Problema de Cold Start

Este problema ocorre com novos usuários ou novos itens, pois o número de notas iniciais épequeno ou inexistente, tornando-se difícil aplicar os métodos tradicionais de FC. No caso denovos usuários, o sistema precisa aprender suas preferências antes de recomendar algum item.E no caso de novos itens, o sistema não irá recomendá-los até que eles possuam uma quantidadeconsiderável de avaliações [7] [8].

Uma das maneiras de tentar resolver esse problema é usar algoritmos híbridos, combinando,por exemplo, filtragem colaborativa e sistemas baseados em conteúdo [7].

3.1.2 Esparsidade

Em geral, em SRs, a quantidadade de notas dadas é muito maior do que a quantidade de notasque precisam ser preditas. Caso um item tenha sido avaliado por poucos usuários, ainda que asnotas tenham sido altas, raramente ele será recomendado. Além disso, usuários com gostos in-comuns em comparação com outros terão poucos usuários similares, levando a recomendaçõesmais imprecisas.

Algumas maneiras de contornar esse problema são: utilizar o perfil do usuário para cal-cular similaridade através de dados como: gênero, idade, grau de escolaridade, entre outros.Essa técnica é chamada de Filtragem Demográfica. Também é possível usar a técnica de SVD(Singular Value Decomposition ou Decomposição em Valores Singulares) para diminuir a di-mensionalidade de matrizes esparsas [7].

8

Page 18: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

3.2 FILTRAGEM COLABORATIVA BASEADA EM VIZINHANÇA 9

3.1.3 Escalabilidade

Os algoritmos de FC escalam com o número de usuários e itens, em sites como o da Amazon,que possui milhões de clientes e produtos, mesmo um algoritmo de compexidade O(n) já émuito custoso. Técnicas de redução de dimensionalidade, como o SVD, podem ajudar. [27]

3.2 Filtragem Colaborativa baseada em Vizinhança

A ideia do método de filtragem colaborativa baseado em vizinhança é usar similaridade usuário-usuário ou item-item para fazer recomendações a partir da matriz usuário-item. O conceito devizinhança implica que é preciso determinar os itens ou usuários similares para fazer reco-mendações e em matrizes muito esparsas, muitas vezes não é possível calcular a similaridadeentre dois usuários. As técnicas baseadas em vizinhança são, no geral, simples e intuitivas deentender e também fáceis de implementar e debugar. Também é possível entender e justificaras recomendações, já que temos as informações de quais usuários ou itens foram usados parapredizer uma nota. [8]

3.2.1 Baseado em Usuário

A FC baseada em usuário aplica a ideia que usuários similares avaliam de maneira similar omesmo item. Ou seja, se os usuários A e B deram notas parecidas aos mesmos itens, isso podeser usado para recomendar um item que o usuário A gostou, mas o usuário B não conhece. [8]

O primeiro passo é calcular a similaridade entre usuários, que são representados pelas li-nhas da matriz de ratings. O segundo passo é predizer a nota que o usuário alvo daria para umdeterminado item. O rating predito é a média ponderada das notas dadas por outros usuáriosàquele item, onde o peso é o coeficiente de similaridade entre o usuário alvo e os outros usuá-rios. Deste modo, quanto mais parecido dois usuários são, mais as suas notas influenciam narecomendação [21]. A fórmula para predizer a nota é:

pa,i = ra +∑

ku=1 wa,u(ru,i− ru)

∑ku=1 wa,u

(3.1)

Onde pa,i é a nota predita de um usuário a para um item i, ra e ru são as médias das notasdadas pelos usuários a e u respectivamente, ru,i é a nota dada pelo usuário u ao item i, wa,u é asimilaridade entre a e u calculada no primeiro passo e k é o número de vizinhos.

3.2.2 Baseado em Item

Já a FC baseada em item parte da ideia que itens similares são avaliados de maneira similar porum mesmo usuário. Portanto, as notas de um usuário em filmes de ficção científica podem serusadas para predizer a nota de outros filmes do mesmo gênero que ele ainda não assisitiu. [8]

Assim como na FC baseada em usuário, na primeira etapa é calculada a similaridade entreitens, que são representados na matriz usuário-item pelas colunas, e na segunda etapa a notaé predita. A fórmula para predizer uma nota é a média ponderada das notas de itens similares

Page 19: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

3.3 FILTRAGEM COLABORATIVA BASEADA EM MODELO 10

avaliados pelo usuário alvo e é descrita pela equação 3.2 [29].

pa,i =∑

kb=1 wi,b(ra,b)

∑kb=1 wi,b

(3.2)

Onde pa,i é a nota predita de um usuário a para um item i, wi,b é a similariade entre os itensi e b, ra,b é a nota que o usuário a deu para o item b e k é o número de vizinhos.

3.2.3 Algoritmos de correlação

Como foi visto anteriormente, uma parte importante das abordagens baseadas em Usuário eItem é a definição da vizinhança, por isso veremos dois dos algoritmos de correlação maisusados: Correlação de Pearson e Similaridade cosseno.

3.2.3.1 Correlação de Pearson

A correlação de Pearson [27] mede o quanto duas variáveis estão linearmente correlacionadas epode assumir valores entre -1 e 1, onde 1 representa correlação linear positiva total; 0 significaque não há correlação linear e -1 representa correlação linear negativa total. Para a CF baseadaem usuário, a correlação entre dois usuários u e v é dada por

wu,v =∑i∈I(ru,i− ru)(rv,i− rv)√(ru,i− ru)2

√(rv,i− rv)2

(3.3)

Onde I é o conjunto de itens avaliados por u e v, ru e rv são as médias das avaliações dosusuários u e v aos itens que pertecem ao conjunto I e ru,i e rv,i são as notas dadas pelos usuáriosu e v ao item i. O cálculo para correlação entre dois itens é análogo.

3.2.3.2 Similaridade cosseno

Para esse cálculo, os itens ou usuários são considerados vetores em um espaço de dimensão ne sua similaridade é computada através do cosseno do ângulo que é formado [24]. Portanto, sedois vetores forem iguais, por exemplo, o ângulo entre eles será 0 e a similaridade será cos(0),que é 1.

cos(x,y) =(x · y)‖ x ‖‖ y ‖

(3.4)

Onde · é o produto escalar entre os vetores e ‖‖ é a norma do vetor.

3.3 Filtragem Colaborativa baseada em Modelo

A técnica de FC baseada em modelo usa as avaliações do usuário para estimar ou aprenderum modelo de predição, esse modelo pode ser um algoritmo de mineração de dados ou deaprendizagem de máquina [27]. As principais vantagens desta técnica sobre o método baseadoem vizinhança são [8]:

Page 20: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

3.3 FILTRAGEM COLABORATIVA BASEADA EM MODELO 11

1. Eficiência de espaço: tipicamente o tamanho do modelo gerado é menor que a matrizoriginal.

2. Velocidade de treinamento e predição: um dos problemas no método baseado em vi-zinhança é que a etapa de pré-processamento é quadrática. Os métodos baseados emmodelo são, no geral, mais rápidos e eficientes.

3. Evita overfitting: Overfitting é um problema de aprendizagem de máquina onde um mo-delo tem resultados muito bons no conjunto de treinamento, mas falha em generalizare, portanto, tem um resultado ruim no conjunto de teste. Na FC baseada em modelo, épossível utilizar métodos de regularização para ajudar a evitar overfitting.

3.3.1 Princípios básicos de Fatoração de Matriz

No modelo básico de fatoração de matriz [8], uma matriz R de notas é fatorada aproximada-mente em uma matriz m× k U e n× k V, como define a equação abaixo.

R≈UV T (3.5)

Cada coluna de U ou V é um vetor latente e cada linha é um fator latente. A i-ésima linhaui de U é chamada fator do usuário e contém k entradas correspondentes a afinidade do usuárioi em relação aos k conceitos na matriz de notas. Cada nota em R pode ser expressa como oproduto escalar do i-ésimo fator do usuário com o j-ésimo fator do item.

ri j ≈ ui · v j (3.6)

Uma maneira intuitiva de expressar a equação 3.6 é:

k

∑s=1

(Afinidade do usuário i com o conceito s)× (Afinidade do item j com o conceito s) (3.7)

As principais diferenças entre o método básico de FM e outros métodos são em relação asrestrições impostas para as matrizes U e V. No SVD, por exemplo, elas devem ser ortogonais[8].

3.3.2 SVD

O SVD (Singular Value Decomposition ou Decomposição em valores singulares) [31] [28] éuma técnica de fatoração de matriz. A decomposição de uma matrix de tamanho m×n A, composto r é definida da seguinte maneira:

A =USV T (3.8)

Onde U e V são matrizes ortogonais m×m e n× n, respectivamente. E S é uma matrizsingular diagonal m×n, cuja entradas são valores reais não negativos. As primeiras r entradas

Page 21: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

3.3 FILTRAGEM COLABORATIVA BASEADA EM MODELO 12

de S(s1,s2, ...,sr) tem a propriedade s1 ≥ s2 ≥ ...≥ s3 > 0. As primeiras r colunas de U são au-tovetores de AAT e as primeiras r colunas de V são autovetores de AT A. Portanto, as dimensõesde fato das matrizes U, S e V são m× r, r× r e n× r, respectivamente.

Uma propriedade importante do SVD e útil para sistemas de recomendações é a de obteruma aproximação ótima da matriz A usando três matrizes menores. Para isso, mantemos osk maiores valores singulares de S, esta matriz reduzida é chamada Sk, depois deletamos ascolunas correspondentes de U e V, ou seja, as últimas r−k colunas, e chamamos estas matrizesde Uk e Vk. A matriz Ak pode ser definida como:

Ak =UkSkV Tk (3.9)

A matriz Ak é a melhor aproximação linear da matriz A. Após encontrarmos a matriz Ak,podemos definir os fatores de usuários como Uk ·

√Sk

T e os fatores de itens como√

Sk ·V Tk

[25]. Depois de encontrar P e Q, podemos descrever a predição do rating ri j como:

rui = puqTi (3.10)

Porém, um problema de aplicar o SVD em uma matriz de notas, é que a maioria dos valoresri j são indefinidos, alguns trabalhos iniciais sobre o tema utilizavam a técnica de imputaçãopara preencher os elementos vazios [18]. Sawar et. al. [26], por exemplo, testa duas aborda-gens para remover a esparsividade da matriz: usar a média das notas por usuário e usar a médiadas notas por item. Um problema desta abordagem é que ela torna o processo mais custoso,já que aumenta consideravelmente a quantidade de dados, além de distorcer os dados. Traba-lhos mais recentes geram as matrizes P e Q através de algoritmos de aprendizagem, levandoem consideração apenas os dados conhecidos. Para aprender os vetores de fatores, o sistemaminimiza o erro quadrado regularizado no conjunto de notas.

erro(P,Q) = ∑(u,i)∈κ

(ru,i− puqTi )

2 +λ (‖ pu ‖2 + ‖ qi ‖2) (3.11)

Onde a constante λ controla o nível de regularização e κ é o conjunto de pares (u, i) emque o rating ru,i é conhecido.

3.3.3 Algoritmos de Aprendizagem

Duas abordagens possíveis para minimizar a equação 3.11 são: Gradiente descendente (Sto-chastic gradient descent ou SGD) e Mínimos quadrados alternados (Alternative least squaresou ALS), que serão descritos abaixo.

3.3.3.1 Gradiente descendente

No SGD [18][24], o algoritmo itera sobre todas as notas do conjunto de treinamento, para cadacaso, o algorimo prediz ru,i e computa o erro associado, que é dado por:

ei j = rui− rui (3.12)

Page 22: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

3.3 FILTRAGEM COLABORATIVA BASEADA EM MODELO 13

Depois, modifica os parâmetros por valores proporcionais a taxa de aprendizado (γ). Isso érepetido até que o critério de parada seja atingido.

qi← qi + γ · (eui · pu−λ ·qi) (3.13)

pu← qi + γ · (eui ·qi−λ · pu) (3.14)

3.3.3.2 Mínimos quadrados alternados

A técnica de ALS alterna entre fixar os pu’s e fixar os qi’s. Quando os pu’s estão fixados, osistema recomputa os qi’s resolvendo o problema dos mínimos quadrados e vice-versa.

Há diversas técnicas para resolver este problema, em [10] foi utilizada a técnica de mínimosquadrados não negativos. Ao recomputar P, resolvemos o problema abaixo para cada usuário u.Seja nu o número de ratings dado pelo usuário u, Q[u] a matriz de tamanho nu× k que possuiapenas os itens avaliados por u e ru ∈ Rnu o vetor que contém as notas dadas por u ordenadascomo em Q[u]. O novo valor de pu é calculado resolvendo o problema do mínimo quadradonão negativo: (

Q[u]Λ

)pu =

(ru

0

)(3.15)

Onde Λ é uma matriz diagonal nu× nu onde todas as entradas são λnu. O cálculo de Q éanálogo.

Uma das principais vantagens deste método é a possibilidade de paralelização, já que noALS, cada qi é computado independentemente dos outros fatores de itens e cada pu é compu-tado independentemente dos outros fatores de usuários [18].

Page 23: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

CAPÍTULO 4

Experimentos

4.1 Base de dados

Para os experimentos deste trabalho, foi usado o conjunto de dados da rede social Last.fm[13], que possui 1.892 usuários, 17.632 artistas e 92.834 relações usuário-item, que neste casorepresentam a quantidade de vezes que um usuário escutou um artista. Para cada usuário, temosa informação dos artistas mais escutados, limitando-se a no máximo 50 artistas.

4.2 Metodologia

Para este trabalho, será usada a metodologia proposta por Cremonesi et al. em [15]. Paracada usuário selecionamos 1000 artistas que o usuário nunca escutou e um artista relevante,que neste caso é o artista mais escutado, depois predizemos a nota dos 1001 itens. Os itenssão ranqueados de acordo com a nota predita. No conjunto de treinamento removemos o itemrelevante de cada usuário, e depois de rodar o algoritmo verificamos se o item está entre ostop-N recomendados. Caso esteja, temos um acerto (hit).

As métricas de precision e recall são definidas como:

recall(N) =#acertos|T |

(4.1)

precision(N) =#acertosN · |T |

=recall(N)

N(4.2)

Onde |T| é o número itens relevantes. Para um único caso de teste, temos um único itemrelevante, portanto o valor do recall pode ser 0 (caso não tenha um acerto) ou 1 (caso tenha umacerto). Quando N = 1001, sempre teremos um acerto. Precision pode ter o valor de 0 ou 1/N.O precision e recall é a média de todos os casos de teste.

Para cada experimento, foram calculados o precision e recall até N = 20, e gerados doisgráficos, um de recall por N e um de precision por recall.

Também será calculado o rank recíproco médio (Mean Reciprocal Rank ou MRR), o MRRpara um caso de teste é o inverso multiplicativo da posição do item relevante, ou seja, caso oitem relevante tenha ficado em quinto lugar, o MRR é 1/5. O MRR para todos os casos de testeé a média dos resultados de cada caso e é descrito pela equação 4.3.

MRR =1|Q|

|Q|

∑i=1

1ranki

(4.3)

14

Page 24: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

4.3 RESULTADOS 15

Onde ranki é a posição do primeiro item relevante na recomendação no i-ésimo caso deteste e |Q| é a quantidade de casos de teste.

O cálculo do MRR será feito de maneira semelhante ao precision e recall, usando 1000itens não relevantes e 1 item relevante. Para este cálculo serão consideradas apenas as 20primeiras recomendações, ou seja, caso um item fique depois da vigésima posição, seu MRRserá considerado 0.

4.3 Resultados

Os experimentos foram feitos com a biblioteca LightFM [19] usando FC baseada em Modelo,SGD como algoritmo de aprendizagem e taxa de aprendizado de 0,05. Alguns testes foram fei-tos usando FC baseada em vizinhança, porém, por causa do resultado muito baixo, este trabalhofocará na abordagem baseada em modelo. Primeiramente foi analizado como a transfomaçãode ratings afeta o resultado e depois foram feitas análises em relação a grupos de usuários.

4.3.1 Transformação de ratings

Inicialmente foram feitos três experimentos, o algoritmo foi aplicado a base de dados original,a base de dados com ratings binários e com ratings transformados em probabilidade.

1. Base de dados com ratings originais: neste caso o rating não é alterado

2. Base de dados com ratings binários: as notas só assumem dois valores, 0 no caso dousuário nunca ter escutado um artista e 1 no caso de já ter escutado.

3. Base de dados com ratings transformados em probabilidade: neste caso, novo_ratingu,i =P(ratingu,i > ratingu), ou seja, a nova nota é a probabilidade da nota antiga ser maiorque os outros ratings do usuário. Por exemplo, caso uma nota seja maior que 50% dasoutras notas, por exemplo, ela é transformada em 0,5.

Como pode ser visto na tabela 4.1 e nos gráficos das Figuras 4.1 e 4.2, os experimentos comratings originais e ratings binários tiveram resultados parecidos. Na base de dados original, oresultado foi um pouco superior, o MRR foi de aproximadamente 0,287 e o recall quando N =20 foi 0,434, isso significa que há uma probabilidade de 43,4% de um item relevante aparecerno top-20. Na base de dados com as notas binárias, o MRR foi aproximadamente 0,225 e orecall quando N=20 foi 0,429.

O que teve o pior desempenho foi a base de dados com ratings de probabilidades, comum MRR de aproximadamente 0,134 e a probabilidade de um item relevante estar entre os 20primeiros resultados foi de 26,4%.

4.3.2 Usuários pouco ativos x usuários muito ativos

Para este segundo experimento, será usada a base de dados com os rating originais, por teremtido o melhor resultado no experimento anterior. O objetivo é analisar o desempenho entre dois

Page 25: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

4.3 RESULTADOS 16

MRR Recall (N = 20)Rating original 0,28654535347996574 0,43446088794926Rating binário 0,22533288737186605 0,42917547568710357Rating probabilidade 0,13483870126041989 0,2644820295983087

Tabela 4.1: Comparação dos resultados da transformação de rating

Figura 4.1: Trasformação de Ratings: Recall xN

Figura 4.2: Trasformação de Ratings: Precisionx Recall

Page 26: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

4.3 RESULTADOS 17

Figura 4.3: Comparação entre usuários por ar-tista: Recall x N

Figura 4.4: Comparação entre usuários por ar-tista: Precision x Recall

grupos de usuário: os usuários cold start, que também serão chamados de usuários pouco ativose dos usuários muito ativos. Estes usuários serão definidos de duas formas: pela quantidade deartistas escutados e pelo listening count total de cada usuário, o listening count é a quantidadede vezes que o usuário escutou um artista.

4.3.2.1 Por quantidade de artistas escutados

Para este experimento, foram comparados dois grupos de usuários: usuários que escutaram me-nos de 30 artistas e usuários que escutaram 50 artistas. Como neste dataset apenas 29 usuáriosescutaram menos que 30 artistas e 1829 usuários escutaram 50 artistas, ou seja, mais de 96% dabase, foi selecionada uma amostra de 29 usuários que escutaram 50 artistas para comparação.

Como esperado, o grupo de usuários mais ativos teve um desempenho superior ao de usuá-rios menos ativos e também ao resultado geral mostrado na seção anterior. Da mesma forma,o grupo de usuários cold start teve um desempenho inferior ao resultado de todos os usuáriosmostrado no experimento anterior. No grupo de usuários menos ativos, o MRR foi 0,196 e orecall quando N é 20 foi 0,312, já para os usuários mais ativos, o MRR foi 0,293 aproximada-mente e o recall quando N = 20 foi 0,481.

MRR Recall (N = 20)Usuários pouco ativos 0,19561077304485014 0,31206896551724134Usuários muito ativos 0,29288071275367095 0,48103448275862065

Tabela 4.2: Comparação entre usuários em relação ao número de artistas escutados

Page 27: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

4.3 RESULTADOS 18

4.3.2.2 Por listening count

Neste experimento, os usuários mais e menos ativos foram definidos não pela quantidade deartistas escutada, mas pelo listening count total, ou seja, a soma do listening count de todos osartistas escutados por cada usuário. Para os usuários menos ativos foram considerados usuáriosque tiveram menos de 300 listening counts, isso gerou uma amostra de 40 usuários, e para ogrupo de usuários mais ativos, foram selecionados os 40 usuários com maior listening count.No grupo de usuários menos ativos, a média de listening count por usuário foi de 91,52 e nogrupos do mais ativos a média foi 272.594,6.

A diferença de performance nestes grupos foi ainda maior que a do experimento anterior,usando a quantidade de artistas, isso pode ser visto de maneira clara nos gráficos das Figuras4.5 e 4.6. Neste caso, os resultados do grupos de cold start foi consideravelmente menor que ados experimentos anteriores e a do grupo de usuários ativos foi consideravelmente maior.

No grupo de usuários com listening count menor que 300, o MRR foi de apenas 0,09 eo recall quando N é 20 foi aproximadamente 0,189. Já no grupo de usuário com os maioreslistening counts, o MRR foi 0,426 e a probabilidade de um item relevante estar entre os top-20itens recomendados é de 57,4%.

MRR Recall (N = 20)Usuários pouco ativos 0,09393586601307188 0,18875Usuários muito ativos 0,42557477244977243 0,57375

Tabela 4.3: Comparação entre usuários em relação ao listening count

Figura 4.5: Comparação entre usuários por lis-tening count: Recall x N

Figura 4.6: Comparação entre usuários por lis-tening count: Precision x Recall

Page 28: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

CAPÍTULO 5

Conclusão

Neste trabalho, foi feita uma análise da técnica de filtragem colaborativa baseada em modeloem uma base de dados de ratings implícitos que contém dados de usuários do Last.fm, osartistas escutados por cada usuário e a quantidade de vezes que o usuário ouviu cada artista, olistening count.

Primeiramente foram feitos experimentos para verificar se transformações de notas teriamalgum impacto positivo na performance do sistema. Para isso, a base de dados foi testada de trêsmaneiras: com as notas originais, com as notas transformadas em dados binários e com as notastransformadas em probabilidade. Nestes experimentos, os ratings originais e binários tiveramresultados próximos, mas o dataset com as notas sem nenhuma transformação foi melhor.

Após este primeiro experimento, foram feitas análises comparando usuários mais e menosativos no sistema. Para isso, foram feitos mais dois experimentos, no primeiro os dois gruposforam definidos de acordo com a quantidade de artistas que cada usuário ouviu e, no segundo,de acordo com o listening count. O resultado foi coerente com o que se esperaria, e os gruposde usuários cold start tiveram um resultado pior que os usuários ativos.

Um detalhe interessante é que no segundo experimento a diferença entre os dois gruposficou muito mais evidente, no grupo de cold start o resultado ficou muito abaixo do resultado doprimeiro experimento e no grupo de usuários que tinham um listening count maior, o resultadofoi consideravelmente mais alto que os resultados do primeiro experimento. Uma possívelexplicação para isso é que no feedback implícito não só a quantidade de itens consumidosimporta, mas também a quantidade de vezes que esse item foi consumido. Como foi discutivono capítulo 2, o feedback implícito não necessariamente indica a opinião do usuário, mas umcomportamento recorrente tem mais chances de indicar a preferência de uma pessoa.

Para trabalhos futuros, é possível analisar outros tipos de transformação de notas, variarparâmetros como a taxa de aprendizado e ampliar a análise, testando outras técnicas. Umaoutra possibilidade é analisar os resultados baixos da FC baseada em vizinhança, fazer maisexperimentos para entender a baixa performance desta abordagem. Além disso, a base dedados testada é relativamente pequena, também seria útil testar em uma base de dados maior emais completa.

19

Page 29: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

Referências Bibliográficas

[1] IMDb. https://imdb.com.

[2] Last.fm. https://last.fm.

[3] Netflix. https://netflix.com.

[4] Netflix Prize. https://netflixprize.com.

[5] YouTube. https://youtube.com.

[6] YouTube Now Gets Over 400 Hours Of Content Uploaded EveryMinute. https://www.tubefilter.com/2015/07/26/youtube-400-hours-content-every-minute/.

[7] G. Adomavicius and A. Tuzhilin. Toward the next generation of recommender systems:A survey of the state-of-the-art and possible extensions. IEEE Trans. on Knowl. and DataEng., 17(6):734–749, June 2005.

[8] C. C. Aggarwal. Recommender Systems: The Textbook. Springer, Cham, 2016.

[9] M. Balabanovic and Y. Shoham. Fab: Content-based, collaborative recommendation.Commun. ACM, 40(3):66–72, Mar. 1997.

[10] R. M. Bell and Y. Koren. Scalable collaborative filtering with jointly derived neigh-borhood interpolation weights. In Proceedings of the 2007 Seventh IEEE InternationalConference on Data Mining, ICDM ’07, pages 43–52, Washington, DC, USA, 2007. IEEEComputer Society.

[11] D. Billsus and M. J. Pazzani. User modeling for adaptive news access. User Modelingand User-Adapted Interaction, 10(2-3):147–180, Feb. 2000.

[12] R. Burke. Hybrid recommender systems: Survey and experiments. User Modeling andUser-Adapted Interaction, 12(4):331–370, Nov 2002.

[13] I. Cantador, P. Brusilovsky, and T. Kuflik. 2nd workshop on information heterogeneity andfusion in recommender systems (hetrec 2011). In Proceedings of the 5th ACM conferenceon Recommender systems, RecSys 2011, New York, NY, USA, 2011. ACM.

[14] P. Cotter and B. Smyth. Ptv: Intelligent personalised tv guides. pages 957–964, 01 2000.

20

Page 30: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

REFERÊNCIAS BIBLIOGRÁFICAS 21

[15] P. Cremonesi, Y. Koren, and R. Turrin. Performance of recommender algorithms on top-nrecommendation tasks. In Proceedings of the Fourth ACM Conference on RecommenderSystems, RecSys ’10, pages 39–46, New York, NY, USA, 2010. ACM.

[16] Y. Hu, Y. Koren, and C. Volinsky. Collaborative filtering for implicit feedback datasets.pages 263–272, 12 2008.

[17] R. Jin, L. Si, C. Zhai, and J. P. Callan. Collaborative filtering with decoupled models forpreferences and ratings. pages 309–316, 01 2003.

[18] Y. Koren, R. Bell, and C. Volinsky. Matrix factorization techniques for recommendersystems. Computer, 42(8):30–37, Aug. 2009.

[19] M. Kula. Metadata embeddings for user and item cold-start recommendations. In T. Bo-gers and M. Koolen, editors, Proceedings of the 2nd Workshop on New Trends on Content-Based Recommender Systems co-located with 9th ACM Conference on Recommender Sys-tems (RecSys 2015), Vienna, Austria, September 16-20, 2015., volume 1448 of CEURWorkshop Proceedings, pages 14–21. CEUR-WS.org, 2015.

[20] P. Lops, M. de Gemmis, and G. Semeraro. Content-based recommender systems: State ofthe art and trends. In F. Ricci, L. Rokach, B. Shapira, and P. B. Kantor, editors, Recom-mender Systems Handbook, pages 73–105. Springer, 2011.

[21] P. Massa and P. Avesani. Trust-aware recommender systems. In Proceedings of the 2007ACM Conference on Recommender Systems, RecSys ’07, pages 17–24, New York, NY,USA, 2007. ACM.

[22] R. J. Mooney and L. Roy. Content-based book recommending using learning for textcategorization. In Proceedings of the Fifth ACM Conference on Digital Libraries, DL’00, pages 195–204, New York, NY, USA, 2000. ACM.

[23] D. M. Nichols. Implicit rating and filtering. 1998.

[24] F. Ricci, L. Rokach, B. Shapira, and P. B. Kantor. Recommender Systems Handbook.Springer-Verlag, Berlin, Heidelberg, 1st edition, 2010.

[25] B. Sarwar, G. Karypis, J. Konstan, and J. Riedl. Incremental singular value decompositionalgorithms for highly scalable recommender systems. Fifth International Conference onComputer and Information Science, 01 2002.

[26] B. M. Sarwar, G. Karypis, J. A. Konstan, and J. T. Riedl. Application of dimensionalityreduction in recommender system - a case study. 2000.

[27] X. Su and T. M. Khoshgoftaar. A survey of collaborative filtering techniques. Adv. inArtif. Intell., 2009:4:2–4:2, Jan. 2009.

[28] M. Vozalis and K. Margaritis. Using svd and demographic data for the enhancement ofgeneralized collaborative filtering. Information Sciences, 177(15):3017 – 3037, 2007.

Page 31: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

REFERÊNCIAS BIBLIOGRÁFICAS 22

[29] J. Wang, A. P. de Vries, and M. J. T. Reinders. Unifying user-based and item-basedcollaborative filtering approaches by similarity fusion. In Proceedings of the 29th An-nual International ACM SIGIR Conference on Research and Development in InformationRetrieval, SIGIR ’06, pages 501–508, New York, NY, USA, 2006. ACM.

[30] X. Yang, Y. Guo, Y. Liu, and H. Steck. A survey of collaborative filtering based socialrecommender systems. Computer Communications, 41:1 – 10, 2014.

[31] X. Zhou, J. He, G. Huang, and Y. Zhang. Svd-based incremental approaches for recom-mender systems. Journal of Computer and System Sciences, 81, 12 2014.

Page 32: Sistema de recomendação baseado em filtragem …tg/2019-1/TG_CC/tg_dso.pdfA recomendação baseada em conteúdo tem origem na Recuperação de Informação, portanto ambas utilizam

Este volume foi tipografado em LATEX na classe UFPEThesis (www.cin.ufpe.br/~paguso/ufpethesis).