原文地址php
ps:對原文有所刪減html
在這篇博客中,做者介紹了九個數據集,其中一些是推薦系統中經常使用到的標準數據集,也有一些是非傳統意義上的數據集(non-traditional datasets),做者相信,這些非傳統數據集更接近真實場景的數據。node
首先,先說明下推薦系統數據中的幾個類別:ios
Item: 即咱們要推薦的東西,如產品、電影、網頁或者一條信息片斷git
User:對item進行評分以及接受推薦系統推薦的項目的人github
Rating:用戶對item的偏好的表達。評分能夠是二分類的(如喜歡和不喜歡),也能夠是整數(如1到5星)或連續(某個間隔的任何值)。 另外,還有一些隱反饋,只記錄一個用戶是否與一個項目進行了交互。web
MovieLens數據集由GroupLens研究組在 University of Minnesota — 明尼蘇達大學(與咱們使用數據集無關)中組織的。 MovieLens是電影評分的集合,有各類大小。 數據集命名爲1M,10M和20M,是由於它們包含1,10和20萬個評分。 最大的數據集使用約14萬用戶的數據,並覆蓋27,000部電影。 除了評分以外,MovieLens數據還包含相似「Western」的流派信息和用戶應用的標籤,如「over the top」和「Arnold Schwarzenegger」。 這些流派標記和標籤在構建內容向量方面是有用的。內容向量對項目的信息進行編碼,例如顏色,形狀,流派或真正的任何其餘屬性 - 能夠是用於基於內容的推薦算法的任何形式。算法
MovieLens的數據在過去20年中已經由大學的學生以及互聯網上的人們進行收集了。 MovieLens有一個網站,您能夠註冊,貢獻本身的評分,並接收由GroupLens組實施的幾個推薦者算法這裏之一的推薦內容。數據庫
數據獲取地址網絡
當你讓一批學者寫一個笑話評分系統,你會獲得什麼?Jester! Jester是由Ken Goldberg和他在加州大學伯克利分校的小組發展的,包含150個笑話大約600萬的評分。 像MovieLens同樣,Jester評分由互聯網上的用戶提供。 你能夠在這裏貢獻你本身的評分。
與咱們使用的其餘數據集相比,Jester有兩個方面是特殊的:它使用-10到10的連續等級,而且在量級上具備最高的評分密度。評分密度的意思是大概「平均每一個用戶評價多少個項目」?若是每一個用戶都對每一個項目進行了評分,那麼評級密度將爲100%。 若是沒有人評價過任何東西,那將是0%。 Jester的密度約爲30%,這意味着一個用戶平均對30%的笑話進行了評分。 做爲比較,MovieLens 1M的密度爲4.6%(其餘數據集的密度低於1%)。固然不是那麼簡單。 不是每一個用戶都評價相同數量的項目。 相反,一些用戶對許多項目進行評分,大多數用戶只評價一些。 這能夠在如下直方圖中看到:
Book-Crossings是由Cai-Nicolas Ziegler根據http://bookcrossing.com的數據編寫的圖書評分數據集。 它包含90000個用戶的270000本書的110萬個評分。評分範圍從1到10,還包括隱性評分。
Book-Crossings數據集是最不密集的數據集之一,也是具備明確評分的最不密集的數據集。
Last.fm提供音樂推薦的數據集。 對於數據集中的每一個用戶,包含他們最受歡迎的藝術家的列表以及播放次數。它還包括可用於構建內容向量的用戶應用標籤。
Last.fm的數據聚合aggregated)後,有些信息(關於特定的歌曲,或某人正在聽音樂的時間)會丟失。 然而,它是這些樣本中惟一具備用戶的社交網絡的信息的數據集。
維基百科是其用戶撰寫的協做百科全書。維基百科除了爲最後一刻拼寫學期論文的學生提供信息外,還爲每一個用戶提供每篇文章的每一個編輯的數據轉儲。該數據集已普遍用於社交網絡分析,圖形和數據庫實現測試,以及維基百科用戶行爲研究。還能夠將用戶採起的編輯操做,做爲隱性評分,代表他們因某些緣由關心該頁面,並容許咱們使用數據集來提出推薦。
因爲維基百科不是爲了提供推薦者數據集而設計的,因此它確實存在一些挑戰。其中一個是從頁面中提取有意義的內容向量,可是幸運的是,大多數頁面被很好地分類,爲每一個頁面提供了一種類型。構建維基百科的內容向量的挑戰與現實世界數據集的推薦面臨的挑戰類似。因此咱們認爲這是創建一些這樣作的專門知識的好機會。
OpenStreetMap是一個協做的地圖項目,相似於維基百科。 像維基百科同樣,OpenStreetMap的數據由用戶提供,整個編輯歷史的完整轉儲也是可用的。 數據集中的對象包括道路,建築物,興趣點,以及您可能在地圖上找到的任何其餘內容。 這些對象由鍵值對標識,所以能夠從中建立一個基本的內容向量。 然而,鍵值對是自由的,因此選擇正確的設置是一個挑戰。 一些鍵值對由編輯軟件(例如「highway =住宅」)進行標準化和相同的使用,但一般它們能夠是用戶決定進入的任何內容 - 例如「FixMe !! = Exact location unknown」。
咱們收集的最終數據集,也許最不傳統的,基於Git存儲庫中包含的Python代碼。 咱們寫了幾個腳本(在Hermes GitHub repo中 在此獲取)從互聯網上下載存儲庫,提取其中的信息,並將其加載到Spark中。 從那裏咱們能夠從用戶編輯中構建一組隱含的評分。
咱們目前經過查看全部導入的庫並調用函數從每一個Python文件中提取內容向量。 未來咱們計劃將庫和函數自己做爲建議的項目。
各類數據集在其關鍵指標方面都有所不一樣。 下表列出了每一個數據集的這些度量標準的摘要:
咱們選擇的數據集涵蓋普遍的密度、用戶和項目數量以及評分類型。 此外,它們提供了關於項目和用戶的各類信息,從而容許咱們探索從數據集中提取內容向量的不一樣方法。
一、 LibRec 開源工具提供的數據集,地址
二、Datasets For recommender system 博客中提供的數據集
Amazon Product Data:
Mobile Recommendation:
Movies Recommendation:
Joke Recommendation:
Music Recommendation:
Books Recommendation:
Food Recommendation:
Merchandise Recommendation:
Healthcare Recommendation:
Dating Recommendation:
Scholarly Paper Recommendation:
三、雅虎數據集
Webscope | Yahoo Labs四、微軟數據集
https://msropendata.com/datasets五、Yongfeng Zhang 數據集Microsoft Research Open Data五、Yongfeng Zhang 數據集
Dataset | Yongfeng Zhang