EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das...

117

Transcript of EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das...

Page 1: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

ALEX AMORIM DUTRA

Orientador: Álvaro Rodrigues Pereira Jr.

EXPLORANDO DADOS PÚBLICOS DE

PROGRAMAÇÃO DE RÁDIOS E PLAYLISTS NA WEB

PARA RECOMENDAÇÃO EM MÚSICA

Ouro Preto

Novembro de 2014

Page 2: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas
Page 3: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Universidade Federal de Ouro Preto

Instituto de Ciências ExatasPrograma de Pós-Graduação em Mestrado em Ciência da

Computação

EXPLORANDO DADOS PÚBLICOS DE

PROGRAMAÇÃO DE RÁDIOS E PLAYLISTS NA WEB

PARA RECOMENDAÇÃO EM MÚSICA

Dissertação de mestrado apresentada aoPrograma de Pós-Graduação em Ciênciada Computação da Universidade Federal deOuro Preto, como requisito parcial para aobtenção do grau de Mestre em Ciência daComputação.

ALEX AMORIM DUTRA

Ouro Preto

Novembro de 2014

Page 4: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas
Page 5: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Catalogação: www.sisbin.ufop.br

D978e Dutra, Alex Amorim. Explorando dados públicos de programação de rádios eplaylists na web para recomendação em música [manuscrito] / Alex Amorim Dutra. - 2014. 95f.: il.: color; grafs; tabs.

Orientador: Prof. Dr. Álvaro Rodrigues Pereira Junior.

Dissertação (Mestrado) - Universidade Federal de OuroPreto. Instituto de Ciências Exatas e Biológicas.Departamento de Computação. Programa de Pós-graduação emCiência da Computação. Área de Concentração Ciência da Computação.

1. Música. 2. Software de aplicação. 3. Sistemas deinformação musical. I. Pereira Junior, Álvaro Rodrigues .II. Universidade Federal de Ouro Preto. III. Titulo.

CDU: 78:621.396

Page 6: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas
Page 7: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas
Page 8: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas
Page 9: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Resumo

Desde a antiguidade, o homem utiliza meios para realizar recomendações a outras

pessoas com as quais se relaciona. Entretanto, nos dias atuais, com a explosão de infor-

mação acessível na Web, os meios para realizar recomendações tem sido empregado em

diversos sistemas na Web. Na área da recomendação musical não tem sido diferente, pois,

nas últimas décadas, houve uma explosão no conteúdo musical disponível e acessível, o

que modi�cou consideravelmente a maneira de escutarmos músicas. Para isso, na litera-

tura são utilizados métodos baseados em aprendizagem de máquina, agrupamentos entre

usuários ou itens, exploração de metadados musicais, utilização de dados de uso, entre

outros. Independentemente dos métodos empregados, um importante fator na qualidade

da recomendação é a fonte de dados usada. Uma das abordagens mais utilizadas em

recomendação é a �ltragem colaborativa, que pressupõe a existência de dados de ratings

de usuários para os itens em recomendação. No entanto, esses dados nem sempre estão

presentes nas aplicações, e mesmo quando presentes, muitas vezes são escassos para um

número signi�cativo de usuários. Este trabalho visa explorar dados disponíveis na Web

para, na falta ou escassez de dados de uso, serem usados para aumentar a qualidade da

recomendação no contexto musical. A hipótese é que estes dados públicos poderiam subs-

tituir com qualidade os dados de uso, que são privados, em sistemas de recomendação.

Os dados públicos utilizados neste trabalho são dados coletados do histórico de progra-

mação das rádios e de playlists públicos do YouTube. Como estes dados são gerados

por especialistas e estão presentes em grande volume, este trabalho explora a inteligência

coletiva existente na geração dos programas das rádios e dos playlists. De fato, os resul-

tados demonstram que, para os cenários onde os dados públicos são podados de forma

a simular dados cada vez mais ricos, uma vez que estão presentes em maior volume, o

emprego de algoritmos desenvolvidos especialmente para esse propósito podem ser tão

e�cazes quanto os melhores algoritmos de �ltragem colaborativa da literatura.

Palavras-chave: Sistemas de recomendação. Recomendação musical. Filtragem cola-

borativa. Dados públicos.

i

Page 10: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

ii

Page 11: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Abstract

Since ancient times men have used several means to make recommendations to other

people with whom they relate. However, nowadays, in the information era, the recom-

mendations has been deployed in the web systems in several ways. In the music recom-

mendation �eld, it has not been di�erent, as in the last decades, the musical content has

exploded and it became available, what changed substantially the way we listen to mu-

sic. For that, on literature, machine learning methods are used, user or item clustering,

music metadata exploring, usage data mining, among other methods. Independently of

utilized methods, the source of the data used is a important factor in the quality of the

receommendation. One of the most used approaches is the colaborative �ltering, that

presupposes the existence of data of user ratings for recommendation items. Nevertheless,

that data are not always available in the applications, and even when they are, they often

are scarce for a relevant number of users. This work, aims to explore the available data

on the web for, in the case of scarce or mimssing usage data, being used to increase the

quality of recommendation in the music context. The hypothesis is: the public data could

substitute with quality the usage data, which are private, in recommendation systems.

The public data used in this work are extracted from the radios playlist history and from

public YouTube playlists. As those data are generated by specialists and are available as

a high volume, this work explores the existing collective intelligence for generating radios

programs and playlists. The results show, indeed, that the scenarios where the public

data are pruned so that the generated data is constantly becoming more relevant, since

they are available in bigger volume, the use of algorithms developed specially for that

purpose can be so e�ective as the literature's best collaborative �ltering algorithms.

Keywords: Recommendation systems. Musical Recommendation. Collaborative �l-

tering. Public data.

iii

Page 12: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

iv

Page 13: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Dedico este trabalho:

Ao meu pai Pedro, pelos ensinamentos e exemplo de vida.

A minha mãe Zélia, por todo incentivo e carinho oferecido durante toda a minha

trajetória de vida.

v

Page 14: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

vi

Page 15: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Sumário

1 Introdução 1

1.1 Objetivos da dissertação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2 Justi�cativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3 Principais contribuições da dissertação . . . . . . . . . . . . . . . . . . . . 5

1.4 Organização da dissertação . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Fundamentação Teórica 7

2.1 De�nição do problema de recomendação . . . . . . . . . . . . . . . . . . . 7

2.2 Representação do per�l dos usuários . . . . . . . . . . . . . . . . . . . . . 8

2.3 Representação dos itens (artistas e músicas) . . . . . . . . . . . . . . . . . 9

2.3.1 Metadados acústicos . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.3.2 Metadados editoriais . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3.3 Metadados culturais . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.4 Abordagens dos algoritmos de recomendação . . . . . . . . . . . . . . . . 11

2.4.1 Filtragem Colaborativa . . . . . . . . . . . . . . . . . . . . . . . . 11

2.4.2 Recomendação Baseada em Conteúdo . . . . . . . . . . . . . . . . 17

2.4.3 Recomendação Baseada em Contexto . . . . . . . . . . . . . . . . . 18

2.4.4 Recomendação Híbrida . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.5 Métricas de avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.5.1 Métricas de predição . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.5.2 Métricas baseadas em decisão . . . . . . . . . . . . . . . . . . . . . 20

2.6 Idealize Recommendation Framework . . . . . . . . . . . . . . . . . . . . . 23

2.7 Radialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.7.1 Processo de coleta do histórico de programação das rádios . . . . . 27

3 Trabalhos Relacionados 29

3.1 Conteúdo do áudio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

vii

Page 16: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

3.2 Filtragem colaborativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.3 Rotulagem por especialistas . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.4 Utilização de dados públicos no contexto de músicas . . . . . . . . . . . . 32

3.5 Modelos híbridos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4 Algoritmo de Filtragem Colaborativa Proposto 35

4.1 Algoritmo User-Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5 Modelagem dos dados e algoritmos para recomendação em música 39

5.1 Algoritmo baseado na modelagem de rádios como usuários � MRU . . . . 39

5.2 Algoritmos baseados no tf-idf e tf-df � TFIDF e TFDF . . . . . . . . . . 40

5.3 Algoritmo utilizando coocorrências em rádios ou playlists � COOC-R . . . 42

5.4 Algoritmos do tipo item-based baseados em coocorrências como matriz de

similaridades � COOC-IB e COOC-BIB . . . . . . . . . . . . . . . . . . . 47

6 Metodologia de Avaliação 51

6.1 Bases de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

6.1.1 Base de dados MusicBrainz . . . . . . . . . . . . . . . . . . . . . . 53

6.1.2 Base de dados Last.fm 360K . . . . . . . . . . . . . . . . . . . . . 55

6.1.3 Base de dados Yahoo WebScope R1 . . . . . . . . . . . . . . . . . 56

6.1.4 Base de dados de playlists coletados do YouTube . . . . . . . . . . 57

6.1.5 Histórico de programação coletado das rádios . . . . . . . . . . . . 58

6.1.6 Número de artistas comuns às bases de dados . . . . . . . . . . . . 59

6.2 Normalização dos ratings das bases de dados . . . . . . . . . . . . . . . . 60

6.3 Buscador para mapear nomes de artistas e músicas das bases . . . . . . . 60

6.4 Seleção dos usuários de teste . . . . . . . . . . . . . . . . . . . . . . . . . 61

6.5 Seleção dos usuários para treino . . . . . . . . . . . . . . . . . . . . . . . . 63

6.6 Seleção das rádios para treino . . . . . . . . . . . . . . . . . . . . . . . . . 64

6.7 A escolha do baseline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

6.7.1 Seleção dos dados de acordo com a popularidade . . . . . . . . . . 65

6.8 Algoritmos que utilizam dados públicos . . . . . . . . . . . . . . . . . . . 66

6.9 Aplicação das métricas de avaliação . . . . . . . . . . . . . . . . . . . . . . 67

7 Resultados Experimentais 69

7.1 Avaliação do algoritmo user-clustering . . . . . . . . . . . . . . . . . . . . 70

7.2 Avaliação do histórico de programação das rádios modeladas como usuários

� MRU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

viii

Page 17: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

7.3 Avaliação do TFIDF e TFDF utilizando o histórico de programação das

rádios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

7.4 Avaliação dos algoritmos que utilizam matriz de similaridades construída

a partir do histórico de programação . . . . . . . . . . . . . . . . . . . . . 73

7.5 Resultados variando o número de ratings dos usuários de teste . . . . . . . 74

7.6 Avaliação da revocação variando o número de itens recomendados . . . . . 76

7.7 Resultados dos algoritmos utilizando outras métricas de avaliação . . . . . 78

7.8 Avaliação dos resultados em comparação à base de dados Yahoo WebScope

R1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

7.9 Avaliação dos resultados utilizando a base de dados de playlists coletados

do YouTube e a base de dados Last.fm 360K . . . . . . . . . . . . . . . . 80

7.10 Discussão dos resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

8 Conclusões e trabalhos futuros 83

8.1 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

8.2 Trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

Referências Bibliográ�cas 87

ix

Page 18: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Lista de Figuras

2.1 Cauda longa, poucos artistas são populares e muitos artistas são conhecidos

por pequenos grupos de usuários. . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.2 Conjuntos para apresentar a precisão e revocação. . . . . . . . . . . . . . . . 21

2.3 Arquitetura alto nível dos frameworks utilizados no IRF. . . . . . . . . . . . . 24

2.4 Arquitetura alto nível dos componentes do Radialize (retirada de [58]). . . . . 25

5.1 Ilustração do algoritmo de recomendação que utiliza coocorrência das músicas

nas rádios (COOC-R). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

6.1 Visão geral do processo de avaliação. . . . . . . . . . . . . . . . . . . . . . . . 54

6.2 Tuplas dos arquivos da base de dados Last.fm 360K . . . . . . . . . . . . . . 55

6.3 Formatação dos arquivos da base de dados Yahoo WebScope R1. . . . . . . . 57

6.4 Processo de buscas utilizado para mapear artistas e músicas das bases. . . . . 62

6.5 Modelo de testes de precisão . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

7.1 Revocação variando o número de itens recomendados. . . . . . . . . . . . . . 77

x

Page 19: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Lista de Tabelas

2.1 Parte de uma matriz de itens e usuários utilizada na �ltragem colaborativa. . 11

2.2 Tabela de contingência utilizada para categorizar itens recomendados ou não

recomendados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

6.1 Nomes dos algoritmos e respectivas siglas. . . . . . . . . . . . . . . . . . . . . 52

6.2 Número de itens da base de dados MusicBrainz. . . . . . . . . . . . . . . . . . 55

6.3 Número de itens da base de dados Last.fm 360K. . . . . . . . . . . . . . . . . 56

6.4 Top 10 artistas mais populares na base de dados Last.fm 360K. . . . . . . . . 56

6.5 Número de itens da base de dados Yahoo WebScope R1. . . . . . . . . . . . . 57

6.6 Informações sobre a base construída a partir dos playlists coletados do YouTube. 58

6.7 Informações sobre a base construída a partir do histórico de programação das

rádios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

6.8 Top 10 artistas mais populares nas rádios. . . . . . . . . . . . . . . . . . . . . 59

6.9 Bases de dados e número de artistas em comum. . . . . . . . . . . . . . . . . 59

6.10 Valores de precisão obtidos para os cinco grupos de usuários de teste . . . . . 63

6.11 Variando o número de usuários de treino na �ltragem colaborativa . . . . . . 64

6.12 Variando o número de possíveis artistas a serem recomendados de acordo com

a popularidade. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

7.1 Comparativo entre o Baseline e algoritmos de clustering desenvolvidos que

utilizam dados de usuários. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

7.2 MRU - Variando o número de possíveis artistas a serem recomendados de

acordo com a popularidade. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

7.3 Comparativo entre o baseline e algoritmos de recomendação utilizando o tf-idf

e tf-df. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

7.4 Resultados obtidos para os algoritmos baseline e algoritmos propostos. . . . . 74

7.5 Variando o número de ratings dos usuários de teste. . . . . . . . . . . . . . . 75

7.6 Quantidade de itens recomendados de acordo com o número de ratings. . . . . 76

xi

Page 20: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

7.7 Valor de revocação variando o número de itens recomendados. . . . . . . . . . 77

7.8 Métricas de avaliação para testes com baseline e algoritmos propostos. . . . . 78

7.9 Resultado variando o número de ratings dos usuários de teste, utilizando a

base de dados Yahoo WebScope R1 e histórico de programação das rádios. . . 80

7.10 Variando o número de ratings dos usuários de teste, utilizando a base de dados

Last.fm 360K e playlists coletado do YouTube. . . . . . . . . . . . . . . . . . 81

xii

Page 21: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Lista de Algoritmos

1 User-Clustering construção de clusters . . . . . . . . . . . . . . . . . . . . . 37

2 User-Clustering recomendação . . . . . . . . . . . . . . . . . . . . . . . . . 38

3 Segunda parte do algoritmo de recomendação COOC-R. . . . . . . . . . . . 46

xiii

Page 22: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

xiv

Page 23: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Capítulo 1

Introdução

De acordo com Chris Anderson, editor chefe da revistaWired, �We are leaving the age

of information and entering the age of recommendation�. Em tradução literal, �Estamos

deixando a era da informação e entrando na era da recomendação� [5]. Esta nova era é

determinada pelo crescimento na produção de dados, principalmente na Web [26]. Hoje

em dia, temos ao alcance informação relevante em diversas áreas. Algumas vezes ao

realizar buscas manuais sobre um determinado assunto, produto, música ou qualquer

outro item, acabamos não encontrando o que desejamos. Não encontrar o que seja

realmente relevante deve-se à grande quantidade de dados existentes e à di�culdade em

realizar buscas manuais sobre estes dados.

Na área da recomendação musical não tem sido diferente. Também houve uma ex-

plosão na disponibilidade de músicas. Há poucos anos atrás, quando desejava-se ouvir

determinada música, era necessário possuir um disco de vinil, uma �ta cassete, ou mais

recentemente, um CD1, ou então deveria �torcer� para que esta música tocasse em uma

rádio que estivesse ouvindo. Porém, nos últimos anos, a maneira de ouvirmos músicas

tem mudado drasticamente. Hoje em dia, com os serviços e dispositivos de reprodução

musical como computadores, laptops, smartphones e tablets, tem-se ao alcance dezenas

de milhões de músicas.

Em meio à possibilidade de acesso a tanta informação, não signi�ca que somente

recuperar tais informações seja su�ciente. É importante que essas informações sejam

recuperadas de forma personalizada. Assim sendo, sistemas de recomendação têm a

�nalidade de personalizar e levar ao usuário o que realmente é relevante para ele [21].

Sistemas de recomendação tem deixado de ser somente uma novidade e se tornado cada

vez mais uma necessidade. Sendo assim, várias abordagens de recomendação tem surgido.

1 CD é uma sigla para compact disc

1

Page 24: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

1. Introdução 2

Uma das principais abordagens é a �ltragem colaborativa [21, 40, 39], que realiza a

recomendação baseando-se no per�l de múltiplos usuários, onde uns usuários colaboram

para as recomendações dos outros. Apesar da �ltragem colaborativa ser a abordagem

mais e�caz utilizada em sistemas de recomendação, esta abordagem não funciona bem

de forma isolada, em qualquer sistema de recomendação. O principal motivo é que

a �ltragem colaborativa é baseada em dados de uso, em especial ratings2, sendo que

muitas aplicações possuem dados de ratings escassos ou não possuem dados de ratings

de usuários.

Devido às limitações da �ltragem colaborativa, este trabalho propõe a utilização de

dados públicos, que são playlists coletados do YouTube e histórico de programação cole-

tado de rádios que transmitem pela Web, de forma que estes dados possam ser utilizados

para determinar a similaridade entre músicas. A hipótese é que o uso de dados públicos

é e�caz para uma série de aplicações em recomendação, em especial para o contexto de

recomendação de artistas3 e músicas, como será demonstrado nesta dissertação.

Neste trabalho, é realizado um estudo comparativo entre os algoritmos de �ltragem

colaborativa, que utilizam dados privados de usuários, e os novos algoritmos propostos,

que utilizam de dados públicos. Esses algoritmos exploram, de forma simples e elegante,

as relações entre itens, de�nidas através da inteligência coletiva de DJs4, locutores de

rádios e outros geradores de conteúdo musical, que são especialistas da área de música.

Como resultado desse processo de descoberta de conhecimento, é mostrado que o uso de

dados públicos pode ser tão e�caz quanto o uso de dados de uso, privado às organizações,

para o problema de recomendação de músicas e artistas.

1.1 Objetivos da dissertação

O principal objetivo desta dissertação é demonstrar que os dados públicos de pro-

gramação de rádios e playlists de músicas, podem ser modelados para uso efetivo em

sistemas de recomendação, em especial, no contexto de recomendação musical. Os dados

públicos em sistemas de recomendação são importantes quando há escassez de dados de

uso para o emprego de abordagens de �ltragem colaborativa. Para alcançar este ob-

jetivo, foram utilizados dados públicos provenientes de rádios e de playlists, realizando

2Um rating é uma avaliação realizada por um usuário para um determinado item.3O termo artista utilizado nesta dissertação refere-se, de forma generalizada, a uma banda ou um

intérprete musical.4 DJ é uma sigla em inglês que signi�ca disc jockey e refere-se a um pro�ssional responsável por

transmitir música na rádio, televisão, boate ou outros meios de reprodução musical.

Page 25: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

1. Introdução 3

uma comparação com os dados privados providos pelas bases Last.fm 360K [16] e Yahoo

WebScope R15.

Destaca-se dois objetivos secundários. O primeiro objetivo secundário desta disser-

tação é o desenvolvimento de uma metodologia de testes para comparação entre bases

distintas para o problema de recomendação musical. O tratamento desse problema en-

volve vários desa�os. Primeiramente, é necessário realizar o mapeamento de artistas e

músicas entre diferentes bases de dados. Com a �nalidade de mapear estes itens, fez-se

necessário desenvolver um componente de buscas de artistas e músicas. Em seguida,

é necessário determinar quais são os usuários de teste válidos para os experimentos e,

a partir destes usuários de teste, determinar quais são os usuários, rádios ou playlists

necessários para treino pelos algoritmos.

O segundo objetivo secundário desta dissertação consiste na proposta e desenvolvi-

mento de novos algoritmos de recomendação. O principal motivo para desenvolver novos

algoritmos de recomendação deve-se a �nalidade da utilização de maneira mais e�caz

dos dados públicos. Os algoritmos desta classe, em geral, calculam as recomendações ex-

traindo informações de uma matriz de similaridade de itens: matriz esta que é construída

explorando o conceito de coocorrências em rádios ou playlists. Além da informação de

coocorrências, utilizam a informação temporal de execução de cada música, considerando

mais similares as músicas que tocam em um menor intervalo de tempo. Um fator impor-

tante para utilizar a informação temporal deve-se ao fato de que ao observar os programas

de rádios, por exemplo, programas de músicas de rock, percebe-se que estes programas

possuem sequências de músicas que são mais similares, e que consequentemente tocam

em menor intervalo de tempo.

1.2 Justi�cativa

Neste trabalho, dadas as limitações intrínsecas à abordagem de �ltragem colaborativa,

principalmente a escassez de dados de usuários em novas aplicações de recomendação,

foi estudado e desenvolvido formas de uso de dados públicos em detrimento de dados

privados.

O uso de dados públicos é e�caz para uma série de aplicações em recomendação e

pode suprir algumas das limitações encontradas na �ltragem colaborativa. Ao analisar

os dados provenientes das programações das rádios, diversas vantagens são obtidas ao

utilizar esse tipo de informação.

5 www.webscope.sandbox.yahoo.com/catalog.php?datatype=r

Page 26: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

1. Introdução 4

A primeira vantagem é a acessibilidade aos dados, pois, em geral, serviços de tercei-

ros não disponibilizam os dados de maneira pública. Quando estes serviços disponibili-

zam dados de uso, são impostas limitações para utilização destes dados, principalmente

quando se trata do uso para �ns comerciais.

A segunda vantagem, ao utilizar dados provenientes de rádios ou playlists, é a com-

pletude das informações. Muitas bases disponíveis não fornecem informações das músicas

ou, quando fornecem, são informações anônimas, possuindo somente identi�cadores nu-

méricos dos itens e dos usuários. Um exemplo é a base de dados disponibilizada pelo

Yahoo! Music [37], onde estão disponíveis somente identi�cadores numéricos dos usuá-

rios, das músicas e dos gêneros, impossibilitando o mapeamento de itens e a comparação

com alguma outra base de dados. Estes dados anonimizados também impossibilitam a

utilização de outros metadados que podem ser coletados quando há o nome do artista

e da música. Não é o caso de defender que os serviços disponibilizem os dados publi-

camente, uma vez que a privacidade precisa ser respeitada: no entanto, nesse trabalho,

reforça a possibilidade de uso de dados públicos de serviços que disponibilizam os dados

sem ferir a privacidade dos usuários.

A terceira vantagem é a atualidade das informações, visto que a recomendação musical

é uma área muito dinâmica e sofre mudanças todos os dias. Por exemplo, um artista

mais tocado em uma rádio durante uma semana pode não ter sido o artista mais tocado

na semana anterior. Sendo assim, bases de dados construídas a partir de coletas, em

um determinado período de tempo no passado, podem �car obsoletas por não possuírem

informações atuais dos artistas, ou por não possuírem qualquer informação de um novo

artista ou música. Ao contrário de bases de dados estáticas, os metadados fornecidos pelas

rádios cobrem este tipo de de�ciência, pois, a todo tempo, novas músicas são tocadas nas

rádios, e logo descobertas pela aplicação que as observa.

A quarta vantagem é a escalabilidade, pelo fato do número de estações de web-rádios

crescer a cada dia. Muitas destas rádios são administradas por DJs pro�ssionais, e muitas

também são criadas por usuários que possuem conhecimento sobre os artistas e as músicas

de um determinado estilo.

A quinta vantagem, ao utilizar este tipo de dado, é a estabilidade. Devido ao fato de

que as informações de metadados6 são providas por diversas rádios, e estas rádios não

estão centralizadas em um único servidor, é garantida uma estabilidade com relação às

fontes dos dados. Pois, se uma determinada rádio deixar de funcionar, haverá outras

rádios que suprirão a falta desta rádio.

6 Um metadado de uma rádio é composto pelo nome do artista, música e a hora que a música foitocada.

Page 27: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

1. Introdução 5

A partir destas vantagens apresentadas e dos resultados alcançados, que serão apre-

sentados no decorrer desta dissertação, observa-se que quando se tem informações públi-

cas de qualidade, é possível criar sistemas de recomendação musical que possuem acurácia

tão boa quanto os sistemas que utilizam dados privados de uso, muitas vezes escassos em

aplicações de recomendação.

1.3 Principais contribuições da dissertação

A principal contribuição desta dissertação são os algoritmos de recomendação desen-

volvidos, e consequentemente a utilização dos dados públicos provenientes da Web. Os

algoritmos propostos foram divididos em 4 classes. Na primeira classe, é proposta uma

modelagem de rádios como usuários, para que, desta forma, seja possível aplicar os al-

goritmos de �ltragem colaborativa. A segunda classe contém dois algoritmos baseados

na ideia do tf-idf [61], com o objetivo de explorar o número de ocorrências dos artistas

nas rádios; nesta classe são apresentados dois algoritmos de recomendação propostos o

TFIDF e TFDF. A terceira classe propõe um algoritmo que calcula a similaridade entre

artistas e músicas a partir dos playlists e histórico de programação das rádios coletadas.

Para calcular esta matriz de similaridade, é utilizada a informação temporal das músicas

tocadas nas rádios. Por �m, a quarta classe contém dois algoritmos que utilizam uma

matriz de similaridade entre itens para calcular as recomendações. Na abordagem tradi-

cional de �ltragem colaborativa, a matriz de similaridade é construída a partir de dados

de ratings de usuários porém, para os algoritmos desenvolvidos nesta classe, a matriz

de similaridades entre itens é substituída por uma matriz construída a partir de dados

públicos, explorando a coocorrência das músicas na programação das rádios.

A segunda contribuição desta dissertação é a metodologia de avaliação proposta. A

metodologia desenvolvida tem como principal objetivo avaliar a acurácia dos algoritmos

