科学地花钱:基于端智能的在线红包分配方案

一、前言

本文是作者在1688进行新人红包发放的技术方案总结,基于该技术方案的论文《Spending Money Wisely: Online Electronic Coupon Allocation based on Real-Time User Intent Detection》已经被CIKM2020接收,欢迎交流指正!

关于作者

李良伟:阿里巴巴算法工程师,邮箱 leon.llw@alibaba-inc.com
孙刘诚: 阿里巴巴高级算法工程师,邮箱 liucheng.slc@alibaba-inc.com

二、背景介绍

用户权益(包括现金红包、优惠券、店铺券、元宝等,图-1)是电商平台常用的用户运营手段,能够帮助平台促活促转化。 围绕着权益的技术优化也层出不穷[1,2,3,4,5]。

图-1: 1688新人红包

红包发放作为一种营销手段,其ROI是我们非常关心的一个指标,因为它直接反映了在有限的预算内红包为整个平台促活促成交的能力。优化红包发放的ROI要求我们把红包发到最合适的用户手上。而判断哪些用户适合领到红包需要我们在真正发红包之前判断当前用户的意图。举例来讲,一个购买意图非常明确、无论是否有红包都会下单的用户显然不适合领到红包;相反,红包对一个犹豫不决、货比三家的用户很有可能起到“临门一脚”的作用。

随着1688业务的快速发展,每天都会有大量的平台新用户涌入,其中有很多用户在整个阿里经济体的数据都十分稀疏,基于常规手段,我们很难对这种“陌生”的用户进行精准刻画。然而,只要一个用户进入了APP,或多或少都会和平台产生相互作用(滑动,点击等),这种在端上实时产生的数据能够帮助我们对用户尤其是新用户的实时意图进行精准捕捉,进而完成红包发放的决策。

本文将介绍我们基于端智能的用户意图识别和智能权益发放方案。

三、技术方案

从数学的角度,权益发放是一个带约束的优化问题。优化目标是关心的业务指标(GMV,买家数,转化率等),约束一般是预算约束,有时也会有其他约束比如发放疲劳度约束、单个用户领取红包金额约束等。

按照之前提到的先识别用户意图再进行权益发放这一思路,我们提出了一个two-stage的求解方案。在第一阶段,我们基于端智能技术[6],根据用户实时行为数据,通过瞬时意图识别网络(Instantaneous Intent Detection Network, IIDN) 识别出用户当前意图;在第二阶段,我们将优化问题建模成一个多选项背包问题(Multiple-Choice Knapsack Problem, MCKP),并运用[7]提到的primal-dual框架求解。在这里,我们强调我们关于IIDN的两个创新点:

1.IIDN最主要检测的用户意图是下单意图,但是实践发现在新人当中,用户下单的比例是比较小的,这样我们在进行下单意图识别的时候会面临一个类别不均衡的问题(下单:不下单 = 1:10甚至更低),这样的类别偏差会降低常见的分类器的分类效果[8]。为了解决这一问题,受到ESMM[11]和seq2seq[10]启发,我们引入了一个辅助任务:停留意图识别。我们随后会从理论上验证这一做法

2.我们采用encoder-decoder的结构,灵活地处理序列化的输入和输出

第一阶段:瞬时意图识别

图-2: IIDN结构

图-2是IIDN的整体结构,它由Embedding Layer, LSTM layer, Attention Layer, Encoder和Decoder五部分组成。接下来分别介绍。

Embedding Layer

模型的输入主要是实时用户特征和红包特征,用户特征包括实时特征(端上收集到的:点击、加购等)、历史特征(用户核身、年龄等),红包特征现在只加入了面额。这些特征是高度异质的,需要进行一步处理把它们映射到相同的向量空间中。我们采用[9]提到的嵌套技术,把原始的异质特征映射为长度固定的向量,并把该向量作为后续结构的输入。

LSTM Layer

我们红包发放的业务逻辑是:用户在详情页产生浏览行为并返回landing page的时候触发决策模型,判断给该用户发放红包的面额(0元代表不发放)。由于用户通常会产生一系列的详情页浏览行为,因此我们收集到的数据也是高度序列化的。为了更好地描述序列化数据当中的时间依赖关系,我们在特征抽取环节采用了Long Short Term Memory (LSTM) 来捕捉这种序列化信息。

Attention Layer

