HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

用户手势数据首次用于电商场景:淘宝提出用户实时意图预测算法 DIPN,效果秒杀传统模型

  • 2019-07-09
  • 本文字数:4227 字

    阅读完需:约 14 分钟

用户手势数据首次用于电商场景:淘宝提出用户实时意图预测算法DIPN,效果秒杀传统模型

用户消费行为预测已然是电商领域的经典问题。通过对用户实时意图的理解,我们可以感知用户当下正处于哪个阶段,比如是在买还是在逛,从而可以根据不同阶段制定不同的营销和推荐策略,进而提升营销和推荐效果。

本文相关工作已在 KDD 2019(25th ACM SIGKDD conference on knowledge discovery and data mining,数据挖掘领域国际顶级会议)正式发表,详细介绍了淘系技术部算法团队如何利用用户的多种实时行为识别用户的实时意图。

一、背景

十亿级别的移动终端,为手机淘宝的情景计算提供了无限可能。本文主要介绍如何利用用户与手机的交互数据对用户实时的购买行为进行预测。


基于大数据分析,通过感知用户在淘宝上的浏览链路,情景计算得以实时感知用户当前的购买倾向。越长的商品详情页停留,越频繁的商品图片滑动,越多的商品评价查看,都预示着用户对商品的购买欲望。掌握用户实时的购买倾向可以帮助营销团队针对不同消费欲望的用户采取不同的营销策略,刺激用户消费,最终达到刺激平台 GMV 增长的目的。比如针对购买倾向增高的用户,平台可以采取发放红包或者限时打折的方式刺激用户完成消费。


另外,通过对用户实时购买意图的理解,我们可以感知用户当下处于哪个阶段,比如是在买还是在逛,从而可以根据不同阶段制定不同的推荐策略,提升推荐效果和用户体验。


用户消费行为预测是电商领域的经典问题,对用户购买概率进行预测也已经不是一个新鲜的问题。但是传统的云上计算预测的是用户的长期购买概率,大多根据用户的历史浏览、收藏和加购商品等数据,预测未来一段较长的时间内(比如一周)用户的购买概率。


相比于长期购买概率,用户的实时购买概率(比如一小时内的购买概率)更能反映用户购买倾向的变化,也使得营销算法的制定可以更加灵活有效。但是,对用户购买概率进行实时识别也带来了更大的挑战。


单纯基于用户的传统云上行为对用户的实时购买意图进行预测很难达到理想的效果,原因是用户的云上行为粒度太粗,很难反映用户的实时状态。表 1 统计了手淘每个用户平均每天产生的不同的行为数。我们可以看到,用户的浏览、收藏和加购等云上行为每天平均只有 40 个,而用户每天的点击和滑动行为数分别是云上行为数的 10 倍和 30 倍。因此基于用户的端上行为,我们可以更加细粒度的刻画用户行为,从而更好地预测用户的实时意图。


表1:手淘用户每天产生的各种行为数


接下来,我们将详细介绍我们是如何结合用户的云上行为数据以及实时交互数据来预测用户的实时购买意图的。相关工作已被国际会议 KDD 2019 接收《Buying or Browsing? : PredictingReal-time Purchasing Intent using Attention-based Deep Network with MultipleBehavior》。

二、数据

我们首先简单介绍一下我们使用的用户相关数据。


  • 用户滑动手势数据。该数据包含了用户日常使用手淘的滑动手势数据,包括四种基本动作:打开页面,离开页面,滑动和点击。每种动作都记录了该动作发生的时间,页面以及该动作在手机屏幕上的落点位置。对于滑动动作,该数据记录了滑动动作的起始位置和结束位置,以及滑动动作的持续时间。

  • 用户点击控件数据。该数据包含了用户点击控件产生的信息,包括点击控件名,点击页面名以及该点击行为发生的时间。

  • 用户云上行为数据。该数据包含了传统的用户浏览、收藏、加购、下单和搜索等基本行为。

  • 用户基础特征数据。该数据包含了用户的基础特征,比如年龄,性别和活跃度等。

  • 用户统计特征数据。该数据包含了基于用户历史行为的统计特征,比如用户最近 1 个月的收藏、加购和下单次数。


经过特征提取和离散化,我们为用户滑动手势数据中的每个行为提取了 14 种特征,为点击控件数据中的每个行为提取了 3 个特征,为云上行为数据中的每个行为提取了 6 个特征。每个特征首先被编码成 one-hot 向量,然后经过转化得到低维的 embedding 向量。我们使用 embedding 向量作为模型的输入,并与模型一同训练。

三、挑战

基于用户的多种行为对用户的实时购买意图进行预测面临以下技术难点:


  • 如何有效利用多种用户行为全方位的刻画用户?

  • 如何有效地挖掘端上海量弱信号的价值,避免繁杂的手动挖掘特征?

  • 如何表征不同的用户行为之间的联系?

  • 如何捕捉不同的用户行为模式之间的共性以及差别?


