OTTO推荐系统数据集:推动电商推荐系统研究的真实世界数据
在当今的电子商务领域,个性化推荐系统已经成为提升用户体验和销售业绩的关键技术。然而,开发高效的推荐算法需要大量真实的用户行为数据。为了推动这一领域的研究,德国著名电商公司OTTO发布了一个大规模的真实世界电商数据集 - OTTO推荐系统数据集。这个数据集为研究人员提供了宝贵的资源,让他们能够开发和评估基于会话的多目标推荐系统。
数据集概览
OTTO推荐系统数据集是从OTTO网店和移动应用中收集的匿名用户行为日志。它具有以下关键特征:
- 包含1200万个真实的匿名用户会话
- 总计2.2亿个事件,包括点击、加入购物车和下单
- 涵盖180万个独特商品
- 数据以易于使用的.jsonl格式提供
- 提供多目标优化的评估指标
这个数据集的规模和真实性使其成为推荐系统研究的理想基准。研究人员可以利用这些数据来开发和评估各种推荐算法,特别是针对基于会话和多目标优化的场景。
数据格式和内容
数据集中的每个会话都被存储为一个JSON对象,包含一个唯一的会话ID和一系列事件:
{
"session": 42,
"events": [
{ "aid": 0, "ts": 1661200010000, "type": "clicks" },
{ "aid": 1, "ts": 1661200020000, "type": "clicks" },
{ "aid": 2, "ts": 1661200030000, "type": "clicks" },
{ "aid": 2, "ts": 1661200040000, "type": "carts" },
{ "aid": 3, "ts": 1661200050000, "type": "clicks" },
{ "aid": 3, "ts": 1661200060000, "type": "carts" },
{ "aid": 4, "ts": 1661200070000, "type": "clicks" },
{ "aid": 2, "ts": 1661200080000, "type": "orders" },
{ "aid": 3, "ts": 1661200080000, "type": "orders" }
]
}
每个事件包含以下信息:
- aid: 商品ID
- ts: 事件发生的Unix时间戳
- type: 事件类型(点击、加入购物车或下单)
这种结构化的数据格式使研究人员能够轻松分析用户行为序列,开发基于时间序列的推荐算法。
数据集统计
为了帮助研究人员更好地理解数据集的特征,OTTO提供了详细的统计信息:
数据集 | 会话数 | 商品数 | 事件总数 | 点击数 | 加购数 | 下单数 | 密度 [%] |
---|---|---|---|---|---|---|---|
训练集 | 12,899,779 | 1,855,603 | 216,716,096 | 194,720,954 | 16,896,191 | 5,098,951 | 0.0005 |
测试集 | 1,671,803 | 1,019,357 | 13,851,293 | 12,340,303 | 1,155,698 | 355,292 | 0.0005 |
这些统计数据揭示了数据集的规模和特征,如会话数量、独特商品数、各类事件的分布等。这些信息对于研究人员设计和调整算法非常有价值。
评估方法
OTTO推荐系统数据集采用Recall@20作为主要评估指标。具体来说,对于每种事件类型(点击、加入购物车、下单),都会计算Recall@20,然后通过加权平均得到最终得分:
score = 0.10 * R_clicks + 0.30 * R_carts + 0.60 * R_orders
这种评估方法考虑了不同类型事件的重要性,特别强调了最终的转化(下单)。这种多目标评估方法更贴近实际业务场景,鼓励研究人员开发能够同时优化多个目标的算法。
研究价值和应用
OTTO推荐系统数据集为推荐系统研究带来了多方面的价值:
-
真实世界数据: 相比于合成数据集,这个数据集来自真实的电商平台,能更好地反映实际用户行为和业务场景。
-
基于会话的推荐: 数据集的结构非常适合研究基于会话的推荐算法,这是当前推荐系统研究的一个热点方向。
-
多目标优化: 通过同时考虑点击、加购和下单,数据集鼓励研究人员开发能够平衡多个业务目标的算法。
-
大规模数据: 数据集的规模使其成为评估推荐算法可扩展性的理想选择。
-
基准测试: 作为一个公开的数据集,它为研究人员提供了一个共同的基准,便于比较不同算法的性能。
-
跨领域应用: 虽然数据来自电商领域,但许多研究成果可能适用于其他需要序列推荐的领域,如内容推荐、音乐推荐等。
数据集使用指南
为了帮助研究人员更好地使用这个数据集,OTTO提供了一系列工具和指南:
- 数据获取: 数据集托管在Kaggle平台,可以通过Kaggle API轻松下载:
kaggle datasets download -d otto/recsys-dataset
-
数据处理: 提供了Python脚本来处理和分析数据,如创建测试集、计算评估指标等。
-
评估工具: 提供了evalute.py脚本,可以计算提交结果的Recall@20分数。
-
详细文档: GitHub仓库中包含了全面的文档,解释了数据格式、评估方法、常见问题等。
结论
OTTO推荐系统数据集为推荐系统研究领域带来了一个宝贵的资源。它不仅提供了大规模的真实世界数据,还设计了反映实际业务需求的多目标评估框架。这个数据集的发布将推动基于会话的多目标推荐系统研究,促进更实用、更高效的推荐算法的开发。对于研究人员和实践者来说,这是一个难得的机会,可以在真实数据上测试和改进他们的算法,为电子商务和其他相关领域的个性化推荐带来突破。
OTTO的这一举措也体现了开放数据对推动科研和技术创新的重要性。通过共享匿名化的用户行为数据,OTTO不仅为学术界提供了宝贵的研究资源,也为整个电商行业的发展做出了贡献。我们期待看到基于这个数据集产生的创新算法和研究成果,以及它们在实际应用中带来的价值。