基于循环自注意力网络的序列推荐方法及系统

文档序号:37827394发布日期:2024-04-30 17:36阅读:22来源:国知局
基于循环自注意力网络的序列推荐方法及系统

本发明涉及个性化推荐,尤其涉及一种基于循环自注意力网络的序列推荐方法及系统。


背景技术:

1、传统的推荐方法以静态的方式对用户的历史行为进行建模,忽略了用户与物品交互的时序信息,因此只能捕获用户的总体偏好。然而,用户的偏好本质上是是随着时间动态变化的,最近发生的用户行为更能体现用户的当前偏好。序列推荐通过将用户历史行为建模为按时间顺序排列的交互序列,能够有效刻画用户的当前偏好,以预测用户未来可能的交互行为。

2、序列推荐系统提高了物品推荐的合理性和准确性,但是现有序列推荐方法还存在一定的局限性。主要存在以下问题:

3、问题一:现有大多数序列推荐方法没有区分用户的长期偏好和短期兴趣,过分强调了短期行为对用户未来行为的影响。而现有基于用户长期偏好和短期兴趣的方法,通常利用马尔可夫链或卷积神经网络来建模交互物品的短期依赖关系,只能建模连续交互行为之间的序列关系,无法对任意多个短期行为之间的复杂交互进行建模。因此,如何建模用户序列行为中的短期兴趣是一个重要问题。

4、问题二:现有序列推荐方法同等对待用户不同偏好特征进行用户下一个行为预测,缺乏对用户偏好特征在不同时刻差异性的刻画。用户大多数情况会根据自己的长期习惯作出选择,其他情况会根据自己的短期兴趣行动,还有少数情况下的行为可能仅仅是上一个行为的延续。因此,如何针对不同场景自适应融合用户的不同偏好特征进行下一个物品预测是一个重要问题。


技术实现思路

1、本发明针对上述问题,提出一种基于循环自注意力网络的序列推荐方法(self-attentive recurrent neural networks for sequential recommendation,srsrec)及系统,该方法首先将用户和物品映射为低维向量表示,然后利用长短时记忆网络提取用户历史行为序列中的长期偏好特征和不同时刻的序列模式。为了解决问题一,该方法将用户最近一段时间的序列模式特征表示为用户短期状态矩阵,并利用多层自注意力网络提取其中的用户短期兴趣特征。为了解决问题二,该方法利用缩放点积注意力网络自适应融合用户的长期偏好特征、短期兴趣特征以及当前序列模式,得到用户的当前偏好特征用于下一个交互物品预测。

2、为了实现上述目的,本发明采用以下技术方案:

3、本发明一方面提出一种基于循环自注意力网络的序列推荐方法,包括:

4、步骤1:根据用户的历史交互物品生成对应于每个时刻的定长历史交互物品子序列;

5、步骤2:通过嵌入层将用户和物品进行向量化表示,利用循环层提取用户历史行为序列中的长期偏好特征和不同时刻的序列模式,利用多层自注意力网络提取用户最近一段时间的序列模式中的用户短期兴趣特征;

6、步骤3:利用注意力网络自适应融合用户的长期偏好特征、短期兴趣特征以及当前序列模式,得到用户的当前偏好特征,通过哈达玛积引入用户当前偏好与物品嵌入之间的特征交互,通过多层感知器网络和输出层计算候选物品是用户下一个交互物品的概率,进而完成物品推荐。

7、进一步地,所述步骤1中,得到用户历史交互物品总序列的多个前缀子序列,通过截断与填充操作把长度各不相同的前缀子序列转换为定长的历史交互物品子序列。

8、进一步地,所述嵌入层为没有偏置项的线性全连接层:

9、

10、其中,和分别为用户和物品的嵌入矩阵,用户嵌入为用户嵌入矩阵p的第i列,物品嵌入为物品嵌入矩阵q的第j列,d是节点嵌入的维度,满足且和分别为第i个用户和第j个物品的独热编码,的第i维和的第j维为1,其余维度为0。

11、进一步地,对于用户在t时刻的历史交互物品子序列l为最大序列长度,在该序列中的t时刻,t=t-l+1,t-l+2,…,t,基于lstm的循环层表示为:

12、

13、

14、

15、

16、

17、

18、其中,为权重矩阵,为偏置向量,⊙表示向量的哈达玛积,||表示向量拼接操作,σ为sigmoid激活函数,为用户u在t时刻的交互物品的嵌入,分别为用户u在t时刻的遗忘门状态、输入门状态、候选细胞状态和输出门状态,细胞状态和隐藏状态为用户u在t时刻的输出,细胞状态存储了用户的长期偏好特征,隐藏状态刻画了用户的当前序列模式;

19、把序列全部输入到循环层,得到t时刻用户的长期偏好特征为t时刻用户的序列模式为

20、进一步地,所述利用多层自注意力网络提取用户最近一段时间的序列模式中的用户短期兴趣特征包括:

21、选择用户最近k个行为的序列模式来建模用户t时刻的短期兴趣,k<l,k个行为的序列模式特征构建为一个矩阵:

