限时领|《AI 百问百答》专栏课+实体书(包邮)! 了解详情
写点什么

阿里巴巴 AAAI 2018 录用论文:基于注意力机制的用户行为建模框架及其在推荐领域的应用

  • 2018-01-25
  • 本文字数:3994 字

    阅读完需:约 13 分钟

论文名称:ATRank: An Attention-Based User Behavior Modeling Framework for Recommendation(基于注意力机制的用户行为建模框架及其在推荐领域的应用)

Paper URL: https://arxiv.org/abs/1711.06632

团队:云零售事业部 - 数据技术团队, 北京大学

作者:周畅,白金泽,宋军帅,刘效飞,赵争超,陈修司,高军

一.摘要

本文提出一种基于注意力机制的用户异构行为序列的建模框架,并将其应用到推荐场景中。我们将不同种类的用户行为序列进行分组编码,并映射到不同子空间中。我们利用 self-attention 对行为间的互相影响进行建模。最终我们得到用户的行为表征,下游任务就可以使用基本的注意力模型进行有更具指向性的决策。我们尝试用同一种模型同时预测多种类型的用户行为,使其达到多个单独模型预测单类型行为的效果。另外,由于我们的方法中没有使用 RNN,CNN 等方法,因此在提高效果的同时,该方法能够有更快的训练速度。

二.研究背景

一个人是由其所表现出的行为所定义。而对用户精准、深入的研究也往往是很多商业问题的核心。从长期来看,随着人们可被记录的行为种类越来越多,平台方需要有能力通过融合各类不同的用户行为,更好的去理解用户,从而提供更好的个性化服务。

对于阿里巴巴来说,以消费者运营为核心理念的全域营销正是一个结合用户全生态行为数据来帮助品牌实现新营销的数据 & 技术驱动的解决方案。因此,对用户行为的研究就成为了一个非常核心的问题。其中,很大的挑战来自于能否对用户的异构行为数据进行更精细的处理。

在这样的背景下,本文提出一个通用的用户表征框架,试图融合不同类型的用户行为序列,并以此框架在推荐任务中进行了效果验证。另外,我们还通过多任务学习的方式,期望能够利用该用户表征实现不同的下游任务。

三.相关工作

异构行为建模: 通常通过手动特征工程来表示用户特征。这些手工特征以聚合类特征或无时序的 id 特征集合为主。

单行为序列建模: 用户序列的建模通常会用 RNN(LSTM/GRU)或者 CNN + Pooling 的方式。RNN 难以并行,训练和预测时间较长,且 LSTM 中的 Internal Memory 无法记住特定的行为记录。CNN 也无法保留特定行为特征,且需要较深的层次来建立任意行为间的影响。

异构数据表征学习:参考知识图谱和 Multi-modal 的表征研究工作,但通常都有非常明显的映射监督。而在我们的任务中,异构的行为之间并没有像 image caption 这种任务那样明显的映射关系。

本文的主要贡献如下:

  1. 尝试设计和实现了一种能够融合用户多种时序行为数据的方法,较为创新的想法在于提出了一种同时考虑异构行为和时序的解决方案,并给出较为简洁的实现方式。
  2. 使用类似 Google 的 self-attention 机制去除 CNN、LSTM 的限制,让网络训练和预测速度变快的同时,效果还可以略有提升。
  3. 此框架便于扩展。可以允许更多不同类型的行为数据接入,同时提供多任务学习的机会,来弥补行为稀疏性。

四.ATRank 方案介绍

整个用户表征的框架包括原始特征层,语义映射层,Self-Attention 层和目标网络。语义映射层能让不同的行为可以在不同的语义空间下进行比较和相互作用。Self-Attention 层让单个的行为本身变成考虑到其他行为影响的记录。目标网络则通过Vanilla Attention 可以准确的找到相关的用户行为进行预测任务。通过Time Encoding + Self Attention 的思路,我们的实验表明其的确可以替代CNN/RNN 来描述序列信息,能使模型的训练和预测速度更快。

1. 行为分组

某个用户的行为序列可以用一个三元组来描述(动作类型,目标,时间)。我们先将用户不同的行为按照目标实体进行分组,如图中最下方不同颜色 group。例如商品行为,优惠券行为,关键字行为等等。动作类型可以是点击 / 收藏 / 加购、领取 / 使用等等。

每个实体都有自己不同的属性,包括实值特征和离散 id 类特征。动作类型是 id 类,我们也将时间离散化。三部分相加得到下一层的向量组。

即,某行为的编码 = 自定义目标编码 + lookup(离散化时间) + lookup(动作类型)。

