查看原文
其他

快手+中科大 | 全曝光推荐数据集KuaiRec 2.0版本

高崇铭 机器学习与推荐算法 2022-12-14
嘿,记得给“机器学习与推荐算法”添加星标

作者:高崇铭

单位:中国科学技术大学博士生,快手实习

在沉淀了一段时间后,我们推出了数据集KuaiRec的2.0版本。这是由我们中科大何向南团队与快手社区科学部门联合推出的,用于推荐系统的一个全曝光数据集。这也是推荐系统学界以及业界首个包含百万量级交互的超密集曝光数据。

数据集的详细信息可见官网文档:https://chongminggao.github.io/KuaiRec/

关于这个数据的的1.0版本的简介,可参考本文KuaiRec | 快手发布首个稠密度高达99%的推荐数据集, 可用于多种推荐系统方向研究

什么是全曝光数据集?

在本数据集提出前,几乎所有的真实推荐数据集都是高度稀疏的,以下列举了一些常见的推荐数据集,给定了用户数目、商品数目、交互数目,以及对应的数据密度=交互数/(用户数*商品数)。可见绝大多数的推荐数据集密度是小于1%的。

Dataset#Users#Items#InteractionsDensityTypes of interactions# User Features# Item Features
Movielens 1M6,0403,7061,000,2094.47%Rating: [1-5]41
Movielens 10M69,87810,67710,000,0541.34%Rating: [0.5-5], tags01
Movielens 20M138,49326,74420,000,2630.540%Rating: [0.5-5], tags01
Movielens 25M162,5415,904725,000,0950.260%Rating: [0.5-5], tags01
Yelp1,987,897150,3466,990,2800.00234%Reviews2113
Alibaba106,04253,591907,4700.0160%Implicit00
Jester73,4211004,136,21056.34%Rating: [-10, 10]00
Book-Crossing92,107271,3791,031,1750.0041%Raing: [1, 10], and implicit42
Last.fm-2k1,89217,63292,8340.28%Play Counts
0
zhihuRec 1M796381,2141,000,0260.155%Views2617
zhihuRec 20M159,878342,73619,999,5020.0365%Views

zhihuRec 100M798,086554,97699,978,5230.0226%Views
17
RetailRocket1,407,580235,0612,756,1010.00083%{View,Addtocart,Transaction}02
Yoochoose509,696 (sessions)19,94934,154,6970.336%{Buys, Clicks}00
Coat29030011,60013.33%Rating: [1-5]00
Yahoo! R315,4001,000365,7042.37%Rating: [1-5]00
Yahoo! R6AAnonymous27145,811,883
Clicks66
Yahoo! R6BAnonymous65227,777,695
Clicks1360
Open Bandit DatasetAnonymous8026,703,169
Clicks44
KuaiRec1,4113,3274,676,57099.6%view time3157
其中可见,除了本文要介绍的KuaiRec数据集以外,这其中密度最高的Jester也才只有56%,而且没有feature信息。另一方面,feature信息比较丰富的zhihuRec数据集,却极其稀疏。这个现象很好理解,正常用户没有时间和精力对成千上万的商品都进行交互。故绝大多数推荐数据集都是极其稀疏的。

而我们首次提出了一个几乎全曝光的推荐数据集:KuaiRec,见下图:

全曝光数据集KuaiRec示意图
其中图中右边矩阵的红色部分为小矩阵,除了部分商品(短视频)因为用户屏蔽了相关作者无法曝光以外,该用户—商品矩阵的99.6%的位置都有值,这部分用户都对视频进行了观看,并以观看时长作为用户反馈。

这个全曝光的小矩阵,可以成为一个绝佳的推荐系统的评测数据,即对于任意用户,其在任意商品上的偏好都已知。

而红色小矩阵外围的蓝色部分,则是我们收集作为训练用途的数据,取名为大矩阵。

这个全曝光矩阵,在推荐系统领域,是首个!

KuaiRec 2.0版本比起1.0版本多了什么?

这次的2.0版本比起1.0区别不大,主要在于:

  1. 加入了大量的用户侧以及视频侧特征。
  • 用户侧:30个特征,包括12个显示特征和18个加密过的one-hot特征。
  • 视频侧:加入了56个特征,其中45个是每天的统计特征。
  1. 去除了原来没用到的ID为1225号的视频,并将原先ID大于1225的视频的ID减一。

我们怎么收集的这个数据集?

短视频推荐不同于商品推荐,用户交互相对密集得多。利用这一特性,我们首先找到了一批高质量的短视频,在喜欢看这一批高质量短视频的用户群中筛选出了一批人群。当然,筛选出的人群也并不能将所有短视频都看完,此时矩阵密集程度大概在70%多。剩下不到30%的交互依然未知。接下来就简单了,我们更改这部分用户的推荐系统规则,将他们没看过的视频插入到推荐流中,在用户不知情的情况下收集他们的反馈。于是,在两周的曝光后,我们再次对用户进行筛选,得到了最终看完所有视频的用户集合。

这个过程得到的数据会不会有问题?当然!没有免费的午餐。这样筛选后也会引入部分的bias。但用户的反馈是真切记录下来了。我们也对这部分数据与快手平台的大数据进行了比较,在一些关键指标上,通过了双样本Kolmogorov–Smirnov假设检验,即我们的全曝光数据与快手平台的大数据在这些指标上分布是一样的。故,这可以当成真实在线数据的缩影。

数据官网中有这个数据集的各种统计信息,这个数据中发现任何问题,都能够支撑做一些debiasing研究的方向。总之,这个数据集可以挖掘的信息很多,机会很多。

KuaiRec数据集可以用来做什么?

由于包含全曝光用户—商品矩阵以及大量的特征,其可以支撑大多数推荐系统方向中的研究。全曝光矩阵最大的用处:评测!评测!

在基于bandit的推荐方式中,以及强化学习的方法研究中,最头疼的问题,就是没有ground-truth信息:即,模型现在推荐或者选择了一个商品,我们不知道用户对其的偏好(稀疏的历史数据中没有),那就没法评测!这类技术就没法用了。于是我们在看到bandit方法、强化学习方法的文章中,用的数据集总是人工模拟数据,或者公司内部数据。而此时此刻,一个真正记录了用户偏好的全曝光数据,就摆在眼前。再也不需要用人工模拟了。

为什么需要全曝光数据?

以前没有全曝光数据,评测推荐系统的方式就是划分出一部分数据作为测试集,在该测试集上用基于例如Precision、Recall等的指标进行评测。这种方式很普遍。

然而!这是有问题的评测方式!而且问题不小。在推荐中,传统离线评测方式,是对于稀疏数据的一种妥协。

传统评测方式问题在哪?为什么需要全曝光数据?有了全曝光数据该如何评测?此处先不说,让大家思考片刻。后续文章会进一步进行分析。

更多推荐系统内容可移步作者主页:https://chongminggao.me/


欢迎干货投稿 \ 论文宣传 \ 合作交流

推荐阅读

论文周报 | 推荐系统领域最新研究进展
精排模型-从MLP到行为序列:DIN、DIEN、MIMN、SIM、DSIN
GNN最新综述 | 可信图神经网络的维度、方法以及趋势
2022推荐系统序列建模的趋势总结

由于公众号试行乱序推送,您可能不再准时收到机器学习与推荐算法的推送。为了第一时间收到本号的干货内容, 请将本号设为星标,以及常点文末右下角的“在看”。

喜欢的话点个在看吧👇

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存