oo ss s ss -...

131
±±±±±±±±±±±± ±± ±±±±± ¿¿¿¿¿¿ ¿¿ ¿¿¿¿¿¿¿¿¿¿ oo sssss 33 3 3333

Upload: lamthien

Post on 03-Nov-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

±±±±±±±±±±±±±±±±±±±±±

¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿

oo

ss s ss

3 3 3 3333

Page 2: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

±±±±±±±±±±±±±±±±±±±±±

±¿¿¿¿¿±¿±±¿¿¿¿¿±¿¿±¿¿¿¿

¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿

3 3 3 a a a aa

oo

ss s ss

3 3 3 a a a a aa

3 3 a 3 a3 3

ss s s s s s

3 3 3 3333

Page 3: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado
Page 4: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

i

Agradecimentos

Ao meu orientador, professor Orlando Belo, por se ter mostrado sempre disponível durante o decorrer

do desenvolvimento de toda a dissertação. Pela sua dedicação, compreensão, conhecimento e

profissionalismo.

A todos os meus amigos de curso, os que me ajudaram e estiveram ao meu lado durante toda a

licenciatura e posterior mestrado. Aos que me deram momentos alegres, de diversão, partilha e

amizade.

À minha família, que sempre me ajudou durante toda a minha vida académica, por sempre estarem

do meu lado, por serem o porto seguro durante os momentos mais agitados. De agradecer em

particular aos meus pais, pelo seu esforço, compreensão e apoio. Ao meu irmão, por me chatear nos

momentos em que me precisava de concentrar. E à minha prima Andreia, por me acompanhar

durante o desenvolver de toda esta dissertação.

Por último, à minha namorada e amigos, por todo o suporte dado e pela compreensão demonstrada

nos momentos de ausência.

Page 5: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

ii

Page 6: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

iii

Resumo

Sistema de Recomendações Baseado em Preferências

“Recommended for you”, a expressão que está a tornar-se progressivamente numa das mais

vistas no mundo das aplicações. Não é por acaso que, grande parte das aplicações Web (mas não só)

por onde navegamos diariamente queiram tentar adivinhar e mostrar-nos o que nos agrada e o que

acham recomendado para nós. De facto, esta apresentação de conteúdos orientados ao utilizador, às

preferências históricas demonstradas, tem o poder imenso de nos manter a navegar num site, de nos

fazer comprar mais produtos, de nos fazer voltar à aplicação. Esta “técnica” de recomendação de

conteúdos que tem como base o estudo do historial do utilizador, das suas decisões tomadas e das

suas demonstrações de preferências, assenta na extração de padrões que retratam o percurso

histórico do mesmo. Por sua vez, as decisões tomadas por este assentam num padrão preferencial

exibido pelo utilizador que vai de encontro às características intrínsecas à sua personalidade. Ora, com

este estudo facilmente se entende que se podem retirar dados que irão caracterizar de forma

inequívoca um utilizador, criando, desta forma, uma assinatura que o traduz, que o define e o torna

único em relação aos demais. É nesta tradução de um conjunto de preferências temporais numa

assinatura que define intemporalmente um utilizador, que assenta uma parte deste plano de trabalho.

É neste contexto que surge todo este estudo, efetuado durante o presente projeto e sobre o qual

incidirá esta dissertação. Será difícil encontrar melhores exemplos de conteúdos que caracterizem um

indivíduo do que a música que ele ouve. “Start and Play” será o conceito inerente a uma peça de

software que se pretende futuramente construir e que procurará recomendar o que o utilizador deve

ouvir, com base nas preferências demonstradas por este, assente no seu conjunto alargado de ações

passadas. Estas preferências definirão no seu conjunto a assinatura do utilizador, com a qual o

sistema irá tentar definir e prever quais os conteúdos musicais que irá recomendar.

Page 7: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

iv

Page 8: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

v

Abstract

Recommendations System Based on Preferences

"Recommended for you", the expression that is gradually becoming one of the most popular in the

world of applications. It is no coincidence that most of the web applications that we use daily want

to guess and show us what we like and what they think that is recommended for us. In fact, this

presentation of content oriented towards the user preferences, shown by the history, has the

immense power to keep us in a site, make us buy more products or to make us turn back to the

application. Is this content recommendation "technique", which is based on the user history study,

their decisions and preferences, it‟s based on the extraction of patterns that depict that same

history. Meanwhile, the decisions taken by this system are based on a preferred pattern displayed

by the user, which meets the intrinsic characteristics of his personality. For that being, with this

study we can easily understand that we can pull data that will characterize unequivocally a user,

creating, thereby, a signature that reflects, defines and makes him unique when compared to

others. It is in this transformation from a set of preferences to a temporal signature (that defines a

user timelessly) that is based a part of this work plan. It is in this context that arises the entire

study performed during this project and on which this document will focus. It will be difficult to

find better examples of content that can characterize an individual than the music he hears. “Start

and Play” is the concept inherent to a piece of software that aims to be built in the near future and

that will try to recommend what an user should listen to, based on their past actions. These

preferences will define the whole signature of the user, with which the system will attempt to

define and predict what music content should be recommended.

Page 9: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

vi

Índice

Capítulo 1 - Introdução .................................................................................................... 1

1.1 Os sistemas de recomendação no nosso quotidiano ..................................................... 1

1.2 Apresentação do caso de estudo................................................................................ 2

1.3 Motivação e objetivos ............................................................................................... 3

1.4 Estrutura da dissertação ........................................................................................... 4

Capítulo 2 - Obtenção de Conhecimento ......................................................................... 8

2.1 Apresentação do processo ........................................................................................ 9

2.2 Primeiros passos num processo de obtenção de conhecimento .................................... 11

2.2.1 Seleção e adição de informação ........................................................................ 11

2.2.2 O pré-processamento de dados ......................................................................... 12

2.2.3 Transformação de dados .................................................................................. 14

2.3 Representação dos dados ....................................................................................... 17

2.3.1 Modelação Dimensional .................................................................................... 17

2.3.2 Metadados ...................................................................................................... 19

2.3.3 Vantagens e desvantagens ............................................................................... 20

2.3.4 Modelação dimensional dos dados ..................................................................... 21

Page 10: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

vii

2.4 Métodos usados na procura de conhecimento ........................................................... 23

2.4.1 Métodos usados na procura de informação associativa ......................................... 24

2.4.2 Métodos utilizados na classificação, estimação ou regressão ................................. 24

2.4.3 Métodos utilizados na predição de informação .................................................... 29

2.4.4 Métodos utilizados no agrupamento de informação.............................................. 30

2.5 Avaliação e interpretação de resultados .................................................................... 32

Capítulo 3 - Sistemas de Recomendação Baseados em Preferências ............................ 34

3.1 Recomendação baseada em conteúdos .................................................................... 36

3.2 Sistemas de recomendação musical existentes .......................................................... 37

3.3 Papel das assinaturas nos sistemas de recomendação ................................................ 40

Capítulo 4 - Um Caso de Estudo ..................................................................................... 44

4.1 A Obtenção dos Dados ........................................................................................... 45

4.1.1 Processo de obtenção de dados reais ................................................................. 45

4.2 Pré-processamento de dados .................................................................................. 49

4.2.1 Inconsistências e falta de relacionamento de dados ............................................. 50

4.2.2 Dados escolhidos ............................................................................................. 52

4.2.3 Discretização dos dados ................................................................................... 54

4.3 Transformação dos dados ....................................................................................... 57

4.4 O Processo de Mineração dos dados......................................................................... 60

4.4.1 Metodologia envolvente.................................................................................... 60

4.4.2 Algoritmo de Previsão Apriori ............................................................................ 64

Page 11: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

viii

4.4.3 Algoritmo de Naive Bayes ................................................................................. 68

4.4.4 Árvores de Decisão .......................................................................................... 73

4.4.5 Redes Neuronais ............................................................................................. 78

4.4.6 Processo de recomendação ............................................................................... 83

4.4.7 Reflexão sobre a mineração dos dados............................................................... 84

Capítulo 5 - Avaliação de Resultados ............................................................................. 87

5.1 Resultados obtidos ................................................................................................. 87

5.2 Assinaturas ........................................................................................................... 88

5.2.1 Processo de Construção de Assinaturas .............................................................. 88

5.2.2 Representação Gráfica de Assinaturas ................................................................ 92

5.2.3 Variação de Assinaturas ................................................................................... 99

Capítulo 6 - Conclusão ................................................................................................. 102

6.1 Reflexão sobre o trabalho ..................................................................................... 102

6.2 Trabalho futuro ................................................................................................... 105

Bibliografia ................................................................................................................... 108

Page 12: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

ix

Page 13: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

x

Índice de Figuras

Figura 2.1 Top 10 das instituições com as maiores bases de dados do mundo. ............................ 9

Figura 2.2 O Processo de Descoberta de Conhecimento em Bases de Dados – imagem adaptada de

(Fayyad et al., 1996). ................................................................................................... 10

Figura 2.3 Fórmula de cálculo do valor normalizado (Rodrigues et al., n.d.). .............................. 14

Figura 2.4 Função de normalização segundo o método z-score. ............................................... 15

Figura 2.5 Função de normalização segundo o método de escalonamento decimal. .................... 15

Figura 2.6 Ciclo de Desenvolvimento de um DW. .................................................................... 22

Figura 2.7 O processo de classificação de dados (Han & Kamber, 2001). ................................... 26

Figura 2.8 Equação para cálculo de classes seguindo uma combinação linear dos atributos ......... 30

Figura 3.1 Fórmula de cálculo de classificação prevista para uma música em particular baseada em

modelos baseados em memória. .................................................................................... 38

Figura 3.2 Fórmula de cálculo de classificação prevista para uma música em particular baseada em

modelos baseados em modelos. ..................................................................................... 39

Figura 3.3 Processo de descoberta de assinaturas tendo como base uma framework preparada

para o efeito (Bose & Aalst, 2013). ................................................................................. 42

Figura 4.1 Representação gráfica do resultado da aplicação do algoritmo de filtragem. ............... 54

Page 14: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

xi

Figura 4.2 Representação da base de dados seguindo uma tipologia em estrela. ........................ 59

Figura 4.3 Metodologia usada para obtenção da música a recomendar...................................... 63

Figura 4.4 Dados respetivos ao utilizador selecionado para testes. ............................................ 64

Figura 4.5 Janela de output apresentada pelo WEKA quando aplicado o algoritmo de previsão

apriori para o atributo musical “tempo”. .......................................................................... 65

Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado o algoritmo de Naive Bayes

para o atributo musical “tempo”, utilizando-se um conjunto de dados de treino para o efeito.

.................................................................................................................................. 69

Figura 4.7 Janela de output apresentada pelo WEKA quando aplicado o algoritmo de Naive Bayes

para o atributo musical “tempo”, utilizando-se um conjunto de dados de teste para o efeito. 70

Figura 4.8 Janela de output apresentada pelo WEKA quando aplicado o algoritmo de Árvores de

Decisão para o atributo musical “tempo”, utilizando-se um conjunto de dados de treino para o

efeito. ......................................................................................................................... 74

Figura 4.9 Janela de output apresentada pelo WEKA quando aplicado o algoritmo de Árvores de

Decisão para o atributo musical “tempo”, utilizando-se um conjunto de dados de teste para o

efeito. ......................................................................................................................... 75

Figura 4.10 Janela de output apresentada pelo WEKA quando aplicado o algoritmo de Multilayer

Perceptron (Redes Neuronais) para o atributo musical “tempo”, utilizando-se um conjunto de

dados de treino para o efeito. ........................................................................................ 79

Figura 4.11 Janela de output apresentada pelo WEKA quando aplicado o algoritmo de Multilayer

Perceptron (Redes Neuronais) para o atributo musical “tempo”, utilizando-se um conjunto de

dados de teste para o efeito. ......................................................................................... 80

Figura 5.1 Exemplo de padrões, informalmente apresentados, que poderão ser obtidos pelos

métodos de extração de conhecimento. .......................................................................... 90

Figura 5.2 Padrões caracterizadores da assinatura musical de dois ouvintes. ............................. 94

Figura 5.3 Representação gráfica (simplificada) de uma assinatura. .......................................... 95

Page 15: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

xii

Figura 5.4 Representação gráfica da assinatura respetiva ao utilizador A. .................................. 97

Figura 5.5 Representação gráfica da assinatura respetiva ao utilizador B. .................................. 97

Page 16: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

xiii

Índice de Tabelas

Tabela 4.1 Lista de atributos caracterizadores selecionados para constituírem as propriedades base

das músicas do presente projeto. ................................................................................... 49

Tabela 4.2 Valores obtidos pela discretização supervisionada de dados contínuos....................... 56

Tabela 4.3 Informação estatística acerca do resultado obtido pelos modelos criados com uso do

algoritmo de Naive Bayes. ............................................................................................. 72

Tabela 4.4 Informação estatística acerca do resultado obtido pelos modelos criados com uso do

algoritmo de Árvores de Decisão. ................................................................................... 77

Tabela 4.5 Informação estatística acerca do resultado obtido pelos modelos criados com uso do

algoritmo de Multilayer Perceptron (Redes Neuronais). ..................................................... 82

Tabela 4.6 Informação estatística acerca do resultado obtido para todos os modelos criados a

partir de algoritmos classificativos. ................................................................................. 84

Tabela 5.1 Resultado da conversão dos conjuntos discretos relativos aos atributos musicais, para

dados numéricos. ......................................................................................................... 93

Page 17: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

xiv

Page 18: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

xv

Siglas e Acrónimos

API Application Programming Interface

BPM Beats Per Minute

CSV Comma-Separated Values

DM Data Mining

DW Data Warehouse

GHCN Global Historical Climatology Network

NCSA National Center for Supercomputing Applications

OLAP On-line Analytical Processing

OLTP Online Transaction Processing

SDW Sistema de Data Warehousing

SGBD Sistema de Gestão de Bases de Dados

SQL Structured Query Language

WEKA Waikato Environment for Knowledge Analysis

XML Extensible Markup Language

Page 19: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Introdução

1

Capítulo 1

1Introdução

1.1 Os sistemas de recomendação no nosso quotidiano

O objetivo específico que existia aquando a criação da Internet e, sucessivamente, das aplicações

Web (mas não só), tem vindo a ser alterado progressivamente. Esta alteração é paralela e

consequente à visão que tem começado a dominar este domínio: a visão de possibilidade de

negócio tendo como base este meio frequentado por milhões de pessoas. É neste contexto que

surgem funcionalidades como o “recomendado para si”. Este tipo de características objetivam, por

exemplo, manter um cliente de uma aplicação Web a utilizar a mesma durante mais tempo e mais

frequentemente, conseguindo assim um maior volume de clientes ativos e que,

consequentemente, permitirá que possamos negociar com empresas de publicidade valores mais

avultados para estes poderem anunciar na nossa aplicação. Numa perspetiva mais e-commerce

surge um outro exemplo que facilmente se traduz na expressão “recomendado para si”. Esta frase

poderá induzir os clientes a comprar mais produtos através da plataforma disponível e, portanto,

aumentará o volume de vendas da loja. Enfim, existe um infindável número de objetivos que

podem facilmente ser denunciados por estes sistemas de recomendações baseados no historial de

preferências de um utilizador. Neste contexto será importante fazer um paralelo entre os sistemas

de recomendação atuais e o que é pretendido para estudo e desenvolvimento do âmbito deste

projeto. Grande parte dos sistemas de recomendação atuais procuram extrair padrões do historial

de ações dos seus utilizadores para, deste modo, poderem obter os conteúdos que têm maior

Page 20: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Introdução

2

probabilidade de se enquadrarem com os gostos dos mesmos. Tomando o exemplo de e-

commerce, a extração de padrões pode ter como base a lista de produtos visualizados ou

comprados pelo cliente. Neste caso concreto, a recomendação incidirá na mostragem dos produtos

que terão maior probabilidade de agradar um cliente e, estes produtos sugeridos, poderão ser

obtidos tendo em conta as características dos produtos inicialmente delineados. Isto quer dizer

que, através dos últimos produtos visualizados (e, talvez, comprados), poderão extrair-se

características como a marca do produto, a cor, a categoria em que o mesmo está inserido, entre

outros. Será, portanto, através do conjunto destes atributos caracterizadores do objeto que se

poderá indicar os produtos com maior probabilidade de serem vistos como preferenciais para o

utilizador em questão. Este é um exemplo de como um sistema de recomendações simples poderá

eventualmente funcionar e que se assemelha notoriamente ao abordado no presente projeto.

1.2 Apresentação do caso de estudo

Com o desenvolvimento deste trabalho de dissertação pretende-se concretizar um conjunto de

objetivos bem definidos que se enquadram no desenvolvimento de um sistema de recomendações

baseado nas preferências de um utilizador. Um destes objetivos surge com a necessidade em se

definir e caracterizar a assinatura de um ouvinte que, por sua vez, permitirá suportar e definir o

perfil de um qualquer apreciador musical. Com efeito, é necessário que se captem as preferências

históricas inerentes a um utilizador, bem como as características das músicas que este costuma

ouvir e em que circunstâncias específicas é que as ouve.

Os atributos que podem ser recolhidos aquando a audição de uma determinada música e que, na

sua totalidade, definem o momento de audição musical, assentam num espectro muito alargado de

características. Tais dimensões caracterizadoras variam desde a simples hora do dia em que uma

certa música foi reproduzida até à própria frequência cardíaca apresentada pelo utilizador no

momento de audição musical.

Por conseguinte, o desenvolvimento do presente caso de estudo objetiva, também, um estudo de

como certas circunstâncias de momento podem influenciar as preferências de cada indivíduo e,

ainda, qual a sua preponderância relativa na tomada de decisões do mesmo. Por fim, e

apresentando-se como um dos grandes objetivos, surge a concepção e desenvolvimento de um

sistema de recomendações (para audição musical) que atue de acordo com a assinatura

caracterizante do ouvinte. O algoritmo que se pretende extrair não é mais do que a base de

Page 21: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Introdução

3

estudos de padrões provenientes das preferências musicais históricas exercidas e que, no seu

conjunto, permitirão que se faça uma previsão e recomendação de qual a música que o utilizador

preferirá ouvir em determinadas dimensões definidas. Neste contexto existe, portanto, um

distanciamento evidente em relação aos modelos de recomendação atualmente existentes, mais

concretamente em relação aos principais produtos de software da área. Por sua vez, estas

aplicações procuram fazer as suas recomendações assentes no tipo de música que o utilizador

frequentemente ouve e, além disso, baseiam-se ainda no historial de preferências de outros

ouvintes registados no sistema que possam apresentar níveis de similaridade altos quando

comparados com o utilizador em questão.

Toda a etapa que compreende o estudo e desenvolvimento do caso de estudo sumariamente

descrito será apresentada no quarto capítulo do presente documento e, lá, será feita uma

abordagem mais exaustiva das etapas que permitiram o solucionamento do problema, bem como o

estudo crítico dos resultados provenientes do mesmo.

1.3 Motivação e objetivos

Com o desenvolvimento deste projeto pretende-se concretizar um conjunto bem definido de

objetivos que se enquadram no estudo de um sistema de recomendações baseado nas

preferências de um utilizador. Um destes objetivos surge com a necessidade de se definir e

caracterizar a assinatura de um ouvinte que, no seu conjunto, permita suportar e definir o perfil

preferencial do ouvinte.

Com este objetivo delineado surge, agora, a necessidade de recolha de dados respetivos a um

conjunto alargado de preferências musicais historicamente apresentadas por um número razoável

de ouvintes. Além disso, torna-se ainda imperativa a obtenção de dados que, no seu conjunto,

possam definir os atributos respetivos às dimensões do problema e que caracterizam o meio

envolvente aquando a audição de cada peça musical. Esta premissa, que assenta na procura e

recolha de informação, assume-se como a primeira etapa constituidora do caso de estudo que se

encontra apresentado no quarto capítulo.

Depois de obtidos estes dados, que se assumirão como base de informação do projeto aqui

proposto, surge a necessidade de pesquisa de conceitos que integrarão todo o desenvolvimento

deste trabalho. Deste modo, tornou-se vital o estudo de formas de representação de conhecimento

Page 22: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Introdução

4

de forma multidimensional, o estudo de processos que permitam transformar e associar os dados

obtidos e, ainda, o estudo de técnicas que auxiliam na procura de conhecimento a partir de

padrões previamente encontrados. A tarefa sumariamente apresentada e que constituiu no seu

conjunto o estudo do processo de obtenção de conhecimento (KDD), assume-se como o objetivo

consecutivo à obtenção de dados.

Por fim, surge ainda um objetivo final que procura concretizar todo o estudo e experiência

efetuada: o desenvolvimento de uma peça de software que se defina como sendo um reprodutor

musical assente num sistema de recomendações baseados nas preferências exercidas por cada

utilizador da aplicação. Este objetivo final não constituiu na sua totalidade uma etapa definida

como requisito essencial no desenvolvimento do presente trabalho e, assim, apresenta-se de forma

evidente como um dos objetivos perspetivados para trabalho futuro. Contudo será ainda bom

referir que, tal peça de software, surge como sendo um dos grandes objetivos do projeto na sua

totalidade e que, esta, não será mais do que uma aplicação que permita a audição de músicas

que, através das preferências musicais históricas, procurará recomendar qual a música que o

utilizador preferirá ouvir numa certa circunstância envolvente. Desta forma, facilmente se

compreenderá que esta aplicação servirá como output do estudo discutido no presente trabalho e

procurará auxiliar, de forma posterior, à reflexão acerca dos resultados obtidos e apresentados no

quinto capítulo.

1.4 Estrutura da dissertação

O objetivo intrínseco ao presente estudo assenta na procura por conhecimento preditivo que, no

seu conjunto, permita que se façam recomendações musicais condicionadas pelo momento de

audição. Ora, tendo em conta a meta previamente traçada, existe um processo previamente

definido e estruturado que se assume como preponderante para o solucionamento deste objetivo.

Será acerca deste processo que se baseará o estudo presente no segundo capítulo desta

dissertação. No contexto deste tema será primeiramente efetuada uma apresentação sumária do

processo referido. Esta apresentação será enquadrada, de forma oportuna, com a explicação

inerente à necessidade de obtenção de conhecimento, a partir dos gigantes volumes de dados de

interesse existentes. Após esta, serão apresentados de forma sucinta os primeiros passos

constituidores do processo de obtenção de conhecimento, dos quais se pode destacar a seleção e

adição de informação e o pré-processamento e transformação de dados. Depois de feita a

Page 23: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Introdução

5

abordagem explicativa dos primeiros passos constituidores deste processo, surgem apresentadas,

de forma mais detalhada, as etapas respetivas à representação dos dados e à procura de padrões.

No contexto referente à primeira etapa enunciada serão abordados temos como os DW,

metadados e a modelação dimensional da informação. Durante a descrição da etapa referente à

procura de padrões, procurar-se-á apresentar alguns algoritmos de DM devidamente agrupados

pelo objetivo a que se propõe. Será no decorrer desta apresentação e explicação sucinta, que se

procurará fazer uma abordagem esclarecedora do método de funcionamento de cada um dos

algoritmos, sempre acompanhada das características e motivações que poderão estar na origem

do uso de cada um deles.

Será durante o terceiro capítulo que se apresentará uma definição respetiva ao conceito intrínseco

aos sistemas de recomendação baseados em preferências. De forma mais específica, será ainda

neste capítulo que será exposto um estudo mais aprofundado acerca dos sistemas de

recomendação assentes em conteúdos, pois serão estes os utilizados no âmbito do caso de estudo

apresentado no quarto capítulo. O estudo de sistemas previamente existentes e enquadrados no

domínio de investigação de um projeto constituiu uma etapa fundamental durante o

desenvolvimento de um qualquer trabalho. Deste modo surgiu a necessidade fundamental em se

fazer um estudo exaustivo dos sistemas de recomendação já existentes ou, mais concretamente,

dos sistemas de recomendação musical previamente construídos. É com base no estudo enunciado

que surgem apresentados, no decorrer do terceiro capítulo, dados de interesse relativos a

aplicações e investigações pré-existentes, referentes a sistemas de recomendação musical. Por fim

será ainda feita uma breve abordagem ao papel desempenhado pelas assinaturas nos sistemas de

recomendação. Esta abordagem procurará, no início, caracterizar e definir o que é uma assinatura

e, depois desta caracterização, apresentará, a título de exemplo, uma framework construída

durante o projeto intitulado de “Discovering Signature Patterns from Event Logs”.

Surgindo como um dos grandes focos deste projeto de investigação, foi desenvolvido um caso de

estudo que permitisse pôr em prática o conjunto de conceitos até então abordados. Este caso de

estudo encontra-se descrito no quarto capítulo e a sua apresentação será feita de forma paralela

ao conjunto de etapas descritas aquando da explicação do processo de obtenção de conhecimento.

De facto, durante este capítulo todas as fases constituidoras do processo referido serão

devidamente catalogadas e explicadas e, portanto, será apresentada informação respetiva à forma

de como foram obtidos os dados reais, serão apresentados os problemas advindos de tal obtenção,

Page 24: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Introdução

6

serão expostos os métodos aplicados com vista ao solucionamento destes constrangimentos

encontrados, será feita uma abordagem ao modo como foram transformados os dados e, por fim,

será feita uma descrição dos algoritmos de mining utilizados. A descrição referida contará ainda

com uma breve introdução e reflexão respetiva a cada metodologia utilizada.

A reflexão conclusiva acerca dos resultados obtidos pela aplicação do processo de procura de

conhecimento sobre o caso de estudo poderá ser observada no quinto capítulo. Além desta análise

final acerca do conhecimento adquirido, será ainda feita uma abordagem relativo ao estudo das

assinaturas caracterizadoras de cada ouvinte. Será neste ponto que será explicada a metodologia

empregue e os resultados esperados pela atribuição desta característica identificadora de cada

utilizador.

As conclusões relativas ao trabalho efetuado, bem como a reflexão sobre as mesmas, podem ser

visualizadas no sexto capítulo deste documento. Será aqui que se fará uma abordagem resumida

deste estudo e aplicação prática do mesmo no contexto do presente problema. No final do capítulo

constarão ainda, detalhadamente explicados, os objetivos intrínsecos a todo o projeto. Será

portanto no final deste documento que se apresentará uma descrição respetiva ao trabalho futuro,

bem como um enquadramento do presente trabalho relativamente a todo o projeto perspetivado.

Page 25: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Introdução

7

Page 26: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

8

Capítulo 2

2Obtenção de Conhecimento

“Estima-se que a quantidade de informação no mundo duplica-se a cada 20 meses. O tamanho e o

número de bases de dados provavelmente aumentam de forma ainda mais rápida.” (Frawley,

1992). O mundo atual está, de facto, a sofrer um crescimento exponencial na recolha e

computação de dados e, deste modo, existe muita informação armazenada que não passa de

segmentos de dados não estudados e a partir dos quais não é traduzido nenhum conhecimento de

interesse.

A título de exemplo, encontram-se apresentadas na figura 2.1 as dez instituições que se acredita