de recomendação desenvolvidos, considerando que é necessário realizar comparações entre

diferentes bases de dados, sejam elas públicas ou privadas. Esta metodologia de avaliação

pode ser aplicada tanto no contexto de recomendação musical quanto em outras áreas

da recomendação, por exemplo, recomendação de �lmes, livros ou artigos cientí�cos.

A terceira contribuição deste trabalho é a disponibilização de uma base de dados pu-

blicamente7. Esta base de dados foi construída a partir de coletas realizadas no período

entre setembro de 2012 e maio de 2013. Neste período, foram coletados metadados de

aproximadamente 2.000 rádios contendo informações relevantes, compreendendo aproxi-

madamente 18 milhões de execuções, e um total de 58.151 artistas distintos e 335.719

7 www.benchmarkcolections.com

Page 28: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

1. Introdução 6

músicas distintas. As músicas desta base estão mapeadas (referenciadas) para as músi-

cas da base de dados MusicBrainz8 e os artistas estão mapeados para as bases de dados

MusicBrainz, Last.fm 360K [16] e Yahoo WebScope R1.

A maioria dos algoritmos de �ltragem colaborativa foram utilizados do framework

Mahout [53]. Porém, alguns algoritmos implementados no Mahout estão obsoletos ou

apresentaram resultados ruins. A �m de garantir que algum algoritmo baseado em clus-

tering pudesse ser utilizado como teste, a quarta contribuição desta dissertação é o de-

senvolvimento de um algoritmo de �ltragem colaborativa do tipo clustering, que pode

ser aplicado tanto para dados de uso quanto para dados públicos.

1.4 Organização da dissertação

Esta dissertação está dividida em 8 capítulos. Este primeiro capítulo é uma introdu-

ção e o restante da dissertação é organizada como segue. No Capítulo 2, é apresentada a

fundamentação teórica, onde são descritos conceitos importantes associados ao conteúdo

dessa dissertação. Em seguida, no Capítulo 3, são apresentados os trabalhos relacionados

na área de recomendação de músicas. No Capítulo 4, é descrito o algoritmo de �ltragem

colaborativa proposto que é baseado em clustering. O Capítulo 5 apresenta os algoritmos

propostos modelados para utilização de dados públicos. No Capítulo 6, a metodologia

de avaliação é apresentada. No Capítulo 7, os resultados experimentais e as análises

realizadas sobre os resultados são apresentados. Por �m, no Capítulo 8 são apresentadas

as conclusões e os trabalhos futuros.

8 www.musicbrainz.org

Page 29: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Capítulo 2

Fundamentação Teórica

Neste capítulo, é apresentada a fundamentação teórica, onde são descritos conceitos

importantes associados ao conteúdo dessa dissertação. A Seção 2.1 apresenta a de�nição

do problema de recomendação. Em seguida, a Seção 2.2 apresenta o per�l dos usuários

e os tipos de feedbacks1. A Seção 2.3 apresenta o per�l dos itens e quais são os tipos de

metadados para os artistas e músicas. A Seção 2.4 apresenta as abordagens dos algorit-

mos de recomendação, onde estão descritos os algoritmos utilizados neste trabalho como

baseline. A Seção 2.5 apresenta as métricas de avaliação utilizadas neste trabalho. Em

seguida, a Seção 2.6 apresenta o Framework Idealize Recommendation, que foi utilizado

para desenvolvimento dos algoritmos de recomendação para realizar este trabalho. Por

�m, a Seção 2.7 apresenta a arquitetura alto nível do serviço de recomendação Radialize.

2.1 De�nição do problema de recomendação

O problema de recomendação, como mencionado anteriormente, consiste em reco-

mendar os itens que são mais relevantes para os usuários. Os itens recomendados são

selecionados ou �ltrados a partir do conjunto total de itens. Muitas vezes, se o usuário

não utilizar de algum sistema de recomendação e tiver a necessidade de avaliar todo o

conjunto de itens, este usuário irá passar a maior parte do tempo avaliando itens que são

irrelevantes para ele. Sendo assim, os sistemas de recomendação tem por objetivo levar

aos usuários conteúdos relevantes para estes, e a resolução deste problema é dividida em

duas partes: a primeira parte do problema da recomendação consiste em predizer ou

estimar o quão bom é um item para um usuário, sendo que este item pertence ao con-

1 Avaliações expressas pelos usuários aos itens.

7

Page 30: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

2. Fundamentação Teórica 8

junto total de itens disponíveis para serem recomendados. A segunda parte do problema

consiste em ordenar e �ltrar quais são os itens preditos mais relevantes para o usuário.

A parte mais importante em sistemas de recomendação é a primeira, onde é realizada

a predição dos valores de ratings para os itens. A predição dos itens resulta em um valor

numérico ou um valor booleano.

A primeira parte do problema é formalizada da seguinte maneira:

Seja um conjunto de usuários U = {u1, u2, u3, ..., um} e o conjunto de todos os possí-veis itens a serem recomendados I = {i1, i2, i3, ..., in}. Sendo cada usuário ui pertencenteao conjunto U e que possui uma lista de itens avaliados Iui . A função de predição de

um usuário ui para um determinado item ij será expressa por Fui,ij , tal que ij /∈ Iui , ou

seja, o item i é um item desconhecido pelo usuário u.

A segunda parte da recomendação consiste na ordenação e �ltragem dos itens preditos,

retornando os top-N itens mais relevantes.

2.2 Representação do per�l dos usuários

Em sistemas de recomendação, os usuários devem expressar de alguma maneira os

seus interesses pelos itens, pois a partir destes interesses, é possível determinar quais

são os itens relevantes para os usuários. Os interesses dos usuários podem ser expressos

através de buscas realizadas no sistema, sequência de links visitados, itens comprados

no passado, utilização de informações de questionários, informações demográ�cas (idade,

gênero, etc.) ou geográ�cas (país, estado, cidade, etc.).

Existem duas maneiras do usuário expressar seus interesses nos itens dispostos pelos

sistemas, sendo de forma explícita ou implícita.

Feedback explícito

Feedbacks explícitos são informações de interesse que o usuário envia para o sistema

de forma direta, não sendo necessário inferir a opinião do usuário a partir de outras

ações. O primeiro sistema de recomendação musical que utilizou feedbacks explícitos e

uma abordagem de �ltragem colaborativa foi o Ringo, apresentado por Shardanand e

Maes [66].

Os feedbacks explícitos, em geral, são valores numéricos que variam em uma deter-

minada escala, normalmente é utilizada uma escala de 1 a 5, ou podem ser booleanos.

Estes valores são adquiridos quando o usuário clica em um botão do tipo curtir, banir,

entre outros, gerando informações de interesse direto sobre um determinado item; sendo

assim, estas ações possuem um grau de con�ança maior do que as informações extraídas

Page 31: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

2. Fundamentação Teórica 9

de maneira implícita [52]. Porém, os feedbacks explícitos são mais difíceis de serem

obtidos, pois muitos usuários não possuem o costume de interagir com os sistemas

expressando seus interesses explicitamente.

Feedback implícito

Feedbacks implícitos, em geral, são mais fáceis de serem obtidos em relação aos feed-

backs explícitos, pois não necessitam que o usuário expresse sua opinião de forma direta

a respeito de um item no sistema. Alguns exemplos de feedbacks implícitos em sistemas

musicais são: aumento do volume de uma música, número de vezes que um usuário escu-

tou uma música, utilização do botão skip ou uma busca feita no sistema. Muitos sistemas

de recomendação utilizam ratings implícitos pelo fato destes serem tão onipresentes. Se

utilizados de forma e�caz, são dados de utilidade para a produção de recomendação com

melhor qualidade [38, 32].

2.3 Representação dos itens (artistas e músicas)

Assim como os usuários, cada item possui informações que o de�nem. As informações

das músicas ou artistas são classi�cadas em 3 categorias de metadados2: metadados

acústicos, metadados editoriais e metadados culturais [54].

2.3.1 Metadados acústicos

Os metadados acústicos são obtidos através da análise do sinal do áudio das músicas

e representam o mais baixo nível de informações das músicas. Algumas das característi-

cas que podem ser extraídas do sinal do áudio são: Mel-Frequency Cepstral Coe�cients

(MFCC ), Flux, Spectral Centroid, Tempo, Zero Crossings e Chroma.

OMFCC foi desenvolvido por Mermelstein et al. [20] para reconhecimento de voz, mas

esta característica também foi utilizada em vários trabalhos realizados para classi�cação

musical [76, 12, 46, 51]. O MFCC é uma representação do espectro de energia em uma

pequena janela de tempo do áudio.

Flux e Spectral Centroid, são utilizadas para determinar o timbre de um som. O tim-

bre, em síntese, nos permite distinguir a mesma nota tocada por instrumentos diferentes

ou em escalas diferentes; por exemplo, uma nota dó tocada em um violão produz um

som diferente da mesma nota tocada em um violino.

2 Metadados, ou Metainformação, são dados sobre outros itens. Os metadados facilitam o entendi-mento dos relacionamentos e a utilidade das informações dos dados.

Page 32: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

2. Fundamentação Teórica 10

Outra característica extraída do sinal do áudio é o tempo. O tempo representa o

número de batidas por minuto (BPM).

A característica Zero Crossings é uma medida que indica o número de vezes que a

onda sonora passou pelo valor zero. Esta característica é utilizada em processamento de

voz para estimar a frequência fundamental da voz.

O Chroma é o espectro de cada semitom do áudio, onde o espectro é o conjunto

de todas as ondas que compõem o som. Em outras palavras, o Chroma mede o som

formado pela composição das notas de uma música. Existem 12 semitons no total que

podem compor o Chroma, sendo eles: C (Dó), C# (Dó sustenido), D (Ré), D# (Ré

sustenido), E (Mi), F (Fá), F# (Fá sustenido), G (Sol), G# (Sol sustenido), A (Lá), A#

(Lá sustenido) e B (Si).

2.3.2 Metadados editoriais

Metadados editoriais são obtidos de maneira manual, onde este processo é realizado

por especialistas da área. Estes metadados também podem ser fornecidos por comunida-

des de usuários de maneira colaborativa, assim como ocorre no MusicBrainz e também

no processo de inserção de tags3 para artistas e músicas no site Last.fm.

Alguns exemplos de metadados editoriais são: lista de músicas de um álbum, biogra�a

do artista (localidade e ano de nascimento), período de atividade (data de início e data

de �m), gêneros (rock, indie, punk e heavy metal) ou informações do humor das músicas

(alegre, triste e enérgica).

2.3.3 Metadados culturais

A última classe de metadados consiste dos metadados culturais. Estes metadados são

obtidos através da análise de informações textuais ou numéricas, providas usualmente da

internet, ou de fontes públicas, tais como programas de rádio ou enciclopédias. Diferente

dos metadados editoriais, esta informação não é prescrita explicitamente, e sim baseada

em padrões, categorias ou associação das informações [54]. Um maneira de obter estes

metadados é realizando a análise de programas de rádios, onde é possível determinar

a similaridade entre músicas que coocorrem em uma mesma rádio, que é um tipo de

metadado cultural.

3 Tags são notas descritivas sobre os itens em questão.

Page 33: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

2. Fundamentação Teórica 11

2.4 Abordagens dos algoritmos de recomendação

Algoritmos de recomendação podem realizar a estimativa ou predição dos ratings de

várias maneiras, utilizando técnicas de aprendizagem de máquina, teoria da aproximação

e diversas heurísticas [1]. Estes algoritmos são classi�cados de acordo com a abordagem

utilizada para predizer os ratings, sendo classi�cados em diversas categorias, onde as

principais são: �ltragem colaborativa, recomendação baseada em conteúdo, recomenda-

ção baseada em contexto e recomendação híbrida [2, 1, 16, 9].

2.4.1 Filtragem Colaborativa

A recomendação por �ltragem colaborativa tem sua origem na área da mineração

de dados. O primeiro sistema apresentado na literatura que utilizou esta abordagem de

recomendação foi o Tapestry, que foi implementado na empresa XEROX PARC [28].

Esta abordagem consiste da recomendação que leva em consideração o per�l de múl-

tiplos usuários, onde é de�nido na literatura como wisdom of crowds, em tradução literal

sabedoria das multidões. Nesta abordagem de recomendação, o usuário recebe recomen-

dações de acordo com as preferências expressas por outros usuários [1, 77, 38].

Os algoritmos de recomendação da abordagem de �ltragem colaborativa utilizam uma

matriz de itens e usuários. Esta matriz é preenchida pelos valores de preferências de cada

usuário para cada item, onde estes valores podem ser booleanos ou valores numéricos,

variando em uma determinada escala. A Tabela 2.1 representa parte de uma matriz

utilizada pelos algoritmos de �ltragem colaborativa, onde as linhas representam os itens

e as colunas representam os usuários.

Tabela 2.1: Parte de uma matriz de itens e usuários utilizada na �ltragem colaborativa.

Usuário1 Usuário2 ... UsuárionItem1 5 φ ... 3Item2 φ 2 ... 2Item3 1 1 ... φ

... ... ... ... ...Itemn 4 2 ... 5

Os algoritmos de �ltragem colaborativa podem ser divididos em três áreas principais,

algoritmos que utilizam vizinhança entre itens (item-based), similaridades entre usuários

(user-based) ou algoritmos que utilizam latent factor models [40].

Page 34: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

2. Fundamentação Teórica 12

2.4.1.1 Item-based

Os algoritmos que utilizam a técnica item-based também são conhecidos como model-

based. Os algoritmos desta categoria calculam a recomendação levando em consideração

a similaridade entre itens [21, 44, 62]. Ao utilizar esta técnica de recomendação para

determinar os k itens mais similares a um determinado item i, é calculado o valor de

similaridade de um item ranqueado pelo usuário em relação aos outros itens disponíveis

na base. Desta forma é determinado um conjunto de valores de similaridades de itens

em relação ao item i, si1, si2, si3, ..., sin. Em seguida, após a realização do cálculo de

similaridade entre itens, são selecionados os k itens mais similares ao item i.

O primeiro passo para calcular a similaridade entre dois itens, supondo i e j, é sele-

cionar os usuários que ranquearam ambos os itens. A partir desta pré-seleção, calcula-se

a similaridade entre os itens, onde é determinado o valor de similaridade Sij . Existem

diferentes maneiras de calcular a similaridade entre itens; uma delas é a utilização de mé-

tricas para calcular distância entre dois vetores, onde neste caso os vetores são compostos

pelos valores de ratings expressos pelos usuários. As principais métricas para calcular

distância entre dois vetores utilizadas na �ltragem colaborativa são: distância euclidi-

ana, distância de cosseno, coe�ciente de correlação de Pearson, distância de Manhattan

e Jaccard.

A distância de cosseno é apresentada na Equação 2.1, onde o conjunto de usuários

que ranquearam os itens i e j é denotado por U e Ru,i representa o rating do usuário u

para o item i.

similarity(i, j) = cos(→i ,

→j ) =

→i .

→j

‖i‖ ∗ ‖j‖=

∑u∈U Ru,iRu,j√∑

u∈U R2u,i

√∑u∈U R

2u,j

(2.1)

A Equação 2.2 apresenta a correlação de Pearson, onde Ai é o valor médio de rating

de todos os usuários para o item i, e Iij é o conjunto de usuários que ranquearam o item

i e usuários que ranquearam o item j.

similarity(i, j) =

∑u∈Iij (Ru,i −Ai)(Ru,j −Aj)√∑

u∈Iij (Ru,i −Ai)2∑

u∈Iij (Ru,j −Aj)2(2.2)

A Equação 2.3 apresenta a distância Euclidiana, onde x e y representam dois itens,

sendo n o total de usuários que ranquearam os itens x ou y, e cada posição i representa

o valor de rating do usuário para o item x ou item y:

Page 35: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

2. Fundamentação Teórica 13

d(x, y) =

√√√√ i=1∑n

(xi − yi)2 (2.3)

A Equação 2.4 representa a distância de Manhattan:

d (x, y) =

i=1∑n

|xi − yi| (2.4)

A Equação 2.5 apresenta a distância de Jaccard, sendo A e B dois vetores contendo

os identi�cadores dos usuários que ranquearam cada item:

J (A,B) =|A ∩B||A ∪B|

(2.5)

Uma vez calculada a similaridade entre os itens, o próximo passo é determinar os itens

mais relevantes para recomendar para um usuário u. Um modelo comum para predizer

o valor para um determinado item i, sendo o item i desconhecido pelo usuário u, é

computar o somatório de ratings de todos os itens similares a i e que o usuário ranqueou.

Denotando Sk(i;u) para representar o conjunto k de itens que usuário u ranqueou e que

são similares a i, a Equação 2.6 expressa de maneira formal a predição de rating do item

i pelo usuário u, sendo ∀j ∈ Sk(i;u) [16].

Ru,i =

∑j∈Sk(i;u) sim(i, j)Ru,j∑

j∈Sk(i;u) sim(i, j)(2.6)

2.4.1.2 User-Based

Algoritmos de recomendação que utilizam a técnica user-based também são conheci-

dos como memory-based. Este tipo de recomendação auxilia o usuário a encontrar itens

relevantes levando em consideração outros usuários, também conhecidos como usuários

similares [68, 81, 30]. Os usuários similares podem ser selecionados de duas maneiras,

baseando em um limitante de similaridade, onde são desconsiderados usuários que ul-

trapassam este limitante. A segunda maneira de selecionar os usuários mais similares é

utilizar a técnica top-n, onde são considerados somente os n-usuários mais similares.

A partir da seleção dos usuários similares ao usuário u, a �m de predizer a relevância

de um item i para o usuário u, Ru,i, determina-se os n usuários mais semelhantes a

u, e então calcula-se o valor médio dos ratings dos n usuários para o item i, e assim

prediz o valor do rating, Ru,i [16]. Determinar os usuários mais similares é análogo

Page 36: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

2. Fundamentação Teórica 14

ao problema de determinar itens similares, portanto podem ser utilizadas as mesmas

distâncias apresentadas para métodos de recomendação do tipo item-based.

A Equação 2.7 apresenta o cálculo da predição de rating de um usuário u para o item

i, sendo Ru a média dos valores de ratings expressos pelo usuário u. Rz é a média dos

valores de ratings expressos pelo usuário z, e V é o conjunto de usuários vizinhos a u:

Ru,i = Ru +

∑z∈V sim(u, z)(Rz,i − Rz)∑

z∈V sim(u, z)(2.7)

2.4.1.3 User-Clustering e Item-Clustering

Métodos de recomendação que utilizam a técnica user-clustering realizam o agrupa-

mento de usuários em clusters; estes clusters também são conhecidos como grupos de

usuários semelhantes. Uma vez que os grupos de usuários são construídos, as predições

de rating para um usuário teste é realizada calculando o valor médio de ratings para cada

item do cluster de usuários [29].

A recomendação do tipo item-clustering é análoga a recomendação user-clustering,

porém se constrói clusters de itens. Mais detalhes sobre esta categoria de recomendação

está apresentado no Capítulo 4.

2.4.1.4 Matrix Factorization

Nos últimos anos, uma técnica diferente dos algoritmos do tipo item-based e user-

based, denominada latent factor model, vem sendo utilizada na �ltragem colaborativa.

Métodos em sua forma básica que utilizam tal técnica são conhecidos como Matrix Fac-

torization [40, 39, 31]. Estes métodos apresentaram resultados de predição de ratings

superiores em relação as técnicas clássicas de vizinhança de usuários e itens; estes resul-

tados foram observados nos artigos apresentados na competição realizada pela empresa

Net�ix4. A Net�ix é uma companhia de locação e recomendação de �lmes online. No

ano de 2006, esta empresa disponibilizou uma base de dados com mais de 100 milhões

de ratings, contendo aproximadamente 500.000 usuários anonimizados e cerca de 17.000

�lmes, onde cada �lme possui ratings variando em uma escala de valores de 1 a 5.

Métodos do tipo Matrix Factorization realizam mapeamento de usuários e itens em

fator latente em um espaço de dimensionalidade f . A partir deste mapeamento, as

iterações entre itens e usuários são modeladas como o produto interno deste espaço. Por

exemplo, cada item i é mapeado em um vetor qi ∈ Rf , e cada usuário u é mapeado em

um vetor pu ∈ Rf . A multiplicação entre os vetores qi e pu, qTi pu, resulta na iteração

4 www.net�ixprize.com

Page 37: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

2. Fundamentação Teórica 15

do usuário u em relação ao item i. Sendo assim, o valor resultante da multiplicação dos

vetores é o valor aproximado do rating do usuário u para o item i, denotado por rui [71].

rui = qTi pu (2.8)

Os valores dos vetores pu e qi são aprendidos, portanto, são utilizados os valores de

ratings já conhecidos do item i para o usuário u, com o objetivo de minimizar o erro

do valor encontrado em relação ao valor real. A Equação 2.9 apresenta o modelo de

funcionamento do método Matrix Factorization, onde k é o conjunto de itens de treino,

ou seja, itens que já possuem valores de ratings conhecidos.

minq∗,p∗∑

(u,i)∈k

(ruiqTi pu)2 + λ(||qi||2 + ||pu||2) (2.9)

A �m de minimizar o erro apresentado na Equação 2.9, podem ser utilizadas duas

abordagens de aprendizado, que são: stochastic gradient descent [70] ou alternating least

squares [11].

Foram utilizadas duas implementações do Matrix Factorization neste traba-

lho. A primeira é uma implementação presente no framework de recomenda-

ção Mahout [53], descrito na Seção 2.6. A segunda implementação do Ma-

trix Factorization é uma modi�cação realizada no código fonte disponível em

http://select.cs.cmu.edu/code/graphlab/download.html5. Esta implementação é

baseada no artigo [82].

Limitações da abordagem de �ltragem colaborativa

A abordagem de recomendação por �ltragem colaborativa apresenta os melhores re-

sultados em comparação com outras abordagens, e tem sido aplicada em diversos sistemas

na Web [50, 63]; porém, esta abordagem possui algumas limitações:

O problema do cold start é uma das limitações bem conhecidas em sistemas de re-

comendação e, consequentemente, muito estudada. Este problema consiste da falta de

informações para novos itens ou novos usuários. Por exemplo, um usuário que acabou de

realizar o cadastro no sistema ainda não irá possuir nenhum rating, da mesma maneira

um novo item no sistema não irá possuir rating de nenhum usuário. Sendo assim, devido

a falta de informações, esta recomendação pode se tornar ine�caz para estes casos [64].

5 Último acesso em 13/03/2014

Page 38: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

2. Fundamentação Teórica 16

Em aplicações que utilizam a abordagem de �ltragem colaborativa e possui grandes

quantidades de dados, assim como são os sistemas de recomendação musical, ocorre

o problema da esparsidade dos dados. Esta limitação está relacionada com a grande

quantidade de itens e usuários, porém a cobertura dos itens que os usuários conhecem

são poucos em relação à quantidade total. Desta forma, a porcentagem de valores que são

inseridos na matriz da �ltragem colaborativa é muito pequena, gerando assim uma matriz

de usuários e itens com poucos valores de ratings preenchidos em relação ao total [33].

O problema da esparsidade é relatado em vários trabalhos que utilizam base de dados

de músicas [23, 80, 16]. Visto que a distribuição de ratings sobre as bases de músicas tem

um comportamento conhecido como cauda longa ou lei de potência [5], onde uma minoria

de artistas são bem conhecidos pela maioria dos usuários, e a maioria dos artistas são

conhecidos por um pequeno número de usuários. A Figura 2.1 ilustra o comportamento

de uma base que segue a lei de potência.

Figura 2.1: Cauda longa, poucos artistas são populares e muitos artistas são conhecidospor pequenos grupos de usuários.

Outra limitação da �ltragem colaborativa é a tendência a popularidade. Esta limita-

ção está relacionada com a quantidade de ratings dos itens, pois, ao utilizar a �ltragem

colaborativa, os itens mais populares irão possuir similaridade com a maioria dos ou-

tros itens da base de dados. Uma vez que possuem similaridade com a maior parte

dos itens, haverá uma tendência maior em recomendar estes itens para os usuários que

ainda o desconhecem, pois é característica dos algoritmos que utilizam esta abordagem

Page 39: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

2. Fundamentação Teórica 17

e, principalmente, os algoritmos do tipo item-based.

2.4.2 Recomendação Baseada em Conteúdo

A recomendação baseada em conteúdo tem sua origem na área da recuperação da in-

formação, onde os primeiros sistemas implementados faziam parte do domínio textual [8].

Na abordagem de recomendação baseada em conteúdo, o usuário recebe recomendações

de itens que possuem conteúdo similar aos itens que o usuário expressou gostar, ou itens

que possuem conteúdo similar ao que o usuário de�niu em seu per�l [57, 1, 9]. Esta abor-

dagem, diferente da �ltragem colaborativa (ver Seção 2.4.1), não leva em consideração

os ratings expressos por outros usuários do sistema.

Nesta abordagem de recomendação cada item em questão possui um tipo de conteúdo

especí�co, por exemplo, o conteúdo de um �lme pode ser o gênero, atores participantes,

diretor, sinopse ou tempo de duração. No contexto de recomendação musical, o conteúdo

pode ser características extraídas a partir do sinal do áudio tais como, Mel-Frequency

Cepstral Coe�cients (MFCC ), Flux, Spectral Centroid, Zero Crossings e Chroma (ver

Seção 2.3.1), ou características dos próprios artistas, tais como gênero, in�uência musical,

integrantes da banda, ano de início da banda ou ano de lançamento de uma música.

Este processo de caracterização dos itens pode ser de maneira automática (programas

para realizar coletas na Web ou extratores de features musicais pela análise do conteúdo

do áudio), ou pode ser realizado de maneira manual por especialistas da área, assim

como acontece no sistema de recomendação musical Pandora, que é um serviço que está

apoiado no projeto Music Genome Project [27]. A caracterização dos itens também pode

ser realizada por comunidades de usuários, assim como é o processo de inserção de tags

para artistas e músicas realizado no sistema de recomendação musical Last.fm.

Para a abordagem de recomendação baseada em conteúdo, a similaridade entre itens

é calculada utilizando algum dos tipos de distância entre vetores, que são distância

euclidiana, distância de cosseno, coe�ciente de correlação de Pearson, distância de

