Skip to content

Spotify Emotions Analyzer is a research project aimed at analyzing the emotional content of song lyrics from a user's Spotify listening history. Leveraging natural language processing (NLP) techniques and machine learning models, the project provides personalized emotional analysis for music enthusiasts.

Notifications You must be signed in to change notification settings

Merrimack-Computer-Club/Spotify_NLP_Service

Repository files navigation

Spotify Emotions Analyzer

Overview

Spotify Emotions Analyzer is a research project aimed at analyzing the emotional content of song lyrics from a user's Spotify listening history. Leveraging natural language processing (NLP) techniques and machine learning models, the project provides personalized emotional analysis for music enthusiasts.

Project Structure

---- \argon-design-system-react (react webpage)
---- \server (flask server, along with BERT model code & training/valid data)
---- \SpotifyNLPService.ipynb (Jupyter notebook to be ran in google colab to build the BERT model)
---- \requirements.txt (requirements file for \server python pip)

Authors

  • Derek Costello
  • Alexander Elguezabal
  • Mark Case

Methodology

The core methodology of the project revolves around using a BERT (Bidirectional Encoder Representations from Transformers) Large Language Model (LLM) trained on the Google GoEmotions dataset. This dataset contains human-annotated Reddit comments categorized into various emotional categories, serving as the basis for predicting emotional weights for song lyrics.

Functionality

  • Collects lyrical data directly from the user's Spotify listening history.
  • Predicts emotional weights for sentences extracted from song lyrics using the BERT LLM.
  • Aggregates emotional weight predictions to classify sentences into emotional categories.
  • Presents emotional analysis results through interactive infographics within a React-based web application.
  • Cloud-hosted web application and server for enhanced accessibility and user experience.

Reference

For more information and detailed documentation, please refer to the project repository: Spotify Emotions Analyzer Repository

License

This project is licensed under the MIT License.

About

Spotify Emotions Analyzer is a research project aimed at analyzing the emotional content of song lyrics from a user's Spotify listening history. Leveraging natural language processing (NLP) techniques and machine learning models, the project provides personalized emotional analysis for music enthusiasts.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •