针对用户兴趣漂移的关联性信息增强推荐方法、计算机设备、存储介质和程序产品转让专利

申请号 : CN202211389775.3

文献号 : CN115659063B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王楠李坤

申请人 : 黑龙江大学

摘要 :

针对用户兴趣漂移的关联性信息增强推荐方法、计算机设备、存储介质和程序产品,属于数据推荐技术领域,解决现有针对用户兴趣漂移的推荐准确性低问题。本发明的方法包括:首先,提出了一个关联性信息增强模块,可以自适应的从用户的邻居会话中挖掘出与用户新兴趣相关联的信息作为用户会话的补充,来增强用户会话与新兴趣之间的关联性,从而提高模型的预测能力。其次,提出了一个新的注意力单元,它通过将两个向量之间的差异信息进行显式建模,有效的从邻居中挖掘出与用户新兴趣相关联的信息。本发明适用于用户兴趣推荐。

权利要求 :

1.一种针对用户兴趣漂移的关联性信息增强推荐方法,其特征在于,所述方法包括:根据用户会话 和邻居会话 中相同物品的数量,确定预设个数的关联性邻居;其中 代表用户u∈U在t时刻交互的物品;

代表用户u的邻居集合, 代表用户u的第k个邻居;

代表用户u的第k个邻居会话, 代表用户u的第k个邻居在t时刻交互的物品;

具体包括:

根据用户会话 和邻居会话 中相同物品的数量,确定相似性分数;

根据所述相似性分数,确定预设个数的关联性邻居;

其中,所述相似性分数根据如下公式获取,其中, 代表Su与 中相同物品的数量,|Su|代表Su中物品的数量,为Su与 之间的相似性分数;

对所述用户会话和所述关联性邻居会话进行输入处理,包括:分别在所述用户会话和所述关联性邻居会话尾部添加第n+1个物品,再分别对所述添加物品后的用户会话和所述添加物品后的关联性邻居会话中的物品进行部分掩盖;

构建基于关联性信息增强双向表征的RA‑Bert模型,将所述输入处理后用户会话和所述输入处理后关联性邻居会话输入所述RA‑Bert模型,获取推荐结果;

其中,所述RA‑Bert模型包括:

模型嵌入表征模块和若干个block;所述若干个block采用堆叠结构;

所述模型嵌入表征模块用于获取所述输入处理后用户会话的嵌入向量和所述输入处理后关联性邻居会话的嵌入向量,并加入位置信息,获取含位置信息用户会话向量和含位置信息关联性邻居会话向量所述block包括多头注意力表征模块、关联性信息增强模块和前馈神经网络模块;

所述多头注意力表征模块用于根据所述含位置信息用户会话向量和含位置信息关联性邻居会话向量,并利用多头注意力获取用户会话的多头注意力表征 和关联性邻居会话的多头注意力表征所述关联性信息增强模块包括关联性信息提取模块和关联性信息融合层模块;

所述关联性信息提取模块包括注意力单元、Softmax层和乘积模块;

所述注意力单元用于利用公式:

其中, 为多信息拼接,利用哈德玛积 来显式建模 与 之间的依赖关系,减法操作 显式建模 与 之间的差异性信息;其中||为拼接操作;

获取多信息拼接;

根据所述多信息拼接,并利用深度神经网络获取 与 之间的关联性权重所述Softmax层用于根据所述关联性权重,利用Softmax获取用户会话中第i个物品与每个关联性邻居的关联性分数;

所述乘积模块用于分别将所述关联性分数和 进行乘积,获取每个邻居会话中挖掘出的关联信息;

所述关联性信息融合层模块用于将所述关联性信息与所述用户会话的多头注意力表u u征中的表征向量进行融合,获取H中第i个物品的向量中加入关联性信息后的表征向量Fi ,i=1,…,n+1;

所述前馈神经网络模块用于根据所述加入关联性信息后的表征向量,并利用前馈神经网络获取推荐结果。

2.根据权利要求1所述的一种针对用户兴趣漂移的关联性信息增强推荐方法,其特征在于,所述输入处理具体包括:对于所述用户会话 将用户所交互的第n+1个物品 添加在所述用户会话的尾部,即

在训练阶段,对所述添加物品后的用户会话中的物品进行随机掩盖;

在测试阶段,仅将 使用mask进行掩盖,对用户第n+1时刻感兴趣的物品进行预测;

对于所述关联性邻居会话,在训练阶段与测试阶段均将mask添加在所述邻居会话的尾部。

3.根据权利要求1所述的一种针对用户兴趣漂移的关联性信息增强推荐方法,其特征在于,所述加入位置信息,获取含位置信息用户会话向量 和含位置信息关联性邻居会话向量 具体包括:利用如下公式,

d

其中, 为会话中第k∈[1,n+1]个物品的嵌入向量;pk∈R 为位置k的嵌入向量,即位置信息; 为向用户交互的第k个物品的向量中添加位置信息后的向量;

获取含位置信息用户会话向量 和含位置信息邻居会话向量

4.根据权利要求3所述的一种针对用户兴趣漂移的关联性信息增强推荐方法,其特征在于,所述根据所述含位置信息用户会话向量和含位置信息关联性邻居会话向量,并利用多头注意力获取用户会话的多头注意力表征 和关联性邻居会话的多头注意力表征 具体包括:

将所述含位置信息用户会话向量 和含位置信息关联性邻居会话向量映射到多头子空间中:

其中, 分别表示用户u的第i个多头子空间,和用户u的第k个关联d*d

性邻居的第i个多头子空间,i∈[1,h],W∈R 是可学习的参数;

利用多头自注意力,获取 具体为:

其中 分别是查询矩阵,关键字矩阵和值矩阵;d为用户u会话中第k个物品的嵌入向量的维度;h为用户u的多头子空间的个数;

分别代表用户u和其第k个关联性邻居的多头自注意力第i个子空间的输出;

将用户u和其关联性邻居的多头自注意力的输出分别进行拼接,并进行一次仿射变换,具体为:M d*d u (n+1)*d

其中||为拼接操作,W∈R 为可学习的参数,H∈R ,分别为用户u和用户u的第k个关联性邻居的第i个物品的表征向量。

5.根据权利要求1至4中任一项所述的一种针对用户兴趣漂移的关联性信息增强推荐方法,其特征在于,所述根据所述多信息拼接,并利用深度神经网络获取关联性权重 具体包括:利用深度神经网络获取 与 之间的关联性权重

1 4d*d 2 d

其中, W∈R ,W∈R。