terem o maior conjunto de dados armazenados. A partir desta representação estatística pode-se

ter uma pequena percepção do enorme conjunto de valores que hoje em dia estão guardados e

dos problemas que este armazenamento poderá trazer para a privacidade das pessoas. Não será

por acaso que grandes entidades têm tomado medidas que visam regulamentar o armazenamento

de informações pessoais (mas não só), feita pelas aplicações informáticas que são frequentadas

pelo público em geral. Além disso, surgem ainda interesses, por vezes não muito claros, por parte

de algumas instituições, em obter conjuntos razoavelmente grandes de dados que foram

previamente recolhidos e que podem expor informação pessoal e preferencial relativa a indivíduos

frequentadores de aplicações informáticas. Contudo, apesar deste assunto se assumir como de

bastante interesse no momento atual e se estar a tornar cada vez mais mediático, não será

abordado de forma mais detalhada no presente capítulo que procurará focar-se apenas na

descrição e estudo das etapas presentes no processo de procura de conhecimento.

Page 27: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

9

Figura 2.1 Top 10 das instituições1 com as maiores bases de dados do mundo2.

Deste modo, e voltando à problemática relativa à crescente evolução do número de informações

guardadas, será consensual a leitura dos acontecimentos feita por Quoniam, “a capacidade de

armazenamento em bases de dados, assim como sua utilização, vem crescendo na mesma

proporção dos avanços em novas tecnologias de informação e comunicação- A atividade de extrair

informações relevantes, por conseguinte, está a tornar-se bastante complexa. Este processo (…) é

chamado de Knowledge Discovery in Databases - Descoberta de Conhecimento em Bases de

Dados (KDD)” (Quoniam, 2001). Este estudo e procura de conhecimento em bases de informação

previamente existentes será constituidor da reflexão a seguir abordada.

2.1 Apresentação do processo

O que deverá ser feito com tantos e tão grandes conjuntos de informação? Facilmente se

entenderá que grande parte deles nunca terão direito a serem observados por olhos humanos e,

deste modo, a partir deles, nunca se extrairá conhecimento crítico que possa ser interpretado

como válido ou útil. Daqui se entende que tem de existir uma outra forma de se extraírem padrões

que se possam traduzir em informação de relevo para um dado domínio. É respondendo a esta

necessidade que surgem os processos que buscam a obtenção de conhecimento e que serão

amplamente discutidos no presente capítulo.

1 Os logótipos apresentados representam, respetivamente, as instituições: “at&t”, “Youtube”, “LexisNexis”, Biblioteca do Congresso, “The World Data Center for Climate”, “CIA”, “Google”, “Sprint”, “Amazon” e “Nersc”. 2 Os dados expostos referem-se à data de 2012 e foram obtidos a partir de várias fontes diferentes que corroboram tal

informação. Estas fontes são: “http://realitypod.com/2012/03/10-largest-databases-of-the-world/”, “http://www.siliconindia.com/news/enterpriseit/Top-10-Largest-Databases-in-the-World-nid-118841-cid-7.html”, “http://jainishah.blogspot.pt/2012/06/top-10-largest-databases-in-world-1.html”.

Page 28: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

10

A comunidade de computação científica tem procurado responder, ao longo dos últimos anos, à

necessidade inerente ao estudo dos dados de forma automática e padronizada, desenvolvendo-se

cada vez mais metodologias e estruturas de armazenamento que procurem desempenhar esta

tarefa de forma eficiente, organizada e com resultados satisfatórios e verificáveis. Neste contexto

foi apresentado por Fayyad uma definição que procura caracterizar o processo de busca de

conhecimento de base de dados como sendo um “processo não trivial de identificação de padrões

em dados que sejam válidos, novos, potencialmente úteis e compreensíveis” (Fayyad, 1996).

Várias bibliografias apontam que a metodologia KDD se iniciou nos anos 70 e que esta surge em

constante desenvolvimento e estudo até aos dias de hoje. Este modelo de descoberta de

conhecimento caracteriza-se por ser automático, modelar e organizado em várias etapas iterativas

que, no seu conjunto, definem os passos que devem ser dados se se pretender encontrar padrões

que se possam traduzir em conhecimento útil.

O presente estudo referente à forma como se poderá obter conhecimento tendo como base um

conjunto de dados previamente formados, seguirá uma metodologia assente na definição descrita

por: o processo de descoberta de informações de interesse é definido como sendo iterativo e

interativo. Além disso, é apresentado como o resultado de nove etapas que são iterativas por si só,

isto é, que podem ser repetidas caso seja necessário iterar o passo anterior a estas (Maimon &

Rokach, 2010). Tais etapas são sumariamente apresentadas na figura 2.2.

Figura 2.2 O Processo de Descoberta de Conhecimento em Bases de Dados – imagem adaptada de

(Fayyad et al., 1996).

Page 29: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

11

Todo o processo começa com a necessidade primária de se compreender o domínio do problema e

de se estabelecerem metas que constituirão os objetivos do projeto a ser desenvolvido. Esta é uma

etapa de principal interesse pois será a base sobre a qual todo o processo se irá desenvolver e a

sua alteração poderá levar à alteração de todas as etapas posteriores. Por conseguinte existe um

conjunto de passos a ser dados que serão de seguida abordados.

2.2 Primeiros passos num processo de obtenção de

conhecimento

2.2.1 Seleção e adição de informação

De uma forma geral, uma base de dados armazena um alargado conjunto de dados, dos quais

apenas uma pequena porção tem interesse de ser estudada. Neste contexto, se se objetivar por

ter um modelo de obtenção de conhecimento eficiente, dever-se-á filtrar os dados que se revelem

importantes para o domínio do problema. Desta forma, o conjunto de informação sobre a qual os

algoritmos de procura de padrões ou associações se baseará será menor e, portanto, a sua

velocidade de execução será maior. Além disso, é também diminuída a probabilidade de se

encontrarem dados “ruidosos” ou inconsistentes que serão tratados na etapa subsequente à

seguinte, desta forma diminuir-se-á também o tempo de processamento respetivo a esta etapa.

Podem ainda existir situações onde, ao invés de se reduzirem os dados a serem estudados, se

tenha de adicionar novas informações que possam revelar-se necessárias para resolução do

problema proposto. Nestes casos, além da necessidade evidente em se obterem estes dados de

interesse, é ainda preciso estabelecerem-se relações que permitam integrar as novas informações

com as já existentes na base de dados

Este conjunto de processos constituiu uma etapa fundamental pois será a partir da informação

aqui definida que os algoritmos de procura de informação se irão basear. Uma má definição dos

dados que estarão disponíveis para a extração de conhecimento poderá conduzir a conclusões que

não traduzam informação útil ou, até, que traduzam informação ambígua e impossível de verificar.

Page 30: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

12

2.2.2 O pré-processamento de dados

Após ser feita a definição dos dados que constituirão a base de estudo para o processo

apresentado, surge a necessidade de se pré-processar a informação para que se possam colmatar

algumas falhas existentes na mesma. As falhas referidas podem ser dados incompletos, dados

“ruidosos” ou ainda dados inconsistentes. Os dados incompletos correspondem a conjuntos de

valores que contenham atributos em falta. Por sua vez, os dados classificados como “ruidosos”

correspondem a valores considerados de outliers, isto é, dados que, por exemplo, não

correspondam ao intervalo de valores possíveis para determinado atributo. Por último, os dados

inconsistentes ou contraditórios caracterizam-se por conterem discrepâncias entre si. Isto é, se

existem dois atributos que se referem, por exemplo, aos ganhos e prejuízos de uma dada empresa

e a eles correspondem valores de 30 e 10, respetivamente, caso haja um atributo que defina o

lucro como sendo de 50 este está inconsistente e deverá ser corrigido. Um outro tipo de problema

também englobado no grupo de dados inconsistentes depreende-se com a existência de registos

duplicados que, por si só, constituem uma das causas pela qual os dados devem ser previamente

transformados e limpos.

As razões que estão na causa da existência destes dados considerados ”sujos” podem ser muito

variadas e podem estar assentes em motivos como a indisponibilidade aquando da recolha de

informação, devido a falhas humanas, de software ou de hardware ou, ainda, tendo como origem

o facto de se obterem dados a partir de várias fontes diferentes sem que haja um principal cuidado

na integração e verificação de consistência dos mesmos.

Desta forma, torna-se obrigatório transformar os dados para que se consiga maximizar a qualidade

da informação disponível e, consequentemente, a qualidade dos resultados obtidos pela aplicação

de métodos de DM. Esta transformação engloba um conjunto de tarefas como a limpeza de dados,

a discretização de dados com escalas contínuas e a normalização de valor não adequados a serem

usados pelos processos de extração de conhecimento e ainda a redução da quantidade de

informação a ser explorada.

Por forma a se poderem manipular estes conteúdos existem alguns algoritmos já desenvolvidos

que auxiliam em algumas tarefas de pré-processamento da informação e que podem ser divididos

segundo o seu objetivo final. Contudo, existem umas outras tarefas cuja resolução pode não ser

tão óbvia ou imediata. Neste contexto, se se tiver em vista limpar os dados, ou seja, assegurar que

Page 31: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

13

os dados se encontram completos, verosímeis e devidamente integrados, poderá ter de se

proceder à correção manual dos registos que traduzam informação errónea ou inconsistente e,

ainda, atribuir valores padrão para os atributos que se encontrem sem informação. Esta correção

dos valores em falta pode ser feita pelo preenchimento de forma manual dos dados vazios através

de duas ações distintas: pode-se atribuir valores que correspondam à realidade e que foram

devidamente encontrados ou calculados; ou pode-se usar um valor constante que procure

substituir todos os valores em falta. Além disso, e de um ponto de vista tecnologicamente mais

atrativo, podem ainda ser usados métodos automáticos que permitam o preenchimento preditivo

dos dados vazios. Os métodos assinalados podem constituir algoritmos de regressão linear,

algoritmos assentes na regra de Bayes ou até árvores de decisão.

Com vista à transformação de dados ruidosos em dados limpos existem algumas abordagens que

podem ser seguidas e se destacam por, também elas, poderem ser manuais ou com recurso a

ferramentas computadorizadas. Algumas destas abordagens serão a seguir exploradas. Uma

primeira abordagem que pode ser seguida e se caracteriza por ser notoriamente manual é o

processo de exclusão de registos que contenham valores que não se enquadrem no intervalo de

valores esperado para determinado atributo. Uma outra abordagem poderá passar pelo uso de

algoritmos de clustering que detetem valores reconhecidos como sendo outliers, ou seja, valores

cujo desvio padrão em relação aos demais seja relativamente alto, e, posteriormente, procedem à

sua remoção. Por fim, tem-se ainda uma última abordagem de interesse que assenta na tentativa

de ajustamento dos dados considerados fora do âmbito de valores verosímeis. Este ajustamento é

feito tendo como base uma função de regressão que, pelo cálculo da linha que se esperaria obter

tenta presumir qual deverá ser o valor correto e que deverá substituir os atributos considerados

como outliers.

Por fim, e como já foi referido, os dados inconsistentes podem ter como causa a existência de uma

fusão prévia de grupos de valores pertencentes a fontes diferentes. Deste modo, para evitar a

existência de incoerência de valores, deve ser feita uma avaliação criteriosa das fontes

fornecedoras de conhecimento. Além disso, aquando da fusão de dados devem ser feitos testes de

coerência entre os valores recebidos e os formados.

Page 32: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

14

2.2.3 Transformação de dados

Seguindo a bibliografia acima referida, e reafirmando uma vez mais que será com base nesta que

se desenvolverá o processo de obtenção de conhecimento presente neste projeto, a fase

denominada de transformação de dados constituiu o processo de normalização de dados ou, ainda,

de conversão dos mesmos para escalas de valores que sejam requisitadas pelos algoritmos de

mining, a aplicar na etapa subsequente. Deste modo, na maioria das vezes é necessário proceder-

se à conversão de dados. Assim, existem alguns métodos que objetivam facilitar esta mesma

tarefa.

O propósito assente na procura pela normalização dos dados tem como motivo o facto de alguns

métodos (como por exemplo, as redes neuronais) precisarem de ter os valores dos atributos

compreendidos numa escala comum e transversal a todas as variáveis. Deste modo consegue-se

também minimizar os problemas que possam ter origem no uso de unidades distintas entre as

diversas variáveis que constituem os registos de informação. Para normalizar o conjunto de valores

a ser usado poder-se-ão utilizar algumas abordagens já exploradas e disponibilizadas, das quais

serão apresentadas abaixo as que se erguem com maior importância relativamente ao domínio

deste projeto, em particular as abordagens segundo a amplitude, a distribuição, a abordagem z-

score e, por fim, a decimal.

Ao normalizar os dados tendo em como base uma metodologia assente na amplitude, existe uma

fórmula que foi utilizada no contexto de um estudo assente na procura pela previsão de dados

relativos ao consumo energético no Rio de Janeiro e que se assume com principal relevo neste

domínio. Esta equação encontra-se apresentada na figura 2.3, na qual o e o

correspondem ,respetivamente, ao valor mínimo e máximo encontrado no intervalo de valores a

normalizar.

Figura 2.3 Fórmula de cálculo do valor normalizado (Rodrigues et al., n.d.).

Por sua vez, uma normalização distribucional surge com principal relevo em situações de remoção

de valores considerados como outsiders ou ainda na obtenção de simetria. Neste modelo respetivo

à transformação de dados, os valores iniciais atravessam uma função que dará como resultado

Page 33: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

15

final o valor normalizado. Esta função pode constituir um cálculo algoritmo ou ainda o cálculo do

inverso negativo do valor dado como input.

A conversão de valores através do método z-score procura normalizar os dados com recurso aos

conceitos de média e desvio padrão do conjunto de valores a transformar. Desta forma é usado

um cálculo que define o valor final já normalizado a partir da função exibida na figura 2.4.

Figura 2.4 Função de normalização segundo o método z-score.

Por último, o escalonamento decimal constituiu uma metodologia assente na passagem dos valores

numéricos a normalizar para valores sempre inferiores à unidade. Graças ao cálculo exposto na

figura 2.5, a normalização tem sempre como resultado um conjunto de valores compreendidos

entre 0 e 1.

Figura 2.5 Função de normalização segundo o método de escalonamento decimal.

Este conjunto de métodos sumariamente apresentados constituiu uma etapa importante na

transformação dos dados, contudo esta pode não ser suficiente e, em certas alturas, tem mesmo

de se proceder à realização de mais metodologias que permitam transformar valores em tipos de

dados aceites pelas algoritmos subsequentemente utilizados. Um dos casos descritos evidencia-se

quando são utilizados algoritmos de extração de conhecimento que só funcionem para dados

discretos e não para dados contínuos. Neste contexto surge um novo requisito inerente à natureza

dos métodos escolhidos que constituiu a obrigatoriedade de se proceder à discretização da

informação. No processo de conversão de valores contínuos em valores discretos existem 2

abordagens principais que podem ser seguidas, uma delas agrega métodos de discretização não

supervisionados, a outra caracteriza-se por agregar métodos de discretização supervisionados. É

acerca destes métodos que será feita de seguida uma abordagem descritiva dos mesmos.

Os algoritmos de discretização, que se definem como sendo não supervisionados, fazem a

transformação dos dados tendo apenas como base a característica que está a ser discretizada.

Page 34: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

16

Este tipo de solução deverá ser empregue quando não existe conhecimento acerca da classe de

saída e, deste modo, não existe nenhum atributo que sirva como “modelo” para a passagem de

dados contínuos para discretos. Neste caso poder-se-á definir apenas o número de conjuntos que

é objetivado para que a discretização se possa efetuar. Além disso, existem ainda abordagens que

passam pelo uso de duas estratégias distintas, nomeadamente a discretização tendo como base o

cobrimento de intervalos iguais ou o cobrimento de frequências iguais (Matsura, 2003). De

qualquer forma será importante realçar que existe uma definição transversal às duas estratégias

referidas e a todas as outras assentes numa metodologia não supervisionada, que as distingue dos

métodos seguidos em estratégias supervisionadas: todas estas tarefas de classificação têm como

premissa o facto do seu objetivo principal ser a determinação dos intervalos de valores

discretizados sem haver um conhecimento prévio das classes a que cada instância pertence.

Em contraposição, os métodos assentes numa metodologia supervisionada têm sempre

conhecimento das classes a que cada atributo pertence e fazem, desta forma, a divisão dos seus

dados tendo como referenciação a classe agrupadora de cada um deles. Com vista a cumprir este

objetivo existem alguns algoritmos que podem auxiliar nesta tarefa de discretização de dados de

forma supervisionada, de onde se evidencia um método que se diferencia dos demais por ter como

base o conceito de entropia. Com efeito, e tendo como referência o método anunciado, pode-se

proceder à divisão dos dados através da construção de uma árvore de decisão que incida a sua

pré-poda no atributo que se pretende discretizar. A partir deste ponto é feita uma discretização

progressiva que terá na base do seu critério de divisão o conceito de entropia. Por sua vez o

critério de paragem será definido e calculado tendo como filosofia o critério de comprimento de

descrição mínima (critério MDL).

Um outro método que surge com especial relevo na discretização de dados de forma

supervisionada é o método 1R. Como já sugerido, o método 1R tem como base a classe final a que

pertence cada variável e, apesar do seu funcionamento ser bastante simples e intuitivo, surge com

resultados bastante positivos, perto dos resultados observados aquando do uso de árvores de

decisão. O algoritmo seguido por esta metodologia caracteriza-se por, para cada valor, calcular de

forma iterativa o erro associado à atribuição desse a uma dada classe. Desta forma, o cálculo da

taxa de erro é primeiro feito após se inserir o valor em causa na classe que tem maior frequência

absoluta de atributos e, a partir desta, escolher-se-á a regra associativa que terá como resultado

uma taxa de erro menor. Ao longo deste processo repetitivo que trata cada atributo

Page 35: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

17

individualmente e de forma sequencial, são ajustadas as divisões que, no final, irão constituir as

regras que definirão a que intervalo de valores pertencerá cada valor contínuo.

Além dos métodos de discretização apresentados existem muitos outros mais ao menos complexos

que, no seu conjunto, constituem ferramentas de auxílio para a transformação de valores

contínuos em valores discretos.

Além de tudo será importante ainda realçar que existem alguns momentos (não tão frequentes)

nos quais é necessário executarem-se operações inversas às discutidas até então. De facto,

existem situações em que é necessário converterem-se dados discretos em valores numéricos que

procurem representar intervalos de valores contínuos. A causa para este fenómeno tem como base

justificativa a mesma que reside na necessidade em se discretizar dados, ou seja, a necessidade

requerida pelos algoritmos de extração de conhecimento em trabalhar apenas com uma

determinada tipologia de valores. Desta forma, existem também alguns métodos previamente

construídos que auxiliam na elaboração destas transformações de valores discretos em contínuos,

que surge como tarefa obrigatória quando são usados algoritmos de mining como os métodos

baseados em instâncias de vizinho mais próximo ou técnicas de previsão numérica que envolvam

regressão (Witten & Frank, 1999).

Como se pode constatar, o processo de transformação aglomera um conjunto de tarefas que se

têm de executar incisivamente por forma a preparar os dados que serão usados. O conjunto desta

informação devidamente transformada procurará constituir uma base bem formatada que será, de

seguida, usada pelos algoritmos que permitem a extração de conhecimento. Neste contexto surge

ainda a necessidade intrínseca à organização da informação para que esta possa ser acedida de

forma eficiente e rápida. É neste contexto que reside o cuidado de se representarem os dados sob

estruturas bem modeladas e devidamente construídas e será sobre este assunto que a próxima

secção se debruçará.

2.3 Representação dos dados

2.3.1 Modelação Dimensional

Inserida no âmbito da etapa de transformação de dados, a representação de informação sob

estruturas que permitam um acesso de leitura rápida e organizada constituiu uma tarefa

Page 36: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

18

fundamental incluída no processo de procura por obtenção de conhecimento. Neste contexto, e

tendo como base estes objetivos, existem algumas estruturas desenvolvidas que permitirão o

armazenamento orientado unicamente à pesquisa de informação. Destas estruturas será abordada

uma que se assume com especial relevância no domínio deste problema: os DW.

Como formalmente definido em (Jarke & al., 2000), os DW armazenam dados de interesse

selecionados para um grupo de clientes particular, com vista a que os acessos possam ser feitos de

forma mais rápida, barata e eficiente. Tendo em vista este objetivo primordial, facilmente se

entende que, deste modo, o DW tem de organizar a sua estrutura de forma orientada aos desejos

propostos por um cliente ou pelo domínio de uma determinada aplicação. De qualquer forma, o

que se pode concluir é que irão existir requisitos operacionais assentes no domínio do problema

que terão de ser satisfeitos de forma bastante eficiente e que, por si só, irão influenciar a forma de

como se orientará a estrutura do DW. Uma outra definição formal de DW que assenta numa

perspetiva mais operacional é a apresentada por W.H. Imnom que sugere que “O DW é um

conjunto de dados orientados ao assunto, integrados, variáveis com o tempo e não voláteis que

auxiliam no processo de tomada de decisões”. Além destas definições já apresentas (que são as

que o autor considera definirem de forma mais incisiva o conceito), e por este assunto não ter uma

definição simples e imediatamente compreensível, são apresentadas abaixo mais algumas

propostas que pretendem explicar de forma formal e alargada o que são os DW na prática

(Ferreira, 2002):

É uma base de dados analítica que é usada como base para os sistemas de Suporte à

decisão. É planeado para armazenar um grande volume de dados cujo acesso é apenas de

leitura, provendo acesso intuitivo (Poe et al., 1998).

É um conjunto de bases de dados integradas e baseadas em assuntos projetados para

suportar as funções dos sistemas de suporte à decisão, onde cada unidade de dados está

relacionada com um determinado momento (Inmon, 1992).

É um “processo” que aglomera dados de fontes heterogéneas, incluindo dados históricos e

dados externos para atender a necessidades de consultas estruturadas e ad-hoc, relatórios

analíticos e de suporte à decisão (Harjinder & Rao, 1996).

Page 37: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

19

É um “processo”, não um produto, que visa a construção e administração de dados

proveniente de várias fontes com o propósito de obter uma simples e detalhada visão de

parte de todo o negócio (Watson & Gray, 1997).

Neste sentido, com base nas definições apresentadas, retiramos de imediato algumas

características relativas ao DW, como o facto de esta analisar dados históricos, alterados com o

tempo, e não dados estáticos referentes a datas específicas, o facto de os seus dados não serem

susceptíveis de alterações e serem apenas de leitura, ou, ainda, o facto, já acima abordado, de se

objetivar organizar a informação tendo como premissa principal o assunto que se pretende

solucionar.

As características acima apresentadas descrevem de forma ampla as propriedades inerentes aos

conjuntos de dados presentes num DW e procuram, desta forma, ajudar a definir melhor o

conceito subjacente. Contudo existe uma outra característica que não se verifica explicitamente

exposta nestas definições e cujo relevo exige que se faça uma abordagem mais cuidada sobre a

mesma. Esta propriedade caracterizadora dos DW descrita é a existências de metadados que, tal

como o próprio conceito denuncia, constituiu dados respetivos e descritores dos dados

armazenados. Este tema será abordado de forma mais pormenorizada a seguir.

2.3.2 Metadados

Os metadados desempenham um papel bastante importante na compreensão e gestão dos DW.

Antes mesmo de um DW ser acedido é necessário que haja uma compreensão global dos dados

que este armazena, da fonte de onde estes provêm ou, ainda, do local onde estes dados se

encontram. É neste contexto que surgem os metadados que procuram expor dados de interesse

relativos aos registos representados nos sistemas de armazenamento. Desta forma, tal como

exposto em (Jarke & al., 2000) existe um conjunto informações que podem estar contidas nos

metadados, das quais:

Dicionário de dados, que contêm informações acerca das bases de dados que estão sendo

mantidas e acerca das relações entre os elementos de dados.

Fluxo de dados, constituídos pelas informações acerca de como estão a ser direcionados (e

com que frequência) os dados alimentados.

Page 38: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

20

Transformação dos dados, através da qual é dado conhecimento acerca das informações

que foram necessárias aquando da movimentação dos dados.

Controlo de versões, que permite que sejam reveladas as alterações efetuadas nos

metadados.

Estatísticas de uso dos dados, nas quais pode ser visualizado um conjunto de valores

estatísticos que revelam a frequência de execução de algumas operações sobre os dados.

Informações acerca dos “alias”, que permitem que se possam obter informações sobre

quais os “alias” existentes para determinados atributos.

Segurança, que constituiu a representação de quais são os utilizadores autorizados a

aceder à informação.

Estes conjuntos de metadados, agrupados pela sua tipologia, encontram-se armazenados num

repositório disponível para acessos de leitura ou escrita e, desta forma, permitem que se possam

atualizar os valores relativos aos mesmos. Contudo, o desenvolvimento do DW deve assegurar a

existência de um mecanismo que faça o povoamento e mantenha o repositório de metadados de

forma automática e que todos os atributos representados no DW tenham uma entrada respetiva à

descrição dos seus dados. Com acesso a esta informação devidamente preenchida, cada utilizador

que não tenha conhecimento sobre o domínio dos dados representados pode facilmente

compreender o âmbito dos registos apresentados, bem como a estrutura sobre a qual a

informação está definida. É neste aspeto que reside a importância vital em se definirem metadados

que procurem descrever e caracterizar corretamente o conjunto dos atributos armazenados.

2.3.3 Vantagens e desvantagens

Depois de apresentada, de forma exaustiva, a definição e as características de um DW, surge

agora a necessidade de se perceber quais são as principais vantajens apresentadas por esta

estrutura de armazenamento e, ainda, quais as desvantagens que poderão advir do seu uso. Desta

forma, podem-se destacar como principais vantagens o facto do uso deste sistema de

armazenamento permitir um aumento considerável no desempenho e na velocidade de resposta a

pedidos de informação sobre os dados guardados, a existência de disponibilidade de acesso à

informação mesmo quando as fontes da mesma não se encontram acessíveis, a facilidade que

Page 39: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

21

fornece para aplicação de metodologias estatísticas que permitam revelar relações até então

desconhecidas ou, ainda, a facilidade que concede aquando da preparação de relatórios

detalhados sobre a informação armazenada. Neste ponto convém realçar que, para haver um

maior desempenho e uma maior velocidade de resposta a pedidos de informação efetuados, existe

uma técnica a ser executada que assenta na desnormalização das tabelas que constituem os

esquemas de dados DW. Esta técnica permite que seja diminuído o número de “joins” a efetuar

quando existe um pedido de informação complexa e proveniente de mais do que uma tabela.

Portanto, esta metodologia constituiu uma abordagem simples que permite que se poupe bastante

tempo de processamento e que, consequentemente, aumenta a velocidade de execução de

pedidos de informação. Contudo, é também nesta propriedade caracterizadora de grande parte

dos DW que reside uma das grandes desvantagens do uso de um DW ou, mais concretamente, do