Manhattan e Jaccard. As fórmulas destas distâncias foram apresentadas na Seção 2.4.1.

Limitações da abordagem de recomendação baseada em conteúdo

Assim como na �ltragem colaborativa, a recomendação baseada em conteúdo também

possui algumas limitações, a saber.

O problema do cold start também aparece nesta abordagem; porém, para esta abor-

dagem, este problema acontece somente para novos usuários, já que considera que todo

Page 40: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

2. Fundamentação Teórica 18

novo item no sistema já tenha sido caracterizado de maneira automática ou manual.

Uma segunda limitação desta abordagem é a não recomendação de itens que pos-

suam grande fator de novidade em relação aos itens pré-visualizados pelo usuário. Este

problema ocorre devido a este tipo de abordagem recomendar itens que possuem conteú-

dos similares aos itens pré-visualizados pelo usuário. Por exemplo, seja um usuário que

utilize um sistema de recomendação de �lmes e que este sistema utilize os conteúdos,

nome do �lme, gênero, atores participantes e diretor. Em geral, as próximas recomen-

dações serão de �lmes com nomes que possuem palavras em comum, atores, gêneros ou

diretores em comum. Analisando um exemplo prático para esta limitação, supondo que

um determinado usuário tenha ranqueado positivamente O Senhor dos anéis 1 e Homem

aranha 1, desta forma o sistema terá uma tendência em recomendar O Senhor dos anéis

2, O Senhor dos anéis 3, Homem aranha 2 e Homem aranha 3, ou seja, recomendações

que a princípio podem ser boas, porém não possuem um grande fator de diversidade.

2.4.3 Recomendação Baseada em Contexto

A abordagem de recomendação baseada em contexto, também descrita atualmente

pelo termo context-aware, entre as abordagens de recomendações apresentadas é a mais

recente. O termo context-aware foi descrito inicialmente por Schilit e Theimer [65]. O

contexto está relacionado com a habilidade de utilizar informações sobre o ambiente,

tais como localização, tempo, temperatura, companhia de pessoas, humor do usuário

ou identidade do usuário. A maioria dos trabalhos de recomendação desenvolvidos até

hoje estão focados em encontrar itens relevantes para usuários únicos e desconsideram

as informações do contexto; porém, atualmente, tem surgido trabalhos que utilizam

informações contextuais [35, 42].

As informações do contexto dos usuários podem ser obtidas de maneira explícita,

implícita ou pode ser inferida. A obtenção do contexto de maneira explícita pode ser re-

alizada através de perguntas diretas aos usuários, permitindo o acesso de um determinado

conteúdo somente após os usuários enviarem informações do contexto ao sistema.

As informações implícitas como localidade, por exemplo, podem ser obtidas através

de determinadas faixas de endereço de internet, ou então pelo DDD de um determinado

telefone. Informações temporais podem ser obtidas implicitamente através da última

hora da transação executada pelo usuário no sistema.

As informações de contextos inferidas, em geral, devem ser modeladas e aprendidas,

baseando nos comportamentos dos usuários do sistema; por exemplo, analisando as mú-

sicas que as pessoas de determinada faixa etária escutam, inferindo a idade de outros

Page 41: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

2. Fundamentação Teórica 19

usuários do sistema que escutam tais tipos de músicas.

2.4.4 Recomendação Híbrida

A abordagem de recomendação híbrida é a combinação de diversas abordagens. A

�nalidade da combinação entre abordagens é que cada abordagem possa suprir as li-

mitações ou desvantagens das outras [59, 4, 1]. Vários trabalhos foram apresentados

sugerindo diversas maneiras de combinação entre as diversas abordagens de recomenda-

ção [72, 41, 9]. As maneiras de combinar as diferentes abordagens de recomendação são

descritas a seguir:

• Implementação de abordagens separadas e realizar a combinação do valor predito

por cada abordagem. Esta combinação de valores pode ser realizada por combina-

ção linear de valores [18] ou por algum modelo de votação [56].

• Incorporar conceitos de determinada abordagem em uma abordagem principal; por

exemplo, incorporar conceitos da abordagem baseada em conteúdo na �ltragem

colaborativa [14].

• Realizar a troca de abordagens de recomendação a cada momento. Esta troca é

realizada quando houver a percepção que determinada abordagem é insu�ciente

para determinado caso. Por exemplo, ao utilizar a abordagem de �ltragem colabo-

rativa pode-se trocar para a abordagem baseada em conteúdo no caso de houver

cold start de itens. Tran e Cohen [74] propôs uma forma simples de realizar trocas

entre as abordagens. A comutação entre os algoritmos é realizada levando em con-

sideração os ratings anteriores e as recomendações que cada abordagem produz,

empregando aquela que produz melhor resultado, sendo analisado os ratings do

passado do usuário.

• Modelo em cascata é realizado passo a passo, onde cada abordagem pode funcionar

como �ltro, ou ainda cada abordagem pode funcionar para reordenar novamente

os itens a serem recomendados [14].

2.5 Métricas de avaliação

As métricas de avaliação apresentadas neste trabalho são métricas centradas no sis-

tema (system-centric). Métricas desta categoria são de�nidas como métricas de predição

(predictive-based) e métricas baseadas em decisão (decision-based), que tem sido aplica-

das em diversos sistemas de recomendação atualmente [16].

Page 42: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

2. Fundamentação Teórica 20

2.5.1 Métricas de predição

Métricas de predição avaliam o quão bom o sistema é capaz de prever valores de

ratings em relação aos ratings reais atribuídos anteriormente pelos usuários, sendo tais

métricas, Root Mean Squared Error (RMSE) e Mean Absolute Error (MAE).

• Root Mean Squared Error (Raiz do Erro Quadrado Médio)

Esta métrica tem sido bastante utilizada em sistemas de recomendação que utilizam

a abordagem de �ltragem colaborativa.

A Equação 2.10 apresenta o cálculo utilizando esta métrica, onde o valor real do

rating é Ri e o valor de rating predito é Ri,

RMSE =

√√√√ 1

n

i=1∑n

(Ri −Ri)2 (2.10)

• Mean Absolute Error (Erro médio absoluto)

A medida de avaliação MAE mede o erro do rating predito em relação ao valor

real. Esta métrica possui uma semelhança com a métrica RMSE, porém a medida

de avaliação RMSE penaliza erros maiores e, em geral, a métrica RMSE tem sido

mais utilizada nos trabalhos apresentados na literatura.

A Equação 2.11 apresenta o cálculo para esta medida de avaliação, sendo Ri o valor

real e Ri o valor predito.

MAE =1

n

i=1∑n

|(Ri −Ri)| (2.11)

2.5.2 Métricas baseadas em decisão

As métricas de avaliação baseadas em decisão medem o quão bom é a lista dos top-n

itens recomendados. As métricas inclusas nesta categoria são: precisão, revocação e taxa

de erro.

Estas métricas levam em consideração 4 diferentes casos dos itens retornados: verda-

deiro positivo (VP), falso positivo (FP), verdadeiro negativo (VN) e falso negativo (FN).

A Tabela 2.2, também denominada de tabela de contingência, apresenta estes 4 casos.

Para classi�car os itens recomendados em cada caso, deve-se conhecer se um item é re-

levante ou irrelevante, sendo um item considerado relevante quando o usuário expressa

Page 43: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

2. Fundamentação Teórica 21

interesse de maneira positiva por este item, e é considerado irrelevante quando o usuário

expressa interesse negativo pelo item.

Itens verdadeiros positivos (VP) são os itens que fazem parte dos top-n recomendados

pelo sistema e que são itens relevantes para o usuário.

Itens falsos positivos (FP) são os itens que fazem parte dos top-n itens retornados

pelo sistema e que são itens irrelevantes para o usuário.

Itens verdadeiros negativos (VN) são os itens que não fazem parte dos top-n itens e

que são itens irrelevantes para o usuário.

Itens falsos negativos (FN) são os itens que não fazem parte dos top-n itens recomen-

dados e que são itens relevantes para o usuário.

Tabela 2.2: Tabela de contingência utilizada para categorizar itens recomendados ou nãorecomendados.

Relevante Não relevanteRecomendado VP FP

Não recomendado FN VN

Precisão@k

A precisão mede a fração dos itens retornados e que são relevantes; para tal métrica de

avaliação, é necessário informar um parâmetro k, onde este parâmetro de�ne o tamanho

da lista de itens que será testada. A Equação 2.12 apresenta o cálculo de precisão.

precisao =V P

V P + FP(2.12)

Na Figura 2.2, o conjunto C representa os itens retornados e que são relevantes

(VP), portanto, a precisão é medida pela fração do conjunto C sobre o conjunto B,

precisao = CB .

Figura 2.2: Conjuntos para apresentar a precisão e revocação.

Page 44: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

2. Fundamentação Teórica 22

Revocação

A revocação mede a fração dos itens relevantes e que são retornados. A Equação 2.13

apresenta o cálculo para a revocação.

revocação =V P

V P + FN(2.13)

Na Figura 2.2 a revocação é medida pela divisão do conjunto C sobre o conjunto A,

revocação = CA .

Taxa de erro

Outra métrica utilizada neste trabalho que é orientada a decisão é a taxa de erro

de classi�cação de itens relevantes e itens irrelevantes. Esta métrica foi escolhida para

ser utilizada na competição Yahoo! KDD-Cup no ano de 2011 e foi apresentada em

[23, 78, 73, 25, 41].

A ideia, ao utilizar esta métrica, é testar itens que são relevantes e itens que são

irrelevantes, sendo que todos itens que serão testados devem possuir um auto valor médio

de rating, e ainda devem ser itens que possuem auto grau de popularidade na base de

dados, pois, este é um dos requisitos propostos na utilização desta métrica.

Esta métrica de avaliação utiliza uma lista de teste, Lt, contendo 6 itens para cada

usuário de teste. O processo de seleção dos itens para cada usuário ocorre da seguinte

maneira:

Inicialmente, selecionam-se todos os itens que possuem um valor alto de rating e

constrói-se um conjunto com estes itens, D. Em uma escala de 0 a 100, os valores que

são considerados altos são valores de 80 a 100, e em uma escala de 1 a 5, os valores

considerados altos são os valores de 4 a 5. O segundo passo consiste em selecionar, de

maneira aleatória, 3 itens que possuem valores de ratings altos para determinado usuário

de teste, Ut. Estes 3 itens selecionados do usuário de teste são denominados como itens

positivos, e irão compor a lista de itens que serão testados, Lt. Em seguida, seleciona-se

3 itens do conjunto D e que sejam itens não ranqueados pelo usuário de teste, Ut, sendo

que estes 3 itens devem ser itens que tenham valor alto de popularidade e valor alto de

rating médio. Estes 3 itens também irão compor a lista de itens de teste, Lt, onde tais

itens são considerados itens negativos.

Por �m, o método de recomendação a ser avaliado realiza a predição de rating para

os 6 itens que compõem a lista Lt, construindo assim uma lista ordenada de 6 itens de

maneira decrescente pelo valor da predição. Os três primeiros itens da lista retornada

pelo algoritmo são de�nidos com valor alto, V A, e os três últimos itens da lista são

Page 45: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

2. Fundamentação Teórica 23

de�nidos com valor baixo, V B.

A Equação 2.14 apresenta a métrica de taxa de erro, onde o objetivo é minimizar a

taxa de erro do conjunto de teste.

Erro =100%

|Lt|∑

u,i∈Lt

0, rui ≥ 80 e rui = V A

0, desconhecido e rui = V B

1, em outros casos

(2.14)

Se todas as listas retornadas estiverem com os itens separados corretamente, o valor

para a métrica taxa de erro será 100%. Para isto é necessário que os 3 itens ranqueados

pelo usuário com valor acima de 80% esteja no topo da lista, e os 3 itens não ranqueados

pelo usuário, que tenham sido ranqueados pela maioria dos usuários de maneira positiva,

estejam no �nal da lista retornada pelo algoritmo de recomendação.

2.6 Idealize Recommendation Framework

Os algoritmos de recomendação desenvolvidos neste trabalho foram implemen-

tados utilizando o Idealize Recommendation Framework (IRF) [49], disponível em

www.sourceforge.net/projects/irf/. O IRF é um framework de recomendação open-

source, que foi desenvolvido para suportar diversas abordagens de recomendação.

Um framework provê uma solução para uma família de problemas semelhantes [48],

usando um conjunto de classes abstratas e interfaces que mostram como decompor a

família destes problemas e como os objetos dessas classes colaboram para cumprir suas

responsabilidades. O conjunto de classes de um framework deve ser �exível e extensível

para permitir a construção de aplicações diferentes mais rapidamente dentro do mesmo

domínio, sendo necessário implementar apenas as particularidades de cada aplicação.

O IRF utiliza a linguagem de programação Java, e foi implementado a partir do

framework Apache Mahout [53], que também utiliza a linguagem Java e encapsula os

frameworks Apache Taste6 e Apache Hadoop7, assim como apresentado na Figura 2.3.

O Apache Taste é um framework open-source e fornece algoritmos de recomendação que

utilizam a abordagem de �ltragem colaborativa. O Apache Mahout também é open-source

e é utilizado em aplicações que realizam operações de maneira escalável e distribuída.

Para a implementação de uma arquitetura distribuída sobre do IRF, além do fra-

mework Hadoop, também é utilizado o Apache HBase8, que é um framework para ar-

6 www.taste.sourceforge.net7 www.hadoop.apache.org8 www.hbase.apache.org

Page 46: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

2. Fundamentação Teórica 24

mazenar e acessar dados passíveis de serem armazenados em diversas máquinas, ou seja,

dados que são armazenados de maneira distribuída. A Figura 2.3 apresenta a arquitetura

alto nível do IRF e dos frameworks encapsulados por ele. Mais informações sobre este

framework estão disponíveis em [49].

Figura 2.3: Arquitetura alto nível dos frameworks utilizados no IRF.

2.7 Radialize

O algoritmo de recomendação que utiliza dados do histórico de programação das rá-

dios e que está apresentado nesta dissertação na Seção 5.4, foi aplicado no serviço de

recomendação musical Radialize9. O Radialize é um serviço de descoberta de conteúdos

veiculados em Web Rádios nacionais e estrangeiras, e possui funcionalidades para apre-

sentar e recomendar itens musicais, tais como rádios, artistas, músicas e gêneros [58].

A Figura 2.4 ilustra a arquitetura alto nível dos componentes necessários para o fun-

cionamento do Radialize. Os componentes ou operações ilustrados na Figura 2.4 são des-

critos do seguinte modo.

O UpdateServer é um componente responsável pela atualização da base de dados do

Radialize e também pela atualização dos índices textuais utilizados. Desta forma, este

componente é responsável por realizar a inserção de novos artistas, novas músicas ou

novas rádios no banco de dados ou índice utilizado.

Outro componente apresentado na Figura 2.4 é o IdFinder. Este componente é res-

ponsável por encontrar os respectivos identi�cadores de mídias no Radialize, ou seja, é

capaz de retornar qual é o identi�cador numérico de um artista, música, gênero ou rádio.

Para isto, são mantidos dois índices textuais de maneira a dar suporte ao trabalho deste

componente: update index e search index. O update index é utilizado pelo UpdateServer

9 www.radialize.com.br

Page 47: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

2. Fundamentação Teórica 25

Figura 2.4: Arquitetura alto nível dos componentes do Radialize (retirada de [58]).

com a �nalidade de descobrir se uma nova mídia (artista + música) é conhecida na base

de dados, se esta mídia não estiver presente na base de dados o IdFinder retorna o valor

-1, indicando que esta é uma nova mídia e deverá ser inserida no banco de dados pelo

componente UpdateServer.

O componente SearchServer é responsável por responder as buscas realizadas pelos

usuários. Este componente utiliza uma instância do IdFinder, que possui o search index.

O search index é um índice textual que contém os nomes das mídias, artistas, músicas

e seus respectivos identi�cadores numéricos. Quando um usuário realiza uma busca no

sistema www.radialize.com.br o �uxo da busca passa pelo SearchServer, em seguida,

passando pelo IdFinder que é responsável por pesquisar no índice denominado de search

index, retornando assim os respectivos identi�cadores numéricos encontrados.

As informações coletadas estão representadas na �gura por dois componentes coleto-

res (Crawlers). O primeiro são os coletores que monitoram informações de metadados

Page 48: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

2. Fundamentação Teórica 26

(Metadata Crawlers), ou seja, informações textuais que contem o nome do artista e da

música que está tocando na rádio no momento. O segundo são os coletores que monito-

ram informações do áudio (Stream Crawlers) das estações de rádio na Web.

Os coletores de metadados extraem informações (nome da música, nome do artista

e timestamp) das rádios da Internet e utilizam dos serviços de descoberta de conteúdos

oferecidos pelo IdFinder. Recebendo como resposta do IdFinder se a mídia (artista +

música) rastreada é conhecida no banco de dados do Radialize, se esta mídia é conhecida,

então é retornado o identi�cador numérico da mídia, nome do artista e nome da música

e esta resposta é repassada para o componente Broker.

Os coletores de stream extraem o conteúdo de áudio das rádios da Internet, enviando

segmentos do áudio para o componente AudioFinder, onde, através do processamento do

sinal, é possível veri�car se um conjunto de segmentos representa a ocorrência de uma

música conhecida. Caso uma ocorrência seja encontrada, o rastreador de stream envia a

mídia para o Broker juntamente com seu respectivo identi�cador. A coleta pelo áudio

é necessária, pois nem todas as rádios fornecem informações em forma de metadados

textuais a respeito da música que está tocando no momento.

O AudioFinder é responsável por reconhecer e encontrar os identi�cadores das mídias

(artista + música), portanto, este componente mantém um índice de arquivos de áudio.

O índice de áudio contém todas as mídias conhecidas previamente pelo Radialize. No-

vas mídias são indexadas assim que elas são identi�cadas pelos coletores de metadados

e recebam um identi�cador único, atribuído pelo componente UpdateServer.

O PlayingNowServer é responsável por manter as informações a respeito de quais

artistas e músicas estão tocando em cada estação de rádio. Estas informações são providas

pelos componentes coletores.

O componente Broker trabalha como um centralizador e distribuidor de informa-

ções, portanto, é o componente responsável por enviar os dados recebidos dos Cra-

wlers para os componentes PlayingNowServer e UpdateServer.

O componente Recommender é responsável por calcular e ordenar as recomendações

que serão enviadas aos usuários. A ordenação dos itens a serem recomendados é base-

ado na relevância, onde a algoritmo de recomendação utilizado está apresentado nesta

dissertação no Capítulo 5. O componente Recommender utilizado no radialize foi imple-

mentado sobre o framework IRF, descrito na Seção 2.6.

Page 49: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

2. Fundamentação Teórica 27

2.7.1 Processo de coleta do histórico de programação das rádios

Nesta seção é descrito o processo de coleta de metadados das rádios, que foi fornecido

pelo serviço de recomendação Radialize.

O componente responsável por realizar a extração de metadados relacionados ao con-

teúdo sendo veiculado pelas rádios é oMetadata Crawler. Este componente é responsável

por identi�car qual artista e qual música estão tocando em uma determinada rádio no

momento. Posteriormente, esta informação é repassada ao restante do sistema através

do componente Broker.

O Metadata Crawler coleta o metadado das rádios, através de um determinada URL,

de duas maneiras distintas: a primeira é através de uma página HTML padrão fornecida

pelo servidor de uma determinada rádio. A segunda é através da interpretação do strea-

ming (�uxo de áudio), extraindo o metadado através do seu cabeçalho. Ambos processos

serão melhor explicados a seguir.

Para o primeiro tipo de URL, que representa uma página HTML comum e é composta

por textos e imagens, a informação do artista e música é extraída desta página da seguinte

forma: primeiramente é estabelecida uma conexão com a URL, em seguida, é extraído

todo o conteúdo textual desta página HTML. Após este processo é identi�cado onde está

localizada a informação de artista e de música dentro deste conteúdo. Por �m, é extraído

o metadado artista e música que sempre estará em tags padronizadas dentro do HTML.

Para o segundo tipo de URL, que representa o streaming do áudio, é necessário

realizar 3 passos para extrair a informação do artista e música que estão tocando no

momento. O primeiro passo consiste em estabelecer a conexão com a URL, em seguida,

é identi�cado o cabeçalho do stream. Neste cabeçalho estão contidas as informações sobre

o nome da rádio, tipo de transmissão, artista e música corrente. Por �m, são extraídas

as informações que serão utilizadas, ou seja, música e artista.

Em ambos os casos citados acima, existe um componente que identi�ca o tipo de URL

e posteriormente a encaminha para a estratégia especí�ca para extração do metadado.

Este componente é denominado de Collector e esta representado na Figura 2.4. Para

o primeiro tipo de URL (HTML), que representa uma página HTML textual, temos

um padrão de texto diferente em cada rádio ou conjunto de rádios. Por este motivo,

temos a demanda de criação de um parser (analisador) para cada novo padrão de HTML

encontrado. Este parser é responsável por extrair a informação do metadado no texto,

que na maioria dos casos é representado no HTML seguindo um padrão no seguinte

formato: �...> current song: artist name - song name <...�.

Para coletar uma nova estação de rádio, primeiramente devemos saber se ela fornece

Page 50: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

2. Fundamentação Teórica 28

metadado através de um HTML padrão ou por meio do streaming. Descoberta esta

informação, a rádio é classi�cada e armazenada de acordo com seu tipo. Posteriormente,

é criado um método de parser para os metadados desta rádio. Para o caso �...> current

song: artist name - song name <...�, o parser é responsável por determinar que o nome

do artista e da música estão entre as sequências de caracteres �...> current song: � e

�<...�, sendo que o nome do artista e da música estão separados por hífen.

Com a informação do metadado já descoberta, o último passo é simplesmente enviar

os dados para o componente Broker. Ele será o responsável por repassar esta informação

para o restante do sistema, onde será gravado em um banco de dados.

Page 51: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Capítulo 3

Trabalhos Relacionados

Com o crescimento do número de músicas disponíveis e também com o crescimento

do mercado fonográ�co, houve um aumento tanto no número de publicações quanto no

número de aplicações Web, a �m de facilitar e motivar a distribuição de conteúdo musical.

Na literatura estão apresentados vários trabalhos que utilizam de diversas formas para

extrair o conceito de similaridade entre músicas, o que é explorado nessa dissertação. Os

trabalhos relacionados encontrados foram divididos em cinco categorias: similaridade por

conteúdo do áudio (Seção 3.1), �ltragem colaborativa (Seção 3.2), rotulagem por espe-

cialistas (Seção 3.3), utilização de informações públicas (Seção 3.4) e modelos híbridos

(Seção 3.5). Em termos de aplicações, existem vários serviços de recomendação musical

conhecidos e disponíveis no Brasil, como Last.fm, Spotify1, Deezer2, Rdio3 e Yahoo! Mu-

sic4. O Pandora5 é um serviço de recomendação musical que atualmente está indisponível

no Brasil, porém tem sido bastante estudado e apresentado em trabalhos na literatura.

3.1 Conteúdo do áudio

Diversos trabalhos que utilizam de características extraídas do áudio foram realizados

com o propósito de determinar a similaridade entre músicas ou artistas. Estes métodos

também são denominados de métodos baseados em sinais acústicos [45].

Nos dois trabalhos realizados por Aucouturier e Pachet [6, 55], o conteúdo do áudio

utilizado compõem as características do Mel Frequency Cepstral Coe�cients (MFCC )

1 www.spotify.com2 www.deezer.com3 www.rdio.com4 www.music.yahoo.com5 www.pandora.com

29

Page 52: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

3. Trabalhos Relacionados 30

que descrevem o Timbre (ver Seção 2.4.2). O timbre do áudio permite identi�car sons

que estão na mesma frequência, porém que são produzidos por fontes diferentes. A partir

do timbre, é gerado um vetor de 8 características para cada música. Com os valores dos

vetores, calcula-se a distância entre as músicas, de�nindo o conjunto de itens similares.

A principal métrica de avaliação utilizada por Aucouturier e Pachet foi a precisão, em

termos do número de músicas retornadas que possuem o mesmo gênero em relação ao

item de consulta. Os autores reportaram resultados ruins ao utilizar estas características.

No trabalho desenvolvido por Cano et al. [15], foi apresentado um serviço denominado

MusicSurfer. Neste serviço, são recuperados artistas similares a um determinado artista

buscado no sistema. No artigo apresentado, é utilizada a abordagem baseada no conteúdo

do áudio, onde são extraídas características do áudio referentes ao ritmo, tempo, tom e

timbre. Após a extração das características, é aplicada a distância euclidiana sobre os

vetores de valores. Slaney et al. [67] realizou um trabalho similar, também aplicando a

distância euclidiana e diferentes métricas de aprendizagem sobre as características extraí-

das do áudio. De acordo com Jiajun Bu et al. [13], devido à grande diferença semântica

entre as características acústicas (também de�nidas como características de baixo nível) e

as características musicais de alto nível [17], os resultados das recomendações de métodos

que utilizam características do áudio não são satisfatórios.

Uma grande limitação dos trabalhos que utilizam o conteúdo do áudio é a indispo-

nibilidade das músicas publicamente pois, em geral, as músicas representam conteúdo

privado. Essa limitação torna custoso o processo de criação de uma base própria de

músicas.

3.2 Filtragem colaborativa

Assim como na abordagem desenvolvida no nosso trabalho, a grande maioria dos

métodos de recomendação na �ltragem colaborativa utiliza uma matriz de similaridades.

Porém, a matriz de similaridades na �ltragem colaborativa é construída a partir de

informações de usuários e artistas ou músicas, diferente do trabalho apresentado nesta

dissertação, onde a similaridade é construída a partir de playlists públicos extraídos das

rádios e do YouTube. No trabalho realizado por Lee et al. [43], foi utilizado um método

do tipo user-based para determinar a similaridade entre artistas, e assim ser possível

recomendar músicas em dispositivos móveis. De acordo com os resultados apresentados

no artigo, o método proposto demonstrou ser e�caz para os testes realizados, melhorando

a qualidade da recomendação.

Page 53: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

3. Trabalhos Relacionados 31

Um dos serviços mais populares de recomendação de músicas on-line é a Last.fm6.

