全栈算力,加速行业AI落地 了解详情
写点什么

用户手势数据首次用于电商场景:淘宝提出用户实时意图预测算法 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).


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2019-07-09 07:0012032

评论

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

react组件深度解读

xiaofeng

React

CSS 如何实现五彩斑斓的“呼吸字”?速度拿去装杯!

掘金安东尼

CSS 11月月更

链表只有面试有用?Redis 之父说:我不同意!

图灵社区

算法 链表 Redis 数据结构

数据可视化分析之新技能——魔数图

葡萄城技术团队

数据分析 前端 可视化 商业智能

双十一剁手快,ERP系统不能慢

力软低代码开发平台

React高级特性之Render Props

夏天的味道123

React

用火山引擎DataTester,这家企业开始了“数据驱动增长”

字节跳动数据平台

重磅发布.NET 7!更快、更强、更统一

Azure云科技

.NET 7

线上kafka消息堆积,consumer掉线,怎么办?

Java永远的神

Java kafka 程序员 程序人生 消息中间件

react进阶用法完全指南

xiaofeng

React

React组件通信

xiaofeng

React

开源遇上华为云——DataX for HuaweiCloud OBS

华为云开发者联盟

开源 后端 华为云 企业号十月 PK 榜

LED显示屏设计和安装比例有什么联系

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

MindStudio模型训练场景精度比对全流程和结果分析

华为云开发者联盟

人工智能 华为云 企业号十月 PK 榜

HummerRisk 快速入门教程

HummerCloud

云安全 云原生安全 11月月更 HummerRisk

为什么电脑主板晶振多采用14.318MHz和32.768KHz ?

元器件秋姐

晶振 元器件 元器件电商平台 元器件采购

Databend 在 MinIO 环境使用copy 命令 | 新手篇(3)

Databend

Git本地提交代码推送远程并未统计贡献量问题分析

Andy

云BI,如何成为了企业的“贴身管家”?

夏日星河

应用现代化产业联盟,正式成立

华为云开发者联盟

云计算 华为云 企业号十月 PK 榜

「Go工具箱」web中想做到cookie值安全?securecookie库的使用和实现原理

Go学堂

golang 开源 程序员 Cookie WEB安全

双11niubility的数据恢复软件,获得更专业的数据恢复服务

淋雨

数据恢复 文件恢复

如何实现对象存储?

MatrixOrigin

数据库 分布式数据库 对象存储 MatrixOrigin MatrixOne

React高级特性之Context

夏天的味道123

React

大咖圆桌|研发想要降本增效?来听听专家们的前沿洞见

万事ONES

火山引擎钜惠双11开启,云服务器0.71折起

Geek_2d6073

华为云发布三大生态举措,携手伙伴及开发者共创新价值

华为云开发者联盟

云计算 华为云 企业号十月 PK 榜

react-Suspense工作原理分析

夏天的味道123

React

融云「百幄」之视频会议和直播,让办公桌无限延伸

融云 RongCloud

直播 视频会议 通讯

豆瓣评分8.0!深入理解Java虚拟机,把GC算法与实现讲得明明白白!

Java永远的神

程序员 面试 JVM GC Java虚拟机

链表只有面试有用?Redis 之父说:我不同意!

图灵教育

算法 链表 Redis 数据结构

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