今日头条 推荐机制实现
第一个维度是内容。 头条现在已经是一个综合内容平台,图文、视频、UGC小视频、问答、微头条,每种内容有很多自己的特征,需要考虑怎样提取不同内容类型的特征做好推荐。第二个维度是用户特征。 包括各种兴趣标签,职业、年龄、性别等,还有很多模型刻划出的隐式用户兴趣等。第三个维度是环境特征。 这是移动互联网时代推荐的特点,用户随时随地移动,在工作场合、通勤、旅游等不同的场景,信息偏好有所偏移。
主要有四类特征会对推荐起到比较重要的作用
第一类是相关性特征,就是评估内容的属性和与用户是否匹配。显性的匹配包括关键词匹配、分类匹配、来源匹配、主题匹配等。像FM模型中也有一些隐性匹配,从用户向量与内容向量的距离可以得出。
第二类是环境特征,包括地理位置、时间。这些既是bias特征,也能以此构建一些匹配特征。
第三类是热度特征。包括全局热度、分类热度,主题热度,以及关键词热度等。内容热度信息在大的推荐系统特别在用户冷启动的时候非常有效。
第四类是协同特征,它可以在部分程度上帮助解决所谓算法越推越窄的问题。协同特征并非考虑用户已有历史。而是通过用户行为分析不同用户间相似性,比如点击相似、兴趣分类相似、主题相似、兴趣词相似,甚至向量相似,从而扩展模型的探索能力。
资讯推荐系统本质上要 解决用户, 环境, 资讯的匹配 三者之间的匹配 人的特征: 兴趣、职业、年龄、性别、机型 用户行为 环境特征: 地理位置 时间 网络 天气 文章特征 主题词 兴趣标签 热度: 时效性 质量 作者来源 相似文章 你关心的 查看
如何引入无法直接衡量的目标 广告&特型内容频控 低俗内容打压&频控 标题党,低质,恶心内容打压 重要新闻置顶&强插&加权 低级别账号内容降权
推荐模型 点击率、阅读时间、点赞、评论、转发包括点赞都是可以量化的目标,能够用模型直接拟合做预估 看线上提升情况可以知道做的好不好。但一个大体量的推荐系统,服务用户众多,不能完全由指标评估 引入数据指标以外的要素也很重要 Sample: 比如广告和特型内容频控。像问答卡片就是比较特殊的内容形式,其推荐的目标不完全是让用户浏览, 还要考虑吸引用户回答为社区贡献内容。这些内容和普通内容如何混排,怎样控制频控都需要考虑。 此外,平台出于内容生态和社会责任的考量,像低俗内容的打压,标题党、低质内容的打压,重要新闻的置顶、加权、强插,低级别账号内容降权都是算法本身无法完成,需要进一步对内容进行干预
典型推荐算法 协同过滤模型 监督学习算法Logistic Regression模型 DNN(神经网络)基于深度学习的模型 Factorization Machine(因子分解机模型) GBDT(梯度提升决策树) 一个优秀的工业级推荐系统需要非常灵活的算法实验平台,可以支持多种算法组合,包括模型结构调整。因为很难有一套通用的模型架构适用于所有的推荐场景。现在很流行将LR和DNN结合,前几年Facebook也将LR和GBDT算法做结合。今日头条旗下几款产品都在沿用同一套强大的算法推荐系统,但根据业务场景不同,模型架构会有所调整。
典型推荐特征 相关性特征 关键词匹配 分类匹配 主题匹配 来源匹配 环境特征 地理位置 时间 热度特征 全局热度 分类热度 主题热度 关键词热度 协同特征 点击相似用户 兴趣分类相似用户 兴趣主题相似用户 兴趣词相似用户 第一类是相关性特征, 就是评估内容的属性和与用户是否匹配。显性的匹配包括关键词匹配、分类匹配、来源匹配、主题匹配等。 像FM模型中也有一些隐性匹配,从用户向量与内容向量的距离可以得出。 第二类是环境特征, 包括地理位置、时间。这些既是bias特征,也能以此构建一些匹配特征。 第三类是热度特征。 包括全局热度、分类热度,主题热度,以及关键词热度等。内容热度信息在大的推荐系统特别在用户冷启动的时候非常有效。 第四类是协同特征, 它可以在部分程度上帮助解决所谓算法越推越窄的问题。协同特征并非考虑用户已有历史。而是通过用户行为分析不同用户间 相似性,比如点击相似、兴趣分类相似、主题相似、兴趣词相似,甚至向量相似,从而扩展模型的探索能力。
大规模推荐模型的在线训练 用Storm 集群实时处理样本数据(点击、展现、收藏、分享) 每收集一定量的用户数据就更新推荐模型 模型参数存储在高性能服务器集群,包含几百亿原始特征和数十亿向量特征 线上服务器记录 实时特征导入Kafka文件队列导入Storm集群凭接用户完整数据、构造样本根据最新样本更新模型参数线上模型获取新知识
模型的训练上,头条系大部分推荐产品采用实时训练。实时训练省资源并且反馈快,这对信息流产品非常重要。用户需要行为信息可以被模型快速捕捉并反馈至下一刷的推荐效果。我们线上目前基于storm集群实时处理样本数据,包括点击、展现、收藏、分享等动作类型。模型参数服务器是内部开发的一套高性能的系统,因为头条数据规模增长太快,类似的开源系统稳定性和性能无法满足,而我们自研的系统底层做了很多针对性的优化,提供了完善运维工具,更适配现有的业务场景。目前,头条的推荐算法模型在世界范围内也是比较大的,包含几百亿原始特征和数十亿向量特征。整体的训练过程是线上服务器记录实时特征,导入到Kafka文件队列中,然后进一步导入Storm集群消费Kafka数据,客户端回传推荐的label构造训练样本,随后根据最新样本进行在线训练更新模型参数,最终线上模型得到更新。这个过程中主要的延迟在用户的动作反馈延时,因为文章推荐后用户不一定马上看,不考虑这部分时间,整个系统是几乎实时的
召回策略设计 推荐模型计算开销相对较大,完全依赖模型推荐成本过高 基于简化策略的召回模块可以有效平衡计算成本和效果
召回策略种类有很多,我们主要用的是倒排的思路。离线维护一个倒排,这个倒排的key可以是分类,topic,实体,来源等,排序考虑热度、新鲜度、动作等。线上召回可以迅速从倒排中根据用户兴趣标签对内容做截断,高效的从很大的内容库中筛选比较靠谱的一小部分内容。
推荐系统的数据依赖推荐模型的特征抽取需要用户侧和内容测的各种标签召回策略需要获取用户侧和内容侧的各种标签内容分享和用户标签挖掘是搭建推荐系统的基石
更多:https://blog.csdn.net/T7SFOKzorD1JAYMSFk4/article/details/79094836
转载于:https://www.cnblogs.com/yanxiatingyu/p/9772957.html
今日头条 推荐机制实现相关推荐
- 3分钟了解今日头条推荐算法原理
今日头条的内容分发算法一直颇神秘低调.自12年开发运营起进四次改版,从未透露核心内容. 2018年1月,今日头条资深算法架构师曹欢欢博士,终于首次公开今日头条的算法原理,以期推动整个行业问诊算法.建言 ...
- 今日头条推荐算法原理全文详解之一
本次分享将主要介绍今日头条推荐系统概览以及内容分析.用户标签.评估分析,内容安全等原理. 今日头条推荐算法原理全文详解 今日头条 数据分析 产品经理 产品 好文分享 第1张 一.系统概览 推荐系统,如 ...
- 今日头条推荐算法原理全文详解之四
三.用户标签 内容分析和用户标签是推荐系统的两大基石.内容分析涉及到机器学习的内容多一些,相比而言,用户标签工程挑战更大. 今日头条推荐算法原理全文详解 今日头条 数据分析 产品经理 产品 好文分享 ...
- 揭秘今日头条推荐10万+
我是一个很不喜欢夸张式标题党的运营人.尤其是那些: <我用1个标题引爆了10w+><我是如何在3天内,吸粉300万><一场活动0成本,引来用户100万> 这种&qu ...
- 【推荐系统】今日头条推荐算法原理全文详解
如今,算法分发已经逐步成为信息平台.搜索引擎.浏览器.社交软件等几乎所有软件的标配,但同时也开始面临各种不同的质疑.挑战与误解. 2018年1月,今日头条资深算法架构师曹欢欢博士,首次公开今日头条的算 ...
- 今日头条推荐算法详解(PDF下载)
源 | AI研习社 编辑 | 昱良 内容较长 点击阅读原文即可下载 今日头条资深算法架构师曹欢欢: 本次分享将主要介绍今日头条推荐系统概览以及内容分析.用户标签.评估分析,内容安全等原理. 一. ...
- 了解今日头条推荐算法原理
https://www.toutiao.com/a6512245165707493896/ 本次分享将主要介绍今日头条推荐系统概览以及内容分析.用户标签.评估分析,内容安全等原理. 一.系统概览 推荐 ...
- 如何利用今日头条推荐规则, 打造阅读量100万+的爆款文章?
今日头条能够成为内容分发市场的搅局者,估值破 100 亿美金,靠的是智能算法推荐. 作为互联网相关从业人员,我面对这么一个新兴的巨大流量库,内心当然无法平静. 话不多提,俺放个野路子大招儿,教有幸看到 ...
- 今日头条的文章推荐机制是什么?
今日头条的文章推荐机制是什么? 木木博客2015-03-28 11:15:54阅读(3982)评论(3)分享到 众所周知,今日头条是个个性化的新闻推荐引擎,在短短两年多的时间内拥有了2.2亿用户,每天 ...
- python抽取指定url页面的title_Python使用scrapy爬虫,爬取今日头条首页推荐新闻
爬取今日头条https://www.toutiao.com/首页推荐的新闻,打开网址得到如下界面 查看源代码你会发现 全是js代码,说明今日头条的内容是通过js动态生成的. 用火狐浏览器F12查看得知 ...
最新文章
- A.CPP (blur.CPP)如何调用B.CPP (zeros.cpp)中定义的方法
- 从HarmonyOS应用到底是不是Android套壳?
- Android Studio修改.gradle文件路径
- mycat快速体验(转)
- Csv数据库CsvDb
- ASP.NET MVC URL重写与优化(进阶篇)-继承RouteBase玩转URL(转)
- linux权限设定的判定,linux中如何通过脚本判定文件的群组权限
- linux shell网卡,Shell脚本查看LINUX系统 网卡实时流量
- LeetCode - Duplicate Emails
- OLTP在线事务处理
- 获取阿里云播放器当前播放速率
- 计算机监控系统英文缩写,各弱电系统英文缩写
- 图片标注工具LabelImg
- 围炉听风,新醅试手烫
- 计算机组装与维护毕业论文参考文献,计算机组装与维护本科毕业论文毕业论文.doc...
- 【MSP430F149】按键控制数码管实现电子表功能
- HTML5期末大作业:基于HTML+CSS+JavaScript实现中国风文化传媒企业官网源码
- 计算几何(判断顺时针/逆时针) - Clockwise or Counterclockwise - HDU 6857
- 51单片机最全入门总结
- Dataguru(炼数成金)培训优惠码分享
热门文章
- Barsetto百胜图美式便携咖啡机测评只为一杯好咖啡
- python打开读取文件内容
- php jwt token刷新方案,laravel JWT自动刷新 自定义验证器
- 我的奋斗,不需要任何理由
- Docker目录映射
- sklearn setting an array element with a sequence.
- Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE
- 永恒之蓝漏洞复现及上传后门程序
- JavaScript高级程序设计[美]Nicholas C.Zakas著 读书笔记(三)
- android远程主机强迫关闭了一个现有的连接,远程主机强迫关闭了一个现有的连接解决方法...