一般地,在对user进行推荐时,会综合考虑user general taste(即long-term preference)和recent demand(即short-term preference)两个方面。但是现有工作忽略了一个问题,即user 的long-term preference是随时间变化的,所以为general taste学习一个static representation是不足以反应其动态变化的。因此,本文提出2-layer hierarchical attention network进行next item recommendation.
这里先对推荐问题进行分类,根据推荐结果可分为sequential recommender和general recommender
sequential recommender是时序问题,推荐结果是user 下一时刻可能会买的item;
general recommender不包含时序信息,推荐结果是user 下一时刻不一定会买而最终会买的item。
这篇论文要研究的是next item recommendation,是sequential RS。
一. 引言
sequential recommendation面临的challenge
a. 用户行为多为隐式反馈(implicit data)
b.数据产自于sessions or transactions,一个transaction包含一个至多个items,而transactions之间就形成了时序关系。数据如下图所示
session based sequential data在学术界,研究者们往往分别学习user long-term preference和short-term preference,然后将二者集成。
一般地,long-term preference通过user-item interacton matrix分解得到,是static representation,不能反应其随时间变化的性质,而short-term preference通过利用item-item trasactions建模序列信息。
因此,本文提出SHAN解决next item recommendation问题。attention mechanism能够自动地为items赋予不同的weights以反映long-term preference danamic性质,hierarchical structure将long-term preference和short-term preference结合。
二. SHAN模型
(一)模型架构
论文的主要思路是通过对long and short-term preference的联合学习,得到一个user的综合表示。对时刻t,以前t-1个session的history}作为long-term preference,t时刻的session内容作为short-term preference.
1. user preference的特性
a. user preference随时间动态变化
b. 不同items对next item to buy的influence不同
c. 同一item对不同user的next item to buy的influence不同。
Sparse input: 输入为one hot vector
Embedding layer: 参数是user, item embedding matrix,输出是dense embedding
Long-term Attention-based Pooling Layer: long-term preference是随时间变化的,user 的long-term tem set包含long-term preference,而且,相同item对不同user的影响也是不同的。所以以user u作为context vector,采用attention机制计算item j对user 的重要性(权重),权重的计算公式如下:
在得到item j对user的权重之后, 加权作为user's long-term preference
Long- and Short-term Attention-based Pooling Layer: 在得到 long-term preference基础上,同样采用attentin机制结合long-term preference和short-term preference得到user hybrid representation。attention机制能够为user自动选择Long- and Short-term Preference的影响(权重)。计算方法同long-term preference。
在得到user representation 后,采用传统的latent factor model计算user u对item j的偏好。
(二)模型的训练
论文采用pair-wise的方式进行训练,对样本,采样K个负样本
loss function:
总结:推荐系统中对user进行推荐时要考虑user的两个方面, long-term preference(general taste)和short-term preference(current demand), general taste由user的长期purchase history体现,而current demend由user近期的purchase history体现。传统的推荐方法如MF等,都是从user-item matrix分解得到user static representation作为general taste,是不变的,然而实际上general taste也是随时间变化的,现有工作都忽略了这一点。本文的主要贡献在于学习时变的general taste,这个时变体现在:
1. long-term items set在变(不断增长)
2. item在不同时刻对user 的影响在变(权重通过attention计算得到)