推荐系统常用数据集
评分预测数据集(显式)
MovieLens
明尼苏达大学在 MovieLens 上进行采集的用户电影评分数据集,有多种数据集大小,如 100k,1M,10M,20M,1B 等。
数据规模:
-
MovieLens 20m 电影推荐数据集包含 138493 位 用户对 27278 部 电影的 20000263 项 电影的评分(1-5 分),电影标签数为 465564 个,数据采集自网站 movielens.umn.edu,时间段为 1995.01-2015.03。
-
MovieLens Latest Datasets 电影推荐数据集包含 270,000 个用户对 45,000 部电影作出的 26,000,000 个评分和 750,000 个标签。包括和 1,100 个标签相关的 1200 万标签基因数据。最近一次更新时间为 8/2017。
-
…
文件信息(以 MovieLens 20M Dataset 为例):
ratings.csv 的数据格式为: userId,movieId,rating,timestamp
其中,
- rating: 用户对电影的五星评价,以半颗星递增(0.5 星~5 星)
- timestamp: UTC 时间戳
tags.csv 的数据格式为:userId,movieId,tag,timestamp
其中,
- tag: 用户自定义标签,标签由单词或短语构成,标签的含义、价值和用途由用户自己决定
- timestamp: UTC 时间戳
movies.csv 的数据格式为:movieId,title,genres
其中,
- title: 电影标题,取自 The Movie Database (TMDB)
- genres: 电影题材,只能固定值
Netflix 推荐系统数据
电影评价数据集.
数据规模:
该数据集中包含随机挑选的 48 万 Netflix 客户,对 1.7 万 部电影,超过 1 百万 条评价,数据时间段为 1998.10 到 2005.11。评价以 5 分制评分为基准,每部电影评价为 1-5 分,客户信息进行了脱敏处理。
文件信息:
combined_data.txt: 评分数据, movie id:CustomerID, Rating, Date
movie_titles.csv:MovieID, YearOfRelease, Title
The Movies Dataset
这些文件包含完整 MovieLens 数据集中列出的所有 45,000 部电影的元数据。该数据集由 2017 年 7 月或之前发布的电影组成。数据点包括演员、工作人员、情节关键词、预算、收入、海报、发布日期、语言、制作公司、国家/地区、TMDB 投票人数和平均得分。
The Movie Database (TMDB) 是一个广泛使用的电影和电视数据库,它提供了丰富的多媒体内容和元数据。
文件信息:
movies_metadata.csv
电影元信息文件
预算 | 类型 | 标识号 | 关键词 | 原标题 | 受欢迎度 | 平均评分 | 投票人数 | 发行时间 | … |
---|---|---|---|---|---|---|---|---|---|
单位美元 | [{“id”: 18, “name”: “Drama”}] | 电影在 TMDB 中的唯一标识符 | [{“id”: 14636, “name”: “india”}] | 未公开具体计算公式 | 0-10 | 0-6000 | 2017 年及以前 |
keywords.csv
id | keywords |
---|---|
电影 id | [{‘id’: 931, ‘name’: ‘jealousy’}, {‘id’: 4290, ‘name’: ‘toy’},] |
ratings_small.csv: userId ,movieId , rating , timestemp
来自 9,000 部电影的 700 个用户的 100,000 个评分的 MovieLens 数据集子集。
credits.csv
演员 | 工作人员 | 电影 id |
---|---|---|
[{‘cast_id’: 5, ‘character’: ‘The Creeper’, ‘credit_id’: ‘52fe48f49251416c9109dceb’, ‘gender’: 2, ‘id’: 931198, ‘name’: ‘Rondo Hatton’, ‘order’: 0, ‘profile_path’: ‘/zir0SuHwhFb2Sj7feQgIeMecG8m.jpg’}, ] | [{‘credit_id’: ‘52fe44509251416c750305a1’, ‘department’: ‘Directing’, ‘gender’: 2, ‘id’: 52629, ‘job’: ‘Director’, ‘name’: ‘Joseph Ruben’, ‘profile_path’: None},] |
- cast_id:演员在该电影中的 ID,是一个唯一的标识符。
- character 字符:演员在电影中扮演的角色名称。
- credit_id:用于唯一地识别电影或电视剧中的某个特定的演职员贡献记录。
- gender:演员的性别,其中 0 表示未知,1 表示女性,2 表示男性。
- id:演员在 TMDB 中的唯一标识符。
- name:演员的姓名。
- order:演员在演职员表中的顺序,通常是按照他们在电影中的出现顺序或者重要性排序的。
- profile_path:演员在 TMDB 上的个人资料图片路径,如果没有图片,则为 None。
Last.FM
Last.fm 提供音乐推荐的数据集。 对于数据集中的每个用户,包含他们最受欢迎的艺术家的列表以及播放次数。
该数据集是在第 5 届 ACM 推荐系统会议(RecSys 2011),第 2 届国际推荐系统信息异构与融合研讨会(HetRec 2011))框架下发布的。
数据集规模:
- 1892 users
- 17632 artists
- 12717 双向用户朋友关系,即 25434 (user_i, user_j)对
- 平均每个用户 13.443 个好友关系
- 92834 用户收听艺术家关系,即元组 [user, artist, listeningCount]
- 平均每位用户最常收听 49.067 位艺术家的作品
- 平均每位艺术家有 5.265 名收听用户
- 11946 tags
- 186479 标签分配(tas),即元组 [用户,标签,艺术家]
- 平均每个用户 98.562 个标签分配
- 平均每位艺术家 14.891 个标签分配
- 平均 8.764 个不同的标签用于每个用户
- 平均 8.764 个不同的标签用于每个艺术家
文件信息:
- artists.dat
- 该文件包含用户收听和标记的音乐艺术家的信息
- tags.dat
- 这个文件包含数据集中可用的一组标记。
- user_artists.dat
- 这个文件包含每个用户收听的艺术家。它还为每一对 [user, artist] 提供了一个监听计数。
- user_taggedartists.dat - user_taggedartists-timestamps.dat
- 这些文件包含每个特定用户提供的艺术家的标签分配。它们还包含标签分配完成时的时间戳。
- user_friends.dat
- 这些文件包含数据库中用户之间的朋友关系。
Amazon product
亚马逊提供的一些用户-物品数据。
数据规模:
这是 2023 年收集的大规模 Amazon Reviews 数据集。此数据集包含 4819 万个项目,以及来自 5451 万用户的 5.7154 亿条评论。
数据格式:
Review:reviewerID、物品 ID、reviewerName、helpful 评分、reviewText、对物品的评分、summary of the review、unix 格式的评分时间、评分时间
Metadata:物品 ID、物品名称、物品价格、物品图片链接、相关产品(also bought, also viewed, bought together, buy after viewing)、销售排名(类别名:排名)、品牌、类别
Jester 推荐系统数据集
笑话数据集,410 个笑话和 73422 用户, 超过 410 万个连续评分
文件信息
JokeText.csv:笑话 id 与内容
UserRatings1.csv:笑话 id 与用户评分(-10 到 10)
HetRec 2011 Dataset
HetRec 2011 是在 “The 2nd International Workshop on Information Heterogeneity and Fusion in Recommender Systems” 会议上发布的一系列用户喜好的数据,是从 Delicious, Last.fm Web 2.0, MovieLens, IMDb 和 Rotten Tomatoes 这几个网站上整理而来,可用以评估推荐算法的效果。
Book Crossing Dataset
Book Crossing Dataset 是由 Book Crossing 社区的 278858 名用户的评分组成,其包含约 271379 本书的 1149780 条评分数据,评分范围从 1 到 10,该数据集包含 3 个分类。
文件信息:
BX-users.csv:包含三列,分别是 User-ID(用户 id)、Location(位置)、Age(年龄),为空的话则为 NULL
BX-Books.csv:包含八列,分别是 ISBN(专门为识别图书等文献而设计的国际编号)、Book-Title(标题)、Book-Author(作者,如有多位作者,仅提供第一个)、Year-Of-Publication(发布年份)、Publisher(出版社)、Image-URL-S、Image-URL-M、Image-URL-L,不同尺寸(小中大)的封面图片的 URL 链接(指向亚马逊)
BX-Book-Ratings.csv:包含三列,分别是 User-ID、ISBN、Book-Rating,每一行表示用户对某一本书的评分。1-10 表示显性评分,0 表示隐性评分。
Goodbooks-10K Dataset
1 万本畅销书的 6 百万读者评分数据,每个评分 1-5 分不等。
CTR 任务数据集(隐式)
Retailrocket Recommender System Dataset
Retailrocket Recommender System dataset 是一个真实电子商务网站用户的行为数据,包括 4.5 个月内网站访问者的行为数据,行为分为 3 类:点击、加入购物车、交易。
数据集规模:
总计由 1407580 位访问者的对 417053 物品产生的 2756101 个行为事件,其中浏览行为 2664312、添加到购物车行为 69332、交易行为 22457 个。
文件信息:
category_tree.csv:
类目树文件,包含两个关键字 categoryid(类目的唯一标识符)和 parentid(该类的父类标识符,若为空,则表明没有父类,即为 root)。
events.csv:
行为数据集,包含各用户在 4 个月半内点击、添加到购物车、购买等行为信息。该数据集包含 1407580 个用户的 2756101 个行为,其中有 2664312 个点击行为,69332 个添加到购物车行为和 22457 个购买行为。列属性为 timestamp, visitorid, event, itemid, transactionid。
item_properties.csv:
商品属性数据集,包含四个关键字,timestamp(时间戳),itemid,property(属性),value(属性值)。由于商业机密,属性当中除了“categoryid”和“available”之外的所有值都经过哈希散列处理。对于 categoryid 属性,其 value 对应的便是目录树当中的类目标识符。
对于 available 属性,其 value 只有 0 和 1 两种,1 表示可以购买,0 表示不可购买(缺货等原因)。其他的属性用数字 id 表示,它们的值都经过脱敏处理,也就是将文本单词标准化了。
UBA Dataset (User Behaviour Dataset from Alibaba)
阿里用户行为数据集,UBA 来自阿里巴巴广告系统,随机抽取 800 万用户和 15M 购物样本。
每个样本包含 100 个用户历史记录数据。该数据集的组织形式与 MovieLens-20M 非常相似,即每行代表一个特定的用户与商品交互和历史交互,包括用户 ID、商品 ID、品类 ID、店铺 ID、节点 ID、产品 ID、品牌 ID 等关键信息。数据集分为训练和测试。训练集有 15M 个样本,测试集有 0.97M 个样本。
Outbrain Click Prediction Dataset
用户推荐点击预测竞赛数据,是通过用户浏览网站时的点击行为,预测用户对推荐内容的喜好偏好,并有针对性的提供内容推荐。
社会化推荐数据集
社会化推荐与传统的推荐任务不同,所需要的数据集不光需要用户与项目的评分信息,还需要用户与用户间的 社会关系 信息。
Yelp Dataset
Yelp 几乎适用于所有推荐任务,数据规模大,需要手动提取自己需要的信息,包含评价评分信息,用户信息(注册信息、粉丝数量、朋友信息),商品信息(属性信息、位置信息、图像信息),建议信息等。
数据集规模:
6,990,280 条评论; 150,346 家企业; 200,100 张图片; 11 个大都市区
文件信息:
-
yelp_academic_dataset_business.json:包含了 Yelp 商家信息的数据
每个商家的信息都以 JSON 格式存储,包括商家的名称、地址、经纬度坐标、类别(如餐厅、咖啡馆等)、营业时间、星级评分以及其他相关信息。这个文件用于描述 Yelp 平台上注册的商家的基本信息。 -
yelp_academic_dataset_checkin.json:包含用户在 Yelp 平台上进行签到(Check-in)的数据
签到是指用户在实体店面(如餐厅、商店等)实际到达的时间点记录。这个文件存储了用户签到的时间和商家的信息,可以用于分析用户活动模式和商家受欢迎程度。 -
yelp_academic_dataset_review.json:包含了 Yelp 用户对商家的评论数据
每条评论都以 JSON 格式存储,包括用户 ID、商家 ID、评分、评论文本、评论时间等信息。这个文件是 Yelp 数据集中最重要的部分,用于进行情感分析、自然语言处理和用户行为分析等任务。 -
yelp_academic_dataset_tip.json: 包含用户在 Yelp 平台上对商家的小费(Tip)数据
小费是指用户给予商家的建议、提示或推荐,类似于评论但通常更为简短。每条小费数据都包含了用户 ID、商家 ID、小费文本、小费时间等信息。 -
yelp_academic_dataset_user.json: 包含了 Yelp 平台上用户的基本信息
每个用户的数据都以 JSON 格式存储,包括用户 ID、姓名、注册时间、好友列表、评分分布、评论数量等信息。这个文件提供了关于 Yelp 用户的一些统计信息和行为模式。 -
business.json:商家 ID、名称、地址、城市、所在州、邮编、经纬度、评分、评价数、是否开放、上面提到的属性、商家类型、每天的营业时间
-
review.json:评价 ID、用户 ID、商家 ID、评分、评价时间、评价文本、被点 useful 数量、被点 funny 数量、被点 cool 数量
-
user.json:用户 ID、用户 first name、发表评论数、注册时间、朋友的用户 ID、被点 useful 总数、被点 funny 总数、被点 cool 总数、粉丝数量、用户被选为精选用户的年份、评分的平均值、收到的各种赞或礼物的数量(11 种)
-
checkin.json:商家 ID、时间戳列表
-
tip.json:tips 文本、日期、被点赞数、商家 ID、用户 ID
-
photo.json:图片 ID、商家 ID、caption、类别标签
Epinions
Epinions 它是一个真实世界的数据集,公开可用,并广泛用于评估文献中的推荐系统。
Epinions 包含用户对项目的评分以及用户之间明确的信任/不信任关系。
user_rating.txt:
做出信任/不信任声明的成员的 ID | 被信任/不信任的成员的 ID | 关系 | 建立时间 |
---|---|---|---|
1 表示信任,-1 表示不信任 |
mc.txt: 文章id,作者id,主题id
,
rating.txt
文章 id | 评价人员 id | 评分 | 状态 | 首次评价时间 | 最后一次修改评价时间 | 类别 | 领域 id |
---|---|---|---|---|---|---|---|
1-5 评分(1- 没有帮助,2 - 有点帮助,3 - 有帮助 4 - 非常有帮助 5- 最有帮助)[有一些 6,将它们视为 5] | 1 表示用户选择不公开显示他们的评分。 | 这个字段目前可能不常用 | 文章的分类 | ||||
0 表示用户不介意公开显示他们的评分。 |
Gowalla
来源基于位置的社交网站 Gowalla,用户分享自己的位置
数据集规模
Dataset statistics | |
---|---|
Nodes | 196591 |
Edges | 950327 |
Nodes in largest WCC | 196591 (1.000) |
Edges in largest WCC | 950327 (1.000) |
Nodes in largest SCC | 196591 (1.000) |
Edges in largest SCC | 950327 (1.000) |
Average clustering coefficient | 0.2367 |
Number of triangles | 2273138 |
Fraction of closed triangles | 0.007952 |
Diameter (longest shortest path) | 14 |
90-percentile effective diameter(90%有效直径) | 5.7 |
Check-ins | 6,442,890 |
统计指标的含义:
- Nodes:网络中的节点总数,
- Edges:网络中的边总数,
- Nodes in largest WCC:最大弱连通分量(Weakly Connected Component, WCC)中的节点数。在这个数据集中,所有节点都属于一个连通分量,表明网络是连通的。
- Edges in largest WCC:最大弱连通分量中的边数。在这个数据集中,所有边都属于这个连通分量。
- Nodes in largest SCC:最大强连通分量(Strongly Connected Component, SCC)中的节点数。在这个数据集中,所有节点都属于一个连通分量。
- Edges in largest SCC:最大强连通分量中的边数。在这个数据集中,所有边都属于这个连通分量。
- Average clustering coefficient:平均聚类系数,它衡量了网络中节点的聚类程度。值越大,表示节点越倾向于形成紧密的社区。
- Number of triangles:网络中的三角形数量,即三个节点彼此相连形成的三角形。
- Fraction of closed triangles:闭合三角形的比例,即形成三角形的连接数占可能形成三角形的连接数的比例。
- Diameter (longest shortest path):网络的直径,即网络中最长的最短路径。这个值表明了网络中任意两个节点之间最长的距离。
- 90-percentile effective diameter:90%有效直径,即 90%的节点对的最短路径长度小于或等于这个值。这个指标可以反映网络的“有效”大小。
- Check-ins:签到数,即用户在特定位置签到的次数。
数据格式:
loc-gowalla_edges.txt:用户 ID,朋友 ID
loc-gowalla_totalCheckins.txt:用户 ID,登记时间,纬度,经度,位置 ID
CiaoDVD
CiaoDVD 是 2013 年 12 月从 http://dvd.ciao.co.uk 网站上抓取的 DVD 类别数据集,包含了用户对他们购买过的项目的评分和用户间的社交连接。
数据规模:
user: 7,375
Items: 99,746
Ratings (Scale): 278,483 , [1, 5]
文件信息:
1.movie-ratings:数据一共有 6 列分别为 userID(用户 id), movieID(电影 id), genreID(类型 id), reviewID(评论 id), movieRating(电影评分), date(评分日期)
2.review-ratings: 数据一共有 3 列分别为 userID(用户 id), reviewID(评论 id), reviewRating(评论等级有用性)
3.trusts: 数据一共有 3 列分别为 trustorID(信任者 id), trusteeID(被信任者 id), trustValue(信任值)
FilmTrust
2011 年 6 月从整个 FilmTrust 网站爬取的小型数据集, 包含用户对电影的评分信息和用户间的社交信息。
数据规模:
只有 35497 条评分数据。1853 条社交数据。
文件信息:
- ratings.txt: userId, movieId, movieRating
- trust.txt: trustorId, trusteeId, trustRating
知识图谱推荐数据集
Kb4rec
中国人民大学信息学院的项目,将知识图谱和推荐开源数据做了连接,。
KB4Rec v1.0数据集,构建了推荐系统数据集物品(RS item)到知识图谱实体(KB entity)的链接。
在推荐系统方面,选取了三个得到广泛使用的数据集:MovieLens 20M 、LFM-1b 、Amazon book ,分别对应电影、音乐和书籍三个领域;在知识图谱方面,选取了研究者常用的Freebase 。
KB4Rec v1.0数据集由链接的ID对组成,包括推荐系统的物品ID和Freebase中的实体ID。链接文件片段(电影数据集合MovieLens 20M)如下所示:
25991 m.09pglcq
25993 m.0cjwhb
25994 m.0k443
25995 m.0b7kj8
共6个文件:
-
ml2fb.txt: MovieLens 20M to Freebase;
-
lfb2fb.txt: LFM-1b to Freebase;
-
ab2fb.txt: Amazon book to Freebase;
-
ml2yago.txt: MovieLens 20M to YAGO;
-
lfb2yago.txt: LFM-1b to YAGO;
-
ab2yago.txt: Amazon book to YAGO;
持久组数据集(群组推荐)
CAMRA2011
CAMRA2011是一个真实世界的数据集,包含个人用户和家庭的电影评级记录。由于大多数用户在数据集中没有组信息,所以论文过滤它们并保留已经加入组的用户。
用户项目交互和组项交互是以0到100的评分量表进行的明确反馈。我们将评级记录转换为目标值为1的正实例,并将其他缺失数据作为负实例,目标值为0。
最终数据集包含602个用户、290个组、7,710个项、116,344个用户项交互和145,068个组项交互。平均群体大小为2.08。
Mafengwo
马蜂窝是一个旅游网站,用户可以在其中记录他们去过的场所,创建或加入团体旅行。我们保留了至少有 2 名成员且至少去过 3 个场馆的小组,并收集了他们去过的场馆。还收集了每个组成员的旅行地点。根据上述标准,我们获得了 5275 个用户、995 个组、1513 个项目、39761 个用户-项目交互和 3, 595 个组-项目交互。用户-项目交互矩阵的稀疏度为 99.50%,而组-项交互矩阵的稀疏度为 99.76%。平均而言,每个组有 7.19 个用户,每个用户去过 7.54 个场馆,每个组去过 3.61 个场馆。
此外,我们还从马蜂窝平台抓取了粉丝信息。对于上述 5275 名用户,我们收集了他们的关注者。最终,我们获得了 5275 名用户、13096 名关注者和 53235 次用户与关注者的互动。平均而言,每个用户有 10.09 个关注者,每个关注者有 4.06 个用户关注。