Combining Spotify and Twitter Data for Generating a Recent and Public Dataset for Music Recommendation Martin Pichl Eva Zangerle Günther Specht Databases and Information Databases and Information Databases and Information Systems Systems Systems Institute of Computer Science Institute of Computer Science Institute of Computer Science University of Innsbruck, University of Innsbruck, University of Innsbruck, Austria Austria Austria martin.pichl@uibk.ac.at eva.zangerle@uibk.ac.at guenther.specht@uibk.ac.at ABSTRACT recommender systems, i.e., the million song dataset (MSD) In this paper, we present a dataset based on publicly avail- [4], however such datasets like the MSD often are not recent able information. It contains listening histories of Spotify anymore. Thus, in order to address the problem of a lack users, who posted what they are listening at the moment of recent and public available data for the development and on the micro blogging platform Twitter. The dataset was evaluation of recommender systems, we exploit the fact that derived using the Twitter Streaming API and is updated many users of music streaming platforms post what they are regularly. To show an application of this dataset, we imple- listening to on the microblogging Twitter. An example for ment and evaluate a pure collaborative filtering based rec- such a tweet is “#NowPlaying Human (The Killers) #craig- ommender system. The performance of this system can be cardiff #spotify http://t.co/N08f2MsdSt”. Using a dataset seen as a baseline approach for evaluating further, more so- derived from such tweets, we implement and evaluate a col- phisticated recommendation approaches. These approaches laborative filtering (CF) based music recommender system will be implemented and benchmarked against our baseline and show that this is a promising approach. Music recom- approach in future works. mender systems are of interest, as the volume and variety of available music increased dramatically, as mentioned in the beginning. Besides commercial vendors like Spotify1 , Categories and Subject Descriptors there are also open platforms like SoundCloud2 or Promo H.3.3 [Information Search and Retrieval]: Information DJ3 , which foster this development. On those platforms, filtering; H.2.8 [Database Applications]: Data mining users can upload and publish their own creations. As more and more music is available to be consumed, it gets difficult for the user or rather customer to navigate through it. By General Terms giving music recommendations, recommender systems help Algorithms, Experimentation the user to identify music he or she wants to listen to with- out browsing through the whole collection. By supporting Keywords the user finding items he or she likes, the platform opera- tors benefit from an increased usability and thus increase Music Recommender Systems, Collaborative Filtering, So- the customer satisfaction. cial Media As the recommender system implemented in this work de- livers suitable results, we will gradually enlarge the dataset 1. INTRODUCTION by further sources and assess how the enlargements influ- More and more music is available to be consumed, due ences the performance of the recommender system in fu- to new distribution channels enabled by the rise of the web. ture work. Additionally, as the dataset also contains time Those new distribution channels, for instance music stream- stamps and a part of the captured tweets contains a ge- ing platforms, generate and store valuable data about users olocation, more sophisticated recommendation approaches and their listening behavior. However, most of the time the utilizing these additional context based information can be data gathered by these companies is not publicly available. compared against the baseline pure CF-based approach in There are datasets available based on such private data cor- future works. pora, which are widely used for implementing and evaluating The remainder of this paper is structured as follows: in Section 2 we present the dataset creation process as well as the dataset itself in more detail. Afterwards, in Section 3 we briefly present the recommendation approach, which is eval- uated in Section 4. Before we present the conclusion drawn from the evaluation on Section 6, related work is discussed in Section 5. Copyright c by the paper’s authors. Copying permitted only for private and academic purposes. 1 http://www.spotify.com In: G. Specht, H. Gamper, F. Klan (eds.): Proceedings of the 26th GI- 2 Workshop on Foundations of Databases (Grundlagen von Datenbanken), http://soundcloud.com 3 21.10.2014 - 24.10.2014, Bozen, Italy, published at http://ceur-ws.org. http://promodj.com 2. THE SPOTIFY DATASET 2.2 Dataset Description 4 In this Section, the used dataset for developing and eval- Based on the raw data presented in the previous Sec- uating the recommender system is presented. tion, we generate a final dataset of - triples which contains 5,504,496 tweets of 569,722 unique 2.1 Dataset Creation users who listened to 322,647 tracks by 69,271 artists. In For the crawling of a sufficiently large dataset, we relied on this final dataset, users considered as not valuable for rec- the Twitter Streaming API which allows for crawling tweets ommendations, i.e., the @SpotifyNowPlay Twitter account containing specified keywords. Since July 2011, we crawled which retweets tweets sent via @Spotify, are removed. These for tweets containing the keywords nowplaying, listento and users were identified manually by the authors. listeningto. Until October 2014, we were able to crawl more As typical for social media datasets, our dataset has a than 90 million tweets. In contrast to other contributions long-tailed distribution among the users and their respective aiming at extracting music information from Twitter, where number of posted tweets [5]. This means that there are only the tweet’s content is used to extract artist and track in- a few number of users tweeting rather often in this dataset formation from [17, 7, 16], we propose to exploit the subset and numerous users are tweeted rarely which can be found of crawled tweets containing a URL leading to the website in the long-tail. This long-tailed distribution can be seen in of the Spotify music streaming service5 . I.e., information Table 2 and Figure 1, where the logarithm of the number of about the artist and the track are extracted from the web- tweets is plotted against the corresponding number of users. site mentioned in the tweet, rather than from the content of the tweet. This enables us an unambiguous resolution Number of Tweets Number of Users of the tweets, in contradiction to the contributions men- >0 569,722 tioned above, where the text of the tweets is compared to >1 354,969 entries in the reference database using some similarity mea- >10 91,217 sure. A typical tweet, published via Spotify, is depicted in >100 7,419 the following: “#nowPlaying I Tried by Total on #Spotify >1,000 198 http://t.co/ZaFH ZAokbV”, where a user published that he or she listened to the track “I Tried” by the band “Total” on Table 2: Number of Tweets and Number of Users Spotify. Additionally, a shortened URL is provided. Besides this shortened URL, Twitter also provides the according re- solved URL via its API. This allows for directly identifying all Spotify-URLs by searching for all URLs containing the 4,000 string “spotify.com” or “spoti.fi”. By following the identified URLs, the artist and the track can be extracted from the title tag of the according website. For instance, the title of the website behind the URL stated above is “I tried 1,000 by Total on Spotify ”. Using the regular expression “(.*) by (.*) on.*” the name of the track (group 1) and the artist (group 2) can be extracted. log(Number of Tweets) By applying the presented approach to the crawled tweets, we were able to extract artist and track information from 100 7.08% of all tweets or rather 49.45% of all tweets containing at least one URL. We refer to the subset of tweets, for which we are able to extract the artist and the track, as “matched tweets”. An overview of the captured tweets is given in Table 1. 1.94% of the tweets containing a Spotify-URL couldn’t 10 be matched due to HTTP 404 Not Found and HTTP 500 Internal Server errors. Restriction Number of Tweets Percentage None 90,642,123 100.00% At least one URL 12,971,482 14.31% A Spotify-URL 6,541,595 7.22% 0 50,000 100,000 150,000 200,000 Number of Users Matched 6,414,702 7.08% Table 1: Captured and Matched Tweets Figure 1: Number of Tweets versus Number of Users Facilitating the dataset creation approach previously pre- sented, we are able to gather 6,414,702 tweets and extract The performance of a pure collaborative filtering-based artist and track data from the contained Spotify-URLs. recommender system increases with the detailedness of a user profile. Especially for new users in a system, where no or only little data is available about them, this poses a 4 problem as no suitable recommendations can be computed. available at: http://dbis-twitterdata.uibk.ac.at/ spotifyDataset/ In our case, problematic users are users who tweeted rarely 5 http://www.spotify.com and thus can be found in the long tail. Besides the long-tail among the number of posted tweets, based on the listening histories of the user. The Jaccard- there is another long-tail among the distribution of the artist Coefficient is defined in Equation 1 and measures the pro- play-counts in the dataset: there are a few popular artists portion of common items in two sets. occurring in a large number of tweets and many artists are mentioned only in a limited number of tweets. This is shown |Ai ∩ Aj | in Figure 2, where the logarithm of the number of tweets in jaccardi,j = (1) |Ai ∪ Aj | which an artist occurs in (the play-count) is plotted against the number of artists. Thus, this plot states how many For each user, there are two listening histories we take artists are mentioned how often in the dataset. into consideration: the set of all tracks a user listened to and the set of all artists a user listened to. Thus, we are able to compute a artist similartiy (artistSim) and a track similarity (trackSim) as shown in Equations 2 and 3. |artistsi ∩ artistsj | artistSimi,j = (2) |artistsi ∪ artistsj | 4,000 |tracksi ∩ tracksj | trackSimi,j = (3) 1,000 |tracksi ∪ tracksj | log(Number of Tweets) The final user similarity is computed using a weighted average of both, the artistSim and trackSim as depicted in Equation 4. 100 simi,j = wa ∗ artistSimi,j + wt ∗ trackSimi,j (4) The weights wa and wt determine the influence of the 10 artist- and the track listening history on the user similar- ity, where wa + wt = 1. Thus, if wt = 0, only the artist listening history is taken into consideration. We call such a recommender system an artist-based recommender system. Analogously, if wa = 0 we call such a recommender system track-based. If wa > 0 ∧ wt > 0, both the artist- and track 0 5000 10000 15000 20000 Number of Artists listening histories are used. Hence, we facilitate a hybrid recommender system for artist recommendations. The presented weights have to be predetermined. In this Figure 2: Play-Count versus Number of Artists work, we use a grid-search for finding suitable input param- eter for our recommender system as described in Section 4.2. How the presented dataset is used as input- and evaluation data for a music recommender system, is presented in the 4. EVALUATION next Section. In this Section we present the performance of the imple- mented artist recommender system, but also discuss the lim- 3. THE BASELINE RECOMMENDATION AP- itations of the conducted offline evaluation. PROACH In order to present how the dataset can be applied, we 4.1 Evaluation Setup use our dataset as input and evaluation data for an artist The performance of the recommender system with differ- recommendation system. This recommender system is based ent input parameters was evaluated using precision and re- on the open source machine learning library Mahout[2]. The call. Although we focus on the precision, for the sake of com- performance of this recommender system is shown in Section pleteness we also include the recall into the evaluation, as 4 and serves as a benchmark for future work. this is usual in the field of information retrieval [3]. The met- rics were computed using a Leave-n-Out algorithm, which 3.1 Recommendation Approach can be described as follows: For showing the usefulness of our dataset, we implemented a User-based CF approach. User-based CF recommends 1. Randomly remove n items from the listening history items by solely utilizing past user-item interactions. For the of a user music recommender system, a user-item interaction states 2. Recommend m items to the user that a user listened to a certain track by a certain artist. Thus, the past user-item interactions represent the listening 3. Calculate precision and recall by comparing the m rec- history of a user. In the following, we describe our basic ommended and the n removed items approach taken for computing artist recommendations and provide details about the implementation. 4. Repeat step 1 to 3 p times In order to estimate the similarity of two users, we com- puted a linear combination of the Jaccard-Coefficients [10] 5. Calculate the mean precision and the mean recall Each evaluation in the following Sections has been re- peated five times (p = 5) and the size of the test set was fixed to 10 items (r = 10). Thus, we can evaluate the per- formance of the recommender for recommending up to 10 0.5 items. 4.2 Determining the Input Parameters In order to determine good input parameters for the rec- 0.4 ommender system, a grid search was conducted. Therefore, we define a grid of parameters and the possible combina- Recommender Precision tions are evaluated using a performance measure [9]. In our ● Artist 0.3 case, we relied on the precision of the recommender system Hybrid (cf. Figure 3), as the task of a music recommender system Track is to find a certain number of items a user will listen to (or buy), but not necessarily to find all good items. Precision 0.2 is a reasonable metric for this so called Find Good Items task [8] and was assessed using the explained Leave-n-Out algorithm. For this grid search, we recommended one item 0.1 ● ● ● ● ● ● and the size of the test set was fixed to 10 items. In order ● ● ● to find good input parameters, the following grid parame- ● ● ters determining the computation of the user similarity were altered: 0.0 ● 0 10 20 30 40 50 60 70 80 90 100 • Number of nearest neighbors k k−Nearest Neighbors • Weight of the artist similarity wa Figure 3: Precision and Recall of the Track-Based • Weight of the track similarity wt Recommender The result can be seen in Figure 3. For our dataset it n Precision Recall Upper Bound holds, that the best results are achieved with a track-based 1 0.49 0.05 0.10 recommender system (wa = 0,wt = 1) and 80 nearest neigh- 5 0.23 0.11 0.50 bors (k = 80). Thus, for the performance evaluation of the 6 0.20 0.12 0.60 recommender system in the next Section, we use the follow- 7 0.19 0.13 0.70 ing parameters: 10 0.15 0.15 1.00 • Number of nearest neighbors 80 Table 3: Precision and Recall of the Track-Based • Weight of the artist similarity 0 Recommender • Weight of the track similarity 1 As shown in Figure 4, with an increasing number of recom- mendations, the performance of the presented recommender 4.3 Performance of the Baseline Recommender system declines. Thus, for a high number of recommenda- System tions the recommender system is rather limited. This is, In this Section, the performance of the recommender sys- as the chance of false positives increases if the size of the tem using the optimized input parameters is presented. Prior test set is kept constant. For computing the recall metric, to the evaluation, we also examined real implementations the 10 items in the test set are considered as relevant items of music recommender systems: Last.fm, a music discovery (and hence are desirable to recommend to the user). The service, for instance recommends 6 artists6 when display- recall metric describes the fraction of relevant artists who ing a certain artist. If an artist is displayed on Spotify7 , are recommended, i.e., when recommending 5 items, even 7 similar artists are recommended at the first page. This if all items are considered relevant, the maximum recall is number of items also corresponds to the work of Miller [11], still only 50% as 10 items are considered as relevant. Thus, who argues that people are able to process about 7 items at in the evaluation setup, recall is bound by an upper limit, a glance, or rather that the span of attention is too short which is the number of recommended items divided by the for processing long lists of items. The precision@6 and the size of the test set. precision@7 of our recommender are 0.20 and 0.19, respec- tively. In such a setting, 20% of the recommended items 4.4 Limitations of the Evaluation computed by the proposed recommender system would be a Beside discussing the results, it is worth to mention also hit. In other words, a customer should be interested in at two limitations in the evaluation approach: First, only rec- least in two of the recommended artists. An overview about ommendations for items the user already interacted with can the precision@n of the recommender is given in Table 3. be evaluated [5]. If something new is recommended, it can’t 6 be stated whether the user likes the item or not. We can http://www.last.fm/music/Lana+Del+Rey 7 only state that it is not part of the user’s listening history http://play.spotify.com/artist/ 00FQb4jTyendYWaN8pK0wa in our dataset. Thus, this evaluation doesn’t fit to the per- 1.0 by monitoring users using the Yahoo! Music Services be- tween 2002 and 2006. Again, the MSD dataset, the Yahoo 0.9 dataset is less recent. Additionally to the ratings, the Yahoo dataset contains genre information which can be exploited 0.8 by a hybrid recommender system. Celma also provides a music dataset, containing data re- 0.7 trieved from last.fm10 , a music discovery service. It con- tains user, artists and play counts as well as the MusicBrainz identifiers for 360,000 users. This dataset was published in Precision / Recall 0.6 Legend 2010 [5]. ● Precision Beside the datasets presented above, which are based on 0.5 ● Recall data of private companies, there exist several datasets based Upper Bound on publicly available information. Sources exploited have 0.4 been websites in general [12, 15, 14], Internet radios posting ● their play lists [1] and micro-blogging platforms, in partic- 0.3 ● ular Twitter [17, 13]. However, using these sources has a ● drawback: For cleaning and matching the data, high effort ● 0.2 ● ● is necessary. ● ● ● One of the most similar datasets to the dataset used in 0.1 this work, is the Million Musical Tweets Dataset 11 dataset by Hauger et al. [7]. Like our dataset, it was created using ● 0.0 the Twitter streaming API from September 2011 to April 1 5 10 2013, however, all tweets not containing a geolocation were Number of Recommended Items removed and thus it is much smaller. The dataset con- tains 1,086,808 tweets by 215,375 users. Among the dataset, Figure 4: Precision and Recall of the Track-Based 25,060 unique artists have been identified [7]. Recommender Another dataset based on publicly available data which is similar to the MovieLens dataset, is the MovieTweetings dataset published by Dooms et al. [6]. The MovieTweet- fectly to the intended use of providing recommendations for ings dataset is continually updated and has the same format new artists. However, this evaluation approach enabled us as the MovieLens dataset, in order to foster exchange. At to find the optimal input parameters using a grid search. the moment, a snapshot containing 200,000 ratings is avail- Secondly, as we don’t have any preference values, the as- able12 . The dataset is generated by crawling well-structured sumption that a certain user likes the artist he/she listened tweets and extracting the desired information using regular to, has to be made. expressions. Using this regular expressions, the name of the Both drawbacks can be eliminated by conducting a user- movie, the rating and the corresponding user is extracted. centric evaluation [5]. Thus, in a future work, it would be The data is afterwards linked to the IMDb, the Internet worth to conduct a user-experiment using the optimized rec- Movie Database 13 . ommender system. 6. CONCLUSION AND FUTURE WORK 5. RELATED WORK In this work we have shown that the presented dataset As already mentioned in the introduction, there exist sev- is valuable for evaluating and benchmarking different ap- eral other publicly available datasets suitable for music rec- proaches for music recommendation. We implemented a ommendations. A quick overview of these datasets is given working music recommender systems, however as shown in in this Section. Section 4, for a high number of recommendations the perfor- One of the biggest available music datasets is the Million mance of our baseline recommendation approach is limited. Song Dataset (MSD) [4]. This dataset contains information Thus, we see a need for action at two points: First we will about one million songs from different sources. Beside real enrich the dataset with further context based information user play counts, it provides audio features of the songs and that is available: in this case this can be the time stamp is therefore suitable for CF-, CB- and hybrid recommender or the geolocation. Secondly, hybrid recommender system systems. At the moment, the Taste Profile subset8 of the utilizing this additional context based information are from MSD is bigger than the dataset presented in this work, how- interest. Therefore, in future works, we will focus on the ever it was released 2011 and is therefore not as recent. implementation of such recommender systems and compare Beside the MSD, also Yahoo! published big datasets9 con- them to the presented baseline approach. First experiments taining ratings for artists and songs suitable for CF. The were already conducted with a recommender system trying biggest dataset contains 136,000 songs along with ratings to exploit the geolocation. Two different implementations given by 1.8 million users. Additionally, the genre informa- are evaluated at the moment: The first uses the normalized tion is provided in the dataset. The data itself was gathered linear distance between two users for approximating a user 10 8 http://labrosa.ee.columbia.edu/millionsong/ http://www.last.fm 11 tasteprofile available at: http://www.cp.jku.at/datasets/MMTD/ 9 12 available at: http://webscope.sandbox.yahoo.com/ https://github.com/sidooms/MovieTweetings 13 catalog.php?datatype=r http://www.imdb.com similarity. The second one, which in an early stage of eval- [14] M. Schedl, P. Knees, and G. Widmer. Investigating uation seems to be the more promising one, increases the web-based approaches to revealing prototypical music user similarity if a certain distance threshold is underrun. artists in genre taxonomies. In Proceedings of the 1st However, there remains the open question how to determine International Conference on Digital Information this distance threshold. Management (ICDIM 2006), pages 519–524. IEEE, 2006. 7. REFERENCES [15] M. Schedl, C. C. Liem, G. Peeters, and N. Orio. A [1] N. Aizenberg, Y. Koren, and O. Somekh. Build your Professionally Annotated and Enriched Multimodal own music recommender by modeling internet radio Data Set on Popular Music. In Proceedings of the 4th streams. In Proceedings of the 21st International ACM Multimedia Systems Conference (MMSys 2013), Conference on World Wide Web (WWW 2012), pages pages 78–83, February–March 2013. 1–10. ACM, 2012. [16] M. Schedl and D. Schnitzer. Hybrid Retrieval [2] Apache Software Foundation. What is Apache Approaches to Geospatial Music Recommendation. In Mahout?, March 2014. Retrieved July 13, 2014, from Proceedings of the 35th Annual International ACM http://mahout.apache.org. SIGIR Conference on Research and Development in [3] R. Baeza-Yates and B. Ribeiro-Neto. Modern Information Retrieval (SIGIR), 2013. Information Retrieval: The Concepts and Technology [17] E. Zangerle, W. Gassler, and G. Specht. Exploiting behind Search (2nd Edition) (ACM Press Books). twitter’s collective knowledge for music Addison-Wesley Professional, 2 edition, 2011. recommendations. In Proceedings of the 2nd Workshop [4] T. Bertin-Mahieux, D. P. W. Ellis, B. Whitman, and on Making Sense of Microposts (#MSM2012), pages P. Lamere. The million song dataset. In A. Klapuri 14–17, 2012. and C. Leider, editors, Proceedings of the 12th International Society for Music Information Retrieval Conference (ISMIR 2011), pages 591–596. University of Miami, 2011. [5] Ò. Celma. Music Recommendation and Discovery - The Long Tail, Long Fail, and Long Play in the Digital Music Space. Springer, 2010. [6] S. Dooms, T. De Pessemier, and L. Martens. Movietweetings: a movie rating dataset collected from twitter. In Workshop on Crowdsourcing and Human Computation for Recommender Systems at the 7th ACM Conference on Recommender Systems (RecSys 2013), 2013. [7] D. Hauger, M. Schedl, A. Kosir, and M. Tkalcic. The million musical tweet dataset - what we can learn from microblogs. In A. de Souza Britto Jr., F. Gouyon, and S. Dixon, editors, Proceedings of the 14th International Society for Music Information Retrieval Conference (ISMIR 2013), pages 189–194, 2013. [8] J. L. Herlocker, J. A. Konstan, L. G. Terveen, and J. T. Riedl. Evaluating collaborative filtering recommender systems. ACM Transactions on Information Systems, 22(1):5–53, Jan. 2004. [9] C. W. Hsu, C. C. Chang, and C. J. Lin. A practical guide to support vector classification. Department of Computer Science and Information Engineering, National Taiwan University, Taipei, Taiwan, 2003. [10] P. Jaccard. The distribution of the flora in the alpine zone. New Phytologist, 11(2):37–50, Feb. 1912. [11] G. A. Miller. The magical number seven, plus or minus two: Some limits on our capacity for processing information. 62:81–97, 1956. [12] A. Passant. dbrec - Music Recommendations Using DBpedia. In Proceedings of the 9th International Semantic Web Conference (ISWC 2010), volume 6497 of Lecture Notes in Computer Science, pages 209–224. Springer Berlin Heidelberg, 2010. [13] M. Schedl. Leveraging Microblogs for Spatiotemporal Music Information Retrieval. In Proceedings of the 35th European Conference on Information Retrieval (ECIR 2013), pages 796 – 799, 2013.