课程介绍

课程内容

1、业务需求

  • 某电商网站首页有猜你喜欢推荐位,该推荐位一次能展示6个商品,推荐内容可以更换四次,共需推荐24个商品。

  • 需要使用协同过滤算法(user CF & Item CF)及基于物品内容的算法进行混合推荐。
  • 一次性展示的6个商品中,从左到右的顺序分别是:
    • 第一位:基于物品的实时推荐结果
    • 第二位:基于用户的离线推荐结果
    • 第三位:基于物品的离线推荐结果
    • 第四位:基于内容的实时推荐结果
    • 第五位:基于物品的实时推荐结果
    • 第六位:基于用户的离线推荐结果
  • 如有业务需要推广产品,可以指定推广产品出现在某一个位置上。如下图,在第一位上硬推某产品。

2、需求分析

  • 大型网站的推荐位不仅仅只有一个,需要对每个广告位进行编号,比如猜你喜欢的广告位编号是121
  • 每个推荐位是一个独立的推荐产品,需要对每个广告位开发独立的推荐模型
  • 每个推荐位需要配置特有的推荐规则和排序规则
  • 为了容错,每个推荐位都需要默认的推荐产品,当推荐系统无法计算正常的结果时,使用默认产品进行推荐。
  • 各个推荐模型推送的商品可以能重复和下线的商品,需要对商品进行进行去重和过滤处理
  • 推荐结果计算完毕之后,将硬推广告放进去。

3、数据准备

  • 为用户guyong准备基于用户的推荐结果

  • 为用户guyong准备基于物品的推荐结果,该结果基于用户上一次的浏览记录生成

  • 准备物品与物品的相似度数据--基于物品的相似度推荐

  • 准备物品与物品的相似度数据----基于内容的相似度推荐

  • 为广告位(猜你喜欢)121准备默认的推荐结果

  • 初始化所有的商品信息

4、功能实现分析

  • 1)用户在商城浏览商品,将用户的浏览记录保存到Cookie,随着用户的请求传送给推荐服务接口。推荐服务接收到用户的基本信息和浏览信息。

另一种思路,可以通过消费点击流日志,将用户的行为保存到Redis中,推荐服务通过访问Redis获取用户的行为记录。

  • 2)推荐接口从用户的基本信息中获取到三种推荐结果(离线结果)

    • 基于历史数据,计算的基于用户的协同过滤的推荐结果,推荐数量24。
    • 基于用户上一次行为记录,计算的基于物品的协同过滤推荐结果,推荐数量24。这里根据用户对某一个商品的浏览次数进行加权。
    • 基于用户上一次行为记录,计算的基于内容的推荐结果,推荐数量24。这里根据用户对某一个商品的浏览次数进行加权。
  • 3)推荐接口从用户的浏览信息中获取用户当前会话的的行为记录,并以此计算基于物品和基于内容的实时推荐结果
    • 基于用户本次会话的记录,计算基于物品的推荐结果,推荐数量为24
    • 基于用户本次会话的记录,计算基于内容的推荐结果,推荐数量为24。
  • 4)对以上的反馈的推荐结果进行排序,排序的过程中对商品去重
    • 按照业务需求对结果排序,第一位是基于物品的实时推荐结果,依次类推。在排序的过程汇中,需要对推荐的商品进行排序。
    • 推荐结果生成完毕之后,对整体的推荐结果的产品数量进行补全和删除操作。补全使用该推荐位的默认推荐产品进行补全。
  • 5)设置业务人员强推的商品,根据业务人员指定的商品序号,替换掉推荐结果中对应序号的推荐商品。

注:整体思路如此,后续推荐模型可以持续进行优化,包括对推荐结果进行加权。

5、产品原型设计

产品经理进行原型设计

6、项目开发

6.1、整体架构

1)数据平台:在数据平台上,针对每个用户计算好三个推荐结果,基于用户的推荐结果、基于物品的推荐结果、基于内容的推荐结果。基于物品的相似度、基于内容的相似度。

2)Redis数据缓存:通过独立的Java应用将每个用户的推荐结果和基于物品的相似度与基于内容的相似度信息导入到Redis缓存集群中。

3)获取推荐结果;推荐结果有两种:一种是已经计算好的离线推荐结果,直接获取即可,另一种是根据用户实时的浏览记录计算新的推荐结果。第二种推荐结果主要依赖三种数据,用户的浏览记录、基于物品的相似度、基于内容的相似度。

4)排序过滤:将推荐的结果按照业务规则进行混合排序及去重等操作。

5)最终推荐结果:基于业务业务规则对业务推荐的产品进行设置。

6.2、  代码开发

6.2.1、获取某电商的产品信息

通过爬取某电商专题页的产品信息,作为本案的基础数据。

猜你喜欢推荐接口,输入广告位编号、用户编号、用户当前会话浏览的商品

  • 猜你喜欢推荐模块实现

    • 猜你喜欢推荐模块主要流程

  • 为猜你喜欢广告位进行推荐,分析猜你喜欢的推荐思路

  • 猜你喜欢获取推荐结果的步骤

  • 基于业务需求的推荐规则的算法

  • 数据初始化模块,初始化各种基础信息

  • 为用户maoxiangyi实时推荐商品

