从常用概念展开, 简要介绍基本原理和流程, 以便业务方了解如何构建和使用推荐系统
通过将内容 (生产方) 与用户 (消费方) 进行匹配, 提供符合不同消费方各自偏好的内容, 在不同业务方的知识体系中可能会被称为: 智能分发, 个性化推荐, 千人千面
平台或用户所生产出的成果, 可以为文章, 视频, 课程, 商品等
对内容进行消费的对象, 可以为普通用户, 商业客户, 第三方服务等
用户对内容产生的操作, 如点击, 收藏, 购买, 分享等, 通过日志记录存储后, 用于建立内容与用户的关联
通过人工或机器的方法, 对内容和用户添加特征, 用来标识其特有属性, 可从内容本身中发现, 也可从用户行为中体现, 也可由用户自行填写, 如用户性别, 内容长度, 内容分类等
什么时候引入推荐系统:
当内容和用户积累达到一定量级 (内容至少千级), 且内容分布达到一定宽度, 可分离出不同维度, 进而产生了用户对内容的偏好性, 需要对内容进行合理高效的分发以充分利用流量, 并开始要求高并发高实时的性能时, 可以开始考虑使用推荐系统
仅简要阐述实现推荐系统所需的功能组件, 是基本概念的具象化
可包含:
可包含:
以上两个维度可以互相组合, 如显式负反馈, 隐式正反馈
通过设计多种推荐策略, 召回不同内容, 组合后提供给用户, 以满足不同类型的需求
经典的推荐方法, 可以不基于预先准备的用户画像和内容画像体系, 依靠大量的用户与内容的关系行为, 对相似用户提供相似内容, 缺点是颗粒度依赖数据量, 且需要批量计算, 无法做到实时响应
对于长期的关注和订阅需求, 在用户显式反馈后, 召回其下属内容, 给予推荐
对于短期内的点击或搜索行为, 将基于内容的标签更新至用户画像后, 在下一次推荐中即可提供相关标签的内容, 从而达到准实时的响应, 提高用户体验
对于不同业务, 可细分出不同场景下的差异, 如工作日与周末, 早晚高峰与睡前均会对内容存在不同偏好
通过计算全局性的热门内容, 用于在冷启动或无更多个性化内容时, 扩充用户画像
如果产品形态有负反馈功能, 如对某个标签不感兴趣, 对于用户显式负反馈的内容, 可在结果中进行过滤
新增功能和优化功能均需要经过以下环节评估效果
针对不同业务场景, 设计对应方案, 使用不同模型, 用机器学习的指标评估模型效果, 达到一定基准线可进入线上环节
设计对照组和测试组, 切一部分真实流量, 运行一段时间后, 观察核心指标的差异, 如有提升可认为达到预期效果, 最终逐步替换现有方案
涉及将内容分发给用户的场景均可使用, 推荐系统在广义上就是对用户画像和内容画像的有效使用, 因此除实现资讯流这样的具体产品形态外, 也可扩展至精准推送, 用户分层等, 以提供服务的形式满足更深层需求