No artigo publicado por Terence Magno e Carl Sable [47], em 2008, consta que o serviço

utilizava o modelo colaborativo, que possuía cerca de 15 milhões de usuários ativos, e

que eram tocadas cerca de 350 milhões de músicas por mês. Nesta aplicação, é possível

expressar ratings explícitos, indicando se gosta ou não de um determinado item musical,

ou ratings implícitos, determinado pelo número de vezes que um usuário escuta uma

música. Porém, apesar de ser um serviço popular, nos estudos comparativos apresentados

por Terence Magno e Carl Sable [47], e por Jones e Pu [34], as recomendações retornadas

pela Last.fm não apresentam os melhores resultados.

Outro sistema que também utiliza da �ltragem colaborativa para recomendar músicas

é o Genius. Barrington et al. [10] realizou uma análise desta aplicação, que é o sistema

de recomendação utilizado no iTunes da Apple7. Esta aplicação demonstrou ser e�caz.

Porém, existem algumas limitações apresentadas por esta abordagem, tais como, cold

start para itens e usuários, esparsidade na matriz de dados, usuários que não possuem

vizinhanças bem de�nidas e tendência a recomendar itens populares (mais detalhes so-

bre estas limitações estão descritos na Seção 2.4.1). As principais diferenças entre os

métodos de �ltragem colaborativa e o nosso trabalho são os tipos de dados utilizados,

e consequentemente, os algoritmos empregados. Neste trabalho, utilizamos os métodos

baseados em �ltragem colaborativa como baseline para nossa proposta.

3.3 Rotulagem por especialistas

Os algoritmos de recomendação musical que possuem itens rotulados por especialistas

tem a �nalidade de determinar a similaridade entre artistas e entre músicas, assim como

os algoritmos desenvolvidos neste trabalho.

Dentre os serviços de recomendação que utilizam o modelo de rotulagem por editores

estão o Pandora8 e o AllMusic9. O Pandora é um serviço que está apoiado no projeto de-

nominadoMusic Genome Project [27], que utiliza a experiência de especialistas treinados

para rotular manualmente características das músicas, ou �genes�, conforme denominado

no artigo. As características do áudio (genes) são separadas em grupos lógicos e deno-

minados de �cromossomos�. Neste projeto, cada música é representada por um conjunto

de 150 a 500 características, dependendo do gênero da música. Por exemplo, músicas

populares e rock possuem 150 genes, músicas do gênero rap possuem 350 genes e músicas

6 www.lastfm.com7 www.apple.com/itunes/8 www.pandora.com9 www.allmusic.com

Page 54: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

3. Trabalhos Relacionados 32

clássicas possuem entre 300 a 500 genes. Cada gene recebe um valor numérico de 0 a

5. A similaridade entre as músicas é calculada pela distância entre os vetores de genes.

Atualmente, cada música é rotulada, por um especialista, em um tempo entre 20 a 30

minutos, e são rotuladas aproximadamente 15.000 músicas por mês [36, 75]. Observado

que o universo de músicas hoje é composto por dezenas de milhões de unidades, faz-se

necessário selecionar quais músicas devem ser rotuladas.

O AllMusic é um sistema de recomendação que foi inaugurado em 1995 pelo grupo

empresarial All Music Guide (AMG). As classi�cações do conteúdo musical realizadas no

AllMusic conta com o trabalho de editores permanentes e por especialistas contratados

da área da música [19]. Em 2008, Terence Magno e Carl Sable [47] realizaram um

estudo comparativo entre alguns dos principais serviços de recomendação musical da

época. Entre os serviços comparados estão Last.fm, Pandora e Allmusic. Este estudo

comparativo demonstrou que, entre os serviços comparados, o Pandora apresentou melhor

qualidade para os resultados obtidos, o que indica que o modelo de recomendação de

músicas que utiliza a rotulagem por especialistas apresenta boa qualidade. Porém, este

tipo de rotulagem apresenta di�culdades em termos de escalabilidade, uma vez que o

processo manual é custoso e demorado para o conjunto total de músicas existentes.

3.4 Utilização de dados públicos no contexto de músicas

Os trabalhos apresentados nesta seção são os que possuem maior similaridade ao

nosso trabalho, pois utilizam dados públicos coletados a partir de rádios ou bases de

dados constituídas de playlists.

Baccigalupo e Plaza [7] utilizaram a informação de coocorrências de músicas em play-

lists, porém considerando similares somente as músicas que são tocadas em sequência uma

após a outra, diferente do nosso trabalho que considera uma maior quantidade de músicas

similares que tocam em sequência. Além da maneira de determinar a similaridade entre

músicas, outra diferença com relação ao nosso trabalho são as bases de dados utilizadas.

A base utilizada por Baccigalupo e Plaza foi a base MyStrands10, descrita pelos autores

como coletada em março de 2006, contendo um total de 599.565 playlists, com uma mé-

dia de 16,8 músicas em cada playlist. Nesse artigo, os autores não apresentam resultados

numéricos obtidos da comparação entre os serviços; entretanto, são apresentados resul-

tados em listas com os nomes dos artistas similares a cada artista buscado nos serviços

testados.

10 www.mystrands.com

Page 55: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

3. Trabalhos Relacionados 33

Ragno et al. [60] realizou um trabalho similar ao nosso, utilizando dados públicos de

rádios. A maior diferença desse trabalho em relação ao nosso é a forma que o algoritmo

de recomendação foi modelado. O método de recomendação apresentado por Ragno et

al. está em forma de um grafo não direcionado, onde os pesos entre os nós do grafo

determinam a similaridade entre músicas. Foi utilizada uma base de dados composta por

aproximadamente 1.300 rádios americanas, de onde foram coletados metadados durante

36 dias. Os autores do trabalho descrevem que a maior parte das rádios coletadas possuem

músicas populares, contendo um total de 469.797 músicas distintas. No trabalho realizado

por Ragno et al., por ser focado na geração de playlists de músicas, não são apresentados

resultados comparativos com outras bases ou outros métodos de recomendação musical.

Os primeiros resultados apresentados são exemplos de nomes de músicas a serem tocadas

em uma determinada sequência. Outro resultado apresentado é o conjunto de nomes de

artistas similares que o método encontrou para um dado artista. Pelo fato dos resultados

terem sido apresentados como listas de nomes, a acurácia do algoritmo de forma numérica

é subjetiva.

O trabalho realizado por Natalie Aizenberg et al. [3] também possui alta relação com

o trabalho aqui desenvolvido. Assim, como neste trabalho, são extraídas informações do

histórico de programação de diversas rádios para determinar a similaridade entre itens.

Porém, há três diferenças importantes no trabalho apresentado por Natalie Aizenberg

et al. em relação ao nosso. Primeiro, o algoritmo que eles desenvolveram para calcular

a similaridade entre as músicas é baseado na técnica do algoritmo Matrix Factorization

[40] (ver Seção 2.4.1.4). A segunda diferença é a base de dados utilizada. A base de

dados utilizada foi coletada durante 15 dias, entre 22 de setembro e 6 de outubro de

2011. Foram coletados dados de 4.147 rádios associadas com o diretório Shoutcast11. A

terceira diferença é que, ao apresentar os resultados, foi utilizada somente a métrica de

taxa de erro (ver Seção 2.5.2), e não foram apresentados testes comparativos com outras

bases de dados ou outros sistemas de recomendação musical.

3.5 Modelos híbridos

Os trabalhos realizados por McFee et al. [50], Yoshii et al. [79] e Donaldson [22]

utilizam a abordagem híbrida, onde são combinados o conteúdo do áudio e métodos de

�ltragem colaborativa. A principal semelhança entre os trabalhos apresentados nesta

seção, em relação ao nosso trabalho, é pelo fato de serem algoritmos de recomendação

musical e a forma de avaliação dos itens recomendados.

11 Um diretório de estações de rádios, disponível no endereço www.shoutcast.com

Page 56: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

3. Trabalhos Relacionados 34

No trabalho realizado por Donaldson [22] para a abordagem colaborativa, foi utilizado

um algoritmo do tipo item-based. Neste algoritmo, são analisadas as coocorrências dos

artistas na base de dados constituída de playlists do MyStrands, uma ideia semelhante

em relação à utilização de playlists das rádios. Para o conteúdo do áudio, foram criados

vetores com 30 características, sendo referentes ao timbre, ritmo e pitch. No artigo, o

autor sugere uma métrica de distância ponderada entre os vetores do conteúdo do áudio

e os valores da matriz de coocorrência dos itens nos playlists. Os resultados apresentados

demonstram uma melhoria na e�cácia do algoritmo quando são combinadas as duas

informações.

McFee et al. [50] utilizou o conteúdo do áudio combinado com a abordagem de �l-

tragem colaborativa para aprender funções e, assim, determinar a similaridade entre

músicas. No artigo apresentado por McFee et al., foi utilizada a base de dados Last.fm

360K [16], atribuindo o valor 1 para todos os artistas que possuem mais de 10 escutas

no per�l do usuário, e atribuindo o valor 0 para todos os outros casos. Nos resultados

apresentados, o método híbrido demonstrou ser mais e�caz em relação aos algoritmos

que utilizam somente o conteúdo do áudio.

Yoshii et al. [79] também desenvolveu um trabalho de recomendação híbrida, onde o

modelo é composto por dados colaborativos e pelo conteúdo do áudio. O autor descreve

que foram utilizadas 13 características do MFCC para compor o conteúdo do áudio. A

abordagem de �ltragem colaborativa é composta por informações de ratings dos usuários

para as músicas, onde os ratings variam em uma escala de 0 a 2. Um modelo probabilís-

tico foi desenvolvido para integrar as informações de ratings dos usuários e o conteúdo

do áudio das músicas. Ao apresentar os resultados, os autores demonstraram que a abor-

dagem híbrida obtém melhores resultados em relação a cada abordagem individual. Os

autores concluem que a abordagem colaborativa tende a ser pobre em relação à varie-

dade de artistas a serem recomendados, isso quando não há uma quantidade su�ciente

de ratings para os usuários.

Os trabalhos apresentados nesta seção, diferem do nosso trabalho em termos das

bases de dados utilizadas e da maneira que os algoritmos de recomendação trabalham.

Por causa da necessidade de se usar sempre uma base colaborativa e uma base com o

áudio das músicas, este processo torna-se muito custoso para uma aplicação real pois,

em geral, o áudio das músicas não são disponíveis de maneira pública e os dados de uso

inicialmente são escassos.

Page 57: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Capítulo 4

Algoritmo de Filtragem

Colaborativa Proposto

Neste capítulo, está descrito o algoritmo de recomendação de clustering desenvol-

vido, que utiliza a abordagem de �ltragem colaborativa. A maioria dos algoritmos de

�ltragem colaborativa utilizados neste trabalho são implementações do Mahout [53]. O

Mahout é um framework que possui métodos desenvolvidos para recomendar itens que

utilizam a abordagem de �ltragem colaborativa; maiores detalhes sobre este framework

estão apresentados na Seção 2.6. Além dos algoritmos oferecidos pelo Mahout, sendo

eles: item-based, user-based, boolean item-based, boolean user-based e uma versão do Ma-

trix Factorization, que também é denominado de Singular Value Decomposition. Mais

detalhes sobre estes algoritmos são apresentados no Capítulo 2, na Seção 2.4.1. A �m

de cobrir os métodos mais importantes descritos na literatura na área da �ltragem co-

laborativa, foi desenvolvido um algoritmo do tipo clustering. A Seção 4.1 apresenta o

algoritmo user-clustering desenvolvido.

4.1 Algoritmo User-Clustering

A implementação de um algoritmo que utiliza a técnica de clustering foi necessária

pelo fato da implementação deste tipo de algoritmo no Mahout estar obsoleta. Por este

motivo, ao realizar testes iniciais com o algoritmo disponível no Mahout, este executou

em um tempo muito elevado e não apresentou resultados tão satisfatórios quanto os

outros algoritmos disponíveis no Mahout.

Algoritmos de recomendação do tipo user-clustering agrupam usuários, a �m de re-

comendar itens de um conjunto de usuários que possuem alto grau de similaridade. A

35

Page 58: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

4. Algoritmo de Filtragem Colaborativa Proposto 36

predição de rating para um usuário u que possui um item desconhecido i é calculada pelo

valor médio de ratings do grupo para o item i.

A característica principal dos algoritmos que utilizam a técnica de clustering é possuir

usuários que são centroides1 dos clusters, que também serão denominados de centros do

cluster. No algoritmo implementado, são de�nidos inicialmente quantos clusters existem

e, consequentemente, o número de usuários que serão os centroides de cada cluster. A de-

�nição do número de clusters foi escolhida aproximando o número de gêneros signi�cantes

existentes, que para os experimentos realizados nesta dissertação este número foi �xado

em 50 clusters. A partir da de�nição do número de clusters, supondo n o número de

clusters, é selecionado um determinado usuário, uc1, de modo aleatório para ser o centro

do cluster1. Após a seleção do usuário uc1, em seguida é selecionado outro usuário, uc2,

para ser o centro do cluster2, sendo que o usuário uc2 é o mais dissimilar ao usuário uc1.

Após a seleção do segundo usuário, é selecionado um terceiro, uc3, para ser o centro do

cluster3, onde este novo usuário selecionado é o mais dissimilar ao primeiro e ao segundo,

uc1 e uc2. Este processo é executado até selecionar os n usuários mais dissimilares, onde

cada um destes usuários selecionados serão os centroides dos n clusters.

Uma vez que os centroides dos clusters estão de�nidos, o próximo passo é inserir o

conjunto dos usuários restantes, u1, u2, u3, ..., un, em seus respectivos clusters. Para isto,

calcula-se a distância de cada usuário restante em relação aos usuários que são centroides

de clusters, e assim um novo usuário é inserido ao cluster, onde o usuário centro possua

a menor distância entre eles. O Algoritmo 1 apresenta este processo.

1Neste algoritmo, o centroide é o usuário que possui a menor distância entre todos os usuáriospresentes no cluster.

Page 59: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

4. Algoritmo de Filtragem Colaborativa Proposto 37

Algoritmo 1: User-Clustering construção de clusters

1 usuarios - Conjunto de usuários disponíveis u1, u2, u3, ..., un;

2 clusters - Conjunto de clusters c1, c2, c3, ..., cn;

3 centroides - Conjunto de usuários centros de clusters;

4 begin

5 \\ Adicionando primeiro usuário centro de cluster

6 adiciona(u1, cluster1);

7 adiciona(u1, centroides);

8 adiciona(cluster1, clusters);

9 remove(u1, usuarios);

10 \\ Escolha de centroides de clusters

11 while centers.size < n do

12 ud = selecionaMaisDissimilar (usuarios, centroides)

13 adiciona(ud, clusterz);

14 adiciona(ud, centroides);

15 adiciona(clusterz, clusters);

16 remove(ud, usuarios);

17 end

18 \\ Inserção do restante dos usuários

19 foreach u ∈ usuarios do20 cluster = selecionaClusterMaisSimilar (u, centroides);

21 adiciona(u, cluster);

22 remove(u, usuarios);

23 end

24 end

Após o processo de construção dos clusters, é possível calcular as recomendações para

cada usuário. Para isto, basta saber em qual cluster o usuário se encontra. Ao selecionar

o cluster onde o usuário está inserido, deve-se calcular o valor médio de ratings para

todos itens ranqueados pelos usuários do respectivo cluster. O próximo passo é realizar

a ordenação dos itens e recomendar aqueles que estão no topo da lista. O Algoritmo 2

apresenta o método de recomendação de itens para um determinado usuário u.

Se o número de itens do cluster, na qual o usuário foi inserido, for insu�ciente para

recomendar, deve-se encontrar qual é segundo cluster mais similar ao que o usuário se

encontra. Após encontrar o segundo cluster mais similar para ao usuário u, deve-se adi-

cionar os itens deste segundo cluster para completar a quantidade de itens recomendados

Page 60: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

4. Algoritmo de Filtragem Colaborativa Proposto 38

desejado. Caso a quantidade de itens, a serem recomendados, ainda não corresponda a

quantidade requisitada, deve-se encontrar o terceiro cluster mais similar e executar este

processo até que o número de itens desejados seja alcançado.

Algoritmo 2: User-Clustering recomendação

1 clusters - Conjunto de clusters c1, c2, c3, ..., cn2 Saída - Itens que são recomendados para os usuários

3 begin

4 \\ Encontrar cluster do usuário

5 cluster = selecionaClusterUsuario(u);

6 \\ Lista de itens que serão recomendados

7 L = lista de itens contendo identi�cador do item e relevância;

8 \\ Lista de itens ranqueados pelo usuário u

9 Lr = itens ranqueados pelo usuário u;

10 foreach ui ∈ cluster do11 Litens = selecionaItemsUsuario(ui);

12 foreach i ∈ Litens and i /∈ Lr do

13 if i ∈ L then

14 \\ Atualiza a lista L calculando o valor médio para o item i

15 atualiza(L, i);

16 else

17 insere(i, L);

18 end

19 end

20 end

21 ordena(L)

22 recomendaTopo(L)

23 end

Page 61: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Capítulo 5

Modelagem dos dados e algoritmos

para recomendação em música

Neste capítulo, estão descritos a modelagem dos dados públicos e os algoritmos para

recomendação em música. Os dados públicos são playlists coletados do YouTube e his-

tórico de programação coletado das rádios. Para utilizar estes dados, a modelagem e os

algoritmos desenvolvidos estão divididos em quatro classes.

A Seção 5.1 apresenta a primeira classe. Nesse caso, as rádios foram modeladas

como usuários, visando o emprego dos algoritmos de �ltragem colaborativa. A Seção 5.2

apresenta a segunda classe, onde estão os algoritmos desenvolvidos que são baseados na

frequência de ocorrências dos artistas nas rádios. Estes algoritmos foram baseados no

conceito do tf-idf [61].

A Seção 5.3 apresenta um algoritmo de recomendação que utiliza a matriz de similari-

dades construída a partir dos dados públicos e que utiliza a informação temporal, ou seja,

a ordem de músicas nos playlists. Por �m, na Seção 5.4 são apresentados dois algoritmos

de �ltragem colaborativa que utilizam matriz de similaridade entre itens. Porém, para

estes algoritmos, em vez de utilizar uma matriz de similaridade entre itens construída

a partir de dados de uso, foi utilizada a matriz de similaridade entre itens construída a

partir de dados públicos, provenientes de web-rádios e playlists coletados do YouTube.

5.1 Algoritmo baseado na modelagem de rádios como

usuários � MRU

Um algoritmo foi proposto nessa classe, que é o MRU � Modelagem de Rádios como

Usuários. Este é o primeiro algoritmo que utiliza dados públicos provenientes da Web.

39

Page 62: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

5. Modelagem dos dados e algoritmos para recomendação em música 40

O algoritmo MRU modela cada histórico de programação de rádios como sendo um

usuário. Para a modelagem de rádios como usuários, foi normalizado o número de exe-

cuções de cada rádio. Esta normalização foi executada da mesma maneira que foram

normalizados os ratings da base de dados Last.fm 360K, proposta por Òscar Celma em

[16]. A normalização consiste no cálculo da função de distribuição cumulativa comple-

mentar (CCDF) sobre o número de execuções que uma rádio tocou as músicas de um

determinado artista.

Ao aplicar a CCDF, artistas com o número de execuções mais no topo, ou seja, acima

de 80% da distribuição, recebem valor de rating 5. Artistas com o número de execuções

entre 60% e 80% da distribuição, recebem o valor 4, e assim por diante. Artistas na faixa

de 0 a 20% recebem o valor de rating 1.

A aplicação da CCDF deve-se ao fato de que muitos artistas que tocam em rádios

são populares, o que gera uma distribuição que segue a lei de potência (ver Seção 2.4.1),

ou seja, poucos artistas possuem um número alto de execuções e muitos artistas possuem

um número pequeno de execuções. A aplicação da CCDF permite que os valores de

execuções transformados em ratings possuam uma característica mais homogênea, de

forma a atenuar a diferença de valores de ratings dos artistas populares em relação aos

artistas que possuem menos execuções.

Para veri�car o tipo de distribuição das músicas por rádio foi utilizado o coe�ciente

de variação (CV ), que mede a dispersão da distribuição dos dados [24]. Neste caso, o

CV é calculado pela divisão do desvio padrão do número de execuções de um artista em

uma rádio pela média das execuções deste artista na rádio. Se CV ≤ 0.5 (valor utilizado

em [16]), então não é utilizada a CCDF. Nesse caso, é atribuído o valor 3 para todos os

artistas que possuem músicas que executaram na rádio, mesmo valor utilizado em [16].

Após a transformação do número de execuções em ratings, cada rádio é modelada

como um usuário e, a partir daí, são aplicados os tradicionais algoritmos da abordagem

de �ltragem colaborativa (ver Capítulo 2).

5.2 Algoritmos baseados no tf-idf e tf-df � TFIDF e TFDF

A segunda classe de algoritmos propostos para recomendação de artistas utilizando

dados públicos é baseada no número de ocorrências dos artistas nas rádios. Os algoritmos

apresentados nesta seção estão baseados no conceito do tf-idf (term frequency � inverse

document frequency) [61] e foram chamados de TFIDF e TFDF.

O objetivo principal do algoritmo tf-idf original é retornar os documentos textuais

mais relevantes para uma determinada consulta. A relevância dos documentos é calculada

Page 63: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

5. Modelagem dos dados e algoritmos para recomendação em música 41

de acordo com os termos mais signi�cantes de um documento em relação aos termos da

consulta.

No algoritmo de recomendação proposto, que utiliza dados da programação de rádios

sobre o modelo tf-idf, cada música de um artista é representada como um termo e cada

rádio é representada como um documento. Para calcular o tf-idf, o per�l do usuário

é utilizado como sendo uma consulta, onde os termos dessa consulta é composto pelos

artistas ranqueados por este usuário, considerando somente os ratings positivos. Sendo

assim, o tf é calculado para cada um dos artistas ranqueados, levando-se em consideração

o número de vezes que as músicas deste artista tocou em uma rádio. A equação 5.1

apresenta o cálculo do tf , onde a letra a representa o artista, o termo ap representa o

artista mais popular da rádio e a letra r representa a rádio.

Para atenuar o valor do tf de rádios que possuem grandes quantidades de músicas

coletadas, o denominador apresentado na Equação 5.1 é o número de execuções do artista

mais popular da rádio, ou seja, o termo tf(ap, r) é o número de execuções do artista mais

popular da rádio r. O termo f(a, r) representa o número de ocorrências das músicas do

artista na rádio.

tf(a, r) = 0, 5 +0, 5 ∗ f(a, r)

tf(ap, r)(5.1)

Para calcular o tf-idf é necessário conhecer o número de ocorrências das músicas do

artista em rádios distintas, onde este valor é de�nido como sendo df . Dada uma consulta,

é importante determinar quais são os artistas desta consulta que são mais relevantes,

sendo assim, baseando no conceito do inverso da frequência do número de ocorrências

dos artistas em rádios distintas (idf), considera-se os artistas mais signi�cativos aqueles

que ocorrem em menos rádios.

A equação 5.2 apresenta o cálculo para o idf . Na equação 5.2, a letra N representa

o número total de rádios que tocou uma música do artista a, onde este artista está

presente na consulta, ou seja, um artista ranqueado pelo usuário. A letra r representa

uma determinada rádio que tocou uma música do artista a. O idf é uma medida relativa

a consulta que está sendo realizada, ou seja, o valor do idf pode variar em relação ao

per�l de cada usuário, pois a consulta é composta pelos artistas ranqueados pelo usuário

de teste.

idf(a,R) = logN

| {r ∈ R : a ∈ r} |(5.2)

Por �m, o tf-idf é a multiplicação dos termos tf pelo idf , como é apresentado na

Page 64: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

5. Modelagem dos dados e algoritmos para recomendação em música 42

Equação 5.3. Este algoritmo é denominado neste trabalho como TFIDF.

tfidf(a, r,R) = tf(a, r) ∗ idf(a,R) (5.3)

A desenvolvimento do algoritmo TFIDF retorna uma lista de rádios; porém, neste

trabalho, os itens de interesse dos usuários são os artistas que ocorreram em rádios através

de suas músicas. A �m de criar uma lista com os itens de interesse, a partir da lista de

rádios retornadas pelo TFIDF, foi utilizada uma heurística que consiste no retorno de uma

lista de recomendação de itens composta por artistas. A maneira desenvolvida consiste

na adição de todos os artistas que possui uma música executada na primeira rádio da

lista, sendo os artistas ordenados de maneira decrescente pelo número de execuções na

primeira rádio da lista. Caso o número de artistas da primeira rádio não seja su�ciente,

para completar o número de itens requisitado pelo usuário, são adicionados os artistas

que possuem execuções na segunda rádio da lista, porém adicionando somente os artistas

que ainda não foram adicionados pelo motivo de não possuirem execuções na primeira

rádio. Esta etapa segue retornando os artistas das outras rádios até que se complete o

número de artistas requisitados na recomendação.

Análogo à modelagem do TFIDF, foi desenvolvido um algoritmo que utiliza somente

o df no lugar do termo idf . Este algoritmo é denominado de TFDF. A intuição por trás

do uso do df no lugar do termo idf é de que, para o caso de execuções de artistas em

rádios, os artistas mais discriminativos, ou relevantes, são aqueles que tocam em mais

rádios, e não os mais raros. Ao contrário de documentos, onde os termos mais raros são

os mais discriminativos.

5.3 Algoritmo utilizando coocorrências em rádios ou

playlists � COOC-R

A terceira classe de algoritmos é composta por um método de recomendação que foi

desenvolvido e que utiliza uma matriz de similaridades que extrai a informação tempo-

ral das músicas tocadas nas rádios. Este método de recomendação é dividido em duas

partes: na primeira parte, a matriz de similaridades entre artistas e músicas é calcu-

lada. A segunda parte consiste no cálculo das recomendações, utilizando a matriz de

similaridades.

A maneira de calcular a similaridade entre artistas ou músicas, utilizando o histórico

de programação das rádios, considera que as músicas tocadas na mesma rádio e em

sequência possuem um grau de similaridade maior que as músicas tocadas na mesma

Page 65: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

5. Modelagem dos dados e algoritmos para recomendação em música 43