uso de estruturas de dados baseadas em tabelas desnormalizadas. De facto, ao abdicar-se do

processo de normalização de uma base de dados incorre-se na consequência imediata de se

aumentar o volume de dados armazenados e, desta forma, aumentar-se-ão também as tarefas e

custos de manutenção inerentes à mesma. Para que esta desvantagem não seja tão notória, no

seio da construção de um DW deve-se ter especial cuidado durante a etapa de pré-processamento

de dados, onde se deve dar especial importância à eliminação de dados redundantes ou, ainda, de

dados duplicados.

2.3.4 Modelação dimensional dos dados

Feita esta primeira abordagem explicativa do que é e como se caracteriza um DW, surge agora a

necessidade em se abordar de forma explicativa o processo de construção dos esquemas

dimensionais que irão constituir um DW. Nesta perspetiva pode-se apresentar a modelação

dimensional segundo a descrição feita em (Kimball & Ross, 2002) e que expõe esta modelação

como sendo uma das atividades mais relevantes que usualmente se desenvolve no âmbito de um

projeto de concepção e implementação de um sistema de DW. O papel desta atividade enquadra-

se na etapa “Modelação dimensional” que constituiu e desempenha um papel importante no ciclo

de desenvolvimento de um projeto de construção de um DW, como exposto pela figura 2.6

(Kimball, 1998).

Page 40: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

22

Figura 2.6 Ciclo de Desenvolvimento de um DW.

Esta necessidade em se visualizarem dados sobre múltiplas perspetivas dimensionais advém do

facto de existirem perguntas complexas não unidimensionais que precisam de ser respondidas. Um

exemplo concreto para este tipo de questões é a necessidade dos gestores de negócio procurarem,

por exemplo, saber quantos produtos de um dado grupo foram vendidos, numa determinada área,

durante um intervalo de tempo específico. Perguntas como esta surgem frequentemente no âmbito

de análises estatísticas, mas não só. Desta forma, a representação de informações assente em

várias dimensões tornou-se uma prioridade no processo de estruturação e organização de um

sistema de armazenamento de dados.

Uma visão multidimensional dos dados considera que a informação se encontra armazenada em

arrays multidimensionais ou em cubos. Um cubo consiste num grupo de dados, apresentados em

células, e que se encontram organizadas por dimensões de valores onde, a cada dimensão,

corresponde uma lista de membros (Jarke & al., 2000). Por sua vez, as dimensões caracterizam-se

por conterem atributos que são variáveis ao longo do tempo e que podem ter a si associadas

níveis hierárquicos de agregação de informação que, desta forma, permite a representação de

vários níveis de detalhe para cada um dos seus atributos. Desta forma pode-se sumariar uma

dimensão como sendo um conjunto de dados hierárquicos e variáveis ao longo do tempo, que

suportam uma perspetiva de análise a partir da qual se permite a exploração dos atributos

descritos nas tabelas de factos. As tabelas de factos são tabelas centrais que agregam medidas de

interesse a ser obtidas por métodos OLAP ou, ainda, por métodos de mining. O conjunto das

Page 41: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

23

tabelas de factos com as dimensões abordadas pode constituir vários esquemas de representação

dimensional de informação. Um destes é o “esquema em estrela”. Este esquema consiste numa

tabela central armazenadora de factos e em uma ou mais tabelas respetivas às dimensões da

informação representada. Existe ainda um outro esquema digno de interesse que é denominado de

“floco de neve”. Este último é construído a partir da normalização das tabelas representadas no

esquema em estrela e procura, assim, diminuir a quantidade de armazenamento desperdiçado

para evitar que se guardem informações redundantes ou repetidas. Desta forma pode-se afirmar

que os esquemas apresentados têm como objetivo definir e organizar as relações entre as tabelas

dos factos e as dimensões a partir de um esquema que procura representar informações

dimensionais.

2.4 Métodos usados na procura de conhecimento

Depois de ter sido feita a recolha dos dados a estudar, a pré-filtragem e pré-processamento dos

mesmos e a transformação e representação destes em sistemas de armazenamento de dados

especialmente estruturados para que se possam fazer interrogações complexas de forma eficiente,

surge agora a etapa que trará como resultado esperado um conjunto de padrões que se

expectativa poderem traduzir-se em conhecimento útil e verdadeiro. É portanto nesta etapa que se

aplicarão métodos que procurarão obter conhecimento a partir dos dados previamente preparados

e organizados. O conjunto de algoritmos que poderão ser seguidos constituiu um intervalo muito

alargado de escolhas e, para se proceder à seleção de qual método se deverá seguir, é preciso

fazer-se uma abordagem crítica dos objetivos a que o projeto se propõe e, ainda, dos recursos

tecnológicos que poderão ser empregues no desenvolvimento do mesmo. Desta forma será preciso

avaliar qual o tipo de conhecimento que se procura: preditivo, classificativo, associativo, descritivo

ou estimativo, qual a quantidade de dados sobre os quais o estudo se irá basear, qual o tempo que

se tem disponível para a obtenção de resultados e, ainda, quais os recursos computacionais que se

encontram acessíveis para se proceder aos cálculos de procura de conhecimento. É com base nisto

que precisamos agora de expor alguns algoritmos que poderão ser utilizados quando se objetiva a

procura de conhecimento em geral ou, mais concretamente, quando se objetiva a procura de

informações relativas ao tipo de informação acima enumerada.

Page 42: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

24

2.4.1 Métodos usados na procura de informação associativa

Um método amplamente usado quando se pretende obter conhecimento encontra-se assente na

procura de regras associativas que possam ser traduzidas em informação de interesse. Nesta

perspetiva, uma primeira etapa constituidora deste método reside na pesquisa das várias regras

associativas que possam ser encontradas no conjunto de dados a estudar. Ora, como será de

óbvia compreensão, a base de valores de onde se perspetiva extrair conhecimento poderá conter

um enorme número de relações associativas entre os seus conjuntos e, portanto, induzirá à

obtenção de várias relações que poderão não ter grande interesse por não se verificarem de forma

muito assídua. Desta forma torna-se necessário capitalizar o facto de apenas interessarem as

regras de associação que possam ser observadas de forma frequente e, deste modo, deve ser

estipulado um valor mínimo de frequência ou um valor mínimo de regras a serem obtidas. Deste

modo obter-se-á como output um conjunto de associações limitadas que, no seu conjunto,

traduzirão um maior relevo relativo ao valor de suporte. O valor de suporte abordado é um

atributo numérico respetivo ao número de registos que se se encaixam numa regra e, desta forma,

constituirá também um valor descritivo de confiança, ou seja, da percentagem de registos que

realmente verificam especificamente a regra descrita. Um exemplo destes métodos usados na

procura de informação associativa, é o método PredictiveApriori. Este método caracteriza-se por se

basear na premissa de que uma regra será escolhida e adicionada, se a precisão da previsão

esperada se encontra entra as „n‟ melhores. Além disso, a regra só será adicionada caso não seja

incorporada por uma regra que tenha, pelo menos, o mesmo nível de precisão preditiva esperada

(Scheffer, 2001).

2.4.2 Métodos utilizados na classificação, estimação ou regressão

Quando temos a tarefa de classificar um dado grupo de atributos tendo como base um conjunto de

valores previamente identificados e classificados, pode-se dizer que temos uma tarefa de

classificação ou de estimação. A diferença entre as duas reside no formato dos dados obtidos

como resultado da tarefa. Se a tarefa de classificação trouxer como resultado um grupo único e

discreto de valores estamos na presença de uma classificação. Por outro lado, se recebermos como

output dados contínuos de informação provenientes de uma classificação de dados numéricos,

assistimos a uma estimação.

Page 43: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

25

O propósito da utilização de métodos que permitem a classificação, ou estimação de conteúdos,

tem frequentemente a si adjacente o objetivo que prima pela previsão de valores. De facto, neste

contexto podem-se utilizar os métodos anunciados com vista a se se conseguir prever qual o valor

classificativo que determinado conjunto de valores terá a si associado desde que, para tal, exista

um conhecimento prévio de associações classificativas já existentes. É desta forma que se podem

utilizar regras classificativas devidamente extraídas dos dados de teste para que, assim, se possa

prever a classificação provável que os novos registos terão.

Posta a apresentação dos objetivos que poderão estar intrínsecos à utilização de métodos

classificativos, torna-se agora relevante perceber o método geral de funcionamento dos mesmos,

bem como descobrir qual o conjunto de algoritmos que poderão auxiliar no desempenho desta

função. O processo de classificação assenta em dois grandes passos: descoberta de regras de

classificação e classificação de novos dados através das regras obtidas. Neste contexto, e antes

ainda de ser feita uma abordagem explicativa dos passos apresentados, deverá clarificar-se que o

processo que permite a classificação de registos debruçar-se-á sobre três conjuntos de valores

referentes a:

1. dados de treino, que constituirão um conjunto de registos representativo dos valores sobre

os quais se pretende proceder à obtenção de regras classificação;

2. dados de teste, que servirão como base para que se possa verificar a qualidade dos

resultados obtidos pelo algoritmos;

3. novos dados, que representarão os dados sobre os quais se deverá proceder à

classificação.

Como exposto, será durante a procura por regras de classificação que serão utilizados dados que

representem conjuntos de valores de teste. Como tal, é imprescindível que os dados de teste

tenham a si associados as classes classificativas dos mesmos para que, desta forma, se possam

utilizar algoritmos de classificação que permitam atingir o objetivo assente na extração de

informação auxiliadora do processo de previsão classificativa. Este procedimento de procura de

regras classificativas pode ser sumariamente descrito como “aprendizagem” e constituiu, tal como

já referido, o primeiro passo do método que objetiva pela previsão de classificações. Feita a

descoberta destas regras existe a necessidade em se perceber se as mesmas representam o

modelo de forma verosímil e que, portanto, não falhará com dados desconhecidos ou até quando

Page 44: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

26

forem aplicados dados futuros ao mesmo. Como resposta a este requisito, indispensável a um bom

modelo classificativo, deverão ser utilizados estes dados de teste que, desta forma, procurarão

estimar a precisão das regras encontradas. Feito o reconhecimento de qualidade do modelo

resultante poder-se-á, finalmente, proceder à tentativa de previsão dos valores respetivos às

classes caracterizadoras dos registos. Os dois últimos procedimentos apresentados (obtenção de

qualidade do modelo e previsão classificativa) constituem no seu conjunto o segundo passo

respetivo à classificação ou estimação de dados. Tais passos encontram-se sumariamente descritos

na figura 2.7, na qual é apresentado um exemplo prático representativo do processo acima

explicado.

Figura 2.7 O processo de classificação de dados (Han & Kamber, 2001).

Page 45: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

27

A seguir serão apresentadas, de forma resumida, algumas metodologias que permitem classificar

informação a partir de dados previamente agrupados e classificados.

As árvores de decisão constituem uma das ferramentas mais poderosas no processo de busca de

conhecimento assente em padrões de informação. Esta simples representação, usada de forma

comparativa às árvores que estamos acostumados a visualizar diariamente, propõe um algoritmo

que, para cada conjunto de resultados possíveis provenientes de um dado teste efetuado a um

nodo, cria ramos que procuram representar as várias soluções disponíveis. Este processo vai-se

repetindo desde a raiz até as folhas onde, aí, se encontra representada a classe final a que o

conjunto de elementos raiz pertence. A principal abordagem deste método assenta, portanto, na

definição inerente à expressão “divide-and-conquer”. Uma definição mais formal é feita em (Berson

& Smith, 1997) onde uma árvore de decisão é descrita como um modelo preditivo que, como o

próprio nome refere, pode ser vista como uma árvore. Especificamente, cada ramo da árvore é

uma questão classificativa e as folhas da árvore são partições de conjuntos de dados respetivos à

sua classificação inerente. Algumas características vantajosas que podem ser encontradas no uso

das árvores de decisão são:

nunca há perda de informação, apesar da divisão feita em cada ramo;

o modelo é de muito fácil compreensão;

podem ser adicionados mais cenários;

suporta tanto dados numéricos como dados não numéricos;

a sua performance é boa mesmo com o uso de grandes conjuntos de dados.

Além do apresentado, existe um algoritmo baseado no teorema de Bayes que procura obter um

modelo classificativo assente na probabilidade de ocorrência de determinados eventos (Zhang,

2004). Este método, que parte do princípio que não existem relações de dependência entre os

atributos, procura prever e calcular qual é a probabilidade de um dado acontecimento ocorrer caso

já se tenha verificado a ocorrência de um outro. É com base neste conceito probabilístico que o

algoritmo procura classificar os dados em grupos distintos sendo que, para tal, associa cada

atributo ao conjunto que se proporciona como classe mais provável para este. Este tipo de

predição constituiu uma classificação estática, isto é, uma classificação simples e não dinâmica que

se baseia apenas no cálculo das probabilidades. Por fim convém ainda referir que, embora este

Page 46: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

28

método Bayesiano funcione para diferentes tipos de dados, este obtém resultados com maior

sucesso caso as varáveis de entrada sejam discretas ao invés de contínuas.

Em contraposição aos já apresentados, existe uma técnica cujo nível de complexidade é bem

superior aos descritos. Este método denominado de Redes Neuronais deriva o seu nome dos

sistemas biológicos que, também eles, têm a função de detetar padrões, fazer predições e obter

conhecimento. Neste sentido é feito um paralelo comparativo entre estes dois sistemas tanto ao

nível do seu objetivo, como ao nível do seu funcionamento. Uma definição descritiva de uma rede

neuronal pode ser apresentada como (Cortez & Neves, 2000): um processador eminentemente

paralelo, composto por simples unidades de processamento, que possui uma propensão natural

para armazenar conhecimento empírico e tornar-lo acessível ao utilizador. Assemelha-se ao

comportamento do cérebro em dois aspetos:

o conhecimento é adquirido a partir de um ambiente, através de um processo de aprendizagem;

o conhecimento é armazenado nas conexões, também designadas por ligações ou sinapses, entre nodos.

Como se entende, as redes neuronais são constituídas por ligações e, a cada uma delas, está

associado um peso que será dinamicamente ajustado. Este ajustamento será feito durante todo o

processo de aprendizagem e terá como referência o primordial o objetivo assente na classificação

de forma correta e não ambígua dos registos estudados. O resultado final deste processamento

representará um conjunto de regras que, no seu conjunto, procurarão expor de forma simples o

conhecimento adquirido.

Existem algumas vantagens inerentes à utilização de redes neuronais artificiais que diferenciam

este método de todos os outros até agora expostos. Estas vantagens são:

facilidade em se poder inserir nova informação obtida sob a forma de processos automáticos;

capacidade de se poder encontrar conhecimento para o qual as redes não foram treinadas;

disponibilidade para poderem produzir respostas lineares ou não lineares;

grande tolerância a falhas que possam ocorrer no decorrer do processo, devido à sua natureza de funcionamento paralelo.

Page 47: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

29

Por todas estas vantagens, mas não só, as redes neuronais artificiais têm sido estudadas e

utilizadas de forma muita ampla por investigadores e criadores de aplicações que visem a obtenção

de conhecimento. Estes sistemas complexos têm contudo uma desvantagem que os torna

negativamente diferenciadores dos restantes para conseguirem atingir resultados de qualidade é

preciso gastar-se bastante tempo durante o processo de treino. De facto, neste modelo, o treino

constituiu uma necessidade fundamental para que se consiga depois operar os cálculos de

obtenção de informação de interesse.

Existe ainda outra metodologia que pode ser seguida e que resulta da conjugação com uma outra

já avançada no âmbito dos algoritmos que visam tarefas de procura de informação associativa,

tendo agora como papel principal a classificação de valores. Este algoritmo descrito assenta em

classificação por regras de associação e procura inferir a distribuição de registos por grupos

através de dados previamente agrupados. Esta metodologia é constituída por uma primeira fase

assente na análise de dados de treino que, assim, procura obter os itens encontrados de forma

mais frequente. Depois de feita esta primeira abordagem, os itens evidenciados são usados para,

como explicado acima, serem geradas regras que permitam recolher conhecimento de regras

associativas comuns. Este algoritmo tem a vantagem de usar um conceito de fácil entendimento e

que requer uma preparação de informação não tão cuidadosa, pois consegue construir resultados

a partir de diferentes estruturas de dados.

Este conjunto de métodos abordados constitui alguns exemplos de algoritmos a seguir quando se

tem como objetivo agrupar registos em classes disponibilizando, desta forma, informação histórica

de dados devidamente agrupados. A seguir será feita uma abordagem a alguns algoritmos que

poderão ser utilizados quando se tem como meta a predição de valores futuros.

2.4.3 Métodos utilizados na predição de informação

A predição é uma das tarefas mais nobres na busca por conhecimento. De facto vários são os

projetos que visam prever eventos futuros com base nos observados até então e que, assim,

fazem uso de alguns algoritmos que procuram auxiliar estas tarefas. Alguns destes algoritmos

assentam em métodos matemáticos que se baseiam em modelos lineares. Estes modelos

funcionam de forma mais natural para elementos que sejam numéricos e, desta forma, constituem

uma característica diferenciadora relativamente às árvores de decisão ou à indução por regras. Os

modelos lineares são os mais simples e representam a informação com recurso a uma função que

Page 48: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

30

descreve o comportamento normal dos dados observados até então. Este modelo é definido como

linear quando o relacionamento existente entre as varáveis e a resposta seguem um

comportamento linear, ou seja, representado pela equação . Contudo, de uma forma

mais ampla, a ideia passa por se expressar a classe como uma combinação linear dos atributos,

associando, para cada um deles, pesos que são calculados a partir dos dados de treino. A função

abaixo representada procura sumariar esta descrição e enquadra uma equação geral assente na

predição numérica (Witten & Frank, 1999):

Figura 2.8 Equação para cálculo de classes seguindo uma combinação linear dos atributos

Na equação apresentada, corresponde à classe, são os valores dos atributos e

constituem os pesos atribuídos.

Este modelo, como será de óbvio entendimento, poderá constituir algumas outras tarefas

discutidas no âmbito do mining de informação. Um destes casos abordados é o da classificação,

onde a regressão linear pode ser facilmente usada em domínios com atributos que sejam

numéricos. Contudo o principal foco desta metodologia continua a assentar na predição de dados

numéricos, tal como foi feito durante décadas no âmbito de aplicações estatísticas.

A grande desvantagem da regressão linear reside no facto desta apenas funcionar para dados que

apresentem dependência linear e, como se sabe, nem sempre é isso que acontece. Nestes casos a

linha estimada pode não representar de forma correta a informação e, desta forma, irá induzir a

resultados errados que podem confundir o processo. Para colmatar esta falha existem modelos de

regressão não linear que poderão seguidos e estes, agora sim, trabalham sobre atributos que

contenham relações que não seguem um comportamento linear.

2.4.4 Métodos utilizados no agrupamento de informação

As técnicas de agrupamento são aplicadas quando não existe nenhuma classe a se prever mas

existe a necessidade de dividir as instâncias em grupos naturais (Witten & Frank, 1999). Nesta

perspetiva, os resultados esperados quando se aplica um método que objetiva pelo agrupamento

de informação são grupos constituídos por vários registos. Em relação ao resultado esperado, os

Page 49: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

31

grupos constituídos podem ter identificações diferentes que variarão conforme o objetivo a que a

recolha de informação se propõe. De facto, poderão existir grupos de valores exclusivos onde,

cada um deles, é constituído por registos semelhantes entre si e estes apenas poderão ser

contidos por um único conjunto; ou grupos de valores sobrepostos que se caracterizam por cada

instância poder pertencer a um ou mais conjuntos estabelecidos.

Para cumprir o objetivo principal assente no agrupamento de informação existem vários métodos

diferentes que poderão ser seguidos e que podem ser representados por 5 categorias principais

(Castro, 2003), métodos baseados em particionamento, hierárquicos, baseados em densidade,

baseados em grade e baseados em modelos.

Os primeiros, ou seja, os métodos baseados em particionamento, têm como ideia principal

organizar os objetos de tal forma que, dado um determinado conjunto A e valores correspondentes

a B registos e C agrupamentos previamente estipulados, procurará estruturar os grupos de forma a

que C seja sempre menor ou igual que B. Para tal podem-se utilizar algoritmos como o K-Means ou

o K-Medoids. A desvantagem neste tipo de metodologia reside na necessidade de se ter de

estabelecer previamente o número de conjuntos que se pretende definir.

Por sua vez, os métodos hierárquicos podem-se subdividir em dois tipos principais: aglomerativo e

divisivo. Desta forma, o funcionamento subjacente a este método estabelece a construção de um

agrupamento a partir da aglomeração ou da divisão dos elementos pertencente ao conjunto de

dados. Neste contexto os algoritmos seguidos construem os grupos de valores de forma gradual,

gerando deste modo uma hierarquia de conjuntos que poderão ser facilmente representados

através de uma estrutura em árvore.

Os métodos baseados em densidade são usados para se conseguir obter distribuições de forma

mais ao menos aleatória e não simplesmente de modo esférico, do mesmo modo que os

hierárquicos ou os de particionamento. Este método assenta principalmente na formação de

conjuntos de dados que procurem agrupar a maior densidade de atributos possível e, estes,

distinguem-se dos demais a partir de fronteiras definidas por zonas onde exista baixa densidade de

registos. Esta forma de distribuição de informação é, segundo grande parte das bibliografias

estudadas, a que obtém melhores resultados.

Por sua vez existem ainda métodos que se baseiam em grades para conseguir dividir e caracterizar

o conjunto de informação. Estes métodos são caracterizados pelo facto do conjunto de dados ser

Page 50: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

32

particionado através de linhas interceptoras que dividem os conjuntos de informação em células.

Estas células contêm as suas fronteiras notoriamente definidas e, deste modo, definem um único

conjunto inequívoco para cada atributo, constituindo desta forma valores exclusivos.

Por fim, o último método abordado baseia-se na construção e uso de modelos para conseguir fazer

o agrupamento da informação. Ao longo deste processo são criados vários modelos que visam

corresponder a cada agrupamento identificado e, subsequentemente, esses mesmos modelos

serão utilizados como base para se conseguir fazer o agrupamento da informação. Neste contexto

estabelece-se como objetivo primordial a procura pelo melhor ajustamento possível entre o modelo

e o conjunto de dados definidos. Alguns dos métodos amplamente usados com recurso a

agrupamentos baseados em modelos são as abordagens assentes em redes neuronais e a

aprendizagem competitiva. Esta última envolve uma arquitetura hierárquica de várias unidades ou

neurónios que competem entre si.

Este conjunto de métodos, expostos de forma sintetizada, constituem exemplos sólidos de

metodologias que poderão ser seguidas quando se objetiva encontrar conhecimento a partir de um

conjunto de dados previamente disponibilizados. Após esta recolha de informação, geralmente

estruturada em padrões, é necessário fazer-se uma reflexão crítica sobre a qualidade e o nível de

veracidade caracterizador do conhecimento adquirido. É com base nesta premissa que é

apresentado na secção seguinte. Aí procurar-se-á detalhar de forma cuidada a importância em se

fazer uma avaliação precisa da informação recolhida a partir dos algoritmos de mining utilizados.

2.5 Avaliação e interpretação de resultados

Constituindo o passo final do processo de procura por conhecimento, a avaliação e interpretação

de resultados tem como base de estudo os padrões obtidos a partir dos métodos de DM utilizados.

Nesta etapa procura-se fazer uma reflexão crítica assente de forma preponderante nos objetivos

impostos no início deste processo. Esta análise crítica poderá, contudo, induzir a conclusões não

esperadas, que se traduzem em informações sem utilidade ou informações que não cumpram os

objetivos propostos. Nestes casos poderá existir a necessidade de se repetir qualquer um dos

passos prévios para, assim, se conseguir reformular os dados obtidos e encontrar informação que

se possa traduzir em conhecimento útil. Posto este processo, que incide sobre a reflexão acerca da

qualidade e utilidade da informação obtida, deve-se documentar todo o conhecimento que foi

encontrado para, assim, se poder fazer uso futuro do mesmo.

Page 51: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Obtenção de Conhecimento

33

Page 52: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Sistemas de Recomendação Baseados em Preferências

34

Capítulo 3

3Sistemas de Recomendação Baseados em

Preferências

Funcionalidades intituladas como “recomendado para si” têm-se observado de forma crescente nas

aplicações informáticas que diariamente utilizamos. Algumas outras aparecem de forma mais

discreta e limitam-se a apresentar conteúdos sociais que, por exemplo, nos possam interessar ou,

ainda, a direcionar conteúdos publicitários assentes nas nossas últimas pesquisas efetuadas. Seja

como for, todas elas têm uma base transversal e semelhante: utilizam informações passadas para

recomendar conteúdos que acreditam ser de interesse para o(s) utilizador(es). É neste contexto

que se traduzem os sistemas de recomendação baseados nas preferências históricas exercidas e, é

a partir destes, que uma organização procura aumentar as suas vendas, cativar e manter pessoas

nas suas aplicações ou, até, simplesmente ajudar usuários a encontrar ligações sociais ou

interpessoais que desconheciam.

Os sistemas de recomendação podem ser formalmente definidos como uma extensa classe das

aplicações Web (mas não só) que envolve a predição da resposta do utilizador a determinadas

opções (Rajaraman & Ulman, 2011). Na publicação referida são ainda apresentados dois grupos

que agrupam e classificam as diferentes tecnologias usadas no processo de recomendação, os

quais são:

Sistemas baseados em conteúdos, examinam as propriedades dos itens recomendados. No

caso concreto do problema, se por exemplo um utilizador ouvisse muitas vezes músicas do

Page 53: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Sistemas de Recomendação Baseados em Preferências

35

género “pop”, iria ser recomendada uma música que estivesse caracterizada na base de

dados com o género “pop”.

Sistemas de filtragem colaborativa, procuram recomendar itens tendo como base as

medidas de similaridade entre os usuários e/ou objetos. Os itens recomendados a um

utilizador são os preferidos por usuários semelhantes. Um bom exemplo para esta técnica

seria este: se porventura um conjunto alargado de utilizadores ouve frequentemente

músicas do género pop e passado algum tempo passam a ouvir músicas do género rock,

seria recomendado a um dado usuário que ouve frequentemente o estilo “pop”, músicas

cuja classificação se enquadrasse no género musical rock.

Existem, no entanto, alguns sistemas inovadores que vieram a ser desenvolvidos nos últimos

tempos e que colmatam algumas falhas existentes nos sistemas acima contemplados. Um destes

sistemas descreve-se como sendo um método híbrido e, deste modo, consiste na combinação dos

sistemas previamente apresentados. Contudo, a partir duma primeira abordagem comparativa

entre os dois primeiros conjuntos de métodos apresentados e tendo em conta os objetivos

delineados no capítulo próprio para o efeito, facilmente se percebe que no contexto do presente

problema o sistema baseado apenas em conteúdos traduz um método mais adequado, em

detrimento de um sistema de filtragem colaborativa ou, ainda, em detrimento de outro sistema

mais recentemente desenvolvido.

As principais razões para a escolha apontada devem-se ao facto de, no presente projeto, os

