大家好,我是Xueliang。
最近要入职啦,未来我的工作内容主要聚焦于推荐领域。
作为一名推荐领域的萌新,在这一个领域我要学习的东西很多。因此,这两天我产生了一个“宏大”的想法,想要通过一到两个月的时间来系统梳理推荐领域的相关技术,既有传统的方法,也会包括一些前沿的进展。相关的学习笔记我也会及时更新在我们的公众号中,希望和大家一起学习。
今天我先简单梳理一下推荐系统的大概框架。
推荐系统想要解决的核心问题是如何让用户高效地获取到自己感兴趣的信息。
从上述推荐系统想要解决的问题中,我们可以提取出在推荐系统中的几个核心要素:
- 用户(User):产品的使用者
- 物品(Item):在不同的场景下有不同的实例。可以是商品,也可以是短视频等
- 场景( Context):场景信息可以理解为一些额外的信息,比如说用户所在的地点、目前的时间等等
形式化地[1]:
对于某个用户 U U U(User),在特定场景 C C C(Context)下,针对海量的“物品”信息构建一个函数 ,预测用户对特定候选物品 I I I(Item)的喜好程度,再根据喜好程度对所有候选物品进行排序,生成推荐列表。
在这个基础上,推荐系统大致可以分为两个阶段:召回和排序。
召回阶段的目标是从海量物品数据库中快速筛选出一部分用户可能感兴趣的物品。在召回阶段,精准并不是最重要的目标,我们更希望能够保证筛结果的相关性和多样性。
排序阶段的目标是在召回结果的基础上,对物品进行进一步精细化的筛选和排序,并其结果将输出给用户。排序阶段可以进一步划分为“粗排”、“精排”、“重排”等等,如上图所示。目前学术界和工业界主要关注的也是排序阶段,设计了很多复杂、精细的排序模型和策略。我们后续也会对这些方法分别进行详细的梳理和介绍。
参考文献:
[1] 深度学习推荐系统实战, 王喆。
[2] 推荐系统技术演进趋势:从召回到排序再到重排(https://zhuanlan.zhihu.com/p/100019681)
更多算法基础知识介绍,前沿论文解读,欢迎关注微信公众号:口袋AI算法