丰富的线上&线下活动,深入探索云世界
做任务,得社区积分和周边
最真实的开发者用云体验
让每位学生受益于普惠算力
让创作激发创新
资深技术专家手把手带教
遇见技术追梦人
技术交流,直击现场
海量开发者使用工具、手册,免费下载
极速、全面、稳定、安全的开源镜像
开发手册、白皮书、案例集等实战精华
为开发者定制的Chrome浏览器插件
用户消费行为预测已然是电商领域的经典问题。通过对用户实时意图的理解,我们可以感知用户当下正处于哪个阶段,比如是在买还是在逛,从而可以根据不同阶段制定不同的营销和推荐策略,进而提升营销和推荐效果。
十亿级别的移动终端,为手机淘宝的情景计算提供了无限可能。本文主要介绍如何利用用户与手机的交互数据对用户实时的购买行为进行预测。基于大数据分析,通过感知用户在淘宝上的浏览链路,情景计算得以实时感知用户当前的购买倾向。越长的商品详情页停留,越频繁的商品图片滑动,越多的商品评价查看,都预示着用户对商品的购买欲望。掌握用户实时的购买倾向可以帮助营销团队针对不同消费欲望的用户采取不同的营销策略,刺激用户消费,最终达到刺激平台GMV增长的目的。比如针对购买倾向增高的用户,平台可以采取发放红包或者限时打折的方式刺激用户完成消费。另外,通过对用户实时购买意图的理解,我们可以感知用户当下处于哪个阶段,比如是在买还是在逛,从而可以根据不同阶段制定不同的推荐策略,提升推荐效果和用户体验。
相比于长期购买概率,用户的实时购买概率(比如一小时内的购买概率)更能反映用户购买倾向的变化,也使得营销算法的制定可以更加灵活有效。但是,对用户购买概率进行实时识别也带来了更大的挑战。
单纯基于用户的传统云上行为对用户的实时购买意图进行预测很难达到理想的效果,原因是用户的云上行为粒度太粗,很难反映用户的实时状态。表1统计了手淘每个用户平均每天产生的不同的行为数。我们可以看到,用户的浏览、收藏和加购等云上行为每天平均只有40个,而用户每天的点击和滑动行为数分别是云上行为数的10倍和30倍。因此基于用户的端上行为,我们可以更加细粒度的刻画用户行为,从而更好地预测用户的实时意图。
表1:手淘用户每天产生的各种行为数
经过特征提取和离散化,我们为用户滑动手势数据中的每个行为提取了14种特征,为点击控件数据中的每个行为提取了3个特征,为云上行为数据中的每个行为提取了6个特征。每个特征首先被编码成one-hot向量,然后经过转化得到低维的embedding向量。我们使用embedding向量作为模型的输入,并与模型一同训练。
我们设计了DeepIntentPredictionNetwork(DIPN)模型,通过晚期融合、RNN自动提取特征、层级注意力机制和多任务学习来克服上述技术挑战。
我们采用端到端的深度学习模型对用户的多种数据进行建模来预测用户的实时购买意图。图1展示了DIPN模型的基本框架。由于我们需要处理三种不同形态的行为序列数据,我们需要设计合理的方法来对这些数据进行融合。
一般有两种数据融合方式:早期融合(earlyfusion)和晚期融合(latefusion)。早期融合指的是在特征上进行融合,首先进行不同特征的连接,然后再输入到一个模型中进行训练。晚期融合(latefusion)指的是特征分别进入不同的模型,然后对模型输出的特征进行连接,进而预测最终结果。由于不同数据的产生频率不一致,早期融合通常会造成一定程度的信息损失,为此我们采用了晚期融合(latefusion)方法。接下来我们分层介绍DIPN。
图1:DeepIntentPredictionNetwork
4.1RNNLayer
4.2HierarchicalAttentionLayer
在DIPN中,我们采用了晚期融合的方式融合三种不同形态的行为序列数据,一个简单的融合方式是对三个RNN模型的最后输出进行直接的拼接,但是这种方式忽略了不同行为序列之间的交互。为此,我们设计了层级注意力机制(hierachicalattentionmechnism):底层注意力机制(intra-viewattention)可以聚焦到每个行为序列的内部,用于识别用户的重要动作,上层注意力机制(inter-viewattention)负责行为序列特征间的交叉融合,使用了类似于Transformer的自注意力机制思想,对于序列内的每个动作,计算该动作与其他序列内每个动作的距离,以便捕捉异步动作间的重要交叉特征。
其中代表RNN的最后输出单元。与传统的注意力机制不同的是,我们最后没有采用加权平均的方法得到最终的输出,而是使用元素积(element-wiseproduct)的方式得到一个新的行为序列,该行为序列与原始行为序列维度相同,计算公式如下:
其中hs,ht和hb代表我们使用的三种行为序列。
图2:intraattentionmechnism
4.3Multi-taskLayer
我们希望通过多任务学习更好地捕捉不同的用户行为模式之间的共性以及差别,同时提高模型的泛化能力。为此,我们使用DIPN同时预测两种任务:实时购买意图和长期购买意图。由于用户行为模式的复杂性,一些细微的差别往往会导致模型产出错误的结果。而通过同时预测用户的实时意图和长期意图,我们可以提高模型的抗干扰能力。DIPN的损失函数如下所示:
5.1模型部署
DIPN需要实时获取用户的行为和手势等特征进行意图预测,因此将DIPN部署在云端将会造成巨大的通信开销。为解决该问题,我们借助阿里的轻量级深度学习端侧推理引擎MNN将DIPN部署在端侧。MNN是一个轻量级的深度学习端侧推理引擎,核心解决深度神经网络模型在端侧推理运行问题,涵盖深度神经网络模型的优化、转换和推理,其前身为AliNN。DIPN模型会通过MNN转换,最终部署在阿里移动端实时计算框架walle平台上,并且借助DBFS特征服务实时获取模型所需要的用户实时特征,从而达到预测用户实时意图的目的,如图3所示。
图3:情景计算模型部署框架
5.2测试模型
在本实验中,我们测试DIPN模型的效果。除了DIPN模型,我们还设计了若干对比实验,各测试模型介绍如下:
GBDT:该方法使用【1】中的模型和特征统计方法,同时新加了用户的基础特征和统计特征。我们的目的是通过对比观察用户的端上特征对于用户实时意图预测带来的收益。
RNN+DNN:该方法使用【2】中的RNN模型,并且使用DNN模型提取用户的基础特征和统计特征。
DIPN-no-attention:该模型没有使用注意力机制。
DIPN-no-intra-view-attention:该模型没有使用底层注意力机制。
DIPN-no-inter-view-attention:该模型没有使用上层注意力机制。
DIPN-no-multi-task:该模型没有使用多任务学习。
DIPN:完整的DIPN模型。
表2:实验结果
5.3实验结果与分析
实验结果如表2所示,通过分析各模型的AUC,我们能够得到以下结论。
DIPN模型效果显著好于单独使用云上行为的GBDT和RNN模型(AUC分别提高5.6%和5.3%)。这体现了多种数据融合的优势,能够全方位细粒度的刻画用户的行为模式。
层级注意力机制在DIPN中起着重要作用,能够更好地对多种数据源进行有效的融合。
多任务学习可以更好地捕捉不同的用户行为模式之间的共性以及差别,同时提高模型的泛化能力。
5.4线上A/B桶测试
为了进一步验证用户实时意图识别模型在实际场景中的应用效果,我们在去年”双十一”进行的惊喜红包发放场景中进行了线上的A/B桶测试。我们设计了如下三个桶进行试验。
模型桶的策略是选择实时购买概率在给定范围内的用户发放惊喜红包。这背后的思想是那些购买概率极低的用户很难会因为惊喜红包的刺激而产生消费,而那些购买概率极高的用户本身不需要惊喜红包的刺激。因此我们只对中间范围内的用户感兴趣。如图4所示,被选中的用户手淘会弹出一个惊喜红包,面值为10元。
图4:双十一惊喜红包
我们使用红包核销率Rc和单红包带动的GMV增长Igmv作为衡量指标,定义如下:
其中Nwb代表一个桶中使用惊喜红包的用户数,Nb代表一个桶中全部用户数;
其中Nb和Gb代表一个桶中全部用户数和这些用户贡献的GMV,Nnon和Gnon代表全不发桶中的全部用户数和这些用户贡献的GMV。
表3:线上A/B测试
由上表可以看到,相比于全发桶,模型桶在核销率和单红包带动的GMV增长两项指标上分别提升了41.1%和39.8%,验证了用户实时意图识别模型的效果。
【1】PeterRomovandEvgenySokolov.2015.RecSysChallenge2015:EnsembleLearningwithCategoricalFeatures.InRecSys’15Challenge.Article1,4pages.
【2】HumphreySheil,OmerRana,andRonanReilly.2018.Predictingpurchasingintent:AutomaticFeatureLearningusingRecurrentNeuralNetworks.CoRRabs/1807.08207(2018).