utilizadores serem considerados únicos e descritos por preferências musicais únicas que, no seu

conjunto, podem descrever padrões que autenticam a unicidade do ouvinte. Além disso, estes

padrões serão ainda traduzidos numa assinatura que procura identificar e caracterizar

inequivocamente cada perfil musical.

Pelas razões expostas surge agora necessário esclarecer mais amplamente os sistemas de

recomendação assentes numa metodologia baseada em conteúdos e será acerca deste tema que a

próxima secção se debruçará.

Page 54: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Sistemas de Recomendação Baseados em Preferências

36

3.1 Recomendação baseada em conteúdos

Como já foi abordado, um sistema de recomendações baseado no conteúdo estuda as

propriedades inerentes aos objetos do domínio do problema e o perfil de interesses do usuário

para, a partir deste, fazer o cálculo da informação que deverá ser recomendada. Existe uma ampla

gama de aplicações diferentes onde podem ser utilizados os sistemas de recomendação, contudo

todos eles assentam no conceito inerente à característica principal deste método: os dados de

interesse provêm das características intrínsecas aos objetos e dos perfis preferenciais apresentados

pelo utilizador alvo.

Em (Pazzani & Billsus, 2007) os métodos de recomendação baseados nos conteúdos são

resumidamente apresentados como sistemas que têm como semelhança o facto de

compartilharem um meio comum para descrever os itens que podem ser recomendados, um meio

para a criação de um perfil do utilizador que descreva os diferentes tipos de itens de que ele gosta

e, ainda, um meio que permita a comparação de itens com o perfil do usuário, por forma a

conseguir determinar o que recomendar. O perfil é geralmente criado e atualizado de forma

automática em resposta ao feedback obtido acerca de determinado item, por parte do utilizador.

No processo inerente à recomendação musical tendo apenas como base as características

descritoras de cada música, existe a necessidade de se determinar o grau de similaridade entre

estes para que se possa assim, fazer uma recomendação que vá de encontro aos gostos relativos

de cada utilizador. Desta forma, e tal como é exposto em (Song et al., 2012), existem três formas

típicas que permitem medir a o grau de similaridade de um atributo musical (mas não só):

Agrupador K-means com a distância “Earth-Mover‟s” - Calcula uma distância geral entre o

Modelo de Mistura Gaussiana através da combinação individual entre a distância dos

componentes gaussianos (Salomon & Logan, 2001).

Maximização de expectativas com o exemplo “Monte Carlo” - Esta medida faz uso de

vetores de amostra retirados diretamente do método dos momentos generalizado (GMM),

de duas músicas a serem comparadas. A amostra é realizada computacionalmente através

da geração de um número aleatório (Pachet & Aucouturier, 2004).

Média dos vetores de características através de distâncias euclideanas - Calcula estatísticas

de ordem baixa como a média e a variância sobre os segmentos (Chorida et al., 2008).

Page 55: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Sistemas de Recomendação Baseados em Preferências

37

Por fim surge importante relacionar e realçar a existência de um conjunto de métodos assentes em

processos de obtenção de conhecimento que procuram extrair informação tendo como filosofia

base o conceito de recomendação sumariamente descrito. Estes métodos são, entre outros,

métodos de classificação linear, métodos probabilísticos, métodos assentes no conceito “vizinho

mais próximo”, árvores de decisão ou ainda indução por regras. Tais algoritmos de procura de

padrões que possam definir conhecimento útil encontram-se abordados com maior detalhe no

capítulo 2.4.

3.2 Sistemas de recomendação musical existentes

Apesar do projeto apresentado pretender ter uma visão inovadora acerca das características sobre

as quais o sistema de recomendação se debruçará, a visão geral do problema já é partilhada por

algumas soluções disponíveis no mercado. Deste modo, é importante definir, de forma ampla, as

aplicações que também se propõem a fazer recomendações baseadas em preferências. É seguindo

esta linha de raciocínio que surge o presente estudo relativo ao estado da arte.

A pesquisa enunciada permitiu que se encontrassem sistemas de recomendação abrangentes de

um conjunto muito alargado de informação. Este conjunto torna-se num subconjunto mais bem

limitado quando procuramos por informações respetivas unicamente aos sistemas baseados em

conteúdos musicais. Neste contexto surge com vital importância o estudo de projetos que

partilhem o mesmo domínio de investigação do presente problema para, a partir deste, poder-se

fazer uma abordagem que não repita investigações já estudadas, mas sim que assente em

desenvolvimentos previamente efetuados e comprovadamente eficazes.

Seguindo esta filosofia, procedeu-se ao estudo do projeto conhecido como “Pandora” ou, mais

concretamente, “Music Genome Project” (Westergren, n.d.). O sistema de recomendações

desenvolvido para a aplicação “Pandora” tem como base principal os dados intrínsecos e

caracterizadores das músicas ouvidas por cada utilizador. Contudo estes não se guiam apenas por

algumas propriedades que possam ter relevo na diferenciação de cada música, mas sim por um

conjunto alargado de 400 propriedades que são usadas para caracterizar de forma inequívoca cada

música. É ainda graças a estas propriedades que é possível que sejam criadas relações de

proximidade entre uma faixa musical e todas as outras presentes na base de dados. A limitação

deste poderoso sistema advém do facto da recolha das propriedades a serem usadas no processo

Page 56: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Sistemas de Recomendação Baseados em Preferências

38

de recomendação ser feita de forma manual, por pessoas, o que leva a um grande consumo de

tempo na introdução de cada nova música na base de dados.

Em oposição ao “Music Genome Project”, onde todos os atributos caracterizadores de cada música

são manualmente definidos, foi desenvolvido um sistema abordado em (Cano et al., 2005) que

sugere uma nova metodologia para recolha de dados intrínsecos às peças musicais. Esta

metodologia baseia-se num algoritmo eficiente e que permite a extração automática de descrições

relacionadas com os instrumentos, o ritmo e a harmonia, através dos sinais de áudio emitidos.

Por sua vez, existe um sistema de recomendações discutido em (Yoshii & al., 2008) que se

caracteriza como sendo um modelo de sugestões musicais híbrido e eficiente baseado num modelo

gerador de probabilidades incrementalmente treináveis. Este projeto utiliza, numa primeira fase,

métodos baseados em memória e métodos baseados em modelos para que se consiga, assim,

fazer uma filtragem colaborativa. O primeiro, tal como é exposto no estudo apresentado, procura

predizer as classificações de certas faixas musicais antes mesmo de o utilizador as ter pontuado ou

ter opinado sobre as mesmas. Com vista a fazer estas previsões com sucesso é utilizado um

método baseado em memória que surge fundamentalmente assente em heurísticas onde, para um

dado utilizador u, em que constituiu a predição do ouvinte relativamente à música m, é

possível obter o valor do rating previsto pela função exposta na figura 3.1.

Figura 3.1 Fórmula de cálculo de classificação prevista para uma música em particular baseada em

modelos baseados em memória.

Um outro método, baseado em modelos objetiva, também ele, pela tentativa de predição de um

conjunto de pontuações obtidas através dos gostos pessoais de um dado utilizador. A diferença

neste caso é que estas são previstas através de um sistema probabilístico, tal como mostra a

fórmula utilizada e estudada em (Yoshii & al., 2008) (figura 3.2).

Page 57: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Sistemas de Recomendação Baseados em Preferências

39

Figura 3.2 Fórmula de cálculo de classificação prevista para uma música em particular baseada em

modelos baseados em modelos.

Yajie Hu, um académico apaixonado pela junção dos dois temas caracterizadores do presente

projeto - música e obtenção de conhecimento - publicou em (Hu & Oglhara, 2011) um sistema de

recomendações musicais que tem como pilar fundamental o comportamento apresentado pelo

ouvinte. A caraterística inovadora do trabalho desenvolvido por Yaije Hu reside no facto de se se

pretender introduzir ao utilizador músicas “frescas” que se enquadrem no padrão de audição

exibido e, deste modo, usa como recurso um conceito denominado de “Curva de Esquecimento”. O

comportamento apresentado pelo utilizador aquando da audição da música seguinte irá, por si só,

ajustar a estratégia de recomendações usada no cálculo da música a reproduzir em momentos

subsequentes. No processo de escolha de qual deverá ser a música seguinte a reproduzir existem

ainda cinco perspetivas diferentes, nomeadamente: o género musical, o ano da música, a sua

distinção e “frescura” e, ainda, padrões temporais. Para fazer a predição dos atributos da música

seguinte a reproduzir é usada uma análise de séries temporais, ao invés de se recomendar músicas

que tenham apenas em comum o facto de terem géneros similares ou cujo ano de lançamento

seja o mesmo. De forma similar ao trabalho exposto neste documento, também o método

desenvolvido por Yaije Hu procurar inferir o peso que esta música poderá ter no conjunto de

músicas do agrado do utilizador, através do número de vezes que determinada faixa foi

reproduzida e, ainda, do número de vezes que essa mesma música foi totalmente ouvida.

Por fim, foi desenvolvido um trabalho baseado num sistema de recomendações musicais que, pela

sua ambição em inovar e por procurar definir uma nova abordagem nos métodos que procuram

recomendar conteúdos, merece que lhe seja feita uma apresentação sumária no presente estudo

do estado da arte. Desta forma, foi exposto em (Shao & al., 2009) um sistema de recomendações

musical que procura colmatar as limitações expostas pelos métodos de filtragem colaborativa e

pelos baseados em conteúdos. Se por um lado os métodos de filtragem colaborativa precisam de

um conjunto de dados muito alargado para, desta forma, conseguir obter conhecimento acerca

dos interesses de cada utilizador e poder associar o mesmo a outros utilizadores semelhantes, por

outro os métodos baseados em conteúdo têm o problema de não terem a capacidade de

Page 58: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Sistemas de Recomendação Baseados em Preferências

40

compreender os interesses musicais revelados pelos ouvintes. Como forma de ultrapassar estas

limitações é apresentada, na publicação acima referida, uma nova abordagem que procura

implementar uma estratégia de medição de similaridade entre as músicas. Para se fazer esta

implementação são utilizadas como base as características inerentes ao conteúdo de cada peça

musical e, ainda, os padrões evidenciados pelos utilizadores. Tendo como pilar esta estratégia, as

músicas recomendadas são obtidas com recurso a um diagrama que representa as similaridades

relacionais entres as músicas.

3.3 Papel das assinaturas nos sistemas de recomendação

Existem algumas características que conferem inovação inerente ao desenvolvimento desta

investigação e consequente aplicação. Deste conjunto de características pode-se destacar uma que

se assume como primordial na concretização do estudo e que se define na constituição de

paradigmas que consigam identificar e traduzir de forma pessoal e inequívoca cada utilizador do

sistema. Esta tradução de conhecimento extraído a partir de dados obtidos permitirá, também ela,

construir o conjunto de recomendações a atribuir ao ouvinte. Uma das grandes problemáticas

subjacente a este estudo depreende-se então com a possibilidade de se definir uma assinatura que

procure traduzir o conjunto de preferências temporais exprimidas por cada utilizador.

No senso comum uma assinatura corresponde à representação gráfica do nome de cada indivíduo.

Esta representação é sempre (ou deveria ser sempre) construída e expressa por uma única pessoa

que, a partir desta, se propõe a autenticar-se de forma a poder realizar determinado processo ou

tarefa. Neste contexto facilmente se concluiu que a assinatura pessoal de cada indivíduo confere

uma forma única de identificação e, para além disso, confere unicidade a cada pessoa por ela

representada. Ora, se se conseguir transpor um conceito tão simples e rotineiro como o referido

para as aplicações informáticas, poder-se-á identificar cada utilizador de forma inequívoca e única

e, assim, poder-se ainda proceder-se à sua autenticação. Surge desta forma o conceito inerente à

possibilidade de se poder representar cada usuário de um dado sistema a partir da sua assinatura

exprimida temporalmente sob a forma de preferências historicamente exibidas.

A descoberta de assinaturas é um processo assente em técnicas de DM. Apesar do conceito

adjacente a este tema não ser frequentemente discutido quando se pretende desenvolver sistemas

de recomendação baseados em preferências, existem alguns trabalhos que já incidem sobre este

tema e que procuram estabelecer conclusões acerca do mesmo. Neste contexto refira-se um

Page 59: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Sistemas de Recomendação Baseados em Preferências

41

projeto intitulado de “Discovering Signatura Patterns from Event Logs” (Bose & Aalst, 2013) que

primou pelo desenvolvimento de uma framework que permitisse a descoberta de assinaturas que

pudessem ser usadas para explicar ou prever a classe de indícios observados ou não no contexto

do domínio do problema. Estas características constituem os padrões que podem ser usados para

discriminar entre um comportamento que seja ou não desejado. A abordagem seguida no estudo

referido procurou, desta forma, construir uma framework que pudesse compreender um domínio

muito amplo de problemas e que suportasse, entre outros, a extração e seleção de características,

a descoberta de padrões e a visualização dos mesmos sob representações preparadas para o

efeito. A framework sugerida, que permite a descoberta de padrões que procurem diferenciar e

agrupar os objetos em várias classes respetivas aos comportamentos, pode ser visualizada na

figura 3.3. Como apresentado, o bloco respetivo ao início das ações corresponde ao “event log”. O

“event log” assume, neste contexto, a agregação de todas as atividades ou ações levadas a cabo

por uma determinada entidade. Num paralelo com o projeto a que o presente documento se

propõe estudar, o “event log” corresponderia ao conjunto de músicas ouvidas por um dado

utilizador que, no seu conjunto, correspondem às ações tomadas pelos ouvintes e que servirão

como dados de input para o processo de descoberta de padrões que, na sua totalidade, se possam

traduzir em assinaturas caracterizadoras de cada utilizador. As etapas subsequentes na framework

apresentada são de fácil entendimento na medida em que correspondem, cada uma delas, a

etapas também presentes no processo de descoberta de conhecimento. Destas, a única que pode

suscitar algumas dúvidas relativas ao seu propósito é a denominada de “class labeling”. Esta etapa

é opcional e procura estabelecer uma legenda agrupadora para os eventos que não se encontrem

devidamente categorizados.

Page 60: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Sistemas de Recomendação Baseados em Preferências

42

Figura 3.3 Processo de descoberta de assinaturas tendo como base uma framework preparada

para o efeito (Bose & Aalst, 2013).

Tendo como base a anterior apresentação de uma framework que, como é objetivado no presente

projeto, prima por descobrir e definir assinaturas assentes em padrões que possam ser extraídos

das ações comportamentais efetuadas por uma dada entidade, pode-se sumariar a procura de

assinaturas como sendo um processo assente em técnicas exploradas no domínio da procura de

conhecimento. Portanto, podemos dizer que a descoberta de assinaturas como a análise de

propriedades nos registos comportamentais dos utilizadores, tem como objetivo caracterizar as

classes pré-estabelecidas ou, ainda, prever as classes das características não agrupadas.

Page 61: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Sistemas de Recomendação Baseados em Preferências

43

Page 62: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

44

Capítulo 4

4Um Caso de Estudo

A elaboração do presente caso de estudo tem como objetivo primordial alimentar o propósito

transversal ao desenvolvimento de toda esta investigação. Pretende-se, assim, construir uma base

de conhecimento que possa assumir-se como a base de estudo de algoritmos e estruturas de

obtenção de conhecimento, a partir das quais serão feitas as recomendações e definições de

assinatura dos usuários futuros. Desta forma torna-se imperativa, e evidente, a necessidade de

recolha de dados reais que reflitam preferências reais de utilizadores reais, sobre os quais o estudo

poderá ser feito. Será acerca deste tema que irá incidir a primeira secção denominada “Processo

de obtenção de dados reais”. Como etapa subsequente, teremos que realizar uma análise crítica

dos dados obtidos e correção das inconsistências e incoerências dos mesmos. Será acerca destes

casos, que a segunda secção deste capítulo irá incidir e, além destes, tentar-se-á também explicar

de forma sucinta quais as assunções que foram feitas no relacionamento dos dados provenientes

de diferentes bases de dados. Por fim, e seguindo uma abordagem mais técnica, será feita uma

explicação que incidirá na forma como os dados foram pré-processados e estruturados, seguida da

justificação pela qual foram escolhidos alguns métodos em detrimento de outros e será feita ainda

uma apresentação detalhada desses mesmos métodos. Esta fase, cuja explicação terá um teor

mais incisivo em conceitos como a discretização de valores contínuos, a estrutura de DW usada

para representar os dados já transformados e, ainda, os algoritmos de DM utilizados na procura de

conhecimento, irá constituir os últimos pontos deste capítulo.

Page 63: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

45

4.1 A Obtenção dos Dados

Com vista a se poder obter resultados mais confiáveis, que visem obter conhecimento real acerca

das preferências musicais de cada utilizador, foi necessário obterem-se dados que representassem

a realidade histórica das preferências exercidas por ouvintes em contextos conhecidos. Deste

modo é importante salientar que se perspetivou não apenas recolher informação relativa à lista de

músicas que um dado utilizador ouviu num período de tempo passado mas, também, a todos os

fatores que possam ter influenciado a audição musical em determinado momento. Isto é, tal como

foi explicado na introdução dos objetivos do presente trabalho, procurar-se-á obter padrões que

traduzam conhecimento que permita avaliar se existem dimensões que influenciam diretamente as

características das músicas que ouvimos. Desta forma, os conjuntos de informação que se

obtiveram para fazer estes relacionamentos constituem:

- dados meteorológicos - relativos ao estado do tempo aquando a audição de determinada

música;

- dados temporais - relativos ao dia do ano, dia da semana ou minuto do dia aquando foi feita

a audição;

- dados caracterizadores do utilizador - género, nacionalidade ou idade do ouvinte. Tais

conjuntos constituem na sua globalidade o conjunto de dados base sobre os quais este caso

de estudo irá incidir.

4.1.1 Processo de obtenção de dados reais

O objetivo primordial assente no estudo discutido e desenvolvido no presente projeto prima pela

construção de uma aplicação final que procure maximizar a satisfação do utilizador aquando do

uso da mesma. Para este objetivo ser concretizado torna-se necessário que seja reproduzida a

música apropriada, à hora apropriada, no local apropriado. É neste contexto que surge a

necessidade em serem recolhidos todos os dados de interesse que possam condicionar os gostos

musicais do utilizador. Se pensarmos um pouco sobre as músicas que estamos a ouvir e a razão

pela qual escolhemos aquela música em detrimento de outra, em dado momento, apercebemo-nos

que um dos fatores que tem maior peso nas nossas decisões advém do nosso estado emocional. É

claro que qualquer pessoa diria que escolheu ouvir aquela música porque gosta daquele género

musical, daquele artista, daquela banda ou ainda daquele álbum. Contudo, além desta nossa

Page 64: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

46

primeira pré-seleção surge logo uma outra a seguir que irá, por vezes de forma irrefletida, traduzir

o nosso estado emocional. Ora, todo este prelúdio explicativo dos fatores que condicionam as

nossas escolhas musicais, abre portas para, agora sim, para serem abordados com mais rigor os

fatores que serão obtidos e que serão cuidadosamente analisados no processo de extração de

padrões e que se possam traduzir em conhecimento.

Deste modo, por forma a poderem-se obter dados reais acerca das preferências históricas de

ouvintes inseridos em contextos conhecidos, foi feito uso do webservice disponibilizado pela

aplicação Last.fm3. Neste ponto será, então, importante definir com algum detalhe esta fonte de

dados. Do mesmo modo que no site da empresa é apresentado, a aplicação Last.fm caracteriza-se

por ser um serviço de descoberta de músicas que prima por fazer recomendações com base nas

músicas que o utilizador ouve. Além disso, assume-se ainda como sendo o maior catálogo musical

online do mundo, alimentado pelos seus “scrobbles”. O nome “scrobbles” advém do facto de

alguns dados históricos sugerirem que o projeto inicial e originário do Last.fm, foi o

Audioscrobbler4. Iniciado em 2002 e criado por Richard Jones, o Audioscrobbler tinha como

objetivo principal a gravação histórica das músicas que os utilizadores ouviam e, a partir desta,

construía os dados de recomendação através de tabelas colaborativas. Com o passar do tempo e

com a fusão com o “Last.fm” o projeto alargou-se, sendo no momento um Web rádio com

sistemas de recomendação orientados ao utilizador.

Como será de fácil percepção, esta aplicação não difere em muito do objetivo do presente projeto,

contudo será importante notar que, durante o processo de recolha de informação, não foram

recolhidos nenhuns dados relativos à recomendação calculada para cada utilizador nem, ainda,

quaisquer dados sobre os quais a política de privacidade aceite pelo utilizador da aplicação

“Last.fm” não referisse como sendo disponíveis ao público. A recolha de informação foi então feita

graças a uma API pública disponibilizada por esta aplicação que permite que se faça uso do seu

webservice para o efeito. Os métodos disponibilizados pela API poderão ser visualizados em

www.last.fm/api e permitem, entre outros, obter a lista das últimas músicas ouvidas pelo

utilizador, obter informação sobre cada música, artista e/ou álbum, obter a lista de tags que

caracterizam cada um dos elementos atrás enumerados (música, artista e/ou álbum), obter dados

estatísticos que permitam saber qual o número de reproduções, número de ouvintes, número de

3 http://www.last.fm/ 4 http://www.audioscrobbler.net/

Page 65: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

47

tags atribuídas e qual o uso das mesmas. Além disso, permite ainda obter dados pessoais

referentes a cada utilizador. Deste grande conjunto de informação disponível procurou-se

estruturar os dados pretendidos numa base de dados relacional e, desta forma, foi desenvolvida

uma pequena aplicação em c# que permitiu a obtenção e povoamento da base de dados descrita.

Para além desta recolha de informação relativa ao historial de preferências musicais de cada

utilizador, foi ainda necessária a definição de algumas formas que permitissem satisfazer o

conhecimento necessário das dimensões que envolviam cada audição musical. Foi neste contexto

que surgiu o auxílio da GHCN5 como base para obtenção de informação histórica referente aos

dados meteorológicos em todo o mundo. Esta poderosa base de dados expõe dados como a

temperatura, a precipitação e a pressão do ar, dados estes provenientes a partir de

aproximadamente 6000 estações medidoras de temperatura, 7500 estações medidoras da

precipitação e 2000 estações medidoras de pressão atmosférica. Os dados referidos estão

disponibilizados de forma pública através de ficheiros individuais referentes a um ano em

específico e, os mesmos, encontram-se estruturados sob o formato CSV. Tais dados foram lidos e

extraídos com auxílio de um pequeno script desenvolvido em python6 e que permitiu o seu

armazenamento numa base de dados mysql7 - esta base de dados será usada numa fase posterior.

Neste ponto torna-se imperativo referir que toda a informação vem agrupada por estações

meteorológicas e que a cada estação corresponderá a um país em específico. Um dos problemas

com esta correspondência, e que será abordado com maior detalhe no subcapítulo referente à

inconsistência dos dados, advém do facto de um país poder ter várias estações meteorológicas

distribuídas não uniformemente por toda a área geográfica do mesmo e, desta forma, para um

mesmo país poderão existir observações meteorológicas muito discrepantes.

Por fim surgiu uma última necessidade inerente à especificidade do estudo, a imprescindibilidade

de se caracterizar de forma detalhada e alargada as músicas ouvidas pelo utilizador. Tais

características resultantes constituem desta forma os fatos que se tentarão prever a partir das

circunstâncias envolventes durante a audição de uma dada música. Posto este objetivo, essencial

na resolução do domínio do problema, procedeu-se então à recolha de informação técnica a partir

de uma biblioteca de dados fornecida pela empresa “The Echonest”8. O conjunto destes dados

5 www.ncdc.noaa.gov 6 http://www.python.org 7 http://www.mysql.com/ 8 http://echonest.com/

Page 66: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

48

constituiu informação detalhada relativa a cerca de 1 milhão de músicas, das quais se podem

visualizar informações relacionais, como o artista, álbum e tags/termos correspondentes do mesmo

e, ainda, informações caracterizadoras, como a duração da música, o seu tempo (BPM), o seu grau

de “danceabilidade” (estimação proveniente de um algoritmo usado), o modo, a key, o nível de

energia da música do ponto de vista do utilizador, entre muitos outros. A lista de atributos

caracterizadores de cada música selecionados para constituírem a base de estudo deste projeto,

bem como os dados relacionais intrínsecos a cada uma delas, poderão ser consultados na tabela

abaixo representada.

Característica Tipo de

Dados Descrição

Nome String Título descritor da música.

Danceabilidade Float Nível que representa a probabilidade relativa da música ser adequada para se dançar.

Energia Float Nível de energia que a música transmite a partir do ponto de vista do ouvinte.

Key Integer Refere-se ao tom ou ao acorde característico da música.

Modo Integer Atributo com apenas dois valores possíveis: 0 e 1; correspondendo, respetivamente, a major e minor;

Loudness Float É respetivo à percepção que o ouvinte tem da potência dos sons constituintes da música.

Tempo Float Corresponde à “velocidade” da música. Muito conhecido por BPM-Beats per Minute.

Número de Beats Integer Número de batidas que a música tem.

Número de Secções Integer Número de secções que a música tem.

Duração Integer Duração da música.

Hottness Float Valor que surge como resultado de um algoritmo que procura calcular a popularidade. Respetivo ao artista, música ou álbum.

Ano Integer Ano de lançamento da peça musical.

Nome e MBID de Artista

String Nome e identificador do artista associado à música.

Termos do Artista Array de Strings

Lista de termos descritores do artista. Inclui ainda frequência e peso de cada um deles.

Tags do Artista Array de Strings

Lista de tags descritoras do artista.

Page 67: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

49

Familiaridade do Artista

Float Nível de familiaridade apresentado pelo artista.

Nome do Álbum String Nome do álbum a que a música pertence.

Tabela 4.1 Lista de atributos caracterizadores selecionados para constituírem as propriedades base

das músicas do presente projeto.

O conjunto de dados obtidos a partir de um simples download disponibilizado na página

“http://www.infochimps.com/collections/million-songs” encontra-se representado numa base de

dados com, aproximadamente, 300Gb de informação. Os dados encontram-se estruturados num

formato hierárquico desenhado pela NCSA, o HDF5. Sem entrar em grandes detalhes, o formato

HDF, no caso HDF5, é um modelo de dados especialmente desenhado para que operações de I/O

ocorrem de forma muito eficiente, rápida e de modo flexível. Este tipo de estrutura prima por

organizar grandes volumes de dados em vários ficheiros localizados em diretórios que exprimam,

no seu conjunto, algum tipo de significado para pesquisas efetuáveis. Pretende-se, desta forma,

organizar a informação hierarquicamente num formato de diretórios do tipo árvore para, assim,

diminuir o tempo de processamento em operações de pesquisa de informação. Pelo exposto e por

forma a também se poder obter o máximo de performance no presente caso de estudo, foi

utilizado o conjunto de dados descrito e foi construída uma pequena aplicação em python que

permitisse o acesso aos dados a partir de aplicações externas, neste caso, aplicações

