音樂資料集彙總
接下來會研究一下音樂推薦系統,需要資料來進行演算法及工程程式碼的演示,遂彙總一下網上開源的音樂資料集。
Million Song Dataset
說到音樂資料集第一位肯定是MSD,它包含了100萬首歌曲的資訊,總量有280GB大小。由於資料量的確較大,它使用了h5的檔案壓縮格式,並提供了一些 code 用於讀這種檔案。
每首歌對應一個檔案,欄位包括歌曲的方方面面,如 artist_mbid
, artist_name
, title
, tempo
等等,所有欄位在這裡列出。 路徑是奇怪的,Q&A中解釋說,實在無法把所有檔案都放到同一個目錄下,目錄的組織方式為: 某首歌曲所在位置為它的The Echo Nest track IDs的第三、第四、第五位形成的層級目錄,比如 MillionSong/data/A/D/H/TRADHRX12903CD3866.h5
。
此外,在MSD的基礎上,社群還貢獻了不少補充資料集,方便對MSD做各方面的研究。在首頁可以很容易找到它們。
- The SecondHandSongs Dataset : 一些歌曲被翻唱的資訊,以及Second Hand網站對各翻唱的performance值。
- The musiXmatch Dataset : 以bag-of-words的形式提供了MSD中77%數量歌曲的歌詞資料。
- The Last.fm Dataset :
- The Echo Nest Taste Profile Subset : Echo Nest提供了可以與MSD關聯的user-song-play count資料集,包含100萬user,4800萬播放記錄。
- thisismyjam-to-MSD mapping : 音樂社交網站thisisjam的使用者資料以及到MSD的關聯。
- tagtraum genre annotations : music genre標註。
- Top MAGD dataset: music genre標註。
Lastfm資料集
last.fm是一家英國的網路電臺和音樂社群,其向發開者提供了豐富的API,於是有很多機構或個人通過呼叫這些API來生成一些資料集。
1K users (user full listening history)
《推薦系統實戰》2.1節介紹到了此資料集,作為有上下文資訊的隱性反饋資料集的代表。 它有兩個檔案,聽歌記錄與使用者資訊。 前者為近1000位聽眾至2009年5月5日為止的所有音樂播放記錄與播放時間,以及音樂的title、artist name、musicbrain id等資訊。 後者則記錄了所有聽眾的性別、年齡、國家、註冊時間的資訊。 其中聽歌記錄的統計數字如下:
- Total Lines: 19,150,868
- Unique Users: 992
- Artists with MBID: 107,528
- Artists without MBDID: 69,420
360K users (user top artists)
與1K資料集一起出現的還有360K users資料集。 包含user-artist關係資訊以及使用者資訊。 使用者資訊與1K相同,不過資料量來到了360K,user-artist關係檔案的一行為某user聽某樂隊的次數。 user-artist檔案的統計資料如下:
- Total Lines: 17,559,530
- Unique Users: 359,347
- Artists with MBID: 186,642
- Artists without MBID: 107,373
HetRec 2011
這是2011年HetRec會議釋出的 從Last.fm獲取的資料集 。 與上兩例不同的是它包含有社會好友關係,標籤資訊。其中檔案數目比較多,但各檔案列很較少,其中是很明顯簡單的關聯關係,不再贅述。 統計資料如下:
- 1892 users
- 17632 artists
- 12717 好友關係
- 92834 user-listened artist relations
- 11946 tags
- 186479 tag assignments (tas), i.e. tuples [user, tag, artist]
在MSD的首頁可以看到此來自Lastfm的資料集(又一個,真的很容易搞亂。),它作為MSD的補充資訊,可與其id直接關聯。 資料量較大,是下面的樣子:
- 943,347 matched tracks MSD <->Last.fm
- 505,216 tracks with at least one tag
- 584,897 tracks with at least one similar track
- 522,366 unique tags
- 8,598,630 (track - tag) pairs
- 56,506,688 (track - similar track) pairs
與MSD一樣的奇怪的目錄結構,每個歌曲對應一個json檔案,長這個樣子:

檔名是 TRAAAAW128F429D538.json 這樣的編碼可與MSD的某首歌關聯起來,圖中提供了基本的歌曲、作者資訊、標籤。 比較獨特的是還有Lastfm直接提供的與此歌曲相似的歌曲列表以及相似度值。