1.一种基于特征冗余去除的图神经网络多模态推荐方法,其特征在于,包括将用户与项目的交互数据利用图神经网络多模态推荐模型基于下述步骤来获取用户的推荐结果:S1,从用户与项目的交互数据中提取用户嵌入特征、项目嵌入特征以及项目的多模态特征,所述项目的多模态特征包括文本嵌入特征和图像嵌入特征;
S2,将用户嵌入特征、项目嵌入特征、文本嵌入特征和图像嵌入特征利用图神经网络编码器进行基于交互的协同过滤、基于模态的协同过滤再融合得到用户和项目的局部嵌入向量;将项目嵌入特征、文本嵌入特征和图像嵌入特征利用特征过滤器过滤噪声,并结合可学习的转换向量、邻接矩阵生成用户和项目的全局嵌入向量;
S3,将用户的局部嵌入向量和全局嵌入向量融合得到用户的最终嵌入向量,将项目的局部嵌入向量和全局嵌入向量融合得到项目的最终嵌入向量;
S4,根据用户的最终嵌入向量、项目的最终嵌入向量计算得到用户对项目的偏好得分,对所有项目的偏好得分进行排序,选择偏好得分靠前的指定数量K个项目作为用户的推荐结果输出;
步骤S2中将用户嵌入特征、项目嵌入特征、文本嵌入特征和图像嵌入特征利用图神经网络编码器进行基于交互的协同过滤、基于模态的协同过滤再融合得到用户和项目的局部嵌入向量的函数表达式为:,
其中, 为用户和项目的局部嵌入向量, 为用户和项目的局部协同嵌入向量,为标准化函数, 为视觉模态或者文本模态, 为视觉模态 和文本模态 的集合, 为用户和项目的局部模态嵌入向量;
所述用户和项目的局部协同嵌入向量的获取包括:
1)根据用户与项目的交互数据构建用户和项目的交互矩阵R,交互矩阵R的行为用户ID、列为项目ID,当用户u与项目i有交互时,对应位置为1,否则对应位置为0;将交互矩阵R转换为二部图形式的交互图G,并根据用户与项目的交互数据构建各个模态下的用户和项目的交互矩阵并转换为二部图形式的交互图以生成基于模态的交互图;将初始嵌入矩阵设置成 ,其中 为用户嵌入特征,利用交互图G上的消息传播机制捕获用户和项目的高阶连接,任意第 层的协同图传播函数的函数表达式为:,
其中, 为第 层的输出的嵌入矩阵, 为轻量级卷积神经网络, 为第 层的输出的嵌入矩阵,为从用户与项目的交互数据的交互矩阵 中构建的邻接矩阵, 表示的度矩阵,度矩阵 的每一个对角线元素 表示邻接矩阵 的第 行非零元素个数;
2)将初始嵌入矩阵 和所有输出的嵌入矩阵根据下式组合得到用户和项目的局部协同嵌入向量:,
其中, 表示组合;
所述用户和项目的局部模态嵌入向量的获取包括:
1)分别将项目嵌入特征根据下式转换为项目的低维模态特征和用户的低维模态特征:,
,
其中, 为转换后得到的第i个项目的低维模态特征, 为转换函数, 为第i个项目的项目嵌入特征, 为变换矩阵, 为转换后得到的用户u的低维模态特征, 为用户 在用户和项目的交互图 中的邻居的集合 的大小,为用户集合, 为视觉模态或者文本模态;
2)将项目的低维模态特征和用户的低维模态特征进行组合为组合特征:,
其中, 分别为转换后得到的用户 的低维模态特征, 分别为转换~ ~ ~
后得到的项目 的低维模态特征;
~
3)将初始嵌入矩阵 设置成 ,利用基于模态的交互图上的消息传播机制捕获用户和项目的高阶连接,任意第 +1层的模态图传播函数的函数表达式为:,
其中, 为模态m的第 +1层的输出的嵌入矩阵, 为轻量级卷积神经网络,为模态m的第 层的输出的嵌入矩阵, 为从用户与项目的交互数据的交互矩阵 中构建的邻接矩阵,表示 的度矩阵;
4)将初始嵌入矩阵 和所有输出的嵌入矩阵根据下式组合得到用户和项目的局部模态嵌入向量:,
其中, 表示组合;
步骤S2中将项目嵌入特征、文本嵌入特征和图像嵌入特征利用特征过滤器过滤噪声,并结合可学习的转换向量、邻接矩阵生成用户和项目的全局嵌入向量包括:
1)根据下式将项目嵌入特征映射到一个中等维度并转换成高阶特征:,
其中, 为高阶特征, 为可训练的转换矩阵, 的维度为 ,其中 为最终嵌入向量的维度, 为模态特征嵌入的维度, 为可训练的偏置向量, , 为视觉模态或者文本模态;
2)根据下式所示的特征过滤器将高阶特征映射到一个低维空间以过滤掉部分噪声:,
其中, 为映射到低维空间后的特征, 为门控函数, 为用户嵌入特征, 为高阶特征, 表示元素级乘积, 为 激活函数, 为可训练的转换矩阵,为可训练的偏置向量;
3)引入维度为B的可学习转换向量 ,其中任意第a个维度的可学习转换向量,将映射到低维空间后的特征 根据下式融合获取含有模态特征的项目表示信息 :,
其中, 为B个维度的可学习转换向量组成的矩阵;
4)将含有模态特征的项目表示信息 与从用户与项目的交互数据的交互矩阵 中构建的邻接矩阵 根据下式进行特征级融合得到含有模态特征的用户表示信息 :;
5)将含有模态特征的项目表示信息 与含有模态特征的用户表示信息 分别根据下式进行Gumbel‑Softmax激活函数重新参数化,得到增强的项目属性依赖矩阵 和增强的用户属性关系矩阵 :,
,
其中, 为增强的项目属性依赖矩阵 的第i行向量 的重新参数化的结果,为Gumbel‑Softmax激活函数, 为噪声向量,噪声向量 中的任意第j个值 服从分布 , 为温度超参数, 为增强的用户属性关系矩阵 的第i行向量 的重新参数化的结果;
6)将增强的项目属性依赖矩阵 和增强的用户属性关系矩阵 根据下式计算得到用户和项目的全局嵌入向量 :,
,
,
,
其中, 为项目 在第 +1层的 模态下的嵌入, 为随机丢弃层dropout,用于通过随机丢弃一些神经元防止神经网络过拟合, 为项目 在第 层的 模态下的嵌入,为用户 在第 +1层的 模态下的嵌入, 为项目 在第 +1层的 模态下的嵌入,为在模态 下串联用户最终嵌入和项目最终嵌入的嵌入,上标中的 表示位于神经网络的第 层, 为在模态 下串联用户 最终嵌入, 为在模态 下串联项目 最终嵌入, 为视觉或者文本模态, 为视觉模态 和文本模态 的集合。
2.根据权利要求1所述的基于特征冗余去除的图神经网络多模态推荐方法,其特征在于,步骤S3中将用户的局部嵌入向量和全局嵌入向量融合得到用户的最终嵌入向量,将项目的局部嵌入向量和全局嵌入向量融合得到项目的最终嵌入向量的函数表达式为:,
其中, 为用户或项目的最终嵌入向量, 为用户或项目的局部嵌入向量, 为视觉或者文本模态, 为视觉模态 和文本模态的集合,为可调节的参数, 为标准化函数, 为用户和项目的全局嵌入向量。
3.根据权利要求1所述的基于特征冗余去除的图神经网络多模态推荐方法,其特征在于,步骤S4中根据用户的最终嵌入向量、项目的最终嵌入向量计算得到用户对项目的偏好得分的函数表达式为:,
其中, 为用户 对项目 的偏好得分, 为用户 的最终嵌入向量, 为项目 的最终嵌入向量,上标中的 表示转置操作。
4.根据权利要求1所述的基于特征冗余去除的图神经网络多模态推荐方法,其特征在于,所述图神经网络多模态推荐模型在训练时采用的损失函数 的函数表达式为:,
其中, 为损失项加权的超参数, 为用于调整动态特征冗余去除损失的相对幅度的超参数, 为贝叶斯个性化排序损失, 为用户侧的跨模态对比损失, 为项目侧的跨模态对比损失, 为基于交互的协同过滤的损失, 为基于模态的协同过滤的损失。
5.根据权利要求4所述的基于特征冗余去除的图神经网络多模态推荐方法,其特征在于,贝叶斯个性化排序损失 的计算函数表达式为:,
其中, 为训练集R中的三元组,且有 , 分
别为用户 、项目 和项目 ,为用户与项目有交互的集合,为sigmoid函数, 为用户 对项目 的偏好得分, 为用户 对项目 的偏好得分,和 分别表示正则化系数和模型参数;
用户侧的跨模态对比损失 的计算函数表达式为:
,
其中,为用户集合U中的用户,为余弦相似度函数, 为温度超参数, 为用户 在视觉模态下进行图卷积之后的最终嵌入, 为用户 在文本模态下进行图卷积之后的最终嵌入;
项目侧的跨模态对比损失 的计算函数表达式为:
,
其中,为项目集合 中的项目, 为项目 在视觉模态下进行图卷积之后的最终嵌入, 为项目 在文本模态下进行图卷积之后的最终嵌入;
基于交互的协同过滤的损失 的计算函数表达式为:,
其中,为图神经网络编码器总共需要卷积的层数, 为用户对应的第 层的惩罚系数, 为矩阵的列相关性, 为局部建模中第 层的用户嵌入, 为项目对应的第 层的惩罚系数, 为局部建模中第 层的项目嵌入;
基于模态的协同过滤的损失 的计算函数表达式为:;
其中, 为图神经网络编码器总共需要卷积的层数, 为用户对应的第 层的惩罚系数, 为矩阵的列相关性, 为全局建模中第 层的用户嵌入, 为项目对应的第层的惩罚系数, 为全局建模中第 层的项目嵌入。
6.一种基于特征冗余去除的图神经网络多模态推荐系统,包括相互连接的微处理器和存储器,其特征在于,所述微处理器被编程或配置以执行权利要求1~5中任意一项所述基于特征冗余去除的图神经网络多模态推荐方法。
7.一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序或指令,其特征在于,该计算机程序或指令被编程或配置以通过处理器执行权利要求1~5中任意一项所述基于特征冗余去除的图神经网络多模态推荐方法。
8.一种计算机程序产品,包括计算机程序或指令,其特征在于,该计算机程序或指令被编程或配置以通过处理器执行权利要求1~5中任意一项所述基于特征冗余去除的图神经网络多模态推荐方法。