商品推荐系统
项目目标:优化推荐算法,提高线上访问者对商品的点击率,cvr,gmp,以提高转化
项目背景:超市线上购物平台,为了增加线上访问者的浏览时长,点击率 下单率。给不愿意出门也想逛超市的人提高线上购物的体验。
项目职责:主要负责首页猜你喜欢的召回工作,引入几路召回从不同角度挖掘用户的潜在兴趣,前期主要用于用户,物品的协同过滤做召回,先上初期版本,后面陆续引入基于模型,标签的召回,
如als,tf-idf提取关键物品做标签。后续再升级实时召回,引入item2vector等,基于faiss做向量召回
具体工作:
物品画像: 1.挖掘物品侧profile,例如物品id,content关键词,一级类目,二级类目等
2.基于tf-idf抽取top3关键词
用户画像: 1.挖掘用户侧profile,如用户id,性别,年龄,订单量,周订单情况,最喜爱二级品类,最近
购买的三级品类等
2.基于用户点击,购买行为做用户行为特征,如用户品类偏好(订单,点击),近90.60.30
订单最大品类,最近三个差评等;
上下文:用户登陆设备类型,用户登录时间,经纬度,设备,天气状态等。
遇见的问题及解决办法:
1.面对召回时间过长问题,优化基于用户,基于物品的协同过滤算法的效率,通过自带属性减少了计算用户,物品相似性的范围,减少了相似矩阵的计算量,召回时间减少了70%
2.针对协同过滤头部效应明显,泛化能力较弱问题,引入user-item_cf,基于als协同过滤,出来的 user embedding和item embedding内积做召回,离线召回recall 提升 2.6%;
3.面对召回时效性不足问题,引入item2vector,node2vector,进行item_embedding的训练基于faiss做向量召回,带来线上ctr提升3%
4.为提升线上 ctr,尝试在基于dssm的召回通路中,做了序列采样,引入attention机制,优化 embedding 表达,最终使线上ctr提升 1.92%;
5.面对基于模型的召回结果无法细粒度表达用户偏好的问题,尝试优化召回模型的负样本构造,在原来随机采样(easy negative)的基础上,挖掘Hard Negative增强样本,采样比easy:hard=100:1,最终使ctr 提高 1.7%;