结合注意力机制与循环神经网络的序列推荐模型

2023-10-31 11:39成卫青
软件导刊 2023年10期
关键词:物品注意力神经网络

吴 晓,成卫青

(南京邮电大学 计算机学院,江苏 南京 210046)

0 引言

随着互联网技术的迅速发展,用户逐渐迷失在海量的信息之中,推荐系统(Recommender System,RS)作为一个信息过滤工具,以个性化的方式发现产品和服务,为用户提供向导。从用户角度而言,推荐系统旨在解决信息过载情况下用户如何高效获得感兴趣信息的问题;从公司角度而言,推荐系统解决产品能够最大限度吸引用户、留存用户、增加用户黏性、提高用户转化率的问题。

推荐系统要解决的问题可以被定义为:对于用户U,在特定的场景C下针对大量的物品信息构建一个函数,预测用户对特定候选物品I的喜好程度,再根据喜好程度对所有候选物品进行排序,生成推荐列表的问题。推荐系统框架如图1所示。

Fig.1 Recommender system framework图1 推荐系统框架

近些年,深度学习被引入推荐系统领域。深度学习主要用来克服传统推荐模型的缺点从而得到高质量的推荐[1-2]。其可以有效地捕获非线性的用户—物品关系和数据本身的复杂联系,例如上下文、文本和视觉等丰富复杂的信息。随着Transformer 模型在自然语言处理NLP 领域中的流行,Transformer 被尝试应用于各领域,并且取得了不错的效果[3]。SASRec[4]作为基于自注意力构建的序列推荐模型,虽然整个模型仍与原始的Transformer 相似,但是依然取得了较好成效。

目前,绝大多数模型都认为从用户序列中能够完全捕捉到用户当前兴趣,例如上文提到的SASRec 模型。但在现实中,用户的意图往往很难确定,特别是处于一个长期行为状态中。其在模型中仅考虑用户的短期兴趣,没有结合用户的长期兴趣。在模型个性化能力方面,由于没有加入用户信息,导致模型个性化能力也较差。在用户的长期行为中,AttRec[5]、STAMP[6]等模型,通过对用户行为求平均值,再进行高阶线性变换以建立长期偏好模块,采用的方法较为简单并且忽略了数据间的时间顺序,随着用户序列逐渐增长,准确度快速下降。

本文认为,评价一个新产品能否吸引用户的正确方法是评估它与用户短期偏好和长期偏好的匹配程度。为了能够获得较为准确的推荐结果,提出了一种基于GRU 神经网络和注意力机制的长期偏好模块,结合辅助损失函数,捕获用户一个长期行为中所有可能出现的偏好,并将它们聚合为用户最终的长期偏好,以改善随着用户序列增长,用户兴趣获取准确性逐渐下降的问题。并且,基于自注意力机制获取用户短期偏好,添加可学习的位置矩阵,以避免忽略物品间的时间顺序。同时,探讨了在何处融入用户信息,以提高模型个性化能力。本文尝试了3 种不同的门控函数将用户的长期偏好与短期偏好相结合以预测用户下一个时刻可能交互的物品。此外,本文利用随机共享嵌入(Stochastic Shared Embeddings)技术,在模型训练阶段对用户行为序列中交互过的物品和物品集合中的物品按照一定概率进行替换,以提高模型表现力,避免过拟合。

1 相关工作

1.1 序列推荐

序列推荐与协同过滤和基于内容的过滤不同[7],其通过对用户序列进行建模,从而向用户推荐可能感兴趣的物品[8]。传统推荐模型都以静态方式对用户—项目交互历史进行建模,只能捕获用户的静态偏好。相反,序列推荐将用户—项目交互视为动态序列,并考虑到顺序依赖性,捕获用户当前偏好以获得更准确的推荐结果[9]。

序列推荐模型普遍可以分为两类:专注于用户通用兴趣的全局模型和强调用户当前兴趣的短期模型。获取用户兴趣的方法一般有3 种:①基于用户交互历史,使用协同过滤的方法,如矩阵分解[10];②基于领域的方法,基于共同交互物品的相似性进行推荐[11];③基于马尔科夫链的方法,利用用户行为之间的顺序进行预测[12-13]。

1.2 深度神经网络推荐

随着序列推荐领域的不断发展,从马尔科夫链(Markov Chain)到循环神经网络(RNN)、卷积神经网络(CNN)模型,以及Transformer,每个时期的序列推荐模型,基本上都对应着该时期应用较多的NLP 模型。

