原文

全文目录

多组件, 多模块, 多数据源构成; 涉及用户, 物品, 行为, 上下文等数据;

计算形式包括大数据平台上的批量计算/挖掘/训练, 流式数据的实时处理, 线上的实时服务;

核心逻辑拆解

核心目的: 为用户找当前场景下最具相关性的物品或物品集合;

以用户兴趣为轴:

[P(item|user)=sum_{interest} (P(item|interest) × P(interest|user)) ]

用户与物品的相关性拆解为: 用户与兴趣的相关性和兴趣与物品的相关性的乘积;

  1. (P(item|interest))(P(interest|user)) 任何一个为零, 乘积即为零;

  2. 用户感兴趣的点+兴趣点下物品的相关性;

三段式逻辑: 用户兴趣+相关性召回+融合排序

整体流程

召回算法=>重排序=>业务干预

  • 召回算法会根据不同策略算法召回各个维度相关性的物品, 打分的含义和量纲不尽相同;
  • 重排序是解决召回算法中不同含义/量纲的打分, 以及不同维度的相关性问题, 最终对齐目标;
  • 业务干预是处理业务层面的调整, 过滤不适合推荐或没有库存的商品;

召回算法

召回算法的关注点:

  1. 相关性

    核心, 重排和业务干预层均不会引入新的候选物品, 只有召回层决定了用户可见物品的候选集; 如果召回相关性较差的物品, 不仅浪费计算力, 也增加了重排序层的工作负担(需要用更复杂的算法将相关性差的物品排在后面);

  2. 多样性

    • 物品类别多样性, 分类, 种类;
    • 物品标签多样性, 一切可标识物品特点的描述;
    • 召回维度多样性, 依据用户的点击, 搜索, 浏览, 购买, 加购等行为;
  3. 覆盖率

    推荐算法能为多少用户/物品计算出相关物品;

  4. 实时性

    将用户的实时行为用于推荐逻辑的计算, 对推荐结果产生影响, 并让用户感知到变化;

召回算法分为:

  • 直接基于行为的算法
  • 基于用户画像的算法

基于行为的召回算法

相关性数据挖掘, 依赖于:

  • 基于用户行为数据: 协同过滤算法, 准确率会好些, 但是数据稀疏性导致覆盖率较低; 且多样性和时效性较差;
  • 基于物品属性数据: 内容相似度算法, 相反;

用户画像和物品画像

用户画像建设工作的核心点:

  1. 判断哪些用户画像对推荐系统或其他业务有帮助;(重要性高于第二点)
  2. 如何挖掘这些画像;

物品画像是用户画像的基础, 首先提取物品层面的多维度描述, 再通过用户对物品的行为关系, 计算出用户在这些维度上的描述;

结果排序

  • 简单做法, 基于一套规则的融合方法, 可以选择分层式或加权融合式;
  • 数据和技术积累到一定程度, 选择基于机器学习的排序技术取代基于规则的排序技术;

评价指标

  • 结果指标, 用来最终衡量推荐系统好坏的指标;

  • 过程指标, 对结果指标的分解, 分解为几个可具体操作的维度, 好处是对结果指标的把控, 以及出现问题时的分析处理;

  • 短期指标

  • 长期指标

系统监控

  • 评价指标是指导系统的持续迭代优化;
  • 监控指标是及时发现系统的突发问题, 保证系统的稳定运行;

架构设计

  • 在线服务架构设计, 核心是系统的稳定运行, 算法策略的足量生效, 对策略快速迭代的支持;
  • 离线, 偏向于生产准确率高, 覆盖率高的商品和用户数据;
  • 近线, 快速处理用户和物品的行为和信息变动, 为在线服务提供实时性高的数据服务;

推荐系统的流程简图

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/memento/p/14485435.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!