141.1 什么是个性化推荐系统?

  • 个性化推荐系统就是根据用户的历史,社交关系,兴趣点,上下文环境等信息去判断用户当前需要或潜在感兴趣的内容的一类应用。
  • 大数据时代,我们的生活的方方面面都出现了信息过载的问题:电子商务、电影或者视频网站、个性化音乐网络电台、社交网络、个性化阅读、基于位置的服务、个性化邮件、个性化广告…逛淘宝、订外卖、听网络电台、看剧等等等。推荐系统在你不知不觉中将你感兴趣的内容推送给你,甚至有的时候,推荐系统比你本人更了解你自己。
  • 推荐系统的业务主要包括四个部分:
  • 物料组装:生产广告,实现文案、图片等内容的个性化
  • 物料召回:在大量内容中召回一个子集作为推荐的内容
  • 物料排序:将召回的子集的内容按照某种标准进行精细排序
  • 运营策略:加入一些运营策略进行一部分的重新排序,再下发内容
  • 推荐系统必须要实现收集与分析数据的功能。数据收集体现为:埋点、上报、存储。而数据分析则体现为:构造画像(用户与内容)、行为归因。
  • 推荐系统的算法体现在两部分:
  • 召回、排序
  • 召回的算法多种多样:
  • itemCF、userCF、关联规则、embedding、序列匹配、同类型收集等等。
  • 排序的算法可以从多个角度来描述,这里我们从一个宏观的角度来描述,即排序算法可以分成五个部分:
  • 构造样本、设计模型、确定目标函数、选择优化方法、评估

141.2 推荐引擎架构

个性化推荐系统 java 个性化推荐系统_人工智能

141.3 召回模块

  • 热点召回和人工运营:兜底策略
  • 用户画像(CB)召回:标签排序、倒排截取
  • CF召回算法:user-based算法和item-based算法
  • 如何做大规模在线用户CF召回?
  • 离线计算每个用户的相似用户top k,存入cache
  • 在线存储每个用户的点击记录
  • 在线检索相似用户点击记录

141.4 排序模块

  • 模型选择:LR、FM、GBDT、DNN …

复杂特征+简单模型

简单特征+复杂模型

线性模型:LR

非线性模型:GBDT,DNN

训练快,解析性好

表达能力强,起点高

在线预测简单

训练慢,解析性差

人工构造大规模特征才能提升效果,后期难维护

容易过拟合,难优化

  • 排序算法演进