早期,贝叶斯模型是序列推荐中的主流模型。基于马尔科夫链的FPMC[14],通过历史数据构建商品之间的转移矩阵,根据转移矩阵预测用户下一个可能购买的商品。基于高阶马尔科夫链的Fossil 模型[15]则是通过高阶马尔科夫链学习更多的信息,再结合相似性模型解决序列推荐预测中的稀疏性问题。

当进入到深度学习时代,RNN 模型既能够学到类似马尔科夫链的转移信息,也能够通过一些其他方式,比如使用长短期记忆LSTM 学习用户序列中的信息。由此,出现许多基 于RNN 解决序列推荐的研究,如GRU4Rec[16]、RRN[17]、HRNN[18]等模型都是采用RNN 模型或者其变体进行序列推荐,还有一些基于CNN 的序列推荐模型。尽管序列推荐中更加关心行为之间的关联性,而CNN 主要用于提取局部到整体的信息,但是3D-CNN[19]、Caser[20]、HierTCN[21]等模型从不同角度介绍了CNN 模型在序列推荐中应用的可能性。其中,Caser 模型提出了union-level 的概念,即通过组合前几个行为信息,以预测用户下一个或者下几个行为,展现了CNN 注重于整体的特性;HierTCN 模型则是通过将卷积网络与GRU 结合起来进行预测,这样既保持了卷积的特性,也保持了RNN 的序列建模特性。

从NLP 中的Self-Attention 模型开始,注意力模型开始被逐渐应用于各个领域。Bert4Rec[22]作为基于Bert 模型的序列推荐,其弥补了SASRec 单向建模的缺点,采用双向建模。SSE-PT[23]则是考虑了用户信息在序列建模中的重要性,并且提出了使用随机共享嵌入SSE 这一方法以提升模型表现能力。

1.3 注意力模型

随着注意力模型在深度学习领域的广泛应用,图像处理、语音识别、自然语言处理和推荐系统等领域中各种不同类型的任务[24-26]中都出现了注意力模型的身影。

从注意力模型的命名方式看,其借鉴了人类的注意力机制,核心目标是从众多信息中选择出对当前任务目标更关键的信息。

注意力机制将Source 中的构成元素想象成是由一系列的<Key,Value>键值对构成,此时给定Target中的某个元素Query,通过计算Query 和各Key 的相似性或者相关性,得到每个Key 对应Value 的权重系数,然后对Value 进行加权求和,即得到了最终的Attention 数值。因此,本质上Attention 机制是对Source 中元素的Value 值进行加权求和,而Query 和Key 用来计算对应Value 的权重系数,如图2所示。

Fig.2 Attention mechanism图2 注意力机制

自注意力模型,顾名思义“自”即是自己,其指的不是Target 和Source 之间的Attention 机制,而是Source 内部元素之间或者Target 内部元素之间发生的Attention 机制,也可以理解为Target=Source 这种特殊情况下的注意力计算机制。

2 方法模型

2.1 模型框架

序列推荐的目标是在任何时间内,为任何给定的用户学习获得一个较好的物品个性化排名。现定义实验数据集格式:设S表示一组用户集合,物品索引集合I,其中记|S|为L1,|I|记为L2,定义用户i的用户序列Si=

用户序列Si按照时间顺序记录用户i在一段时间内交互过的物品索引。对于不同的用户而言,其交互的序列长度是可变的,但在实验过程中,本文选择对于较短的用户序列在左侧进行填充,对于较长的用户序列则选择最近的T个交互索引,使每个用户序列都具有相同的序列长度T。

由于序列推荐是根据用户的交互历史预测下一时刻用户可能交互的物品,因此不能简单随意地划分训练集、验证集和测试集。对于每一个用户序列而言,将其前T-2个用户交互索引归入训练集,第T-1 个交互索引归入验证集,最后一个交互索引T归入测试集。

图3为本文模型PAGRURec 简略结构图。本文采用排名指标NDCG@K 和HIT@K 对模型性能进行评价。

Fig.3 Schematic of model framework图3 模型框架简略

2.2 嵌入层

本文创建了一个可训练的物品嵌入矩阵M∈RL2×d,并根据物品嵌入矩阵得到用户i的初步输入嵌入矩阵E∈RT×d。其中,0 作为填充项,dm表示物品嵌入矩阵的隐藏维度,du表示用户嵌入矩阵的隐藏维度,本文中du=dm=d。

