1、你所理解的推荐系统是什么样的?大致流程?所用模型?
推荐系统一方面是为了帮助消费者发现对自己有价值的商品,另一方面是帮助生产者把用户可能感兴趣的商品展现给用户,实现生产者和消费者的双赢。
大致流程主要包括:获取用户特征,召回过程,排序过程(粗排、精排)。
召回模型:
- 规则召回(兴趣标签top,热门top,新品top等)
- 协同召回(基于用户的协同过滤,基于商品的协同过滤)
- 向量召回(FM召回,Item2vec,Youtube DNN向量召回,Graph Embedding召回,DSSM双塔召回)
排序模型:GBDT + LR、Xgboost、FM/FFM、Wide&Deep、DeepFM、Deep & Cross、DIN、BST等
2、双塔模型优势,缺点,如何改进?
双塔模型的优势是速度快,但模型精度还有待提升。
速度快是因为将所有Item转化成Embedding,并存储进ANN检索系统,比如FAISS,以供查询。类似FAISS这种ANN检索系统对海量数据的查询效率高。
而双塔模型为了速度快,必须对用户和Item进行特征分离,而特征分离,又必然导致上述两个原因产生的效果损失。
改进:SENet双塔模型,把SENet放在Embed