闲鱼如何利用端计算提升推荐场景的ctr

背景

闲鱼作为一个电商场景的app,最丰富的部分就是作为商品宝贝浏览承载的feeds,比如首页下面的宝贝信息流,搜索结果页以及详情页下面的猜你喜欢,这些feeds场景都少不了推荐算法在背后的支撑。

传统的推荐算法是依托于云上沉淀的埋点数据来。随着4G网络资费的下降,产生了越来越多的数据,如果将如此大量的数据都上传到运算,并且由云端来做中心化的存储/计算和处理,不仅会产生大量无必要的网络流量,而且还会给云端带来高昂的存储成本,实时性也无法保证。

我们观察到随着手机计算能力的提升,某些计算可以在端上直接计算,再统一上报到后端,这样相比云计算有很多明显的优势:

1、更加实时性:我们可以在端上完成原始特征的处理和实时打分,从原始特征的抽取到计算结果的上报完成,可以在1s左右完成。

2、计算资源的节约:大量数据如果都汇集到云端上计算,可能会造成计算资源的不足,我们可以将计算量分散到各个端上,可以降低计算资源开销。

3、多维度数据采集:一些类似于细粒度的行为数据、采集频率过高的数据或者涉及用户隐私的数据等,可以在端上直接消费掉而不需要上传。

马里奥

介绍

马里奥是闲鱼首页的一个创新形式的业务,其业务逻辑是:用户在闲鱼首页feeds部分点击来一个宝贝卡片,那么同时就会请求云端,根据后端算法拉取回来算法召回的query词和对应的推荐宝贝信息,以四个方块的形式展示在一个张卡片中,这样来给用户点击之后,跳到二级承接页面来给用户推荐更相关的宝贝,来达到提升首页feeds部分点击率和成交的效果。

效果图:

初始版本流程图:

问题

初始上线之后,我们统计马里奥卡片一跳和二跳的ctr,发现并比不上普通的宝贝,那么问题出在了哪里呢?

分析

闲鱼上每天都会诞生数以亿计的商品点击,这里有个很自然的问题:用户对他的这次商品点击满意吗?考虑两个简单的例子:

1)用户点击商品后,在详情页面上停留时间很短,那么我们可以认为这可能是次误点击。

2)用户点击商品后,他在这个详情页面上有很多的行为,比如他可能查看了产品参数、商品的颜色尺码、或者又点击了该商品的全部评价,最后还通过和卖家进行了聊天,那么我们就认为这可能是次真实意愿的点击,或者说他对这次点击满意度分很高。

那么很自然的,我们推测,只有在满意度较高的情况下,我们去做关联推荐才是有意义和有价值的,否则如果用户误点击的情况,我们也去推荐,只会适得其反,对此我们进行了解法的尝试。

解法

在这个场景下,需要在用户点击进入宝贝详情,然后离开详情页的时候,就需要给出用户对该宝贝的意向,只有满足某个阈值的情况,才应该出现马里奥卡片。这种场景下,如果使用传统的云端算法,把数据都收集好,再计算出结果,再返回到端上,这时候很可能插入卡片的时机早就过去了,没法抓到用户这个关键点。因为用户在浏览详情页的过程中,所有的点击和曝光都是在端上实时产生的,很可能在最后一刻退出页面之前,用户都在一直产生有价值的动作,这时候不断的往云端回传数据再计算,显然是不可行的方案。

当用户在闲鱼Feeds页点击推荐商品(如上面左图的汽车玩具商品)后,进行触发并展现马里奥(如上面左图虚线红框所示),引导用户进行搜索并进行更多商品点击和下单。不同于Feeds里一般的推荐项,马里奥的每一次触发其实是存在触发成本的。一个显然的成本是马里奥的触发会挤占后续商品的展现。如果用户每一次详情页点击后都触发马里奥,那么就会有大量的马里奥被展现,并挤占相应的Feeds坑位。当马里奥点击率相比Feeds过低的时候,将影响整体Feeds的展现效率及用户体验。

解法流程图:

因而在推荐流和搜索结果流中,触发型展现一个显而易见的成本是,当前触发的内容展现会压缩后续推荐的内容展现。从更高效的流量分发角度来看,对这类展现的控制是有必要性的。

