ATRank: An Attention-Based User Behavior Modeling Framework for Recommendation简析

ATRank: An Attention-Based User Behavior Modeling Framework for Recommendation

Introduction

正如一个单词可以通过其上下文来表示,那么一个用户也可以通过其过往的行为序列来表示。但随着技术的发展,越来越多样化的用户行为可以被捕捉并保存在数据库中,使得用户行为表现出异构性,高度多样性。以电商领域的推荐为例、一个用户可能浏览、购买、收藏商品,领取、使用优惠券、点击广告、搜索关键词、写评论或者观看商家提供的商品介绍视频等等。这些不同的行为为我们更全面的理解一个用户提供了不同的视角。

面对用户如此多样化的行为,要想做到更精确的推荐,很大的挑战来自于能否对用户的异构行为数据进行更精细的处理。在这样的背景下,本文提出一个通用的用户行为序列建模框架,试图融合不同类型的用户行为,并以此框架进行推荐任务。

Framework

在这里插入图片描述

该框架分为以下几个模块:原始特征空间(raw feature spaces)、行为嵌入空间(behavior embedding spaces)、隐语义空间(latent semantic spaces)、行为交互层(behavior interaction layers)、下游网络层(downstream application network)。

Raw Feature Spaces

首先介绍用户行为 U = { ( a j , o j , t j j = 1 , 2 , , m ) } U=\{(a_j,o_j,t_j|j=1,2,…,m)\} 中,a代表行为的类型,o代表行为作用的对象,t代表时间帧。

根据目标对象类型,我们将 U = { ( a j , o j , t j ) j = 1 , 2 , . , m } U=\{(a_j,o_j,t_j)|j=1,2,….,m\} 划分为 G = { b g 1 , b g 2 , . . , b g n } G=\{bg_1,bg_2,…..,bg_n\} ,每个bg的目标对象特征是一致的。

Bahavior Embedding Spaces

在这里插入图片描述

对于时间帧的embedding,这里讲一下:
其实相当于将连续特征离散化后,再如同one-hot编码一样,再查表得到对应的embedding。

对于行为类型a来说,本身就是离散特征,那么直接查表可得。

在得到每个行为的embedding表示后,可以根据组别,得到每个组的embedding表示:

在这里插入图片描述

其中:
在这里插入图片描述

Latent Semantic Spaces

由于每组中行为的最终embedding长度不一,同时所处的向量空间也不同。这里其实就是通过线性变换来将其统一到同一个语义空间。

具体来说:

在这里插入图片描述

然后,在得到S之后,再通过多个投影矩阵,将S映射到多个不同的语义空间。

在这里插入图片描述

Self-Attention Layer

接下来,对每一个语义空间中的向量,经过一层self-attention layer进行编码:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

DownStream Application Network

在这里插入图片描述

发布了151 篇原创文章 · 获赞 110 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/qq_35564813/article/details/94341541