1.一种基于记忆网络和协同注意力的推荐方法,其特征在于,包括如下步骤:
S1、预处理模块获取用户评分矩阵信息,对用户评分矩阵进行预处理,得到用户‑物品交互数据以及用户不喜欢的物品序列集,将用户‑物品交互数据以及用户不喜欢的物品序列集输入注意力学习模块;
S2、注意力学习模块利用输入的用户‑物品交互数据以及用户不喜欢的物品序列集训练注意力学习模型,输出用户注意力向量和物品注意力向量;
S3、推荐模块将用户注意力向量、物品注意力向量、用户ID及物品ID的独热编码进行深度融合,构建协同推荐模型;
S4、推荐预测模块根据协同推荐模型给出的每个候选推荐物品的推荐概率生成推荐列表。
2.如权利要求1所述的基于记忆网络和协同注意力的推荐方法,其特征在于,注意力学习模块包括用户内存插槽、交互物品内存插槽及未交互物品内存插槽,用户内存插槽存储用户信息,所述用户信息以嵌入方式进行存储;交互物品内存插槽以嵌入方式存储与用户交互过的物品;未交互物品内存插槽以嵌入方式存储与用户没有交互的物品;将用户内存插槽、交互物品内存插槽和未交互物品内存插槽进行融合,构建注意力学习模型。
3.如权利要求2所述的基于记忆网络和协同注意力的推荐方法,其特征在于,注意力学习模型的损失函数如下:式中,σ(x)为逻辑Sigmoid型函数,x为函数的输入,up表示用户,表示与用户有交互的物品, 表示与用户没有交互的物品集合。
4.如权利要求3所述的基于记忆网络和协同注意力的推荐方法,其特征在于,用户‑物品交互数据包括用户嵌入表示Eou和物品嵌入表示Eoi;在推荐模块中,用户嵌入表示Eou和物品嵌入表示Eoi进行点乘运算得到Multiply Vector,将其结果作为一个Dense Layers网络层的输入;用户嵌入表示Eou与用户注意力向量一起输入user_attention网络模块,物品嵌入表示Eoi与物品注意力向量一起输入item_attention网络模块,经user_attention网络模块和item_attention网络模块进行运算后,将其输出结果作为另一个Dense Layers网络层的输入;将两个Dense Layers网络层的输出进行逐元素乘积运算,然后输入推荐预测模块,进而根据协同推荐模型给出的每个候选推荐物品的推荐概率生成推荐列表。
5.如权利要求4所述的基于记忆网络和协同注意力的推荐方法,其特征在于,推荐预测模块的损失函数如下:式中,第一项 表示对观测到的交互行为进行建模, 表示对
未交互的负采样推荐物品进行建模。