6.根据权利要求5所述的一种针对用户兴趣漂移的关联性信息增强推荐方法,其特征在于,所述将所述关联性信息与所述用户会话的多头注意力表征中的表征向量进行融合,u u获取H中第i个物品的向量中加入关联性信息后的表征向量Fi,i=1,…,n+1,具体包括:利用如下公式,

其中, 为用户会话中第i个物品与每个关联性邻居的关联性分数;

u u

获取H中第i个物品的向量中加入关联性信息后的表征向量Fi。

7.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,当所述处理器运行所述存储器存储的计算机程序时执行权利要求1至6中任一项所述的方法的步骤。

8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有多条计算机指令,所述多条计算机指令用于使计算机执行权利要求1至6中任一项所述的方法。

9.一种计算机程序产品,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法。

说明书 :

针对用户兴趣漂移的关联性信息增强推荐方法、计算机设备、

存储介质和程序产品

技术领域

[0001] 本申请涉及数据推荐技术领域,尤其涉及针对用户兴趣漂移的信息推荐。

背景技术

[0002] 推荐系统将用户兴趣随时间动态变化的现象称为用户兴趣漂移。用户兴趣漂移现象普遍存在推荐系统中且无法忽视,这对推荐系统的性能会产生很严重的影响。因此,为了更好的给用户提供个性化的服务,研究适应用户兴趣漂移的推荐方法是非常必要的。
[0003] 近些年来,大部分的研究者都将目光聚焦在从用户的历史记录中挖掘出用户的多兴趣,试图通过细化用户的多兴趣以更好的应对用户兴趣漂移。在早期阶段FPMC将MCs和MF进行了结合,通过分解个性化的马尔可夫链(FPMC)来挖掘用户的长期兴趣和短期兴趣。近年来,RNN及其变体在用户兴趣挖掘中越来越流行。其中门控循环单元(GRU)和长短期记忆网络(LSTM)可用于建模用户长短期兴趣之间的依赖关系。NARM将RNN模型与注意力权重相结合,有效的捕捉了用户在局部子序列上的兴趣。DSIN认为在较短一段时间内,用户的兴趣(点击的商品)往往都会非常相似,可以按照一定的时间间隔将用户的会话切分成多个子会话,其中每一个子会话代表用户的一种兴趣,用于建模用户的多种兴趣。但是上述的所有方法都只将目光聚焦在用户自身的会话上,如果用户会话中的兴趣与用户新兴趣之间的相关性很低,那么将会导致模型预测的准确性大幅度降低。
[0004] 注意力机制在连续数据的建模中显示出很好的潜力,例如,机器翻译。在推荐系统领域中,对于用户的每个输入,注意力机制可以为其动态的计算权重,使得模型能够分辨信息的重要程度。这样模型能够更加专注于重要的信息,在一定程度上忽略不重要的信息。Bert4Rec使用多头自注意力机制来计算向量之间的权重。DIN模型在注意力单元中将用户会话中的每个物品的向量与候选广告的向量做哈德玛积,显式的建模了彼此之间的依赖关系,然后与物品向量和候选广告向量进行拼接,最后由DNN层计算得到权重。然而,上述方法都存在一个共同的问题,即:缺乏对于向量之间差异信息的显式建模,这将会导致在序列推荐任务中,当用户发生兴趣漂移且用户会话中的信息不足以支撑对新兴趣的推理时,使用上述注意力计算方法无法有效的从邻居中挖掘出与用户新兴趣相关联的信息。
[0005] 如果没有解决上述问题,会降低推荐结果的准确性。

发明内容