desenvolvidas em c#, como será abordado nos subcapítulos seguintes.

4.2 Pré-processamento de dados

No processo de descoberta de conhecimento (KDD) existe uma etapa cuja importância é digna de

relevo por dela resultar a fonte de dados sobre a qual todo o estudo de obtenção de conhecimento

irá incidir. Esta etapa, denominada de “pré-processamento de dados”, encontra-se subdividida em

várias tarefas. Como (Witten & Frank, 1999) refere sob o domínio de “preparação de dados de

entrada”, o pré-processamento assentará em tarefas como o agrupamento dos conjuntos de

dados, a procura de valores em falta e preenchimento dos mesmo de forma consistente e sob

regras pré-estabelecidas e a verificação e correção de valores desviados ou imprecisos. Além disso

existem ainda situações pontuais nas quais se torna necessário fazer alguma transformação dos

dados previamente recolhidos e corrigidos. Este processo transformativo ocorrerá caso os

Page 68: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

50

algoritmos de DM que se pretenda usar tenham a necessidade intrínseca de só trabalhar com

determinado tipo de dados e, nestas situações, será necessário preparar a informação de modo a

que esta fique representada sob formatos válidos. Além disso, por forma a conseguir-se construir

uma forma de acesso de leitura rápida e eficiente, deverão ser levados a cabo algumas

transformações relativas à estrutura armazenadora do conjunto de informação. No caso específico

do domínio do presente problema, surgiu a necessidade de se discretizarem dados contínuos em

intervalos de valores que, no seu conjunto, compreenderiam todo o intervalo de informação

representada. Assim, procedeu-se à transformação de dados contínuos em dados discretos com

base num algoritmo de discretização apresentado em (Fayyad & Irani, 1993) (Kononenko, 1995) -

tal metodologia será amplamente explicada e estudada em secções subsequentes.

A necessidade de fazer pré-processamento de dados surge evidenciada pois os dados recolhidos

do mundo real estão, de uma forma geral, sujos, incompletos, ruidosos e inconsistentes. Por este

motivo o resultado dos algoritmos de extração de conhecimentos posteriormente aplicados iriam,

também eles, devolver resultados de má qualidade que, consequentemente, poderiam até induzir a

conclusões precipitadas e erradas.

4.2.1 Inconsistências e falta de relacionamento de dados

Como é notório, o conjunto de informação final foi obtido a partir de vários repositórios de dados

independentes e, desta forma, teve-se que relacionar e sumariar toda esta informação numa só

base de dados, que servirá como pilar de todo o desenvolvimento do presente caso de estudo.

Com esta finalidade em vista foi necessário fazer algumas assunções e cálculos que permitissem

constituir os relacionamentos necessários e que, por si só, se estruturam em duas etapas

primordiais:

a ligação entre as músicas ouvidas pelo utilizador (provenientes da base de dados

construída com recurso ao webservice disponibilizado pelo Last.fm) e os atributos

intrínsecos e caracterizadores da mesma (disponibilizados pelo “The Echonest”);

a ligação entre a data de audição musical e a nacionalidade do utilizador (dados recolhidos

também eles pela aplicação Last.fm) e o conjunto de informações meteorológicas

(recolhidas pelo NCSA) para este país, para o dia correspondente à data de audição.

Page 69: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

51

A abordagem seguida na primeira ligação descrita constituiu um conjunto de fases assentes numa

metodologia “tentativa-erro”. Partindo do princípio lógico que existem três objetos principais:

música, artista e álbum, e que estes podem ser identificados inequivocamente pelo seu MBID

(MusicBrainz Identifiers), é fácil perceber que a associação pode ser feita de forma não ambígua a

partir deste identificador. Contudo, tal não se verificou ser possível pois o conjunto de dados

disponibilizados pelo “The Echonest” apenas tem o MBID atribuído para os artistas e não para a

música, nem para o álbum. Posto este problema, seguiu-se, como já foi referido, uma estratégia

“tentativa-erro” que seguiu vários passos assentes na procura de correspondência entre as

músicas ouvidas e as músicas detalhadamente descritas na base de dados proveniente do projeto

“The Echonest”. Os passos referidos vão desde a simples procura de músicas cujo nome e artista

seja coincidente, até ao caso extremo em que se procura músicas que tenham uma percentagem

expressiva de palavras do seu nome e/ou nome do artista coincidente, cuja duração aproximada

seja coincidente e cujo nome do álbum seja notoriamente semelhante. O algoritmo usado

conseguiu a obtenção de relacionamentos em 61% das músicas ouvidas pelos utilizadores.

O relacionamento necessário para a obtenção de conhecimento real e verosímil acerca do estado

meteorológico foi conseguido com uso de um algoritmo que, para além de atribuir um estado de

tempo provável para dado momento, define ainda um peso de verdade para esta atribuição. Este

peso pretende definir o quão confiável é a estimação meteorológica, baseando-se num princípio de

igualdade partilhada entre estações meteorológicas de um mesmo país. Por forma a se poder

perceber mais sucintamente a solução de relacionamento descrita, é relevante que se faça uma

descrição detalhada do problema a que esta se propõe resolver. Deste modo, existe uma

dificuldade inerente à caracterização do estado do tempo de determinado local caso só se tenha

conhecimento dos dados recolhidos das estações meteorológicas distribuídas pelo país a que esse

local pertence. Não será difícil perceber que quanto maior for a área geográfica de determinado

país maior será a probabilidade de nos guiarmos por dados que não correspondem à realidade

exercida em determinado local específico e, deste modo, surge a necessidade de se fazer

cruzamentos de dados obtidos em várias estações pertencentes ao país em causa. Este

cruzamento de informação culmina na tentativa de se determinar qual o estado do tempo provável

no local de audição e, ainda, qual a probabilidade do estado do tempo determinado estar correto.

Com este objetivo em vista, foi construído um algoritmo que percorre as características

meteorológicas recolhidas por todas as estações de determinado país e, assim, depois de calcular a

média de todas elas, calcula o desvio padrão existente entre as mesmas. Será com base no desvio

Page 70: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

52

padrão encontrado que será definido o valor correspondente à probabilidade deste conjunto de

dados meteorológicos se se enquadrar na realidade verificada aquando o momento da audição

musical. Esta medida probabilística terá um peso importante nos dados escolhidos e no pré-

processamento dos mesmos, como se poderá verificar nas secções subsequentes.

4.2.2 Dados escolhidos

O processo de seleção de dados base para o estudo do presente caso teve subjacente um princípio

básico: escolha de dados cuja probabilidade de estes retratarem a realidade seja máxima.

Procurou-se, desta forma, fazer uma seleção criteriosa tendo em conta não só os atributos que

conferem um peso de verdade probabilístico mas, também, tendo em conta a completude dos

dados representados.

Durante o processo de recolha de dados reais foi possível obter informação relativa às preferências

músicas de 102217 utilizadores, os quais ouviram em média 6523 músicas pela aplicação

“Last.fm”. O conjunto de ouvintes descrito distribui-se por 63 nacionalidades diferentes e tem um

conjunto de idades compreendidas entre 7 e 63 anos. Esta enorme diversidade de dados

intrínsecos a vários indivíduos diferentes, com personalidades diferentes e gostos diferentes,

traduz o importante potencial existente no presente caso de estudo para conseguir traduzir os

padrões históricos exercidos em assinaturas que definam inequivocamente cada um dos

utilizadores. Tendo este desafio sempre em mente e em conta que não seria possível processar os

dados relativos a todos os utilizadores em tempo útil, realizou-se a filtragem dos ouvintes a serem

estudados por uma ordem de critérios pré-estabelecida, que foi:

1. A primeira abordagem neste processo de pré-seleção de dados passou pela filtragem dos

utilizadores cujos dados pessoais não permitissem obter conhecimento válido. Isto é, caso

um utilizador não tivesse disponível, por exemplo, a informação respetiva à sua

nacionalidade, não seria incluído no caso de estudo. A justificação para esta primeira etapa

eliminatória depreende-se com o facto de que, para o caso concreto do atributo

nacionalidade, não seria possível obter dados relativos às condições meteorológicas

vigentes no provável local de audição de música.

2. Por conseguinte, a segunda abordagem estratégica passou pela obtenção de dados

absolutos que traduzissem o número de músicas, ouvidas pelo utilizador, que tivessem

Page 71: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

53

devidamente detalhadas. Como já foi abordado, uma música só se encontra devidamente

detalhada caso tenha sido encontrada uma ligação entre esta e o conjunto de dados

disponibilizados pelo “The Echonest”.

3. Assumindo-se como a última etapa de seleção de dados, surge uma abordagem focada na

probabilidade da informação recolhida se aproximar ou não da realidade em vigor. Para tal

foi usado o elemento probabilístico atribuído às aproximações meteorológicas calculadas e

à qual corresponde, cada uma delas, a data de audição musical. Através desta unidade de

medida foi calculada uma média que traduz o rácio provável dos dados corresponderem à

realidade dos acontecimentos e, deste modo, foram excluídos os utilizadores cujo índice

probabilístico fosse baixo.

O algoritmo de filtragem aplicado conseguiu excluir um número razoavelmente alto de registos.

Assim, teve-se que atualizar os dados estatísticos relativos à nova base de valores. Desta forma,

existe agora informação relativa a 47845 utilizadores, distribuídos por 58 países e com um

conjunto de idades compreendido entre 7 e 63 anos. Por sua vez, nos registos presentes existe

uma média de 8550 músicas ouvidas por utilizador, das quais cerca de 61% se encontram

devidamente detalhadas e, portanto, com todas as suas características bem catalogadas. De

seguida pode-se observar os dados obtidos a partir de uma representação gráfica (Figura 4.1).

Page 72: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

54

Figura 4.1 Representação gráfica do resultado da aplicação do algoritmo de filtragem.

4.2.3 Discretização dos dados

Como foi previamente exposto, durante a fase de pré-processamento de dados aplicaram-se

metodologias que permitiram agrupar, corrigir e colmatar falhas na informação existente. Contudo

este conjunto de tarefas por si só pode não preparar os dados de acordo com os requisitos

exigidos pelos algoritmos de DM a usar. Neste contexto surgem, assim, tarefas que envolvem a

transformação de informação para, desta forma, tornarem-se adequadas para o uso de funções

que permitam a extração de conhecimento através de padrões verificados. É neste âmbito que

surgiu a necessidade de fazer a discretização de dados contínuos em intervalos de valores que

possam, no seu conjunto, definir todo o domínio de cada um dos atributos.

A discretização de dados, como o próprio nome indica, tem como objetivo principal transformar

dados contínuos em dados discretos para que possam ser analisados de forma mais eficiente e

Page 73: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

55

concisa. Para ser feita esta conversão estratégica da informação existem alguns algoritmos que

podem ser usados e que, como já referido, se subdividem em duas tipologias principais:

discretização supervisionada e discretização não supervisionada. Neste caso de estudo será

seguida uma estratégia supervisionada que, portanto, terá em consideração os grupos a que

pertencem as instâncias, e que assentará no método MDL Fayyad & Irani‟s (Fayyad & Irani, 1993).

Os grupos agrupadores das instâncias basearam-se no género musical de cada música e, deste

modo, todos os atributos individuais tiveram como base aglomerativa tal superconjunto.

O método MDL Fayyad & Irani‟s, usado na conversão de dados contínuos em discretos, é descrito

em (Clarke & Barton, 2000) como um método baseado em entropia que escolhe os pontos de

particionamento de um conjunto de valores contínuo de forma a minimizar o conjunto total da

entropia respetiva às variáveis contínuas. Esta medida de entropia surge sempre associada a cada

elemento respetivo e é calculada tendo como base a relação da característica com a variável de

classificação. Este método, assenta num modelo de discretização top-down, e define-se por formar

uma estrutura respetiva a uma árvore de decisão que recursivamente vai formando novas

partições e estas, por sua vez, corresponderão a novos intervalos que formarão intervalos de

valores cada vez mais pequenos. Em suma pode-se definir o método MDL Fayyad & Irani‟s como é

exposto pelos próprios na publicação (Fayyad & Irani, 1993) : é um método supervisionado de

divisão hierárquica que usa a informação relativa à entropia respetiva aos valores candidatos à

discretização para, a partir desta, selecionar os limites das partições a obter. A informação relativa

à entropia pode-se definir como uma medida de pureza que pretende medir a quantidade de

informação que seria necessária para especificar qual a classe a que uma dada instância pertence.

O seu algoritmo de discretização começa por considerar um grande intervalo de dados que

sumaria todos os valores a calcular e, em seguida, vai particionando um conjunto inicial de forma

recursiva até que o critério MDL de paragem seja atingido ou até se atingir um número ótimo de

intervalos. Por fim convém relembrar que o princípio MDL define que a melhor hipótese é aquela

cujo comprimento da descrição seja mínimo e, deste modo, será com base neste que o critério de

paragem será definido.

Em relação ao caso concreto do problema que este algoritmo se propõe a resolver, pode-se

concluir que os dados obtidos foram aparentemente satisfatórios e formaram intervalos que se

revelaram adequados aos métodos de DM posteriormente usados. Em termos estatísticos, o

conjunto dos atributos contínuos que sofreram transformação foram discretizados, em média, em

Page 74: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

56

quatro conjuntos de valores. Destes conjuntos a frequência mínima obtida em cada um deles é de

cerca de 10% e, por sua vez, a frequência máxima contém uma média de 65% de registos. Tais

valores, mas não só, permitem que se tenha uma abordagem otimista, relativa ao facto dos dados

se encontram consistentemente distribuídos, tendo como grupo referenciador o conjunto de dados

relativos ao género musical de cada música, artista e/ou álbum. O conjunto de dados obtidos, bem

como os valores iniciais dos mesmos, podem ser visualizados na tabela 4.2.

Propriedade Musical Intervalo de Valores

Reais Conjuntos Obtidos

Duração de Audição [0, 100] {0,1}

Loudness [-34.7, -0.4] ]- , -14], ]-14, -7], [-7, + [

Tempo [31.2, 251.2] ]- , 106], ]106, 167], [167, + [

Percentagem de Beats [0.5, 4.2] ]- , 1.8], ]1.8, 2.7], ]2.7, + [

Percentagem de Secções [0.01, 0.09] ]- , 0.04], ]0.04, + [

Duração [25, 1497] ]- , 203], ]203, 288], ]288, + [

Hottness [13.2, 86.9] ]- , 38.7], ]38.7, 52.3], ]52.3, + [

Índice de Vício [1, 48] ]- , 2], ]2, 3], ]3, + [

Familiaridade do Artista [0.09, 0.94] ]- , 0.65], ]0.65, + [

Hottness do Artista [9.3, 91.9] ]- , 37.9], ]37.9, + [

Índice de Vício do Artista [2, 91.7] ]- , 5.8], ]5.8, 11], ]11, 24.3], ]24.3, 39.5],

]39.5, 43.1], ]43.1, + [

Temperatura Máxima [3.1, 35.9] ]- , 10.3], ]10.3, 22.9], ]22.9, + [

Temperatura Mínima [-6.9, 20.6] ]- , -2.1], ]-2.1, 2.6], ]2.6, 9.6], ]9.6, + ]

Temperatura Média Calculada [-5.9, 34.3] ]- , -3], ]-3, 1.9], ]1.9, 5], ]5, 14.5], ]14.5,

+ [

Precipitação [0, 150] ]- , 19], ]19, 92], ]92, 112], ]112, + [

Minuto do Dia9 [0, 3600] ]- , 458], ]458, 588], ]588, 685], ]685,

848], ]848, 945], ]945, + [

Dia do Ano [1,366] [1, 79], ]79, 172], ]172, 265], ]265, 355],

]355, 3656]

Tabela 4.2 Valores obtidos pela discretização supervisionada de dados contínuos.

9 Discretizado de forma individual para cada utilizador. Foi demonstrada a discretização para o utilizador representado na figura 4.2.

Page 75: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

57

A partir duma primeira observação dos valores obtidos, pode-se concluir que estes se encontram

devidamente discretizados. Esta afirmação é sustentada pelo facto de se poder constatar que,

dados rotineiros como a temperatura ou precipitação, têm a si associados conjuntos que se

poderiam formar caso o fizéssemos de forma manual. De facto, se por exemplo fizéssemos uma

divisão dos dados relativos à temperatura, podíamos facilmente prever que a audição musical iria

apenas ser influenciada por grandes variações desta. Deste modo, uma abordagem despreparada

e assente apenas no conhecimento geral iria dividir a temperatura em quatro grandes grupos:

temperaturas frias, amenas e quentes. Esta divisão pode ser de forma geral observada nos dados

obtidos pela discretização supervisionada. Este tipo de abordagem permite-nos ter alguma

confiança na discretização efetuada, contudo, como se provará mais à frente nesta investigação,

existem alguns atributos que necessitarão de uma nova abordagem de discretização sobre os seus

valores contínuos.

4.3 Transformação dos dados

O processo de descoberta de conhecimento a partir de dados previamente existentes envolve um

conjunto de fases bem definidas e cuja execução se torna vital se se tiver como objetivo criar um

modelo de processamento eficiente, modelar e preciso. Para tal acontecer tem-se que realizar a

transformação dos dados existentes, de forma a se poder estrutura-los em modelos e esquemas

que permitam uma rápida execução em processos de leitura. É neste contexto que surgem

algumas estruturas inovadoras e complexas que visam armazenar os dados, tais como os DW.

Como formalmente definido por W. H. Inmon (Berson & Smith, 1997), um DW caracteriza-se por

ser um conjunto de dados orientados a um tema específico, integrados, variáveis com o tempo e

não voláteis, usados como apoio aos processos de tomada de decisão. Portanto, e como já foi

previamente exposto de forma detalhada na secção 2.3, pode-se sumariar o conceito de DW como

sendo uma estrutura que combina uma ou mais ferramentas para a extração de campos a partir

de qualquer estrutura de dados (planos, hierárquicos, relacionais ou objetos), incluindo ainda

dados externos. Além disso, o modelo em questão combina ainda a síntese dos dados numa base

de dados não volátil, integrada e orientada ao assunto concreto do domínio do problema, tendo

sempre um catálogo de metadados associado (Berson & Smith, 1997). Uma metodologia que pode

ser usada na implementação de um DW assenta no uso de tabelas de dados em formato não

normalizado para, assim, melhorar a performance de consultas e a eficiência e rapidez das

Page 76: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

58

transações feitas à estrutura agregadora de informação. Neste contexto poder-se-á obter como

resultado da modelação de um modelo multidimensional uma de duas tipologias distintas, mas que

partilham entre si uma igual estrutura organizacional assente na definição de fatos e de

dimensões. De facto, as bases de dados assentes em modelos multidimensionais destacam-se por

ser constituídas por dimensões que têm, associadas a cada uma delas, hierarquias de níveis de

dados consolidados que, no seu conjunto, formam potencialmente um cubo. Tais dimensões

constituem um primeiro tipo de estrutura de dados cuja função reside na organização da

informação. Por outro lado existe uma outra estrutura de dados intitulada de fatos e que procura

armazenar medidas e dados numéricos nas suas tabelas. Depois de feita esta revisão resumida de

conceitos surge ainda importante relembrar que as duas tipologias acima referidas se caracterizam

por representar a base de dados em estruturas distintas, como a estrutura em estrela e a estrutura

floco de neve. A estrutura floco de neve resulta da normalização das tabelas das dimensões

presentes no esquema de estrela (Jarke & al., 2000) contudo, no presente caso de estudo, as

dimensões correspondem a tabelas não normalizadas e, desta forma, foi seguida a estrutura em

estrela para modelação da informação. Posto isto, e tendo em consideração que a estrutura é

constituída por uma tabela de fatos central e um conjunto de tabelas correspondentes às

dimensões do domínio do problema, foi modelada a estrutura organizacional da base de dados

(figura 4.2). O desenvolvimento do modelo em estrela apresentado teve ainda em consideração o

facto das medidas de interesse terem de ser armazenadas na tabela respetiva aos factos e, ainda,

de estes serem os elementos nucleares a serem analisados. Não obstante foi tido também em

consideração a definição das dimensões como sendo atributos relativos aos fatos previamente

estabelecidos.

Page 77: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

59

Figura 4.2 Representação da base de dados seguindo uma tipologia em estrela.

Desta forma, foram considerados como factos todos os dados que se desejam prever e que

poderão partilhar padrões. Por sua vez, as dimensões estabelecidas procuram constituir e definir

as circunstâncias envolventes e intrínsecas ao momento de audição. Além disso existe ainda uma

outra dimensão relativa às características pessoais do indivíduo que está a ouvir determinada

música. Em suma, e como facilmente se poderá compreender, no domínio deste problema foram

definidos como factos dados como o ano de lançamento, tempo (BPM), género, nível de

popularidade da música ouvida, entre outros; e, ainda, dados respetivos ao artista e álbum a que

tal peça musical pertence. Adicionalmente, ainda existem dados relativos às frequências relativas

de audição, como, por exemplo, a frequência de audição do artista ou álbum em questão. Por sua

vez as dimensões descrevem dados que se agrupam em três grandes conjuntos: Utilizador, Tempo

e Meteorologia. Estas três tabelas, como a sua designação intuitivamente denuncia, procuram

descrever, respetivamente, dados pessoais relativos ao utilizador retratado, dados temporais que

Page 78: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

60

definam a data de audição musical e dados que representam o estado meteorológico vigente no

momento em que dada música foi escutada.

4.4 O Processo de Mineração dos dados

A execução de métodos que permitirão a extração de conhecimento a partir da base de dados

previamente construída e preparada para o efeito, constitui um dos últimos passos a realizar neste

trabalho de descoberta de conhecimento. Para se proceder à referida descoberta de padrões, que

se possam traduzir em conhecimento útil e compreensível, existem várias técnicas que se podem

agrupar tendo como referência o objetivo a que se propõe. Estas metodologias serão a seguir

sumariamente relembradas. Como já exposto, pode-se distinguir as técnicas que executam tarefas

de descrição, classificação, estimação/regressão, predição, agrupamento e associação. Surge,

portanto, neste ponto, a necessidade de se descrever sumariamente o que cada tarefa se propõe a

solucionar e, a partir desta, proceder-se-á à explicação sumária das técnicas escolhidas para visar

o solucionamento das tarefas a que o presente projeto se propõe. Com efeito, as tarefas que

objetivam pela descrição procuram descrever padrões e tendências relevadas pelos dados. Por sua

vez, os métodos que procuram definir classificações visam identificar a que classe pertence

determinado registo tendo como base as atribuições associativas previamente existentes na base

de dados. A estimação (regressão) assemelha-se à tarefa de classificação. Contudo, neste caso,

aplica-se a dados contínuos e, portanto, procura classificar dados numéricos. Assumindo-se como

uma das tarefas de grande interesse na descoberta de conhecimento, a predição descreve-se

como sendo o processo que visa descobrir o valor futuro de um determinado atributo e, deste

modo, surge com principal relevo no domínio deste caso de estudo. No caso da tarefa relativa ao

agrupamento, objetiva-se por identificar e aproximar os registos similares com o objetivo de os

agrupar em superconjuntos que os definam e distingam inequivocamente dos demais. Por fim, a

tarefa de associação pode-se definir como sendo a identificação de quais os atributos que estão

relacionados para, depois, expandir estas associações a novos registos.

4.4.1 Metodologia envolvente

Feita a apresentação sumária dos requisitos frequentemente definidos no processo de descoberta

de conhecimento temos agora que expor quais são as tarefas a que o presente projeto se propõe

cumprir e, a partir destas, apresentar, de forma resumida, os métodos utilizados na procura de

Page 79: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

61

padrões que possam exprimir conhecimento que procurará predizer eventos futuros. Seguindo esta

linha de raciocínio, as tarefas inerentes a este estudo caracterizam-se de forma geral por

procurarem prever qual a música que determinado utilizador pretende ouvir em determinado

momento. Mais concretamente, o problema apresentado será solucionado seguindo-se uma

filosofia de “divisão e conquista”, isto é, de divisão de uma música pelas suas características

intrínsecas para que, assim, se possa proceder à previsão de cada atributo de forma individual.

Este prognóstico das propriedades relativas a cada música constituiu a tarefa primordial desta

etapa de desenvolvimento, tarefa esta que será explicada de forma mais detalhada a seguir. Para

além disso, e de forma paralela à explicação referida, será feita uma exposição e descrição dos

algoritmos que auxiliaram na execução da previsão de informação.

Uma música é constituída por vários atributos que a caracterizam e a tornam única. Além disso,

um estilo musical pode ser definido inequivocamente com base nestas propriedades descritoras de

cada música. Ora, uma vez que as músicas semelhantes se agrupam em géneros musicais e as

preferências auditivas dos utilizadores podem ser descritas, de forma ampla, por estes géneros,

existem características que, por si só, podem definir o perfil musical de um ouvinte, ou pelo menos

os gostos relativos a um dado momento. Foi com base nesta premissa que se procedeu à procura

de uma metodologia que permitisse fazer uma predição individual de valores para se poder depois

proceder à busca pela música que melhor se enquadra no momento. O método seguido é relativo

aos atributos musicais já acima referenciados e assenta na seguinte ordem de tarefas:

1. A primeira etapa passa pela aplicação de métodos de DM para, assim, se proceder à

obtenção de previsões individuais relativas a cada característica. Tais previsões surgem

sempre condicionadas pelas dimensões temporais, meteorológicas e serão respetivas a

cada utilizador em particular.

2. Depois de feita a previsão para todas as características delineadas será feita uma

ordenação de resultados consoante o “peso de probabilidade” respetivo a cada uma delas.

Isto é, os métodos de DM utilizados têm sempre como resultado (por vezes não de forma

direta) dois dados principais: o valor previsto e a probabilidade deste valor ser realmente o

correto. Ora, tendo como base esta medida de precisão e os dados relativos ao acerto

respetivo à discretização dos atributos (abordados na secção 4.2.3), procede-se ao cálculo

final do referido “peso de probabilidade” e consequente ordenação descendente dos

resultados obtidos.

Page 80: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

62

3. Tendo como base a, agora ordenada, lista de previsões, poder-se-á finalmente proceder à

descoberta de qual a música que melhor se enquadra com os dados obtidos. Como será de

fácil compreensão, surge agora a necessidade de se proceder à filtragem sequencial das

músicas em conjuntos cada vez mais pequenos para que, como perspetivado, se encontre

a música ideal para o momento. Por forma a se solucionar este problema são utilizados os

atributos obtidos e devidamente ordenados. Na figura 4.3 está apresentado um exemplo

descritor desta metodologia, onde é feita a descoberta da música “Chevaliers de Sangreal”

como sendo a adequada para audição, de acordo com os dados descritos. Na tabela

referente à “Lista de Previsões Ordenada”, os atributos encontram-se já representados de

forma ordenada e procuram exemplificar o tipo de atributos sobres os quais se poderá

obter conhecimento. Além disso, poderão ser visualizados conjuntos de dados respetivos à

previsão efetuada, bem como a percentagem de músicas obtidas depois de aplicada cada

