# A Deep Temporal Neural Music Recommendation Model Utilizing Music and User Metadata
## 4 Experiments  
### Experimental Setup  
The dataset used in our experiments was WSDM-KKBOX [[https://www.kaggle.com/c/kkbox-music-recommendation-challenge/data](https://www.kaggle.com/c/kkbox-music-recommendation-challenge/data)]([https://www.kaggle.com/c/kkbox-music-recommendation-challenge/data](https://www.kaggle.com/c/kkbox-music-recommendation-challenge/data)). KKBOX is the biggest online music streaming platform in Asia and the corresponding dataset was used in the 11 th ACM International Conference on Web Search and Data Mining (WSDM 2018) challenge. The dataset contains the users' listening records during a certain time period. The records before a certain point are used as training data, and the records after this point are the test data. The time period and the separation point are chosen by WSDM. In addition, the metadata of songs and users is also provided. These metadata includes the song length, song genres, artist names, composer names, languages, user ages, user locations, user genders etc. In the WSDM challenge, competitors are asked to predict the chances of a user listening to a song repetitively after the first observable listening event. In this work, the purpose of DTNMR was to recommend songs for users based on their listening histories, thus DTNMR helps the users find new interesting songs. In order to achieve this goal, we predicted the chances of a user listening to an un-listened song in the future and ranked all un-listened songs according to the predicted chances. Therefore, our task was different from WSDM in terms of input, output and also the training process. The differences of DTNMR and WSDM are elaborated in Table 3.  
Thus, we could not compare our method with the methods in the WSDM challenge. During pre-processing, the songs and users, which do not appear in both the training and test dataset, were removed. After that, we removed the records that appeared in the training dataset from the test dataset. This was because recommendation systems are used to help users find new interests, not to remind them of interests already known. At last, there are 34,403 users, 41,9781 songs, 7,377,304 training records and 2,236,323 testing records in the dataset. Table 4 shows the feature statistic results of the songs. Seven baseline methods were used to evaluate the effectiveness of our method. **MostPop**: The popularity-based method which recommend songs listened by most users to each user. **SVD++**: Singular Value Decomposition based method which makes use of implicit feedback information [3]. **AoBPR**: Adaptive Oversampling Bayesian Personalized Ranking [5]. **WRMF**: A collaborative filtering method on datasets with implicit feedback [4]. **UserKNN**: Ranking items according the ratings of similar users [1]. **RBM**: The Restricted Boltzmann Machines (RBM) based deep learning method [19]. **LSTM**: The RNN based recommending method proposed by [PERSON] and [PERSON] [33]. \begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**Feature Name** & **Genre** & **Artist** & **Composer** & **Lyricist** & **Language** \\ \hline Feature Values & 172 & 49,411 & 92,663 & 43,526 & 10 \\ Feature num per song & 1.07 & 1.06 & 1 & 0.38 & 1 \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Feature statistics of songs. \begin{table}
\begin{tabular}{l l l} \hline \hline  & **DTNMR** & **WSDM** \\ \hline Input & The user listening histories & A user and a song the user previous listened to \\ \hline \multirow{2}{*}{Output} & A list of ranked songs & A probability \\  & for suggestion & indicating the user will listen to the song again \\ \hline \multirow{2}{*}{Train Input} & The user, the listening histories & A user, a song the user listened and a boolean value \\  & and the current song & indicating whether the user listened to the song again \\ \hline \hline \end{tabular}
\end{table} 
Table 3: The differences of DTNMR and WSDM challenge. As the UserKNN model needs to find Top-K similar users for each user-item group, it is too complex for a dataset with 30K users and 400K items.