oo ss s ss -...
TRANSCRIPT
±±±±±±±±±±±±±±±±±±±±±
¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿
oo
ss s ss
3 3 3 3333
±±±±±±±±±±±±±±±±±±±±±
±¿¿¿¿¿±¿±±¿¿¿¿¿±¿¿±¿¿¿¿
¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿
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
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.
ii
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.
iv
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.
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
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
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
ix
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
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
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
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
xiv
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
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
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
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
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
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,
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.
Introdução
7
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.
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”.
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).
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.
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
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.
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
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.
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
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
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).
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.
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
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).
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
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.
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.
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
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).
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
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.
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
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
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
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.
Obtenção de Conhecimento
33
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
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á.
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).
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
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).
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
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
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.
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.
Sistemas de Recomendação Baseados em Preferências
43
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.
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
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/
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/
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.
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
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.
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
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
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).
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
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
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.
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
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.
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
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
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.
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.
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
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.
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”.
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
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)”
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
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
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.
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.
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.
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.
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,
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.
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.
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,
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.
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
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
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.
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
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
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
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.
Um Caso de Estudo
86
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
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
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.
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
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
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
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.
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
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
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.
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
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.
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
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.
Avaliação de Resultados
101
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
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
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
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
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;
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.
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].
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.
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].
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.
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.
113