filtragem. O conjunto de filtros por intervalo de valores será aplicado até ao momento em

que se encontre apenas uma música, como exposto pela figura. Um dos problemas deste

modelo revela-se quando não é possível obter-se apenas uma música como resultado final

da metodologia e, assim, impossibilitando a realização de uma recomendação musical de

forma direta. Este constrangimento será alvo de discussão mais profunda na secção

referente ao processo de recomendação desenvolvido.

Page 81: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

63

Figura 4.3 Metodologia usada para obtenção da música a recomendar.

Deste modo facilmente se entenderá a importância da utilização de métodos de DM que permitam

uma previsão precisa e correta de valores respetivos aos atributos musicais. Foi com base neste

requisito, transversal a todos os trabalhos que primem pela obtenção de informação que se possa

traduzir em conhecimento de qualidade, que surgiu a necessidade de se estudar e aplicar vários

métodos para, assim, poder-se concluir qual o algoritmo mais eficaz na solução deste problema.

Nesta perspetiva foram aplicados métodos de associação e métodos classificativos, dos quais se

destaca o uso do Algoritmo de Previsão Apriori, algoritmo de Naive Bayes, Árvores de Decisão e

Page 82: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

64

Redes Neuronais. Os dados obtidos pelo estudo efetuado foram conseguidos graças ao uso do

software WEKA10.

Para efeitos de teste foi escolhido, de forma mais ao menos aleatória, um utilizador que pudesse

representar de forma simbólica o conjunto de informações obtidas durante o processo de recolha

de dados. Esta escolha foi efetuada de forma não totalmente aleatória porque primeiro foi

efetuado um filtro que permitisse a obtenção de utilizadores que tenham ouvido um número

razoavelmente alto de músicas, mais concretamente, que tenham ouvido mais de 100 mil músicas.

Depois de aplicada esta condição foi escolhido, agora sim de forma aleatória, o utilizador

representado pelo perfil exposto figura 4.4.

Figura 4.4 Dados respetivos ao utilizador selecionado para testes11.

4.4.2 Algoritmo de Previsão Apriori

O algoritmo de previsão apriori enquadra-se no conjunto de métodos relativos à obtenção de

associações, isto é, que se relacionam com a procura e identificação de quais os atributos

relacionados (por ex., “se cliente comprou cerveja então também vai comprar amendoins”). Este

relacionamento associativo surge, de forma geral, apresentado sob regras que permitam descrever

as interdependências encontradas (Scheffer, 2001). A metodologia descrita foi então usada no

contexto deste problema. Contudo, com vista a se poderem fazer previsões a partir dos dados

obtidos, foi ainda efetuado um passo posterior que terá como resultado a recomendação musical

aconselhada. Este último passo terá como condicionantes as dimensões evidenciadas para o

momento específico de audição.

10 Site em http://www.cs.waikato.ac.nz/ml/weka/index.html 11 Dados atualizados à data de 4/09/2013.

Page 83: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

65

A implementação deste algoritmo segue uma abordagem assente na premissa de que uma regra

será escolhida e, portanto, adicionada, se a precisão da previsão esperada (quando aplicada a

regra) está entre as „n‟ melhores e não é incorporada por uma regra com pelo menos o mesmo

nível de precisão preditiva esperada (Scheffer, 2001). Seguindo esta perspetiva espera-se que o

uso do algoritmo traga como output um conjunto de regras devidamente ordenadas pela sua

precisão esperada. Além disso, torna-se ainda importante que este valor, respetivo à precisão, seja

dado como resultado para que, no futuro, se posso obter informação concreta acerca do rigor de

conhecimento que poderá advir do uso deste algoritmo.

Desta forma foram utilizados dados respetivos à audição histórica das músicas reproduzidas pelo

utilizador apresentado. Os valores respetivos às características de cada música já se encontram

devidamente discretizados e prontos a serem utilizados como base para o processo de extração de

padrões assinalado. Deste modo, procedeu-se à aplicação do algoritmo de previsão apriori de

forma individual e respetiva a cada atributo que se pretende prever. A título de exemplo é

apresentado na figura 4.5 o resultado obtido pela aplicação do algoritmo referido relativamente à

propriedade musical “tempo”.

Figura 4.5 Janela de output apresentada pelo WEKA quando aplicado o algoritmo de previsão

apriori para o atributo musical “tempo”.

Page 84: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

66

Como se pode verificar (figura 4.5), a janela de output associada ao resultado obtido pela

aplicação deste algoritmo permite a obtenção de várias informações importantes, entre as quais se

destaca a lista de regras encontradas e o nível de precisão das mesmas. Este resultado poderá ser

conseguido aplicando-se o seguinte comando: “PredictiveApriori –N 1000 –A –c -1”, a partir do

qual se pode especificar o número máximo de regras que se pretende obter, a classe final à qual

estas regras se devem endereçar e, ainda, informação acerca dos atributos disponibilizados. Neste

caso concreto foi aplicado o algoritmo respetivo à intenção de obtenção de um máximo de 1000

regras e foi definido que estas regras deverão ser endereçadas à classe “Tempo”. O resultado

obtido a partir desta execução constituiu o conjunto de regras resumidamente apresentado na

figura 4.5. A partir da lista apresentada pode-se imediatamente perceber qual foi a associação

encontrada, qual o número de registos que corresponde a esta associação e, ainda, qual o valor

relativo à precisão esperada desta previsão. Se se observar a primeira regra encontrada e a

cruzarmos com os dados respetivos ao processo de discretização, percebe-se que existe uma

probabilidade elevada de, quando o valor calculado para a temperatura média por hora estiver

compreendido entre 1.9 e 5, o dia da semana for quarta-feira e o dia do ano estiver inserido no

intervalo de dias iniciado pelo dia 79 e o dia 172, existe uma probabilidade muito grande do

utilizador querer ouvir uma música cujo tempo esteja compreendido entre 106 e 167 BPM. De

facto, a precisão esperada para este acontecimento é de 0.995. Ora, este conjunto de regras não

enquadra, por si só, um modelo que permita prever valores futuros. Deste modo, temos que

proceder ao armazenamento e ordenação destas regras para que se possa, posteriormente,

proceder à previsão enquadrada nas dimensões representativas do momento. É neste contexto

que surge a necessidade de se aplicar um procedimento extra que permitirá fazer-se uso das

regras associativas encontradas para, com estas, se proceder à recomendação preferencial de

peças musicais. O procedimento referido poderá dividir-se em três grandes etapas:

armazenamento e ordenação das regras encontradas, procura por regras que se enquadrem nas

dimensões específicas e aplicação destas regras para se poder obter conhecimento futuro.

Como exposto, a primeira etapa constituiu a tarefa de armazenamento e ordenação das regras

resultantes da aplicação do algoritmo de previsão apriori. As associações referidas deverão ser

obtidas para todos os atributos sobre os quais se pretende obter conhecimento futuro e estas

definirão, portanto, todas as regras de associação encontradas. Uma vez que a lista disponibilizada

contém associada a cada expressão o valor de precisão esperado, será com base neste dado que

Page 85: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

67

será feita uma ordenação descendente dos resultados. Tais regras ordenadas são, então,

posteriormente armazenadas e disponibilizadas para posterior consulta.

Surgindo como base justificativa para a segunda tarefa deste processo, existe a necessidade de se

encontrarem as regras que respondam especificamente a um dado momento que se pretenda

prever. É com isto presente que se deverá ter conhecimento das características constituidoras das

dimensões previamente definidas, entre as quais: dados meteorológicos evidenciados e dados

temporais respetivos à data de audição. Seguindo este procedimento deverá efetuar-se agora uma

pesquisa sobre quais as associações encontradas que possam traduzir informação relevante ao

contexto apresentado. Se, por exemplo, os dados meteorológicos referirem que se trata de um dia

chuvoso, com um volume de precipitação previsto de cerca de 100 mm/h e que a temperatura

máxima se deverá compreender entre 15ºC e 25ºC, deverá procurar-se por regras que exprimam

esta informação, isto é, que refiram a precipitação e os limites de temperatura, e que estes

tenham a si atribuídos conjuntos de valores que reflitam os dados apresentados.

A partir de cada associação encontrada pode-se agora proceder à sua aplicação, para que se

consiga obter uma só peça musical. Este processo é semelhante ao usado em todos os algoritmos

expostos e terá como base uma filosofia assente na filtragem das músicas, de forma sucessiva, até

se encontrar apenas uma. Desta forma, se se seguir cada regra listada, de forma ordenada

segundo um critério descendente de precisão, poderão ser aplicadas essas mesmas associações no

processo de filtragem musical. O resultado de interesse descrito na listagem representada assenta

de forma incisiva na classe sobre a qual foram construídas as regras. Isto é, o que será importante

obter são os dados relativos ao atributo musical a seguir. Se, por exemplo, tivermos em

consideração a primeira regra12 apresentada na figura 4.3, e se partirmos do princípio que os

dados dimensionais relativos à regra se enquadram no momento sobre o qual se pretende fazer a

previsão, o que será importante obter desta informação é que o tempo da música deverá estar

compreendido entre os valores descritos pelo grupo B. Feita esta assunção deverão ser filtradas as

músicas consoante o resultado concreto. Este processo de filtragem constituiu a última etapa do

presente processo e consiste na aplicação de cada regra, de forma sucessiva, ao conjunto de

músicas disponibilizadas. O objetivo final passa pela obtenção de uma só música mas, como já foi

previamente explicado, nesse sempre será possível.

12 Regra representada por “ temperatura_media_por_hora=B dia_da_semana=A minuto_do_dia=B ==> tempo_musica=B acc: (0.95831)”

Page 86: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

68

4.4.3 Algoritmo de Naive Bayes

O algoritmo de Naive Bayes pertence ao conjunto de métodos que procura obter informação

relativa à classificação de registos. De facto, este método classificativo terá como base de estudo

um conjunto de dados pré-existentes e, a partir deles, procurará definir classificações para cada

registo de informação (John & Langley, 1995). Foi neste contexto que surgiu a necessidade de se

aplicar o presente algoritmo, com vista a se poder obter conhecimento acerca das previsões

respetivas a cada atributo caracterizador de uma música.

Durante o uso do algoritmo de Naive Bayes foi necessário proceder-se à execução de três etapas

fundamentais, distinguidas pelo seu objetivo final. A primeira tarefa corresponde à etapa de treino

dos dados, isto é, à utilização de informação previamente existente e devidamente classificada

para que se possa, assim, proceder à previsão de classificações futuras. Este conjunto de dados de

treino deverá ser previamente obtido a partir da base de dados disponível e deverá refletir uma

grande diversidade de informações para que se possa obter um modelo rigoroso e facilmente

adaptável. Deste conjunto de dados deverão ser retirados dois subconjuntos, um deles deverá ser

referente a cerca de 70% do número de registos inicial e constituirá o verdadeiro conjunto de

dados destinados ao treino do algoritmo. Os restantes registos (cerca de 30%) irão formar o grupo

de dados de teste. Este último conjunto será usado por forma a se poder validar a precisão do

modelo previamente obtido. Essa validação corresponderá à segunda etapa deste processo. A

última tarefa referente a este algoritmo constituiu a previsão dos atributos estudados. Esta será a

etapa final empregue com uso deste algoritmo ou, mais concretamente, com uso do modelo obtido

a partir dos dados de teste. Tendo como base este modelo poder-se-á então obter informação

preditiva acerca dos atributos musicais e, consequentemente, poder-se-á obter a música a

recomendar ao ouvinte. A investigação enunciada foi, uma vez mais, efetuada com uso do

software WEKA.

Como referido, a partir dos dados obtidos foi retirado um subconjunto (respetivo a 70% da

informação) que constituiu os dados a serem usados durante o processo de treino do algoritmo.

Este procedimento permitiu que se criasse um modelo de previsão que procurará, no futuro,

classificar de forma correta novas instâncias de informação. Este processo teve de ser efetuado de

forma sucessiva para cada atributo musical pois, neste contexto, cada atributo assume-se como a

classe final que se pretende prever. Os resultados caracterizadores do modelo obtido, a partir dos

dados de teste referidos, encontram-se sumariados na figura 4.6. Nesta figura estão apresentados

Page 87: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

69

os dados respetivos à tentativa de predição da classe “Tempo”, tendo sido o modelo descrito

obtido quando se procedeu à tarefa de classificação e previsão da característica musical referente

ao tempo da música.

Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado o algoritmo de Naive Bayes

para o atributo musical “tempo”, utilizando-se um conjunto de dados de treino para o efeito.

Da figura 4.6 pode-se obter três grandes conjuntos de informação: o número de instâncias

corretamente classificadas, a taxa de precisão prevista e a ”matriz de confusão”. A partir daqui,

através duma análise dos números focados em “Correctly Classified Instances” (56.99%) e

“Incorrectly Classified Instances” (43.01%), pode-se concluir que o modelo não é muito bom. Uma

taxa de acerto de cerca de 57% não permite que se tenha grande confiança no modelo obtido.

Também os dados expostos na coluna precisão induzem a informações negativas acerca do uso

deste modelo para previsão de informação. A “matriz de confusão” representativa do acerto efetivo

Page 88: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

70

para cada uma das classes, ajuda, neste caso, a perceber que a classe cuja precisão da sua

previsão será maior é a relativa aos dados agrupados no conjunto B. Contudo, a taxa de precisão

deste não deverá ser superior a cerca de 0.506 e, deste modo, a confiança exprimida também não

é suficientemente motivadora.

Apesar de tudo, foi efetuada subsequentemente a etapa relativa à validação do modelo obtido.

Desta forma, e como já foi exposto, procedeu-se à utilização de dados previamente obtidos e

constituidores do conjunto destinado a testes para, assim, poder-se fazer uma validação do

modelo apresentado, assente no algoritmo de Naive Bayes. Deste modo, procedeu-se à execução

desta tarefa, da qual se obteve o conjunto de resultados apresentados na 4.7.

Figura 4.7 Janela de output apresentada pelo WEKA quando aplicado o algoritmo de Naive Bayes

para o atributo musical “tempo”, utilizando-se um conjunto de dados de teste para o efeito.

Page 89: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

71

Ao comparar-se os resultados obtidos aquando do uso do conjunto de dados de treino, com os

obtidos através do conjunto de dados de teste, pode-se observar que a exatidão entre os dois é

muito similar. De facto, se no primeiro modelo obtido foram classificadas de forma correta cerca de

57% das instâncias, na avaliação feita sobre os dados de teste foram corretamente classificadas

cerca de 53% dos registos. Também a precisão média prevista é bem próxima, só diferindo de

cerca de 0.02 unidades entre os dois modelos. Este conjunto de comparações indica que o modelo

obtido não deverá falhar quando forem aplicados dados novos e desconhecidos ao mesmo e,

assim, pode-se definir o modelo como sendo amplamente adaptável.

Numa abordagem conclusiva ao algoritmo de Naive Bayes pode-se afirmar que, para a

característica musical “Tempo”, o modelo de classificação obtido não produzirá bons resultados. De

facto, a probabilidade da classificação encontrada ser a correta é de pouco mais do que 50% e,

deste modo, este algoritmo não deverá ser seguido. Apesar de tudo, e como já foi acima

abordado, o modelo encontra-se bem construído, é adaptável e responderá bem a nova

informação desconhecida. Esta conclusão pode ser retirada através da validação efetuada com uso

do conjunto de dados teste. Convém no entanto referir que o modelo apresentado, a título de

exemplo, é apenas respetivo ao atributo musical “Tempo” e, desta forma, não se pode generalizar

de forma imediata que este algoritmo não se enquadrará como solução para o presente problema.

Neste contexto foram criados vários modelos respetivos a todas as propriedades que se pretendem

prever e, estes modelos, encontram-se sumariamente apresentados na tabela 4.3.

Page 90: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

72

Propriedade Musical Percentagem Instâncias

Corretamente Calculadas Precisão Média

Duração de Audição 99.66% 0.996

Música não processado não processado

Ano da Música 68.46% 0.518

Década da Música 70.83% 0.606

Key 70.75% 0.504

Modo 70.79% 0.501

Loudness 52.73% 0.488

Tempo 56.99% 0.506

Percentagem de Beats 81.8% 0.679

Percentagem de Secções 87.46% 0.765

Duração 41.13% 0.381

Hottness 87.22% 0.761

Índice de Vício 54.59% 0.515

Artista não processado não processado

Familiaridade do Artista 69.32% 0.649

Hottness do Artista 62.36% 0.618

Índice de Vício do Artista 48.72% 0.408

Álbum não processado não processado

Ano do Álbum 20.5% 0.179

Década do Álbum 45.86% 0.418

Tabela 4.3 Informação estatística acerca do resultado obtido pelos modelos criados com uso do

algoritmo de Naive Bayes.

A partir dos dados expostos na tabela 4.3 pode-se finalmente concluir que a utilização do algoritmo

de Naive Bayes não trará grande ajuda na procura por conhecimento preditivo. De facto, os dados

obtidos para a característica musical “Tempo” retratam, de um modo geral, o conjunto de

resultados proveniente de todos os outros atributos caracterizadores de uma música. Desta forma,

pode-se afirmar de forma conclusiva que o algoritmo não será utilizado como solução para o

presente problema.

Page 91: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

73

4.4.4 Árvores de Decisão

Tal como o algoritmo de Naive Bayes, as árvores de decisão definem-se por procurarem classificar

instâncias tendo como base de conhecimento registos previamente classificados (Quinlan, 1993).

De igual forma, também este algoritmo requer a existência de dados de treino, sobre os quais

construirá um modelo, e dados de teste, a partir dos quais procurará validar o modelo previamente

obtido. Seguindo esta linha de raciocínio foi necessário obterem-se dados que procurassem

traduzir informação amplamente representativa da informação histórica disponível. Feita a

obtenção dos registos referentes aos conjunto de dados de treino e, subsequentemente, de dados

de teste, procedeu-se à criação de um modelo classificativo tendo como base o algoritmo referente

às árvores de decisão. Este modelo corresponde à classificação da classe “Tempo” que, assim,

procura exemplificar o output gerado pelo sistema WEKA. A janela de resultados pode ser

visualizada com detalhe na figura 4.8.

Page 92: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

74

Figura 4.8 Janela de output apresentada pelo WEKA quando aplicado o algoritmo de Árvores de

Decisão para o atributo musical “tempo”, utilizando-se um conjunto de dados de treino para o

efeito.

Como se pode constatar pelos resultados obtidos, o número de instâncias corretamente

classificadas corresponde a pouco mais do que 57.69%, enquanto que o número de instâncias cuja

classificação não foi correta situa-se em cerca de 42% do total de registos. Por outro lado pode-se

verificar que a taxa de precisão média é de cerca de 0.333 unidades, o que não transmite grande

confiança em relação às predições que poderão advir se se utilizar este algoritmo. Além destas,

também a “matriz de confusão” transmite informações não muito positivas em relação ao modelo

encontrado. Em suma, estes três grandes conjuntos de informação induzem a uma conclusão nada

favorável à utilização do presente algoritmo. Torna-se portanto importante perceber que, ao usar-

se o algoritmo de árvore de decisão não se iria conseguir obter classificações que retratassem de

forma correta e frequente a distinção classificativa a partir do atributo “Tempo” e, desta forma,

Page 93: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

75

seria muito difícil escolher-se este algoritmo como sendo o favorável ao solucionamento do

problema proposto. Convém contudo salientar que, neste ponto, apenas foi obtido o modelo

classificativo para a propriedade musical “Tempo” e, assim, não se pode desde já fazer uma

abordagem generalizadora e conclusiva acerca da eficácia do algoritmo “árvores de decisão” no

contexto deste estudo.

Apesar das expectativas não serem animadoras, foi ainda executada a segunda etapa constituidora

de todo este método assente na procura de classificações. Deste modo procedeu-se à validação do

modelo encontrado a partir dos dados previamente selecionados para o efeito. O resultado desta

validação pode ser visto na figura 4.9.

Figura 4.9 Janela de output apresentada pelo WEKA quando aplicado o algoritmo de Árvores de

Decisão para o atributo musical “tempo”, utilizando-se um conjunto de dados de teste para o

efeito.

Page 94: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

76

A partir dos dados expostos pode-se rapidamente perceber que o modelo encontrado reflete

características intrínsecas à adaptabilidade, o que permite que haja uma boa reação deste

aquando da classificação de novos e diferentes registos. A afirmação é suportada por uma breve

análise comparativa entre os resultados apresentados na figura 4.8 e os apresentados na figura

4.9. Enquanto que no modelo obtido pelos dados de teste o valor relativos às instâncias

corretamente identificadas e a precisão esperada correspondem, respetivamente, a 57.69% e

0.333, no modelo obtido com o fornecimento de dados de teste estes valores são de 55% e 0.303.

Esta similaridade existente entre estes, e todos os outros resultados descritos nas figuras referidas,

permite que se valide o modelo encontrado como estando bem construído e devidamente

preparado para dar resposta a classificações de registos com valores desconhecidos.

De forma semelhante ao que foi efetuado durante a explicação de utilização do algoritmo Naive

Bayes, também aqui se procurará chegar a uma conclusão que reflita os resultados estatísticos

descritos por todos os modelos obtidos. Tais modelos serão respetivos às propriedades musicais

que se pretendem prever. A representação estatística obtida poderá ser visualizada na tabela 4.4,

onde se procura sumariar as informações descritoras de cada modelo encontrado.

Page 95: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

77

Propriedade Musical Percentagem Instâncias

Corretamente Calculadas Precisão Média

Duração de Audição 99.79% 0.996

Música não processado não processado

Ano da Música 70.79% 0.501

Década da Música 72.48% 0.728

Key 67.79% 0.551

Modo 60.79% 0.501

Loudness 62.65% 0.644

Tempo 57.69% 0.303

Percentagem de Beats 71.91% 0.671

Percentagem de Secções 77.46 0.765

Duração 52.98% 0.528

Hottness 77.22% 0.731

Índice de Vício 66.22% 0.655

Artista não processado não processado

Familiaridade do Artista 70.81% 0.701

Hottness do Artista 77.03% 0.769

Índice de Vício do Artista 68.61% 0.686

Álbum não processado não processado

Ano do Álbum 41.23% 0.43

Década do Álbum 59.79% 0.592

Tabela 4.4 Informação estatística acerca do resultado obtido pelos modelos criados com uso do

algoritmo de Árvores de Decisão.

Com base na informação descrita pode-se afirmar que o conjunto dos modelos classificativos

obtidos com base no algoritmo de Árvores de Decisão, têm a si associados uma percentagem

média de instâncias corretamente classificadas de 67.66%. Além disso, à exceção da duração de

audição, a precisão média obtida nunca ultrapassa as 0.765 unidades, pelo que se pode concluir

que a precisão de uma futura previsão não terá a si associada um grau de confiança muito

elevado. Tendo em conta estes dois indicadores (mas não só), pode-se concluir que o modelo

classificativo não contém resultados estatísticos muito animadores e transmissores de confiança e,

Page 96: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

78

portanto, o algoritmo de Árvores de Decisão não será utilizado como solução para resolução do

problema enunciado no presente estudo.

4.4.5 Redes Neuronais

O último algoritmo utilizado com vista à determinação de uma propriedade classificativa para

novos registos foi o “Multilayer Perceptron” (Pentaho, n.d.). Este classificador usa retro propagação

para classificar novas instâncias e é caracterizado por ser uma rede neuronal clássica, com a

distinção de ter mais do que uma camada de neurónios alimentados diretamente. Esta rede pode

ser construída à mão, criada por um algoritmo, ou feita por ambos. Além disso pode ainda ser

monitorizada e alterada durante o processamento respetivo ao treino. Uma outra característica

intrínseca a este algoritmo é o facto dos nodos desta rede serem todos sigmoide, à exceção de

quando a classe é numérica. (Mining, n.d.). Este algoritmo assenta no conceito inerente às redes

neuronais e será de seguida utilizado, com base no sistema WEKA, para se procurar obter

classificações de instâncias tendo como base a classificação corretamente atribuída a registos

previamente existentes.

Como avançado nos dois algoritmos de classificação já estudados, existe uma necessidade inerente

à criação de dois conjuntos de dados previamente definidos para que se possa, assim, proceder à

construção de um modelo classificativo. Estes dois conjuntos apresentados correspondem à

informação utilizada como base de treino do modelo e à informação utilizada com vista à validação

do modelo obtido. Durante o processamento deste método serão usados os mesmos conjuntos de

informação que foram utilizados nos dois algoritmos precedentes. As estatísticas respetivas ao

conjunto de dados teste referido poderão ser visualizadas a partir da tabela 4.2.

A partir dos dados teste descritos foi calculado o modelo classificativo assente na utilização do

algoritmo baseado em redes neuronais. De forma semelhante ao já efetuado durante a explicação

dos algoritmos Naive Bayes e Árvores de Decisão, será a seguir apresentado e explicado um

sumário de informação referente ao modelo construído para a propriedade musical “Tempo”. Esta

informação estatística poderá ser visualizada na figura 4.10.

Page 97: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

79

Figura 4.10 Janela de output apresentada pelo WEKA quando aplicado o algoritmo de Multilayer

Perceptron (Redes Neuronais) para o atributo musical “tempo”, utilizando-se um conjunto de

dados de treino para o efeito.

Ao contrário do que aconteceu com os algoritmos previamente estudados, os dados estatísticos

obtidos pelo modelo apresentado transmitem uma confiança média em relação à possível utilização

deste algoritmo como método classificativo. De facto, ao observar-se os dados extraídos percebe-

se que existe uma percentagem de acerto de cerca de 71.5% dos registos. Além disso, a taxa de

precisão média ronda o valor de 0.72. Estes valores permitem que se possa encarar com maior

otimismo os resultados que poderão advir da aplicação deste algoritmo nos outros atributos

musicais. Contudo, antes de se proceder ao cálculo respetivo das restantes propriedades musicais,

dever-se-á validar a qualidade do modelo obtido para a característica “Tempo”. Só em conjunto

com os dados obtidos por esta validação se poderá obter informação mais concreta acerca do

Page 98: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

80

modelo criado. Esta validação será a seguir discutida tendo como base os dados estatísticos

apresentados na figura 4.11.

Figura 4.11 Janela de output apresentada pelo WEKA quando aplicado o algoritmo de Multilayer

Perceptron (Redes Neuronais) para o atributo musical “tempo”, utilizando-se um conjunto de

dados de teste para o efeito.

A utilização dos dados de teste com vista a se poder fazer uma validação do modelo obtido, trouxe

como resultado informação estatisticamente otimista. De facto, como poderá ser visualizado a

partir da figura 4.9, foram corretamente classificadas cerca de 83.57% das instâncias e, deste

modo, a percentagem de erro situou-se nos 16.43%. Além disso, é ainda apresentada uma

precisão média de cerca de 0.839, que refere de forma indireta a grande probabilidade de se

classificar corretamente uma nova instância de valores. Quando comparados estes dados com os

obtidos pelo modelo construído a partir dos dados de teste, pode-se facilmente perceber que

Page 99: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

81

