一、工程实践经验
1.隐式反馈要优于显式反馈
隐式反馈是指点击等行为,显式反馈是指评分评论等表达态度的行为;
显式反馈数据要稀疏得多;隐式反馈能更真实表达用户得想法;隐式反馈和目标函数关系更紧密;隐式反馈倾向于短期收益,有损于用户长期留存。
2.数据预处理
对于边缘数据、稀疏行为的过滤,对过热视频的打压,根据模型的特点有针对性地筛选数据,对模型训练有很大的影响。通过设置一些规则过滤掉噪声数据,对头部视频做降采样,对设有attention机制的模型的数据做相关性过滤,都对最终模型的准确率有明显的提升,而且这种提升往往要比优化模型超参、选择更优的模型,效果提升要明显得多。
3.特征的利用
对于性别、年龄、特征等稀疏特征,特征的分布非常不均匀,只适用于做负反馈过滤。对于时长这种特征,可以用于推新视频,应用案例为youtubeDNN。
4.冷启动问题
(1)物品冷启动
物品冷启动的关键点在于物品的基础属性,和推荐的及时性。
新视频入库后,每隔15min跑一遍增量更新任务。
最好的模型当然是与物品特征高度相关的FM一族的模型,通过特征embedding的线性组合即可得到新视频embedding,进而实现线上新视频的实时召回(最近邻检索)。
实时itemCF和实时userCF等策略,可以促进新视频的即时传播,而不需要积累一天的消费行为,隔天模型训练完成后,才进入候选集推荐。
(2)用户冷启动
用户冷启动目前曝光最多的算法是类别预测。用lightgbm模型,使用地域、手机型号、applist、性别、年龄等信息,预测多个一级类得分,然后分别召回,加权融合。
类别倒排的合理性在于:用户冷启动的本质其实是迁移学习,那么关键点就在于如何将新用户与老用户对应起来。第一步就是对老用户进行分群,按用户基本属性进行分群其实准确率是很低的,因为用户基础属性与用户的视频喜好的关联性不强,所以更合理的方法是按用户的类别偏好进行人群分类,作为标签,再通过模型训练,建立用户基础属性与人群类别的对应关系,对新用户召回人群内的偏好top(即类别倒排)。
人群预测也做过实验,但点击率很低。原因在于人群预测分出来的人群很杂,群体内人的相似性其实是比较低的,反而不如按一级类分的人群。如果群内人少,召回的视频就会比较冷门且偏;如果群内人多,召回的视频就集中在热视频上,分类会比较杂;总之热度和集中度是不够的。对于冷启动用户,关键点在于热度。
5.推荐可解释性比精准更重要
在给用户推荐物品的同