利索能及
我要发布
收藏
专利号: 2024118743017
申请人: 山东科技大学
专利类型:发明专利
专利状态:已下证
更新日期:2025-10-27
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种面向共享账户场景的序列推荐方法,其特征在于,构建基于胶囊图卷积网络与深度子空间聚类的推荐模型进行个性化推荐,推荐模型包括主胶囊图构建模块、胶囊图卷积网络、账户级动态路由模块、基于深度子空间聚类的序列解码器以及预测模块;方法包括以下步骤:步骤1、获取共享账户场景下共享账户与项目之间的交互关系与项目之间的序列依赖关系,并根据这两种关系建立序列交互图;

步骤2、通过主胶囊图构建模块将序列交互图进一步加工为主胶囊图;

步骤3、通过胶囊图卷积网络从主胶囊图中学习共享账户中潜在用户的向量表示和混合序列的向量表示;

步骤4、通过账户级动态路由模块将共享账户中潜在用户的向量表示聚合为共享账户的向量表示;

步骤5、通过基于深度子空间聚类的序列解码器将用户兴趣与混合序列的向量表示进行对齐;

步骤6、基于共享账户的向量表示和混合序列的向量表示,生成个性化的推荐结果;

所述步骤1的具体过程为:

获取共享账户场景下的项目集合为 ,其中,表示第 个项目,为项目总个数;共享账户集合为 ,其中, 为第 个共享账户, 为共享账户总个数;混合序列集合为 ,其中, 表示第 个共享账户的混合序列;

建立的序列交互图为 ,其中,表示节点的集合,表示边的集合,集合中的每一条边表示了序列交互图中两个不同节点间的一种关系;序列交互图中共包含两种关系,即共享账户与项目之间的交互关系以及项目之间的序列依赖关系;上述两种关系通过邻接矩阵 表示:(1);

其中, 表示存储着项目之间序列依赖关系的邻接矩阵;如果第 个项目在混合序列中是第个项目 的前驱节点,那么 中第行、第 列的元素 ,否则, ;第 个项目对应第 行,第 个项目对应第 列; 表示包含共享账户与项目之间交互关系的邻接矩阵,如果第 个共享账户 与第个项目 之间存在交互,那么 中第 行、第 列对应的元素 ,否则, ;第 个共享账户对应第 行,第个项目对应第 列;为转置符号;

所述步骤2中,主胶囊图构建模块包括线性注意力模块和一维卷积模块;主胶囊图构建模块的具体工作过程为:步骤2.1、通过线性注意力模块将序列交互图中项目的特征表示转换为项目的胶囊表示,具体过程为: (2);

其中, 为转换后得到的主胶囊图中第0层的项目的胶囊表示,主胶囊图的层数跟序列交互图的层数对应; 、 分别为特征表示的嵌入维度、胶囊表示的嵌入维度;

、 、分别为 的值所初始化的查询、键、值的嵌入表示, 为随机初始化得到的序列交互图中第0层的项目的特征表示; 为softmax函数;

为线性注意力模块的维度变换矩阵; 为线性注意力模块的偏置项;

步骤2.2、通过逐点一维卷积模块将序列交互图中共享账户的特征表示转换为共享账户的胶囊表示,具体计算过程为: (3);

其中, 为转换后得到的主胶囊图中第0层的共享账户的胶囊表示;

为随机初始化得到的序列交互图中第0层的共享账户的特征表示;代表一维卷积运算; 表示一维卷积模块的一维卷积核; 表示一维卷积模块的偏置;是控制共享账户内潜在用户数量的超参数;

步骤2.3、假设每个共享账户都包含 个潜在用户,将每个共享账户的胶囊表示分成个潜在用户的胶囊表示,具体为:将转换后得到的主胶囊图中第0层的第 个共享账户 的胶囊表示 分成 个潜在用户的胶囊表示 ,为转换后得到的主胶囊图中第0层的第 个共享账户中的第 个潜在用户 的胶囊表示;在保留序列交互图中关系的前提下,完成了主胶囊图的构建;

所述步骤3中,胶囊图卷积网络包含若干个图卷积层,每一层都要通过带有注意力机制的图卷积网络进行一次图卷积操作,具体工作过程如下:步骤3.1、计算进行第 层图卷积时潜在用户的胶囊表示所获得的信息,并更新潜在用户的胶囊表示;具体过程为:步骤3.1.1、通过带有注意力的图卷积网络,在主胶囊图上,计算共享账户中潜在用户的胶囊表示和与共享账户产生过交互的项目的胶囊表示之间的相关性,具体计算过程如下: (4);

其中, 为 和 之间的相关性; 为第 个共享账户中的第 个潜在用户的胶囊表示; 为与第 个共享账户产生过交互的第 个项目 的胶囊表示; 为以e为底的指数函数; 表示与第 个共享账户 产生过交互的项目的集合;

步骤3.1.2、计算在第 层图卷积时项目的胶囊表示向潜在用户传递的信息,具体为: (5);

其中, 为在第 层图卷积时 的胶囊表示向 传递的信息; 表示在第层图卷积时的第一可学习权重; 为在第 层图卷积时与第 个共享账户产生过交互的第 个项目 的胶囊表示; 为在第 层图卷积时的第二可学习权重; 为在第层图卷积时 和 之间的相关性;