由于实体的信息量不同,因此每一组行为编码的向量长度不一,其实也代表行为所含的信息量有所不同。另外,不同行为之间可能会共享一些参数,例如店铺 id,类目 id 这类特征的 lookup table,这样做能减少一定的稀疏性,同时降低参数总量。

分组的主要目的除了说明起来比较方便,还与实现有关。因为变长、异构的处理很难高效的在不分组的情况下实现。并且在后面还可以看到我们的方法实际上并不强制依赖于行为按时间排序。

2. 语义空间映射

这一层通过将异构行为线性映射到多个语义空间,来实现异构行为之间的同语义交流。例如框架图中想表达的空间是红绿蓝(RGB)构成的原子语义空间,下面的复合色彩(不同类型的用户行为)会投影到各个原子语义空间。在相同语义空间下,这些异构行为的相同语义成分才有了可比性。

类似的思路其实也在 knowledge graph representation 里也有出现。而在 NLP 领域,今年也有一些研究表明多语义空间的 attention 机制可以提升效果。个人认为的一点解释是说,如果不分多语义空间,会发生所谓语义中和的问题。简单的理解是,两个不同种类的行为 a,b 可能只在某种领域上有相关性,然而当 attention score 是一个全局的标量时, a,b 在不那么相关的领域上会增大互相影响,而在高度相关的领域上这种影响则会减弱。

尽管从实现的角度上来说,这一层就是所有行为编码向一个统一的空间进行映射,映射方法线性非线性都可以,但实际上,对于后面的网络层来说,我们可以看作是将一个大的空间划分为多语义空间,并在每个子空间里进行 self-attention 操作。因此从解释上来说,我们简单的把这个映射直接描述成对多个子语义空间进行投影。

3. Self Attention 层

Self Attention 层的目的实际上是想将用户的每一个行为从一个客观的表征,做成一个用户记忆中的表征。客观的表征是指,比如 A,B 做了同样一件事,这个行为本身的表征可能是相同的。但这个行为在 A,B 的记忆中,可能强度、清晰度是完全不一样的,这是因为 A,B 的其他行为不同。实际上,观察 softmax 函数可知,某种相似行为做的越多,他们的表征就越会被平均。而带来不一样体验的行为则会更容易保留自己的信息。因此 self attention 实际上模拟了一个行为被其他行为影响后的表征。

另外,Self Attention 可以有多层。可以看到,一层 Self-Attention 对应着一阶的行为影响。多层则会考虑多阶的行为影响。这个网络结构借鉴的是 google 的 self-attention 框架。

具体计算方式如下:

记 S 是整个语义层拼接后的输出,Sk 是第 k 个语义空间上的投影,则经过 self-attention 后第 k 个语义空间的表征计算公式为:


这里的 attention function 可以看做是一种 bilinear 的 attention 函数。最后的输出则是这些空间向量拼接后再加入一个前馈网络。

4. 目标网络

目标网络会随着下游任务的不同而定制。本文所涉及的任务是用户行为预测及推荐场景的点击预测的任务,采用的是 point-wise 的方式进行训练和预测。

框架图中灰色的 bar 代表待预测的任意种类的行为。我们将该行为也通过 embedding、projection 等转换,然后和用户表征产出的行为向量做 vanilla attention。最后 Attention 向量和目标向量将被送入一个 Ranking Network。其他场景强相关的特征可以放在这里。这个网络可以是任意的,可以是 wide & deep,deep FM,pnn 都行。我们在论文的实验中就是简单的 dnn。

五.离线实验

为了比较框架在单行为预测时的效果,我们在 amazon 购买行为的公开数据集上的实验。

训练收敛结果如下图:

用户平均AUC 如下图:

实验结论:在行为预测或推荐任务中,self-attention + time encoding 也能较好的替代cnn+pooling 或lstm 的编码方式。训练时间上能较cnn/lstm 快4 倍。效果上也能比其他方法略好一些。

Case Study

为了深究 Self-Attention 在多空间内的意义,我们在 amazon dataset 上做了一个简单的 case study。如下图:

从图中我们可以看到,不同的空间所关注的重点很不一样。例如空间I, II, III, VIII 中每一行的attention 分的趋势类似。这可能是主要体现不同行为总体的影响。另一些空间,例如VII,高分attention 趋向于形成稠密的正方形,我们可以看到这其实是因为这些商品属于同样的类目。

下图则是vanilla attention 在不同语义空间下的得分情况。

多任务学习

