推荐系统架构-(附ppt&代码)
Part1.乐视网视频推荐系统
推荐系统:和传统的推荐系统架构无异(基础建模+规则)
数据模块特点:用户反馈服务数据-》kv 缓存-》log存储
行为日志-》解析/聚合-》session log-》cf/用户模型
系统推荐流程:
召回:聚类算法;tensorflow(topN);分类,top个性化标签(微软lda);cf/als;人工干预
排序:时效+相似度+gbdt/ LR
过滤
策略调整:分类多样性
调优—提升较明显的组合:
1.分类+标签倒排排序
2.itemcf+als召回+分类多样性
3.itemcf召回优化排序+此召回的用户反馈调权占比40%
4.item召回打分引入曝光
短视频冷启动:排序未点击的会马上落下
Part2.RoadMap of YouTube isrecommendation System(Ke Wang)PPT
Youtube推荐系统的发展历程:
1.get tags:user共现图/pagerank思想 && 引用视频相关视频中top tags
2.基于user兴趣推荐多级相关视频
3.视频排序:质量,多样性,多频道源
4.相关视频推荐优化:避免cf缺点(cf缺点:新鲜性 and 长尾)
1)retrieval with weighted topic(短期内观看视频中大众类型标签推荐计算)
2)防止(1),learning topic transitions
用户行为去拟合topic的权重大小
5.优化应用:deep learning
deep learning输入embedding:历史搜索+观看+用户特征,最后输出概率;
显性反馈没有隐含反馈重要;
用户最近100条兴趣 better than 最近100天用户的兴趣;
feed流中:放弃序列输入 防止过拟合用户模块
新用户的兴趣挖掘:时序行为挖掘 better 随机行为
ranking 建模:(用户观看时长为指标)
dnn架构和召回类似。
dnn输入:视频,视频均值,用户语言,视频语言,距离上次观看时间开方,原值,平方;先前的印象原值,开方,平方;等embedding
输出:加权lr(正样本评估加权)
Part3 58同城智能推荐系统的演进和实践 詹坤林
评价指标:推荐点击占比,推荐转化比,点击率,转化率,覆盖率(评价长尾)
特点:用户标签和帖子标签很完善
用户标签挖掘:
标签会有分类:购房偏好,租房偏好,购车偏好,通用属性(时间,质量分,关键词,图片),动态属性(pv、uv、阅读时长)等
召回:
兴趣召回(基于兴趣标签检索),热门召回(统计ctr,平滑处理),地域召回,关联规则,协同过滤(实时itemCF),SVD(效果一般),DNN
召回融合:
1)分级先后顺序融合
2)调制融合(比例融合)
排序模型:
单一模型LR/XGBoost/FM
融合模型:XGBoost+LR/FM
深度模型:FNN(提升2%) / Wide deep/CNN
多目标优化(多权):
点击率,转化率,停留时长预估(回归,分类)
学习平台:
深度学习在kubernets中融合tensorflow,caffe,Distribute tensor flow
机器学习:Yarn融合MLib,DMc
深度学习和机器学习平台通过hdfs打通
规则迭代(AB test):
去重策略/打散列表/产品逻辑/页面展示迭代
A/Btest(有web操作页面,可供全公司配置实验)
请求分流/数据监控
A/B多层实验架构
系统优点:
耦合性低,扩展性佳;协同开发,快速迭代;
关键技术
58自研RPC框架SCF
系统立体监控:
业务总体监控/关键模块监控(请求量,失败量,平均延时,最大值,最小值)+告警阈值
数据监控:
推荐埋点设计:每一次曝光seqNo,进入点击click标志链式关联;沟通时长决定是否打上埋点commucate
埋点开发测试流程:
埋点文档沉淀+EtL抽取文档
效果数据统计:
hive上用Kylin(多维数据)做可视化,邮件报警和监控
推荐效果:
推荐占比20%~30%,流量2亿,响应30ms
Part4 58个性化推荐push系统
推送的作用:
服务用户,提高日活和留存,活动运营和推广
推送点击率预估&效果数据监控
原策略bug:条数限制,先来先推,精准度差,干扰性大
推送控制系统:
机制化推送+运营推送—》通用推送平台—〉消息总线—》推送平台
推送点击率预估:样本(推送点击1;推送未点击0);特征工程(用户行为特征,推送上下文环境特征:周几,推送信息特征:软文);模型算法:xgboost(分布式版)
模型离线评价:批次召回率 整体召回率
推荐系统架构-(附ppt&代码)的更多相关文章
- XGBoost参数调优完全指南(附Python代码)
XGBoost参数调优完全指南(附Python代码):http://www.2cto.com/kf/201607/528771.html https://www.zhihu.com/question/ ...
- 【年终分享】彩票数据预测算法(一):离散型马尔可夫链模型实现【附C#代码】
原文:[年终分享]彩票数据预测算法(一):离散型马尔可夫链模型实现[附C#代码] 前言:彩票是一个坑,千万不要往里面跳.任何预测彩票的方法都不可能100%,都只能说比你盲目去买要多那么一些机会而已. ...
- Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例【附详细代码】
http://blog.csdn.net/xiefu5hh/article/details/51707529 Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例[附 ...
- Netflix公布个性化和推荐系统架构
Netflix的推荐和个性化功能向来精准,前不久,他们公布了自己在这方面的系统架构. 3月27日,Netflix的工程师Xavier Amatrain和Justin Basilico在官方博客发布文章 ...
- Python 爬虫的工具列表 附Github代码下载链接
Python爬虫视频教程零基础小白到scrapy爬虫高手-轻松入门 https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.482434a6E ...
- 漫谈四种神经网络序列解码模型【附示例代码】 glimpse attention
漫谈四种神经网络序列解码模型[附示例代码] http://jacoxu.com/encoder_decoder/ [视觉注意力的循环神经网络模型]http://blog.csdn.net/leo_xu ...
- Android 监听双卡信号强度(附完整代码)
Android 监听双卡信号强度 监听单卡信号强度 监听单卡的信号强度非常简单直接用TelephonyManager.listen()去监听sim卡的信号强度. TelephonyManager = ...
- Java生鲜电商平台-生鲜售后系统的退款架构设计与代码分享
Java生鲜电商平台-生鲜售后系统的退款架构设计与代码分享 说明:任何一个电商行业都涉及到退货与退款的问题,但是生鲜电商行业还设有一个显著的特点,那就是换货.在人性面前,各种各样的退货,退款,换货的售 ...
- [转帖]期待下一个十年|CIS 2019温馨回顾(附PPT下载)
期待下一个十年|CIS 2019温馨回顾(附PPT下载) https://www.freebuf.com/fevents/222236.html shidongqi2019-12-06共26587人围 ...
随机推荐
- 201521123051 《Java程序设计》 第二周学习总结
1. 本周学习总结 1.学会使用码云:学会如何将项目同步到码云中以及从码云上的项目保存到本地. 2.各数据类型的使用. 3.运算符和表达式的使用. 4.string创建之后不可在修改. 5.Java程 ...
- [python学习笔记] python程序打包成exe文件
安装 pyinstaller pip3 install pyinstaller 命令 pyinstaller -F -w -i ../ui/icon.ico --clean ../Login.py 参 ...
- 性能压测诡异的Requests/second 响应刺尖问题
最近一段时间都在忙着转java项目最后的冲刺,前期的coding翻代码.debug.fixbug都逐渐收尾,进入上线前的性能压测. 虽然不是大促前的性能压测要求,但是为了安全起见,需要摸个底心里有个数 ...
- [LeetCode] 344 Reverse String && 541 Reverse String II
原题地址: 344 Reverse String: https://leetcode.com/problems/reverse-string/description/ 541 Reverse Stri ...
- Angular2 Service实践
引言: 如果说组件系统(Component)是ng2应用的躯体,那把服务(Service)认为是流通于组件之间并为其带来生机的血液再合适不过了.组件间通信的其中一种优等选择就是使用服务,在ng1里就有 ...
- 使用 TUN 设备实现一个简单的 UDP 代理隧道
若要实现在 Linux 下的代理程序,方法有很多,比如看着 RFC 1928 来实现一个 socks5 代理并自行设置程序经过 socks5 代理等方式,下文是使用 Linux 提供的 tun/tap ...
- eclipse通过maven构建web项目步骤说明
1. File -> New -> Other ,搜索maven,选择Maven Project,点击Next 2.这里不需要改继续Next 3.这里需要注意,需要选择maven-arc ...
- 关于Vue问题记录
第一次安装Vue时,npm run dev报错处理 1.如果是报错:提示说没找到test这个文件夹 参考资料:https://segmentfault.com/q/1010000010893904 就 ...
- PLT文件 和 DXF文件
PLT: CAM/CAD类似软件处理的图像文件的文件格式 DXF: AutoCAD(Drawing Interchange Format或者Drawing Exchange Format) 绘图交换文 ...
- JSP入门 el表达式
我们已经知道el是jsp-2.0规范的一部分,tomcat-5.x版本以上都已经能够支持jsp-2.0规范,但在更低版本的tomcat和webphere,weblogic中还是无法使用这一便捷方式. ...