rádio, porém que tocaram em um maior intervalo de tempo. Observa-se que rádios que

possuem programas do tipo sertanejo, rock e pop, por exemplo, tocam músicas mais

similares em cada um destes programas e consequentemente o intervalo de tempo entre

as músicas são menores.

A Figura 5.1 ilustra o processo de funcionamento do algoritmo de recomendação.

Nesta �gura estão representadas três tabelas, sendo elas: uma que representa o histórico

de programação das rádios, outra com a matriz de similaridades entre artistas e por �m

a tabela de ratings de usuários. Por exemplo, observe na Figura 5.1 que o cálculo dos

artistas similares ao artista A3 é realizado analisando rádio por rádio. Ao observar a

tabela de programação ilustrada na Figura 5.1, pode-se perceber que uma música do

artista A3 tocou nas rádios 1 e 2.

Considera-se que o maior valor de similaridade entre dois artistas que tocam em

sequência um após outro é 3. Ao analisar a rádio 1, quando calcula-se o valor de simila-

ridade do artista A3 em relação ao artista A2, tem-se o valor 3. Ainda analisando a rádio

1, o artista A3 possui valor de similaridade 2 com relação ao artista A1. Agora analisando

a rádio 2, tem-se o valor de similaridade 3 entre os artistas A3 e A2, e também tem-se o

valor de similaridade 3 entre os artistas A3 e A5.

Após a análise da similaridade dos artistas em cada rádio, deve-se realizar a soma

dos artistas que coocorreram em mais rádios. Sendo assim, o artista A3 só coocorreu

com o artista A2 em mais de uma rádio, portanto a similaridade �nal entre os artistas

A3 e A2 é a soma dos valores de similaridades de cada rádio, o que resultará no valor 6

de similaridade �nal entre estes dois artistas.

Observando a Figura 5.1, e considerando que o usuário U1 requisitou recomendações

de artistas, a lista de recomendações para o usuário U1 será composta pelos artistas A2,

A5 e A1, por possuírem maior grau de similaridade com o artista A3, que é um artista

que o usuário U1 expressou interesse de maneira positiva.

Page 66: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

5. Modelagem dos dados e algoritmos para recomendação em música 44

Figura 5.1: Ilustração do algoritmo de recomendação que utiliza coocorrência das músicasnas rádios (COOC-R).

As equações a seguir apresentam de maneira formal como são calculadas as similarida-

des entre os itens que coocorrem nas rádios, e também como é calculada a recomendação

a partir da matriz de similaridade de itens.

A Equação 5.4 apresenta o cálculo de similaridade entre duas músicas, considerando

que estas músicas tocaram em uma mesma rádio. No momento em que duas músicas

possuem uma distância maior que 20, ou seja, tocarem 20 músicas entre a primeira e a

última, o valor de similaridade é 0 para esta coocorrência. Este fator de similaridade está

representado nas equações por F . Foram realizados testes preliminares variando o fator

F , que neste trabalho foi de�nido com o valor 20, melhor valor encontrado.

SPmij = F − dmij (5.4)

Supondo:

dmij = distância entre duas músicas que tocou em uma mesma rádio.

SPmij = similaridade parcial entre as músicas i e j.

Page 67: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

5. Modelagem dos dados e algoritmos para recomendação em música 45

A Equação 5.4 apresenta o cálculo de similaridade de uma única coocorrência para

duas músicas, portanto, a Equação 5.5 apresenta o valor de similaridade entre as várias

coocorrências para duas músicas em uma única rádio k. Em outras palavras, a Equa-

ção 5.5 apresenta o somatório para as diversas coocorrências de duas músicas em uma

rádio.

SmijRk =

n∑v=1

(F − dmij)v ∀ i e j ∈ k (5.5)

Considerando n o número total de coocorrências das músicas na rádio k, ou seja,

músicas que tocaram em um intervalo de tempo próximo na rádio k, onde SmijRk re-

presenta a similaridade entre as músicas i e j na rádio k. Sendo todas as músicas i e j

pertencentes a rádio k.

A partir do momento que as músicas passam a coocorrer em mais rádios o valor

da similaridade entre estes itens aumenta, pois a repetição em várias rádios indica que

vários programadores de rádios consideram as músicas relacionadas. Desta forma, o

algoritmo de recomendação deve utilizar desta informação e este aumento na similaridade

é apresentado pelo somatório na Equação 5.6, representando o cálculo da similaridade

�nal entre músicas ou artistas que coocorrem em diversas rádios.

SGmij =t∑

R=1

(n∑

v=1

(F − dmij)v)t (5.6)

Considerando R o número total de rádios onde coocorreram as músicas i e j e SGmij

a similaridade �nal entre duas músicas i e j.

Ao construir a matriz de similaridades utilizando as informações de coocorrência, o

segundo passo do algoritmo consiste em determinar quais são os itens mais relevantes

para o usuário. Para isto, o algoritmo de recomendação leva em consideração os ratings

expressados pelos usuários.

Considere que um determinado usuário, u, possui em seu per�l três itens ranqueados,

i1, i2 e i3. Para cada um dos três itens ranqueados pelo usuário são selecionados 1.000

itens similares, onde a similaridade é de�nida utilizando o histórico de programação das

rádios ou playlists. Cada um dos 1.000 itens similares receberá o valor de similaridade

que possui com o item principal (item ranqueado pelo usuário) multiplicado pelo valor

Page 68: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

5. Modelagem dos dados e algoritmos para recomendação em música 46

do rating expresso ao item principal. Considerando que há itens repetidos, ao selecionar

os 1.000 itens similares ao item i1, ao item i2 e ao item i3, o valor calculado para os itens

que se repetem são somados ao valor de similaridade que os itens já possuem. O valor

1.000 foi de�nido para os valores apresentados neste trabalho, pois foram realizados testes

preliminares variando este número, utilizando 10, 100, 200, 500, 1.000, 2.000 e todos os

itens similares, porém ao utilizar 1.000 itens, foram obtidos os melhores resultados.

O Algoritmo 3 apresenta a segunda parte do algoritmo de recomendação COOC-R,

sumarizando a explanação acima.

Algoritmo 3: Segunda parte do algoritmo de recomendação COOC-R.

1 L - Lista de itens que serão recomendados;

2 itens_ranqueados - Conjunto de itens ranqueados pelo usuário i1, i2, i3, ..., in;

3 begin

4 foreach i ∈ itens_ranqueados do

5 rating = getRating(i);

6 Lsimilares = seleciona1000ItemsSimilares(i);

7 foreach Isim ∈ Lsimilares do

8 similaridade = getSimilaridade(i, Isim);

9 valor = rating * similaridade;

10 if Isim ∈ L then

11 \\ Atualiza a lista L adicionando o novo valor para o item

12 atualiza(L, Isim, valor);

13 else

14 \\ Insere o item na lista que será recomendada

15 insere(Isim, valor, L);

16 end

17 end

18 end

19 ordena(L)

20 recomendaTopo(L)

21 end

Page 69: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

5. Modelagem dos dados e algoritmos para recomendação em música 47

5.4 Algoritmos do tipo item-based baseados em

coocorrências como matriz de similaridades �

COOC-IB e COOC-BIB

Como apresentado na Seção 2.4.1, os algoritmos de �ltragem colaborativa do tipo

item-based possuem uma matriz de itens por usuários, de onde são extraídas as infor-

mações de similaridades entre itens. Em síntese, os itens mais similares são aqueles que

coocorrem em mais per�s de usuários. Levando em consideração o raciocínio dos algorit-

mos do tipo item-based, nesta seção é descrito uma nova maneira de utilizar a matriz de

similaridades construída a partir de dados públicos. O processo de geração da matriz de

similaridades é o mesmo descrito para o algoritmo COOC-R, apresentado na Seção 5.3

nesse capítulo.

Este método de recomendação utiliza algoritmos do tipo item-based, porém em vez

de utilizar uma matriz de usuários por itens, as recomendações são calculadas a partir de

informações obtidas da matriz de similaridades do histórico de programação das rádios

e de playlists coletados do YouTube.

Devido ao fato de a matriz ser construída a partir dos dados de programações, logo

ser uma matriz de similaridade entre itens, esta só pode ser aplicada em algoritmos da

abordagem colaborativa que utilizam este tipo de matriz para calcular as recomendações.

As principais diferenças entre os algoritmos COOC-IB, descrito nesta seção, em rela-

ção aos algoritmos da classe MRU (ver Seção 5.1) e o algoritmo COOC-R (ver Seção 5.3),

seguem descritas a seguir.

A principal diferença entre o algoritmo aqui descrito e o algoritmo que transforma

rádios em usuários (MRU), descrita na Seção 5.1, é que ao modelar rádios como usuários,

a informação temporal não é utilizada. Porém, ao modelar rádios como usuários, uma vez

que o número de execuções das músicas dos artistas é transformado em ratings, podem ser

utilizados quaisquer algoritmos da abordagem de �ltragem colaborativa, diferentemente

do método apresentado nesta seção, onde só podem ser utilizados algoritmos de �ltragem

colaborativa que possuem matriz de similaridade entre itens.

A principal diferença entre algoritmos COOC-R e COOC-IB, apesar de utilizarem a

mesma matriz de similaridades, é a forma de se calcular a recomendação. Em síntese,

o algoritmo COOC-R, descrito na Seção 5.3, requisita uma lista de 1.000 itens simila-

res para cada item ranqueado pelo usuário, e a partir desta lista, realiza a soma das

similaridades para os itens que ocorrem mais vezes nas listas de 1.000 itens retornados.

O método COOC-IB, apresentado nesta seção, calcula o valor de similaridade de todos

Page 70: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

5. Modelagem dos dados e algoritmos para recomendação em música 48

itens ranqueados pelo usuário em relação a todos itens da base que são possíveis de serem

recomendados, por �m, seleciona os top-N itens mais similares.

As equações a seguir apresentam os cálculos para este algoritmo. A Equação 5.7 apre-

senta o cálculo do valor de predição parcial para um item j, sendo j similar a um item i

que foi ranqueado pelo usuário. Sendo rui o valor do rating expressado pelo usuário u

ao item i. O termo ruj representa o valor parcial de predição de rating de um usuário u

em relação ao item i. O termo SGmij representa o valor de similaridade entre os itens i

e j.

ruj = rui ∗ SGmij (5.7)

Após realizar a predição parcial de rating para o item (Equação 5.7) é necessário

realizar a predição �nal do rating. A Equação 5.8 apresenta o valor �nal do rating

predito para o item j, Ij . Esta predição é obtida através do somatório dos ratings

parciais preditos para o item j em relação a cada item ranqueado pelo usuário. Sendo n

o total de itens ranqueados pelo usuário que possuem similaridade com o item alvo j.

Ij =n∑

i=1

(rij) (5.8)

Após realizar a predição de rating para cada item da base, os possíveis itens de serem

recomendados são ordenados e adicionados à lista L. Em seguida, após a ordenação da

lista, são retornados os itens do topo da lista para o usuário.

Outro algoritmo da abordagem de �ltragem colaborativa que utiliza matriz de simi-

laridades entre itens é o boolean item-based, e é apresentado neste trabalho como COOC-

BIB. Porém, neste trabalho a matriz de similarides entre itens é construída utilizando

o histórico de programação das rádios e playlists. A única diferença entre os algoritmos

COOC-IB e COOC-BIB é que o primeiro multiplica o valor de similaridade entre o item

alvo e o item ranqueado pelo usuário pelo valor do rating expresso pelo usuário ao item

ranqueado. O algoritmo COOC-BIB não multiplica o valor de similaridade entre o item

alvo e o valor de rating expresso pelo usuário, sendo assim, considera somente se um

usuário ranqueou de maneira positiva ou negativa um determinado item.

O algoritmo COOC-BIB utiliza a Equação 5.8 para realizar o cálculo do valor de pre-

dição parcial para um item j, sendo j similar a um item i que foi ranqueado pelo usuário.

Page 71: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

5. Modelagem dos dados e algoritmos para recomendação em música 49

ruj = 1 ∗ SGmij (5.9)

A próxima etapa do algoritmo COOC-BIB é realizada da mesma maneira que acontece

para o algoritmo COOC-IB, onde esta etapa está representada pela Equação 5.8.

Page 72: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

5. Modelagem dos dados e algoritmos para recomendação em música 50

Page 73: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Capítulo 6

Metodologia de Avaliação

Neste capítulo, são apresentados detalhes sobre a metodologia de avaliação dos al-

goritmos propostas. A Tabela 6.1, apresenta as siglas e os algoritmos utilizados como

baseline e as modelagens propostos. Os nomes escritos em itálico referem-se aos algorit-

mos desenvolvidos que utilizam a abordagem de �ltragem colaborativa. Os algoritmos

que estão com os nomes em negrito são aqueles onde os dados públicos foram aplica-

dos a partir da modelagem apresentada no Capítulo 5. Os outros algoritmos utilizam

a abordagem de �ltragem colaborativa e constituem o baseline. Portanto, os algoritmos

apresentados na Tabela 6.1, do número 1 ao número 14, utilizam dados de uso, enquanto

os algoritmos representados do número 15 ao número 31, utilizam dados públicos coleta-

dos da Web.

Alguns dos algoritmos de recomendação da abordagem de �ltragem colaborativa uti-

lizam métricas de distância entre vetores, sendo assim, os resultados apresentados para

estes métodos de recomendação são decorrentes da utilização de duas métricas de dis-

tância: distância euclidiana e distância de Jaccard (ver Seção 2.4.1.1). Por essa razão, o

mesmo algoritmo pode aparecer na tabela com essas duas medidas (�Euclidean� e �Jac-

card�).

A Figura 6.1 ilustra as etapas da metodologia de avaliação, e também nesta �gura

estão ilustradas as bases de dados utilizas e que estão descritas na Seção 6.1. O processo

de avaliação apresentado na Figura 6.1 está dividido em 8 etapas, descritas no decorrer

desse capítulo. O processo, que está dividido em etapas, pode ser resumido da seguinte

forma: na etapa 1 é realizada a normalização dos ratings da base de dados Last.fm 360K,

que é descrita na Seção 6.2. A etapa 2 consiste na busca por itens de uma base em outra,

e no mapeamento entre artistas e músicas das bases distintas. O resultado dessa etapa é

uma base de dados contendo os artistas e músicas comuns às bases utilizadas na entrada.

51

Page 74: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

6. Metodologia de Avaliação 52

Tabela 6.1: Nomes dos algoritmos e respectivas siglas.

Número Nome do algoritmo Sigla do algoritmo

1 Item-Based Jaccard 1.IBJ2 Item-Based Euclidean 2.IBE3 User-Based Jaccard 3.UBJ4 User-Based Euclidean 4.UBE5 Boolean Item-Based Jaccard 5.BIBJ6 Boolean Item-Based Euclidean 6.BIBE7 Boolean User-Based Jaccard 7.BUBJ8 Boolean User-Based Euclidean 8.BUBE9 Matrix Factorization SVD (Mahout) 9.MFM10 Matrix Factorization 10.MF11 Most Popular 11.MP12 Random 12.RAND

13 User-Clustering Jaccard 13.UCJ

14 User-Clustering Euclidean 14.UCE

15Modelagem de rádios (playlists) como

usuários � MRU-Item-Based Jaccard15.MRU-IBJ

16 MRU-Item-Based Euclidean 16.MRU-IBE

17 MRU-User-Based Jaccard 17.MRU-UBJ

18 MRU-User-Based Euclidean 18.MRU-UBE

19 MRU-Boolean Item-Based Jaccard 19.MRU-BIBJ

20 MRU-Boolean Item-Based Euclidean 20.MRU-BIBE

21 MRU-Boolean User-Based Jaccard 21.MRU-BUBJ

22 MRU-Boolean User-Based Euclidean 22.MRU-BUBE

23 MRU-Matrix Factorization (Mahout) 23.MRU-MFM

24 MRU-Matrix Factorization 24.MRU-MF

25 MRU-User-Clustering Jaccard 25.MRU-UCJ

26 MRU-User-Clustering Euclidean 26.MRU-UCE

27Quantidade de ocorrências baseado no

tf-df27.TFDF

28Quantidade de ocorrências baseado no

tf-idf28.TFIDF

29 Coocorrências em rádios ou playlists 29.COOC-R

30Item-based com matriz de similaridades

do histórico30.COOC-IB

31Boolean Item-based com matriz de

similaridades do histórico31.COOC-BIB

Page 75: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

6. Metodologia de Avaliação 53

O componente de buscas será apresentado na Seção 6.3.

A etapa 3 consiste da seleção de usuários de teste, pois, como é necessário comparar

bases distintas, deve-se garantir que os usuários de teste possuam itens em comum com

os usuários de treino e com as rádios de treino, sendo assim, garante que os usuários

de teste possuem itens em comum com itens utilizados para treino. O processo para

seleção dos usuários de teste será descrito na Seção 6.4. A etapa 4 consiste da seleção

dos usuários para treino pelos algoritmos de �ltragem colaborativa. Esta etapa será

apresentada na Seção 6.5. A etapa 5 consiste da seleção das rádios que são utilizadas

para treino pelos algoritmos que são aplicados sobre dados públicos. Esta etapa será

apresentada na Seção 6.6.

A etapa 6 apresenta a escolha dos algoritmos de �ltragem colaborativa que são base-

line, cuja entrada são os usuários de teste e treino. Mais detalhes sobre esta etapa serão

descritos na Seção 6.7. A etapa 7 será apresentada na Seção 6.8 e representa a execução

dos algoritmos que são utilizados sobre dados públicos, que recebem como entrada os

usuários de teste e as rádios ou playlists para treino. Por �m, a etapa 8 representa a

aplicação das métricas de avaliação sobre as listas de recomendações retornadas pelos

algoritmos, tanto os propostos quanto o baseline. Mais detalhes sobre esta etapa serão

descritos na Seção 6.9.

6.1 Bases de dados

Existem várias bases de dados disponíveis para �ns de pesquisas acadêmicas na área

de recomendação musical. O grande problema é que muitas bases são bases de dados

anônimas, sendo assim, estas bases possuem somente identi�cadores numéricos de artis-

tas, músicas e usuários. A falta dos nomes dos itens (artistas ou músicas) impossibilita a

realização do mapeamento entre itens de diferentes fontes. Portanto, para realização dos

testes é necessário conhecer e mapear os artistas das diferentes bases de dados. Sendo

assim, foram utilizadas somente bases que possuem nomes dos artistas ou músicas, tais

como MusicBrainz [69], Last.fm 360K [16], Yahoo WebScope R11, playlists coletados do

YouTube2 e histórico de programação coletado das rádios.

6.1.1 Base de dados MusicBrainz

A base de dados MusicBrainz [69] é construída por uma comunidade de usuários

de maneira colaborativa. Esta base possui uma grande quantidade de metadados dos1 http://webscope.sandbox.yahoo.com/catalog.php?datatype=r2 www.youtube.com

Page 76: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

6. Metodologia de Avaliação 54

Figura 6.1: Visão geral do processo de avaliação.

artistas, músicas e álbuns, informações tais como, tags, ano de início da banda, número

de integrantes da banda ou localidade. Pelo fato da base de dados MusicBrainz não

possuir informações de ratings implícitos ou explícitos de usuários, esta base de dados foi

utilizada somente para facilitar o mapeamento entre artistas e músicas de bases distintas.

A base de dados do MusicBrainz facilita o mapeamento entre bases distintas, pois

em geral, outras bases utilizam o identi�cador do MusicBrainz, sendo assim é possível

mapear os artistas e músicas de diferentes bases de dados de maneira con�ável. A Ta-

bela 6.2 apresenta o número de itens da base de dados MusicBrainz em fevereiro de 2013,

observando que esta base de dados sofre modi�cações periodicamente.

Page 77: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

6. Metodologia de Avaliação 55

Tabela 6.2: Número de itens da base de dados MusicBrainz.

Número de artistas 736.148Número de músicas 13.404.754Número de tags 33.411

6.1.2 Base de dados Last.fm 360K

A segunda base de dados utilizada é a Last.fm 360K [16]. Esta base

de dados foi coletada por Òscar Celma no ano de 2008 e está disponível em

www.mtg.upf.edu/node/16713. A base de dados Last.fm 360K contém o resultado de

saída do método user.getTopArtists() da API da Last.fm. O resultado deste método

consiste de uma lista de artistas e o número de vezes que cada usuário ouviu uma música

do artista.

A base de dados Last.fm 360K consiste de dois arquivos de texto, onde um arquivo

contém informações dos usuários (usersha1-pro�le.tsv), e outro arquivo possui informa-

ções do número de vezes que os usuários ouviram as músicas dos artistas (usersha1-

artmbid-artname-plays.tsv). A formatação e exemplo de tuplas dos arquivos são ilustra-

dos na Figura 6.2.

Figura 6.2: Tuplas dos arquivos da base de dados Last.fm 360K

A base de dados Last.fm 360K possui 359.347 usuários únicos e 186.642 nomes de

artistas, sendo que 107.373 artistas não possuem identi�cador da base de dados Music-

Brainz. A Tabela 6.3 apresenta o número de usuários, artistas e o número total de linhas

da base, onde cada linha representa a escuta de um usuário.

3 Último acesso em 13/03/2014

Page 78: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

6. Metodologia de Avaliação 56

Tabela 6.3: Número de itens da base de dados Last.fm 360K.

Total de linhas 17.559.530Usuários únicos 359.347

Artistas com MBID 186.642Artistas sem MBID 107.373

Média de ratings por usuário 48,86

A Tabela 6.4 apresenta os top-10 artistas mais populares da base de dados Last.fm

360K, onde a última coluna da tabela apresenta o ranking da popularidade do artista na

base de dados construída a partir das rádios.

Tabela 6.4: Top 10 artistas mais populares na base de dados Last.fm 360K.

Posição Artista Nr. de usuários Rank histórico rádios

1 The Beatles 61.898 632 Radiohead 57.418 5973 Coldplay 53.985 1324 Red Hot Chili Peppers 40.166 505 Muse 37.414 1626 Metallica 36.040 587 Pink Floyd 35.089 548 The Killers 34.726 3279 Linkin Park 30.560 11410 U2 28.411 47

6.1.3 Base de dados Yahoo WebScope R1

A terceira base de dados utilizada é a base Yahoo WebScope R1, que está disponível

em http://webscope.sandbox.yahoo.com/catalog.php?datatype=r. Esta base de dados

é fornecida como parte do programa Yahoo! Research Alliance WebScope e pode ser

utilizada para �ns acadêmicos.

A base de dados Yahoo WebScope R1 possui ratings de artistas que foram coletados

em um período de trinta dias a partir de Março de 2004 (informações retiradas do arquivo

readme.txt). Esta base de dados contém dois arquivos de texto, ydata-ymusic-user-artist-

ratings-v1_0.txt e ydata-ymusic-artists-names-v1_0.txt.

O arquivo ydata-ymusic-user-artist-ratings-v1_0.txt contém ratings de usuários

para os artistas musicais. O formato de cada linha deste arquivo é o identi�ca-

dor_anonimo_usuario (TAB) identi�cador_artista (TAB) rating. Os valores de ratings

Page 79: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

6. Metodologia de Avaliação 57

são valores inteiros que variam de 0 a 100, onde um caso especial é utilizado, o número

255, que é um valor utilizado para indicar que o usuário nunca ouviu uma música do

artista novamente. Sendo assim, o valor 255 indica um rating de valor negativo. A

Tabela 6.5 apresenta os números de ratings, artistas e usuários presentes nesta base.

Tabela 6.5: Número de itens da base de dados Yahoo WebScope R1.

Usuários únicos 1.948.882Número de artistas 98.211Número de ratings 11.557.944

O segundo arquivo de texto (ydata-ymusic-artists-names-v1_0.txt) contém o identi-

�cador do artista e o nome do artista.

A Figura 6.3 ilustra a formatação dos arquivos da base de dados Yahoo WebScope

R1.

Figura 6.3: Formatação dos arquivos da base de dados Yahoo WebScope R1.

6.1.4 Base de dados de playlists coletados do YouTube

A terceira base de dados utilizada é a base de dados de playlists públicos coletados do

YouTube. Estes playlists foram coletadas no ano de 2012 e possui 287.132 playlists, com

um total de 187.445 artistas e 735.403 músicas. A Tabela 6.6 apresenta os resultados da

base de dados construída a partir dos playlists coletados YouTube.

Page 80: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

6. Metodologia de Avaliação 58

Tabela 6.6: Informações sobre a base construída a partir dos playlists coletados do You-Tube.

Total de playlists 287.132Total de artistas 187.445

Número de músicas 735.403Média de músicas por playlist 13,74

6.1.5 Histórico de programação coletado das rádios

A quarta base de dados utilizada é o histórico de programação coletado das rádios,

que foi provida pelo serviço de recomendação Radialize, descrito na Seção 2.7. Esta base

foi construída a partir da coleta de metadados de rádios, onde cada metadado coletado é

composto pelo identi�cador da rádio, nome do artista e nome da música que está tocando

no momento. Foram coletados metadados de 2.503 rádios; porém, ao remover rádios que

tiveram menos de 10 músicas coletadas e menos de 5 músicas diferentes (valores utilizados

em [3]), o número de rádios passou a ser 2.149 rádios. O período de coleta foi realizado

entre setembro de 2012 a maio de 2013, sendo coletado um total de 18.624.331 execuções,

contento 58.151 artistas distintos e 335.719 músicas distintas. A Tabela 6.7, apresenta

os números dos itens da base de dados construída a partir do histórico de programação

das rádios.

Tabela 6.7: Informações sobre a base construída a partir do histórico de programaçãodas rádios.

Total de execuções 18.624.331Rádios coletadas 2.503

Rádios coletadas válidas 2.149Número de artistas distintos 58.151Número de músicas distintas 335.719Média de execuções por rádio 7440,80

Média de artistas distintos executados nas rádios 172,84

A Tabela 6.8 apresenta os 10 artistas mais populares nas rádios, o número de execu-

ções das músicas de cada artista e em quantas rádios tocou uma música do artista.

Observa-se que os artistas mais populares desta base não são os artistas mais popu-

lares da base de dados Last.fm 360K, sendo que o fator impactante na diferença destes

