资讯专栏INFORMATION COLUMN

糖豆实时推荐系统设计与实现

pf_miles / 2069人阅读

摘要:年发表了基于和存储的大规模实时推荐系统实现了一系列经典推荐算法的实时版本实现了数种实时算法提高推荐精度广泛应用于业务有效提高腾讯采用使用原因,支持实时数据流式计算,良好的可扩展性可容错性,采用简单编程模型。

1.实时推荐系统与相关工作 1.1 原因

实时计算能够及时捕获用户短时兴趣,同时能够快速反馈分发当前系统的用户兴趣内容。大量实践以及发表的文章都显示了推荐系统实时化,对推荐精准度的提升的有效性和必要性。

1.2 腾讯架构与实现

实时推荐相关工作非常多,腾讯和北大合作的两篇SIGMOD文章是比较实际和详细的实现,采用的计算框架能够支持大规模数据的实时推荐,以下将会分开简述以下两篇文章。

2015年

Huang发表了基于Storm和KV存储的大规模实时推荐系统 (TencentRec: Real-time Stream Recommendation in Practice)

实现了一系列经典推荐算法的实时版本
实现了数种实时算法提高推荐精度
广泛应用于业务有效提高
腾讯采用使用storm原因,支持实时数据流式计算,良好的可扩展性、可容错性,采用简单编程模型。文章核心包括实时增量计算的ItemCF,以及用户隐式反馈计算、实时剪枝算法、基于用户画像的数据稀疏性策略。应用在多个业务上都有不同程度的提升,最明显的是腾讯视频的全局表现提升高达30%。

全文核心应该是下图六道公式,阐述腾讯如何具体实现的增量itemcf。

文章中的co-rating,其实就是我们常说的user bias. 公式3和4解决了用户隐式反馈问题,细节的计算可以参考2016的文章,实际是一个log函数融合了用户的浏览、点击、分享、购买等行为,转化成rating.

corating.png

请注意公式4,由于他们定义了corating,实际是将相似度的增量计算从L2范数的计算转化成了L1范数计算.(当Rup取x的时候,y=1/x)。

可扩展的增量计算

itemcf.png

initemcf.png

2016年

腾讯视频的推荐应用(Real-time Video Recommendation Exploration)

实时处理、大规模数据下的准确率和可扩展性。
开发了一个基于矩阵分解的大规模在线协同过滤算法,以及一系列的自适应更新策略。
通过增加包括视频类别、时间因素影响、用户画像剪枝以及训练等方法,提高实时TopN推荐的精度。
在我们看来,全文核心在于实时计算的数据流转,如下图所示:

tecvideo.png

基于storm的实时计

![图片上传中...]

topo.png

糖豆的设计与实现 2.1 架构


糖豆整体推荐框架,从离线,近线,在线三套计算流程组合而成。在线流程基于Spark Streaming框架实现,部署在近线集群。 在线推荐框架实时根据用户行为,生成实时推荐列表,从而满足用户瞬时兴趣,提高推荐系统的推荐新鲜度。简单架构图如下:

糖豆实时架构.png

2.2 基于Spark Streaming的实现 2.2.1. 计算流程

实时计算流程如下图所示:

实时计算流程图

分解步骤:

Spark Streaming 读取Kafka,原始日志ETL
提取用户隐式反馈,生成候选集tuple (uid,vid)
每天凌晨会将离线计算好的ItemCF模型结果集导入Redis。itemcf数据结构是一个similarity vid list。
实时维护看过视频set,对看过视频的处理候选集tuple过滤该用户看过的视频
实时更新推荐过视频set,候选集tuple过滤当天已经被推荐过的视频
候选集写入Redis推荐list

2.2.2 监控

部署在集群Master节点的监控脚本会每30s扫描一次实时计算代码进程,如果发现进程被failed,会自动拉起实时计算Spark Steaming进程。如果进程拉起失败会触发邮件、短信报警

2.3 收益

根据我们的AB测试数据来看,整体CTR提升25%。用推荐系统的A版对比无推荐的B版,用户观看时长提升47%。

recabdata.png

问题与改进


较多代码逻辑集中在Redis。目前Redis无灾备措施,同时IO和负载也会出现Peak。
Spark Streaming 目前实时级别在分钟级。需要升级成storm的秒、毫秒级别。
需要用户点击等行为才会生产数据,容易召回不足。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41958.html

相关文章

  • UCloud快杰云主机 提升糖豆App运营质量实战

    摘要:快杰云主机搭建。快杰云主机,搭载选用第二代处理器,主频,领先的制程工艺带来显著的性能提升,使之打破总体性价比世界记录。因此,糖豆与神策数据此次最终共同选择了快杰服务器。在凉风习习的夜晚里,璀璨的灯火映照下,随处都能碰到翩翩起舞的人群,这就是广场舞,在这嘹亮、节奏鲜明的歌声里有一款大妈们热爱的APP—- 糖豆APP。  一、挑战 在发展之初,多家企业看好广场舞这个赛道,而糖豆创业初...

    figofuture 评论0 收藏0
  • 何为敏捷大数据敏捷AI?

    摘要:摘要敏捷大数据智能化的主要目标就是,结合敏捷大数据实施理念,研发灵活的轻量化的智能模型,并在敏捷大数据平台上对数据流进行实时智能化处理,最终实现一站式的大数据智能分析实践。因此,实时数据处理已成为未来大数据技术发展的主要方向。 摘要:敏捷大数据智能化的主要目标就是,结合敏捷大数据实施理念,研发灵活的、轻量化的智能模型,并在敏捷大数据平台上对数据流进行实时智能化处理,最终实现一站式的大数...

    X_AirDu 评论0 收藏0
  • 蚂蚁金服智能推荐引擎解决方案实践

    摘要:演讲中,王志勇代表蚂蚁金服首次向公众介绍了蚂蚁金服智能推荐引擎,分享了蚂蚁金服利用人工智能和大数据能力在推荐引擎上沉淀的大量经验,并介绍了结合蚂蚁自身优势打造的能够灵活适配各种业务场景的智能推荐引擎解决方案及其能力和优势。 摘要:以数字金融新原力(The New Force of Digital Finance)为主题,蚂蚁金服ATEC城市峰会于2019年1月4日上海如期举办。金融智能...

    tuantuan 评论0 收藏0
  • 美图个性化推荐的实践探索

    摘要:美图的推荐流程分为如下三个阶段召回阶段推荐的本质是给不同的用户提供不同的内容排序。美图的用户数量逐步增长,而每个用户的兴趣点随着场景时间也在同步发生变化。 互联网技术将我们带入了信息爆炸的时代,面对海量的信息,一方面用户难以迅速发现自己感兴趣的信息,另一方面长尾信息得不到曝光。为了解决这些问题,个性化推荐系统应运而生。美图拥有海量用户的同时积累了海量图片与视频,通过推荐系统有效建立了用...

    Galence 评论0 收藏0
  • 如何“神还原”数据中心? 阿里联合NTU打造了工业级精度的仿真沙盘!

    摘要:近期,阿里巴巴南大联合研究院联合实现并上线完成了一个高精度,可连接实时监控系统基于的变更沙盘系统。同时,数据中心变更故障可能造成的业务影响也越来越大,可能造成的损失已难以估计。本系统在软件上实现了工业级精度的变更沙盘测试和验证。 showImg(https://segmentfault.com/img/remote/1460000017895494); 阿里妹导读:如何保障数据中心的稳...

    lemanli 评论0 收藏0

发表评论

0条评论

pf_miles

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<