推荐系统通过学习产品交互和物品信息,对用户可能认为有用的物品进行排序。其输出可用于搜索建议、首页排序、通知选择或商品陈列,而不只是单个“你可能还喜欢”组件。
协同过滤 #
协同过滤利用用户与物品之间的模式推荐物品。交互既可以是显式评分,也可以是点击、观看时长、购买、收藏或跳过等隐式信号。对于 \(n\) 个用户和 \(m\) 个物品,可以将观测结果表示为一个稀疏的 \(n \times m\) 交互矩阵。
基于用户和基于物品的方法会比较交互模式,以找出相似的用户或物品。矩阵分解则学习低维用户向量和物品向量,并以二者的点积估算偏好程度。现代系统常使用这些嵌入向量生成候选项,再由信息更丰富的排序模型进行后续排序。
稀疏数据、流行度偏差以及新用户或新物品都是实践中的挑战。评估还应与产品目标相符:离线评分误差并不等同于推荐结果排序列表的质量。
基于内容的过滤 #
基于内容的过滤使用物品本身的属性,例如类别、文本、创作者、价格或图像嵌入向量。它可以在新物品尚未积累交互数据之前进行推荐,也可以通过共有属性解释推荐结果。其局限在于,它倾向于推荐与用户已消费内容相似的物品,因而可能减少用户发现新内容的机会。
混合系统 #
生产系统通常结合协同信号和内容信号。内容特征有助于解决冷启动问题,协同信号可以捕获群体行为,而业务约束可以确保可用性、多样性、安全性或公平性。推荐系统应使用经用户同意收集的数据,避免将有噪声的行为信号视为确定的偏好,并监控反馈循环。
评论
在 GitHub 上阅读或评论(发表评论需要登录)