artistas populares é devido às bases terem sido construídas em diferentes períodos de

tempo.

Page 81: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

6. Metodologia de Avaliação 59

Tabela 6.8: Top 10 artistas mais populares nas rádios.

Posição Artista Nr. de execuções Nr. de rádios Rank Last.fm

1 Maroon 5 206.290 622 1092 Bruno Mars 188.388 601 > 10003 Katy Perry 177.748 677 1324 Taylor Swift 176.610 745 5185 Kenny Chesney 142.818 271 > 10006 P!nk 119.845 460 4677 Rihanna 115.875 508 748 Kelly Clarkson 114.711 532 1859 Brad Paisley 101.564 251 > 100010 Justin Timberlake 98.982 322 114

6.1.6 Número de artistas comuns às bases de dados

Uma característica importante com relação às bases de dados é que parte dos artistas

de uma determinada base de dados não está presente em outra. O principal motivo para

esta variação de artistas comuns é pelo fato das bases de dados terem sido construídas em

épocas diferentes. Pelo fato das bases possuírem muitos artistas distintos, a integração

entre as bases foi realizada de modo a considerar somente os artistas comuns às bases

que serão avaliadas, descartando os artistas que não são comuns nas duas bases de dados

de entrada. Mais detalhes sobre o processo de mapeamento entre os artistas de bases

distintas está apresentado na Seção 6.3.

A Tabela 6.9 apresenta o número de artistas comuns entre cada base de dados de

teste. A primeira coluna apresenta o nome da base 1, a segunda coluna o nome da base

2 e a terceira coluna o número de artistas em comum às bases 1 e 2.

Tabela 6.9: Bases de dados e número de artistas em comum.

Base de dados 1 Base de dados 2 Nr. de artistas em comum

Histórico das rádios Last.fm 360K 10.764Histórico das rádios Yahoo WebScope R1 7.042playlists do YouTube Last.fm 360K 71.514playlists do YouTube Yahoo WebScope R1 32.504

Page 82: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

6. Metodologia de Avaliação 60

6.2 Normalização dos ratings das bases de dados

O processo de normalização dos ratings utilizados da base de dados Last.fm 360K é

necessária, pois o número de vezes que um usuário escutou uma música de um artista

é um tipo de rating implícito (ver seção 2.2); portanto, estes ratings implícitos foram

transformados em ratings explícitos. Para esta normalização foi utilizada a mesma abor-

dagem apresentada por Òscar Celma [16], onde os valores do número de escutas foram

transformados em ratings, com valores variando de 1 a 5.

A normalização de ratings da base de dados consiste no cálculo da função de distri-

buição cumulativa complementar (CCDF), do número de vezes que um usuário escutou

uma música de um artista, que é uma normalização similar a normalização apresentada

na Seção 5.1.

6.3 Buscador para mapear nomes de artistas e músicas das

bases

Como descrito na Seção 6.1, foram utilizadas quatro bases de dados para testes:

Last.fm 360K, Yahoo WebScope R1, playlists coletados do YouTube e histórico de pro-

gramação das rádios. Para que estas diferentes bases sejam comparadas, é necessário

mapear os itens correspondentes em cada base. Para isto, foi necessário implementar um

componente de buscas de artistas e músicas.

Conforme descrito na Seção 6.1, outra base de dados utilizada é a MusicBrainz4, que

tem sido utilizada por diversos serviços de músicas, por prover uma grande quantidade

de metadados para as entidades representadas, como artistas e músicas. Neste trabalho a

utilização desta base é somente para facilitar o mapeamento entre os artistas e músicas das

bases de dados distintas. A facilidade no mapeamento entre os itens providos pela base

de dados do MusicBrainz é pelo fato de diversas outras bases possuírem o identi�cador

do MusicBrainz como chave estrangeira.

A Figura 6.4 apresenta o processo de busca, dividido em etapas. A primeira etapa

realizada para mapear os itens das bases distintas consiste da inserção dos nomes dos

artistas, músicas e seus respectivos identi�cadores do MusicBrainz em um banco de

dados. Além das informações de nomes, também foram inseridos os aliases (apelidos)

dos artistas e das músicas, que são fornecidos pela própria base de dados MusicBrainz.

Alguns exemplos de aliases para a cantora Alanis Morissette, são: �Morissette, Alanis

4 www.musicbrainz.org

Page 83: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

6. Metodologia de Avaliação 61

Nadine�, �Morissette, Alanis�, �Alanis Nadine Morissette�, �Alanis Morrisette�, �Alanis

Morrissette�, �Alanis Morissete� e �Alanis�.

A etapa 2 representa o processo de buscar por itens no banco de dados de mapeamento

que inicialmente contém os dados inseridos do MusicBrainz. Inicialmente, é feita uma

busca exata no banco de dados, onde o primeiro elemento buscado é o identi�cador

do MusicBrainz, caso a base que está sendo mapeada contenha esta informação. Se a

base de dados não possuir o identi�cador do MusicBrainz, ou se o identi�cador não for

encontrado, então é realizada uma busca exata pelo nome do artista e música. Caso estes

itens sejam encontrados no banco de dados, então o mapeamento dos itens é realizado

no banco de dados de mapeamento.

A etapa 3 do processo de busca ocorre quando o item não é encontrado no banco

de dados. Nesta etapa é realizada uma busca pelo nome do artista utilizando a API

do YouTube5. Observa-se que a maior parte dos itens são encontrados no banco de

dados local, construído a partir do MusicBrainz. Ao realizar a busca utilizando a API

do YouTube, é retornada uma lista contendo informações dos vídeos, tais como, título,

identi�cador, número de visualizações, entre outras informações. A �m de garantir que

um vídeo retornado corresponda ao artista e música que foram buscados, é realizada

uma veri�cação se estes nomes estão presentes no título do vídeo. Caso o nome do

artista e da música estejam presentes no título, o identi�cador do vídeo é associado com

o identi�cador do artista e da música buscada. Se o banco de dados local já possuir o

identi�cador do vídeo associado ao artista e música, o item da nova base é mapeado para

o item já existente no banco de dados, o que é ilustrado como etapa 4 da Figura 6.4.

Caso ainda não exista o identi�cador do vídeo, então o novo vídeo é inserido no banco de

dados e é associado ao artista e música que gerou aquela busca. Após a realização desta

etapa de mapeamento foram associados 97.179 artistas com títulos de vídeos presentes

no YouTube.

6.4 Seleção dos usuários de teste

Pelo fato de se executar testes com vários algoritmos de recomendação, com diversas

con�gurações e diferentes métricas de avaliação, foi de�nido um grupo de 100 usuários

de teste. A seleção do grupo de usuários para teste foi feita a partir de cinco grupos,

onde cada um dos cinco grupos contém 100 usuários selecionados de modo semi-aleatório,

pois é necessário que cada usuário possua pelo menos 30 artistas ranqueados, devido ao

fato da métrica utilizada para testes ser a precisão (ver Seção 2.5). A escolha de cinco

5 www.youtube.com

Page 84: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

6. Metodologia de Avaliação 62

Figura 6.4: Processo de buscas utilizado para mapear artistas e músicas das bases.

grupos de usuários é para que seja possível calcular o desvio padrão do resultado obtido

para cada grupo, e assim comprovar que os valores do desvio padrão é baixo, o que torna

válido os experimentos realizados para cada grupo de usuários de teste selecionados.

Como descrito anteriormente, os usuários selecionados para teste foram usuários semi-

aletarórios que ranquearam no mínimo 30 artistas. Após a seleção destes usuários, foram

selecionados 15 artistas ranqueados por cada um destes usuários, onde estes artistas

são utilizados para treino pelos algoritmos. O restante dos artistas ranqueados pelos

usuários de teste são considerados itens relevantes e são utilizados para veri�car se foram

recomendados, ou seja, se estão presentes na lista de artistas retornada pelos algoritmos.

Para cada usuário de teste, é requisitada uma lista contendo 500 artistas (precisão@500),

tanto para os algoritmos do baseline quanto para os algoritmos desenvolvidos, onde são

veri�cados quais são os artistas relevantes.

Inicialmente, os usuários de teste foram selecionados utilizando a base de dados

Last.fm 360K. A Tabela 6.10 apresenta os resultados obtidos a partir de testes reali-

zados com algoritmos de �ltragem colaborativa. Os valores representam a precisão da

recomendação. As colunas Gr. 1 a Gr. 5 da Tabela 6.10 apresentam os valores para

Page 85: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

6. Metodologia de Avaliação 63

os cinco grupos de usuários distintos. A coluna Média possui o valor médio dos cinco

grupos de usuários e a última coluna apresenta o desvio padrão dos valores de precisão

obtidos.

Tabela 6.10: Valores de precisão obtidos para os cinco grupos de usuários de teste

Sigla Gr. 1 Gr. 2 Gr. 3 Gr. 4 Gr. 5 Média Desvio Padrão

1.IBJ 79.7 80.0 80.8 80.0 80.9 80.3 0.482.IBE 79.5 80.0 80.4 80.0 80.9 80.3 0.473.UBJ 77.0 77.7 76.6 76.7 76.3 76.8 0.484.UBE 75.8 77.2 75.3 75.6 75.8 75.9 0.655.BIBJ 80.5 80.7 80.9 80.2 81.5 80.7 0.436.BIBE 80.3 80.1 80.6 79.7 81.3 80.4 0.537.BUBJ 77.4 78.7 77.5 77.1 77.8 77.7 0.548.BUBE 76.3 78.2 76.8 76.1 76.9 76.9 0.739.MFM 29.8 31.6 27.6 30.1 31.8 30.2 1.5110.MF 34.5 34.4 31.4 30.9 32.4 32.7 1.49

Após realizados os testes com os cinco grupos de usuários aleatórios foi selecionado e

�xado um único grupo de 100 usuários de testes, a partir da observação dos resultados

apresentados na Tabela 6.10. Ao analisar os resultados, observa-se que os algoritmos

apresentam os valores muito próximos de precisão para os diferentes grupos de usuários,

pois foi obtido um valor baixo de desvio padrão. Sendo assim, foi �xado o grupo 5 para

realização dos próximos testes, pois ao observar o menor desvio padrão (valor 0.43) o

grupo 5 foi o grupo que obteve os melhores valores de precisão para o baseline. Desta

forma, nenhum outro grupo de teste poderá apresentar melhor valor de resultado para o

baseline em relação ao grupo 5.

6.5 Seleção dos usuários para treino

Visando determinar a forma de seleção de dados de treino, foram realizados testes

variando-se o número de usuários da base de dados Last.fm 360K para os algoritmos do

baseline.

A Tabela 6.11 apresenta os valores de precisão obtidos variando-se o número de usuá-

rios de treino pelos algoritmos da abordagem de �ltragem colaborativa. As colunas de

500 a 10.000 representam o número de usuários que foram utilizados para treino, para

os 100 usuários de teste. Por exemplo, para a coluna que representa 5.000 usuários de

treino, signi�ca 5.000 dividido por 100, que é igual a 50 usuários de treino que foram se-

lecionados para cada usuário de teste. Como heurística de seleção dos usuários de treino

Page 86: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

6. Metodologia de Avaliação 64

para um dado usuário de teste é simples: consiste dos usuários mais similares em relação

ao usuário a ser testado.

Tabela 6.11: Variando o número de usuários de treino na �ltragem colaborativa

Sigla do algoritmo 500 1.000 2.000 5.000 10.000

1.IBJ 77.0 80.9 83.7 85.0 85.62.IBE 76.5 80.9 83.8 85.2 85.8

3.UBJ 73.9 76.3 80.4 82.3 82.84.UBE 72.6 75.8 79.7 82.0 82.65.BIBJ 76.6 81.5 84.2 84.9 85.76.BIBE 76.5 81.3 84.1 85.3 85.77.BUBJ 74.5 77.8 80.7 82.5 83.68.BUBE 72.8 76.9 80.1 82.3 83.19.MFM 33.4 31.8 29.2 25.0 24.210.MF 37.9 32.4 28.1 30.8 24.8

Ao analisar os resultados apresentados na Tabela 6.11, observa-se que o número de

usuários é um fator relevante para a maioria dos algoritmos. Porém, a partir de 5.000

usuários de treino, os valores de precisão tendem a �car mais estáveis, pois novos usuários

inseridos podem não ser tão similares quanto aos primeiros usuários inseridos para treino.

Por exemplo, ao inserir os primeiros 500 usuários, foram selecionados os 500 usuários

mais similares para cada usuário de teste. Ao inserir 1.000 usuários, também foram

selecionados os 1.000 usuários mais similares aos usuários de teste, e assim por diante.

Porém, ao elevar este valor para 10.000, os usuários de treino selecionados já não são

tão similares quanto eram os primeiros 1.000 usuários selecionados. Portanto, para os

experimentos foi �xado em 1.000 o número de usuários de treino. Foi �xado este número,

pois foram utilizadas somente 1.000 rádios coletadas e que são consideradas rádios válidas,

onde estas rádios foram utilizadas para testar os algoritmos que utilizam informações

públicas.

Ao realizar testes utilizando os playlists coletados do YouTube, foram selecionados os

playlists da mesma maneira que selecionamos usuários de treino, pois a disposição dos

itens presentes em um playlist possuem mais semelhança com os per�s de usuários do

que com o histórico de programação coletado das rádios.

6.6 Seleção das rádios para treino

Nesta seção, o processo de seleção de rádios válidas é mostrado. Como descrito na

Seção 6.1.5, a base de dados do histórico de programação foi construída a partir da coleta

Page 87: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

6. Metodologia de Avaliação 65

de metadados de Web-rádios. Foram coletados metadados de 2.503 rádios, e removidas

as rádios que tiveram menos de 10 execuções coletadas e menos de 5 músicas distintas,

seguindo a mesma estratégia apresentada em [3]. Dessa forma, o número de rádios passou

a ser 2.149. Ao veri�car quais destas rádios possuíam itens em comum com os usuários

de teste, o que é imprescindível para se poder usar das informações de rádio para testar

um usuário, o número de rádios passou a ser aproximadamente de 1.000 rádios. Por este

motivo foi �xado em 1.000 o número de rádios utilizadas para treino.

6.7 A escolha do baseline

Nesta seção, são apresentados os requisitos necessários para seleção dos algoritmos que

serviram como baseline. Os critérios de seleção para determinar quais são os algoritmos

do baseline são descritos no decorrer desta seção.

6.7.1 Seleção dos dados de acordo com a popularidade

Os dados coletados das rádios possuem grande diversidade em termos de qualidade.

Alguns artistas possuem muitas execuções de músicas coletadas, enquanto outros já não

possuem tantas execuções. Sendo assim, há muitos artistas coletados que possuem de

uma a cinco execuções. Ou seja, as músicas destes artistas tocaram no máximo cinco

vezes durante todo o período de coleta. A �m de determinar o baseline observando o

comportamento da popularidade dos artistas, foram realizados testes variando o volume

de artistas a serem recomendados.

A Tabela 6.12 apresenta os resultados de precisão ao realizar podas de artistas a

serem recomendados, de acordo com a popularidade dos artistas nas rádios. As colunas

de 100% a 25% representam a variação da popularidade dos artistas, onde 100% indica

a possibilidade de recomendação de todos os artistas que são comuns às duas bases de

dados que serão comparadas, que neste caso é a base Last.fm 360K e a base construída

a partir do histórico de execução das rádios. Porém, devido aos testes realizados nesta

seção serem somente para determinar o baseline, não foi utilizada nenhuma base de dados

pública para comparar resultados entre bases.

Ao selecionar os artistas comuns às duas bases tem-se 10.764 artistas (100%). Ao

selecionar 75% dos artistas mais populares, o número de artistas presentes nas duas bases

diminui para 8.073. Ao selecionar 50% e 25% dos artistas mais populares, o número de

artistas comuns nas duas bases diminui para 5.382 e 2.691, respectivamente. Conforme

Page 88: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

6. Metodologia de Avaliação 66

esperado, os resultados mostram que a precisão aumenta à medida em que se poda itens

menos populares.

Tabela 6.12: Variando o número de possíveis artistas a serem recomendados de acordocom a popularidade.

Sigla do algoritmo 100% 75% 50% 25%

1.IBJ 80.9 83.6 88.6 94.02.IBE 80.9 83.7 88.3 94.13.UBJ 76.3 80.7 85.8 92.04.UBE 75.8 80.0 85.1 91.85.BIBJ 81.5 84.3 88.3 94.16.BIBE 81.3 84.4 88.2 94.2

7.BUBJ 77.8 81.8 86.7 92.48.BUBE 76.9 80.8 86.0 92.49.MFM 32.0 35.9 42.8 54.110.MF 34.3 39.0 49.6 69.811.MP 33.9 36.4 42.4 55.9

12.RAND 10.7 13.5 19.8 34.2

A escolha dos algoritmos que servem como baseline foi reduzida observando-se os

resultados obtidos na Tabela 6.12. Assim foram selecionados os algoritmos que apresen-

taram os melhores resultados, em algum tipo de con�guração. Outro fator determinante

na escolha do baseline deve-se às características de cada algoritmo, visto que determina-

dos métodos de recomendação são melhores se utilizados em determinadas con�gurações.

Os algoritmos que foram escolhidos como baseline são: 1.IBJ, 5.BIBJ, 6.BIBE, 7.BUBJ,

10.MF, 11.MP e 12.RAND, que estão em negrito na Tabela 6.12. Os algoritmos Most

Popular (11.MP) e Random (12.RAND), apesar de não terem apresentados bons resul-

tados, também foram escolhidos para fazerem parte do baseline, pois eles são utilizados

como baseline em diversos trabalhos.

6.8 Algoritmos que utilizam dados públicos

Nesta etapa são representados os algoritmos que utilizam os dados públicos. Estes

algoritmos recebem como entrada o histórico de programação coletado das rádios ou

os playlists coletados do YouTube, além destes dados estes algoritmos recebem como

entrada os usuários de teste.

Como descrito no Capítulo 5, os algoritmos que utilizam dados públicos estão divi-

didos em 4 classes. A primeira delas é a classe que contém os algoritmos que modelam

Page 89: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

6. Metodologia de Avaliação 67

rádios como usuários, visando o emprego dos algoritmos de �ltragem colaborativa. A se-

gunda contém os algoritmos desenvolvidos que são baseados na frequência de ocorrências

dos artistas nas rádios. Estes algoritmos foram modelados baseados na ideia do tf-idf. A

terceira e quarta classe contém os algoritmos que utilizam a matriz de similaridades, que

é construída a partir dos dados públicos, ou seja, o histórico de programação das rádios

e os playlists coletados do YouTube.

6.9 Aplicação das métricas de avaliação

A principal métrica de avaliação utilizada neste trabalho é a precisão. A utilização

desta métrica deve-se principalmente por esta ser uma métrica baseada em decisão, ou

seja, que avalia listas de itens recomendados, ao contrário das métricas de predição, onde

é avaliado o erro de um rating predito em relação ao valor real do rating (ver Seção 2.5.1).

A Figura 6.5 ilustra o processo de realização dos testes de precisão. Supondo que

um usuário de teste tenha ranqueado 40 artistas. Na etapa 1 da �gura, são selecionados

15 artistas de forma sequencial com valores de ratings decrescentes, para treino de um

total de 40 artistas; os outros 25 artistas não selecionados são os artistas relevantes e

são utilizados para teste. Em seguida, após a inserção dos 15 artistas para treino, é

requisitada a lista de artistas recomendados. Esta etapa está ilustrada na Figura 6.5

como passo 2. Por �m, na etapa 3, são veri�cados quais dos 25 artistas relevantes estão

presentes na lista dos itens recomendados pelo algoritmo.

Figura 6.5: Modelo de testes de precisão

Page 90: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

6. Metodologia de Avaliação 68

Page 91: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Capítulo 7

Resultados Experimentais

O principal objetivo dos experimentos realizados é analisar a qualidade dos dados

públicos em relação aos dados de ratings de usuários aplicados na abordagem de �ltragem

colaborativa. Para isto, neste capítulo são apresentados os resultados experimentais, onde

foram utilizadas as bases de dados Last.fm 360K [16], Yahoo WebScope R1, histórico de

programação coletado das rádios e playlists coletados do YouTube. Porém, a maior parte

dos testes apresentados neste capítulo são comparações realizadas entre as base de dados

Last.fm 360K e o histórico de programação coletado das rádios. A base de dados Last.fm

360K foi mais utilizada para os testes, pois tem sido mais estudada e consequentemente

apresentada na literatura.

As seções deste capítulo estão organizadas da seguinte forma: a Seção 7.1 apresenta

os resultados obtidos utilizando o algoritmo de clustering desenvolvido. Em seguida, na

Seção 7.2 são apresentados os resultados dos algoritmos que utilizam dados de rádios,

onde cada rádio foi modelada como sendo um usuário e aplicados os algoritmos de �l-

tragem colaborativa. A Seção 7.3 apresenta os resultados de precisão obtidos realizando

testes com os algoritmos baseados no tf-idf. A Seção 7.4 apresenta os resultados para

algoritmos que utilizam a matriz de similaridades construída a partir do histórico de pro-

gramação das rádios. A Seção 7.5 apresenta os resultados obtidos variando-se o número

de ratings para os usuários de teste. A Seção 7.6 apresenta os valores de revocação, onde

são variados os números dos artistas recomendados. A Seção 7.7 apresenta os resultados

obtidos a partir da aplicação das métricas RMSE, MAE e taxa de erro. Em seguida, na

Seção 7.8 são apresentados resultados de precisão que foram obtidos comparando as ba-

ses de dados Yahoo WebScope R1 e o histórico de programação das rádios. A Seção 7.9

apresenta os resultados de precisão obtidos a partir da comparação entre as bases de

dados Last.fm 360K e os playlists coletados do YouTube. Por �m, na Seção 7.10 são

69

Page 92: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

7. Resultados Experimentais 70

apresentadas as análises e conclusões a partir dos resultados obtidos.

Os experimentos apresentados neste capítulo foram realizados com o grupo de 100

usuários, selecionados conforme descrito na Seção 6.4. Para os algoritmos da abordagem

de �ltragem colaborativa, foram utilizados 1.000 usuários de treino da respectiva base de

dados que será testada. O modelo de seleção destes usuários está descrito na Seção 6.5.

Ao realizar os experimentos com o histórico de programação das rádios, foram utilizadas

1.000 rádios para treino, conforme apresentado na Seção 6.6. Ao realizar os experimen-

tos com os playlists coletados do YouTube, foram utilizados 1.000 playlists para treino,

conforme apresentado na Seção 6.5.

7.1 Avaliação do algoritmo user-clustering

Nesta seção, são apresentados os resultados de precisão para o algoritmo desenvolvido

user-clustering e o baseline, que foram aplicados sobre a base de dados Last.fm 360K. O

user-clustering foi testado com as distâncias de Jaccard (13.UCJ) e Euclidiana (14.UCE)

(ver Seção 2.4.1).

A Tabela 7.1 apresenta os resultados de precisão obtidos, onde foram variados os

possíveis artistas a serem recomendados de acordo com a popularidade do artista, levando

em consideração a quantidade de execuções de músicas dos artistas nas rádios. A primeira

coluna da tabela contém a sigla do algoritmo, onde o nome completo de cada algoritmo

está apresentado na Tabela 6.1. A coluna 100% representa todos os artistas possíveis

de serem recomendados, incluindo os artistas que possuem somente uma execução no

histórico de programação coletado das rádios. A coluna 75% representa 75% dos artistas

mais populares e na última coluna são apresentados os resultados para 25% dos artistas

mais populares.

Ao analisar os resultados apresentados na Tabela 7.1, observa-se que o algoritmo

13.UCJ apresenta resultados melhores em relação ao 14.UCE, para os três casos onde

são testados os artistas mais populares. Em relação ao baseline, o user-clustering perde

para os principais algoritmos de �ltragem colaborativa, que são eles 1.IBJ, 5.BIBJ e

6.BIBE. No entanto, a perda diminui à medida que a base é podada para que apenas

25% dos artistas mais frequentes sejam mantidos.

Page 93: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

7. Resultados Experimentais 71

Tabela 7.1: Comparativo entre o Baseline e algoritmos de clustering desenvolvidos queutilizam dados de usuários.

Sigla do algoritmo 100% 75% 50% 25%

1.IBJ 80.9 83.6 88.6 94.05.BIBJ 81.5 84.3 88.3 94.16.BIBE 81.3 84.4 88.2 94.2

7.BUBJ 77.8 81.8 86.7 92.410.MF 34.3 39.0 49.6 69.811.MP 33.9 36.4 42.4 55.9

12.RAND 10.7 13.6 19.8 34.2

13.UCJ 63.8 67.5 75.5 87.2

14.UCE 63.9 66.7 75.1 85.9

7.2 Avaliação do histórico de programação das rádios

modeladas como usuários � MRU

Nesta Seção, são apresentados os primeiros resultados de precisão dos algoritmos

que utilizam dados públicos. Os algoritmos desta classe são as rádios modeladas como

usuários, conforme descrito na Seção 5.1, e aplicados os algoritmos de recomendação de

�ltragem colaborativa.

A Tabela 7.2 apresenta os resultados de precisão para os algoritmos do tipo MRU,

onde as siglas em negrito indicam os algoritmos propostos e os valores em negrito repre-

sentam os melhores valores de precisão obtidos em cada classe de algoritmos.

Para os testes executados foram variados os possíveis artistas a serem recomendados

de acordo com a popularidade dos artistas, da mesma forma que foi realizado na Seção 7.1.

A primeira coluna da tabela possui a sigla do algoritmo, onde as letras MRU na sigla,

indicam os algoritmos de �ltragem colaborativa que utilizam dados de rádios que foram

modeladas como usuários.

Ao analisar os resultados apresentados na Tabela 7.2 observa-se que há um aumento

signi�cativo no valor de precisão à medida que se tem mais informações sobre os artistas.

Por exemplo, quando realiza a poda de 100% para 25%: para o melhor baseline (6.BIBE),

o ganho é de 12.9 pontos percentuais (94.2% - 81.3%), enquanto para o melhor algoritmo

proposto nessa classe (18.MRU-UBE), o ganho é de 34.9 pontos percentuais (82.2% -

47.3%), mais que o dobro do valor obtido em relação ao baseline. No entanto, mesmo