existe um melhoramento do modelo, isto é, foram corretamente classificadas mais instâncias e

todos os outros indicadores apresentado traduzem informação otimista, relativa à possibilidade de

previsão de uma classificação de forma correta. O conjunto desta informação, bem como a

comparação efetuada entre o modelo obtido e os dados referentes à validação do mesmo,

permitem que se faça uma conclusão positiva acerca do algoritmo utilizado e acerca do modelo

encontrado. De facto, apesar da variação dos valores entre o modelo e os dados de validação não

ser tão baixa como a apresentado pelos algoritmos de Naive Bayes e as árvores de decisão, o

presente algoritmo expõe informação relativamente mais otimista do que os demais.

Contudo, el como já foi explicado para os outros algoritmos descritos, só os dados respetivos aos

modelos obtidos para todos os atributos musicais poderão definir, de forma concreta, a qualidade

de previsão que poderá advir do uso deste algoritmo. Desta forma será a seguir apresentada uma

tabela descritora da informação de interesse respetiva a cada modelo construído. Esta informação

estatística poderá ser visualizada a partir da tabela 4.5.

Page 100: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

82

Propriedade Musical Percentagem Instâncias

Corretamente Calculadas Precisão Média

Duração de Audição 99.79% 0.996

Música não processado não processado

Ano da Música 72.67% 0.635

Década da Música 74.26% 0.731

Key 71.65% 0.625

Modo 73.4% 0.713

Loudness 63.63% 0.648

Tempo 71.50% 0.722

Percentagem de Beats 82.59% 0.766

Percentagem de Secções 87.44% 0.839

Duração 49% 0.541

Hottness 87.97% 0.842

Índice de Vício 65.25% 0.639

Artista não processado não processado

Familiaridade do Artista 80.74% 0.801

Hottness do Artista 76.28% 0.763

Índice de Vício do Artista 67.25% 0.67

Álbum não processado não processado

Ano do Álbum 37.46% 0.414

Década do Álbum 57.27% 0.566

Tabela 4.5 Informação estatística acerca do resultado obtido pelos modelos criados com uso do

algoritmo de Multilayer Perceptron (Redes Neuronais).

Tendo como base a tabela estatística acima apresentada, poderá concluir-se que o algoritmo que

traduz melhores resultados é o “Multilayer Perceptron”. De facto, o uso desta técnica transmite

uma visão ponderadamente otimista e, assim, assume-se como a preferencial para o

solucionamento do presente problema. Existem, contudo, modelos cuja precisão não é

notoriamente positiva, como é o caso do modelo respetivo à característica Loudness (0.648), o

respetivo à tentativa de previsão da duração da música (0.541), o modelo representativo da

propriedade refletora do índice de vício (0.639), ou ainda o referente ao ano e década de

Page 101: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

83

lançamento do álbum agrupador da música ouvida (0.414 e 0.566, respetivamente). Esta

imprecisão demonstrada poderá ter como causa a discretização previamente efetuada ou pode até

ter como origem registos incorretos. Desta forma será necessário efetuar-se uma abordagem

iterativa que assente na repetição dos passos referentes à análise e transformação dos dados para,

assim, tentar-se aumentar a qualidade de precisão intrínseca aos modelos. Esta etapa será

constituidora do trabalho futuro, durante o qual se procurará melhor a qualidade dos modelos

obtidos pelo algoritmo de Multilayer Perceptron.

4.4.6 Processo de recomendação

Como explicado no capítulo referente à “Metodologia envolvente”, a recomendação de uma música

será feita a partir das previsões previamente delineadas e devidamente ordenadas. De facto, até

este ponto foi possível obterem-se duas assunções primordiais: a previsão respetiva a cada

atributo musical e o “peso de probabilidade” associado a cada uma das previsões efetuadas. Se

durante os métodos de associação o peso probabilístico pode ser imediatamente retirado a partir

da precisão respetiva à regra que se irá utilizar, durante os métodos classificativos o peso

probabilístico referir-se-á à precisão média exposta pelo modelo associado à característica sobre a

qual será feita a previsão. De facto, tal como foi demonstrado pelas tabelas de resumo estatístico

dos modelos criados para cada algoritmo estudado, a cada propriedade musical está associado um

valor de precisão média e, deste modo, será a partir deste valor que se procederá à ordenação

destes modelos e consequente uso dos mesmos.

Desta forma foi seguida a metodologia previamente estabelecida, com vista a se poder solucionar

o problema referente à recomendação musical respetiva a um dado momento bem definido.

Durante este estudo foram seguidos os dados resultantes de dois dos algoritmos previamente

estudados, o Algoritmo de Previsão Apriori e o Multilayer Perceptron. Esta escolha foi efetuada com

base nos resultados estatísticos exprimidos pelo uso de cada uma destas técnicas. Após a

obtenção de conhecimento referente à previsão esperada e ao grau de precisão caracterizador

desta, foi aplicado o método exposto pela figura 4.1. Durante a execução desta metodologia houve

um problema que se evidenciou de forma frequente: sempre que eram aplicados filtros sucessivos

até à obtenção da música a recomendar, era comum obter-se como resultado não uma música,

mas sim um conjunto alargado de músicas enquadradas nos filtros até então aplicados. Deste

modo, teve de se proceder ao estudo de uma solução que permitisse resolver este

Page 102: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

84

constrangimento. Apesar desta procura de solução constituir uma das etapas referentes ao

trabalho futuro deste projeto, foi desde já aplicada uma técnica que permitisse ultrapassar este

problema. De facto, sempre que fossem encontradas mais do que uma música a recomendar,

estas eram avaliadas a partir do grau de similaridade exibido para com a música anteriormente

ouvida e, a partir desta avaliação, era escolhida a faixa musical que mais se assemelha-se à

anterior. Neste ponto torna-se importante notar que, uma música só será considerada anterior

caso tenha sido reproduzida dez minutos antes do início da nova reprodução. Caso não hajam

registos relativos a uma música anteriormente escutada, será seguido um critério que assenta na

reprodução da música mais semelhante ao conjunto de faixas já ouvidas pelo utilizador. No

entanto, este constrangimento continua a representar uma fraqueza do sistema construído e,

deste modo, procurar-se-á fazer um estudo mais rigoroso acerca deste, durante o desenrolar do

trabalho futuro.

4.4.7 Reflexão sobre a mineração dos dados

Nesta secção serão apresentados, de forma resumida, os resultados obtidos pela aplicação dos

algoritmos de DM expostos. Esta apresentação será feita com base na tabela 4.6, onde se poderão

observar os dados estatísticos relativos aos resultados que advêm da aplicação de cada um dos

algoritmos classificativos estudados. Assim, serão descritos dados relativos ao algoritmo de Naive

Bayes, às Árvores de Decisão e, ainda, às Redes Neuronais.

Método Usado

Média de Percentagem de

Instâncias Corretamente

Calculadas

Média de Precisões Médias

Obtidas

Algoritmo de Naive Bayes 64.069% 0.558

Árvores de Decisão 67.955% 0.632

Redes Neuronais 71.656% 0.701

Tabela 4.6 Informação estatística acerca do resultado obtido para todos os modelos criados a

partir de algoritmos classificativos.

Tendo como suporte a tabela 4.6, pode-se afirmar que o método que exprima maior confiança é o

assente em redes neuronais. De facto, apesar da sua percentagem média de acerto classificativo

apenas rondar os 72% e a sua precisão média não ser muito superior a 0.7, este constituiu o

método com os melhores resultados obtidos. Desta forma, torna-se claro que uma prévia escolha

Page 103: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

85

de uma metodologia de DM a usar recaia sobre as Redes Neuronais. Contudo, e tal como já foi

exposto, existem alguns atributos musicais que necessitam de ser novamente discretizados, com

vista a se encontrarem conjuntos que reflitam melhores resultados. Com esta nova iteração do

processo de discretização, espera-se que os dados relativos à precisão e correta instanciação de

dados melhorem e que, portanto, se possam obter modelos mais precisos e confiáveis.

Por último torna-se importante referir que, apesar dos dados apresentados não constituírem

valores extremamente confiáveis, acredita-se que com um melhoramento do processo de

discretização de alguns atributos musicais, ou até de dados relativos às dimensões, se obterá

acréscimos consideráveis relativos aos índices tradutores de resultados para os modelos obtidos.

Deste modo, acredita-se que a metodologia seguida, quando assente nas redes neuronais,

permitirá a obtenção de dados preditivos confiáveis e que, portanto, darão origem a

recomendações que vão de encontro com as preferências musicais do ouvinte.

Page 104: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Um Caso de Estudo

86

Page 105: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Avaliação de Resultados

87

Capítulo 5

5Avaliação de Resultados

O processo de reflexão sobre os resultados obtidos constitui umas das etapas principais no

processo de obtenção de conhecimento. É nesta etapa que, após uma análise cuidada dos dados

obtidos, poder-se-á definir se a informação proveniente do estudo até então realizado define, ou

não, algum conhecimento válido e útil, conhecimento que se compreenda no domínio do problema

deste projeto. De notar que a análise de resultados poderá induzir à necessidade de se repetir o

processo de extração de conhecimento, levando ao redesenho da definição do problema e à

aplicação de novas etapas e/ou metodologias que empreguem a procura por conhecimento útil e

que realmente reflita a procura de soluções perspetivada. Desta forma proceder-se-á de seguida à

interpretação dos resultados obtidos através da metodologia discutida no decorrer do quarto

capítulo.

5.1 Resultados obtidos

A metodologia adotada e seguida no desenvolvimento do presente sistema de recomendações

baseou-se na predição de várias características musicais, de forma individual. Este conjunto de

previsões efetuadas refere-se sempre a um momento concreto que é devidamente definido por

todas as suas componentes dimensionais. Ora, o somatório de todos os atributos previstos

auxiliará na sugestão musical a efetuar-se e, portanto, estas propriedades constituirão, no seu

conjunto, cada uma das recomendações efetuadas. Por vista a se verificar se este processo,

referente à sugestão de faixas musicais, se encontra bem construído, procedeu-se à comparação

Page 106: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Avaliação de Resultados

88

de algumas previsões efetuadas por este, com as músicas realmente escutadas por um dado

ouvinte.

De uma forma geral, a taxa de sucesso, relativa ao paralelo efetuado entre a música recomendada

pelo presente sistema e a efetivamente ouvida pelo utilizador, é muito diminuta. Esta forma de

avaliação não pode, no entanto, sumariar a qualidade do sistema de recomendações construído.

Com efeito, o facto de um utilizador não ter ouvido exatamente a mesma música que foi prevista

pela presente metodologia não evidencia que o ouvinte não gostasse também de ter ouvido a faixa

musical recomendada. Com base em nesta premissa facilmente se compreenderá que só se poderá

ter uma visão conclusiva da qualidade deste sistema de recomendações quando se desenvolver a

aplicação perspetivada pelo presente estudo. De facto, só depois de ter sido efetivamente efetuada

uma recomendação é que se poderá obter o input do ouvinte em relação a esta. Na aplicação

objetivada este input será traduzido por duas ações distintas: a audição da faixa musical até ao

fim, ou a rejeição manual da música recomendada em detrimento de uma outra. Será com base

nesta tomada de decisão que se poderá verdadeiramente retirar conclusões definitivas acerca da

qualidade do sistema de recomendações construído no decorrer da presente investigação.

Pelas razões apresentadas não se pode retirar conclusões definitivas acerca da qualidade do

sistema criado, contudo existe um grande otimismo em relação às predições obtidas por este. Este

otimismo é suportado pelos bons indicadores apresentados pela aplicação do algoritmo Multilayer

Perceptron e pelo algoritmo de previsão Apriori.

5.2 Assinaturas

5.2.1 Processo de Construção de Assinaturas

Constituindo um dos objetivos caracterizadores do desenvolvimento do presente estudo, as

assinaturas procurarão traduzir de forma inequívoca a informação preferencial exibida por cada

utilizador. O conjunto de decisões que todos os dias tomamos, os comportamentos que exibimos

durante a tomada de decisões ou, até, os gostos que evidenciamos a partir destas opções, definem

e traçam o nosso perfil, a nossa personalidade. Será com base nesta premissa que se justificará o

propósito assente na procura e construção de assinaturas que traduzam os gostos musicais dos

utilizadores – uma assinatura musical. Como facilmente se poderá compreender, no caso concreto

Page 107: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Avaliação de Resultados

89

do presente caso de estudo, as assinaturas não serão mais do que a consolidação das preferências

musicais historicamente exibidas por cada utilizador. Será a partir daqui que se fará uma

abordagem que procure definir e, mais importante ainda, distinguir cada um dos diferentes

apreciadores musicais.

A construção de uma assinatura refletora das preferências musicais de um ouvinte deverá basear-

se nos dados referentes às músicas ouvidas por este, bem como nas propriedades caracterizadoras

do momento de cada audição. De um modo mais informal pode-se afirmar que uma assinatura

será constituída por todos os padrões encontrados e exibidos pelas preferências históricas de um

utilizador. Contudo, para este padrão assumir um papel preponderante na definição de uma

assinatura, deverá responder a dois requisitos essenciais:

1. terá de ser verificado de forma bastante frequente pelo conjunto de ações tomadas pelo utilizador e, portanto, a sua precisão deverá ser relativamente alta;

2. não deverá ser comum a vários ouvintes diferentes.

Page 108: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Avaliação de Resultados

90

Figura 5.1 Exemplo de padrões, informalmente apresentados, que poderão ser obtidos pelos

métodos de extração de conhecimento.

Na figura 5.1 encontram-se, a título de exemplo, representados dados relativos a possíveis padrões

que poderão constituir o resultado dos métodos até então abordados. Ao lado direito de cada

padrão informalmente descrito, poderá ainda ser visto um valor decimal que corresponde à

precisão obtida para cada regra descritora de ações frequentes do utilizador. Com base nessa

informação, pode-se agora proceder à explicação mais detalhada dos dois requisitos essenciais que

deverão ser respondidos pelos padrões definidores de uma assinatura.

O primeiro requisito descrito refere-se à necessidade de obtenção de dados que se possam traduzir

em padrões frequentemente exibidos pelo utilizador. Será, a partir dste, que a precisão será maior

e, portanto, será feita uma definição mais correta e provável quer das ações passadas do

utilizador, quer das ações perspetivadas para o mesmo. Neste contexto estão legíveis todos os

padrões acima apresentado, pois todos eles têm a si associados valores de precisão sempre

Page 109: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Avaliação de Resultados

91

superiores a cerca de 0.9. O segundo requisito, obrigatório durante a escolha do conhecimento

que irá caracterizar a assinatura de um ouvinte, é a necessidade do padrão encontrado não ser

frequente em todos os outros utilizadores. De facto, existem casos em que se encontra informação

transversal a um grande grupo de utilizadores e, portanto, esta não será caracterizadora da

unicidade respetiva aos gostos musicais de cada um deles. Na figura 4.1 existe um padrão extraído

que é traduzido pela seguinte afirmação: “Durante o mês de dezembro ouve músicas cujo género

musical é “Christmas””. Esta frase, descritora de um padrão musical encontrado, encontra-se

associada a três dos quatro utilizadores representados e, deste modo, traduz informação repetida

em 75% dos ouvintes do sistema. Quando existe uma taxa tão elevada de repetição de um padrão

para diferentes utilizadores, o conhecimento extraído não trará um grande valor distintivo relativo

ao ouvinte sobre o qual se pretende extrair conhecimento. De facto, ao observar-se o caso do

exemplo apresentado, facilmente se compreende que será bastante rotineira a audição de músicas

natalícias durante o período destas épocas festivas, portanto (no presente contexto) não se deverá

ter em consideração o conhecimento obtido pois confundirá o sistema, uma vez que não propõe

resultados que possam diferenciar um utilizador dos outros.

Desta forma, pode-se sumariar que um ouvinte será definido por todos os padrões encontrados a

respeito das suas preferências musicais, desde que suportem um valor de unicidade relativamente

alto. Quanto maior for o número de padrões obtidos e associados a um valor de precisão alto e a

um valor de unicidade alto, melhor qualidade terá a assinatura caracterizadora dos gostos musicais

expressos pelo ouvinte. Utilizando-se novamente o exemplo apresentado na figura 4.1, pode-se

facilmente caracterizar o utilizador C a partir do conhecimento adquirido em relação aos seus

hábitos. De facto, o ouvinte poderá ser caracterizado pelas 3 afirmações descritas: “Em dias sem

chuva, durante o mês de outubro ouve músicas com BPM alto”, “Sempre que chove, à segunda-

feira ouve músicas cuja Loudness é elevado” e “Em dias cuja temperatura média é baixa, ouve

músicas do artista XPTO”. Do mesmo modo que uma assinatura gráfica deverá ser sempre

idêntica, ou pelo menos com certos traços semelhantes de representação para representação,

também se espera que os padrões musicais sejam frequentemente seguidos. É neste aspeto que

reside uma das principais motivações assente na definição de assinaturas caracterizadoras de cada

ouvinte.

A assinatura ideal deveria ser notoriamente diferente de todas as outras já existentes e deveria

apresentar-se graficamente igual ao longo de todas as suas representações. Contudo, a perfeição

Page 110: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Avaliação de Resultados

92

nem sempre é encontrada e não será no domínio das assinaturas que o será. De facto, no mundo

real, uma assinatura poderá ser semelhante a alguma outra já existente e, além disso, esta

representação gráfica irá muito provavelmente sofrer alterações ao longo do tempo. Estas

condições inevitáveis não só se verificam na representação gráfica do nome de um dado indivíduo,

mas também nas assinaturas sugeridas no presente domínio de investigação. Antes de se proceder

à explicação dos constrangimentos que poderão advir do problema exposto, torna-se relevante

fazer uma abordagem relativa à motivação intrínseca à construção de assinaturas no domínio

deste projeto. As vantagens obtidas pela caracterização inequívoca de um dado ouvinte

assemelham-se às mesmas encontradas para os sistemas de assinatura rotineiros. De facto, a

partir da construção de um sistema que permita caracterizar de forma inequívoca um utilizador,

podem-se fazer algumas validações relativas à sua identidade e, portanto, relativas à autenticação

de um dado ouvinte num sistema. Este conjunto de características pode ainda definir o perfil

musical do utilizador, permitindo, desta forma, que se façam recomendações orientadas à

assinatura exibida pelo mesmo. Ao testar-se a autenticidade do indivíduo que está, num dado

momento, a ouvir música, poder-se-á ainda concluir acerca da identidade do mesmo e, assim,

possibilitar-se-á o enquadramento deste com a veracidade dos dados recolhidos aquando cada

audição. Além destas, existem ainda um monte de aplicações que poderão ser derivadas, por

vezes não de forma direta, a partir da utilização dum sistema que procure identificar de forma

inequívoca os seus utilizadores.

5.2.2 Representação Gráfica de Assinaturas

Pelos motivos expostos, torna-se agora relevante apresentar a metodologia utilizada na definição

de assinaturas, bem como uma possível representação gráfica das mesmas. Deste modo, por

forma a se poder definir uma assinatura, a partir de um modelo matemático que procure exprimir

o conhecimento obtido, surgiu a necessidade de se traduzir todos os atributos envolvidos em

valores numéricos. Respetivamente aos atributos musicais, obteve-se um conjunto de valores

compreendido entre um e trinta e dois. Este conjunto de dados numéricos representa todos os

conjuntos de valores discretos (obtidos durante o processo de discretização) respetivos a todos os

atributos musicais e, portanto, a cada um deles está associado um atributo musical e um intervalo

de valores. Por sua vez, respetivamente aos dados meteorológicos e aos dados temporais, os

mesmos já se encontram representados por dados numéricos e, deste modo, dispensam uma

Page 111: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Avaliação de Resultados

93

conversão semelhante à aplicada aos atributos musicais. A tabela 5.1 apresenta a transformação

efetuada durante o processo descrito.

Conjunto Discreto Valor Numérico

Duração de Audição

0 1

1 2

Loudness

]- , -14] 3

]-14, -7] 4

[-7, + [ 5

Tempo

]- , 106] 6

]106, 167] 7