[0006] 本发明目的是为了解决现有针对用户兴趣漂移的推荐准确性低的问题,提供了针对用户兴趣漂移的关联性信息增强推荐方法、计算机设备、存储介质和程序产品。
[0007] 本发明是通过以下技术方案实现的,本发明一方面,提供一种针对用户兴趣漂移的关联性信息增强推荐方法,所述方法包括:
[0008] 根据用户会话 和邻居会话 中相同物品的数量,确定预设个数的关联性邻居;
[0009] 对所述用户会话和所述关联性邻居会话进行输入处理,包括:
[0010] 分别在所述用户会话和所述关联性邻居会话尾部添加第n+1个物品,再分别对所述添加物品后的用户会话和所述添加物品后的关联性邻居会话中的物品进行部分掩盖;
[0011] 构建基于关联性信息增强双向表征的RA‑Bert模型,将所述输入处理后用户会话和所述输入处理后关联性邻居会话输入所述RA‑Bert模型,获取推荐结果;
[0012] 其中,所述RA‑Bert模型包括:
[0013] 模型嵌入表征模块和若干个block;所述若干个block采用堆叠结构;
[0014] 所述模型嵌入表征模块用于获取所述输入处理后用户会话的嵌入向量和所述输入处理后关联性邻居会话的嵌入向量,并加入位置信息,获取含位置信息用户会话向量和含位置信息关联性邻居会话向量
[0015] 所述block包括多头注意力表征模块、关联性信息增强模块和前馈神经网络模块;
[0016] 所述多头注意力表征模块用于根据所述含位置信息用户会话向量和含位置信息关联性邻居会话向量,并利用多头注意力获取用户会话的多头注意力表征和关联性邻居会话的多头注意力表征
[0017] 所述关联性信息增强模块包括关联性信息提取模块和关联性信息融合层模块;
[0018] 所述关联性信息提取模块包括注意力单元、Softmax层和乘积模块;
[0019] 所述注意力单元用于利用公式:
[0020]
[0021] 其中, 为多信息拼接,利用哈德玛积 来显式建模 与 之间的依赖关系,减法操作 显式建模 与 之间的差异性信息;
[0022] 获取多信息拼接;
[0023] 根据所述多信息拼接,并利用深度神经网络获取 与 之间的关联性权重[0024] 所述Softmax层用于根据所述关联性权重,利用Softmax获取用户会话中第i个物品与每个关联性邻居的关联性分数;
[0025] 所述乘积模块用于分别将所述关联性分数和 进行乘积,获取每个邻居会话中挖掘出的关联信息;
[0026] 所述关联性信息融合层模块用于将所述关联性信息与所述用户会话的多头注意u力表征中的表征向量进行融合,获取H 中第i个物品的向量中加入关联性信息后的表征向量
[0027] 所述前馈神经网络模块用于根据所述加入关联性信息后的表征向量,并利用前馈神经网络获取推荐结果。
[0028] 进一步地,所述根据用户会话 和邻居会话中相同物品的数量,确定预设个数的关联性邻居,具体包括:
[0029] 根据用户会话 和邻居会话 中相同物品的数量,确定相似性分数;
[0030] 根据所述相似性分数,确定预设个数的关联性邻居;
[0031] 其中,所述相似性分数根据如下公式获取,
[0032]
[0033] 其中, 代表Su与 中相同物品的数量,|Su|代表Su中物品的数量,为Su与 之间的相似性分数。
[0034] 进一步地,所述输入处理具体包括:
[0035] 对于所述用户会话 将用户所交互的第n+1个物品 添加在所述用户会话的尾部,即
[0036] 在训练阶段,对所述添加物品后的用户会话中的物品进行随机掩盖;
[0037] 在测试阶段,仅将 使用mask进行掩盖,对用户第n+1时刻感兴趣的物品进行预测;
[0038] 对于所述关联性邻居会话,在训练阶段与测试阶段均将mask添加在所述邻居会话的尾部。
[0039] 进一步地,所述加入位置信息,获取含位置信息用户会话向量和含位置信息关联性邻居会话向量 具体包括:
[0040] 利用如下公式,
[0041]d
[0042] 其中, 为会话中第k∈[1,n+1]个物品的嵌入向量;pk∈R 为位置k的嵌入向量,即位置信息; 为向用户交互的第k个物品的向量中添加位置信息后的向量;
[0043] 获取含位置信息用户会话向量 和含位置信息邻居会话向量
[0044] 进一步地,所述根据所述含位置信息用户会话向量和含位置信息关联性邻居会话向量,并利用多头注意力获取用户会话的多头注意力表征 和关联性邻居会话的多头注意力表征 具体包括:
[0045] 将所述含位置信息用户会话向量 和含位置信息关联性邻居会话向量 映射到多头子空间中:
[0046]
[0047]
[0048] 其中, 分别表示用户u的第i个多头子空间,和用户u的第kd*d
个关联性邻居的第i个多头子空间,i∈[1,h],W∈R 是可学习的参数;
[0049] 利用多头自注意力,
[0050]
[0051]
[0052]
[0053] 其中WQ,WK, 分别是查询矩阵,关键字矩阵和值矩阵;
[0054] 获取 分别代表用户u和其第k个关联性邻居的多头自注意力第i个子空间的输出;
[0055] 将用户u和其关联性邻居的多头自注意力的输出分别进行拼接,并进行一次仿射变换,具体为:
[0056]
[0057]M d*d u (n+1)*d
[0058] 其中||为拼接操作,W ∈R 为可学习的参数,H ∈R ,分别为用户u和用户u的第k个关联性邻居的第i个物品的表征向量。
[0059] 进一步地,所述根据所述多信息拼接,并利用深度神经网络获取关联性权重 具体包括:
[0060] 利用深度神经网络获取 与 之间的关联性权重
[0061]
[0062] 其中, W1∈R4d*d,W2∈Rd。
[0063] 进一步地,所述将所述关联性信息与所述用户会话的多头注意力表征中的表征向u量进行融合获取H 中第i个物品的向量中加入关联性信息后的表征向量
具体包括:
[0064] 利用如下公式,
[0065]
[0066] 其中, 为用户会话中第i个物品与每个关联性邻居的关联性分数;
[0067] 获取Hu中第i个物品的向量中加入关联性信息后的表征向量Fiu。
[0068] 第二方面,本发明提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时执行如上文所述的一种针对用户兴趣漂移的关联性信息增强推荐方法的步骤。
[0069] 第三方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质中存储有多条计算机指令,所述多条计算机指令用于使计算机执行如上文所述的一种针对用户兴趣漂移的关联性信息增强推荐方法。
[0070] 第四方面,本发明提供一种计算机程序产品,所述计算机程序被处理器执行时实现如上文所述的一种针对用户兴趣漂移的关联性信息增强推荐方法。
[0071] 本发明的有益效果:
[0072] 本发明提出了一个针对用户兴趣漂移的关联性信息增强双向表征推荐模型,简称为“RA‑Bert”。该模型可以自适应的从邻居会话中挖掘出与用户新兴趣相关联的信息,然后将该关联信息融入用户会话中,从而增强用户会话与新兴趣之间关联性。
[0073] 首先,本发明提出了一个关联性信息增强模块,可以自适应的从用户的邻居会话中挖掘出与用户新兴趣相关联的信息作为用户会话的补充,来增强用户会话与新兴趣之间的关联性,从而提高模型的预测能力。
[0074] 其次,本发明提出了一个新的注意力单元,它通过将两个向量之间的差异信息进行显式建模,有效的从邻居中挖掘出与用户新兴趣相关联的信息。通过实验,也论证了显式建模两个向量之间差异信息的重要性。
[0075] 本发明适用于用户兴趣推荐。

附图说明

[0076] 为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0077] 图1为本发明的RA‑Bert框架图;
[0078] 图2为用户邻居选择策略示意图;
[0079] 图3为关联性信息增强模块结构示意图;
[0080] 图4‑图6分别为数据集Amazon_Books、LFM‑1b和Yoochoose对应的用户的邻居数量对模型性能的影响图;
[0081] 图7‑图9分别为数据集Amazon_Books、LFM‑1b和Yoochoose对应的抽象程度的差异对于模型性能的影响图。

具体实施方式