同时,计算 的自连接信息,具体过程如下: (6);

其中, 为在第 层图卷积时 的自连接信息; 为在第 层图卷积时的第三可学习权重; 为在第 层图卷积时第 个共享账户中的第 个潜在用户的胶囊表示;

步骤3.1.3、对 的胶囊表示进行更新,更新过程如下: (7);

其中, 为进行第 层图卷积后更新的 的胶囊表示; 表示所有与 交互过的项目的集合;

步骤3.2、计算进行第 层图卷积时项目的胶囊表示所获得的信息,并更新项目的胶囊表示;具体计算过程如下: (8);

 (9);

其中, 表示第 个共享账户中与第 个项目 存在交互的第 个潜在用户;

表示在第 层图卷积时 的胶囊表示向 的胶囊表示传递的消息; 表示在第 层图卷积时控制信息量的第四可学习权重; 为在第 层图卷积时 的胶囊表示;

表示在混合序列中与 相邻的项目; 表示在第 层图卷积时从 的胶囊表示向的胶囊表示传递的消息; 表示在第 层图卷积时控制信息量的第五可学习权重;

为在第 层图卷积时 的胶囊表示;

步骤3.3、项目的胶囊表示更新过程如下: (10);

其中, 为进行第 层图卷积后更新的 的胶囊表示; 表示所有与 交互过的潜在用户 的集合; 表示在所有混合序列中与 相邻的项目的集合;

步骤3.4、采用多层聚合协议,将每一层上通过图卷积获得的表示进行聚合,获得完整的项目向量表示和潜在用户向量表示;具体计算过程如下: (11);

 (12);

其中, 为完整的 的向量表示; 为完整的 的向量表示;为图卷积的总层数;

步骤3.5、计算最终所需的混合序列的向量表示,具体计算过程如下: (13);

其中, 为混合序列的向量表示;

所述步骤4的具体过程为:

步骤4.1、账户级动态路由模块共迭代运算 次,第 次迭代的动态路由过程如下: (14);

其中, 表示第 次迭代时 的账户级胶囊表示; 表示对路由信息进行压缩的功能函数; 为第 次迭代时第 个潜在用户的胶囊表示与账户胶囊表示之间的耦合系数;

步骤4.2、完成一次路由过程后,需要对耦合系数进行更新,具体过程如下: (15);

其中, 为第 次迭代时第 个潜在用户的胶囊表示与账户胶囊表示之间的耦合系数; 为账户级动态路由模块中可学习的权重矩阵; 为元素内积运算操作;

步骤4.3、迭代结束后,得到完整的账户胶囊表示,即第 次迭代时 的账户级胶囊表示 ;

步骤4.4、计算共享账户的向量表示,具体计算过程如下: (16);

其中, 为共享账户的向量表示;

所述步骤5的具体过程为:

步骤5.1、初始化子空间基 以计算序列表示与子空间基之间的亲和度;子空间基中不同的子空间表示同一共享账户下不同潜在用户的用户兴趣; 表示第 个子空间;为子空间总个数;亲和度的具体计算过程如下: (17);

其中, 表示 中第 个项目的向量表示; 表示 与 之间的子空间亲和度;表示控制计算平滑度的超参数;

步骤5.2、采用对比学习方法将通过亲和度增强的混合序列的向量表示与原始混合序列的向量表示进行对齐;具体过程为:首先,将子空间亲和度赋到混合序列中的项目向量表示中: (18);

其中, 表示增强后的第个项目的向量表示, 表示增强后的混合序列的向量表示;

随后,在增强后的混合序列的向量表示 与正则化后的原始混合序列的向量表示之间计算对比学习的损失 ,具体的对比学习损失计算过程如下: (19);

其中, 、 分别为 中第个项目、第 个项目的正则化嵌入向量表示; 表示增强后的第 个项目的向量表示;表示控制来自负例对到正例对的影响的温度系数;

最后,对于所有的混合序列,完整的对比学习损失表示为 : (20);

步骤5.3、将 与 采用残差链接的方法来进行精炼;精炼后的完整的混合序列的向量表示通过以下计算过程得到: (21);

其中, 表示精炼后的完整的混合序列的向量表示; 为标准L2正则化函数;

表示残差链接方法中可学习的权重矩阵;

所述步骤6的具体过程为:

步骤6.1、将示 和 输入到预测模块进行预测,具体过程如下: (22);

其中, 表示预测的概率分布,为第 个项目; 是预测模块中将预测值映射到候选项目集合维度的变换矩阵; 是预测模块中调整激活函数阈值的偏差项;

将所有项目按照预测的概率分布的大小进行降序排序,排序后的项目序列中的前 个项目即为对共享账户的个性化推荐结果,其中 是预先设置的阈值;

步骤6.2、采用交叉熵损失对预测模型的可学习参数进行优化,交叉熵损失 的计算过程为: (23);

步骤6.3、加上步骤5.2中的对比学习损失 ,预测模型完整的损失函数为 : (24);

其中,是控制来自对比学习损失中自监督信号参与程度的超参数。