[167, + [ 8

Percentagem de Beats

]- , 1.8] 9

]1.8, 2.7] 10

]2.7, + [ 11

Percentagem de Secções

]- , 0.04] 12

]0.04, + [ 13

Duração

]- , 203] 14

]203, 288] 15

]288, + [ 16

Conjunto Discreto Valor Numérico

Hottness

]- , 38.7] 17

]38.7, 52.3] 18

]52.3, + [ 19

Índice de Vício

]- , 2] 20

]2, 3] 21

]3, + [ 22

Familiaridade do Artista

]- , 0.65] 23

]0.65, + [ 24

Hottness do Artista

]- , 37.9] 25

]37.9, + [ 26

Índice de Vício do Artista

]- , 5.8] 27

]5.8, 11] 28

]11, 24.3] 29

]24.3, 39.5] 30

]39.5, 43.1] 31

]43.1, + [ 32

Tabela 5.1 Resultado da conversão dos conjuntos discretos relativos aos atributos musicais, para

dados numéricos.

A partir deste momento será feita uma abordagem explicativa do modelo matemático usado na

caracterização base de uma assinatura. Esta explicação basear-se-á em dois utilizadores exemplo.

Page 112: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Avaliação de Resultados

94

Estes ouvintes são descritos por cinco padrões definidores da sua assinatura musical e, os

mesmos, encontram-se apresentados na figura 5.2.

Figura 5.2 Padrões caracterizadores da assinatura musical de dois ouvintes.

Deste modo, com vista a proceder-se à transformação das regras apresentadas num modelo

matemático, foi construído um algoritmo que facultasse esta conversão e que, posteriormente,

permitirá que se faça uma representação gráfica da assinatura musical obtida. Se observarmos

com atenção, numa primeira fase pode-se descrever a função respetiva à representação de uma

assinatura, apenas a partir do atributo musical obtido para cada regra e a partir do conjunto

temporal respetivo a esta. Desta forma, facilmente se pode inferir que esta representação poderia

Page 113: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Avaliação de Resultados

95

ser traduzida por uma função com apenas duas variáveis que, assim, orientar-se-á por dois eixos:

o do X, respetivo aos dados temporais (em minutos) e o do Y, respetivo à informação numérica

relativa ao intervalo discreto do atributo musical. Uma representação deste género poderá ser

construída a partir dos padrões obtidos para o utilizador A (apresentados na figura 5.2). A

representação gráfica enunciada pode ser observada a partir da figura 5.3, onde constam valores

relativos a três anos de audição musical.

Figura 5.3 Representação gráfica (simplificada) de uma assinatura.

Como se pode observar pelo gráfico apresentado, a variação dos padrões caracterizadores de uma

assinatura pode ser descrita, de forma simplificada, pelo atributo musical previsto para um

determinado período de tempo. Se se utilizar como exemplo a primeira regra:

“temp_media_calc = C Ʌ dia_ano = B Ʌ dia_semana = C percentagem_secções = A”

Pode-se inferir que, quando o dia do ano está compreendido entre o dia 20 de Março e o dia 21 de

Junho e é Quarta-Feira, existe uma grande probabilidade da música ouvida ter um tempo

compreendido entre 106 BPM e 167 BPM. Este conhecimento é representado pelo conjunto de

pontos representados na linha onde o atributo musical é igual a 7. Seguindo esta linha de

Page 114: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Avaliação de Resultados

96

raciocínio, foram representados graficamente todos os outros padrões constituidores da assinatura

musical do ouvinte.

Contudo, para se poder representar de forma correta todo o conhecimento adquirido, dever-se-á

também traduzir os dados meteorológicos envolventes em características visuais que permitam

fazer uma representação visual da assinatura. Deste modo, utilizou-se uma metodologia assente

na apresentação a partir de um número hexadecimal, que será representativo da cor de cada

ponto. Assim, os 4 primeiros valores do sistema de numeração hexadecimal serão constituídos,

respetivamente, pelo valor da temperatura máxima, o valor da temperatura mínima, o valor

descritor da temperatura médica calculada e o valor da precipitação. Os 2 valores restantes, bem

como os valores ausentes no padrão, serão representados por „F‟. Por forma a se simplificar este

interlúdio teórico, se se tiver como exemplo a regra acima descrita, o valor hexadecimal seria:

#FF1FFF. De notar que a conversão do grupo discretizado em valor numérico é feita da mesma

forma que a apresentada para os atributos musicais, ou seja, cada conjunto será descrito, de

forma ordenada, por um valor inteiro.

Seguindo o algoritmo de caracterização visual exposto, procedeu-se à representação das duas

assinaturas expostas nas figuras 5.4 e 5.5. Esta representação gráfica é acompanhada por uma

legenda que permite diferenciar, com base numa caracterização simbólica, as várias cores obtidas.

Por sua vez, as cores obtidas foram ajustas com vista a se poderem visualizar de forma mais

notória. Contudo, para cada uma delas, será posteriormente apresentado qual deve ser o valor

hexadecimal respetivo a cada cor.

Page 115: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Avaliação de Resultados

97

Figura 5.4 Representação gráfica da assinatura respetiva ao utilizador A.

Figura 5.5 Representação gráfica da assinatura respetiva ao utilizador B.

A partir das representações gráficas apresentadas pode-se facilmente distinguir uma assinatura da

outra. De facto, do mesmo modo que as assinaturas gráficas do nosso nome nos distinguem,

também estas possuem características únicas que identificam e diferenciam cada um dos ouvintes

e que, portanto, os tornam únicos.

Esta apresentação gráfica de cinco padrões caracterizadores do estilo musical de um ouvinte, não

é mais do que uma forma de se poder demonstrar visualmente como uma assinatura pode ser

Page 116: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Avaliação de Resultados

98

identificadora e amplamente diferente de ouvinte para ouvinte. Esta representação constituiu,

deste modo, apenas um auxílio de demonstração do algoritmo estudado e construído com vista a

se definir assinaturas musicais caracterizadoras de cada ouvinte.

Por fim, a partir da explicação abordada, poder-se-á finalmente concluir que o algoritmo que

permite a representação de uma assinatura musical assenta numa função por ramos que, para

cada conjunto de dados temporais descritos num padrão, irá associar obrigatoriamente um valor

relativo ao atributo musical previsto. Além deste, terá ainda a si associado quatro incógnitas

respetivas aos dados temporais em vigor durante a audição musical. Deste modo pode-se

informalmente apresentar a função como sendo:

{

[ ]

{ | }

[ ]

De forma simplificada, o somatório traduz o valor numérico respetivo ao grupo discreto do atributo

musical obtido e, por sua vez, as condições posteriores pretendem filtrar a representação da

propriedade musical apenas para os dados temporais observados no padrão descrito. O valor “k”

encontra-se apresentado porque a representação temporal é feita em minutos e o valor “s” refere-

se ao intervalo de valores descritores do número de semanas existentes num ano. O cálculo

efetuado é feito apenas para um ano específico. Como já exposto, posteriormente surge ainda a

necessidade de se calcular o valor hexadecimal representativo do estado meteorológico em causa.

Por fim, torna-se relevante relembrar que a metodologia apresentada é apenas uma forma

encontrada que permite o cálculo e representação do algoritmo definidor de uma assinatura

musical. Neste modelo foi seguida uma abordagem assente num modelo de representação gráfico.

Esta permite que se faça uma visualização mais concreta de como uma assinatura pode

identificador inequivocamente um ouvinte e, ainda, de como esta pode ser notoriamente diferente

de utilizador para utilizador. Este auxiliar visual permitirá ainda que se faça uma exposição relativa

a uma das problemáticas deste problema, a existência de necessidade de ajustamento de

assinaturas, quando um utilizador altera temporalmente os seus gostos musicais.

Page 117: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Avaliação de Resultados

99

5.2.3 Variação de Assinaturas

Surge agora a necessidade de se expor alguns constrangimentos que poderão advir da utilização

deste sistema de assinaturas assente nas preferências musicais exibidas. Como já foi exposto, uma

assinatura tradicional poderá sofrer mudanças ligeiras ao longo do tempo. De forma semelhante,

também um utilizador pode alterar os seus gostos musicais de forma progressiva ao longo do

tempo. É neste contexto que surge o problema que advém do “desrespeito” pelo perfil musical

traçado e que pode ser representado pela questão: “Como saber se se trata de um utilizador

diferente ou se se trata do mesmo utilizador mas com os gostos musicais alterados?”. Com vista a

solucionar este problema foi seguida uma abordagem assente no nível de modificação verificado.

Isto é, caso exista um conjunto alargado de padrões, descritores e definidores de um utilizador,

que esteja a ser “desrespeitado”, deverá ser calculado o grau de desvio dessas regras

caracterizadoras.

De facto, a alteração dos gostos musicais de um utilizador podem levar a mudanças nos padrões

descritores de conhecimento obtidos. Deste modo, torna-se então necessário avaliar a distância

relativa existente entre a assinatura musical de um ouvinte e a sua nova assinatura musical obtida.

Com vista a se poder solucionar o problema descrito, foi desenvolvido um algoritmo que permite o

cálculo de distâncias entre padrões e que se pode traduzir por:

BEGIN

AUX:= 0;

CONTADOR:= 0;

FOREACH MINUTOassinatura_nova DO

FOREACH MINUTOassinatura_antiga DO

IF MINUTOassinatura_nova = MINUTOassinatura_antiga THEN

IF ATRIBUTO_MUSICALassinatura_nova = ATRIBUTO_MUSICALassinatura_antiga THEN

AUX += 1;

ELSE IF ATRIBUTO_MUSICALassinatura_nova

CONJUNTO_DE_VALORES_DISCRETOS_DE_ATRIBUTO_MUSICALassinatura_antiga THEN

AUX += 1 – | |

;

END

END

END

Page 118: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Avaliação de Resultados

100

CONTADOR += 1;

END

IF CONTADOR > 0 THEN

DISTANCIA:= AUX / CONTADOR;

ELSE

DISTANCIA:= 0;

END

END

Como referido, o algoritmo apresentado objetiva por calcular a distância existente entre um novo

conjunto de padrões encontrados e a assinatura musical pré-existente. Tendo como base o valor

resultante, compreendido entre 0 e 1, pode-se perceber notoriamente qual a diferença existente

entre o conjunto de audições recolhidas e o novo estilo musical do ouvinte. Com o conjunto de

valores respetivos às distâncias existentes, entre uma assinatura e as demais obtidas, pode-se

calcular qual a média de distanciamento existente. A partir desta média poder-se-á, como referido,

perceber se os novos padrões obtidos são relativos a um novo utilizador, ou se são referentes a

novos gostos musicais caracterizadores do ouvinte em questão.

De facto, através do desvio calculado pode-se verificar se este é demasiadamente alto ou, por

outro lado, se esta é próximo de zero. No primeiro caso poder-se-á estar perante a audição de

músicas por parte de um outro utilizador. Caso contrário, se a diferença não for demasiado notória

ou, mais concretamente, se for inferior à media de distâncias existentes entre as demais

assinaturas, deverá dar-se o benefício da dúvida e encarar-se como sendo uma ligeira mudança

dos gostos musicais do ouvinte. Neste caso a assinatura deverá ser recalculada. Tendo como base

este solucionamento facilmente se percebe que, seguindo o algoritmo descrito, também a

assinatura calculada para um dado ouvinte sofrerá ligeiras alterações ao longo do tempo. Desta

forma também esta se procurará enquadrar de forma cada vez mais precisa em relação ao perfil

musical exibido pelo utilizador. Este processo iterativo define, no seu conjunto, o processo

referente à construção de uma assinatura musical caracterizadora e definidora do perfil musical

exibido por um ouvinte.

Page 119: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Avaliação de Resultados

101

Page 120: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Conclusão

102

Capítulo 6

6Conclusão

6.1 Reflexão sobre o trabalho

Durante a presente dissertação, procurou-se fazer uma abordagem assente em dois pontos

fundamentais: explicação teórica dos conceitos que suportam o estudo relativo ao problema

proposto e apresentação prática do caso de estudo refletor da investigação apresentada. De facto,

a primeira parte deste documento procurou responder a questões intrínsecas ao processo de

obtenção de conhecimento, do qual se destacam as abordagens efetuadas aos SDW e, ainda, a

apresentação e explicação sucinta de vários métodos de DM que poderão ser utilizados no

contexto prático deste estudo. Já a última etapa desta dissertação abordou o processo efetuado no

decorrer da construção do sistema de recomendação musical perspetivado.

Os sistemas de recomendação orientados às preferências históricas demonstradas pelos

utilizadores têm-se verificado cada vez com mais frequência no âmbito das soluções aplicacionais

existentes, o que, até há pouco tempo, se traduzia por uma mera sugestão de quais os produtos

que deveríamos comprar. Agora, caracteriza-se por englobar vários domínios de conhecimento

preditivo. De facto, se se observar de forma atenta o mundo aplicacional que nos rodeia, pode-se

facilmente constatar que, atualmente, são-nos feitas recomendações sociais, recomendações que

procuram prever o que queremos dizer, recomendações que procuram traduzir os nossos

interesses pessoas, entre muitos outros. Ora, este estudo visa servir como base à construção de

Page 121: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Conclusão

103

mais um sistema que procura sugerir conteúdos (desta vez musicais) aos utilizadores de uma

aplicação própria para o efeito.

O sistema proposto procura criar recomendações assentes nos gostos historicamente

demonstrados pelos apreciadores musicais, mas não só. Constituindo-se como uma das

características conferidoras de inovação ao projeto, é feita neste documento uma abordagem à

construção de assinaturas que permitam suportar o perfil musical de qualquer ouvinte. Tal como

uma assinatura gráfica do nosso nome permite, de forma rotineira, que nos autenticamos perante

uma dada situação, também esta assinatura digital terá como papel caracterizar e definir

inequivocamente cada utilizador do sistema. Este processo assentará nos padrões obtidos pelo

conhecimento passado dos gostos do utilizador e procurará estabelecer conjuntos de informação

que permitam distinguir este dos demais.

Os resultados adquiridos pelo presente estudo não constituem uma visão definitiva da qualidade

do sistema de recomendações, contudo transmitem otimismo e motivação para o desenvolver do

trabalho planeado para o futuro. Em relação a outros trabalhos desenvolvidos, este projeto

distancia-se pela sua metodologia usada. De facto, se em aplicações comprovadamente de

sucesso, como o Last.Fm, ou o Pandora, é feita uma recomendação baseada no histórico de todos

os ouvintes e, a partir desta, são feitas as previsões musicais para um utilizador em específico, no

presente projeto são feitas análises a cada utilizador individualmente e, apenas a partir destas,

construem-se modelos de previsão. A visualização de um utilizador como um ser único, com gostos

musicais únicos, constituiu a grande diferença de abordagem em relação aos outros sistemas.

Deste modo, sabendo que se está a implementar um sistema assente numa metodologia não

muito comum, torna-se ainda mais relevante a comparação de resultados entre esta e as outras

aplicações já existentes.

Os sistemas de recomendação e reprodução musical já existentes têm tido grande aceitação pela

população. De facto, tanto o Pandora13 como o Last.Fm14 têm cerca de 55 milhões de utilizadores

cada um. Este grande número de utilizadores leva-nos a crer que, o sistema de recomendações em

vigor tem tido grande aceitação por parte dos ouvintes. Esta conclusão leva-nos ainda a crer que o

grau de satisfação dos utilizadores deve ser alto, pelo que o sistema de recomendações estará a

13 Fonte: http://en.wikipedia.org/wiki/Pandora_Radio 14 Fonte: http://www.skilledtests.com/wiki/Last.fm_statistics

Page 122: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Conclusão

104

fazer previsões que vão de acordo com as preferências dos ouvintes. A partir desta premissa

percebe-se que a metodologia de obtenção de conhecimento usada - assente nas preferências

históricas de todos os utilizadores da aplicação e cruzamento destas com os gostos individuais do

ouvinte – tem resultados positivos. Contudo, e como já referido, pretendeu-se com este projeto

seguir uma abordagem inovadora que, além de procurar obter conhecimento assente apenas no

histórico do utilizador, procura ainda definir a assinatura musical deste mesmo ouvinte. Neste

contexto, e tendo como base os resultados (indiretamente) obtidos para as outras aplicações

equivalentes, facilmente se entende que o presente sistema só terá aceitação caso melhore

significativamente a precisão das previsões efetuadas.

Deste modo, convém realçar que o presente algoritmo de recomendações, embora ainda precise

de alguns ajustes, traduz uma metodologia diferente das utilizadas noutros sistemas mas, ainda

assim, com resultados que se perspetivam muito satisfatórios. De facto, este novo modelo de

recomendações teve uma percentagem de acerto, em relação aos atributos musicais previstos com

taxa de precisão acima de 0.8, de cerca de 72.43%. Contudo, tal como foi exposto na secção

respetiva aos resultados obtidos, apesar da taxa de sucesso relativa à previsão da música

recomendada não ser muito elevada, esta não constituiu um elemento relevante na avaliação dos

resultados da metodologia usada. De facto, esta só poderia ser avaliada caso a recomendação

tivesse sido realmente efetuada. Só a partir desse momento é que se poderia obter o input do

ouvinte em relação à música prevista. Deste modo, a previsão individual de cada atributo permite-

nos ter uma noção do contexto musical envolvente e, com base neste contexto, pode-se avaliar de

forma mais correta qual a probabilidade de aceitação que a recomendação musical teria, por parte

do utilizador. É seguindo esta linha de pensamento que se pode concluir de forma ampla, acerca

dos resultados obtidas pelo presente sistema de recomendações. Esta análise permite-nos ainda

perceber que, esta nova metodologia de obtenção de conhecimento, apesar de se diferenciar das

demais existentes, tem resultados aparentemente satisfatórios. Esta conclusão, não definitiva,

permite que haja um grande otimismo em relação às predições obtidas e, portanto, em relação à

futura aplicação perspetivada.

Será ainda importante referir que, pode-se agora constatar que os objetivos de projeto

inicialmente traçados foram alcançados. Por sua vez, as etapas constituidoras do trabalho futuro

consolidarão todo o presente estudo. De facto, a conclusão do trabalho perspetivado para os

próximos tempos permitirá a concretização de todo o presente projeto. O desenvolvimento de um

Page 123: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Conclusão

105

sistema aplicacional disponível ao público permitirá, para além da obtenção de dados reais sobre

as preferências musicais dos ouvintes, a aquisição de informação relativa ao feedback dado pelos

ouvintes, acerca do sistema de recomendações existente. De facto, será a partir da ação tomada

por um utilizador aquando da sugestão de uma dada música, que se poderá perceber se a

recomendação foi de encontro às preferências do ouvinte. Em casos positivos o utilizador deverá

ouvir a música sugerida até ao fim, por outro lado, quando o utilizador não gostar da música,

deverá mudar manualmente a música a ouvir e, portanto, não a ouvirá até ao fim. Será a partir

desta tomada de ações que se poderá perceber, de forma concreta, qual a aceitação do utilizador

relativamente às recomendações efetuadas.

6.2 Trabalho futuro

O objetivo principal de todo este projeto depreendeu-se com a criação de uma peça de software

que se definisse como sendo um reprodutor musical assente num sistema de recomendações

baseado nas preferências exercidas por cada utilizador da aplicação. Como já foi previamente

referido, este objetivo constituiu um dos desejos subsequente à realização do presente estudo e,

deste modo, assume-se de forma notória como o principal objetivo perspetivado para o trabalho

futuro.

Apesar da aplicação referida poder evidenciar-se apenas como um output simples do estudo

efetuado no decorrer deste projeto, existem outros aspetos de interesse que serão devidamente

investigados e, provavelmente, utilizados no sistema de recomendações definidor do reprodutor

musical apresentado. De facto, se o presente projeto procura obter conhecimento preditivo tendo

como base dimensões relativas aos dados meteorológicos, dados temporais e dados pessoais do

ouvinte, o projeto futuro procurará ter como base muitas outras informações que procurarão

condicionar o sistema de recomendações que se pretende construir. Estes conjuntos de informação

referidos não foram utilizados no decorrer deste estudo pois a sua obtenção não seria possível de

forma imediata e, portanto, iriam condicionar em muito a totalidade dos dados que poderiam ser

utilizados durante o processo de procura de conhecimento. De facto, será apenas a partir da

utilização da aplicação perspetivada que se poderão recolher dados como a posição geográfica

concreta de um utilizador aquando a audição de determinada faixa musical, a velocidade exercida

pelo ouvinte durante a audição e, ainda, de forma tecnologicamente bem mais avançada, recolher

Page 124: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Conclusão

106

dados relativos à frequência cardíaca do utilizador no momento em que está a ouvir dada peça

musical.

Além de tudo, e como já foi abordado, os resultados obtidos e refletores de todo o estudo

efetuado não foram os esperados no início de desenvolvimento desta dissertação. Desta forma, e

por se perceber que nem sempre se fazem as melhores escolhas relativas aos algoritmos de DM

que se deverão utilizar, o trabalho futuro contará também com o estudo de novas técnicas que

poderão auxiliar no solucionamento do problema proposto. A realização desta etapa será ainda

mais importante se se tiver em consideração a existência de novas dimensões que condicionarão o

resultado preditivo final. De facto, ao ter-se como meta a utilização de uma base de estudo

referente a um maior número de dados de input, ter-se-á quase de forma obrigatória de repensar

qual a melhor metodologia a seguir e, deste modo, esta necessidade constituirá também uma

etapa constituidora do trabalho a realizar.

De facto, como se pode facilmente evidenciar existe ainda um longo percurso a percorrer até se

conseguir atingir o tão desejado objetivo final. Se virmos bem, este processo assume-se como

base de estudo para o resto do desenvolvimento de todo este projeto. Além disso, foi necessário

também perceber-se se a ideia motivadora de todo este trabalho não era totalmente descabida,

daí que se tenha procedido à obtenção de dados reais, representativos de utilizadores reais em

contextos reias. No seu conjunto o conhecimento obtido foi animador e constituirá a motivação

inerente ao desenvolvimento do trabalho futuro.

O trabalho futuro definido poderá então dividir-se resumidamente em três etapas, as quais serão a

seguir sumariamente apresentadas:

Estudo de novas técnicas de DM que permitam obter conhecimento preditivo de forma

mais precisa. A seleção dos métodos a utilizar deverá ter em conta os novos conjuntos de

dados dimensionais, referentes às características que poderão condicionar os gostos

músicas dos utilizadores;

Desenvolvimento da aplicação perspetivada para que, assim, se possam recolher os dados

acima descritos. Além disso, será ainda esta aplicação que procurará fazer uso de todo o

estudo até então efetuado e, desta forma, terá como principal requisito funcional a

recomendação musical específica para um dado utilizador, condicionada pelas

propriedades evidenciadas por determinado momento de audição;

Page 125: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

Conclusão

107

Reflexão sobre o input transmitido pelos utilizadores como resposta às recomendações

efetuadas. Não será difícil perceber que, de um modo geral, se um utilizador trocar a

música recomendada por uma outra exprimirá que a recomendação efetuada não era a

desejada por ele. Por outro lado, se o utilizador ouviu a música recomendada até ao fim

transmitirá uma conotação positiva em relação à faixa que lhe foi sugerida.

Este conjunto de tarefas reflete de forma incisiva os passos que serão dados após a realização do

presente projeto de estudo. Tais serão seguidos de forma incisiva e procurarão satisfazer a ideia

inicial inerente ao desenvolvimento de todo este trabalho: construir um reprodutor musical que

procure satisfazer os desejos, por vezes até desconhecidos, dos apreciadores musicais.

Page 126: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

108

Bibliografia

Anon., n.d. Pandora Radio. [Online] Available at: http://en.wikipedia.org/wiki/Pandora_Radio

[Accessed 2 Setembro 2013].

Anon., n.d. Spotify Information. [Online] Available at: http://press.spotify.com/no/information/

[Accessed 2 Setembro 2013].

Berson, A. & Smith, S.J., 1997. Data Warehousing, Data Mining, & OLAP. McGraw-Hill.

Bose, J.C. & Aalst, W.M., 2013. Discovering Signature Patterns from Event Logs. In IEEE Symposium

on Computational Intelligence and Data Mining., 2013.

Camilo, C. & Silva, J., 2009. Data Mining, Concepts, Tasks, Methods and Tools. Relatório Técnico.

Instituto de Informática Universidade Federal de Goiás.

Cano, P., Koppenberger, M. & Wack, N., 2005. Content-based Music Audio Recommendation. In

Proceedings of the 13th ACM International Conference on Multimedia. Singapore, 2005.

Castro, M., 2003. Agrupamento - "Clustering". Projeto Universitário. Instituto Superior de Engenharia

do Porto.

Chorida, P., Godfrey, M. & Rae, A., 2008. Extending Content-Based Recommendation: The Case of

Indian Classical Music. In Proceedings of the 9th International Conference of Music Information

Retrieval., 2008.

Chu, M., n.d. Automatic Music Genre Classification. [Online] Available at:

http://djj.ee.ntu.edu.tw/music_genreclass.pdf [Accessed 20 Março 2013].

Page 127: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

109

Clarke, E.J. & Barton, B.A., 2000. Entropy and MDL Discretization of Continuous Variables for Bayesian

Belief Networks. International Journal of Intelligent Systems, 15, pp.61-92.

Cortez, P. & Neves, J., 2000. Redes Neuronais Artificiais. Braga: Universidade do Minho.

Courses, W., n.d. Data Mining with Weka. [Online] Available at:

https://weka.waikato.ac.nz/dataminingwithweka [Accessed 10 Junho 2013].

Fayyad, U., 1996. Advances in Knowledge Discovery and Data Mining. AAAI Press.

Fayyad, U. & Irani, K., 1993. Multi-interval discretization of continuousvalued attributes for

classification learning. In Thirteenth International Joint Conference on Articial Intelligence., 1993.

Fayyad, U., Piatetsky-Shapiro, G. & Padhraic, S., 1996. From Data Mining to Knowledge Discovery in

Databases. Ai Magazine, pp.37-54.

Ferreira, R., 2002. Data Warehouse na Prática: Fundamentos e Implantação. Dissertação de

Mestrado. Univerisdade Federal do Rio Grande do Sul.

Flexer, A., Gasser, M. & Schnitzer, D., 2010. Limitations of interactive music recommendation based

on audio content. In Proc. of the 5th Audio Mostly Conference., 2010.

Frawley, W.J..P.-S.G..M.C.J., 1992. Knowledge Discovery in Databases: An Overview. Ai Magazine, 13,

pp.57-70.

Han, J., Cai, Y. & Cercone, N., 1992. Knowledge discovery in databases: Na attribute oriented

approach. In Proceedings of the VLDB 18th Conference., 1992.

Han, J. & Kamber, M., 2001. Data Mining Concepts and Techniques. Morgan Kaufmann Publishers.

Harjinder, G. & Rao, P.C., 1996. The official guide to data warehousing. Que Corporation.

Huang, Y. & Jeng, S., 2004. An Audio Recommendation System Based on Audio Signature Description

Scheme in MPEF-7 Audio. In Proc. IEEE ICME., 2004.

Hu, Y. & Oglhara, M., 2011. Nextone Player: A music recommendation system based on user

behavior. In 12th International Society for Music Information Retrieval Conference., 2011.

Inmon, W.H., 1992. Building the Data Warehouse. Wiley and Sons.

Page 128: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

110

Jarke, M. & al., e., 2000. Fundamentals of Data Warehouse. Rome: Springer.

John, G.H. & Langley, P., 1995. Estimating Continuous Distributions in Bayesian Classifiers. In

Eleventh Conference on Uncertainty in Artificial Intelligence. San Mateo, 1995.

Jones, N. & Pu, P., 2008. User Acceptance Issues in Music Recommender Systems. Relatório Técnico.

Escola Politécnica Federal de Lausanne.

Kimball, R..R.L..R.M..T.W., 1998. The Data Warehouse Lifecycle Toolkit - Expert Methods for

Designing, Developing, and Deploying Data Warehouses. John Wiley & Sons.

Kimball, R. & al., e., 2008. The Data Warehouse Lifecycle Toolkit. 2nd ed.

Kimball, R. & Ross, M., 2002. The Data Warehouse Toolkit: The Complete Guide to Dimensional

Modeling. Wiley.

Kononenko, I., 1995. On Biases in Estimating Multi-Valued Attributes. In 14th International Joint

Conference on Articial Intelligence., 1995.

Kosina, K., 2002. Music Genre Recognition. Tese de Graduação. Hagenberg: University of Apllied

Sciences Upper Austria.

Last.fm, n.d. Last.fm statistics. [Online] Available at:

http://www.skilledtests.com/wiki/Last.fm_statistics [Accessed 2 Setembro 2013].

Lee, C., Shih, J. & Lin, S., 2005. A novel approach to music genre classification. In 8th IPPR

Conference on Computor Vision, Graphics and Image Processing., 2005.

Maimon, O. & Rokach, L., 2010. Data Mining and Knowledge Discovery Handbook. Springer.

Matsura, J.P., 2003. Discretização para aprendizagem bayesiana: aplicação no auxílio à validação de

dados em proteção ao vôo. Tese de Pós-Graduação. Instituto Tecnológico de Aeronáutica.

MicroStrategy, Incorporated, 1995. Relational OLAP: An Enterprise-Wide Data Delivery Architecture.

White Paper.

Mining, P.D., n.d. Discretize. [Online] Available at:

http://wiki.pentaho.com/display/DATAMINING/Discretize [Accessed 12 Maio 2013].

Page 129: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

111

Mining, P.D., n.d. J48. [Online] Available at: http://wiki.pentaho.com/display/DATAMINING/J48

[Accessed 14 Junho 2013].

Mining, P.D., n.d. Multilayer Perceptron. [Online] Available at:

http://wiki.pentaho.com/display/DATAMINING/MultilayerPerceptron [Accessed 2 Julho 2013].

Mining, P.D., n.d. NaiveBayes. [Online] Available at:

http://wiki.pentaho.com/display/DATAMINING/NaiveBayes [Accessed 26 Junho 2013].

Mining, P.D., n.d. PredictiveApriori. [Online] Available at:

http://wiki.pentaho.com/display/DATAMINING/PredictiveApriori [Accessed 4 Junho 2013].

Mitov, I. & al., e., 2009. Comparison of discretization methods for preprocessing data for pyramidal

growing network classification method. New Trends in Intelligent Technologies Supplement to

International Journal, 3, pp.31-29.

Pachet, F. & Aucouturier, J.J., 2004. Improving Timbre Similarity: How High is the Sky? Journal of

negative results in speech and audio sciences, pp.1-13.

Park, S. & al, e., 2011. Automatic Music Emotion Classification Using Chords and BPM. In Future

Information Technology. Springer. pp.329-36.

Pazzani, M.J. & Billsus, D., 2007. Content-Based Recommendation Systems. In The Adaptive Web.

pp.325-41.

Pentaho, C., n.d. MultilayerPerceptron. [Online] Available at:

http://wiki.pentaho.com/display/DATAMINING/MultilayerPerceptron [Accessed 1 Setembro 2013].

Poe, V., Klauer, P. & Brobst, S., 1998. Building a data warehouse for decision support. New Jersey:

Prentice Hall.

Quinlan, R., 1993. C4.5: Programs for Machine Learning. San Mateo: Morgan Kaufmann Publishers.

Quoniam, L.e.a., 2001. Intelligence obtained with the application of data mining analysing the French

DocThéses on subjects about Brazil. Ci. Inf., 30, pp.20-28.

Rajaraman, A. & Ulman, J.D., 2011. Mining of Massive Datasets. New York: Cambridge University

Press.

Page 130: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

112

Rodrigues, L.C., Silva, P.P. & Linden., R., n.d. Séries Temporais no Consumo de Energia Elétrica no

Estado do Rio de Janeiro.

Salomon, A. & Logan, B., 2001. A Content-Based music Similarity Function. Relatório Técnico.

Cambridge Research Laboratory.

Scheffer, T., 2001. Finding Association Rules That Trade Support Optimally against Confidence. In 5th

European Conference on Principles of Data Mining and Knowledge Discovery., 2001.

Shao, B. & al., e., 2009. Music Recommendation Based on Acoustic Features and User Access

Patterns2009. IEEE Transactions on Audio, Speech, and Language Processing, 17.

Shi, H.S., 2005. Model-based Clustering. Tese de Mestrado. Universidade de Waterloo.

Song, Y., Dixon, S. & Pearce, M., 2012. A Survey of Music Recommendation Systems and Future

Perspectives. In International 9th Symposium on Computer Music Modelling and Retrieval., 2012.

Tenfen, E., 2003. A Técnica de Knowledge Discovery in Databases (KDD) Aplicada nas Ocorrências

Atendidas pela Polícia Militar. Tese de Bacharelato: Universidade Regional de Blumenau.

Turnbull, D., n.d. Music Genre Classification. [Online] Available at:

http://jimi.ithaca.edu/~dturnbull/research/MusicGenre/ [Accessed 15 Março 2013].

Watson, H.J. & Gray, P., 1997. Decision Support in the Data Warehouse. Prentice Hall.

Westergren, T., n.d. About The Music Genome Project. [Online] Available at:

http://www.pandora.com/about/mgp [Accessed 22 Julho 2013].

Witten, I.H. & Frank, E., 1999. Data Mining: practical machine learning tools and techniques with Java

implementations. University of Waikato: Morgan Kaufmann Publishers.

Yoshii, K. & al., e., 2008. An Efficient Hybrid Music Recommender System Using an Incrementally

Trainable Probabilistic Generative Model. IEEE Transactions on Audio, Speech, and Language

Processing, 16, pp.435-47.

Zhang, H., 2004. The Optimality of Naive Bayes. In Proceedings of the 17th International FLAIRS

conference., 2004.

Page 131: oo ss s ss - repositorium.sdum.uminho.ptrepositorium.sdum.uminho.pt/bitstream/1822/27845/1/eeum_di_dissert... · Figura 4.6 Janela de output apresentada pelo WEKA quando aplicado

113