用户的最终选择不仅取决于物品信息,还需要考虑到自身信息,因而创建一个可训练用户信息矩阵U∈RL1×d,在输入嵌入矩阵中加入用户信息,以完成个性化推荐。在用户i的输入嵌入矩阵E∈RT×d中拼接该用户的用户信息得到新的输入嵌入矩阵E∈RT×2d:

由于自注意力模型中没有包含任何可以反映位置信息的模块,故本文创建了一个可训练的位置矩阵P∈RT×2d嵌入到输入嵌入矩阵中最终得到可训练输入嵌入矩阵E∈RT×2d:

图4 展示了嵌入层对用户i的历史行为序列所进行的操作,对用户i每个时刻所交互过的物品拼接了用户i的用户信息,并加上能够代表该物品所处位置的信息。

Fig.4 Schematic of embedded layer图4 嵌入层简图

2.3 短期偏好

对于用户的短期偏好,本文采用自注意力模型建模,通过堆叠自注意力模块得到用户的短期偏好ms。图5 为SASRec 的提取用户短期偏好的一个自注意力模块。

Fig.5 Short term preference module图5 短期偏好模块

2.3.1 注意力计算公式

其中,Q代表查询向量,K和V代表键值对,通过该式可计算所有值的加权和。在自注意力模型中,Q、K、V由同一输入得到,为捕捉用户序列中的复杂关系。

对输入矩阵E进行3次不同的线性变换得到Q、K、V。其中,WQ、WK、WV∈RT×2d代表3种不同的线性变换,将输入矩阵E映射至不同的空间。

2.3.2 前馈神经网络

自注意力机制自适应地分配权重聚合了整个用户序列的交互历史,但其本质仍是一个线性模型。物品隐藏维度之间并不是相互独立的,为了能够捕捉物品隐藏维度d之间的非线性关系,在自注意力机制后加入前馈神经网络。其中,W1、W2∈RT×2d,b1、b2是2d维向量,ReLU为激活函数。

2.3.3 残差连接与归一化

在一定程度上,神经网络越深,其表达能力也越强。本文采用堆叠多层自注意力模块获取更加准确的兴趣表达。但随着网络的加深,也会面临梯度消散、梯度爆炸等问题[27]。残差连接缓解了梯度消散、爆炸等问题,提高了模型表达能力。

残差连接就是将输出表述为输入和输入的非线性变换的线性叠加[28-29]。具体地,假设输入为x,非线性变换为H,其参数为WH,输出为y,残差连接可表示为:

层归一化用于归一化特征的输入,有利于稳定和加速神经网络训练[30]。与批量归一化不同,层归一化中使用的统计信息与相同批次中的其他样本无关。具体地,假设输入是包含样本的所有特征的向量x,层归一化可被定义为:

2.3.4 堆叠自注意力模块

为了能准确获得用户的短期兴趣,本文堆叠多个自注意力模块以学习用户序列中更复杂的内在联系。将多个自注意力层之后的输出作为用户的短期偏好ms。一个自注意力模块定义如下(其中,b表示堆叠自注意力模块的数量):

为了减轻深度神经网络中的过拟合问题,本文使用Dropout正则化[31]。

2.4 长期偏好

对于用户的长期偏好,本文假设其在t时刻长度内固定不变,表示为ml,图6为本文的长期偏好模块。

Fig.6 Long term preference module图6 长期偏好模块

对用户i而言,首先使用GRU 神经网络提取每个时间步的输出ht作为用户该时刻的兴趣。

图7展示了一个GRU 单元及其内部公式。

Fig.7 GRU diagram图7 GRU简略图

其中,Wz、Wr、Wh∈R2d×2d,bz、br、bh∈R2d为偏置,σ()为Sigmoid 函数。zt∈(0,1)为更新门,式(15)表示当前状态ht需要从历史状态ht-1中保留多少信息,以及从候选状态中接受多少新信息。当zt=0 时,ht和ht-1之间为非线性函数关系;当zt=1 时,ht和ht-1之间为线性函数关系。rt为重置门,用来控制候选状态的计算是否依赖上一个时刻的状态ht-1。

用户i的长期兴趣表示为:

2.5 门控函数

考虑到在不同的时刻,用户的长期偏好与短期偏好对正确推荐结果的贡献不相同,本文设计了3 个类似GRU 神经网络的门控函数,这里选择效果最好的一种加以介绍,两外两种将在3.3.3中提及。