转载于:https://www.cnblogs.com/skorzeny/p/6901543.html

013_流式计算系统(开发混合推荐系统)相关推荐

  1. 013_流式计算系统_第7天(开发混合推荐系统)---没用

    课程介绍 课程内容 1.业务需求 某电商网站首页有猜你喜欢推荐位,该推荐位一次能展示6个商品,推荐内容可以更换四次,共需推荐24个商品. 需要使用协同过滤算法(user CF & Item C ...

  2. java 流式_Java开发笔记(七十二)Java8新增的流式处理

    通过前面几篇文章的学习,大家应能掌握几种容器类型的常见用法,对于简单的增删改和遍历操作,各容器实例都提供了相应的处理方法,对于实际开发中频繁使用的清单List,还能利用Arrays工具的asList方 ...

  3. 011_流式计算系统_第6天(推荐系统基础、系统过滤) ---没用

    课程介绍 课程内容 推荐系统在电子商务领域得到普遍的运用 推荐系统本质上是销售系统的一部分 在便利店,推荐系统是导购牌,类目货架,是老板娘 在超市,推荐系统是导购牌,类目货架,是销售员 在电商,推荐系 ...

  4. 011_流式计算系统(推荐系统基础、系统过滤)

    课程介绍 课程内容 推荐系统在电子商务领域得到普遍的运用 推荐系统本质上是销售系统的一部分 在便利店,推荐系统是导购牌,类目货架,是老板娘 在超市,推荐系统是导购牌,类目货架,是销售员 在电商,推荐系 ...

  5. 从Storm和Spark 学习流式实时分布式计算的设计

    转自:http://www.dataguru.cn/thread-341168-1-1.html 流式实时分布式计算系统在互联网公司占有举足轻重的地位,尤其在在线和近线的海量数据处理上.而处理这些海量 ...

  6. 大数据凉了?No,流式计算浪潮才刚刚开始!

    AI 前线导读:本文重点讨论了大数据系统发展的历史轨迹,行文轻松活泼,内容通俗易懂,是一篇茶余饭后用来作为大数据谈资的不严肃说明文.本文翻译自<Streaming System>最后一章& ...

  7. JStorm—实时流式计算框架入门介绍

    JStorm介绍   JStorm是参考storm基于Java语言重写的实时流式计算系统框架,做了很多改进.如解决了之前的Storm nimbus节点的单点问题.   JStorm类似于Hadoop ...

  8. 1号店电商峰值与流式计算

    概述:  京东618. 1号店711,还有全民购物狂欢节双11,电商促销的浪潮此起彼伏.然而,在买家和卖家欢呼雀跃的同时,电商平台正在经历着非常严峻的考验.面对一天之内犹如洪水般的网购流量,哪怕出现几 ...

  9. 超融合一体流式引擎,打造分布式数据库新纪元

    12月28日,"数智驱动  全栈赋能"亚信科技2022年度系列产品发布会"数据库专场"线上成功举办,亚信科技重磅发布"超融合一体流式引擎"的 ...

最新文章

  1. 10.15 iptables filter表案例
  2. hexo 博客框架 可用作知识库
  3. 启明云端分享|ESP32-C3阿里云连接测试
  4. Hive 0.13.1 和HBase 0.98.6.1整合
  5. Mac OS系统版本与XCode版本的关系
  6. ajax和php没反应,PHP和AJAX没有更新发生
  7. 用python查看和更改系统默认编码
  8. 计算机中专自考,中专怎么自考大专
  9. docker 不包含依赖 打包_docker源码打包RPM
  10. 从某软件引发的深思总结
  11. 深度学习(四):高级卷积神经网络
  12. 直播程序源码更简单的搭建方法
  13. yota3无第三方recovery root方法
  14. 我的精神家园——陈皓(@左耳朵耗子)专访
  15. Html5 通用布局方式
  16. 估值15.59亿,融资15亿,百合网的新三板孤注一掷,局中有局!
  17. AQS中非公平锁的实现原理简介
  18. 服务器站点地址是什么意思,云服务器地址是什么意思
  19. 1101 -- 正弦和余弦
  20. 攻防世界 MISC新手练习区 刷12道题题所得的思路和方法

热门文章

  1. 元宇宙日报1204 | 斯诺登表示玩家易受NFT剥削,小米投资张艺谋创立的VR公司...
  2. 51单片机题目项目汇总 - 100例
  3. 知识体系之MySQL
  4. 跟我一起学算法——分治法
  5. 怎么用python画火柴人_如何用ai绘制火柴人的教程
  6. JavaScript对SVG进行操作的相关技术
  7. 小蒜蒜学习了与圆相关的知识,那么当然要学以致用啦。
  8. 日常学习笔记——win10系统扩展双屏如何调整两边屏幕分辨率
  9. mysql 5.5.28 32位 rpm_CentOS7.4下MySQL5.7.28的RPM方式安装
  10. 办公室局域网访问共享文件夹