Song Recommendation Based on User's Playlist

Srivamshi Pittala & Jay Patel

CS174 Project Proposal Winter 2013


    Overview:

    With ever increasing volume of songs becoming available on the internet, searching for songs of interest has become a tedious task in itself. Hence a recommender system that caters to personal interests of the users would be of some help. This task of personalized recommendations gained global attention after the advent of social media and thus machine learning has been put to good use to explore the personal data available.


    Problem Statement:

    Our objective for the project is to develop a recommender system that suggests songs to a user based on the songs currently in his/her playlist. We consider the user's playlist as a good indicator of the next song he/she might want to listen to. This would mean, given the contents of the playlist our recommender system should be able to provide suggestions to the playlist. For this purpose, would like to review and put to use some machine learning algorithms that suit our data.


    Dataset:

    We are using the freely available Million Song Dataset [1], which provides listening history of one million unique users. The dataset also provides a variety of metadata including audio features (like timbre, pitch, beats etc) and track information (like album, artist name, location, genre, group of similar artists etc) of the songs. However, we might have to shrink the dataset due to computational costs. We also would be splitting our dataset into training and test sets for evaluation. There is also a test set available at Kaggle.com, which hosted a Million Song Dataset Challenge [4] in August last year.


    Methods:

    Many methods for performing this recommendation task have been developed [3]. These range from the simplest, popularity based methods to the complex but widely used, filtering systems.
    1. Popularity
      Popularity based systems consider the most popular among all the playlist and suggest to a user the most popular song not in the playlist. These methods are very simple to implement and may do a good job, but they lack user personalization.
    2. Filtering
      Filtering based methods are primarily two types:
      1. Collaborative Filtering: has two different considerations, user based and item based.
        1. In user based collaborative filtering users who listen to the same songs are considered to be similar and hence songs of similar users are recommended.
        2. In item based collaborative filtering songs in the same playlist are considered to be similar and hence similar songs are recommended.
      2. Content based filtering: In these methods, features of the users or/and items are used to compute similarities and recommendations are given based on them.
      3. A method that combines both the notions, hybrid filtering, is also used to take advantage of both methods.

    We aim to consider all the above methods, choose the ones that suit our data the best and improve their performance. We are especially interested in capturing the information in the song's audio features (like pitch, timbre and even lyrics) that have been undervalued in the existing recommender systems like Pandora Radio and last.fm. These systems use data that has been hand labeled and hence suffer from human error and may not generalize well to all the songs. For evaluation of our project we would like to use both Root Mean Square Error (RMSE) and mean Average Precision (mAP) which are both widely used to evaluate recommender systems.


    Milestone Goal:

    Our goal for the milestone is to complete review of the methods, evaluate their performance, gather feedback and choose the best options.


    Reference:

    [1] T. Bertin-Mahieux, D. Ellis, B. Whitman, and
P. Lamere. The million song dataset. In Proceedings of the 11th International Society for Music Information Retrieval Conference (ISMIR 2011), 2011.
    [2] Brian McFee, Thierry Bertin-Mahieux, Daniel P.W. Ellis, and Gert R.G. 
Lanckriet, ‘The million song dataset challenge', in Proceedings of the 21st international conference companion on World Wide Web, WWW '12 Companion, pp. 909–916, New York, NY, USA, (2012). ACM
    [3] Mukund Deshpande and George Karypis, ‘Item-based top-n recommendation algorithms', ACM Trans. Inf. Syst., 22(1), 143–177, (2004).
    [4] Badrul M. Sarwar, George Karypis, Joseph A. Konstan, and John Riedl, ‘Item-based collaborative filtering recommendation algorithms', in WWW, pp. 285–295, (2001).
    [5] Tianye Lu, Jing Xiong, Xiaoye Liu, Music Recommender System Utilizing Users’ Listening History and Social Network Information, Machine Learning Project Report, Stanford University. .