其中,W0、W1、W2、W3∈R2d×2d表示t时刻用户i所交互的物品信息,ba∈R2d为偏置,σ()为Sigmoid 函数,Yt为用户t时刻最终的兴趣表达,β为t时刻短期兴趣ms在最终兴趣Yt所占的权重。

2.6 预测层

为了预测用户i在t+1时刻可能交互的物品,取用户在t时刻的最终兴趣表示Yt,相关性分数计算如下:

其中,rj,t表示物品j在t+1时刻与用户t时刻兴趣的相关性得分,M∈RL2×d为物品嵌入矩阵,Ui表示用户i的用户信息。相关性得分越高,表示用户在下一时刻(即t+1时刻)与该物品交互的可能性越高,以此为用户生成个性化的推荐列表。

2.7 网络训练

对于每个用户序列,本文通过填充或者截断使每个用户序列为固定长度T。本文定义ot为t时间步的预期输出:

其中,<pad >表示为填充项,模型采用用户序列Si作为输入,ot为相应时刻的输出。最终交叉熵损失函数,并且计算损失函数时不考虑填充项。

为提高长期模块中每个时间步ht的准确性,计算GRU神经网络每个时间步输出的兴趣与用户交互物品的交叉熵损失作为辅助损失。

首先计算t时刻用户兴趣,即GRU 神经网络t时刻的输出ht与t+1时刻用户可能交互的物品相关性得分。

同时,定义ht为t时间步的预期输出:

其中,pj,t表示物品j在t+1时刻与用户t时刻的用户信息相关性得分,相关性得分越高,表示通过GRU 神经网络提取的用户兴趣更加准确。

最终的损失函数表示为:

其中,δ为权重。

2.8 模型复杂度

从空间复杂度和时间复杂度两个方面考虑:

(1)空间复杂度。本文模型中可学习的参数主要来自于短期偏好中的自注意力层,前馈网络层、归一化层和长期偏好中的循环神经网络层和注意力层。总参数量为:O(L1du+L2dm+nd+d2)。其中,d=du+dm,dm表示物品嵌入矩阵的隐藏维度,du表示用户嵌入矩阵的隐藏维度,本文中du=dm。

(2)时间复杂度。本文模型的时间复杂度主要来自于注意力计算和前馈神经网络等,时间复杂度为(n2d+nd2)。

3 实验与结果分析

3.1 对比实验

3.1.1 实验设置

本文模型使用Pytorch 实现,选用Adam 优化器,学习率为0.001,批量尺寸为128,隐藏维度设置d为50。在嵌入层和预测层使用同一个物品嵌入矩阵和用户嵌入矩阵,并且使用随机共享嵌入概率为0.02。MoviesLens-1M 最大序列长度设置为200,Dropout 为0.2,其余3 个数据集最大序列长度设置为50,Dropout为0.5,权重δ为0.2。

3.1.2 数据集

本文使用4 个来自于真实世界的数据集,并将数据集划分为训练集、验证集和测试集。其中,Beauty 和Games数据集是McAuley[32]等从亚马逊爬取的产品评论数据集;Steam 数据集是游戏平台Steam 的评论数据;Movielens1M数据集是被广泛使用的基准数据集,包含了一百万用户的电影评级[33]。数据集详细信息如表1所示。

Table 1 Dataset information表1 数据集信息

3.1.3 评估指标

本文选用两个常见的Top-N 评价指标HIT@K 和NDCG@K 评价推荐模型的性能。HIT 是衡量召回率的一种常用指标,NDCG(归一化折扣累计收益)是一个0 到1 之间的数,主要思想是对推荐列表中的每一项都会根据其所处位置除以一个递增的数,然后累加得到DCG,最后对所有的DCGs 作归一化处理得到NDCG。其代表着用户喜欢的商品被排在推荐列表前面比排在后面能更大程度地提升用户体验。

为了避免对所有用户—物品进行计算,本文遵循相应的策略[34-35]。对每一个用户,随机采样100 个负样品,并与真实交互物品一起排名,基于这101 个物品计算HIT@K和NDCG@K。

3.1.4 推荐模型

本文在对比实验中选择了7个推荐模型。

FPMC[14]:通过矩阵分解和一阶马尔科夫链,获得物品的转移矩阵和用户的通用兴趣,而进行推荐的模型。

GRU4Rec+[36]:GRU4Rec[16]的改进版本,采用了不同的损失函数和采样策略,在Top-N 推荐中取得了显著效果。

STAMP[6]:利用注意力机制构建推荐模型而不是使用RNN 或CNN 构建模型。