我们设计了 Deep Intent Prediction Network (DIPN)模型,通过晚期融合、RNN 自动提取特征、层级注意力机制和多任务学习来克服上述技术挑战。

四、模型

我们采用端到端的深度学习模型对用户的多种数据进行建模来预测用户的实时购买意图。图 1 展示了 DIPN 模型的基本框架。由于我们需要处理三种不同形态的行为序列数据,我们需要设计合理的方法来对这些数据进行融合。


一般有两种数据融合方式:早期融合(early fusion)和晚期融合(late fusion)。早期融合指的是在特征上进行融合,首先进行不同特征的连接,然后再输入到一个模型中进行训练。晚期融合(late fusion)指的是特征分别进入不同的模型,然后对模型输出的特征进行连接,进而预测最终结果。由于不同数据的产生频率不一致,早期融合通常会造成一定程度的信息损失,为此我们采用了晚期融合(late fusion)方法。接下来我们分层介绍 DIPN。


图1:Deep Intent Prediction Network

4.1 RNN Layer

相比于传统的浏览、收藏、加购和下单等用户行为数据,对端上海量弱信号(用户点击控件数据和用户滑动手势数据)进行特征挖掘更加具有挑战性。为了有效地挖掘海量弱信号中有价值的特征,同时避免繁杂的手动挖掘特征,我们采用了 RNN 模型来对时间序列数据建模,从而可以更好地捕捉时间序列数据的时序性和长依赖关系。为了缓解模型训练过程中的梯度消失问题,我们使用了 GRU 作为 RNN 模型的基本单元。

4.2 Hierarchical Attention Layer

在 DIPN 中,我们采用了晚期融合的方式融合三种不同形态的行为序列数据,一个简单的融合方式是对三个 RNN 模型的最后输出进行直接的拼接,但是这种方式忽略了不同行为序列之间的交互。为此,我们设计了层级注意力机制( hierachical attention mechnism ):底层注意力机制( intra-viewattention )可以聚焦到每个行为序列的内部,用于识别用户的重要动作,上层注意力机制( inter-viewattention )负责行为序列特征间的交叉融合,使用了类似于 Transformer 的自注意力机制思想,对于序列内的每个动作,计算该动作与其他序列内每个动作的距离,以便捕捉异步动作间的重要交叉特征。


  • 底层注意力机制( intra-view attention )。底层注意力机制用来识别每个行为序列内部对于预测购买意图贡献更多的行为。由于用户当前的行为能够更好地体现用户的实时意图,我们通过计算行为序列内的每个行为与当前行为的相关度作为该行为的注意力分数,计算公式如下:


  • 其中代表 RNN 的最后输出单元。与传统的注意力机制不同的是,我们最后没有采用加权平均的方法得到最终的输出,而是使用元素积( element-wise product )的方式得到一个新的行为序列,该行为序列与原始行为序列维度相同,计算公式如下:


  • 其中 hs ,ht 和 hb 代表我们使用的三种行为序列。

  • 上层注意力机制( inter-view attention )。上层注意力机制负责不同行为序列之间的交叉融合。用户的商品相关行为、滑动行为和点击行为从不同角度同时刻画了用户的行为模式。例如,当一个用户对一件商品感兴趣时,在他最终下单前通常会浏览一下该商品的评论并且比较一下其他相似的商品。这个过程会产生一些商品相关行为、滑动行为和点击行为。因此,如何捕捉不同行为之间的交互关系对于用户实时意图的预测至关重要。在这里,我们采用了 Transformer 的自注意力机制思想,如下图所示。

  • 图2:intra attention mechnism

  • 定两个行为序列,对于其中一个行为序列内部的每个行为,我们计算该行为与另一序列内部每个行为之间的相关性。这样对于每个序列我们会得到一个新的注意力序列,最后我们会通过点击操作连接两个注意力序列,计算公式如下。


4.3 Multi-task Layer

我们希望通过多任务学习更好地捕捉不同的用户行为模式之间的共性以及差别,同时提高模型的泛化能力。为此,我们使用 DIPN 同时预测两种任务:实时购买意图和长期购买意图。由于用户行为模式的复杂性,一些细微的差别往往会导致模型产出错误的结果。而通过同时预测用户的实时意图和长期意图,我们可以提高模型的抗干扰能力。DIPN 的损失函数如下所示:


五、实验

5.1 模型部署

DIPN 模型会通过 AliNN 转换,最终部署在 walle 平台上,并且借助 DBFS 特征服务实时获取模型所需要的用户实时特征,从而达到预测用户实时意图的目的,如图 3 所示。


图3:情景计算模型部署框架

