数学基础
- 线性代数
- 概率论与随机过程
- 数值计算
- 蒙特卡洛方法与 MCMC 采样
- 机器学习方法概论
统计学习
深度学习
- 深度学习简介
- 深度前馈网络
- 反向传播算法
- 正则化
- 深度学习中的最优化问题
- 卷积神经网络
- CNN:图像分类
- 循环神经网络 RNN
- Transformer
- 一、Transformer [2017]
- 二、Universal Transformer [2018]
- 三、Transformer-XL [2019]
- 四、GPT1 [2018]
- 五、GPT2 [2019]
- 六、GPT3 [2020]
- 七、OPT [2022]
- 八、BERT [2018]
- 九、XLNet [2019]
- 十、RoBERTa [2019]
- 十一、ERNIE 1.0 [2019]
- 十二、ERNIE 2.0 [2019]
- 十三、ERNIE 3.0 [2021]
- 十四、ERNIE-Huawei [2019]
- 十五、MT-DNN [2019]
- 十六、BART [2019]
- 十七、mBART [2020]
- 十八、SpanBERT [2019]
- 十九、ALBERT [2019]
- 二十、UniLM [2019]
- 二十一、MASS [2019]
- 二十二、MacBERT [2019]
- 二十三、Fine-Tuning Language Models from Human Preferences [2019]
- 二十四 Learning to summarize from human feedback [2020]
- 二十五、InstructGPT [2022]
- 二十六、T5 [2020]
- 二十七、mT5 [2020]
- 二十八、ExT5 [2021]
- 二十九、Muppet [2021]
- 三十、Self-Attention with Relative Position Representations [2018]
- 三十一、USE [2018]
- 三十二、Sentence-BERT [2019]
- 三十三、SimCSE [2021]
- 三十四、BERT-Flow [2020]
- 三十五、BERT-Whitening [2021]
- 三十六、Comparing the Geometry of BERT, ELMo, and GPT-2 Embeddings [2019]
- 三十七、CERT [2020]
- 三十八、DeCLUTR [2020]
- 三十九、CLEAR [2020]
- 四十、ConSERT [2021]
- 四十一、Sentence-T5 [2021]
- 四十二、ULMFiT [2018]
- 四十三、Scaling Laws for Neural Language Models [2020]
- 四十四、Chinchilla [2022]
- 四十七、GLM-130B [2022]
- 四十八、GPT-NeoX-20B [2022]
- 四十九、Bloom [2022]
- 五十、PaLM [2022] (粗读)
- 五十一、PaLM2 [2023](粗读)
- 五十二、Self-Instruct [2022]
- 句子向量
- 词向量
- 传统CTR 预估模型
- CTR 预估模型
- 一、DSSM [2013]
- 二、FNN [2016]
- 三、PNN [2016]
- 四、DeepCrossing [2016]
- 五、Wide 和 Deep [2016]
- 六、DCN [2017]
- 七、DeepFM [2017]
- 八、NFM [2017]
- 九、AFM [2017]
- 十、xDeepFM [2018]
- 十一、ESMM [2018]
- 十二、DIN [2017]
- 十三、DIEN [2019]
- 十四、DSIN [2019]
- 十五、DICM [2017]
- 十六、DeepMCP [2019]
- 十七、MIMN [2019]
- 十八、DMR [2020]
- 十九、MiNet [2020]
- 二十、DSTN [2019]
- 二十一、BST [2019]
- 二十二、SIM [2020]
- 二十三、ESM2 [2019]
- 二十四、MV-DNN [2015]
- 二十五、CAN [2020]
- 二十六、AutoInt [2018]
- 二十七、Fi-GNN [2019]
- 二十八、FwFM [2018]
- 二十九、FM2 [2021]
- 三十、FiBiNET [2019]
- 三十一、AutoFIS [2020]
- 三十三、AFN [2020]
- 三十四、FGCNN [2019]
- 三十五、AutoCross [2019]
- 三十六、InterHAt [2020]
- 三十七、xDeepInt [2023]
- 三十九、AutoDis [2021]
- 四十、MDE [2020]
- 四十一、NIS [2020]
- 四十二、AutoEmb [2020]
- 四十三、AutoDim [2021]
- 四十四、PEP [2021]
- 四十五、DeepLight [2021]
- 图的表达
- 一、DeepWalk [2014]
- 二、LINE [2015]
- 三、GraRep [2015]
- 四、TADW [2015]
- 五、DNGR [2016]
- 六、Node2Vec [2016]
- 七、WALKLETS [2016]
- 八、SDNE [2016]
- 九、CANE [2017]
- 十、EOE [2017]
- 十一、metapath2vec [2017]
- 十二、GraphGAN [2018]
- 十三、struc2vec [2017]
- 十四、GraphWave [2018]
- 十五、NetMF [2017]
- 十六、NetSMF [2019]
- 十七、PTE [2015]
- 十八、HNE [2015]
- 十九、AANE [2017]
- 二十、LANE [2017]
- 二十一、MVE [2017]
- 二十二、PMNE [2017]
- 二十三、ANRL [2018]
- 二十四、DANE [2018]
- 二十五、HERec [2018]
- 二十六、GATNE [2019]
- 二十七、MNE [2018]
- 二十八、MVN2VEC [2018]
- 二十九、SNE [2018]
- 三十、ProNE [2019]
- Graph Embedding 综述
- 图神经网络
- 一、GNN [2009]
- 二、Spectral Networks 和 Deep Locally Connected Networks [2013]
- 三、Fast Localized Spectral Filtering On Graph [2016]
- 四、GCN [2016]
- 五、神经图指纹 [2015]
- 六、GGS-NN [2016]
- 七、PATCHY-SAN [2016]
- 八、GraphSAGE [2017]
- 九、GAT [2017]
- 十、R-GCN [2017]
- 十一、 AGCN [2018]
- 十二、FastGCN [2018]
- 十三、PinSage [2018]
- 十四、GCMC [2017]
- 十五、JK-Net [2018]
- 十六、PPNP [2018]
- 十七、VRGCN [2017]
- 十八、ClusterGCN [2019]
- 十九、LDS-GNN [2019]
- 二十、DIAL-GNN [2019]
- 二十一、HAN [2019]
- 二十二、HetGNN [2019]
- 二十三、HGT [2020]
- 二十四、GPT-GNN [2020]
- 二十五、Geom-GCN [2020]
- 二十六、Graph Network [2018]
- 二十七、GIN [2019]
- 二十八、MPNN [2017]
- 二十九、UniMP [2020]
- 三十、Correct and Smooth [2020]
- 三十一、LGCN [2018]
- 三十二、DGCNN [2018]
- 三十三、AS-GCN
- 三十四、DGI [2018]
- 三十五、DIFFPOLL [2018]
- 三十六、DCNN [2016]
- 三十七、IN [2016]
- 图神经网络 2
- 图神经网络 3
- 推荐算法(传统方法)
- 一、Tapestry [1992]
- 二、GroupLens [1994]
- 三、ItemBased CF [2001]
- 四、Amazon I-2-I CF [2003]
- 五、Slope One Rating-Based CF [2005]
- 六、Bipartite Network Projection [2007]
- 七、Implicit Feedback CF [2008]
- 八、PMF [2008]
- 九、SVD++ [2008]
- 十、MMMF 扩展 [2008]
- 十一、OCCF [2008]
- 十二、BPR [2009]
- 十三、MF for RS [2009]
- 十四、 Netflix BellKor Solution [2009]
- 推荐算法(神经网络方法 1)
- 一、MIND [2019](用于召回)
- 二、DNN For YouTube [2016]
- 三、Recommending What Video to Watch Next [2019]
- 四、ESAM [2020]
- 五、Facebook Embedding Based Retrieval [2020](用于检索)
- 六、Airbnb Search Ranking [2018]
- 七、MOBIUS [2019](用于召回)
- 八、TDM [2018](用于检索)
- 九、DR [2020](用于检索)
- 十、JTM [2019](用于检索)
- 十一、Pinterest Recommender System [2017]
- 十二、DLRM [2019]
- 十三、Applying Deep Learning To Airbnb Search [2018]
- 十四、Improving Deep Learning For Airbnb Search [2020]
- 十五、HOP-Rec [2018]
- 十六、NCF [2017]
- 十七、NGCF [2019]
- 十八、LightGCN [2020]
- 十九、Sampling-Bias-Corrected Neural Modeling [2019](检索)
- 二十、EGES [2018](Matching 阶段)
- 二十一、SDM [2019](Matching 阶段)
- 二十二、COLD [2020 ] (Pre-Ranking 模型)
- 二十三、ComiRec [2020](https://www.wenjiangs.com/doc/0b4e1736-ac78)
- 二十四、EdgeRec [2020]
- 二十五、DPSR [2020](检索)
- 二十六、PDN [2021](mathcing)
- 二十七、时空周期兴趣学习网络ST-PIL [2021]
- 推荐算法之序列推荐
- 一、FPMC [2010]
- 二、GRU4Rec [2015]
- 三、HRM [2015]
- 四、DREAM [2016]
- 五、Improved GRU4Rec [2016]
- 六、NARM [2017]
- 七、HRNN [2017]
- 八、RRN [2017]
- 九、Caser [2018]
- 十、p-RNN [2016]
- 十一、GRU4Rec Top-k Gains [2018]
- 十二、SASRec [2018]
- 十三、RUM [2018]
- 十四、SHAN [2018]
- 十五、Phased LSTM [2016]
- 十六、Time-LSTM [2017]
- 十七、STAMP [2018]
- 十八、Latent Cross [2018]
- 十九、CSRM [2019]
- 二十、SR-GNN [2019]
- 二十一、GC-SAN [2019]
- 二十二、BERT4Rec [2019]
- 二十三、MCPRN [2019]
- 二十四、RepeatNet [2019]
- 二十五、LINet(2019)
- 二十六、NextItNet [2019]
- 二十七、GCE-GNN [2020]
- 二十八、LESSR [2020]
- 二十九、HyperRec [2020]
- 三十、DHCN [2021]
- 三十一、TiSASRec [2020]
- 推荐算法(综述)
- 多任务学习
- 系统架构
- 实践方法论
- 深度强化学习 1
- 自动代码生成
工具
- CRF
- lightgbm
- xgboost
- scikit-learn
- spark
- numpy
- matplotlib
- pandas
- huggingface_transformer
- 一、Tokenizer
- 二、Datasets
- 三、Model
- 四、Trainer
- 五、Evaluator
- 六、Pipeline
- 七、Accelerate
- 八、Autoclass
- 九、应用
- 十、Gradio
Scala
- 环境搭建
- 基础知识
- 函数
- 类
- 样例类和模式匹配
- 测试和注解
- 集合 collection(一)
- 集合collection(二)
- 集成 Java
- 并发
十七、STAMP [2018]
基于会话的推荐系统
Session-based Recommender system: SRS
是现代商业在线系统的重要组成部分,通常用于通过基于用户行为(这些用户行为编码在browser session
中)提出的建议来改善用户体验。推荐器的任务是根据当前session
中的动作action
序列来预测用户的next action
(例如,点击某个item
)。最近的研究强调了在各种推荐系统中使用RNN
的重要性,其中,RNN
在session-based
的推荐任务中的应用在过去几年中取得了重大进展。尽管RNN
模型已被证明可用于从一个action
序列中捕获用户的一般兴趣general interest
,但是由于用户行为固有的不确定性和浏览器提供的信息有限,学习从session
中进行预测仍然是一个具有挑战性的问题。根据现有文献,几乎所有
RNN-based
的推荐模型都只考虑将session
建模为一个item
序列,而没有显式考虑用户的兴趣随时间漂移drift
,这在实践中可能存在问题。例如,如果某个特定的数码相机链接刚刚被用户点击并记录在session
中,则用户下一个预期的action
很可能是对当前action
的响应:如果当前的
action
是:在作出购买决定之前,先浏览产品描述。那么,用户下一步很可能会访问另一个数码相机品牌类目brand catalog
。如果当前的
action
是:在购物车中添加数码相机。那么,用户的浏览兴趣很可能会转移到存储卡等其它外围设备上。在这种情况下,向该用户推荐另一台数码相机并不是一个好主意,尽管当前session
的初衷是购买数码相机。因为用户对于“购买数码相机”这个需求的决策已经完成了,所以继续推荐数码相机已经不再合适。
在典型的推荐系统任务中,
session
由一系列named item
组成,并且用户兴趣隐藏在这些隐式反馈中(如,点击)。为了进一步提高RNN
模型的预测准确性,重要的是能够同时学习这种隐式反馈的长期兴趣long-term interest
和短期兴趣short-term interest
。正如《Adaptation and Evaluation of Recommendations for Short-term Shopping Goals》
指出的那样,用户的短期兴趣和长期兴趣对于推荐都非常重要。但是,传统的RNN
架构并非旨在同时区分和利用这两种兴趣。在论文
《STAMP: Short-Term Attention/Memory Priority Model for Session-based Recommendation》
中,作者考虑通过在推荐模型中引入一种recent action priority
机制来解决这个问题,这个新的模型称作Short-Term Attention/Memory Priority: STAMP
模型。STAMP
模型可以同时考虑用户的一般兴趣general interest
和当前兴趣current interest
。- 在
STAMP
中,用户的一般兴趣由session prefix
(包括last-click
)构建的external memory
所捕获,这就是术语Memory
的由来。术语 “last-click
” 表示session prefix
的最后一个action
(item
) ,推荐系统的目标是预测关于这个last-click
的next click
。 - 在
STAMP
中,last-click
的embedding
用于表示用户当前的兴趣,并在此基础上构建了所提出的注意力机制。
由于
last-click
是external memory
的一个组成部分,因此它可以被视为用户兴趣的short-term memory
。同样地,建立在last-click
之上的用户注意力可以看做是一种短期注意力short-term attention
。据作者所知,这是在为session-based
的推荐构建神经注意力模型时,同时考虑长期记忆long-term memory
和短期记忆short-term memory
的首次尝试。由于
short-term memory
已经被包含进了external memory
,因此短期兴趣的信息实际上已经被包含进了长期兴趣。而STAMP
实际上相当于为长期兴趣中的短期兴趣赋予了一个很强的注意力,使得模型能够关注到短期兴趣的信息,这也是为什么模型叫做 “短期注意力优先” 而不是叫 “短期注意力分离” 的原因。论文的主要贡献如下:
- 引入了一个
short-term attention/memory priority
模型,该模型可以学习一个统一的embedding
空间(跨session
的item
),以及一个用于session-based
推荐系统中next click
预测的新颖神经注意力模型neural attention model
。 - 提出了一种新的注意力机制来实现
STAMP
模型,其中注意力权重是从session context
中计算出来的,并随着用户当前的兴趣而增强。输出的注意力向量被视为用户的临时兴趣temporal interest
,并且比其它neural attention based
方案对用户兴趣随时间的漂移更敏感。因此,它能够同时捕获用户的一般长期兴趣(响应初始意图initial purpose
)、以及用户的短期注意力(用户的当前兴趣)。论文通过实验验证了所提出的注意力机制的有效性和效率。 - 在两个真实世界的数据集上评估了所提出的模型,实验结果表明:
STAMP
达到了state-of-the-art
,并且所提出的注意力机制发挥了重要作用。
相关工作:
session-based
推荐是推荐系统的一个子任务,其中推荐是根据用户session
中的隐式反馈进行的。这是一项具有挑战性的任务,因为通常假定用户是匿名的,并且没有显式提供用户偏好(如,评分),相反,决策者只能获得一些正向的观察结果(如,购买或点击)。在过去的几年里,越来越多的研究关注于推荐系统问题的挑战,根据他们的建模假设,流行的方法可以分为两类:侧重于识别用户一般兴趣的全局模型global model
、侧重于识别用户临时兴趣的局部模型localized model
。- 捕获用户一般兴趣的一种方法是:通过基于用户整个
purchase/click
历史的协同过滤collaborative filtering: CF
方法。例如,矩阵分解Matrix Factorization: MF
方法使用潜在向量latent vector
来表示一般兴趣,这些兴趣是通过分解由整个历史交易数据组成的user-item
矩阵来估计的。 - 另一种方法叫做邻域方法
neighborhood method
,它试图根据从session
中item co-occurrence
计算到的item similarity
来提供推荐。 - 第三种方法是基于马尔科夫链
Markov chain: MC
的模型,它利用user action
之间的顺序转移来进行预测。
上述模型要么探索用户的一般兴趣,要么探索用户的当前兴趣:
- 先前的
current interests based
推荐器很少考虑session
中不相邻的item
之间的序列交互。 - 尽管
general interests based
推荐器擅长捕获用户的一般品味,但是如果不显式建模相邻转移,则很难适应用户的recent actions
。
理想情况下,一个好的推荐器应该能够探索序列行为,并考虑到用户的一般兴趣。因为这两个因素可能会相互作用,从而影响用户的
next click
。因此,一些研究人员试图通过考虑两种类型的用户兴趣来改进推荐模型。《Factorizing personalized Markov chains for next-basket recommendation》
提出了一种混合模型FPMC
,它结合了MF
和MC
的力量针对next basket
推荐来同时建模序列行为和一般兴趣,从而获得比单独考虑短期兴趣或长期兴趣更好的效果。《Learning Hierarchical Representation Model for Next Basket Recommendation》
提出了一种hybrid representation learning model
,该模型采用两层的hierarchical structure
来从用户的最近交易中建模用户的序列行为和一般兴趣。
但是,它们都只能对相邻
action
之间的局部序列行为进行建模,而没有考虑session context
所传递的全局信息。上述模型仅利用了
last action
来建模短期兴趣,利用user representation
来建模长期兴趣。最近,深度神经网络已被证明在建模序列数据方面非常有效。受
NLP
领域最新进展的启发,人们已经开发了一些基于深度学习的解决方案,其中一些解决方案代表了SRS
研究领域的state-of-the-art
。《Session-based recommendations with recurrent neural networks》
使用带GRU
的RNN
来建模session
数据。它从给定session
中previous clicks
来直接学习session representation
,并提供next action
的推荐。这是首次尝试将RNN
网络应用于解决推荐系统问题。由于RNN
提供的序列建模能力,他们的模型可以在预测next action
时考虑用户的历史行为。《Improved Recurrent Neural Networks for Session-based Recommendations》
提出了一种数据增强技术来提高RNN
在session-based
推荐中的性能。《A Dynamic Recurrent Model for Next Basket Recommendation》
提出了一个动态循环模型,该模型应用RNN
来学习在不同时间的、用户一般兴趣的dynamic representation
,并捕获basket
之间的全局序列行为。
上面提到的、在推荐系统中的大多数神经网络模型都是通过使用相同的
operation
来操纵每个context clicked item
来实现的,从而允许模型以隐式的方式捕获next click
和前面多个click
之间的相关性。此外,last time step
的隐状态包含有关序列的信息,并且靠近next click
的部分得到更强的关注,因此可能会遗忘一些长距离items
的某些一般兴趣的特征。为了解决这个问题,人们引入了各种模型来捕获item
之间的相关性、以及更准确的一般兴趣。《Diversifying Personalized Recommendation with User-session Context》
提出了一种具有wide-in-wide-out structure: SWIWO
的神经网络来学习user-session context
。它通过组合当前session
中的所有item embedding
来构造session context
,这个session context
根据与target item
的响应的相对距离来为每个item
提供一个固定的权重。《Neural Attentive Session-based Recommendation》
提出了一种RNN based encoder-decoder model: NARM
。该模型将来自RNN
的最后一个隐状态作为query
,并使用前面多个点击的隐状态进行注意力计算,从而捕获给定session
中的主要意图main purpose
(一般兴趣)。- 最近的另一项相关工作是
Time-LSTM
模型(《What to Do Next: Modeling User Behaviors by Time-LSTM》
),它是LSTM
的一个变体。Time-LSTM
考虑短期兴趣和长期兴趣,通过使用time gate
来控制last consumed item
的影响,并存储时间间隔来建模用户的长期兴趣。但是,在大多数真实世界的数据集中没有提供时间戳,因此这里不考虑它。
我们的模型与
SWIWO
和NARM
之间有显著差异。SWIWO
以固定的方式确定session
中每个item
的权重,我们认为这在实践中是有争议的。在STAMP
中,对于给定的session
,所提出的注意力机制可以通过显式考虑每次historical click
和last click
之间的相关性并计算动态权重来帮助缓解这种矛盾。NARM
结合主要意图(即,一般兴趣)和序列行为(即,当前兴趣)来获得session representation
,其中将它们视为同等重要的、互补的特征。然而,STAMP
显式强调了last click
所反映的当前兴趣,从而从previous clicks
中捕获当前兴趣和一般兴趣的hybrid features
,因此显式将last click
的重要性引入推荐系统,然而NARM
仅捕获一般兴趣。STAMP
可以增强短期兴趣,以便在兴趣漂移的情况下准确捕获用户当前兴趣,尤其是在一个long session
中。即,对于
STAMP
,当前兴趣更重要,但是重要程度是模型自己融合到hybrid features
中的。
- 捕获用户一般兴趣的一种方法是:通过基于用户整个
17.1 模型
典型的
session-based
的推荐系统建立在历史session
之上,并根据当前的用户session
进行预测。每个session
由一个action
(用户点击的item
)的序列来组成,记做 $ \mathcal S=[s_1,s_2,\cdots,s_N] $ ,其中 $ s_i $ 表示在time step
$ i $ 处点击的item
(以ID
表示)。 $ \mathcal S_t=\{s_1,s_2,\cdots,s_t\}, 1\le t\le N $ 表示session
$ \mathcal S $ 在time
$ t $ 截断的ation
序列的prefix
。令
$ \mathbb V=\{v_1,v_2,\cdots,v_{|\mathbb V|}\} $ 表示推荐系统中的unique item
集合,称作item dictionary
。令 $ \mathbf X=\left\{\mathbf{\vec x}_1,\mathbf{\vec x}_2,\cdots,\mathbf{\vec x}_{|\mathbb V|}\right\} $ 表示item dictionary
$ \mathbb V $ 的embedding
向量。所提出的STAMP
模型为 $ \mathbb V $ 中的每个item
$ i $ 学习 $ d $ 维实值embedding
$ \mathbf{\vec x}_i\in \mathbb R^d $ 。具体而言,符号
$ \mathbf{\vec x}_t\in \mathbb R^d $ 表示当前session prefix
$ \mathcal S_t $ 的last click
$ s_t $ 的embedding
。我们模型的目标是,在给定session prefix
$ \mathcal S_t $ 的条件下,预测next possible click
(即 $ s_{t+1} $ )。确切地讲,我们的模型是作为分类器来构建和训练的,该分类器学习为item dictionary
$ \mathbb V $ 中的每个候选item
生成一个分数score
,记做output score vector
$ \hat{\mathbf{\vec y}} = \left(\hat y_1,\hat y_2,\cdots,\hat y_{|\mathbb V|}\right)\in \mathbb R^{|\mathbb V|} $ ,其中 $ \hat y_i $ 表示对应于item
$ v_i $ 的得分。得到这个预测结果之后,我们对 $ \hat{\mathbf{\vec y}} $ 中的元素进行降序排序,将top-k
分数对应的item
用于推荐。为了符号方便,我们将三个向量的三线性乘积
trilinear product
记做:其中:
$ \mathbf{\vec a},\mathbf{\vec b},\mathbf{\vec c} \in \mathbb R^d $ , $ \odot $ 表示Hadamard product
(即,逐元素乘积)。
17.1.1 STMP 模型
所提出的
STAMP
模型建立在所谓的Short-Term Memory Priority: STMP
模型的基础之上,如下图所示。从图中可以看到,STMP
模型将两个embedding
( $ \mathbf{\vec m}_s $ 和 $ \mathbf{\vec m}_t $ ) 作为输入,其中: $ \mathbf{\vec m}_s $ 表示用户对当前session
的一般兴趣,定义为session
的external memory
的均值:其中术语
external memory
是指当前session prefix
$ \mathcal S_t $ 的item embedding
序列。 $ \mathbf{\vec m}_t $ 表示用户在该session
的当前兴趣。在本文中,last click
$ \mathbf{\vec x}_t $ 用于表示用户的当前兴趣:由于
$ \mathbf{\vec x}_t $ 取自session
的external memory
,我们称其为用户兴趣的short-term memory
。
然后,我们使用两个
MLP
网络来分别处理一般兴趣 $ \mathbf{\vec m}_s $ 和当前兴趣 $ \mathbf{\vec m}_t $ 从而进行特征抽象feature abstraction
。下图中所示的两个MLP
单元的网络结构彼此相同,只是它们具有独立的参数设置。我们采用没有隐层的简单MLP
来用于feature abstraction
。例如,对 $ \mathbf{\vec m}_s $ 的操作定义为:其中:
$ \mathbf{\vec h_s}\in \mathbb R^d $ 为output state
, $ \mathbf W_s\in \mathbb R^{d\times d} $ 为权重矩阵, $ \mathbf{\vec b}_s\in \mathbb R^d $ 为偏置向量, $ f(\cdot) $ 为非线性激活函数(本文中我们使用tanh
)。论文表述有误,其实这里是单隐层的
MLP
,而不是没有隐层的MLP
。 $ \mathbf{\vec m}_t $ 的状态向量state vector
$ \mathbf{\vec h}_t $ 可以类似于 $ \mathbf{\vec h}_s $ 的方式来计算。然后,对于给定的候选item
$ v_i $ (item representation
为 $ \mathbf{\vec x}_i\in \mathbf X $ ),得分函数score function
定义为:其中:
$ \sigma(\cdot) $ 为sigmoid
函数, $ \hat z_i $ 表示关于当前的session prefix
$ \mathcal S_t $ 的加权用户兴趣与候选item
$ v_i $ 之间的非归一化余弦相似度unnormalized cosine similarity
。这里使用线性交互,也可以使用非线性交互(如
MLP
)。根据已有工作的结论,线性交互的表达能力不如非线性交互。令
$ \hat{\mathbf{\vec z}}=\left(\hat z_1,\hat z_2,\cdots,\hat z_{|\mathbb V|}\right)^\top\in \mathbb R^{|\mathbb V|} $ 表示由 $ \hat z_i $ 组成的向量。然后通过softmax
函数处理得到输出 $ \hat{\mathbf{\vec y}} $ :其中
$ \hat{\mathbf{\vec y}} $ 表示模型的输出向量,它表示每个item
成为next-click
的概率分布,每个元素 $ \hat y_i $ 表示item
$ v_i $ 将在该session
中作为next-click
出现的事件的概率。如果仅仅是为了得到推荐列表,那么不需要进行
softmax
的计算。但是为了计算损失函数(需要用到归一化的概率),这里必须进行softmax
的计算。对于任何给定的
session prefix
$ \mathcal S_t \sube \mathcal S, t\in [1,2,\cdots,N] $ ,损失函数定义为预测结果 $ \hat{\mathbf{\vec y}} $ 的交叉熵:其中
$ \mathbf{\vec y} $ 表示由ground truth
$ s_{t+1}\in \mathcal S $ 激活的one-hot
向量。然后我们执行迭代式的随机梯度下降
stochastic gradient descent: SGD
优化器来优化交叉熵损失。从
STMP
模型的定义(即, $ \hat z_i $ )可以看出,模型根据候选item
和加权用户兴趣的内积来预测next-click
。其中,加权用户兴趣通过long-term memory
(平均历史点击)和the short-term memory
(the last-click
)的双线性组合bilinear composition
来表示。这种三线性组合模型trilinear composition model
的有效性在实验部分得到验证,在所有benchmark
数据集上实现了state-of-the-art
性能。然而,从等式
$ \mathbf{\vec m}_s= \frac{1}{t}\sum_{i=1}^t \mathbf{\vec x}_i $ 可以看出,当从current session
的external memory
建模用户的一般兴趣 $ \mathbf{\vec m}_s $ 时,STMP
模型将session prefix
中的每个item
视为同等重要。我们认为这在捕获用户的兴趣漂移interests drift
(即,可能由于意外的点击引起)时会出现问题,尤其是在long session
的情况下。因此,我们提出了一个注意力模型来解决这个问题,该模型已被证明可以有效地捕获长序列中的注意力漂移。所提出的注意力模型是在STMP
模型的基础上设计的,它遵循与STMP
相同的思想,也优先考虑短期注意力short-term attention
,因此我们称之为Short-Term Attention/Memory Priority: STAMP
模型。
17.1.2 STAMP 模型
STAMP
模型的架构如下图所示。从下图可以看到,这两个模型之间的唯一区别在于:- 在
STMP
模型中,用户的一般兴趣的抽象特征向量abstract feature vector
(即,状态向量 $ \mathbf{\vec h}_s $ ) 是根据external memory
的均值 $ \mathbf{\vec m}_s $ 计算而来的。 - 然而在
STAMP
模型中, $ \mathbf{\vec h}_s $ 是从一个attention based
的、用户的一般兴趣(一个实值向量 $ \mathbf{\vec m}_a $ )中计算而来的。如下图所示, $ \mathbf{\vec m}_a $ 是由所提出的注意力机制产生的,称作注意力网络attention net
。
- 在
所提出的注意力网络由两个组件组成:
一个简单的前馈神经网络
feed-forward neural network: FFN
,负责为当前session prefix
$ \mathcal S_t $ 中的每个item
生成注意力权重。用于注意力计算的
FNN
定义为:其中:
$ \mathbf{\vec x}_i\in \mathbb R^d $ 表示第 $ i $ 个item
$ s_i\in \mathcal S_t $ 的embedding
。 $ \mathbf{\vec x}_t\in \mathbb R^d $ 表示the last-click
的embedding
。 $ \mathbf {\vec w}_0\in \mathbb R^d $ 为待学习的加权向量。 $ \mathbf W_1,\mathbf W_2,\mathbf W_3\in \mathbb R^{d\times d} $ 为待学习的加权矩阵, $ \mathbf{\vec b}_a\in \mathbb R^d $ 为待学习的偏置向量。 $ \sigma(\cdot) $ 为sigmoid
函数。 $ \alpha_i $ 为当前session prefix
内item
$ s_i $ 的注意力系数。
可以看到:
session prefix
中item
的注意力系数是根据target item
$ s_i $ 的embedding
、last-click
$ s_t $ 、以及session representation
$ \mathbf{\vec m}_s $ 计算而来,因此它能够捕获 $ s_i $ 和用户兴趣的long/short term memory
之间的相关性。这里捕获的不是短期兴趣相关性、也不是长期兴趣相关性,而是同时捕获了长期/短期兴趣的相关性。
注意,在上式中,我们显式考虑了
short-term memory
,这与相关工作明显不同,这就是所提出的注意力模型被称作short-term attention priority model
的原因。这个模型既不是长期注意力模型,也不是短期注意力模型,而是短期注意力优先模型。
一个注意力组合函数
attention composite function
,负责计算attention based
的、用户的一般兴趣 $ \mathbf{\vec m}_a $ 。在获得关于当前
session prefix
$ \mathcal S_t $ 的注意力系数向量 $ \vec\alpha=(\alpha_1,\alpha_2,\cdots,\alpha_t)^\top $ 之后,关于session prefix
的、attention based
的、用户的一般兴趣 $ \mathbf{\vec m}_a $ 可以计算为:
17.1.3 The Short-Term Memory Only Model
为了评估本文基本思想的有效性(即,在根据
session
作出决策时,优先考虑用户行为的short-term attention/memory
),在本节中我们提出了一个Short-Term Memory Only: STMO
模型。STMO
模型仅根据当前session prefix
$ \mathcal S_t $ 的last-click
$ s_t $ 来预测next click
$ s_{t+1} $ 。与
STMP
模型类似,STMO
模型中使用简单的MLP
进行feature abstraction
。MLP
将last click
$ s_t $ 作为输入,并输出一个向量 $ \mathbf{\vec h}_t\in \mathbb R^d $ ,就像STMP
中的MLP CELL B
一样。 $ \mathbf{\vec h}_t $ 定义为:其中:
$ \mathbf{\vec h}_t $ 表示output state
向量, $ \mathbf W_t\in \mathbb R^{d\times d} $ 表示权重矩阵, $ \mathbf{\vec b}_t\in \mathbb R^{d} $ 为偏置向量, $ f(\cdot) $ 为激活函数(这里为tanh
)。然后,对于给定的候选
item
$ v_i\in \mathbb V $ ,得分函数被定义为 $ \mathbf{\vec x}_i $ 和 $ \mathbf{\vec h}_t $ 之间的内积:在得到分数向量
score vector
$ \hat{\mathbf{\vec z}}\in \mathbb R^{|\mathbb V|} $ 之后,可以根据 $ \hat{\mathbf{\vec y}}=\text{softmax}\left(\hat{\mathbf{\vec z}}\right) $ 计算的ranking list
进行预测,也可以根据 $ \mathcal L\left(\hat{\mathbf{\vec y}}\right) $ 优化模型的参数,就像STMP
模型中的情况一样。
17.2 实验
数据集:
Yoochoose
数据集:来自RecSys’15 Challenge
,是由从电商网站收集的六个月的click-streams
组成,其中训练集仅包含session
事件。Diginetica
数据集:来自CIKM Cup 2016
。我们仅使用交易数据transaction data
。
预处理:
- 遵从
《Session-based recommendations with recurrent neural networks》
和《Neural Attentive Session-based Recommendation》
,我们过滤掉长度为1
的session
,也过滤掉出现频次低于5
的item
。 Yoochoose
测试集由那些训练集session
之后几天的session
所组成,并且我们对训练集过滤掉未出现在训练集中的item
。对于Diginetica
测试集,唯一区别是我们使用接下来一周(而不是几天)的session
进行测试。
经过预处理之后,
Yoochoose
数据集包含37483
个item
、7966257
个session
、31637239
个点击事件;Diginetica
数据集包含43097
个item
、202633
个session
、982961
个点击事件。和
《Improved Recurrent Neural Networks for Session-based Recommendations》
相同,我们对input session
$ \mathcal S = \{s_1,s_2,\cdots,s_N\} $ 生成序列和对应的label
$ ([s_1],s_2),([s_1,s_2],s_3),\cdots,([s_1,s_2,\cdots,s_{N-1}],s_N) $ 用于训练和测试,这种方式被证明是有效的。因为Yoochoose
训练集非常大,并且根据《Improved Recurrent Neural Networks for Session-based Recommendations》
的实验,对最近一段时间的数据的训练比对整个数据的训练要产生更好的结果,因此我们使用最近1/64
和1/4
比例的训练序列。即,按照时间对训练序列进行排序,然后在训练序列的最近部分上(比如最近
1/4
)进行训练。但是可能存在这样一种情况:某些测试集的item
出现在完整训练集中、但是未出现在最近1/4
的训练集中。对于这部分测试item
,我们仍然保留。因为这些测试item
是训练集中见过的,只是我们人为地丢弃了部分训练数据而已。三个数据集的统计数据如下表所示:
baseline
方法:POP
:一个简单的推荐模型,它根据item
在训练集中出现的频次来推荐热门的item
。Item-KNN
:一个item-to-item
模型,它根据候选item
与session
中现有item
之间的余弦相似度来推荐与session
中现有item
相似的item
。为了防止稀疏item
之间巧合导致高度相似性,我们包含一个类似于《A Dynamic RecurrentModel for Next Basket Recommendation》
中的约束。余弦相似度通过
session
中的item
共现来计算。论文中提到的约束并未找到,可能表述有误。通常为解决这类巧合问题,我们采用拉普拉斯平滑来计算余弦相似度。
FPMC
:用于next-basket
推荐的、state-of-the-art
的hybrid
模型。为了使其适用于session-based
推荐,我们在计算推荐分时不考虑user latent representation
。GRU4Rec
:一个RNN-based
的、用于session-based
推荐的深度学习模型。它由GRU
单元组成,利用session-parallel mini-batch
训练过程,并在训练期间采用ranking-based
损失函数。GRU4Rec+
:基于GRU4Rec
的改进模型。它采用两种技术来提高GRU4Rec
的性能,包括:数据增强过程、考虑输入数据分布偏移shift
的方法。NARM
:一个RNN-based
的state-of-the-art
方法。它采用注意力机制从隐状态中捕获主要意图main purpose
,并将其与序列行为(通过RNN
得到的)拼接从而作为final representation
来生成推荐。
我们使用以下指标来评估推荐模型的性能:
P@20
:P@K
表示ground truth
的item
在ranking list
中排名top K
位置的test case
的比例,定义为:其中:
$ N $ 表示推荐系统中的test case
的数量, $ n_\text{hit} $ 表示top K
的ranking list
命中的test case
数量。当ground truth
出现在top K ranking list
时,则表示命中。MRR@20
:ground truth
排名倒数的均值。如果排名落后于20
,则排名倒数reciprocal rank
置为零。MRR
是取值范围为[0,1]
的归一化分数,它的取值的增加反映了大多数hit
将在ranking list
的排名顺序中出现更靠前,也表明推荐系统的性能更好。
超参数配置:通过对所有数据集进行广泛的网格搜索来调优超参数,并根据验证集上的
P@20
指标通过早停early stopping
来选择最佳模型。网格搜索的超参数范围是:embedding
维度 $ d $ :{50, 100, 200, 300}
。- 学习率
$ \eta $ :{0.001, 0.005, 0.01, 0.1, 1}
。 - 学习率衰减
$ \lambda $ :{0.75, 0.8, 0.85, 0.9, 0.95, 1.0}
。
根据平均表现,本文中我们对两个数据集的所有测试集使用以下超参数:
$ d=100,\eta=0.005,\lambda=1.0 $ 。此外:batch size = 512
,epoch
数量为30
。- 我们从正态分布
$ \mathcal N(0,0.05^2) $ 中采样来初始化所有权重矩阵,并将所有偏置向量置为零。 - 所有
item embedding
均使用正态分布 $ \mathcal N(0,0.002^2) $ 来随机初始化,然后与其它参数联合训练。
17.2.1 The Next-Click Prediction
为了展示我们方法的整体性能,我们将其与
state-of-the-art
的推荐方法进行比较,结果如下表所示。每列的最佳结果以粗体突出显示。从下表可以看到,STAMP
在Yoochoose
数据集和Diginetica
数据集上的所有指标上均达到了state-of-the-art
性能,验证了它的有效性。从下表可以观察到结论:
Item-KNN
和FPMC
等传统方法的性能没有竞争力,因为它们只优于朴素的POP
模型。这些结果有助于验证在session-based
推荐任务中考虑用户行为(交互interaction
)的重要性。因为结果表明:仅根据item
的共现流行度co-occurrence popularity
进行推荐、或简单考虑连续item
的转移transition
,那么无法作出准确的推荐。此外,这类全局解决方案
global solutions
可能会耗费时间和内存,使其无法扩展到大规模数据集。所有的神经网络
baseline
都显著优于传统模型,从而证明了深度学习技术在该领域的有效性。GRU4Rec+
通过使用数据增强技术来提高GRU4Rec
的性能。这个数据增强技术将单个session
分为几个sub-session
来进行训练。然而GRU4Rec+
没有修改GRU4Rec
的模型结构,它们都只考虑了序列行为sequential behavior
,这可能会遇到用户兴趣漂移users’ interest drift
的困难。NARM
在baseline
中取得了最好的性能,因为它不仅使用带GRU unit
的RNN
来建模序列行为,而且还使用注意力机制来捕获主要意图。这表明主要意图的信息在推荐中的重要性。这是合理的,因为当前session
的一部分item
可能反映用户的主要意图,并与next item
相关。在我们提出的模型中,
STAMP
模型在两个实验中,在Yoochoose
数据集上获得了最高的P@20
和MRR@20
,并在Diginetica
数据集上取得了可比的结果。STMO
模型无法从当前session
中的previous clicks
中捕获一般兴趣的信息,因此它会在遇到相同的last-click
时(即使是位于不同的session
)生成相同的推荐。不出所料,该模型在我们提出的模型中表现最差,因为它无法利用一般兴趣的信息。但是与
Item-KNN
和FPMC
等传统机器学习方法相比(这些方法都是基于last-click
进行预测),STMO
取得了显著更好的性能,这证明了我们提出的框架模型能够学习有效的、统一的item embedding representation
。作为
STMO
的扩展,STMP
只是使用均值池化函数来生成session representation
从而作为长期兴趣,并应用last-click
的信息来捕获短期兴趣。它在所有三个实验中都优于STMO
,并且性能与GRU4Rec+
相当,单略逊于NARM
。正如预期的那样,同时考虑
session context
的信息以及last click
的信息适合于该任务,因此STMP
能够更好地为给定session
提供session-based
推荐。与
STMP
相比,STAMP
应用了item-level
注意力机制,在三个实验中分别在P@20
上实现了0.95%, 1.25%, 1.12%
的提升、在MRR@20
上实现了1.04%, 1.06%, 2.04%
的提升。结果表明,以这种方式生成的session representation
比均值池化函数更有效,这证明了当前session
中并非所有item
在生成next item
推荐时都同等重要,并且部分重要的item
可以通过所提出的注意力机制来捕获从而建模对用户兴趣有用的特征。state-of-the-art
的结果证明了STAMP
的有效性。相比较而言,
STMP -> STAMP
的效果提升并不是非常显著。这是符合预期的,因为STMP
和STAMP
的session representation
都包含相同的信息(同一个序列),也都包含了last click
的信息。二者的差异在于抽取session representation
的方法不同,STAMP
的抽取方法更加精细化。
17.2.2 STAMP 和 NARM 的比较
为了验证我们提出的
STAMP
模型和state-of-the-art
的NARM
模型在实际生产环境中的表现(即,推荐系统一次仅推荐几个item
),ground truth
应该位于ranking list
的前面。因此,我们使用P@5, MRR@5, P@10, MRR@10
来评估推荐质量从而试图模拟实际情况。结果如下表所示,并且我们认为实验结果可能在一定程度上反映了它们在实际生产环境中的表现。可以看到:当在模拟生产环境中按照更严格的规则进行评估时,
STAMP
在这项任务中表现良好,比NARM
更有竞争力。这证明了考虑一般兴趣和短期兴趣的有效性,以及学到的item embedding
的有效性。我们还记录了
NARM
和STAMP
方法的运行时间。我们使用相同的100
维embedding
向量来实现这两个模型,并在同一个GPU server
上测试它们。下表给出了三个数据集上每个epoch
的训练时间。结果表明STAMP
比NARM
更有效率。我们认为这是因为
NARM
模型在每个GRU unit
中包含了很多复杂的操作,而我们提出的模型更简单、更高效。这意味着STAMP
可能更适合实际应用,因为计算效率在现实世界session-based
的推荐系统中是至关重要的,因为这些系统总是由大量的session
和item
组成的。NARM
是RNN-based
方法,而STAMP
是attention-based
方法。众所周知,RNN
方法的时间成本更高。
17.2.3 last click 的效果
这里我们设计了一系列的对比模型来验证在
session context
的基础上应用last click
信息进行session-based
推荐的有效性:STMP-
:在STMP
的基础上,不使用trilinear layer
中的last click item embedding
。STMP
:本文提出的STMP
模型。STAMP-
:在STAMP
的基础上,不使用trilinear layer
中的last click item embedding
。注意,由于
STAMP
的attention
系数的计算过程中使用了last click item embedding
。因此,即使不使用trilinear layer
中的last click item embedding
,STAMP-
也包含last click item embedding
的信息。STAMP
:本文提出的STAMP
模型。
下表给出了实验对比的结果,所有结果都表明:融合
last click
信息的模型要比没有融合last click
信息的模型,效果更好。这些结果证明,
last click
对session-based
的推荐具有积极的贡献。我们的模型是基于同时捕获长期兴趣和短期兴趣、并加强last click
信息。我们认为这在处理long session
方面是有利的,因为用户兴趣在一个long
的浏览期间可能会改变,而用户的next action
可能与反映短期兴趣的last click
更相关。为了验证
last click
的效果,我们研究了不同session
长度的P@20
。在Yoochoose 1/64
数据集上的结果如下图所示。我们首先展示了在
STMP, STAMP, NARM
上不同session
长度的实验结果,如图(a)
所示。可以看到,当session
长度超过20
时,和STMP
与STAMP
形成鲜明对比,NARM
的性能迅速下降。这表明short-term interests priority based
的模型在处理long session
方面可能比NARM
更强大。另一方面,在图
(b)
中,我们发现当长度在1
到30
之间时,STMP
和STAMP
的P@20
结果分别明显高于对应的without last click
模型。原因是last click
或session representation
中捕获了当前兴趣,使得STMP
和STAMP
可以更好地建模用户兴趣来进行next click
推荐。对于较长的
session
长度,STMP-
和STMP
之间、以及STAMP-
和STAMP
之间的性能gap
变得更大。这证明了,尽管从session context
中捕获一般兴趣很重要,但是显式利用临时兴趣可以提高推荐的质量。此外,
STAMP-
优于STMP-
,这是由于STAMP-
中的注意力机制捕获了混合兴趣hybrid interest
,而STMP-
仅考虑一般兴趣。这表明last lick
信息在session-based
推荐任务中的重要性。
17.2.4 对比所提出的模型
为了进一步验证不同模型的有效性,我们通过对不同
session
长度的比较研究来展示它们在不同情况下的表现。我们将
session
划分为两组:Short
组表示session
长度为5
或更少,Long
组表示session
长度大于5
。其中,5
是几乎所有原始数据集中所有session
的平均长度。对于Yoochoose
测试集和Diginetica
测试集,属于Short
组的session
占比分别为70.10%
、76.40%
,属于Long
组的session
占比分别为29.90%
、23.60%
。对于每一种方法,我们在每个数据集上计算每个长度分组的P@20
和MRR@20
的结果,如下图所示。图
(a)
展示了在Yoochoose
上的结果。可以看到:所有方法在
Long
组的P@20
和MRR@20
结果都比Short
组更差,这突出了该数据集上为long session
做session-based
推荐的挑战。我们猜测这可能是因为随着session
长度则增加,很难捕获到用户的兴趣漂移interest drift
。此外,
STMP
和STAMP
在两组中的表现都优于STMO
,并且随着session
长度的增加,gap
变得更大。这意味着考虑一般兴趣和当前兴趣的模型(相比较于仅使用last click
信息的模型)在处理long session
时可能更强大。这证实了我们的直觉,即在
session-based
推荐中,session context
和last click
信息可以同时地、有效地用于学习用户兴趣并预测next item
。
图
(b)
展示了在Diginetica
上的结果。STMO
比STMP
有更好的MRR@20
结果,而且随着session
长度的增加,gap
从0.38%
增长到1.11%
。这种表现可能表明STMP
中的average aggregation
有其缺点,影响了推荐效果,同时STMO
的结果可能暗示了短期兴趣对作出准确推荐的有效性。- 总体而言,
STAMP
仍然是表现最好的模型,这也强调了需要有效的session representation
来获得hybrid interest
,这也证明了所提出的注意力机制的优势。
此外,上图显示,在
Yoochoose
数据集上,Short
组和Long
组之间的趋势与Diginetica
数据集上的趋势大不相同。为了解释这一现象,我们分析了这两个数据集,并显示了两个数据集中重复点击(即在一个session
中同一个item
被点击至少两次)的session
占比(区分不同的session
长度)。从下表可以看到:
Yoochoose
中重复点击的session
占比相比Diginetica
数据集,在Short
组中的占比更小、在Long
组中的占比更大。从这些结果中我们发现
session
中的重复点击对推荐效果有影响,它与模型性能成反比。这可能是因为重复点击可能会强调不重要item
的一些无效信息,并使其难以捕获到next action
相关的用户兴趣。这个结论比较突兀,逻辑上讲不通?
在
STAMP
中,我们使用short-term attention priority
的方式建模用户兴趣,即注意力机制从给定session
中选择重要的item
来建模用户兴趣。这可以有效缓解session
中重复点击的影响。相反,在其它方法中仅使用
last click
或平均点击信息,这无法克服与重复点击有关的问题。这证明了short-term attention priority
和所提出的注意力机制的有效性。
17.2.5 可视化
这里我们从
Yoochoose
测试集中随机选取多组样本进行分析,它们一致性地表现出相同的模式。下图说明了所提出的item-level
注意力机制的注意力结果及其优势。在下图中,颜色越深则重要性越高。因为在没有item
详细信息的情况下很难直接评估每个context item
和target item
(这里的target item
指的是last click
,而不是next click
)之间的关联,因此注意力机制的有效性可以根据item
的类别信息(每个长条下方的字母代表类别,如s
)来部分地解释。例如在
session 11255991
中,我们可以观察到与target item
具有相同类别的item
,要比其它item
具有更大的注意力权重。item
的类别可以在一定程度上反应用户的兴趣,与target item
相同类别的item
具有较高权重,这可以部分地证明注意力机制能够捕获到用户对next action
的兴趣。如下图所示,我们的方法能够在决定
next action
时强调一些因素:首先,并不是所有的
item
在决定next action
时都是重要的,我们的方法能够挑选出重要的item
,而忽略了无意中的点击。其次,尽管一些重要的
item
在session
中并不是位于当前action
附近,但是它们也可以被我们的方法识别为重要的item
。我们认为这表明我们的模型能够捕获到用户对最初的、或主要意图的一般兴趣。第三,位置接近
session
结束的item
往往具有较大的权重,尤其是长度较长的session
中的last click item
。这证明了我们的直觉,即用户的预期的action
可能更多的是对current action
的反应。这表明所提出的注意力机制对给定
session
中的兴趣漂移很敏感,并且正确地捕获到了当前的兴趣,这也是STAMP
能够超越其他的、主要聚焦于长期兴趣的模型的原因之一。此外,结果表明,重要的
item
可以被捕获,无论它们在给定session
的什么位置。这证明了我们的猜想,即所提出的item-level
注意力机制可以从全局角度捕获关键item
,从而构建一般兴趣和当前兴趣的hybrid feature
。
因此,基于可视化的结果,我们认为所提出的
item-level
注意力机制通过计算注意力权重,捕获了预测session
中next action
的重要部分,使得模型能够同时靠考虑长期兴趣和短期兴趣,并作出更准确、更有效的建议。这里的可视化结果仅挑选出少数几个
case
,不具备统计意义上的说服力。最好能够给出大批的case
的统计结论。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论