SASRec[4]:使用从左到右的Transformer 模型进行推荐的模型,在序列推荐中取得了显著的效果。

Bert4Rec[22]:其弥补了SASRec[4]的单向建模,采用了双向建模序列。

TiSASRec[37]:融入了时间戳的自注意力模型,不仅考虑物品的绝对位置,还考虑序列中物品之间的时间间隔。

LSAN[38]:利用组合嵌入的方式并且融入了上下文感知的注意力网络,同时消除了传统多头自我注意力的冗余。

3.1.5 实验结果

本文推荐模型(PAGRURec)在4 个数据集上都取得了较为明显的效果,实验结果如表2所示。

Table 2 Experimental result表2 实验结果

在各数据集上,本文推荐模型与其他模型相比,各项指标得到较大提升。以Beauty 数据集为例,与非深度学习中的FPMC 模型相比,HIT@10 提升21.3%,NDCG@10 提升了26.9%;与深度学习中的SASRec 模型相比,HIT@10 提升8.8%,NDCG@10 提升14.7%;与最近的LSAN 模型相比,HIT@10提升2%,NDCG@10提升2.3%。

3.2 消融实验

本文进行消融实验如下:

(1)删除位置嵌入(RemovePE)。自注意力模型本身并不具备感知位置信息的能力,删除短期偏好中的位置信息,忽略了用户交互历史的顺序关系。在长序列中,由于短期偏好与最近的一个或者几个历史行为有着较大的联系,因而删除位置嵌入可能会导致模型性能下降,但对用户序列较短的稀疏数据集影响较小。

(2)删除残差连接(RemoveRC)。残差网络能将网络的浅层信息传递到深层,避免产生网络的退化等问题。删除残差连接使信息的传递出现较大问题,导致浅层网络参数无法更新,模型性能变差。

(3)删除Dropout(RemoveDropout)。Dropout 是指在深度学习网络训练过程中,对神经网络单元,按照一定的概率将其暂时从网络中丢弃,是防止模型过拟合和提高效果的手段,删除Dropout使得模型性能有所下降。

(4)删除随机共享嵌入(RemoveSSE)。SSE[23]的主要思想是将嵌入矩阵中的某一内容以事先定义好的概率随机替换为另一个内容,从而使嵌入层具有正则化的效果。删除过后模型发生严重的过拟合现象。

(5)增加或删除自注意力模块数(Block=1,Block=3)。在密集数据集如ML-1M 中,堆叠更多的自注意力模块能够学习用户历史行为中更加复杂的关系,能够在一定程度上提升模型性能。在稀疏数据集例如Beauty 中,增加或删除自注意力模块个数对整体影响不大。

(6)使用多头注意力机制(Multi-Head,Head=2)。用户的兴趣往往是多方面、多维度的。例如,用户对一件商品的喜爱可能不仅仅因为它的品牌,还可能因为它的价格或者质量等。因此,使用多头注意力机制能够更加准确地获得用户的兴趣。

消融实验结果如表3所示。

Table 3 Ablation experiment(based on NDCG@10)表3 消融实验(以NDCG@10为例)

Table 4 Comparison of gating functions表4 门控函数比较

3.3 实验分析

3.3.1 用户长期偏好

用户长期偏好中的注意力机制不同于短期偏好中的自注意力,其Q、K、V并非由同一输入经过线性变换得到。对于输入用户序列,首先经过GRU 神经网络得到用户每个时刻的初步兴趣ht,将其视为查询向量Q,同时也视为V,并通过计算辅助损失l2提高V的准确性;然后对输入用户序列经过线性变换得到K;通过计算注意力,最后求和得到用户的长期偏好。如图8 所示,QKT表示了每个时刻用户兴趣与用户交互物品之间的注意力权重。

Fig.8 Visual diagram of attention weight图8 注意力权重可视化图

从宏观角度看,本文长期偏好与以往的长期偏好一样是静态、全局的,但获取方式却与以往求均值等方式不同,其内部是动态的,充分利用了用户的每个交互历史,采用每个时间点兴趣ht动态组成用户的长期偏好,解决了信息遗漏、平均等问题。

例如,在用户一个长期购物行为中,用户购买的商品中大多为运动鞋、运动袜等运动产品,小部分为数码产品。随着用户序列的增加,根据求均值的方法获取用户长期兴趣,数码产品在用户长期兴趣中的占比可能被稀释,因而占比极小,那下一个推荐的产品大概率就是运动产品。而本文长期偏好模块能较为精确地获取用户一个长期行为中每个时刻的兴趣,再通过注意力机制将所有的兴趣融合为用户的长期兴趣,能够充分利用用户交互过的每个商品,避免上述问题。