对于LSTM产出的序列化的feature map,我们使用注意力机制抽取当中的局部和全局依赖关系。我们将LSTM每层的输出都通过Attention计算权重并参与最终的结果计算。这样的好处是模型不仅关注LSTM最终层输出,还会关注逐层的输出结果,从而增加模型对于输入信息的感知能力。

Encoder

由于用户实时特征的序列长度不固定,而红包特征和用户历史特征是静态的固定特征,我们需要一种机制来进行有效的特征融合。受到Natural Language Generation (NLG) 当中语句生成的启发,我们采用一种seq2seq的结构:包括encoder和decoder,我们将在下一小节介绍decoder。这里encoder将之前产生的所有feature map作为输入,通过全连接层产生一个固定长度的向量,这个向量囊括了进行用户意图识别的一切信息,并作为之后decoder进行意图识别的依据。

Decoder

Decoder被用来输出最终的意图识别结果。在最开始,我们的模型只输出用户下单的概率,但是随着业务的深入,我们发现类别不均衡这一问题给结果预测造成了不小的干扰。在提高预测精度的实践当中,我们发现了一个有趣的现象:如果在进行下单率预估的时候在特征中加入用户在这次浏览之后是否离开这一信息,预测精度会有很大的提升。这引发了我们的思考:用户离开和用户下单之间存在什么样的关系。随后我们又做了一个实验:进行用户离开意图识别,并在特征中加入了用户两小时内是否下单这一特征。实验结果表明加入是否下单这一特征并不能给离开率预估的任务带来增益。这样的实验结果其实是符合逻辑的:用户能够下单的前提是用户一定要留在APP内不离开,前者的发生在逻辑上需要依赖后者的发生,因此在进行下单率预估的时候加入是否离开能够为模型提供一定的信息增益;相反,用户是否离开更多取决于用户当前的心态以及APP能否很好地承接他,用户是否下单并不能影响用户是否离开。我们可以认为:

由上式可以很自然地推导出下式:

可以看到,在进行下单率预估的时候(P的计算),用户停留意图识别(S的计算,或者说离开意图,二者等价)将可以用来作为辅助任务提升预测效果。我们的实验也验证了这点。

尽管在我们这一任务当中,我们只需要预测停留意图和下单意图,但是在之后扩展的场景中,更多意图也可以被识别:比如用户去往搜索的意图,用户去往新人专区的意图等。所有意图其实都像下单意图和停留意图一样存在一个逻辑上的先后关系(至少所有意图的产生都依赖于用户不离开),这样的关系使得我们想到了机器翻译当中语句生成:后一个单词的生成依赖于前一个单词的预测,这启发了我们在encoder-decoder的基础上采用seq2seq的思想:decoder会先生成S,并在此之上生成P。这样做有两个好处:

1.在一定程度上缓解了我们一开始提到类别不均衡问题:尽管不是所有用户都下单,但是所有用户一定会离开APP,离开意图识别并不存在类别不均衡的问题

2.我们这一套意图识别框架可以扩展到无限多的意图识别当中,只要提供先验的逻辑先后关系

我们使用普通的RNN完成每一个意图的识别。

loss设计

全局的loss是由停留意图识别和下单意图识别两个任务的loss相加得到:

其中CE表示交叉熵:

第二阶段:求解MCKP

根据第一阶段得到的实时意图$P$和$S$,我们在这一阶段完成红包的最终发放。我们将这一问题建模成一个多选项背包问题,我们作以下定义:

1.j用来索引红包,表示第j个红包,i用来索引用户,表示第i个用户
2.c_j表示第$j$个红包的面额
3.x_{ij} = 1当且仅当第i个用户被发到了j红包
4.\gamma 表示用户停留兴趣阈值,我们只给那些停留意图足够低的用户发红包,停留意图如果不够低我们认为他还会继续浏览,因此这次先不发放红包
5.P_{ij}、S_{ij}分别表示第$i$个用户领取到第$j$个红包以后的下单率和停留率
6.B表示全局预算约束

运用以上的定义,红包发放问题可以被写作:对于任意的用户,满足S_{ij} <= gamma,我们求解以下最优化问题:

为了求解以上问题,我们采用[7]提到的primal-dual框架。定义alpha和beta_j分别是相关的对偶变量,据此框架我们可以在线求解以上问题。具体来讲,x_{ij}可以根据以下公式求得:

