来自腾讯、西湖大学的研究者发布了一种新的推荐系统数据集 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 的有预训练比从零开始训练效果更好。