[0082] 下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0083] 实施方式一、一种针对用户兴趣漂移的关联性信息增强推荐方法,所述方法包括:
[0084] 根据用户会话 和邻居会话 中相同物品的数量,确定预设个数的关联性邻居;
[0085] 需要说明的是,在序列推荐中,用U={u1,u2,…,u|U|}代表用户集合,I={i1,i2,…,i|I|}代表物品集合。 代表用户u的会话,其中 代表用户u∈U在t时刻交互的物品。 代表用户u的邻居集合, 代表用户u的第k
个邻居。 代表用户u的第k个邻居会话。
[0086] 对所述用户会话和所述关联性邻居会话进行输入处理,包括:
[0087] 分别在所述用户会话和所述关联性邻居会话尾部添加第n+1个物品,再分别对所述添加物品后的用户会话和所述添加物品后的关联性邻居会话中的物品进行部分掩盖;
[0088] 构建基于关联性信息增强双向表征的RA‑Bert模型,将所述输入处理后用户会话和所述输入处理后关联性邻居会话输入所述RA‑Bert模型,获取推荐结果;
[0089] 其中,所述RA‑Bert模型包括:
[0090] 模型嵌入表征模块和若干个block;所述若干个block采用堆叠结构;
[0091] 需要说明的是,该堆叠结构具体为:一个block的输出即为另一个block的输入。
[0092] 所述模型嵌入表征模块用于获取所述输入处理后用户会话的嵌入向量和所述输入处理后关联性邻居会话的嵌入向量,并加入位置信息,获取含位置信息用户会话向量和含位置信息关联性邻居会话向量
[0093] 所述block包括多头注意力表征模块、关联性信息增强模块和前馈神经网络模块;
[0094] 所述多头注意力表征模块用于根据所述含位置信息用户会话向量和含位置信息关联性邻居会话向量,并利用多头注意力获取用户会话的多头注意力表征和关联性邻居会话的多头注意力表征
[0095] 所述关联性信息增强模块包括关联性信息提取模块和关联性信息融合层模块;
[0096] 所述关联性信息提取模块包括注意力单元、Softmax层和乘积模块;
[0097] 所述注意力单元用于利用公式:
[0098]
[0099] 其中, 为多信息拼接,利用哈德玛积 来显式建模 与 之间的依赖关系,减法操作 显式建模 与 之间的差异性信息;
[0100] 获取多信息拼接;
[0101] 需要说明的是,利用减法操作 显式建模 与 之间的差异性信息,其中,为用户会话的多头注意力表征中第i个物品的表征向量, 为关联性邻居会话的多头注意力表征中的第n+1个物品的表征向量。
[0102] 根据所述多信息拼接,并利用深度神经网络获取 与 之间的关联性权重[0103] 所述Softmax层用于根据所述关联性权重,利用Softmax获取用户会话中第i个物品与每个关联性邻居的关联性分数;
[0104] 所述乘积模块用于分别将所述关联性分数和 进行乘积,获取每个邻居会话中挖掘出的关联信息;
[0105] 需要说明的是,该乘积的形式可以为: 记为每个邻居会话中挖掘出的关联信息,其中 是用户会话中的第i个物品与用户的第k个邻居之间的关联性分数。
[0106] 所述关联性信息融合层模块用于将所述关联性信息与所述用户会话的多头注意u力表征中的表征向量进行融合,获取H 中第i个物品的向量中加入关联性信息后的表征向u
量Fi,i=1,…,n+1;
[0107] 所述前馈神经网络模块用于根据所述加入关联性信息后的表征向量,并利用前馈神经网络获取推荐结果。
[0108] 本实施方式中,为了缓解当用户在第n+1时刻发生兴趣漂移时,用户会话中的兴趣与用户新兴趣之间的关联性弱所导致的模型预测准确性下降的问题。本实施方式通过自适应的从用户的邻居会话中挖掘出与用户新兴趣相关联的信息,来增强用户会话与新兴趣之间的关联性,从而提高模型预测的准确性。因此,将用户u及其邻居的会话作为模型的输入,来预测用户u在第n+1时刻感兴趣的物品,形式上该任务可表示为:
[0109]
[0110] 其中 为模型对物品 的预测值。 即为用户第n+1时刻感兴趣的物品。
[0111] 本实施方式中,
[0112] 1)提出了“针对用户兴趣漂移的关联性信息增强双向表征推荐”模型,简称“RA‑Bert”模型。该模型可以自适应的从邻居会话中挖掘出与用户新兴趣相关联的信息,来增强用户会话与新兴趣之间关联性,很好的缓解了用户兴趣漂移所带来的问题。
[0113] 2)本实施方式设计了一个新的注意力单元,显式建模用户与邻居之间差异信息,用于从邻居会话中挖掘出与用户新兴趣相关联信息,进而提高推荐的准确性。
[0114] 实施方式二,本实施方式是对实施方式一所述的一种针对用户兴趣漂移的关联性信息增强推荐方法的进一步限定,本实施方式中,对所述根据用户会话 和邻居会话 中相同物品的数量,确定预设个数的关联性邻居,做了进一步限定,具体包括:
[0115] 根据用户会话 和邻居会话 中相同物品的数量,确定相似性分数;
[0116] 根据所述相似性分数,确定预设个数的关联性邻居;
[0117] 其中,所述相似性分数根据如下公式获取,
[0118]
[0119] 其中, 代表Su与 中相同物品的数量,|Su|代表Su中物品的数量,为Su与 之间的相似性分数。
[0120] 本实施方式中,是为推荐方法设计的关联性邻居搜索策略,为每个用户挑选出m个邻居,如图2所示。
[0121] 首先,遍历每个用户;然后为每个用户初始化一个字典,其中关键字key为候选邻居的id,Value值为用户与候选邻居之间的相似性分数;通过get()函数,获得由交互过Su中物品的用户所构成的一个候选邻居的集合。值得注意的是用户自身是不在该集合中的。然后,计算用户与每个候选邻居之间的相似性分数。对于给定用户u的会话及其第k个邻居的会话,它们之间的相似性分数计算公式如下:
[0122]
[0123] 其中 代表Su与 中相同物品的数量,|Su|代表Su中物品的数量。为Su与 之间的相似性分数。之后,将邻居id与相似性分数记录在上述初始化的字典中。在用户u与其所有候选邻居计算完相似性分数之后,根据相似性分数将候选邻居进行倒序排列。最终,将用户的前m个候选邻居记录下来,作为该用户的邻居。重复上述操作,直到所有用户均完成为止。
[0124] 本实施方式中确定的关联性邻居可以提供与被推荐的用户关联性较高的邻居会话信息,进而提升推荐结果的准确性。
[0125] 实施方式三,本实施方式是对实施方式一所述的一种针对用户兴趣漂移的关联性信息增强推荐方法的进一步限定,本实施方式中,对所述输入处理,做了进一步限定,具体包括:
[0126] 对于所述用户会话 将用户所交互的第n+1个物品 添加在所述用户会话的尾部,即
[0127] 在训练阶段,对所述添加物品后的用户会话中的物品进行随机掩盖;
[0128] 在测试阶段,仅将 使用mask进行掩盖,对用户第n+1时刻感兴趣的物品进行预测;
[0129] 对于所述关联性邻居会话,在训练阶段与测试阶段均将mask添加在所述邻居会话的尾部。
[0130] 本实施方式中,在训练阶段,针对Su中的物品进行随机掩盖。对于随机掩盖的参数设置,选择与Bert4Rec相同的掩盖,然后将该15%的物品做如下操作:其中百分之80%的物品替换为“[mask]”;其中百分之10%使用Su中的任意一个物品的id进行替换;剩余的百分之10%保持不变,从而减弱“[mask]”的表征向量对模型的影响。如:
[0131] 将 进行掩盖,其中 被替换为“[mask]”,保持不变,使用 进行替换。
[0132] 最终使用clozetask任务对模型进行训练,去预测被掩盖的位置原来是哪个物品。需要说明的是,最终的预测目标是用户的下一时刻感兴趣的物品,即n+1时刻感兴趣的物品,在测试阶段中他是被掩盖的,所以通过该任务可以提高预测的准确率。并且,通过clozetask任务,可以增加样本的利用率,从而使得模型的训练更加的充分。
[0133] 实施方式四,本实施方式是对实施方式一所述的一种针对用户兴趣漂移的关联性信息增强推荐方法的进一步限定,本实施方式中,对所述加入位置信息,获取含位置信息用户会话向量 和含位置信息关联性邻居会话向量做了进一步限定,具体包括:
[0134] 利用如下公式,
[0135]d
[0136] 其中, 为会话中第k∈[1,n+1]个物品的嵌入向量;pk∈R 为位置k的嵌入向量,即位置信息; 为向用户交互的第k个物品的向量中添加位置信息后的向量;
[0137] 获取含位置信息用户会话向量 和含位置信息邻居会话向量
[0138] 需要说明的是,这里,含位置信息邻居会话向量与含位置信息用户会话向量均采用相同的处理方法,即利用公式
[0139] 本实施方式中,针对采用多头自注意力来对用户会话进行双向表征,对于任意的输入顺序,多头注意力返回的结果是一样的,因此本文在用户序列的向量表征中加入了位置编码,从而避免顺序信息的丢失。
[0140] 实施方式五,本实施方式是对实施方式四所述的一种针对用户兴趣漂移的关联性信息增强推荐方法的进一步限定,本实施方式中,对所述根据所述含位置信息用户会话向量和含位置信息关联性邻居会话向量,并利用多头注意力获取用户会话的多头注意力表征和关联性邻居会话的多头注意力表征 做了进一步限定,具体包括:
[0141] 将所述含位置信息用户会话向量 和含位置信息关联性邻居会话向量 映射到多头子空间中:
[0142]
[0143]
[0144] 其中, 分别表示用户u的第i个多头子空间,和用户u的第kd*d
个关联性邻居的第i个多头子空间,i∈[1,h],W∈R 是可学习的参数;
[0145] 利用多头自注意力,
[0146]
[0147]
[0148]
[0149] 其中WQ,WK, 分别是查询矩阵,关键字矩阵和值矩阵;
[0150] 获取 分别代表用户u和其第k个关联性邻居的多头自注意力第i个子空间的输出;
[0151] 将用户u和其关联性邻居的多头自注意力的输出分别进行拼接,并进行一次仿射变换,具体为:
[0152]
[0153]
[0154] 其中||为拼接操作,WM∈Rd*d为可学习的参数,Hu∈R(n+1)*d,分别为用户u和用户u的第k个关联性邻居的第i个物品的表征向量。
[0155] 本实施方式中,在传统的基于会话的建模方法中,往往按照时间的顺序将用户从左到右的历史交互记录有序的进行表征。这是基于用户会话是严格有序的假设,属于单向表征,如RNN,LSTM,GRU等,但是在真实场景中,由于兴趣漂移现象的存在,用户会话中的前后两个物品之间并不总是属于相同兴趣的,所以用户会话实际上并不总是严格有序的,因此采用单向表征将会限制模型的表达能力。故而本实施方式采用多头自注意力来对用户会话进行双向表征。
[0156] 实施方式六,本实施方式是对实施方式一至实施方式五中任一项所述的一种针对用户兴趣漂移的关联性信息增强推荐方法的进一步限定,本实施方式中,对所述根据所述多信息拼接,并利用深度神经网络获取关联性权重 做了进一步限定,具体包括:
[0157] 利用深度神经网络获取 与 之间的关联性权重
[0158]1 4d*d 2 d
[0159] 其中, W∈R ,W∈R。
[0160] 本实施方式中,通过神经网络可以自适应的获得权重,避免了复杂的人工工程,可以大量节省人力物力。
[0161] 实施方式七,本实施方式是对实施方式六所述的一种针对用户兴趣漂移的关联性信息增强推荐方法的进一步限定,本实施方式中,对所述将所述关联性信息与所述用户会u话的多头注意力表征中的表征向量进行融合,获取H中第i个物品的向量中加入关联性信u
息后的表征向量Fi,i=1,…,n+1,做了进一步限定,具体包括:
[0162] 利用如下公式,
[0163]
[0164] 其中, 为用户会话中第i个物品与每个关联性邻居的关联性分数;
[0165] 获取Hu中第i个物品的向量中加入关联性信息后的表征向量Fiu。
[0166] 本实施方式中,提供了一种关联性信息融合层,能够将该关联信息与用户会话进u行更好的融合,如图3所示。通过将H中的每个物品的向量与从每个邻居会话中挖掘出的关u u
联信息进行求和,将关联性信息融合进H,从而增强H与用户新兴趣之间的关联性。
[0167] 实施方式八,本实施方式是基于如上文所述的一种针对用户兴趣漂移的关联性信息增强推荐方法的具体实施例,包括:
[0168] 1)问题定义
[0169] 在序列推荐中,用U={u1,u2,…,u|U|}代表用户集合,I={i1,i2,…,i|I|}代表物品集合。 代表用户u的会话,其中 代表用户u∈U在t时刻交互的物品。代表用户u的邻居集合, 代表用户u的第k个邻居。
代表用户u的第k个邻居会话。
[0170] 为了缓解当用户在第n+1时刻发生兴趣漂移时,用户会话中的兴趣与用户新兴趣之间的关联性弱所导致的模型预测准确性下降的问题。本实施例通过自适应的从用户的邻居会话中挖掘出与用户新兴趣相关联的信息,来增强用户会话与新兴趣之间的关联性,从而提高模型预测的准确性。因此,将用户u及其邻居的会话作为模型的输入,来预测用户u在第n+1时刻感兴趣的物品,形式上该任务可表示为:
[0171]
[0172] 其中 为模型对物品 的预测值。 即为用户第n+1时刻感兴趣的物品。
[0173] 2)关联性邻居搜索策略
[0174] 关联性邻居搜索策略,为每个用户挑选出m个邻居,如图2所示。具体操作如算法1所示。
[0175] 首先,遍历每个用户(①);然后为每个用户初始化一个字典,其中关键字key为候选邻居的id,Value值为用户与候选邻居之间的相似性分数(②);通过get()函数,获得由交互过Su中物品的用户所构成的一个候选邻居的集合(③)。值得注意的是用户自身是不在该集合中的。然后,计算用户与每个候选邻居之间的相似性分数(④)。对于给定用户u的会话及其第k个邻居的会话,它们之间的相似性分数计算公式如下:
[0176]
[0177] 其中 代表Su与 中相同物品的数量,|Su|代表Su中物品的数量。为Su与 之间的相似性分数。之后,将邻居id与相似性分数记录在上述初
始化的字典中(⑤)。在用户u与其所有候选邻居计算完相似性分数之后,根据相似性分数将候选邻居进行倒序排列(⑦)。最终,将用户的前m个候选邻居记录下来,作为该用户的邻居(⑧)。重复①‑⑧的操作,直到所有用户均完成为止。
[0178] 算法1.关联性邻居搜索策略.
[0179] 输入:所有用户会话的集合S,所有物品对应的用户的集合:R
[0180] 输出:所有用户的m个邻居:Nu.
[0181]
[0182] 3)模型的输入处理
[0183] 模型中对于用户与其邻居的会话,在训练与测试阶段做了不同的处理操作,具体如下所述:
[0184] (1)对于给定用户u的会话 将用户u所交互的第n+1个物品 添加在Su的尾部,即
[0185] 在训练阶段,针对Su中的物品进行随机掩盖。对于随机掩盖的参数设置,本实施例选择与Bert4Rec相同的掩盖,然后将该15%的物品做如下操作:其中百分之80%的物品替换为“[mask]”;其中百分之10%使用Su中的任意一个物品的id进行替换;剩余的百分之10%保持不变,从而减弱“[mask]”的表征向量对模型的影响。如:
[0186] 将 进行掩盖,其中 被替换为“[mask]”,保持不变,使用 进行替换。最终使用clozetask任务对模型进行训练,去预测被掩盖的位置原来是哪个物品。
[0187] 在测试阶段,仅将 使用“[mask]”进行掩盖,对用户第n+1时刻感兴趣的物品进行预测。即 如:
[0188] (2)对于用户邻居会话,选择使用邻居会话尾部[mask]的最终隐藏层来代表邻居的会话表征。在训练阶段与测试阶段均直接将“[mask]”添加在会话的尾部,其他的不做处理。如:用户u的第k个邻居的会话, 将“[mask]”添加在序列的尾部,
[0189] 值得注意的是,本实施例模型采用与Bert4Rec相同的堆叠结构。如图1所示,进行了N个block的堆叠。为了方便描述,本实施例中有关模型的阐述仅以一个block为例。
[0190] 3)建立基于关联性信息增强双向表征的RA‑Bert模型,具体包括:
[0191] 3.1)模型嵌入的双向表征
[0192] 本实施例在用户序列的向量表征中加入了位置编码,从而避免顺序信息的丢失。其对应于图1的Embedding Layer,具体可以形式化为:
[0193]d
[0194] 其中 为用户u会话中第k∈[1,n+1]个物品的嵌入向量,pk∈R 为位置k的嵌入向量, 为向用户u交互的第k个物品的向量中添加位置信息后的向量。
[0195] 3.2)多头注意力表征
[0196] 图1中的Multi‑Head Attention模块具体操作如下:首先,对于用户u的输入和用户u的第k个邻居的输入嵌入 先使用仿射变换,将用户的输入和邻居的输入映射到多头子空间中:
[0197]
[0198]
[0199] 其中 分别表示用户u的第i个多头子空间,和用户u的第kd*d
个邻居的第i个多头子空间,i∈[1,h]。W∈R 是可学习的参数。
[0200] 然后对 分别使用多头自注意力来捕获不同物品之间的依赖关系。
[0201]
[0202]
[0203]Q K
[0204] 其中W ,W , 分别是查询矩阵,关键字矩阵和值矩阵,他们都是可学习的。分别代表用户u和其第k个邻居的多头自注意力第i个子空间的输出。
[0205] 最后将用户u和其邻居的多头自注意力的输出分别进行拼接,并进行一次仿射变换,以进行多头信息的融合。
[0206]
[0207]
[0208] 其中||为拼接操作,WM∈Rd*d为可学习的参数。Hu∈R(n+1)*d,分别为用户u和用户u的第k个邻居的第i个物品的表征向量。
[0209] 需要说明的是,在用户与邻居信息融合的过程中,用户侧信息与邻居侧信息之间抽象程度的差异对信息融合会产生影响。对于每个block,本实施例并没有选择在每个block的输出层进行关联性信息的融合,而是选择在获得多头注意力的输出时进行关联性信息的融合。这是因为在每个block的输出层,用户侧信息的抽象程度与邻居侧信息的抽象程度是不同的,具体来说就是用户侧的信息经历了完整的block,将该block的多项式函数记为f1;邻居侧的信息只经历了多头注意力层,该多头注意力的多项式函数记为f2。发现f1与f2之间的阶数差距很大,这使得用户侧信息与邻居侧信息的抽象程度差距很大,导致用户侧与邻居侧之间注意力值计算不准确,这无疑会损伤模型的性能。如果选择将邻居侧的信息同样输入到一个完整的block中,这样虽然可以使得用户侧与邻居侧信息的抽象程度相同,但是此时邻居侧信息的表征将会是更倾向于对自身n+1时刻感兴趣的物品的推理,而不是倾向于为用户侧提供更为准确的关联性信息作为补充。所以,综上所述,本实施例选择在多头注意力的输出处进行关联性信息的融合。
[0210] 3.3)关联性信息增强模块
[0211] 为了增强用户会话中信息与新兴趣之间的关联性,本实施例设计了一个关联性信息增强模块,如图3所示。它包括关联性信息提取和关联性信息融合层两个部分。
[0212] 该模块可以自适应的从用户的邻居会话中挖掘出与用户新兴趣相关联的信息,然后将该关联信息与用户会话中的信息进行融合,从而增强用户会话与新兴趣之间的关联性。值得注意的是,本实施例将每个邻居会话的第n+1个物品(即“[mask]”)的隐藏层向量作为该邻居会话的表征。这是因为邻居会话中的其他物品的向量会保留更多自身的信息,而“[mask]”的隐藏层向量对于前n个物品信息的保留相对较为公平。
[0213] 3.3.1)关联性信息提取
[0214] 为了更好的从邻居中提取出与用户新兴趣相关联的信息来增强模型的推理,本实施例设计了一个新的注意力单元(如图3右侧所示)来计算用户u中每个物品与其每个邻居的关联性分数。值得注意的是,为了更好的从邻居中获得关联性信息,该注意力单元显式建模了用户与邻居之间的差异信息。现以用户u的第i个物品与其第k个邻居为例来对注意力单元的计算过程进行阐述:
[0215]
[0216] 其中 为多信息拼接。此处使用哈德玛积来显式建模 与 之间依赖关系,并利用减法操作 显式建模 与 之间的差异性信息,以便对关联性信息进行更为有效的挖掘。此部分内容已在下面的实验中进行了论证,论证了该方法的有效性。随后,通过DNN(Deep Neural Networks深度神经网络)来获得 与 之间的关联性权重:
[0217]
[0218] 其中 W1∈R4d*d,W2∈Rd。
[0219] 最后,使用Softmax计算最终的关联性分数。
[0220]
[0221] 其中 代表用户u的会话中第i个物品与其所有邻居的关联性分数所构成的向量。
[0222] 将用户的每个邻居会话中“[mask]”对应的表征向量与关联性分数进行相乘,即可提取出关联性信息。具体操作过程将在3.3.2)中进行阐述。
[0223] 3.3.2)关联性信息融合层
[0224] 本部分提供了一个关联性信息融合层,能够将该关联信息与用户会话进行更好的u融合,如图3所示。通过将H中的每个物品的向量与从每个邻居会话中挖掘出的关联信息进u u
行加权求和,将关联性信息融合进H,从而增强H与用户新兴趣之间的关联性,可形式化为。
[0225]
[0226] 其中Fiu∈Rd是向Hu中第i个物品的向量中加入关联
[0227] 性信息后的表征向量。
[0228] 为了保证数据特征分布的稳定性和避免模型的退化,添加Layer Normalization和ResNet操作,如公式(15)所示:
[0229] Fu=eu+LayerNormalization(Fu)   (15)
[0230] 其中
[0231] 3.4)前馈神经网络模块
[0232] 本实施例在前馈神经网络(feed forward)的输出层添加了LayerNormalization和ResNet,如图1所示。在前馈神经网络中的激活函数选择使用更平滑的Glue激活函数,而非Relu激活函数。
[0233]
[0234]
[0235]
[0236]
[0237] 该前馈神经网络共有l层,第0层的输入为公式(15)的输出Fu,公式(17)为前馈神经网络l层的前馈过程,公式(18)是公式(17)中FeedForward函数的具体形式,公式(19)的输出是该前馈神经网络的最终输出。
[0238] 3.5)模型的损失
[0239] 本实施例使用交叉熵损失函数来计算模型的损失。
[0240]
[0241] 其中S′u为用户u的交互序列Su的子序列,由被掩盖的物品所构成。其中pi为公式(19)第m层的输出。该前馈神经网络的最终输出。
[0242] 下面,基于如上文所述的一种针对用户兴趣漂移的关联性信息增强推荐方法的实验,具体包括:
[0243] 一、数据集
[0244] 为了验证所提出的方法的有效性和普适性,在三个公开数据集上进行了广泛的实验:Amazon‑book、LFM‑1b和Yoochoose数据集。数据集来源于:https://recbole.io/dataset_list.html
[0245] (1)Amazon‑book数据集:它是来自亚马逊评论的数据集。包含用户对书籍的购买记录和评分。
[0246] (2)LFM‑1b数据集:该数据集包含超过120万名来自last.fm的用户所创建的超过100万条音乐记录。每条记录都包含艺术家、专辑、曲名和时间戳的信息。
[0247] (3)Yoochoose数据集:该数据集由推荐系统挑战赛数据集,由YOOCHOOSE GmbH提供。
[0248] 对三个数据集中的相关数据进行了统计,详细信息如表1所示。
[0249] Table 1Statistical information about the dataset
[0250] 表1数据集的统计信息
[0251]数据集 用户数 物品数 交互数 平均长度
Amazon_Books 22555 34149 132235 4.86
LFM‑1b 112614 11317 900912 7
Yoochoose 135759 14111 1086072 7
[0252] 基线模型:
[0253] FPMC:它是一种结合了马尔可夫链和矩阵分解的经典序列推荐模型。
[0254] STAMP:它是一个基于多层感知器的会话推荐模型,它采用了注意机制来捕获用户当前会话的整体兴趣,并使用最后的点击获得当前的兴趣。
[0255] NARM:它是一个用于会话推荐的编码器‑解码器架构。它应用递归神经网络来表达用户的顺序行为和用户的主要意图。
[0256] SASRec:它是一个基于自注意力的顺序推荐模型,从用户的行为历史中找到与目标物品相关的物品,然后使用它们来进行最终预测。
[0257] Bert4Rec:它是一个序列推荐模型,采用深度双向自注意力来对用户行为序列进行建模。
[0258] 二、参数设置
[0259] 将物品的嵌入向量的维度设置为128,block数量设置为6,多头自注意力中的head的数量设置为4。学习率先使用0.001进行训练,之后转为0.0001进一步进行训练。批量的大小设置为512。
[0260] Table2 Performance comparison of different models on three datasets[0261] 表2在三个数据集上不同模型的表现。(其中粗体为本发明提出的模型的结果)[0262]
[0263] Table3 Impact on model performance with and without the Relevance Information Enhancement Module
[0264] 表3在三个不同的数据集上带有关联性增强模块和不带的结果对比
[0265]
[0266] Table 4Ablation study of attentional units
[0267] 表4注意力单元的消融研究
[0268]
[0269] 三、性能比较与分析
[0270] 表2总结了在三个数据集上不同模型的的性能。从表2可以看出:
[0271] (1)在三个公开的数据集上,本发明提出的模型性能都是最佳的。这是因为其他的基线模型无法有效的缓解兴趣漂移所带来的问题,难以在不断变化的用户兴趣中捕获用户的真实兴趣。而本发明提出的模型有效的缓解了兴趣漂移所带来的问题,所以获得了较大的提升,这也表明了本发明提出的方法的有效性。
[0272] (2)本发明所提出模型在Yoochoose和LFM‑1B上性能更优越。这是因为在Amazon_Books中,用户的会话长度比较短,当用户第n+1时刻交互的物品代表用户的新兴趣时,用户会话中的信息与新兴趣之间的关联性会很弱,此时需要摄取更多的关联信息,才能达到一个较好的预测效果。而在Yoochoose和LFM‑1b中,用户会话的长度比较长,其中蕴含的信息相较于短序列更加的充分,此时只需要摄入很少一部分的相关性信息,就足以达到较好的预测效果。所以模型在Yoochoose与LFM‑1b数据集上的性能更加优越。
[0273] 四、消融研究
[0274] 在三个公开的数据集上进行了关联性信息增强模块的消融实验,来验证本发明提出的关联性信息增强模块和显式建模用户会话与邻居会话之间差异信息的有效性。如表3和表4所示。
[0275] 从表3中可以看出,在三个公开数据集上,不带有关联性信息增强模块的模型(即Bert4Rec)的性能都要弱于带有关联性信息增强模块的模型。这是因为,在序列推荐中,当用户的下一个物品代表了用户的新兴趣时,用户自身会话中与新兴趣相关联的信息较少,模型很难作出正确的预测。而本发明提出的关联性信息增强模块通过从用户的邻居中挖掘出与用户新兴趣相关联的信息,然后将该关联性信息融入用户会话中,以此来增强用户会话中与新兴趣之间的关联性,从而提高预测的准确性。这也验证了本发明提出的关联性增强模块的有效性。从表4可以看出,在三个公开的数据集上,具有减法操作(显式建模用户会话与邻居会话之间的差异信息)的注意力单元要优于没有减法操作的注意力单元。这表明相较于让模型自己去挖掘用户会话中缺乏的关联性信息,显式建模用户会话与邻居会话之间的差异信息可以让关联信息的挖掘更简单高效。这也验证了显式建模用户会话与邻居会话之间差异信息的有效性。
[0276] 五、超参数敏感性研究
[0277] 图4为在不同数据集上,用户的不同邻居数量k对模型性能的影响的结果。从图4可以看出在三个数据集上,用户的邻居数量对模型性能具有很大的影响,随着邻居数量的增加可以看出:(1)模型的性能逐渐增强,最终在邻居数为5的时候达到最佳;(2)模型性能增涨的幅度随邻居数量的增加逐渐趋于平缓。因此,在三个数据集上,将邻居的数量均设置为5。
[0278] 六、抽象程度的差异对性能的影响
[0279] 将验证在关联性信息融合过程中,用户侧与邻居侧信息之间抽象化程度的差异,在不同位置对于模型性能的影响。其中:(1)顶层:代表在前馈神经网络的输出层,进行关联性信息的融合。(2)中间层:代表在多头自注意力的输出层,进行关联性信息的融合。图5展示了在三个公开数据集上,用户侧信息与邻居侧信息进行融合的时候,用户侧与邻居侧信息之间抽象程度的差异对模型性能的影响。在顶层进行融合情况下,邻居侧信息是多头自注意力层的输出,而用户侧是一个完整的Block的输出,因此他们之间的抽象程度是不一样的,即用户侧信息的抽象程度高于邻居侧;而在中间层进行融合的情况下,用户侧和邻居侧的信息都是多头自注意力的输出,并且在多头自注意力之前所经历的操作是相同的,因此他们之间的抽象程度是相同的。普适地认为,当用户侧与邻居侧信息之间抽象程度越大,那么用户侧与邻居侧注意力值的计算越不准确,从而导致从邻居侧提取的用户侧所需的关联性信息越不准确,反之亦然。从图5中,可以看出,在三个数据集上都是中间层的性能更好,这验证了该思想是正确的。
[0280] 在用户兴趣漂移场景中,当用户历史会话中的兴趣与新兴趣关联性很弱的时候,仅凭用户会话中的信息将不足以支撑对新兴趣的推理,这将会导致模型性能的严重降低。为了缓解这个问题,本发明提出了RA‑Bert模型。模型提出了一个关联性信息增强模块,它可以自适应的从邻居中获得用户会话中所需要的与新兴趣相关联的信息,作为用户会话中信息的补充,从而增强用户会话与新兴趣之间的关联性,提高模型的预测能力。
[0281] 为了更好的从邻居中提取关联性信息,本发明设计了一个新的注意力单元,它可以显式建模用户与邻居之间的差异信息。值得注意的是,在将从用户邻居中提取的关联性信息与用户会话中的信息进行融合的过程中,发现用户与邻居信息之间抽象程度差异越大,融合效果越差。为了避免抽象程度差异的影响,本发明将用户侧信息与邻居侧信息在融合之前使用相同嵌入与表征方法,保证了他们之间的抽象化程度相同。最后通过大量的实验表明,本发明的方法获得了一个很好的效果。
[0282] 推荐系统将用户兴趣随时间动态变化的现象称为用户兴趣漂移。用户兴趣漂移现象普遍存在推荐系统中且无法忽视,这对推荐系统的性能会产生很严重的影响。因此,为了更好的给用户提供个性化的服务,研究适应用户兴趣漂移的推荐方法是非常必要的。
[0283] 本发明提出了一个针对用户兴趣漂移的关联性信息增强双向表征推荐模型,简称为“RA‑Bert”。该模型可以自适应的从邻居会话中挖掘出与用户新兴趣相关联的信息,然后将该关联信息融入用户会话中,从而增强用户会话与新兴趣之间关联性。其中有两点挑战:1.如何从邻居会话中有效的挖掘出与用户新兴趣相关联的信息;2.为了有效的增强用户会话与新兴趣之间的关联性,在将关联性信息与用户会话中的信息进行融合时,需要注意些什么。对于挑战1,在本发明中,设计了一个新的注意力单元,它通过显式建模用户与邻居之间的差异信息,来计算用户与邻居之间的注意力,从而有效的从邻居会话中提取出用户侧所缺乏的关联性信息。对于挑战2,通过大量的实验发现:用户侧信息与邻居侧信息进行加权融合的时候,用户侧信息与邻居侧信息之间抽象程度的差异对融合的效果影响很大。具体表现为,两者之间抽象程度差距越小,融合的效果越好,反之亦然。对于该结论,本发明在实验已论证。因此,为了更好的进行融合,在本发明中,保证了在信息融合的时候,用户侧与邻居侧信息之间的抽象程度是相同的。通过大量的实验表明,本发明提出的方法获得了很好的提升效果。本发明的贡献总结如下:
[0284] 1)提出了“针对用户兴趣漂移的关联性信息增强双向表征推荐”模型,简称“RA‑Bert”模型。该模型可以自适应的从邻居会话中挖掘出与用户新兴趣相关联的信息,来增强用户会话与新兴趣之间关联性,很好的缓解了用户兴趣漂移所带来的问题。
[0285] 2)解决了在用户与邻居信息融合的过程中,用户侧信息与邻居侧信息之间抽象程度的差异对信息融合的影响。
[0286] 3)设计了一个新的注意力单元,显式建模用户与邻居之间差异信息,进而从邻居会话中挖掘出与用户新兴趣相关联信息。
[0287] 4)通过大量的实验表明,本发明提出的方法获得了很好的性能。