[PDF]

White box song recommendation algorithm


Samuel Croot

10/05/2024

Supervised by Alexia Zoumpoulaki; Moderated by Rhodri Morris

Recommendation algorithms are an integral part of numerous content delivery platforms, with Music platforms at the forefront of innovation. Increasingly music tastes are defined by these algorithms with a growing number of songs being discovered through recommendation algorithms every year. Spotify alone makes 1.9 billion recommendations daily (Wallace, 2023). However, the algorithms being used are a closely guarded industry secret raising ethical concerns about how exactly these recommendations are being made. Factors such as streaming costs, sponsorships and training bias could be making recommendations against users interest without their knowledge. They could also use data that users would not want to be used in recommendations. For example, Spotify can infer a user has recently experienced a breakup via playlist names, but users might not want this as a factor when making music recommendations. This is why it is important to have transparent algorithms which clearly explain the rationale behind each recommendation in a user-friendly manner. In this project I plan to create a recommendation algorithm for media that will take in user data (preferences, listening histories) and media analysis to generate personalised song recommendations. The system will continue to refine its recommendations around the users evolving tastes and preferences, allowing users to provide feedback about what they like and dislike to get better and more personal recommendations. Importantly all of the data used will be visible to the end user showing how the recommendations were made and why. This is not just a recreation of most modern day recommendation algorithms, which are black box ‘that is as systems that hide their internal logic to the user’(Guidotti et al., 2018). Such black box systems raise ethical concerns as to how exactly the recommendations are being formed and what data is being used to source these recommendations. This project aims to create a fully transparent recommendation engine that can show the user what factors were used to determine the recommendations that they receive. This is also to be outputted in an easy-to-understand way to avoid confusion and ensure transparency. The main methods used for recommendations in the current day are collaborative filtering, content based, demographic based and hybrid filtering (B.Thorat et al., 2015). I plan on using a hybrid recommendation system in this project and will provide an accurate list of recommendations for songs the user would like. I will be using publicly available datasets like Spotify’s 1 million playlist dataset as well as API’s such as Last.fm to get information on media and then provide recommendations based on this. I will also need users to be able to make some form of account with this algorithm so it can adapt to changing tastes of users. Designing an easy to use and interact with system is vital to ensure these projects goals are reached. By using robust design engineering and market research I plan on creating a fully transparent recommendations engine that can take a user’s input and in turn output personalized recommendations. I plan to create this with the various media Api’s available such as Last.fm and Spotify. Transparency will be achieved by making my algorithm track and monitor its reasoning throughout the recommendation process to ensure transparency. The data tracked will then be translated into an easy-to-understand output to the end user.


Initial Plan (05/02/2024) [Zip Archive]

Final Report (10/05/2024) [Zip Archive]

Publication Form