Skip to content

LastFM recommendation with sentiment analysis (Bachelor Thesis Project)

Notifications You must be signed in to change notification settings

Acervans/lastfm_RS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Last.FM RecSys with Sentiment Analysis

The goal of this project is to test sentiment-aware recommender systems by use of the Last.FM API, sentiment analysis tools, and the NRC-VAD Lexicon (NRC Valence, Arousal, and Dominance Lexicon). It consists of various recommendation techniques (collaborative filtering and content-based) and sentiment analysis of textual content from different contexts (e.g Album or artist description, tracks, comments, tags, titles...) applied to recommendation.

The tools and recommendation models are showcased in LastMood, a web application that can be set up with the following section's steps.

Setup

  1. To set up the required environment modules and libraries:
    • Install Conda for environment management.
    • Run ./setup.sh.
  2. To set up the database (~760 MB):
    • Install PostgreSQL for database management.
    • Execute sudo -u postgres psql -c "CREATE USER alumnodb WITH PASSWORD 'alumnodb' createdb".
      • This creates user alumnodb with database creation permissions.
    • Go to /lastfm_RS and run make restore_db.
      • This creates lastfm_db's tables and loads all the necessary data.
  3. To set up the recommendation data (~500 MB):
    • Go to /lastfm_RS and run make recsys_data.
      • This extracts the prepared dataset into /lastfm_RS/backend/research/recbole_research/saved/.
      • Otherwise, the data needs to be preprocessed, which takes considerable time and memory.
  4. To start the web application on localhost, go to /lastfm_RS and run python3 manage.py runserver. It will be hosted at http://localhost:8000.

Note: The only available recommenders are Random, Pop and Cosine Similarities, due to size constraints.

References

About

LastFM recommendation with sentiment analysis (Bachelor Thesis Project)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published