如图9所示,在稀疏数据集Beauty 中,用户序列平均长度仅为7.6,STAMP 长期偏好模块与本文长期偏好模块在性能上相差不大。由于用户序列较短,STAMP 通过对用户序列求均值,进行高阶线性变换可以简单高效获得用户的长期偏好,并且用户序列越短,准确度也越高。本文长期偏好模块较为复杂,在短用户序列中可能会产生过拟合现象,因此在稀疏数据集中表现一般。但随着隐藏维度的提高,其捕捉物品隐藏维度d之间非线性关系的能力得到了体现,两者之间的差距逐渐缩小。

Fig.9 Beauty dataset图9 Beauty数据集

如图10 所示,在密集数据集ML-1M 中,用户序列平均长度为163.5,本文长期偏好模块对比STAMP 模型取得了约60%的提升。在密集数据集中,本文长期偏好模块通过非线性变换—注意力机制—加权求和3 个阶段,结合l2损失函数,充分利用了用户每个时刻所交互过的物品,避免了STAMP 长期偏好模块可能导致的信息遗漏、平均现象。

Fig.10 ML-1M dataset图10 ML-1M数据集

3.3.2 用户信息

SASRec 模型中,预测层将用户信息与兴趣相加进行预测,实验结果表明添加用户信息并没有提高模型性能,因此认为用户兴趣已经能够充分地表示用户信息。

但推荐模型中用户信息显然必不可少,其有助于提高模型个性化能力。本文在模型输入阶段,将用户信息与用户序列进行拼接,结合随机共享嵌入正则化技术,按照0.02 的概率随机替换用户序列中交互过的物品,提高模型个性化能力。图11 表示了ML-1M 数据集在不同隐藏维度d下添加用户信息与不添加用户信息NDCG@10 指标的表现情况。

Fig.11 Performance diagram of user information图11 用户信息性能表现图

3.3.3 门控函数

本文先后尝试了3 种方法将短期偏好ms和长期偏好ml相结合。除上文提到的方法外,还有2 种方法:①将短期偏好与长期偏好直接相加得到最终的用户偏好;②分别求短期偏好与长期偏好对用户序列的相似性权重,再进行加权求和得到最终的用户偏好。

本文采用的方法相比于第一种直接相加的方法,能够自适应分配短期偏好与长期偏好的权重;相较于第二种方法中短期偏好与长期偏好的权重取决于各自对用户序列的相似度,本文中的权重β由短期偏好与长期偏好共同决定,长期偏好与短期偏好并不是孤立的,因而取得了最好的效果。

3.3.4 训练效率

图12 展示了ML-1M 数据集下基于GPU 的训练效率。GRU4Rec 由于其性能较差而被省略。为了公平比较,所有模型仅使用最近的200 个操作进行训练。在计算速度方面,本文模型只花费了1.5 s 进行一次模型更新,比LSAN和SASRec 快1 倍以上,比STAMP 快10 倍以上,比Caser 快12 倍。在ML-1M 数据集上,本文模型在大约300 s 内收敛到最佳性能,而其他模型则需要更长时间。

Fig.12 Training efficiency图12 训练效率

4 结语

本文提出了一种结合注意力与GRU 神经网络的序列推荐模型,用于预测用户下一时刻可能交互的物品。首先,探讨了如何有效地将用户信息与用户序列相结合的问题,配合随机共享嵌入技术,完成个性化推荐;其次,使用自注意力模型提取短期兴趣,使用GRU 神经网络和注意力机制,配合辅助损失函数提取长期兴趣;最后,探索了有效结合长期兴趣与短期兴趣的方法。在稀疏和密集数据集上的实验结果表明,本文模型性能相比于SASRec、注重短期偏好的STAMP 和采用循环神经网络的GRU4REC+获得了较大提升,与最近的Bert4Rec、LSAN 等模型相比在一些数据集上也有一些优势。未来研究中,将结合丰富的上下文信息扩展模型,并探索处理长用户序列的方法。

猜你喜欢
物品注意力神经网络
称物品
让注意力“飞”回来
“双十一”,你抢到了想要的物品吗?
神经网络抑制无线通信干扰探究
谁动了凡·高的物品
“扬眼”APP:让注意力“变现”
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定