论文中,我们离线收集了阿里电商用户对商品的购买点击收藏加购、优惠券领取、关键字搜索三种行为进行训练,同样的也对这三种不同的行为同时进行预测。其中,用户商品行为记录是全网的,但最终要预测的商品点击行为是店铺内某推荐场景的真实曝光、点击记录。优惠券、关键字的训练和预测都是全网行为。

我们分别构造了7 种训练模式进行对比。分别是单行为样本预测同类行为(3 种),全行为多模型预测单行为(3 种),全行为单模型预测全行为(1 种)。在最后一种实验设置下,我们将三种预测任务各自切成mini-batch,然后统一进行shuffle 并训练。

实验结果如下表:

all2one 是三个模型分别预测三个任务,all2all 是单模型预测三个任务,即三个任务共享所有参数,而没有各自独占的部分。因此 all2all 与 all2one 相比稍低可以理解。我们训练多任务 all2all 时,将三种不同的预测任务各自 batch 后进行充分随机的 shuffle。文中的多任务训练方式还是有很多可以提升的地方,前沿也出现了一些很好的可借鉴的方法,是我们目前正在尝试的方向之一。

实验表明,我们的框架可以通过融入更多的行为数据来达到更好的推荐 / 行为预测的效果。

六.总结

本文提出一个通用的用户表征框架,来融合不同类型的用户行为序列,并在推荐任务中得到验证。

未来,我们希望能结合更多实际的商业场景和更丰富的数据沉淀出灵活、可扩展的用户表征体系,从而更好的理解用户,提供更优质的个性化服务,输出更全面的数据能力。

如果您也有论文被AAAI录用或者对论文编译整理工作感兴趣,欢迎关注AI前线(ai-front),在后台留下联系方式,我们将与您联系,并进行更多交流!

2018-01-25 16:554944

评论

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

3个企业级最佳实践,教你ByteHouse云数仓这么用

字节跳动数据平台

数据库 大数据 云原生 Clickhouse 数仓

Quick BI站稳Gartner ABI挑战者象限,打造“人人能用的BI”

ToB行业头条

关键帧功能怎么使用 关键帧控制视频特效怎么用 会声会影视频剪辑软件教程

阿拉灯神丁

教程分享 软件包 会声会影2023 视频剪辑软件

【HDC.2024】探索无限可能:华为云区块链+X,创新融合新篇章

云计算 软件开发 华为云

软件测试学习笔记丨JUnit5并行策略

测试人

软件测试

Memory Clean 3 for Mac 苹果电脑内存清理工具

Rose

office 365 for mac破解版附激活工具

Rose

2023年央企安全威胁盘点

芯盾时代

身份安全 国企 央企

数据资产的价值变现及管理规划(AMT企源)

AMT企源

数据资产 数据管理 数据要素

Datadog Dash 2024 新功能解析

观测云

可观测性

什么是圈子论坛系统,圈子论坛系统具备哪些基本功能,社交圈系统

DUOKE七七

MySQL 9.0 悄悄上线,支持面向AI的向量数据库

NineData

MySQL 体验 NineData MySQL9.0 上线

重大丨深中通道今通车!继港珠澳大桥后,三思再度点亮世界工程

电子信息发烧客

Illustrator 2024中文激活版 ai2024下载安装教程 附破解工具

Rose

在iPhone / iPad上轻松模拟GPS位置 AnyGo for Mac中文破解资源

Rose

AE红巨人特效合成插件:Red Giant VFX Suite Mac/win 激活版

你的猪会飞吗

AE插件 AE粒子特效插件

智能商品计划系统:品牌商不可或缺的利器

第七在线

FL Studio怎么提取伴奏 FL Studio怎么给伴奏升降调 flstudio教程

阿拉灯神丁

编曲宿主 编曲软件 水果FL Studio FL Studio 21 音乐软件

低代码组件扩展方案在复杂业务场景下的设计与实践

百度Geek说

npm 企业号2024年7月PK榜

性能测试:主流压测工具介绍

霍格沃兹测试开发学社

Databend 开源周报第 151 期

Databend

探索哈希函数:数据完整性的守护者

天津汇柏科技有限公司

哈希函数

【HDC.2024】云原生中间件,构筑软件安全可信的连接桥梁

云计算 云原生 软件开发 华为云

服务端性能测试:行业流行性能压测工具介绍

测试人

软件测试

如何打造开放领先的可观测性数据底座

乘云数字DataBuff

阿里巴巴AAAI 2018录用论文:基于注意力机制的用户行为建模框架及其在推荐领域的应用_阿里巴巴_阿里巴巴云零售事业部-数据技术团队_InfoQ精选文章