推荐系统实战:新闻推荐系统基本流程
系统的整体框架就如该图所示,是一个离线推荐的系统,也就是包含了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()。
后端数据记录:包括记录用户行为日志,记录用户喜好操作,动态更新前端数据
推荐系统实战:新闻推荐系统基本流程相关推荐
- 如何使用Java+SSM(Spring+SpringMVC+Mybatis)开发个性化新闻推荐系统 在线新闻推荐系统 基于用户项目协同过滤、内容、聚类、关联规则推荐算法实现WebNewsRSMEx
如何使用Java+SSM(Spring+SpringMVC+Mybatis)开发个性化新闻推荐系统 在线新闻推荐系统 基于用户项目协同过滤.内容.聚类.关联规则推荐算法实现WebNewsRSMEx 一 ...
- python推荐系统-python 新闻推荐系统(基于新闻内容推荐)
# -*- coding:utf-8 -*- __version__ = '1.0.0.0' """ @brief : 基于新闻的内容推荐系统 @details: 详细信 ...
- 【翻译】Bing-CF-IDF+:语义驱动的新闻推荐系统
本文由 林鸿钊@funco 翻译,仅作为交流学习之用,诚向各方大佬请教. 翻译不易,感谢支持,转载也请注明出处,不胜感激. 翻译:Bing-CF-IDF+:语义驱动的新闻推荐系统 原文:Bing-CF ...
- Task01:熟悉新闻推荐系统的基本流程(代码复现)
Task01:熟悉新闻推荐系统的基本流程 0.代码版本 1.系统信息 2.`python`环境 3.`MySQL`数据库 4.`MongoDB` 5.`Redis` 6.`Node.js` 7. 复现 ...
- Task01:熟悉新闻推荐系统的基本流程(项目结构)
Task01:熟悉新闻推荐系统的基本流程(项目结构) 0.代码版本 1. 文件说明 2. 流程图示 3. 架构图示[^1] 0.代码版本 该专栏的博客当中涉及的所有代码,均为组队学习期间的版本,大概在 ...
- 一、熟悉新闻推荐系统基本流程
一.悉新闻推荐系统基本流程 环境搭建: vmware + ubuntu20.04(虚拟机) 前端框架: Vue. 后端框架: Flask 数据库: MySQL.MongoDB.redis IDE:vs ...
- 【新闻推荐系统】(task1)系统搭建基本流程
学习总结 sparrow电影推荐系统和我们本次要搭建的新闻推荐系统类似: 首先是离线处理部分: 获取数据:爬取数据后画像处理.用户画像和物品画像,物料存入MongoDB中的SinaNews数据库中:M ...
- 【组队学习】【32期】推荐系统-新闻推荐系统实践
推荐系统-新闻推荐系统实践 航路开辟者:罗如意 领航员:肖桐 航海士:汪志鸿.吴忠强.赖敏材.王辰玥.毛伟.宋禹成.陈雨龙.管柯琴 基本信息 开源内容:https://github.com/dataw ...
- 【阅读笔记】项亮前辈的《推荐系统实战》
推荐系统是个有意思的方向.项亮前辈的<推荐系统实战>来当作入门的第一本书还是很合适的,这段时间在断断续续的抽空阅读了一遍.本书写的浅显易懂,很好的勾勒出了推荐引擎十年前的主流算法,以及工业 ...
- 搜索推荐系统实战:起始篇
搜索推荐系统实战篇-上半篇 一切源于炼丹笔记,我只是敲了敲代码. 搜索推荐系统实战:起始篇 搜索推荐系统实战:进化篇 搜索推荐系统实战:终极奥秘 在电商搜索中,例如淘宝,拼多多,京东等的搜索的场景往往 ...
最新文章
- [MaxCompute MapReduce实践]通过简单瘦身,解决Dataworks 10M文件限制问题
- python基础练习(七)
- 空中网首创人周云帆任北京昌平区副区长
- 在一个数组中找 差值最大的两个数 差值最小的两个数 推广到 点对
- php 基础 判断类型
- 初始Windows程序
- android 多个c文件编译成一个so,AndroidStudio使用CMakeLists.txt编译多个so库
- 聊聊如何从零开始自学编程
- 数据结构与算法_01链表
- 为防泄密 新加坡政府将断掉公务员的网络连接
- python中怎么判断字母大小写_python判断大小写字母
- CSS3 SVG 画一个三角形
- WinMerge:一个免费开源的文件对比神器
- Linux虚拟机下FTP服务器的搭建(详细)
- AWS云上部署Hadoop
- 文悦古体仿宋字体官方版
- Win8.1重装win7或win10中途无法安装
- 2022:股票程序化交易实战2022Q1
- HarmonyOS 2真的来了!能让不同设备组成“超级终端”
- 不用加减乘除符号的情况下实现加法运算(js代码)