2019.5月:Behavior Sequence Transformer for E-commerce Recommendation in Alibaba
论文地址:https://arxiv.org/pdf/1905.06874.pdf (阿里巴巴推荐系统搜索团队)
转自https://zhuanlan.zhihu.com/p/76570628 <<将Transformer用于淘宝电商推荐>>
其他相关理解参考:https://juejin.im/post/5d8703a5e51d453bb13b6703
Transformer模型捕捉在线购物过程中用户行为的序列信号,以此对用户的下一次点击进行预测。BST模型是谷歌WDL(Wide & Deep Learning)模型的改版(Cheng et. al, 2016),其中过往点击商品和相关特征(类别、价格等)的嵌入都连在一起并嵌入低维向量中,然后送入多层感知器中。BST模型在WDL模型中添加了一个Transformer层,通过捕捉那些点击的序列特性更好地学习用户点击商品的表示。
一、背景:
深度学习的方法已经广泛应用于工业推荐系统中(Recommender Systems),主要是受益于深度学习强大的表达能力,能够对原始特征如user id、item id、behavior sequences 等特征进行有效处理, 特别是Attention 机制用于提取用户历史行为序列信号,能更好的表达用户多峰兴趣。而传统处理方法通常是通过embedding 技术将原始ID 类特征映射到低维空间中,然后再输入到MLP 网络中,如WDL、DeepFM、DCN 等模型都满足这一范式。
在深度兴趣网络(DIN)模型中,通过引入Attention 机制计算用户历史行为序列与当前Item 的相关程度,来刻画用户多样的兴趣分布。但是仅考虑了行为之间的相关性,没有考虑用户历史行为序列的前后顺序。比如,用户是否点击连衣裙,受近期连衣裙相关商品的行为影响较大,而半个月用户买过鞋子影响就微弱了。受Transformer在自然语言处理中取得巨大的效果启发,本文将应用Transformer 用于提取用户行为序列背后的隐藏信息,同时考虑序列的前后顺序,能够更好的表达用户兴趣。
二、模型结构:
Behavior Sequence Transformer Model (BST) 输入层与其他网络类似,主要输入特征有Item Feature、用户画像、上下文特征、交叉特征经过Embedding 层后concat 在一起。用户行为序列包含Item ID类特征及对应的position 信息,进行Embedding 处理后输入到Transformer 层捕获用户历史行为与Target Item 之间的相互关系得到用户行为兴趣表达,与其他特征embedding 向量concat 在一起,经过三层MLP层计算得到预测的点击率。下面分别介绍每个模块:
2.1 Embedding Layer:
第一层输入为embedding 层,用于对各个高维稀疏的ID类这个映射到的低维embedding空间中,获得固定维度 embedding vector,主要有用户特征、商品特征、上下文特征、交叉特征:
Positional embedding: 通过序列portion embedding 来捕获句子中的顺序信息。第i个位置的位置特征计算方式为pos(vi)=t(vt)-t(vi),其中,t(vt) 表示推荐的时间戳,t(vi) 表示用户点击商品vi时的时间戳。
2.2 Transformer Layer:
主要使用Transformer 的Encoder 部分用来捕获Target Item 与用户行为序列中Item 的相关关系:
Attention layer:
使用 Multi-Head Attention 是self-attention 的一种实现,对应输入的Q,k,V 均是相同Item ID Embedding + Positional Embedding:
Point-wise Feed-Forward Networks: 主要使用 point-wise Feed-Forward Networks (FFN) 网络来增强模型的非线性能力
Stacking the self-attention blocks: 上述结构为完整的Transformer Encoder Layer,为了能够更有效的学习到用户行为序列背后隐藏的partten,
2.3 MLP Layer:
经过Transformer 处理后,我们得到基于用户行为序列提取到用户兴趣表达向量,将其与其他Feature Embedding 向量concat 一起后,经过sigmoid 函数处理得到我们的预估点击率。
这里主要使用交叉熵作为我们的损失函数
三、实验结果:
阿里巴巴的研究员强调了另一案例,即NLP中的想法可以成功地应用于推荐系统。本论文作出了两项主要贡献。第一,BST模型与以往模型不同,前者可通过把Transformer模型并入一个标准多层感知器中,成功捕获用户网上购物行为中的序列信号。第二,大规模的在生产中部署BST模型不仅是一个可行方法,同时还适合阿里巴巴和淘宝当前的生产模式。