Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

覆盖四种场景、包含正负向反馈,腾讯、西湖大学等发布推荐系统公开数据集Tenrec

来自腾讯、西湖大学的研究者发布了一种新的推荐系统数据集 Tenrec,记录了来自四种不同推荐场景的各种用户反馈。

近些年来,通过各种内容平台浏览视频或者是阅读文章的用户越来越多,而现有的推荐算法有时难以很好地建模用户的偏好,因此需要更准确的推荐系统模型。但已知的推荐系统(RS)的基准数据集要么是小规模的,要么是用户反馈形式非常有限。在这些数据集上评估的推荐系统模型往往缺乏实用性,难以为大规模真实场景应用提供足够的价值。

在本文中,来自腾讯、西湖大学的研究者发布了 Tenrec 数据集,一套超大规模的推荐系统公开数据集和评测基准,它记录了来自四种不同推荐场景的各种用户反馈。

  • 论文地址:https://arxiv.org/abs/2210.10629

  • 代码地址:https://github.com/yuangh-x/2022-NIPS-Tenrec

  • 数据集地址:https://static.qblv.qq.com/qblv/h5/algo-frontend/tenrec_dataset.html

具体来说,Tenrec 有 以下五个特点:(1)规模大,包含约 500 万用户和 1.4 亿次互动;(2)不仅有正向的用户反馈,也有真实的负反馈;(3)它包含四种不同场景中重叠的用户和重叠 items;(4)它包含各种类型的用户正反馈,以点击、点赞、分享形式等;(5)它包含了除了用户 id 和 item id 之外的附加特征,如用户年龄、性别和 items 类别等。

研究者通过对每个任务运行几个经典的 Baseline 模型来验证 11 个不同的推荐任务上的 Tenrec 表现。Tenrec 有很大的潜力成为一个对多数流行推荐系统任务有用的基准数据集。

数据集描述

Tenrec 是一个为多个推荐任务开发的数据集,数据收集来自腾讯的两个不同的内容推荐平台(QB 和 QK)。QK/QB 中的一条数据可以是一篇图文或一段视频。需要注意的是,图文推荐模型和视频推荐模型是分别用不同的神经网络和特征进行训练的。因此,可以认为 Tenrec 总共是由四个场景的用户反馈组成的,即 QK-video、QK-article、QB-video 和 QB-article。研究者从两个内容平台收集用户(匿名处理)的行为日志,首先从 QK-video 的数据库中随机抽取五百万的用户,抽取的这些用户至少包含五个及以上的点击行为。然后再抽取用户的相关行为,包含正反馈行为:点击、分享、喜欢和关注等,负反馈行为:item 曝光但无点击的用户行为。最终抓取约 1.42 亿的点击行为,1 千万的喜欢行为,1 百万的分享行为和 86 万的关注行为以及总共 3.75 百万的视频数量。除了用户行为以外,还包括经过脱敏处理后的用户年龄、用户性别和物品类别等特征。对于 QK- article、QB-video 和 QB-article 场景采用相似的数据处理方式,其中 QK-video 为主场景数据集,另外三个为次要场景,可用于推荐系统中的迁移学习场景或者冷启动场景等。详细的数据统计可见下表 1。

图 2(a)和 (b) 显示了 QK-video 在点击行为中的 item 频率。由下图可得,item 频率遵循典型的长尾分布。(c)展示了会话长度的分布,其中具有 [0~20] 长度的会话的数量占所有会话的 53%。另外三个数据集有相似的结论。

其次,Tenrec 在四个场景中有重叠的用户和 item。对于用户,我们统计 QK-video 和 QK-article,QB-video,QB-article 的重叠数量,因为 QK-video 覆盖了最多的用户、items 和交互。其中,QK-video 和 QK-article 重叠用户数为 268207,QK-video 和 QB-video 重叠用户数为 3261,在 QK-video 和 QB-article 之间的重叠用户数为 58。对于 items 的重叠数量,QK-video 和 QB-video 之间有 78,482 个重叠的视频。重叠的用户和 items 可以通过其唯一的 id 索引进行关联。由于 Tenrec 有交叠的用户和 items,因此它非常适合用于研究迁移学习和交叉领域学习等任务。