不同于此前纯云端的触发展现,云端此前更多做内容侧的控制,基于用户与内容的匹配程度去决策是否展现以及展现什么。而端侧用户更加实时、更加详细、更加细粒度的行为,更偏好与刻画用户交互习惯以及对当前触发模块的需求。

为此,我们提出了智能展现模型,通过用户在端侧的细粒度交互行为建模用户对触发模块的实时偏好,将原始的触发展现模块解藕为两部分:

1、CTR(端):端侧做展现控制:基于用户当下细粒度交互行为及交互习惯决定是否请求(展现)相关模块

2、CTR(云):云侧做内容控制:决定展现的相关内容

所以我们最终采用端计算和云计算结合的方案,所有依赖数据都实时在端上产生,而且计算处理数据的过程也在端上,借助于集团提供的端计算容器,我们可以很方便的把模型部署到端上并运行它得到我们用户点击之后对点击宝贝的满意度的数值。

结果

新的马里奥方案,对整个链路和现有体系是最小侵入,也让整体更加简洁。闲鱼马里奥项目上,智能展现模型在保证94.4%的马里奥点击量和96%的二跳点击量下,马里奥服务端请求量减少了-28.0%,点击率提升+31.1%,成交率增长了10%。


原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/517853.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hadoop集群安装部署_分布式集群安装_02

文章目录一、上传与 解压1. 上传安装包2. 解压hadoop安装包二、修改hadoop相关配置文件2.1. hadoop-env.sh2.2. core-site.xml2.3. hdfs-site.xml2.4. mapred-site.xml2.5. yarn-site.xml2.6. workers2.7. 修改启动脚本三、同步初始化3.1. 安装包同步3.2. 主节点格式化HDFS3.3.…

重要的节日那么多,要及时「缓存」你们的珍贵时光

作者 | 后端学长责编 | Carol出品 | 程序员 cxuan缓存概述在很久很久以前人类和洪水作斗争的过程中,水库发挥了至关重要的作用 : 在发洪水时可以蓄水,缓解洪水对下游的冲击;在干旱时可以把库存的水释放出来以供人们使用。这里的水库就起着缓存…

我和面试官之间关于操作系统的一场对弈 | 原力计划

作者 | Guide哥责编 | 伍杏玲出品 | CSDN博客大家好,我是 Guide 哥!很多读者抱怨计算操作系统的知识点比较繁杂,自己也没有多少耐心去看,但是面试的时候又经常会遇到。所以,我带着我整理好的操作系统的常见问题来啦&am…

LaTex中参考文献引用