5.2 测试模型

在本实验中,我们测试 DIPN 模型的效果。除了 DIPN 模型,我们还设计了若干对比实验,各测试模型介绍如下:


  • GBDT:该方法使用【1】中的模型和特征统计方法,同时新加了用户的基础特征和统计特征。我们的目的是通过对比观察用户的端上特征对于用户实时意图预测带来的收益。

  • RNN+DNN:该方法使用【2】中的 RNN 模型,并且使用 DNN 模型提取用户的基础特征和统计特征。

  • DIPN-early-fusion:该模型使用了早期融合方式,将三种行为序列按时间顺序拼接在一起。

  • 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 桶测试。我们设计了如下三个桶进行试验。


  • 全发桶:该桶中的全部用户都将得到惊喜红包,

  • 全不发桶:该桶中的全部用户都不会得到惊喜红包,

  • 模型桶:该桶中被模型选中的用户才会得到惊喜红包。

相关工作:

【1】Peter Romov and Evgeny Sokolov. 2015. RecSys Challenge 2015: Ensemble


Learning with Categorical Features. In RecSys ’15 Challenge. Article 1, 4 pages.


【2】Humphrey Sheil, Omer Rana, and Ronan Reilly. 2018. Predicting purchasing


intent: Automatic Feature Learning using Recurrent Neural Networks. CoRR


abs/1807.08207 (2018).


2019-07-09 07:0012457

评论

发布
暂无评论
发现更多内容

等保二级与等保三级定级标准是怎样?哪个级别更高?

行云管家

网络安全 数据安全 等保 等级保护

汇总十家互联网大厂面试题后,产出Java架构师1575道“完美圣经”

Java架构追梦

Java 阿里巴巴 架构 面试

最新出炉!最新阿里+头条+腾讯大厂Android笔试真题

欢喜学安卓

android 程序员 面试 移动开发

视频云的全景蓝图,想象力的允诺之地

阿里云视频云

阿里云 计算机视觉 云视频 超视频化 图像增强

RAID 概念- RAID-0-1-5-10 的工作原理

学神来啦

Linux 运维自动化 linux运维 raid

FIL币价走势如何?FIL币价格未来多少钱一枚?

完成GitHub个人主页设计,只需要这三步

百度开发者中心

GitHub 主页

性能优化:空调能耗节能的强化学习探索之路

鲸品堂

性能调优

三伏天口腔上火有口气?用这款牙膏降降火

Geek_50a546

双非本化学跨专业,投岗阿里/滴滴后端三面,最终拿下offer

Java 面试

走进Android架构!2021大厂Android面试经验

欢喜学安卓

android 程序员 面试 移动开发

帮你理清学习一个知识点的过程

加百利

大前端 7月日更 primise

最新整理:360°深入了解Flutter

欢喜学安卓

android 程序员 面试 移动开发

IPFS挖矿靠谱吗?IPFS是什么项目是国家许可的吗?

金九银十吃透这份redis笔记文档,让你超过90%的面试者

Java redis 架构 面试

Canny 边缘提取相关知识学习,图像处理第 32 篇博客

梦想橡皮擦

7月日更

网络攻防学习笔记 Day73

穿过生命散发芬芳

网络攻防 7月日更

云服务器、虚拟主机以及服务器如何定义的?三者有什么区别?

行云管家

云计算 服务器 云服务器 虚拟主机

思购趣拼APP系统开发内容

最新美团点评Android团队面试题:你了解过移动端适配吗

欢喜学安卓

android 程序员 面试 移动开发

低代码行业未来如何?

优秀

低代码

一个100%省力的,让城市管廊运维变得轻松的秘诀

一只数据鲸鱼

数据可视化 智慧城市 智慧管理 地下管廊

云洲智造直播间来啦!精彩不停,速来观看

保安小王分享:四面字节跳动,终拿Offer,只有努力,方能成功

Java架构师迁哥

CloudQuery 使用教程之 No.5 组织架构

BinTools图尔兹

sql dba 国产数据库 运维开发 数据库管控工具

社区活动|Apache Pulsar 社区志愿者招募

Apache Pulsar

大数据 云原生 pulsar Apache Pulsar 消息中间件

手把手教你,从零开始实战搭建SpringCloud Alibaba!这份笔记太牛了!

Java 架构 面试 微服务

11张图解单点登录系统,瑞斯拜特!

北游学Java

Java 单点登录

最新出炉!这份资料可帮你解决95%的问题

欢喜学安卓

android 程序员 面试 移动开发

号称下一代消息中间件!来看看它有多牛逼

白亦杨

Java

加电软件系统开发详情

用户手势数据首次用于电商场景:淘宝提出用户实时意图预测算法DIPN,效果秒杀传统模型_AI&大模型_郭龙(凌祎)_InfoQ精选文章