系统的整体框架就如该图所示,是一个离线推荐的系统,也就是包含了N+1延迟,以此来降低系统复杂度(虽然还是很复杂)。同时,系统使用了crontab来连接各个链路,使整个过程可以自动化进行。

分为Offline和Online两部分

1. Offline部分

1.1 物料获取及存储处理

物料的获取主要通过爬虫在当天晚上23点自动从网页中进行抓取,并以JSON格式存入MongoDB的SinaNews数据库中。materials/news_scrapy

同时,要对物料画像进行处理,提出特征从MongoDB中存入Redis中,同时这里要更新一些当天新闻动态画像,比如点赞收藏等即时显现的。 materials/process_material.py

这部分处理的信息,要从Redis中调用提供给前端进行展示。materials/update_redis.py

1.2 用户画像更新部分

通过MySQL收集的用户注册信息和用户日志阅读点赞及收藏信息,更新MongoDB中的用户画像。materials/process_user.py

1.3 热门页和推荐页列表的处理

热门页:首先根据特征库的最新特征计算物料的热度值,过滤10天前的新闻,再生成热门列表模板,这里同时要分组打散热门新闻。然后为每个用户更新热门列表模板的倒排索引,再把这个数据存入Redis用于OnLineServer。recprocess/offline.py

推荐页:包括两部分,冷启动和个性化推荐两种,分别生成该显示的模板。recprocess/offline.py

冷启动:

2. Online部分

2.1 获取推荐页列表

根据用户id(新/老)获取其key来决定导入哪个推荐列表,并存入Redis中,然后通过过滤器把用户曝光数据存入MySQL中作为备份,这部分要过滤到热门页和推荐页重复的部分。

2.2 获取新闻详情页

主要是展示新闻详细信息,并提供用户点赞和收藏功能。

2.3 获取热门页列表

与推荐页类似,也是要根据用户ID判断并经过过滤更新用户曝光表。

2.4 后端服务器

对于RecsysServer, 其主要功能包括了处理后端请求和后端的数据记录。

后端请求:其中包括了用户注册请求 register(),用户登录请求 login(),用户推荐页请求 rec_list(),用户热门页请求 hot_list(),新闻详情请求 news_detail()和用户行为请求 actions()。

后端数据记录:包括记录用户行为日志,记录用户喜好操作,动态更新前端数据

推荐系统实战:新闻推荐系统基本流程相关推荐

  1. 如何使用Java+SSM(Spring+SpringMVC+Mybatis)开发个性化新闻推荐系统 在线新闻推荐系统 基于用户项目协同过滤、内容、聚类、关联规则推荐算法实现WebNewsRSMEx

    如何使用Java+SSM(Spring+SpringMVC+Mybatis)开发个性化新闻推荐系统 在线新闻推荐系统 基于用户项目协同过滤.内容.聚类.关联规则推荐算法实现WebNewsRSMEx 一 ...

  2. python推荐系统-python 新闻推荐系统(基于新闻内容推荐)

    # -*- coding:utf-8 -*- __version__ = '1.0.0.0' """ @brief : 基于新闻的内容推荐系统 @details: 详细信 ...

  3. 【翻译】Bing-CF-IDF+:语义驱动的新闻推荐系统

    本文由 林鸿钊@funco 翻译,仅作为交流学习之用,诚向各方大佬请教. 翻译不易,感谢支持,转载也请注明出处,不胜感激. 翻译:Bing-CF-IDF+:语义驱动的新闻推荐系统 原文:Bing-CF ...

  4. Task01:熟悉新闻推荐系统的基本流程(代码复现)

    Task01:熟悉新闻推荐系统的基本流程 0.代码版本 1.系统信息 2.`python`环境 3.`MySQL`数据库 4.`MongoDB` 5.`Redis` 6.`Node.js` 7. 复现 ...

  5. Task01:熟悉新闻推荐系统的基本流程(项目结构)

    Task01:熟悉新闻推荐系统的基本流程(项目结构) 0.代码版本 1. 文件说明 2. 流程图示 3. 架构图示[^1] 0.代码版本 该专栏的博客当中涉及的所有代码,均为组队学习期间的版本,大概在 ...

  6. 一、熟悉新闻推荐系统基本流程

    一.悉新闻推荐系统基本流程 环境搭建: vmware + ubuntu20.04(虚拟机) 前端框架: Vue. 后端框架: Flask 数据库: MySQL.MongoDB.redis IDE:vs ...

  7. 【新闻推荐系统】(task1)系统搭建基本流程

    学习总结 sparrow电影推荐系统和我们本次要搭建的新闻推荐系统类似: 首先是离线处理部分: 获取数据:爬取数据后画像处理.用户画像和物品画像,物料存入MongoDB中的SinaNews数据库中:M ...

  8. 【组队学习】【32期】推荐系统-新闻推荐系统实践

    推荐系统-新闻推荐系统实践 航路开辟者:罗如意 领航员:肖桐 航海士:汪志鸿.吴忠强.赖敏材.王辰玥.毛伟.宋禹成.陈雨龙.管柯琴 基本信息 开源内容:https://github.com/dataw ...

  9. 【阅读笔记】项亮前辈的《推荐系统实战》

    推荐系统是个有意思的方向.项亮前辈的<推荐系统实战>来当作入门的第一本书还是很合适的,这段时间在断断续续的抽空阅读了一遍.本书写的浅显易懂,很好的勾勒出了推荐引擎十年前的主流算法,以及工业 ...

  10. 搜索推荐系统实战:起始篇

    搜索推荐系统实战篇-上半篇 一切源于炼丹笔记,我只是敲了敲代码. 搜索推荐系统实战:起始篇 搜索推荐系统实战:进化篇 搜索推荐系统实战:终极奥秘 在电商搜索中,例如淘宝,拼多多,京东等的搜索的场景往往 ...

最新文章

  1. [MaxCompute MapReduce实践]通过简单瘦身,解决Dataworks 10M文件限制问题
  2. python基础练习(七)
  3. 空中网首创人周云帆任北京昌平区副区长
  4. 在一个数组中找 差值最大的两个数 差值最小的两个数 推广到 点对
  5. php 基础 判断类型
  6. 初始Windows程序
  7. android 多个c文件编译成一个so,AndroidStudio使用CMakeLists.txt编译多个so库
  8. 聊聊如何从零开始自学编程
  9. 数据结构与算法_01链表
  10. 为防泄密 新加坡政府将断掉公务员的网络连接
  11. python中怎么判断字母大小写_python判断大小写字母
  12. CSS3 SVG 画一个三角形
  13. WinMerge:一个免费开源的文件对比神器
  14. Linux虚拟机下FTP服务器的搭建(详细)
  15. AWS云上部署Hadoop
  16. 文悦古体仿宋字体官方版
  17. Win8.1重装win7或win10中途无法安装
  18. 2022:股票程序化交易实战2022Q1
  19. HarmonyOS 2真的来了!能让不同设备组成“超级终端”
  20. 不用加减乘除符号的情况下实现加法运算(js代码)

热门文章

  1. (三)Latex的字体字号设置
  2. Codecademy网学习Python第七天
  3. oracle OCP指南
  4. 11g ocm认证考试经历
  5. java+mysql+javaweb网上购物系统
  6. 可视化搭建平台的参考网格线设计
  7. 初学单片机:Proteus 8 和 keil 4的使用方法(Proteus 8 和 keil 4建立一个项目/文件)
  8. ArcGIS基础:等高线数据生成栅格DEM数据
  9. Haskell语言学习笔记(41)Parsec(1)
  10. python英文翻译-python中英文翻译