作者:一元,炼丹笔记三品炼丹师
杰少, 炼丹笔记备胎小编
CIKM 2019 EComm AI方案解读
背景
本文解读CIKM 2019电商竞赛的三大获奖方案,这些方案都十分简单而且实用,如果刚刚做这块的朋友可以速速搭建一个非常高效的Baseline哦。
赛题背景
问题定义
在电商场景中,推荐系统作为电商核心功能之一,对用户体验的提升有重要作用。预测用户的兴趣,为其做出合理的推荐是工业界与学术界长久以来研究的课题。经典方法包括基于内容的推荐、协同过滤等,一定程度上完成了推荐系统的任务。近年来,随着图神经网络研究的兴起,基于深度学习的GNN(Graph Neural Network)在推荐领域也逐渐称为研究热点。
电商场景中, 用户,商品,以及两者之间的行为可以用一张二部图来表示。预测用户未来的行为, 转化为预测二部图中用户-商品边的概率,有更好的可解释性、可推理性。
图1是一个包含用户和商品的二部图。两种类型的节点之间存在不同的用户行为,即曝光、点击、支付、加入购物车、收藏。对图结构的探索,比如预测用户与商品之间是否会存在一条潜在的“点击”边,等价于对用户兴趣的建模/完成推荐。准确的推荐会给电商系统带来更好的用户体验,减少用户面对海量的商品时的信息过载。
但是,构建这样的推荐系统常常面临一些挑战, 首先是如何处理各种用户行为。比如用户商品之前存在的“点击边”和“收藏边”,对用户个性的刻画有什么不同的影响?相同的“点击边”对不同的商品——日用品&奢侈品,有什么不用的信号?不同时间长度的边,其影响力改如何衡量?其次的挑战是冷启动问题。具体来讲, 是一些没有行为/行为很少的用户/商品节点,如何将他们纳入推荐体系?第三个挑战在于何如处理边之上的时间信息。
任务: 根据用户历史行为预测未来行为
对于特定的用户, 为其推荐最多50个TA未来3天可能会点击的商品
提交格式
提交格式参见 表格 1。参赛选手需要在user_id之后添加一列预测结果(item_ids),逗号分隔不同的商品id。注意,推荐商品数量上限为50。user_id与item_ids之间以制表符(\t)分隔,item_id之间以逗号分隔。
注意,推荐商品数量上限为50。如果此处结果超过50个商品,评测将返回错误信息。
数据集
训练数据集总共分为4部分。第一部分是是用户对商品的行为, 参加 表格 2。这里可能的行为包括点击、购买、加入购物车、收藏。第二部分是用户特征,参见 表格 3. 第三部分是商品的特征,参见 表格 4.
用户提交结果后,会在验证集上给出相应的指标反馈。比赛末期会给参赛选手提供与每日测试不同的测试集,其效果决定了最终比赛的排名。
评估指标
其中为用户未来点击的商品集合, 为选手提交的预测商品集合
第五名思路
这个cssnet是作者自取的名字,所以网上没有,该方案很简单,基本不是很耗时,很值得借鉴。
第一层: 网络计数层
第二层:商品相关性层
第三层: 神奇的SUM
第四名方案
协同过滤高评分商品
经过对数据的探索,观察发现这题比较适用于基于物品的协同过滤。对于训练数据,我预处理了和每件物品相似度最高(以相交用户数来评判相似度)的一些物品。对用户有过历史行为的物品,根据时间、行为类型计算,加权计算其协同过滤列表中的物品的相似度,并以相似度作为关键值排序后从大到小召回。
同类热门商品
经过对数据的探索发现,用户对物品有行为之后,之后的行为大概率发生在同类、同商店的物品中。因此,对于用户最后若干次行为的物品,我召回了其同类、同商店的一定数量的热门物品,作为第 一类规则未填充满50个物品时的备选项。
全局热门商品
当上述两种规则均无法召回到50种商品时,将使用所有商品中最热门的商品进行填充。
第二名方案
整体流程:先通过协同过滤等策略筛选出候选集,然后采用Ranking策略(类似于精排)并进行集成选出最终的结果。
数据分割
候选集产出
1. 整体框架
因为用户的兴趣会随着时间而改变,所以我们需要对此加权。
此处的为流行率。
排序
3. 模型训练
模型预测结果
参考文献
是不是很好奇没有冠军方案,如果希望提前获取冠军方案解读,记得关注我们哦。