通过上式求得的x_{ij}和j,我们就得到了最终的分配方案。

四、系统部署

目前在集团做端智能首推jarvis平台,在这里给相关同学点赞,在最开始的时候没少麻烦jarvis同学解决问题。运用jarvis,我们可以收集端上实时数据并将深度模型部署到端上。我们主要是将IIDN部署到端上,MCKP决策模型由于需要考虑全局最优,所以放在了服务端。

图-3: 系统大图

图-3是我们整体的系统架构,每一个用户在详情页回退到landing page的时候会触发决策模型,IIDN首先根据端上采集到的行为数据识别出用户的下单和停留意图,随后该意图会被推送到服务端参与最终的红包决策。我们这套系统在日常线上持续生效,同时还参与了0331商人节,助力买家数的提升。

五、实验

实验设置

我们从1688客户端收集数据,用到的特征如下表:

实验分为两部分:离线实验和在线实验。离线实验主要验证IIDN对于意图的识别效果,验证指标是AUC和logloss;在线实验主要验证我们二段式建模对于红包发放的效果,主要的验证指标是增量买家成本 (increment cost, ic),它被用来衡量每带来一个增量买家需要消耗的成本,计算公式如下:

离线实验

在离线实验环节,我们分别使用以下方法进行下单意图识别,并进行比较:

1.Logistic Regression (LR)
2.Gradient Boosting Decision Tree (GBDT)
3.DNN + RNN [12]
4.IIDN-single-LSTM (单层LSTM)
5.IIDN-non-attention (无Attention机制,使用简单的全连接)
6.IIDN-non-auxiliary-task (没有辅助任务的IIDN)
7.IIDN

离线结果如下表:

可以看到IIDN达到最高的AUC和最低的Logloss,这证明了IIDN的合理性。

在线实验

我们主要和另外三个发放方案做比较:

1.不发:该桶所有用户均不发红包
2.全发:该桶所有用户均发红包
3.uplift:我们采用广告营销当中常用的uplift方案,对每一个用户发放使他转化率提升最大的面额,同时该面额带来的转化率提升需要大于一定的阈值,否则不发放红包

在线效果如下表:

可以看到尽管全发桶带来的转化率提升最明显,但是它也带来了最大的增量买家成本。我们提出的方案不仅相对自然转化率提升了25.7%,同时也比全发桶的增量买家成本减少了44.3%,这证明了我们方案的优越性。

模型分析

学习曲线

图-4: 学习曲线

单调性分析

正常来讲,红包面额越大,对于用户的刺激作用也越大,用户下单率曲线应该是一条关于红包面额单调递增的曲线,我们实验得到的曲线如下图:

图-5: 单调性曲线

可以看到所有模型基本呈现单调性,其中IIDN更加符合真实情况。

六、参考文献

1. 竞争网络下的智能红包发放(ATA)

2. 花钱,我们是认真的 -- 基于用户权益敏感与大规模分组背包的红包发放算法(ATA)

3. 2018双11:用户来而未购?用户购买意图识别与惊喜红包新玩法(ATA)

4. 社交营销(1):双11盖楼,红包有多少,楼有多高!| 基于社交裂变的C2C红包智能投放(ATA)

5. 商家增长引擎系列二:全生命周期商家建模与直通车智能红包(ATA)

6. Jarvis端上算法平台介绍(ATA)

7. Agrawal, Shipra, Zizhuo Wang, and Yinyu Ye. "A dynamic near-optimal algorithm for online linear programming." Operations Research 62.4 (2014): 876-890.

8. Chen, Ken, Bao-Liang Lu, and James T. Kwok. "Efficient classification of multi-label and imbalanced data using min-max modular classifiers." The 2006 IEEE International Joint Conference on Neural Network Proceedings. IEEE, 2006.

9. Guo, Long, et al. "Buying or browsing?: predicting real-time purchasing intent using attention-based deep network with multiple behavior." Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2019.

10. Sutskever, Ilya, Oriol Vinyals, and Quoc V. Le. "Sequence to sequence learning with neural networks." Advances in neural information processing systems. 2014.

11. Ma, Xiao, et al. "Entire space multi-task model: An effective approach for estimating post-click conversion rate." The 41st International ACM SIGIR Conference on Research & Development in Information Retrieval. 2018.

