推荐系统论文DSIN:Deep Session Interest Network

一、背景

前几天写了一篇阿里的论文BST,最后应用在我们自己的新闻推荐场景,离线AUC没有什么提升,今天分享一篇有收益的文章,同样出自阿里。

绝密伏击:推荐系统论文:Behavior Sequence Transformer(https://zhuanlan.zhihu.com/p/96338316)

文章DSIN(Deep Session Interest Network for Click-Through Rate Prediction)发表在IJCAI-2019,主要贡献在于对用户的历史点击行为划分为不同session,对每个session使用Transformer学习session embedding,最后使用BiLSTM对session序列建模。这篇文章和阿里的另一篇DIEN(  Deep Interest Evolution Network  )很像,「主要区别在于用户历史行为序列的刻画,引入了session,并用transformer学习session表征」 。

二、模型结构

推荐系统论文DSIN:Deep Session Interest Network_第1张图片

图1:DSIN模型结果

模型主要由四个部分组成, 「Session Division Layer」 是对用户的历史行为划分到不同session, 「Session Interest Extractor Layer」 是学习session的表征, 「Session Interest Interacting Layer」 是学习session之间的演变, 「Session Interest Activating Layer」是学习当前item和历史点击session的相关性。后面会讲一下这四个部分的具体实现。

2.1 Session Division Layer

主要是将用户的历史点击行为序列划分为多个sessions。「这里有一个假设是相同session用户的行为是接近的,比如都是在点一些和裤子相关的商品,而不同session间的用户行为是有差异的,比如后面可能是点一些和洗发水相关的商品」。文章将间隔超过30分钟作为session的划分,比如将历史点击序列    转换为session  ,第    个session表示为:

 

 

其中    是第    个session的长度,  

是输入item的embedding大小

 

2.2 Session Interest Extractor Layer

这部分主要是获取session表征。用户在相同session内的行为是高度相关的,此外用户在session内的一些随意行为会偏离整个session表达。为了刻画相同session内行为间的相关性,同时减小不相关行为的影响,DSIN使用「multi-head self-attention」 对每个session建模。为了刻画不同session间的顺序,DSIN使用了 「Bias Encoding」 。

「2.2.1 Bias Encoding」

为了刻画不同session的顺序关系,使用bias encoding,定义如下:

 

其中  表示第    个session中,第    个物品的embedding向量的第个位置的偏置项。也就是说,对每个session中的每个物品对应的embedding的每个位置,都加入了偏置项。加入bias encoding后,用户的session表示为:

 

「2.2.2 Multi-head Self-attention」

在推荐系统中,用户的点击行为会受各种因素影响,比如颜色、款式和价格。「Multi-head self attention」可以在不同的子空间上建模这种关系。这里将第    个session划分为    个  ,使用  

表示,其中   。 可以表示为:

 

 

 

其中    是线性矩阵。

然后将    的输出concat到一起,再接入一个FFN网络:

 

 

其中    表示前向神经网络,  表示线性矩阵。

经过 「Multi-head self attention」 处理之后,每个session得到的结果仍然是  

大小,随后,经过一个 「avg pooling」 操作,将每个session兴趣转换成一个  维向量:

 

 

2.3 Session Interest Interacting Layer

使用双向LSTM建模session之间的演变。

 

上式中的两项分别表示前向的隐藏层状态和反向的隐藏层状态。

2.4 Session Interest Activating Layer

这部分主要是通过Attention机制刻画Item和session之间的相关性。用户的session与目标物品越相近,越应该赋予更大的权重。使用注意力机制来刻画这种相关性:

 

 

 

其中    是目标item的embedding

三、实验结果

使用了两个数据集进行了实验,分别是阿里妈妈的广告数据集(Advertising)和阿里巴巴的电商推荐数据集(Recommender)。对比结果如下:

推荐系统论文DSIN:Deep Session Interest Network_第2张图片

图2:DSIN模型结果对比

从实验结果来看,AUC相比DIEN都有 「0.5%」 以上的提升。

四、写在最后

这篇文章在我们自己的业务场景(新闻推荐场景)上也实验了,选取了用户最近的10次点击session,session长度最大取20,使用7天训练,1天测试,最后离线AUC相比DIEN大概有「0.46%」的提升,和文章的结果基本吻合。个人感觉这篇文章的设计还是比较巧妙,充分利用了用户行为的内在结构,使用session划分用户的点击序列,使得在使用LSTM等序列模型对历史点击建模的时候,长度大大缩小,而且效果还有所提升。

推荐系统论文DSIN:Deep Session Interest Network_第3张图片推荐系统论文DSIN:Deep Session Interest Network_第4张图片

五、 「Reference」

  1. Alex-zhai:阿里Deep Session Interest Network解读

2. Deep Session Interest Network for Click-Through Rate Prediction

3.  Ethan Wong:DSIN(Deep Session Interest Network )分享

你可能感兴趣的:(机器学习,推荐系统)