推荐系统研究中的九大数据集

原文地址
ps:对原文有所删减

在这篇博客中,作者介绍了九个数据集,其中一些是推荐系统中常用到的标准数据集,也有一些是非传统意义上的数据集(non-traditional datasets),作者相信,这些非传统数据集更接近真实场景的数据。

首先,先说明下推荐系统数据中的几个类别:

  • Item: 即我们要推荐的东西,如产品、电影、网页或者一条信息片段
  • User:对item进行评分以及接受推荐系统推荐的项目的人
  • Rating:用户对item的偏好的表达。评分可以是二分类的(如喜欢和不喜欢),也可以是整数(如1到5星)或连续(某个间隔的任何值)。 另外,还有一些隐反馈,只记录一个用户是否与一个项目进行了交互。

数据集

MovieLens

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! Jester是由Ken Goldberg和他在加州大学伯克利分校的小组发展的,包含150个笑话大约600万的评分。 像MovieLens一样,Jester评分由互联网上的用户提供。 你可以在这里贡献你自己的评分。

与我们使用的其他数据集相比,Jester有两个方面是特殊的:它使用-10到10的连续等级,并且在量级上具有最高的评分密度。评分密度的意思是大概“平均每个用户评价多少个项目”?如果每个用户都对每个项目进行了评分,那么评级密度将为100%。 如果没有人评价过任何东西,那将是0%。 Jester的密度约为30%,这意味着一个用户平均对30%的笑话进行了评分。 作为比较,MovieLens 1M的密度为4.6%(其他数据集的密度低于1%)。当然不是那么简单。 不是每个用户都评价相同数量的项目。 相反,一些用户对许多项目进行评分,大多数用户只评价一些。 这可以在以下直方图中看到:

这里写图片描述

数据获取地址

Book-Crossings

Book-Crossings是由Cai-Nicolas Ziegler根据bookcrossing.com的数据编写的图书评分数据集。 它包含90000个用户的270000本书的110万个评分。评分范围从1到10,还包括隐性评分。

Book-Crossings数据集是最不密集的数据集之一,也是具有明确评分的最不密集的数据集。

数据获取地址

Last.fm

Last.fm提供音乐推荐的数据集。 对于数据集中的每个用户,包含他们最受欢迎的艺术家的列表以及播放次数。它还包括可用于构建内容向量的用户应用标签。

Last.fm的数据聚合aggregated)后,有些信息(关于特定的歌曲,或某人正在听音乐的时间)会丢失。 然而,它是这些样本中唯一具有用户的社交网络的信息的数据集。

数据获取地址

Wikipedia

维基百科是其用户撰写的协作百科全书。维基百科除了为最后一刻拼写学期论文的学生提供信息外,还为每个用户提供每篇文章的每个编辑的数据转储。该数据集已广泛用于社交网络分析,图形和数据库实现测试,以及维基百科用户行为研究。还可以将用户采取的编辑操作,作为隐性评分,表明他们因某些原因关心该页面,并允许我们使用数据集来提出推荐。

由于维基百科不是为了提供推荐者数据集而设计的,所以它确实存在一些挑战。其中一个是从页面中提取有意义的内容向量,但是幸运的是,大多数页面被很好地分类,为每个页面提供了一种类型。构建维基百科的内容向量的挑战与现实世界数据集的推荐面临的挑战相似。所以我们认为这是建立一些这样做的专门知识的好机会。

数据获取地址

OpenStreetMap

OpenStreetMap是一个协作的地图项目,类似于维基百科。 像维基百科一样,OpenStreetMap的数据由用户提供,整个编辑历史的完整转储也是可用的。 数据集中的对象包括道路,建筑物,兴趣点,以及您可能在地图上找到的任何其他内容。 这些对象由键值对标识,因此可以从中创建一个基本的内容向量。 然而,键值对是自由的,所以选择正确的设置是一个挑战。 一些键值对由编辑软件(例如“highway =住宅”)进行标准化和相同的使用,但通常它们可以是用户决定进入的任何内容 - 例如“FixMe !! = Exact location unknown”。

历史编辑数据

Python Git Repositories

我们收集的最终数据集,也许最不传统的,基于Git存储库中包含的Python代码。 我们写了几个脚本(在Hermes GitHub repo中 在此获取)从互联网上下载存储库,提取其中的信息,并将其加载到Spark中。 从那里我们可以从用户编辑中构建一组隐含的评分。

我们目前通过查看所有导入的库并调用函数从每个Python文件中提取内容向量。 将来我们计划将库和函数本身作为建议的项目。

Comparison

各种数据集在其关键指标方面都有所不同。 下表列出了每个数据集的这些度量标准的摘要:

这里写图片描述

我们选择的数据集涵盖广泛的密度、用户和项目数量以及评分类型。 此外,它们提供了关于项目和用户的各种信息,从而允许我们探索从数据集中提取内容向量的不同方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值