样本可以看作推荐系统的源泉,样本的好坏从根本上影响着推荐系统的上限,因此样本的选择和处理也是我们需要重点关注的
常见的样本空间:所有样本、其他域样本、候选样本、曝光样本、点击样本、购买样本等;
而在推荐系统中的召回层、粗排层、精排层都需要单独进行样本空间的构建,对其正负样本空间的构建,需要考虑到多方面因素,让我们来一起探索吧!
样本采集
召回层
召回层的目标是尽可能多的覆盖用户的潜在兴趣,所以选择上会更多的考虑 items 的多元化和全面化
正样本
- 用户的历史点击行为:包括不同时间段、不同场景、不同类型的点击;
- 用户的反馈行为:包括评分、评论、收藏、分享、购买等;
- 用户画像信息:包括年龄、性别、地域、兴趣标签等;
负样本
- 曝光未点击
- 会导致样本选择偏差(Sample Selection Bias):曝光未点击只能反映用户对已经展示的物品的兴趣,而忽略了那些没有展示但可能更有吸引的物品,这可能会导致召回模型过度拟合已有的曝光数据,而无法发现新的或者潜藏的用户兴趣;
- 全局随机选择
- 从全局候选物料中随机抽取 items 作为召回的负例,在 Youtube DNN 双塔模型中使用过;
- 缺点是可能会导致正负样本比例较大,需要进行处理,例如随机选择/权重/造伪样本等;
- batch 内随机
- 在每个 batch 内随机选择其他 item 作为负样本;
- 优点是不需要额外的采样中心,减轻了开发;缺点是可能会引入正样本和无关的负样本;
- Popularity 选择
- 从流行度低的物品中随机选择负例,原理是认为用户更有可能对流行度低的物品不感兴趣;
- 优点是可以减低误杀正样本的风险;缺点是会忽略潜在的长尾效应;
- Hard 选择
- 基于模型损失来选择负样本的方法,认为难以正确分类的负样本,即损失较大的负样本,对于模型的学习更有价值;
- 优点是可以加快模型收敛和提高模型性能;缺点是可能会增加训练难度和计算开销;
- Airbnb根据业务逻辑来选取hard negative:1、增加与正样本同城的房间作为负样本,增强了正负样本在本地域上的相似性,加大模型的学习难度 2、增加“被房主拒绝”作为负样本,增强了正负样本在“匹配用户兴趣爱好”上的相似性,加大了模型的学习难度;
粗排层
正样本
- 曝光点击
- 联级粗排
- 选取精排的Top_K为正样本,精排尾部或者召回的随机结果作为负样本;
- 优点可以提高排序效果,减少样本选择偏差,提高召回通路的利用率;缺点是需要依赖精排模型,增加了计算成本和时延,可能存在过拟合风险;
负样本
- 曝光未点击
- 简单易实现,但是可能存在样本选择偏差
- 级联粗排
- 精排尾部或者召回的随机结果作为负样本,选取精排的Top_K为正样本;
- 全局随机
- 优点可覆盖更多的候选物料,防止过拟合;缺点是会引入噪声和无关物料,降低模型效果;
精排层
正样本
- 曝光点击
- 简单易实现,但可能忽略用户的其他行为和偏好,导致模型的泛化能力不足;
- 用户点击、收藏、购买等多种行为综合考虑
- 利用了用户反馈信息,提高了模型准确度和覆盖度,但也需要考虑不同行为之间的权重和时间衰减因素;
- 用户在多个目标上的偏好,例如商品品类、价格区间、品牌等
- 可以捕捉用户多维兴趣,提高模型的个性化程度和多样性,但是需要解决目标之间的冲突和平衡问题;
负样本
- 曝光未点击
- 随机选择
- 可以考虑在全局/召回/粗排等候选物品中随机抽取负样本;
- 从模型预测结果中选择
- 挑选出对模型最具挑战性的负样本,例如同城市中的其他房间(Airbnb),但是可能会导致训练不收敛或者陷入局部最优
样本清洗
- 数据错误:例如用户ID错误、商品ID错误等(多数为标识错误),需要进行纠正或者删除;
- 数据重复值:例如用户反复曝光后,可能产生重复样本,一般重复样本取其一即可,一般通过uid+时间戳进行判断;假设出现矛盾样本,例如上报了用户同时点击和未点击某个item,则需要根据业务需求进行判断处理;
- 数据噪声:例如无关的用户行为,用户未关注的商品,低质量的商品评价等等,这些都需要针对性的配合业务进行处理;例如美团曾采用对最后一次点击之后的曝光样本删除的逻辑,因为用户可能未曾关注到后续的曝光样本;
- 数据缺失值:缺失值处理一般进行填充或者删除;填充可考虑平均值、均值等;
- 数据异常值:异常需要识别和处理,例如机存在恶意刷屏欣慰或者爬虫机器人等,通过观察整体数据,来判断一定时间内的行为数大于某值为异常值,一般采取删除操作;
样本权重
推荐系统中正负样本不均匀问题是一个常见的挑战,除了采用下采样或者上采样的方法来调整正负样本的比例外,样本赋权也是常用的方法;
样本赋权
- 基于频率/时长的赋权方法
- 根据样本中出现的频率或者点击率来给样本分配权重;
- 基于业务的赋权方法
- 根据不同点击行为,例如点击、点赞、购买等行为基于不同的权重;