para a poda de 25%, a abordagem ainda perde para o baseline.

Os melhores valores de precisão obtidos, utilizando os algoritmos da classe MRU, serão

Page 94: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

7. Resultados Experimentais 72

Tabela 7.2: MRU - Variando o número de possíveis artistas a serem recomendados deacordo com a popularidade.

Sigla do algoritmo 100% 75% 50% 25%

1.IBJ 80.9 83.6 88.6 94.05.BIBJ 81.5 84.3 88.3 94.16.BIBE 81.3 84.4 88.2 94.2

7.BUBJ 77.8 81.8 86.7 92.410.MF 34.3 39.0 49.6 69.811.MP 33.9 36.4 42.4 55.9

12.RAND 10.7 13.5 19.8 34.2

13.UCJ 63.8 67.5 75.5 87.2

14.UCE 63.9 66.7 75.1 85.9

15.MRU-IBJ 55.2 58.8 65.6 78.316.MRU-IBE 54.5 58.0 65.3 78.617.MRU-UBJ 49.4 54.0 63.6 78.418.MRU-UBE 47.3 51.5 60.8 82.2

19.MRU-BIBJ 55.6 58.9 65.5 80.020.MRU-BIBE 54.7 58.1 65.4 79.021.MRU-BUBJ 49.1 53.2 62.9 80.322.MRU-BUBE 46.4 50.2 60.1 78.423.MRU-MFM 25.6 26.8 31.1 40.824.MRU-MF 34.3 36.6 45.0 58.325.MRU-UCJ 41.4 46.2 56.6 67.926.MRU-UCE 40.5 44.2 52.6 70.9

replicados nas próximas seções para facilitar a comparação em relação aos resultados

obtidos dos novos testes.

7.3 Avaliação do TFIDF e TFDF utilizando o histórico de

programação das rádios

A segunda abordagem que utilizou de dados públicos foram os algoritmos TFIDF e

TFDF. Neste modelo, cada rádio é considerada um documento e cada artista é conside-

rado um termo. Estes algoritmos estão descritos na Seção 5.2.

A Tabela 7.3 apresenta os resultados de precisão obtidos para os algoritmos TFIDF

e TFDF. Ao analisar os valores apresentados na Tabela 7.3, observa-se que o algoritmo

28.TFIDF apresentou melhores resultados em relação ao algoritmo 27.TFDF. O ganho

quando realiza a poda de 100% para 25% é de 28.9 pontos percentuais (82.7% - 53.8%).

Page 95: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

7. Resultados Experimentais 73

Mesmo com um ganho maior, ao realizar esta poda, em relação ao baseline, esta abor-

dagem ainda não ultrapassa o resultado obtido pelo algoritmo 6.BIBE, que é o melhor

valor obtido do baseline. Portanto, para a poda utilizando os valores de 50% e 25%, o al-

goritmo 28.TFIDF apresentou melhor resultado em relação a todos os outros algoritmos

da classe MRU.

Tabela 7.3: Comparativo entre o baseline e algoritmos de recomendação utilizando otf-idf e tf-df.

Sigla do algoritmo 100% 75% 50% 25%

1.IBJ 80.9 83.6 88.6 94.05.BIBJ 81.5 84.3 88.3 94.16.BIBE 81.3 84.4 88.2 94.2

7.BUBJ 77.8 81.8 86.7 92.410.MF 34.3 39.0 49.6 69.811.MP 33.9 36.4 42.4 55.9

13.UCJ 63.81 67.6 75.5 87.214.UCE 63.9 66.8 75.1 85.9

15.MRU-IBJ 55.2 58.8 65.6 78.318.MRU-UBE 47.3 51.5 60.8 82.2

19.MRU-BIBJ 55.6 58.9 65.5 80.0

27.TFDF 51.9 56.0 65.1 81.728.TFIDF 53.8 58.5 68.3 82.7

7.4 Avaliação dos algoritmos que utilizam matriz de

similaridades construída a partir do histórico de

programação

A terceira e quarta classe de algoritmos propostos, que utilizam de dados públicos,

são os algoritmos que recomendam artistas baseando nas informações extraídas da ma-

triz de similaridades do histórico de programação das rádios. Portanto, os resultados

obtidos para estas duas classes de algoritmos são apresentados nesta seção. Para maiores

informações sobre estes algoritmos ver a Seção 5.3 e Seção 5.4.

Ao observar os valores apresentados na Tabela 7.4, os resultados apresentam uma

grande melhoria quando se tem dados de qualidade providos pelas rádios. Este fato pode

ser observado ao veri�car quando são testados somente os artistas que possuem um grande

número de execuções (25%). Entre os algoritmos propostos, o 31.COOC-BIB apresentou

Page 96: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

7. Resultados Experimentais 74

Tabela 7.4: Resultados obtidos para os algoritmos baseline e algoritmos propostos.

Sigla do algoritmo 100% 75% 50% 25%

1.IBJ 80.9 83.6 88.6 94.05.BIBJ 81.5 84.3 88.3 94.16.BIBE 81.3 84.4 88.2 94.2

7.BUBJ 77.8 81.8 86.7 92.410.MF 34.3 39.0 49.6 69.811.MP 33.9 36.4 42.4 55.9

13.UCJ 63.8 67.6 75.5 87.214.UCE 63.9 66.76 75.1 85.9

15.MRU-IBJ 55.2 58.8 65.6 78.318.MRU-UBE 47.3 51.5 60.8 82.219.MRU-BIBJ 55.6 58.9 65.5 80.0

27.TFDF 51.9 56.0 65.1 81.728.TFIDF 53.8 58.5 68.3 82.7

29.COOC-R 56.8 61.1 70.8 87.030.COOC-IB 56.6 60.9 70.5 87.131.COOC-BIB 57.3 61.6 71.3 88.1

os melhores resultados, com um ganho de 30.8 pontos percentuais(88.1% - 57.3%) quando

varia a quantidade dos artistas recomendados de acordo com a popularidade. De forma

geral, os algoritmos dessa classe apresentam uma melhoria signi�cativa em relação aos

algoritmos propostos que foram testados anteriormente, que são os algoritmos de rádios

que foram modeladas como usuários e os algoritmos baseados no tf-idf.

7.5 Resultados variando o número de ratings dos usuários

de teste

Os resultados apresentados nesta seção foram obtidos variando-se o número de ratings

para os usuários de teste. Para os testes realizados nesta seção foi �xado em 25% os

artistas mais populares.

A Tabela 7.5 apresenta os resultados de precisão obtidos variando-se o número de

ratings para cada usuário de teste. Na Tabela 7.5 as colunas de 1 a 20 representam os

números de ratings utilizados para treino de cada usuário de teste.

Ao observar os resultados apresentados, percebe-se que os algoritmos que utilizam

matriz de similaridades entre itens, tanto para dados privados (1.IBJ, 5.BIBJ e 6.BIBE)

quanto para dados públicos (30.COOC-IB e 31.COOC-BIB), não apresentam bons re-

Page 97: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

7. Resultados Experimentais 75

Tabela 7.5: Variando o número de ratings dos usuários de teste.

Sigla do algoritmo 1 3 5 15 20

1.IBJ 0.00 79.6 86.6 94.0 94.6

5.BIBJ 57.8 79.6 86.6 94.1 94.06.BIBE 57.9 79.7 86.8 94.2 94.27.BUBJ 81.3 87.0 88.6 92.4 92.910.MF 53.1 66.7 70.6 69.8 66.511.MP 56.5 56.7 56.4 55.9 55.2

12.RAND 34.2 30.7 31.9 30.3 28.4

13.UCJ 82.0 81.2 84.7 87.2 88.1

27.TFDF 66.4 73.5 74.2 81.7 81.228.TFIDF 66.5 75.6 80.1 82.7 84.5

29.COOC-R 69.9 80.7 82.8 87.0 86.530.COOC-IB 0.0 81.0 84.2 87.1 88.331.COOC-BIB 65.0 81.1 84.0 88.1 88.6

sultados quando os usuários de teste possuem somente 1 rating. Estes valores baixos

ocorrem devido aos algoritmos do tipo item-based, na maioria dos casos, serem incapazes

de encontrar artistas similares ao único artista ranqueado pelo usuário, o que resulta em

listas de recomendações contendo poucos artistas ou às vezes não recomendando nenhum

artista. O algoritmo de clustering (13.UCJ) desenvolvido apresentou o melhor resultado

quando os usuários de testes possuíam somente 1 rating pois, sempre é capaz de retornar

a quantidade de itens requisitada na recomendação.

A Tabela 7.6 apresenta o número médio de itens recomendados para cada usuário de

teste, onde os valores entre parênteses representam o desvio padrão. Para os algoritmos

1.IBJ e 30.COOC-IB, apresentados na Tabela 7.6, não foram recomendados nenhum item

quando os usuários possuíam somente 1 rating, o que resultou em um valor 0 de precisão.

Porém, ao aumentar o número de ratings dos usuários de teste, estes algoritmos passam

então a retornar artistas nas listas de recomendação e passam a apresentar os melhores

resultados, o que indica serem bons algoritmos a serem utilizados quando os usuários

possuem mais de 5 ratings.

Os métodos básicos, mais populares (11.MP) e randômico (12.RAND), sempre reco-

mendam o número de artistas requisitado (500). Porém, mesmo recomendando o número

de itens necessário, o valor de precisão para estes algoritmos não são tão bons quanto os

resultados dos outros algoritmos.

Page 98: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

7. Resultados Experimentais 76

Tabela 7.6: Quantidade de itens recomendados de acordo com o número de ratings.

Sigla do algoritmo 1 3 5 15 20

1.IBJ 0(0) 420(167) 465(117) 495(41) 497(27)5.BIBJ 294(221) 420(167) 465(117) 495(41) 497(27)6.BIBE 294(221) 420(167) 465(117) 495(41) 497(27)7.BUBJ 500(0) 500(0) 500(0) 500(0) 500(0)10.MF 294(221) 420(167) 465(117) 495(41) 497(27)11.MP 500(0) 500(0) 500(0) 500(0) 500(0)

12.RAND 500(0) 500(0) 500(0) 500(0) 500(0)

13.UCJ 500(0) 500(0) 500(0) 500(0) 500(0)

27.TFDF 477(81) 499(5) 500(0) 500(0) 500(0)28.TFIDF 477(81) 499(5) 500(0) 500(0) 500(0)29.COOC-R 438(113) 498(18) 499(1) 500(0) 500(0)30.COOC-IB 0.00(0) 484.5(39) 495(21) 500(0) 500(0)31.COOC-BIB 359(117) 484(39) 495(21) 500(0) 500(0)

7.6 Avaliação da revocação variando o número de itens

recomendados

A revocação mede a fração entre todos os artistas relevantes que estão presentes

na lista dos artistas recomendados (ver Seção 2.5.2). Para os resultados de revocação

apresentados nesta seção foram �xados em 25% os artistas mais populares, e os valores

de revocação obtidos são relativos à variação do número de itens recomendados. A

Tabela 7.7 apresenta os valores de revocação obtidos, onde as colunas de 10 a 1.000

referem-se à quantidade de artistas retornados pelos algoritmos de recomendação.

A Figura 7.1 apresenta de forma grá�ca os valores para os melhores algoritmos da Ta-

bela 7.7. Ao analisar os resultados obtidos, os algoritmos 5.BIBJ e 6.BIBE apresentaram

os melhores resultados quando a lista de recomendações era composta somente por 10

artistas. Entre os algoritmos propostos, o 31.COOC-BIB apresentou melhores resultados

quando foi requisitada listas contendo 10, 100 e 500 artistas, porém com 100 artistas o

algoritmo 30.COOC-IB apresentou o mesmo valor que o algoritmo 31.COOC-BIB.

Ao analisar a Tabela 7.7, observa-se também que a medida que se aumenta o número

de recomendações, os valores do baseline em comparação com os valores dos algoritmos

que utilizam dados públicos tendem a �car mais próximos, pois são recomendados quase

todos os itens que os usuários ranquearam e que são considerados relevantes.

Page 99: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

7. Resultados Experimentais 77

Tabela 7.7: Valor de revocação variando o número de itens recomendados.

Sigla do algoritmo 10 100 500 1.000

1.IBJ 20.9 68.1 94.0 97.7

5.BIBJ 21.9 67.3 94.1 97.46.BIBE 21.9 67.0 94.2 97.57.BUBJ 18.0 64.9 92.4 96.910.MF 3.8 22.5 68.8 96.611.MP 1.9 17.3 55.9 81.8

12.RAND 0.4 6.1 33.9 75.9

13.UCJ 11.5 47.4 87.2 96.5

27.TFDF 8.2 40.8 81.7 92.428.TFIDF 8.3 41.5 82.7 93.5

29.COOC-R 8.8 46.3 87.0 95.5

30.COOC-IB 9.3 48.0 87.1 95.231.COOC-BIB 9.5 48.0 88.1 94.8

Figura 7.1: Revocação variando o número de itens recomendados.

Page 100: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

7. Resultados Experimentais 78

7.7 Resultados dos algoritmos utilizando outras métricas

de avaliação

Esta seção apresenta os resultados obtidos utilizando outras métricas de avaliação. A

Tabela 7.8 apresenta resultados relativos as métricas Root Mean Squared Error (RMSE),

Mean Absolute Error (MAE) e taxa de erro (ver Seção 2.5). Para as métricas RMSE e

MAE quanto mais próximo de zero for o valor, melhor é o rating predito. Para a métrica

taxa de erro, quanto mais próximo de 100%, melhor é o resultado do algoritmo.

Tabela 7.8: Métricas de avaliação para testes com baseline e algoritmos propostos.

Sigla do algoritmo RMSE MAE tx. de erro

1.IBJ 1.45 1.16 82.75.BIBJ 1.43 1.14 83.36.BIBE 1.43 1.13 83.7

7.BUBJ 1.55 1.20 77.810.MF 1.18 0.87 54.511.MP 2.05 1.67 54.6

12.RAND 1.68 1.37 51.2

13.UCJ 2.05 1.68 70.9

27.TFDF 2.05 1.75 66.728.TFIDF 2.04 1.74 68.4

29.COOC-R 1.52 1.24 68.030.COOC-IB 1.65 1.37 67.531.COOC-BIB 1.63 1.34 66.8

Ao analisar a Tabela 7.8, são observados alguns aspectos interessantes. O primeiro

deles é que o algoritmo Matrix Factorization (10.MF), apresentou os melhores resultados

para as métricas RMSE e MAE. Este algoritmo foi apresentado em vários trabalhos

como sendo o estado da arte ao utilizar a métrica RMSE, ver Seção 2.4.1.4. Entre

os algoritmos propostos, o algoritmo 29.COOC-R apresentou os melhores resultados ao

utilizar as métricas de predição (MAE e RMSE).

Um segundo aspecto interessante observado é que ao utilizar as métricas RMSE e

MAE, os valores apresentados pelo algoritmo randômico (12.RAND) foi melhor em rela-

ção a alguns algoritmos propostos. Este fato pareceu estranho inicialmente, pois ao utili-

zar outras métricas tais como, precisão, revocação e taxa de erro, o algoritmo randômico,

apresentou os piores resultados. O principal motivo para o valor obtido pelo algoritmo

randômico ser melhor em relação a alguns outros algoritmos é devido ao fato de que os

outros algoritmos possuem a necessidade de realizar a normalização do valor de rating

Page 101: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

7. Resultados Experimentais 79

predito. Porém, esta normalização é um processo que pode gerar ruído quando se utiliza

uma métrica de predição de ratings. Por exemplo, ao normalizar os valores de ratings

preditos entre 1 e 5 ou entre os valores 0 e 5, esta normalização implicará em valores de

resultados diferentes quando utiliza-se de uma métrica de predição, assim como RMSE

e MAE, mas não implicará na ordem da lista dos itens recomendados. Sendo assim, é

interessante utilizar métricas de predição e métricas de precisão, assim como apresentado

nesta dissertação.

Outro fator importante observado é que ao utilizar a métrica de taxa de erro (apre-

sentada na última coluna da Tabela 7.8), o algoritmo randômico apresentou um valor

próximo de 50%. Este valor ocorre pelo fato desta métrica comparar em qual posição,

sendo 3 itens considerados relevantes e 3 itens considerados irrelevantes, os itens rele-

vantes e irrelevantes se encontram. Sendo assim, a chance de um item relevante estar

no top-3 da lista é de 50%. Para a métrica taxa de erro o melhor resultado obtido

foi para o algoritmo 6.BIBE, e entre os algoritmos propostos o 28.TDIDF apresentou

melhor resultado. O algoritmo 28.TFIDF ter apresentado melhor resultado, utilizando

dados públicos, indica que para este tipo de métrica é interessante a utilização de um

algoritmo que considere menos os itens mais populares. Visto que para esta métrica é

realizada a comparação entre os itens relevantes em relação a itens populares e que não

são relevantes para os usuários (ver Seção 2.5).

7.8 Avaliação dos resultados em comparação à base de

dados Yahoo WebScope R1

A �m de comparar outras bases de dados, privadas às organizações, em relação as

bases de dados públicas, nesta seção a base utilizada para os algoritmos de �ltragem

colaborativa é a Yahoo WebScope R1. Enquanto, a base de dados pública utilizada nesta

seção é a mesma utilizada anteriormente, que é o histórico de programação coletado das

rádios. Para os testes apresentados nesta seção, foram utilizados algoritmos do baseline

que apresentaram melhores resultados, que são os algoritmos representados pelos números

de 1 a 13. Entre os algoritmos propostos, foram testados somente os que utilizam a matriz

de similaridades entre itens, pois estes foram os que apresentaram melhores resultados

utilizando dados públicos.

Os resultados apresentados na Tabela 7.9 mostram o valor de precisão variando o

número de ratings para cada usuário de teste. As colunas de 1 a 20 apresentam o número

de ratings utilizado por cada usuário de teste. Para a execução dos testes desta seção

Page 102: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

7. Resultados Experimentais 80

foram utilizados todos os artistas comuns às duas bases que estão sendo comparadas,

totalizando 7.042 artistas possíveis de serem recomendados, incluindo os artistas que

possuem poucas execuções nas rádios.

Tabela 7.9: Resultado variando o número de ratings dos usuários de teste, utilizando abase de dados Yahoo WebScope R1 e histórico de programação das rádios.

Sigla do algoritmo 1 3 5 15 20

1.IBJ 0.0 33.4 32.3 33.1 33.95.BIBJ 50.3 62.3 65.7 66.7 67.86.BIBE 50.4 62.6 65.3 67.1 68.17.BUBJ 58.3 67.1 68.8 73.4 74.5

10.MF 50.4 48.1 45.9 43.3 42.511.MP 53.2 53.1 53.2 53.6 54.3

12.RAND 7.0 7.7 6.8 7.2 7.5

13.UCJ 45.4 51.9 55.2 68.3 71.4

29.COOC-R 56.0 65.2 66.3 67.4 67.330.COOC-IB 0.0 65.7 67.3 67.9 68.8

31.COOC-BIB 49.5 65.8 67.4 68.3 68.4

Ao analisar os resultados apresentados na Tabela 7.9, observa-se que o algoritmo

7.BUBJ apresentou os melhores resultados para todas as quantidades de ratings utiliza-

das pelos usuários de teste. Os resultados também mostram que determinados algoritmos

comportam de maneira diferente em bases e con�gurações distintas. Os algoritmos pro-

postos, que utilizam dados das rádios, apresentam valores aproximados em relação aos

melhores resultados obtidos do baseline, quando os usuários possuíam até 5 ratings. Entre

os algoritmos propostos, o 29.COOC-R apresentou melhor resultado quando o usuário

possuía somente 1 rating. Quando os usuários possuíam 3, 5 e 15 ratings, o algoritmo

31.COOC-BIB apresentou melhores resultados, e ao utilizar 20 ratings para treino, entre

os algoritmos propostos, o 30.COOC-IB apresentou melhor resultado.

7.9 Avaliação dos resultados utilizando a base de dados de

playlists coletados do YouTube e a base de dados

Last.fm 360K

A base de dados pública utilizada nesta seção são os playlists coletados do YouTube,

enquanto que a base de dados utilizada para os algoritmos de �ltragem colaborativa é

a Last.fm 360K. Para os testes apresentados nesta seção foram utilizados algoritmos do

Page 103: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

7. Resultados Experimentais 81

baseline que apresentaram melhores resultados. Entre os algoritmos propostos, assim

como na Seção 7.8, foram testados somente os que utilizam a matriz de similaridade

entre itens, pois estes foram os que apresentaram melhores resultados utilizando dados

públicos.

A Tabela 7.10 apresenta os resultados do valor de precisão variando o número de

ratings para os usuários de teste. Para estes testes foram utilizados todos os artistas co-

muns às duas bases que estão sendo comparadas nesta seção, totalizando 71.514 possíveis

artistas de serem recomendados.

Tabela 7.10: Variando o número de ratings dos usuários de teste, utilizando a base dedados Last.fm 360K e playlists coletado do YouTube.

Sigla do algoritmo 1 3 5 15 20

1.IBJ 0.0 53.9 57.6 60.5 58.55.BIBJ 43.8 54.1 57.5 60.2 58.6

6.BIBE 43.8 53.9 57.4 59.8 58.37.BUBJ 48.9 55.9 56.3 55.7 53.810.MF 21.4 20.72 17.5 13.8 13.311.MP 25.9 25.7 25.2 23.8 22.4

12.RAND 3.0 2.5 2.7 2.6 2.8

13.UCJ 38.8 39.0 38.4 37.6 38.2

29.COOC-R 50.6 53.9 53.6 50.9 48.030.COOC-IB 0.0 54.0 53.5 51.5 48.6

31.COOC-BIB 50.1 54.2 53.3 51.3 48.2

Ao analisar os resultados apresentados na Tabela 7.10, observa-se que os resultados

obtidos, tanto para os algoritmos de �ltragem colaborativa quanto para os algoritmos

propostos, são inferiores em relação aos testes quando foram utilizadas a base do histórico

coletado de rádios e a base de dados Last.fm 360K. Estes valores inferiores acontecem,

principalmente, por causa da quantidade de possíveis artistas a serem recomendados.

Utilizando as bases do YouTube e Last.fm, tem-se um número aproximadamente 7 vezes

maior de artistas possíveis de serem recomendados.

Ao analisar os resultados obtidos a �m de comparar as duas bases de teste, o algoritmo

proposto 29.COOC-R apresentou melhor resultado quando o usuário de teste possui

somente 1 rating para treino.

Um aspecto interessante observado é que para alguns algoritmos ao inserir mais ra-

tings do usuário de teste, por exemplo 20, foi apresentada uma queda no valor de precisão.

A princípio este comportamento parece ser estranho, pois signi�ca mais dados utilizados

do usuário de teste para treino. Porém, devido à métrica testada ser baseada em decisão,

Page 104: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

7. Resultados Experimentais 82

ou seja, número de itens relevantes que são retornados, ao inserir mais ratings do usuário

para treino, signi�ca que estamos diminuindo a lista de artistas relevantes. Sendo assim,

a lista de itens recomendados passa a ter uma probabilidade menor de conter itens re-

levantes, visto que a lista de artistas relevantes foi reduzida, o que pode ocasionar uma

queda no valor de precisão.

7.10 Discussão dos resultados

O objetivo dos testes realizados neste capítulo foi demonstrar a e�cácia do uso de

dados provenientes de fontes públicas em relação aos dados de uso privados aplicados na

�ltragem colaborativa. Para isto, foram utilizados diversos algoritmos de recomendação

em diversas con�gurações de experimentos. A �m de mensurar a e�cácia dos dados

públicos, foram utilizadas 5 métricas de avaliação, sendo elas: precisão, revocação, taxa

de erro, RMSE e MAE.

Ao analisar os resultados obtidos, foi possível perceber que os dados coletados a partir

de fontes públicas apresentam resultados satisfatórios. Em alguns casos, ao utilizar os

dados públicos foi apresentado resultado melhor em relação ao baseline utilizado (ver

Tabela 7.10). Ao observar os resultados, percebemos que quando tem-se um maior volume

de dados dos artistas em recomendação, os resultados passam a ser muito próximos dos

dados obtidos da �ltragem colaborativa. Sendo assim, estes dados podem ser utilizados

em sistemas de recomendação que não possuem dados de uso, ou quando possuem dados

de uso escassos.

Ao analisar os resultados, foi possível perceber ainda que os algoritmos propostos

apresentaram valores melhores em relação a uma grande parte dos algoritmos de �ltra-

gem colaborativa, incluindo métodos que utilizam similaridade entre itens (item-based),

que são os algoritmos que apresentaram melhores resultados em geral. Estes resultados

podem ser observados nas tabelas 7.5, 7.9 e 7.10, quando os usuários de teste possuem

pequenas quantidades de ratings.

Os algoritmos de clustering (13.UCJ e 14.UCE ) desenvolvidos e testados neste traba-

lho apresentaram valores melhores em relação aos outros algoritmos, quando os usuários

de teste possuem somente 1 rating inserido para treino. Desta forma, estes algoritmos

são bons para serem utilizados quando os usuários acabaram de cadastrar no sistema, ou

ainda possui poucos ratings. Este resultado foi observado na Tabela 7.5.

Page 105: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Capítulo 8

Conclusões e trabalhos futuros

Neste capítulo, são apresentadas as conclusões, baseadas nos tipos de bases de dados

utilizadas e nos algoritmos de recomendação desenvolvidos. Em seguida, são apresentados

os trabalhos futuros, onde são propostas melhorias sobre a metodologia de avaliação e

sobre os algoritmos apresentados nesta dissertação.

8.1 Conclusões

Neste trabalho, foram desenvolvidos algoritmos de recomendação para aplicação so-

bre dados públicos, que são playlists coletados do YouTube e histórico de programação

coletados de rádios que transmitem pela Web. A hipótese levantada inicialmente neste

trabalho é que o uso de dados públicos é e�caz para uma série de aplicações em recomen-

dação, em especial para o contexto de recomendação de artistas e músicas, principalmente

quando há escassez de dados de uso para o emprego de abordagens de �ltragem colabora-

tiva. Portanto, neste trabalho, foram propostos diversos algoritmos e realizados estudos