除上述所说的优势之外,Tenrec 和现有的推荐系统不同的是,它包含不止一种用户反馈。QK-video 和 QB-video 除了用户点击行为外,还包括点赞,分享和关注等行为,这些行为比点击行为更加能够反映出用户的偏好程度。在 QK-article 和 QB-article 同样有用户的正反馈,除上述行为之外,还包括阅读行为和喜欢行为。除了上述的各种正反馈行为外,Tenrec 还包括真实的负反馈行为,即 item 展示给用户,但是用户不感兴趣并没有点击 item。真实的负样本可以帮助 CTR 等推荐系统任务更加真实地学习到用户的兴趣。

Tenrec 数据集具体的特征如下所示,QK-video/QB-video 的特征包括 {user ID, item ID, click, like, share, follow,video category, watching times, user gender, user age}。其中 click, like, share, follow 特征是二值属性,代表用户是否有相关的行为。video category 是视频类别,watching times 是用户观看该视频次数。而有敏感信息的 user ID, item ID, user gender, user age 特征都做了匿名化处理。另外,QK-article/QB-article 的特征包括 {user ID, item ID, click, like, share, follow, read, favorite, click_count, like_count, comment_count, exposure_count, read_percentage, category_second, category_first, item_score1, item_score2, item_score3, read_time}。其中“*_count” 代表的是相应行为的总数量, read_percentage 是用户的阅读完成度,取值范围从 0 到 100。category_first 和 category_second 是文章的类别,其中 category_first 是粗粒度类别(如体育、娱乐、军事等),category_second 是细粒度类别 (例如:NBA、世界杯、科比等)。item_score1、item_score2、item_score3 表示不同评分系统给出的打分。read_time 是阅读的持续时间。

实验验证

接下来研究者将用十一个不同的推荐任务验证 Tenrec 数据集。

1、CTR Prediction

CTR Prediction 是一个经典的推荐任务,其目标是预测用户是否要点击一个推荐的项目。研究者在 QK-video 的采样版本上执行这个任务,即随机抽取从 QK-video 数据集中抽取 100 万个用户,称为 QK-video-1M。

数据预处理:在处理过程中保留所有的正反馈(点击行为),并抽取一部分真实负反馈,正 / 负抽样比为 1:2。通过这样做,我们总共获得了 1,948,388 个项目和 86,642,580 个交互作用,可以达到 96.7% 的稀疏性。然后研究者将数据切分成 8:1:1,分别作为训练集,验证集,和测试集。训练样本包括如下特征:user ID、item ID、性别、年龄、视频类别和用户 10 个历史点击项目。我们分别对上述特征做特征嵌入。

Baseline 模型:在该任务中,研究者使用如下模型:Wide & Deep, DeepFM, NFM, xDeepFM, AFM, DCN, DCNv2, DIN, DIEN。另外,进行了共享历史 embeddings 和非共享历史 embeddings 的实验比较。

实验结果:上表显示了不同方法在 QK-video-1M 数据集上的 AUC 评估指标结果。可以观察到,一般来说,这些 CTR 模型的表现非常相似。其次非共享历史 embeddings 的表现要略好于共享 embeddings。

2、Session-based Recommendation

基于会话的推荐(SBR),也称序列推荐,给定一个会话序列(即之前的交互 items),目的是预测下一个 item,SBR 的一个关键特征是在训练过程中明确地建模交互顺序,这通常会产生更好的 top-N 结果。

数据处理:研究者使用 QK-video-1M 来评估各个 Baseline 模型。遵循常规的实验设置,研究者过滤掉序列长度小于 10 的会话,同时设置会话的最大长度为 30。经过数据预处理之后,可以得到 928,562 个用户,1,189,341 个 items 和 37,823,609 个点击互动。实验保留会话中的最后一项用于测试,最后第二项用于验证,剩下的用于训练。

Baseline 模型:在该任务中,研究者使用如下模型:GRU4Rec, NextItNet, SASRec, BERT4Rec。

实验结果:研究者使用标准的 top-N 排名指标来评估所有的模型,即 HR 和 NDCG。N 被设置为 20。表 3 显示了 4 个模型试验的结果。观察结果如下:(1)单向模型 GRU4Rec、NextItNet 和 SASRec 在 HR@20 和 NDCG@20 上比双向 BERT4Rec 提供更好的结果。(2)在相同的训练方式下,三个单向模型的性能相似。