22、

23、其中表示用户u在t时刻的短期状态矩阵;

24、对于用户u在t时刻的短期状态矩阵将该矩阵的不同线性映射作为缩放点积注意力的查询、键和值,自注意力操作表示为:

25、

26、其中,为线性映射矩阵,它们分别将用户短期状态矩阵映射到不同子空间,为注意力输出矩阵,attention(.)为缩放点积注意力操作;

27、在自注意力操作的输入和输出间引入残差连接并对结果进行层归一化:

28、

29、其中,为输出矩阵,layernorm表示层归一化操作,矩阵c的行向量i=1,2,…,k,分别为用户u最近k个短期行为的注意力输出;

30、将具有非线性激活函数的两层全连接网络分别应用于每个短期行为的注意力输出向量:

31、fi=relu(ciw1+b1)w2+b2

32、其中,为权重矩阵,为偏置向量,relu为非线性激活函数;

33、最近k个短期行为通过全连接网络的输出构成了矩阵其中向量fi为f的第i行;

34、在全连接网络的输入和输出间引入残差连接并对结果进行层归一化:

35、s=layernorm(c+f)

36、输出矩阵为短期兴趣特征矩阵;

37、经过m层自注意力网络后得到用户的短期兴趣特征矩阵s(m),其最后一行的转置即为用户u针对序列在t时刻的短期兴趣特征向量,记为

38、进一步地,所述步骤3包括:

39、对于用户u在t时刻的历史行为序列通过序列特征提取,得到该用户在t时刻的长期偏好特征短期兴趣特征以及当前序列模式共同构成一个特征矩阵:

40、

41、其中为用户u在时刻t的偏好特征矩阵;

42、对于用户u,注意力网络在t时刻的查询为用户嵌入pu转置的线性映射,键和值为用户偏好特征矩阵的不同线性映射,注意力输出表示为:

43、

44、其中,为线性映射矩阵,注意力输出为用户u在t时刻的当前偏好特征,是用户u不同偏好特征的自适应加权和;

45、对于任意候选物品首先利用哈达玛积操作引入用户与候选物品之间的特征交互:

46、

47、其中,⊙表示向量间的哈达玛积,为乘积特征向量;

48、将两层全连接网络应用于乘积特征向量:

49、

50、其中,和为权重矩阵,和为偏置向量,且d=d/2,为预测向量;

51、将预测向量导入输出层计算用户与物品的相关性:

52、

53、其中,为输出层的权重向量,σ为sigmoid激活函数,为用户u与物品v在t时刻的相关性,相关性越高,物品v是序列的后续交互的概率越高;

54、将候选物品中与用户u相关性最高的n个物品推荐给该用户。

55、进一步地,该方法还包括:采用二元交叉熵损失来量化模型预测下一交互物品的误差。

56、本发明还提出一种基于循环自注意力网络的序列推荐系统,包括:

57、物品序列生成模块,用于根据用户的历史交互物品生成对应于每个时刻的定长历史交互物品子序列;

58、序列特征提取模块,用于通过嵌入层将用户和物品进行向量化表示,利用循环层提取用户历史行为序列中的长期偏好特征和不同时刻的序列模式,利用多层自注意力网络提取用户最近一段时间的序列模式中的用户短期兴趣特征;

59、下一物品预测模块,用于利用注意力网络自适应融合用户的长期偏好特征、短期兴趣特征以及当前序列模式,得到用户的当前偏好特征,通过哈达玛积引入用户当前偏好与物品嵌入之间的特征交互,通过多层感知器网络和输出层计算候选物品是用户下一个交互物品的概率,进而完成物品推荐。

60、与现有技术相比,本发明具有的有益效果:

61、本发明针对现有序列推荐方法无法有效建模短期行为之间的复杂依赖关系,以及缺乏对用户行为在不同时刻受长期偏好和短期兴趣影响差异性的刻画的问题,提出了一种基于循环自注意力网络的序列推荐方法及系统,以自适应地提取并融合用户历史行为序列中的多种偏好特征进行下一个交互物品预测。该方法首先通过截断和填充操作,将每个用户在不同时刻的历史交互子序列转换为固定长度的物品序列;然后,通过嵌入层,将历史交互序列中的用户和物品映射为稠密的向量表示。为了全面刻画用户历史行为序列中的不同偏好特征,本发明首先利用长短时记忆网络提取用户交互物品序列中不同时刻的长期偏好特征和序列模式特征,然后利用多层自注意力网络提取用户短期行为的序列模式矩阵中的短期兴趣特征。为了刻画用户偏好特征在不同时刻的差异性,本发明利用缩放点积注意力网络自适应地融合用户的长期偏好特征、短期兴趣特征以及序列模式特征,得到用户的当前偏好特征。最后,通过哈达玛积和多层感知器网络结合用户的当前偏好和物品嵌入,以计算候选物品是用户下一个交互的概率。本发明在真实数据集上进行了大量的实验,验证了本发明方法相较于现有序列推荐方法的有效性和优越性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1