1.一种面向多模态数据的商品推荐方法,其特征在于,包括如下步骤:步骤1,构建用户‑项目关联图、项目模态关联图、用户模态关联图;
步骤2,构建项目的模态交集关联图及用户的模态交集关联图;
步骤3,采用LightGCN对步骤1和步骤2所得的关联图进行特征卷积,为项目和用户生成嵌入,且在每一轮次的特征卷积中均实施项目和用户的层级对比学习;
步骤4,通过带有多维损失联合训练的预测模型,采用内积的形式作为用户对项目的评分,进行推荐预测;
所述步骤1中项目模态关联图包括项目的文本模态关联图、项目的视觉模态关联图,用户模态关联图包括用户的文本模态关联图、用户的视觉模态关联图;
所述步骤3中对用户‑项目关联图进行卷积操作时,通过用户偏好优化损失函数增加显式偏好和隐式偏好的一致性;
所述步骤1用户模态关联图的构建过程具体包括:将所有的用户结点作为关联图的结点;
计算用户在模态m上的初始偏好嵌入并将其冻结;
对于用户 和 ,其在模态m上的模态偏好相似度定义为 与 间的余弦相似度,记为 ,其中 与 是用户 和 在模态m上的嵌入表示;同时,构建一个用户 在模态m上的top‑k相似项目集合;
对于每一个用户结点,建立与其在模态m上top‑k相似度项目集合中的结点之间的关联边,得到模态m下用户模态关联图;
所述步骤2中构建项目的模态交集关联图过程具体包括:将所有的项目结点作为关联图的结点;若两个结点 和 ,同时在项目的文本模态关联图和项目的视觉模态关联图都存在边,则在项目的模态交集关联图建立一条边;得到项目的模态交集关联图 ;
构建用户的模态交集关联图具体包括:将所有的用户结点作为关联图的结点;若两个结点 和 ,同时在用户的文本模态关联图和用户的视觉模态关联图都存在边,则在用户的模态交集关联图建立一条边;得到用户的模态交集关联图 。
2.根据权利要求1所述的一种面向多模态数据的商品推荐方法,其特征在于,所述步骤
1用户‑项目关联图的构建过程具体包括:将所有用户和项目作为用户‑项目关联图的结点,若用户与项目存在交互关系,则在两者之间建立一条边,最终得到用户‑项目关联图 。
3.根据权利要求1所述的一种面向多模态数据的商品推荐方法,其特征在于,所述步骤
1项目模态关联图的构建过程具体包括:将所有项目的结点作为关联图的结点;
对于项目 和 ,其在模态m上的相似度定义为 与 的余弦相似度,记为,其中 与 分别是项目 和 在模态m上的嵌入表示;同时,构建一个项目 在模态m上的top‑k相似项目集合;
对于每一个项目结点,建立与其在模态 上top‑k相似度项目集合中的结点之间的关联边,得到模态 下项目模态关联图 。
4.根据权利要求1所述的一种面向多模态数据的商品推荐方法,其特征在于,所述步骤
3中用户嵌入生成过程包括:将第 层的项目嵌入 通过用户‑项目关联图进行卷积,得到嵌入 ,将 送入用户的模态交集关联图 进行卷积,得到嵌入 ,将与 的均值作为第 层的最终项目嵌入 ;
所述步骤3中项目嵌入生成过程包括:将第 的用户嵌入 通过用户‑项目关联图进行卷积,得到嵌入 ,将 送入项目的模态交集关联图进行卷积,得到嵌入 ,将 与 的均值作为第 层的最终用户嵌入 ;
对于得到的 层项目嵌入和用户嵌入,分别采用平均池化的方式得到最终的用户嵌入矩阵 和项目嵌入矩阵 。
5.根据权利要求1所述的一种面向多模态数据的商品推荐方法,其特征在于,所述步骤
3中用户的层级对比学习具体包括:对在用户‑项目关联图和用户的模态交集关联图卷积后的用户嵌入进行对比学习,具体公式为:;
其中, 表示用户在用户‑项目关联图和用户的模态交集关联图得到的嵌入的层级对比损失, 表示在用户模态交集关联图中第 层卷积得到的用户 嵌入,表示温度系数, 表示在用户‑项目关联图中第 层卷积得到的用户 嵌入, 表示在用户‑项目关联图中第 层卷积得到的用户 嵌入, 表示用户集合,L表示卷积的层数,表示第 层,表示用户集合中的一个用户 表示用户集合中的另一用户;
对用户的模态交集关联图、用户的不同模态关联图卷积后的用户嵌入进行对比学习,具体公式为:;
其中, 表示在用户的模态交集关联图和在每个模态的用户关联图中得到的用户嵌入的层级对比损失,m表示某一模态, 表示用户集合中的一个用户, 表示模态集合, 表示在用户m模态关联图中第 层卷积得到的用户 的嵌入, 表示在用户的模态交集关联图中第 层卷积得到的用户 的嵌入, 表示在用户的m模态关联图中第层卷积得到的用户 的嵌入。
6.根据权利要求1所述的一种面向多模态数据的商品推荐方法,其特征在于,所述步骤
3中项目的层级对比学习具体包括:对在用户‑项目关联图和项目的模态交集关联图卷积后的项目嵌入进行对比学习,具体公式为:;
其中 表示在用户‑项目关联图和项目的模态交集关联图得到的项目嵌入的层级对比损失, 表示在项目的模态交集关联图中第 层卷积得到的项目 嵌入,表示温度系数, 表示在用户‑项目关联图第 层卷积得到的项目 的嵌入, 表示在用户‑项目关联图第 层卷积得到的项目 的嵌入,表示项目集合,L表示卷积的层数,表示第 层;
对项目的模态交集关联图、项目的不同模态关联图卷积后的项目嵌入进行对比学习,具体公式为:;
其中, 表示在项目的模态交集关联图和在每个模态的项目关联图中得到的项目嵌入的层级对比损失,m表示某一模态, 表示项目集合中的一个项目, 表示项目集合中另一项目, 表示模态集合, 表示在项目m模态关联图中第 层卷积得到的项目 的嵌入, 表示在项目的模态交集关联图中第 层卷积得到的项目 的嵌入, 表示在项目m模态关联图中第 层卷积得到的项目 的嵌入。