3、Multi-task Learning for Recommendation

多任务学习(MTL)的目标是同时学习两个或多个任务,同时最大化其中一个或所有任务的性能。在这里,我们试图对用户对点击和点赞的偏好进行建模而不是其中之一。该任务中使用与 CTR Prediction 相同的数据集和分割策略。不同之处在于,该任务有两个输出目标,一个用于点击,另一个用于点赞。考虑到 Tenrec 包含了许多类型的用户反馈,人们可以利用更多的目标来构建更具挑战性的 MTL 任务,例如 3 个、4 个甚至 6 个任务 (即通过点击、点赞、分享、关注、阅读、收藏等) 从 QK-article 数据集学习。

Baseline 模型:在该任务中,研究者使用如下模型:ESMM、MMOE、PLE。

实验结果:表 4 显示了四种方法在 QK-video-1M 数据集上 AUC 的结果。正如我们所看到的,ESMM 在点击和点赞的预测方面都比 MMOE 表现得更好。

4、Transfer Learning for Recommendation

迁移学习(TF)——首先通过预训练,然后进行微调,这已经成为 NLP 和 CV 中常用的方法。该任务中,首先在源域预先训练 SBR 模型(即 NextItNet 和 SASRec),然后在目标域中使用相同的模型(其他参数随机初始化),将在源域学习到的隐藏层参数迁移到目标领域中(即 CNN 和 self-attention 的参数)。

数据预处理:使用在 SBR 任务中的数据集作为源数据集,并使用 QB-video 点击反馈作为目标数据集。

Baseline 模型:在该任务中,研究者使用如下模型:NextItNet、SASRec。

实验结果:表 5 显示了有和没有预训练的比较结果。观察可得,NextItNet 和 SASRec 通过预训练能产生更好的 top-N 结果。这表明,从大型训练数据集学习到的隐藏层参数,可以作为在目标域训练数据不足时模型参数的初始化。

5、User Profile Prediction

用户个人信息是个性化推荐系统的重要特征,特别是对冷用户或者新用户的推荐。最近,相关文献证明了通过对用户的点击行为进行建模,可以很准确地预测用户的个人信息。

数据预处理:研究者在 QK-video-1M 上完成实验。先移除没有个人信息特征的用户,然后按照 8:1:1 的比例划分成训练集、验证集和测试集。

Baseline 模型:在该任务中,研究者使用如下模型:DNN、PeterRec 和 BERT4Rec。

实验结果:表 6 显示了 5 个 Baseline 模型的 ACC 结果。首先,PeterRec 和 BERT4Rec 的表现优于 DNN,表明建模用户序列行为时 CNN 和 Self-Attention 网络更强大。第二,PeterRec 和 BERT4Rec 的有预训练比从零开始训练效果更好。

6、Cold-start Recommendation

冷启动是推荐任务中一个悬而未决的挑战。Tenrec 的一个主要优点是有用户重叠和 items 重叠的信息,因此可用于解决冷启动的问题。

数据预处理:该任务中 QK-video 作为源数据集,QK-article 作为目标数据集。为了更加贴合实际场景,研究者设置了几个不同的冷用户场景,例如全冷用户和冷热用户混合场景。同样的,这里设置 8:1:1 的数据划分策略。

Baseline 模型:在该任务中,研究者使用如下模型:PeterRec 和 BERT4Rec。

实验结果:表 7 显示了 Cold-start Recommendation 的结果。首先,我们发现 PeterRec 和 BERT4Rec 通过预训练都有明显的效果提升。

7、Lifelong User Representation Learning

当把一个模型从一个领域迁移到另一个领域时,在原始任务训练的参数往往会被修改来适应新的任务。因此,模型将不再适用于原始任务,这就是灾难性遗忘。Conure 提出了一个 "一个模型适用所有任务" 的学习框架,其目的是建立一个适用所有场景的用户表征(User Representation:UR)模型。在本节中,研究者通过在四个场景中迁移用户的偏好来研究终身学习(Lifelong Learning LL),即从 QK-video 到 QK-article 到 QB-video 到 QB-article。

数据预处理:研究者从 QK-video-1M 随机抽取百分之五十的用户用于 LL 的任务 1。然后使用 QK-article、QB-video 和 QB-article 与作为其他任务的数据集。其中,QK-article 保留最多三个交互,由于 QB-video 和 QB-article 的用户量和点击行为较少,因此保留这两个数据集的用户的所有交互。