一、引用参考文献 这里我们使用的是BibTeX的引用格式,因此文件中应包括两个文件(.bib-参考文献 和 .bst-文献格式)。 有了这两个文件后,我们在bib文件中创建参考文献:(注意,作者的名字是逗号前…

如何在Flutter上实现高性能的动态模板渲染

背景 最近小组在尝试使用一套阿里dinamicX的DSL,通过动态模板下发,实现Flutter端的动态化模板渲染;本来以为只是DSL到Widget的简单映射和数据绑定,但实际跑起来的效果出乎意料的差,列表卡顿严重,帧率丢失严…

稀疏数组(数据结构)

稀疏数组(数据结构) 需求:编写五子棋游戏中,有存盘和续上盘的功能 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 …

揭秘 Flink 1.9 新架构,Blink Planner 你会用了吗?

本文为 Apache Flink 新版本重大功能特性解读之 Flink SQL 系列文章的开篇,Flink SQL 系列文章由其核心贡献者们分享,涵盖基础知识、实践、调优、内部实现等各个方面,带你由浅入深地全面了解 Flink SQL。 1. 发展历程 今年的8月22日 Apache…

阿里面试官整理的JVM面试要点,99%的你都不知道!

最近网上出现一个面试题:“一个线程OOM后,其他线程还能运行吗?”网上出现了很多答案。这道题其实很有难度,涉及的知识点有jvm内存分配、作用域、gc等,不是简单的是与否的问题。在面试时被问到这个问题你是会哑口无言还…

6 个 K8s 日志系统建设中的典型问题,你遇到过几个?

作者 | 元乙 阿里云日志服务数据采集客户端负责人,目前采集客户端 logtail 在集团百万规模部署,每天采集上万应用数 PB 数据,经历多次双 11、双 12 考验。 导读:随着 K8s 不断更新迭代,使用 K8s 日志系统建设的开发者…

如何加快 Node.js 应用的启动速度

我们平时在开发部署 Node.js 应用的过程中,对于应用进程启动的耗时很少有人会关注,大多数的应用 5 分钟左右就可以启动完成,这个过程中会涉及到和集团很多系统的交互,这个耗时看起来也没有什么问题。 目前,集团 Serve…

技术人看《长安十二时辰》的正确姿势是?

阿里妹导读:从“叉手礼”、“水盆羊汤”、“酒晕妆”这些唐朝人的生活细节,到精美的坊间造型、充满意境的诗词歌赋,《长安十二时辰》不仅以缜密剧情赢得赞誉,更还原了一个真实的大唐长安。在精良制作之上,技术人如何让…

我们已经不用AOP做操作日志了! | 原力计划

来源 | JAVA葵花宝典责编 | 王晓曼、Carol 头图 | CSDN下载自东方IC前言用户在操作我们系统的过程中,针对一些重要的业务数据进行增删改查的时候,我们希望记录一下用户的操作行为,以便发生问题时能及时的找到依据,这种日志就是业务…

会向业务“砍需求”的技术同学,该具备哪6点能力?

阿里妹导读:“会”砍需求,并不是件容易的事情,这涉及到工程师的商业头脑,要会判断技术和业务的关系。技术与业务好比“两条腿”,相互配合才能走得更远。如何具备business sense就是我们今天的课题。 论工程师的商业头…

(进阶篇)Redis6.2.0 集群 主从复制_原理剖析_02

文章目录一、主从复制流程1. 主从复制流程图2. 主从复制日志二、主从复制信息剖析2.1. 主节点信息剖析2.2. 从节点信息剖析三、关键术语3.1. 复制功能开启3.2. 全量复制场景3.3. 主从复制异步性3.4. 过期key的处理3.5. 加速复制一、主从复制流程 1. 主从复制流程图 第一条线&a…

如何抢占云栖大会C位?史上最强强强攻略来了

如何抢占云栖大会C位?史上最强强强攻略来了 原文链接 本文为云栖社区原创内容,未经允许不得转载。

寻找榜样的力量!CSDN【百万人学 AI】评选活动重磅启动

AI 业界历经算法更迭、技术方案升级,有企业攻城略池,占据更多行业山头,有企业中途折戟沉沙。AI 发展浮浮沉沉,但每一年我们都希望审视当下,一窥未来。2020 无疑是特殊的一年,而 AI 在开年的这场”战疫“中表…

重构:改善饿了么交易系统的设计思路

我在2017年5月加入饿了么的交易部门,先后负责搜索、订单、超时、赔付、条约、交付、金额计算以及评价等系统,后期开始做些整体系统升级的工作。 这篇文章成型于交易系统重构一期之后,主要是反思其过程中做决策的思路,我没有使用「…

(进阶篇)Redis6.2.0 集群 主从复制_故障解决_03

文章目录一、 主从数据一致性1. 主多从少2. 主少从多3. 知识点补充二、 数据延迟2.1. 数据延迟因素2.2. 解决方案三、 脏数据3.1. 脏数据产生的场景3.2. 解决方案四、 数据安全性4.1. 场景4.2. 解决方案五、 规避全量复制5.1. 低峰时段5.2. 主节点变更5.3. 增大复制缓冲区六、 …

以“基”取胜:青立方超融合易捷版,助力企业“极简”上云

2020年春天,以云计算、5G、人工智能为代表的“新基建”蔚然成风,不仅助力中国产业智能化、信息化进入加速推进的快车道,促使全产业链迈开高质量发展的新步伐。更是面向长远,构筑数字经济创新发展之基。可以说,没有任何…

从零开始入门 K8s| K8s 的应用编排与管理

一、资源元信息 1. Kubernetes 资源对象 我们知道,Kubernetes 的资源对象组成:主要包括了 Spec、Status 两部分。其中 Spec 部分用来描述期望的状态,Status 部分用来描述观测到的状态。 今天我们将为大家介绍 K8s 的另外一个部分&#xff0c…