12. Wei, Ermo, Drew Wicke, and Sean Luke. "Hierarchical approaches for reinforcement learning in parameterized action space." 2018 AAAI Spring Symposium Series. 2018.

原文链接

本文为阿里云原创内容,未经允许不得转载。

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

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

相关文章

为 Serverless Devs 插上 Terraform 的翅膀,实现企业级多环境部署(上)

前言 随着现代化应用的普及和企业上云的深入&#xff0c;项目中会涉及越来越多的云资源使用。企业上云过程中&#xff0c;往往会有平台&#xff08;Platform&#xff09;团队和基础设施&#xff08;Infra&#xff09;团队&#xff1a;平台团队关注业务&#xff0c;根据业务场景…

达摩院打破权威榜单纪录,中文语言理解表现首超人类

11月25日消息&#xff0c;在最新的中文语言理解领域权威榜单CLUE中&#xff0c;阿里AI以86.685的总分成绩创造了新纪录&#xff0c;这是该榜单诞生近三年以来&#xff0c;AI首次超越人类成绩&#xff08;86.678&#xff09;&#xff0c;意味着AI模型的中文语言理解水平达到了新…

阿里云云原生一体化数仓 — 离线实时一体化新能力解读

实时离线一体化概述 在讲实时离线一体化概述前&#xff0c;可以先回顾一下之前两位阿里同学的精彩演讲。 离线实时一体化数仓与湖仓一体--云原生大数据平台的持续演讲 https://developer.aliyun.com/article/804337 云原生离线实时一体化数仓建设与实践&#xff1a; https:/…

50 万开发者不愿付费使用,Python 代码补全神器 Kite 失败!

作者 | 苏宓出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;AI 编程距离程序员还有多远&#xff1f;如果说 GitHub Copilot 的到来&#xff0c;让众多开发者看到了希望&#xff0c;那么初创公司 Kite 的倒闭&#xff0c;也让我们认清了现实。Kite 是一家使用 AI 帮…

模拟 IDC spark 读写 MaxCompute 实践

一、背景 1、背景信息 现有湖仓一体架构是以 MaxCompute 为中心读写 Hadoop 集群数据&#xff0c;有些线下 IDC 场景&#xff0c;客户不愿意对公网暴露集群内部信息&#xff0c;需要从 Hadoop 集群发起访问云上的数据。本文以 EMR &#xff08;云上 Hadoop&#xff09;方式模…

基因检测,如何帮助患者对抗疾病?

为什么别人胡吃海塞都依然瘦成竹竿&#xff0c;我喝水都会胖&#xff1f; 为什么我这么不幸&#xff0c;疾病会找上我&#xff1f;早知道就不乱喝酒。 为什么是同一种病&#xff0c;别人吃这个药有用&#xff0c;我吃却没用&#xff1f; 从日常的健康管理、疾病预防&#xf…

“小语言”才是编程的未来!

摘要&#xff1a;随着软件功能不断增加&#xff0c;代码数量也日益膨胀&#xff0c;我们要如何停止不断堆砌&#xff0c;甚至缩小软件体积&#xff1f;本文作者提出了一种可能性&#xff1a;“小语言”。链接&#xff1a;https://chreke.com/little-languages.html声明&#xf…

夯实密码基础服务,服务上层应用

“十四五”是国家数字化战略转型建设的关键阶段&#xff0c;5G、人工智能、云计算、大数据等新一代信息技术进一步加快了工业和信息化领域数字化转型的步伐。与此同时&#xff0c;也带来了新的网络安全风险。加快推动商用密码与新一代信息技术的深度融合和协同创新&#xff0c;…

储留香:数据迁移上云避坑指南

简介&#xff1a; 常言道&#xff1a;人往高处走&#xff0c;水往四面八方流&#xff0c;而让数据如水一般流动则是IT人孜孜以求的。那么在如今这个风起“云”涌&#xff0c;不管是上云&#xff0c;还是换云都涉及到数据迁移的时代&#xff0c;如何做到这一点呢&#xff1f;今天…

为 Serverless Devs 插上 Terraform 的翅膀,实现企业级多环境部署(下)

在上篇中&#xff0c;主要介绍了 Serverless Devs 多环境功能的使用&#xff0c;用户读完可能会些疑问&#xff0c;本文会就一些常见问题进行下回答。 1、Serverless Devs 和 Terraform 的关系 可能有些用户会问&#xff0c;既然你们已经支持了 Terraform&#xff0c;那 Serv…

