JamesRobertSutcliffe / personality-music-recommender

A music recommender web app that bases reccomendations on personality type. Developed with next.js, Typescript, PostgreSQL and docker.
https://personality-music-recommender-jer1.vercel.app/
0 stars 0 forks source link

Add content-based filtering recommendation system #46

Closed patdel0 closed 1 year ago

patdel0 commented 1 year ago

The system suggests songs by calculating the Euclidean distance between the mean musical characteristics of each MBTI personality type and individual tracks in the two datasets.

In simpler terms, if user A belongs to type X, and type X fancies tracks with high energy, they will be suggested tracks with high energy.

The algorithm doesn't yet consider the user's liked songs. Once we've successfully integrated the ML environment with the application, I'll begin exploring the inclusion of the user's liked songs in the recommendations.

The data analysis seems to have confirmed some biases (see "Data exploration" section if interested) such as:

Although far from conclusive and based only on a limited dataset, it seems that personality types might in fact influence song preferences.

vercel[bot] commented 1 year ago

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
personality-music-recommender-jer1 ✅ Ready (Inspect) Visit Preview Sep 17, 2023 0:36am
patdel0 commented 1 year ago

@JamesRobertSutcliffe This only works out of the box if the Spotify API uses the track_id in this format: 47UUNYT0lsDnX9EYHIBf3L

Whenever you get the chance, could you please confirm the format of the id used in their API to retrieve specific songs?

JamesRobertSutcliffe commented 1 year ago

Hi Patrick, this is very interesting. It will be a great basis for the recommendations for our app.

Example value from spotify docs: "11dFghVXANMlKmJXsNCbNl"

This looks to be a match to me!