Baseline 模型:在该任务中,研究者将 Conure 的方法应用在 NextItNet 和 SASRec 上。

实验结果:表 8 显示了用持续学习的用户表征进行推荐的结果。可以清楚地看到,因为在任务 1 的预训练,Conure 在任务 2、3 和 4 上提供了性能改进。

8、Model Compression

模型压缩可以将大型神经模型部署到容量有限的设备中,如 GPU 和 TPU(张量处理单元)。对于推荐系统模型来说,嵌入层的参数数量很容易达到数亿到数十亿的级别。

数据预处理:研究者对 Session-based Recommendation 任务中的模型进行参数压缩,并使用与 Session-based Recommendation 任务相同的数据集。

Baseline 模型:该任务中将 CpRec 框架应用在 NextItNet 和 SASRec 上。

实验结果:表 9 显示 CpRec 将 NextItNet 和 SASRec 压缩到其原始大小的三分之二。

9、Model Training Speedup

这项任务的目的是加速层数非常多的模型的训练过程。与浅层的 CTR 模型不同,SBR 模型层数可以更深。为了加速训练过程,他们提出了 StackRec,它首先学习一个浅层模型,然后将这些浅层复制为深层模型。同样地,研究者通过使用 NextItNet 和 SASRec 作为骨架来评估 StackRec 框架。

数据预处理:数据集使用和预处理方式与 Session-Based Recommendation 任务相同。

Baseline 模型:该任务中将 StackRec 框架应用在 NextItNet 和 SASRec 上。

实验结果:表 10 显示了训练加速的结果。可以得出几个观察结果:(1) StackRec 明显减少了 NextItNet 和 SASRec 的训练时间;(2) 训练加速并没有导致推荐精度的下降。

10、Model Inference Speedup

随着模型层数地增加,会出现一个问题:推理成本也大大增加。导致在线推理的高延迟。然而实际场景中,推荐系统中的用户可以分为困难用户和容易用户,向容易用户推荐物品不需要通过整个网络。因此,可应用 SkipRec 框架。在模型推理阶段,它可以自适应地决定哪个用户需要哪个层。

数据预处理:数据集使用 QB-video,预处理方式与 Session-Based Recommendation 任务相同。

Baseline 模型:该任务中将 SkipRec 框架应用在 NextItNet 和 SASRec 上。

实验结果:表 11 显示了 SkipRec 对 QB-video 的影响。我们看到 SkipRec 中的跳过策略可以大大加快 SBR 模型的推理时间,例如 NextItNet 约加速 23%,SASRec 约 32%。且 32 层的 SkipRec-NextItNet 依然要比 16 层的 NextItNet 的推理速度要快。

11、Top-N Recommendation

Top-N 推荐是推荐系统较为经典的任务。研究者在 QB-video 数据集上验证 Top-N Recommendation。

数据预处理:过滤掉序列长度小于 10 的用户,并且按照 8:1:1 的分割比例划分训练集、验证集和测试集。另外,采用随机采样和频率采样作为负采样方法。

Baseline 模型:在该任务中使用 MF,NCF,NGCF 和 Light GCN 模型。

实验结果:实验结果表明,一个更好的负采样器有助于提高准确率,例如频率采样。

结论

本文向读者介绍了 Tenrec,目的是推动推荐系统社区的发展。它是目前最大和最通用的推荐数据集之一,涵盖多个具有各种类型用户反馈的真实场景,用户反馈行为包括点击,点赞,分享,关注和真实负反馈等。并且研究者呈现了十一个热门推荐系统任务的经典算法在 Tenrec 上的实验结果,Tenrec 可用于 CTR 预测、序列推荐、多任务学习、迁移学习、用户画像预测、冷启动推荐、终身学习、模型压缩、模型训练加速、模型推理加速和 Top-N 推荐等相关任务研究。除了上述任务以外,Tenrec 还可以应用于交叉领域推荐,用户不同反馈的迁移和不同负采样的 items 推荐等任务。Tenrec 经过数据脱敏处理,用户的个人信息隐私问题得到了很好的保护。

理论推荐系统
1
暂无评论
暂无评论~