推荐系统学习笔记

一. 概要
推荐系统基本概念
可以将一个 推荐系统 简单地理解为 给用户推荐实体或非实体物品的系统。其任务是根据用户和物品的特征,使用某种或某些推荐算法预测任意用户对任意物品的兴趣 得分,并按照预测的得分顺序,将排在前列的物品展示给用户。
Tip:以小红书为例,物品为小红书笔记,后续统一使用物品进行描述。
转化流程
根据不同公司的不同产品,一般有不同的转化流程。流程中的动作意味着 用户对物品感兴趣,这些动作意味着 用户和物品产生了交互,可以作为 推荐系统使用的推荐依据。 转化流程一般分为三步,下图以小红书为例:

Tip:抖音没有点击流程。
常见的推荐系统评测指标
| 消费指标(短期消费指标) | 北极星指标(长期消费指标) |
|---|---|
| 基于点击的指标:点击率 | 基于用户规模:日活用户数、月活用户数 |
| 基于反馈的指标:点赞率、收藏率、转发率 | 基于消费用户:人均使用推荐时长、人均阅读笔记数量 |
| 基于特定产品的指标:阅读完成率(文章) | 基于发布用户:发布渗透率、人均发布量 |
消费指标并不是推荐系统追求的根本目标,考察的关键应该放在北极星指标上。只关注追求极致的消费指标提升,最直接的影响就是导致推荐给用户的物品都是相似或相同的,显著减少了推荐的多样性,用户很难接触到感兴趣但新鲜的物品,长久以往用户活性降低,用户不断流失。在实践中,消费指标降低但是北极星指标提升也被认为是一种正向的趋势。
Tip:发布是小红书的核心竞争力。
推荐系统的实验流程
实验流程:离线实验 → 小流量 A/B 测试 → 全流量上线
离线实验:收集历史数据在其上做模型训练和测试,算法没有部署到产品中,没有跟用户交互。
小流量 A/B 测试:把算法部署到产品中,设置实验组与对照组使用新旧策略,算法与部分用户做交互。
全流量上线:A/B 测试的新策略优于旧策略,就加大交互的用户流量,最后推全。
推荐系统的链路
推荐系统目标:从几亿物品中选取几十个物品推荐给用户。
推荐系统的链路:

召回:用多条召回通道(协同过滤、双塔模型、关注的作者等),先快速取回几千物品。
粗排:用小规模神经网络,给几千篇物品打分,选出分数 Top 几百的物品。
精排:用大规模神经网络,给粗排选出的几百篇物品重新打分排序。
重排:多样性抽样从几百篇物品中挑选几十篇,依规则打散,并插入广告和运营物品,根据生态再调整排序。
Tip:召回通道实际上就是实现召回的模型方法,第二章节会详细介绍协同过滤、双塔模型和其他召回通道。