comparativos entre os algoritmos de abordagem de �ltragem colaborativa e os algoritmos

desenvolvidos, que utilizam de dados públicos.

Os algoritmos desenvolvidos foram divididos em quatro classes. Na primeira classe,

é proposta uma modelagem de rádios como usuários, para que desta forma seja possível

aplicar os algoritmos de �ltragem colaborativa. A segunda classe contém dois algoritmos

baseados na ideia do tf-idf, com o objetivo de explorar o número de ocorrências das

músicas dos artistas nas rádios. Os algoritmos da terceira e quarta classe, em geral,

calculam as recomendações extraindo informações de uma matriz de similaridade entre

itens; matriz esta que é construída explorando o conceito de coocorrências em rádios ou

playlists. Além da informação de coocorrências, o algoritmo utiliza a informação temporal

83

Page 106: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

8. Conclusões e trabalhos futuros 84

de execução de cada música, considerando mais similares as músicas que tocam em um

menor intervalo de tempo. Desta forma, é explorada de forma simples e efetiva as relações

entre itens, de�nidas através da inteligência coletiva de DJs e outros conhecedores da área

de música.

Como resultado desse processo de descoberta de conhecimento, mostra que o uso de

dados públicos pode ser tão e�caz quanto o uso de dados de uso, que são privados às

organizações comerciais, para o problema de recomendação de músicas e artistas. Ainda,

mostra que os dados públicos são mais e�cazes quando se tem dados de maior qualidade,

ou seja, quando se possui mais músicas coletadas das rádios. Assim sendo, estes dados

demonstraram ser importantes em sistemas de recomendação musical, em especial, para

sistemas que ainda não possuem uma quantidade su�ciente de dados de uso.

Ao realizar as comparações entre os algoritmos, conclui que os nossos algoritmos

apresentam resultados tão satisfatórios quanto os melhores algoritmos de �ltragem cola-

borativa, quando os dados públicos tem mais qualidade.

Conclui também que algoritmos tradicionais de �ltragem colaborativa que utilizam

matriz de similaridade entre itens (item-based), apesar de, em geral, apresentarem os

melhores resultados, não funcionam bem quando os usuários de teste possuem poucos

itens avaliados no sistema, ou seja, menos de 3 ratings. Em alguns casos, onde os usuários

testados possuem poucos ratings, os algoritmos que utilizam similaridades extraídas de

fontes públicas demonstraram ser mais e�cazes em relação aos algoritmos tradicionais

da �ltragem colaborativa, que utilizam dados de uso para determinar similaridade entre

artistas.

8.2 Trabalhos futuros

Nesta seção, são apresentadas as propostas de trabalhos futuros, tanto visando me-

lhorar os algoritmos desenvolvidos durante o trabalho, quanto visando melhorar a forma

de avaliação de algoritmos que usam de bases distintas.

Os algoritmos desenvolvidos neste trabalho utilizam de informações de coocorrências

das músicas em um playlist ou em uma rádio e, além desta informação, utilizam também

de informação temporal. Assim sendo, um trabalho futuro identi�cado é a utilização de

outras características públicas das músicas e dos artistas, tais como gênero, localidade e

período de atividade do artista ou da banda.

Os algoritmos de recomendação, em geral, apresentam comportamentos diferentes em

relação às bases de dados utilizadas e, ainda em relação aos per�s de usuários, quando

varia-se o número de ratings de treino de um usuário. Assim sendo, outro trabalho

Page 107: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

8. Conclusões e trabalhos futuros 85

futuro proposto é a implementação de um algoritmo híbrido, onde possa ser aplicado o

melhor algoritmo em cada caso estudado, de acordo com os resultados apresentados no

Capítulo 7.

Outra vertente de trabalho futuro identi�cado é a extensão dos algoritmos para reco-

mendação de listas de músicas, em vez de serem recomendadas somente listas de artistas.

Uma maneira simples de realizar esta extensão é recomendar as músicas mais populares

dos artistas que estão no topo de uma lista recomendada. De fato, o foco deste trabalho

voltado para artistas representa apenas uma forma de generalização. Sugere-se que apli-

cações reais estendam a abordagem apresentada nesta dissertação para recomendação de

música. Espera-se que um resultado similar ao encontrado para a avaliação por artista

seja observado para avaliações por música.

Ao realizar este trabalho, percebeu que há na literatura diversos trabalhos de predição

de tags para artistas e músicas, sendo que em alguns trabalhos são utilizadas caracte-

rísticas do áudio, dados de uso, tagueamento por especialistas em música ou usuários

do próprio sistema, onde podem ser utilizados jogos sociais para estimular a inserção

de tags realizada pelos usuários. Sendo assim, identi�cou-se a possibilidade de estender

este trabalho para predição de tags para novos artistas e músicas, utilizando o conceito

de similaridade entre os artistas e músicas providas por rádios. Desta forma, podem ser

utilizadas heurísticas para associar tags conhecidas de uma música a uma nova música

que tenha tocado em uma rádio recentemente.

Em sistemas de recomendação, principalmente musical, o conceito de similaridade

para um usuário pode não ser o mesmo adotado por outro. Por exemplo, um usuário

pode determinar a similaridade entre músicas analisando o áudio, enquanto outro pode

determinar a similaridade considerando simplesmente o fato de ser uma música do mesmo

artista, mesmo que estas possuam a sonoridade completamente diferente. Desta forma,

como trabalho futuro, identi�camos a necessidade da criação de uma nova coleção de

referência musical, onde estejam determinados os critérios de similaridade musical que

estão sendo utilizados.

Os experimentos apresentados neste trabalho foram focados na acurácia, onde não foi

avaliada a raridade e diversidade das listas de artistas recomendados. Sendo assim, um

trabalho futuro a ser realizado é a avaliação da raridade e diversidade dos itens relevantes

recomendados para os usuários.

As bases de dados apresentadas neste trabalho possuem uma grande diferença no

intervalo de tempo em que foram construídas. Por exemplo, a base de dados Last.fm

360K foi coletada no ano de 2008, enquanto a base de dados do histórico de programação

das rádios foi coletada no período de 2012 a 2013. Desta forma, é inevitável que haja

Page 108: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

8. Conclusões e trabalhos futuros 86

uma diferença signi�cativa no número de ocorrências dos artistas de uma base em relação

a outra, mesmo que sejam considerados somente os artistas comuns às duas bases. Assim

sendo, um trabalho futuro a ser realizado é a utilização de uma base de dados de uso que

seja mais atual, a �m de comparar, de uma maneira mais justa, a qualidade dos dados

públicos em relação aos dados de uso utilizados na �ltragem colaborativa.

Page 109: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Referências Bibliográ�cas

[1] Gediminas Adomavicius and Alexander Tuzhilin. Toward the next generation of

recommender systems: A survey of the state-of-the-art and possible extensions.

IEEE Transactions on Knowledge and Data Engineering, 17(6):734�749, 2005.

[2] Gediminas Adomavicius and Alexander Tuzhilin. Context-aware recommender sys-

tems. In Recommender systems handbook, pages 217�253. Springer, 2011.

[3] Natalie Aizenberg, Yehuda Koren, and Oren Somekh. Build your own music recom-

mender by modeling internet radio streams. In Proceedings of the 21st international

conference on World Wide Web, pages 1�10. ACM, 2012.

[4] Amir Albadvi and Mohammad Shahbazi. A hybrid recommendation technique based

on product category attributes. Expert Systems with Applications, 36(9):11480�

11488, 2009.

[5] Chris Anderson. The long tail: Why the future of business is selling less of more.

Hachette Digital, Inc., 2006.

[6] Jean-Julien Aucouturier and Francois Pachet. Music similarity measures: What's

the use? In Proceedings of the 3rd International Conference on Music Information

Retrieval (ISMIR), pages 157�163, Paris, France, 2002.

[7] Claudio Baccigalupo and Enric Plaza. Mining music social networks for automating

social music services. In Workshop Notes of the ECML/PKDD 2007 Workshop on

Web Mining, pages 123�134, 2007.

[8] Ricardo A. Baeza-Yates and Berthier Ribeiro-Neto. Modern Information Retrieval.

Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1999.

[9] Marko Balabanovi¢ and Yoav Shoham. Fab: content-based, collaborative recom-

mendation. Communications of the ACM, 40(3):66�72, 1997.

87

Page 110: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Referências Bibliográficas 88

[10] Luke Barrington, Reid Oda, and Gert R.G. Lanckriet. Smarter than genius? human

evaluation of music recommender systems. In Proceedings of the 10th Internatio-

nal Conference of Music Information Retrieval (ISMIR'09), pages 357�362, Kobe,

Japan, 2009.

[11] Robert M Bell and Yehuda Koren. Scalable collaborative �ltering with jointly deri-

ved neighborhood interpolation weights. In Proceedings of the 7th IEEE Internatio-

nal Conference on Data Mining (ICDM'07), pages 43�52, Omaha, Nebraska, USA,

2007.

[12] Adam Berenzweig, Beth Logan, Daniel P.W. Ellis, and Brian Whitman. A large-

scale evaluation of acoustic and subjective music-similarity measures. Computer

Music Journal, 28(2):63�76, 2004.

[13] Jiajun Bu, Shulong Tan, Chun Chen, Can Wang, Hao Wu, Lijun Zhang, and Xiaofei

He. Music recommendation by uni�ed hypergraph: combining social media informa-

tion and music content. In Proceedings of the 18th ACM International Conference

on Multimedia (MM'10), pages 391�400, Philadelphia, Pennsylvania, 2010. ACM.

[14] Robin Burke. Hybrid recommender systems: Survey and experiments. User modeling

and user-adapted interaction, 12(4):331�370, 2002.

[15] Pedro Cano, Markus Koppenberger, and Nicolas Wack. Content-based music audio

recommendation. In Proceedings of the 13th annual ACM international conference

on Multimedia (MM'05), pages 211�212, Hilton, Singapore, 2005. ACM.

[16] Oscar Celma. Music recommendation and discovery: The long tail, long fail, and

long play in the digital music space. Springer, 2010.

[17] Oscar Celma, Miquel Ramírez, and Perfecto Herrera. Foa�ng the music: A music

recommendation system based on rss feeds and user preferences. In Proceedings of

the 6th International Conference on Music Information Retrieval (ISMIR'05), pages

464�467, London, UK, 2005. Citeseer.

[18] Mark Claypool, Anuja Gokhale, Tim Miranda, Pavel Murnikov, Dmitry Netes, and

Matthew Sartin. Combining content-based and collaborative �lters in an online

newspaper. In Proceedings of ACM SIGIR workshop on recommender systems (SI-

GIR'99), Berkeley, California, 1999. Citeseer.

[19] David Datta. Managing metadata. In Proceedings of the 3rd International Confe-

rence on Music Information Retrieval (ISMIR), pages 249�251, Paris, France, 2002.

Page 111: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Referências Bibliográficas 89

[20] Steven Davis and Paul Mermelstein. Comparison of parametric representations for

monosyllabic word recognition in continuously spoken sentences. IEEE Transactions

on Acoustics, Speech and Signal Processing, 28(4):357�366, 1980.

[21] Mukund Deshpande and George Karypis. Item-based top-n recommendation algo-

rithms. ACM Transactions on Information Systems (TOIS), 22(1):143�177, 2004.

[22] Justin Donaldson. A hybrid social-acoustic recommendation system for popu-

lar music. In Proceedings of the 2007 ACM conference on Recommender systems

(RECSYS'07), pages 187�190, New York, NY, USA, 2007. ACM.

[23] Gideon Dror, Noam Koenigstein, Yehuda Koren, and Markus Weimer. The yahoo!

music dataset and kdd-cup'11. Journal of Machine Learning Research W&CP, 18:3�

18, 2012.

[24] Johannes Forkman. Estimator and tests for common coe�cients of variation in

normal distributions. Communications in Statistics-Theory and Methods, 38(2):233�

251, 2009.

[25] Zeno Gantner, Lucas Drumond, Christoph Freudenthaler, and Lars Schmidt-

Thieme. Personalized ranking for non-uniformly sampled items. Journal of Machine

Learning Research W&CP, 18:231�247, 2012.

[26] John F Gantz and Christopher Chute. The diverse and exploding digital universe:

An updated forecast of worldwide information growth through 2011. In International

Data Corporation, White Paper. IDC, 2008.

[27] William T. Glaser, Timothy B. Westergren, Je�rey P. Stearns, and Jonathan M.

Kraft. Consumer item matching method and system, February 21 2006. US Patent

7,003,515.

[28] David Goldberg, David Nichols, Brian M. Oki, and Douglas Terry. Using colla-

borative �ltering to weave an information tapestry. Communications of the ACM,

35(12):61�70, 1992.

[29] Songjie Gong. A collaborative �ltering recommendation algorithm based on user

clustering and item clustering. Journal of Software, 5(7):745�752, 2010.

[30] Jonathan L. Herlocker, Joseph A. Konstan, Al Borchers, and John Riedl. An algo-

rithmic framework for performing collaborative �ltering. In Proceedings of the 22nd

Page 112: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Referências Bibliográficas 90

International ACM SIGIR Conference on Research and Development in Information

Retrieval (SIGIR'99), pages 230�237, New York, NY, USA, 1999. ACM.

[31] Thomas Hofmann. Latent semantic models for collaborative �ltering. ACM Tran-

sactions on Information Systems (TOIS), 22(1):89�115, 2004.

[32] Yifan Hu, Yehuda Koren, and Chris Volinsky. Collaborative �ltering for implicit

feedback datasets. In IEEE International Conference on Data Mining (ICDM'08),

pages 263�272, Washington, DC, USA, 2008. IEEE.

[33] Zan Huang, Hsinchun Chen, and Daniel Zeng. Applying associative retrieval techni-

ques to alleviate the sparsity problem in collaborative �ltering. ACM Transactions

on Information Systems (TOIS), 22(1):116�142, 2004.

[34] Nicholas Jones and Pearl Pu. User technology adoption issues in recommender sys-

tems. In Proceedings of Networking and Electronic Commerce Research Conference

(NAEC'07), pages 379�394, Riva del Garda, Italy, 2007. Citeseer.

[35] Alexandros Karatzoglou, Xavier Amatriain, Linas Baltrunas, and Nuria Oliver. Mul-

tiverse recommendation: n-dimensional tensor factorization for context-aware col-

laborative �ltering. In Proceedings of the 4th ACM conference on Recommender

systems (RECSYS'10), pages 79�86, New York, NY, USA, 2010.

[36] Joon Hee Kim, Brian Tomasik, and Douglas Turnbull. Using artist similarity to

propagate semantic information. In Proceedings of the 10th International Conference

on Music Information Retrieval (ISMIR'09), pages 375�380, Kobe, Japan, 2009.

[37] Noam Koenigstein, Gideon Dror, and Yehuda Koren. Yahoo! music recommen-

dations: modeling music ratings with temporal dynamics and item taxonomy. In

Proceedings of the �fth ACM conference on Recommender systems (RECSYS'11),

pages 165�172, Chicago, IL, USA, 2011. ACM.

[38] Joseph A. Konstan, Bradley N. Miller, David Maltz, Jonathan L. Herlocker, Lee R.

Gordon, and John Riedl. Grouplens: applying collaborative �ltering to usenet news.

Communications of the ACM, 40(3):77�87, 1997.

[39] Yehuda Koren. Factor in the neighbors: Scalable and accurate collaborative �ltering.

ACM Transactions on Knowledge Discovery from Data (TKDD), 4(1):1�24, 2010.

[40] Yehuda Koren, Robert Bell, and Chris Volinsky. Matrix factorization techniques for

recommender systems. IEEE Computer, 42(8):30�37, 2009.

Page 113: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Referências Bibliográficas 91

[41] Siwei Lai, Yang Liu, Huxiang Gu, Liheng Xu, Kang Liu, Shiming Xiang, Jun Zhao,

Rui Diao, Liang Xiang, Hang Li, et al. Hybrid recommendation models for binary

user preference prediction problem. Journal of Machine Learning Research W&CP,

18:137�151, 2012.

[42] Jae Sik Lee and Jin Chun Lee. Context awareness by case-based reasoning in a

music recommendation system. In Proceedings of the 4th International Symposium

on Ubiquitous Computing Systems, pages 45�58. Tokyo, Japan, 2007.

[43] Seok Kee Lee, Yoon Ho Cho, and Soung Hie Kim. Collaborative �ltering with

ordinal scale-based implicit ratings for mobile music recommendations. Information

Sciences, 180(11):2142�2155, 2010.

[44] Greg Linden, Brent Smith, and Jeremy York. Amazon. com recommendations:

Item-to-item collaborative �ltering. IEEE Internet Computing, 7(1):76�80, 2003.

[45] Beth Logan. Music recommendation from song sets. In Proceedings of the 5th

International Conference on Music Information Retrieval (ISMIR'04), pages 425�

528, Barcelona, Spain, 2004.

[46] Beth Logan and Ariel Salomon. Music similarity function based on signal analysis.

In Proceedings IEEE International Conference on Multimedia and Expo (ICME'01),

pages 745�748, Tokyo, Japan, 2001.

[47] Terence Magno and Carl Sable. A comparison of signal based music recommendation

to genre labels, collaborative �ltering, musicological analysis, human recommenda-

tion and random baseline. In Proceedings of the 9th International Conference of

Music Information Retrieval (ISMIR'08), pages 161�166, Philadelphia, USA, 2008.

[48] Marcus Eduardo Markiewicz and Carlos JP de Lucena. Object oriented framework

development. ACM Crossroads, 7(4):3�9, 2001.

[49] Felipe Martins Melo and Álvaro Pereira Jr. A component-based open-source fra-

mework for general-purpose recommender systems. In Proceedings of the 14th

international ACM Sigsoft symposium on Component based software engineering

(CBSE'11), pages 67�72, New York, NY, USA, 2011. ACM.

[50] Brian McFee, Luke Barrington, and Gert R.G. Lanckriet. Learning similarity from

collaborative �lters. In Proceedings of the 11th International Conference on Music

Information Retrieval (ISMIR'10), pages 345�350, Utrecht, Netherlands, 2010.

Page 114: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Referências Bibliográficas 92

[51] Brian McFee and Gert R.G. Lanckriet. Learning multi-modal similarity. The Journal

of Machine Learning Research, 12:491�523, 2011.

[52] Andriy Mnih. Taxonomy-informed latent factor models for implicit feedback. Jour-

nal of Machine Learning Research W&CP, 18:169�181, 2012.

[53] Sean Owen, Robin Anil, Ted Dunning, and Ellen Friedman. Mahout in action.

Manning Publications, 2011.

[54] François Pachet. Knowledge management and musical metadata. Encyclopedia of

Knowledge Management. Idea Group, page 12, 2005.

[55] Francois Pachet and Jean-Julien Aucouturier. Improving timbre similarity: How

high is the sky? Journal of negative results in speech and audio sciences, 1(1):1�13,

2004.

[56] Michael J. Pazzani. A framework for collaborative, content-based and demographic

�ltering. Arti�cial Intelligence Review, 13(5-6):393�408, 1999.

[57] Michael J. Pazzani and Daniel Billsus. Content-based recommendation systems. In

The adaptive web, pages 325�341. Springer, 2007.

[58] Álvaro R. Pereira Jr., Diego Dutra, Milton Stiilpen Jr., Alex Amorim Dutra, Fe-

lipe Martins Melo, Paulo H.C. Mendonça, Ângelo Magno de Jesus, and Kledilson

Ferreira. Radialize: a tool for social listening experience on the web based on ra-

dio station programs. In Proceedings of the 22nd international conference on World

Wide Web (WWW'13), pages 313�316, Rio de Janeiro, Brazil, 2013.

[59] Alexandrin Popescul, David M. Pennock, and Steve Lawrence. Probabilistic models

for uni�ed collaborative and content-based recommendation in sparse-data environ-

ments. In Proceedings of the 17th conference on Uncertainty in arti�cial intelligence,

pages 437�444, Seattle, WA, USA, 2001. Morgan Kaufmann Publishers Inc.

[60] Robert Ragno, Christopher J.C. Burges, and Cormac Herley. Inferring similarity

between music objects with application to playlist generation. In Proceedings of

the 7th ACM SIGMM international workshop on multimedia information retrieval

(MIR'05), pages 73�80, Hilton, Singapore, 2005. ACM.

[61] Gerard Salton and Michael J. McGill. Introduction to modern information retrieval.

McGraw-Hill New York, 1983.

Page 115: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Referências Bibliográficas 93

[62] Badrul Sarwar, George Karypis, Joseph Konstan, and John Riedl. Item-based colla-

borative �ltering recommendation algorithms. In Proceedings of the 10th internatio-

nal conference on World Wide Web (WWW'01), pages 285�295, Hong Kong, China,

2001. ACM.

[63] Badrul M. Sarwar, George Karypis, Joseph Konstan, and John Riedl. Recommender

systems for large-scale e-commerce: Scalable neighborhood formation using cluste-

ring. In Proceedings of the 5th international conference on computer and information

technology (ICCIT'02), 2002.

[64] Andrew I. Schein, Alexandrin Popescul, Lyle H. Ungar, and David M. Pennock.

Methods and metrics for cold-start recommendations. In Proceedings of the 25th

International ACM SIGIR Conference on Research and Development in Information

Retrieval (SIGIR'02), pages 253�260, Tampere, Finland, 2002. ACM.

[65] Bill N. Schilit and Marvin M. Theimer. Disseminating active map information to

mobile hosts. IEEE Network, 8(5):22�32, 1994.

[66] Upendra Shardanand and Pattie Maes. Social information �ltering: algorithms for

automating "word of mouth". In Proceedings of the SIGCHI conference on Human

factors in computing systems (CHI'95), pages 210�217, Denver, Colorado, USA,

1995. ACM Press.

[67] Malcolm Slaney, Kilian Weinberger, and William White. Learning a metric for music

similarity. In Proceedings of the 9th International Conference of Music Information

Retrieval (ISMIR'08), pages 313�318, Philadelphia, PA, USA, 2008.

[68] Huifeng Sun, Yong Peng, Junliang Chen, Chuanchang Liu, and Yuzhuo Sun. A new

similarity measure based on adjusted euclidean distance for memory-based collabo-

rative �ltering. Journal of Software, 6(6):993�1000, 2011.

[69] Aaron Swartz. Musicbrainz: A semantic web service. IEEE Intelligent Systems,

17(1):76�77, 2002.

[70] Gábor Takács, István Pilászy, Bottyán Németh, and Domonkos Tikk. Matrix facto-

rization and neighbor based algorithms for the net�ix prize problem. In Proceedings

of the 2nd ACM conference on Recommender systems (RECSYS'08), pages 267�274,

Lausanne, Switzerland, 2008. ACM.

Page 116: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Referências Bibliográficas 94

[71] Gábor Takács, István Pilászy, Bottyán Németh, and Domonkos Tikk. Scalable

collaborative �ltering approaches for large recommender systems. The Journal of

Machine Learning Research, 10:623�656, 2009.

[72] Marco Tiemann, Ste�en Pauws, and Fabio Vignoli. Ensemble learning for hybrid

music recommendation. In Proceedings of the 8th International Conference on Music

Information Retrieval (ISMIR'07), pages 179�180, Vienna, Austria, 2007.

[73] Andreas Töscher and Michael Jahrer. Collaborative �ltering ensemble for ranking.

Journal of Machine Learning Research W&CP, 18:61�74, 2012.

[74] Thomas Tran and Robin Cohen. Hybrid recommender systems for electronic com-

merce. In Proceedings Knowledge-Based Electronic Markets, Papers from the AAAI

Workshop, Technical Report WS-00-04, AAAI Press, Menlo Park, CA, USA, 2000.

[75] Douglas Turnbull, Luke Barrington, and Gert R.G. Lanckriet. Five approaches to

collecting tags for music. In Proceedings of the 9th International Conference on

Music Information Retrieval (ISMIR'08), pages 225�230, Philadelphia, PA, USA,

2008.

[76] George Tzanetakis and Perry Cook. Musical genre classi�cation of audio signals.

IEEE transactions on Speech and Audio Processing, 10(5):293�302, 2002.

[77] Jun Wang, Arjen De Vries, and Marcel J. T. Reinders. Unifying user-based and

item-based collaborative �ltering approaches by similarity fusion. In Proceedings

of the 29th International ACM SIGIR Conference on Research and Development in

Information Retrieval (SIGIR'06), pages 501�508, Seattle, Washington, USA, 2006.

ACM Press.

[78] Jianjun Xie, Scott Leishman, Liang Tian, David Lisuk, Seongjoon Koo, and

Matthias Blume. Feature engineering in user's music preference prediction. Journal

of Machine Learning Research W&CP, 18:183�197, 2012.

[79] Kazuyoshi Yoshii, Masataka Goto, Kazunori Komatani, Tetsuya Ogata, and Hi-

roshi G Okuno. Hybrid collaborative and content-based music recommendation

using probabilistic model with latent user preferences. In Proceedings of the 7th In-

ternational Conference on Music Information Retrieval (ISMIR'06), pages 296�301,

Victoria, Canada, 2006.

Page 117: EXPLORANDO DADOS PÚBLICOS DE PROGRAMAÇÃO DE RÁDIOS E … · 2019. 6. 10. · mação das rádios e de playlists públicos do ouTYube. Como estes dados são gerados por especialistas

Referências Bibliográficas 95

[80] Hang Zhang, Eric Riedl, Valery A Petrushin, Siddharth Pal, and Jacob Spoelstra.

Committee based prediction system for recommendation: Kdd cup 2011, track2.

Journal of Machine Learning Research W&CP, 18:215�229, 2012.

[81] Zhi-Dan Zhao and Ming-Sheng Shang. User-based collaborative-�ltering recommen-

dation algorithms on hadoop. In Proceedings of the 3rd International Conference on

Knowledge Discovery and Data Mining (WKDD'10), pages 478�481, Washington,

D.C., USA, 2010. IEEE.

[82] Yunhong Zhou, Dennis Wilkinson, Robert Schreiber, and Rong Pan. Large-scale pa-

rallel collaborative �ltering for the net�ix prize. In Proceedings of the 4th Internatio-

nal Conference on Algorithmic Aspects in Information and Management (AAIM'08),

pages 337�348. Springer, Berlin, Heidelberg, 2008.