TCC

Recomendação de Músicas Baseado no Humor: Explorando a Análise de Sentimentos e o Conteúdo das Letras

Resumo

A música possui um poderoso impacto no humor dos ouvintes, permitindo intensificar diversos tipos de temperamentos e tornando-se uma das formas de mídia mais importantes, superando até mesmo formatos restritivos como livros e filmes. Ao combinar a experiência de ouvir música com um sistema de recomendação, tornamos a experiência do usuário mais dinâmica e agradável, reduzindo ao máximo as interações manuais necessárias para buscar faixas de sua preferência. Os sistemas de recomendação são projetados com o objetivo de tornar a usabilidade de um serviço prática e simples para os usuários, minimizando a carga cognitiva necessária para realizar ações. Sabendo da importância do humor transmitido pela música e da personalização de cada usuário, este projeto tem o objetivo de mesclar ambos fatores ao implementar um sistema de recomendação de música baseado no humor. Essa é uma área já bastante explorada e utilizada por diversos sistemas de \textit{Streamming} como por exemplo o \textit{Spotify}, porém a forma como essa análise de sentimento é aplicada gera algumas incertezas, já que a mesma faz uso de atributos da música para definir o sentimento transmitido, onde nem sempre o ritmo musical condiz com o que está sendo cantado. Levando isso em consideração, esse trabalho é dividido em dois objetivos principais. O primeiro trata-se de efetuar a análise de sentimentos das letras musicais, aplicando técnicas de \textit{NLP} e treinando um modelo (aprendizado supervisionado) que será capaz de rotular letras musicais entre feliz ou triste. O outro objetivo é utilizar a base que foi rotulada pelo modelo para implementar um sistema de recomendações baseado em conteúdo e focado no humor, que trata de receber o histórico das cinco músicas ouvidas pelo usuário e converte em uma nova lista de recomendações que condizem com o humor principal dentre as faixas anteriores. Para isso foi utilizado o \textit{PySpark} em conjunto com a aplicação do algoritmo \textit{K-means}, fazendo uso da \textit{clusterização} para agrupar faixas similares e utilizar como métrica para recomendações. A utilização do humor combinada com a clusterização dos dados resultou em um ótimo sistema de recomendações, indicando faixas que são coerentes com o humor da última sessão do usuário. O processo desse trabalho também incluiu a coleta e modelagem de dados relacionados a históricos de reprodução musical, resultando como contribuição a geração e disponibilização de três principais conjuntos de dados.

Datasets gerados

Lyrics.csv
Scrobbles.csv
Tracks.csv