这个简单的小功能,半年为我们产研团队省下213个小时

大多数人对产研同学的认知都是每天做着高大上的活儿。 我们以为的产研团队是&#xff1a; 研发负责人&#xff1a;今年最新的技术架构是什么、我的团队适合吗&#xff1f;开发同学&#xff1a;010001&#xff0c;一顿代码猛如虎测试同学&#xff1a;OK&#xff0c;测试一次性…

腾讯云开源项目Crane成FinOps首个认证降本增效开源方案

刚刚&#xff0c;腾讯云开源项目 Crane(Cloud Resource Analytics and Economics)正式成为FinOps认证解决方案&#xff08;FinOps Certified Solutions&#xff09;。作为全球范围内首个开源的FinOps认证解决方案&#xff0c;Crane能够助力云原生用户充分发挥云上资源的最大价值…

JDBC 在性能测试中的应用

前言 我们能否绕开 http 协议&#xff0c;直接测试数据库的性能&#xff1f;是否觉得从数据库中导出 CSV 文件来构造压测数据很麻烦&#xff1f;怎样在压测结束后做数据清理&#xff1f;能不能通过数据库中的插入&#xff08;删除&#xff09;记录对压测请求做断言&#xff1f…

不喜欢 D 和 C++,程序员将 58000 行代码移植到 Jai 语言?

摘要&#xff1a;将已有的上万行代码迁移至另一种编程语言&#xff0c;从来就不是一件容易决定的事情&#xff0c;而本文作者却信心满满地要将 5.8 万行代码全部用另一种不那么主流的语言重写&#xff0c;这是为什么呢&#xff1f;链接&#xff1a;https://www.yet-another-blo…

传统微服务框架如何无缝过渡到服务网格 ASM

背景 软件技术的发展历史&#xff0c;从单体的应用&#xff0c;逐渐演进到分布式应用&#xff0c; 特别是微服务理念的兴起&#xff0c;让大规模、高并发、低延迟的分布式应用成为可能。云原生时代下&#xff0c;微服务框架本身也在不断地进化和迭代演进。 微服务框架一般会涉…

基于 K8s 的交付难题退退退!

大家好&#xff0c;我是专注于交付的王小锤&#xff0c;看过交付铁三角系列故事&#xff08;专注交付的我小锤&#xff0c;开发老哥铁子和售前大佬强哥&#xff09;的同学想必都知道&#xff0c;我们三人服务于一家提供大数据分析服务的 ISV 企业&#xff0c;在应用交付过程中时…

小迈科技 X Hologres:高可用的百亿级广告实时数仓建设

通过本文&#xff0c;我们将会介绍小迈科技如何通过Hologres搭建高可用的实时数仓。 一、业务介绍 小迈科技成立于 2015 年 1 月&#xff0c;是一家致力以数字化领先为优势&#xff0c;实现业务高质量自增长的移动互联网科技公司。始终坚持以用户价值为中心&#xff0c;以数据…

移动云探索自主技术核心地带,拥抱开发者共筑全新技术生态

在数字经济向更多新领域渗透&#xff0c;5G、物联网等数字经济核心技术应用加速的助推下&#xff0c;云计算作为最主流的算力解决方案&#xff0c;需求增长迅速。随着国内云计算技术生态发展的不断成熟&#xff0c;各行各业上云的步伐也在不断加快。同时&#xff0c;由于企业的…

深度解读 RocketMQ 存储机制

RocketMQ 实现了灵活的多分区和多副本机制&#xff0c;有效的避免了集群内单点故障对于整体服务可用性的影响。存储机制和高可用策略是 RocketMQ 稳定性的核心&#xff0c;社区上关于 RocketMQ 目前存储实现的分析与讨论一直是一个热议的话题。本文想从一个不一样的视角&#x…

IOC-golang 的 AOP 原理与应用

AOP 与 IOC 的关系 AOP &#xff08;面向切面编程&#xff09;是一种编程设计思想&#xff0c;旨在通过拦截业务过程的切面&#xff0c;实现特定模块化的能力&#xff0c;降低业务逻辑之间的耦合度。这一思路在众多知名项目中都有实践。例如 Spring 的切点 PointCut 、 gRPC的…