本发明涉及项目推荐,特别指一种基于双路图卷积的推荐系统。
背景技术:
1、在当今这个信息技术高速发展和互联网日趋普及的时代,我们已经步入了一个信息爆炸的新纪元。互联网的每个角落,每分每秒都在孕育和释放着海量的新数据和内容;以社交媒体为例,facebook上每分钟就有147,000张新照片被上传,而youtube上每分钟的视频上传量达到惊人的500小时。根据数据的摩尔定律,全球数据量正以双倍速度每两年增长,这种增长速度远远超过了人类处理信息的能力,导致了信息超载的现象。在信息匮乏的时代,信息的增加能显著提升我们的幸福感;但当信息量增加到超出我们的处理能力时,过多的信息反而会降低我们的幸福感。因此,为了应对信息过载,产生了从大量信息中筛选出精华的需求,即过滤大量的噪音,只留下对我们真正有价值的信息,从而实现"少即是多"的效果。在这个背景下,项目推荐系统应运而生,项目推荐系统可根据用户的需求或者喜好推荐对应的项目,例如运营商通过项目推荐系统向用户推荐合适的话费套餐、商品、电影、文章等。
2、项目推荐系统的核心在于利用数据分析技术和用户行为模式建模,以此生成个性化的推荐列表。在项目推荐系统中,数据被构建成图结构,其中用户和项目被视作节点,用户和项目之间的互动关系则形成连接这些节点的边。然而,传统的项目推荐系统采用单一的归一化技术,无论是选择对称归一化还是左归一化,限制了项目推荐系统从两种归一化技术中各自获益的可能性,且传统项目推荐系统采用硬标签,在许多情况下会导致过拟合,进而导致项目推荐系统的项目推荐准确度差强人意。
3、因此,如何提供一种基于双路图卷积的推荐系统,实现提升项目推荐准确度,成为一个亟待解决的技术问题。
技术实现思路
1、本发明要解决的技术问题,在于提供一种基于双路图卷积的推荐系统,实现提升项目推荐准确度。
2、本发明是这样实现的:一种基于双路图卷积的推荐系统,包括如下模块:
3、数据集构建模块,用于获取用户和项目交互过程中产生的大量的交互数据,对各所述交互数据进行预处理并构建数据集;
4、项目推荐模型创建模块,用于基于双路图卷积网络创建一项目推荐模型,设定所述项目推荐模型的综合损失函数;
5、所述双路图卷积网络包括一输入模块、一左归一化模块、一对称归一化模块以及一输出模块;所述左归一化模块的输入端与输入模块连接,输出端与输出模块连接;所述对称归一化模块的输入端与输入模块连接,输出端与输出模块连接;
6、所述输入模块用于数据集中邻接矩阵的输入;所述左归一化模块用于对邻接矩阵进行左归一化,并在左归一化的邻接矩阵提取用户与项目之间的第一特征,项目与项目之间的第二特征;所述对称归一化模块对邻接矩阵进行对称归一化,并在对称归一化的邻接矩阵上提取用户与项目之间的第三特征,项目与项目之间的第四特征;所述输出模块用于对归一化后的第一特征、第二特征、第三特征以及第四特征进行融合,输出项目推荐列表;
7、项目推荐模型训练模块,用于利用所述数据集对项目推荐模型进行训练,直至所述综合损失函数的综合损失值小于预设的损失阈值,训练过程中不断优化所述项目推荐模型的模型参数;
8、项目推荐模块,用于利用训练后的所述项目推荐模型进行项目推荐。
9、进一步的,所述数据集构建模块具体用于:
10、获取用户和项目交互过程中产生的大量的交互数据,对各所述交互数据进行预处理以转换为邻接矩阵:
11、a∈rm×n;
12、其中,a表示邻接矩阵;r表示实数;m表示用户个数;n表示项目个数;
13、基于各所述邻接矩阵构建数据集。
14、进一步的,所述项目推荐模型创建模块中,所述左归一化模块设有一第一用户-项目图单元以及一第一项目-项目图单元;所述对称归一化模块设有一第二用户-项目图单元以及一第二项目-项目图单元;
15、所述第一用户-项目图单元以及第二用户-项目图单元均用于对用户与项目之间的关系进行建模,捕获用户与项目之间的关系;
16、所述第一项目-项目图单元以及第二项目-项目图单元均用于对项目之间的关系进行建模,捕获项目之间的关系。
17、进一步的,所述项目推荐模型创建模块中,所述综合损失函数的公式为:
18、lt=(1-α)lleft+αlsym;
19、lleft=llc+λlli+γ||θ||2;
20、lsym=lrc+λlri+γ||θ||2;
21、其中,lt表示综合损失函数的综合损失值;lleft表示左归一化模块的损失值;lsym表示对称归一化模块的损失值;α、λ、γ均表示权重系数;|| ||2表示l2正则化;θ表示模型参数;llc表示第一约束损失函数;lli表示项目关系的第一关系损失函数;lrc表示第二约束损失函数;lri表示项目关系的第二关系损失函数。
22、进一步的,所述第一约束损失函数基于标签平滑策略生成;所述第二约束损失函数基于软标签策略生成。
23、进一步的,所述项目推荐模型训练模块具体用于:
24、基于预设比例将所述数据集划分为训练集和验证集;利用所述训练集对项目推荐模型进行训练,直至所述综合损失函数的综合损失值小于预设的损失阈值;设定adam优化器的学习率为0.001,嵌入向量长度为64,训练过程中使用所述adam优化器不断优化项目推荐模型的模型参数;
25、利用所述验证集对训练后的项目推荐模型进行验证,判断项目推荐准确度是否大于预设的准确度阈值,若是,则结束训练;若否,则扩充所述训练集继续训练。
26、本发明的优点在于:
27、通过获取用户和项目交互过程中产生的大量的交互数据,对各交互数据进行预处理并构建数据集;接着基于双路图卷积网络创建项目推荐模型,设定项目推荐模型的综合损失函数,利用数据集对项目推荐模型进行训练,直至综合损失函数的综合损失值小于预设的损失阈值,训练过程中不断优化项目推荐模型的模型参数,最后利用训练后的项目推荐模型进行项目推荐;由于双路图卷积网络包括输入模块、左归一化模块、对称归一化模块以及输出模块;输入模块用于数据集中邻接矩阵的输入;左归一化模块用于对邻接矩阵进行左归一化,并在左归一化的邻接矩阵提取用户与项目之间的第一特征,项目与项目之间的第二特征;对称归一化模块用于对邻接矩阵进行对称归一化,并在对称归一化的邻接矩阵上提取用户与项目之间的第三特征,项目与项目之间的第四特征;输出模块用于对归一化后的第一特征、第二特征、第三特征以及第四特征进行融合,输出项目推荐列表;综合损失函数中的第一约束损失函数和第二约束损失函数将正负样本一起优化,缓解了过平滑的现象,并且使用了软标签代替硬标签,缓解了过拟合的现象;既结合了左归一化和对称归一化的优势,并避免过度平滑和过拟合,最终极大的提升了项目推荐准确度。
1.一种基于双路图卷积的推荐系统,其特征在于:包括如下模块:
2.如权利要求1所述的一种基于双路图卷积的推荐系统,其特征在于:所述数据集构建模块具体用于:
3.如权利要求1所述的一种基于双路图卷积的推荐系统,其特征在于:所述项目推荐模型创建模块中,所述左归一化模块设有一第一用户-项目图单元以及一第一项目-项目图单元;所述对称归一化模块设有一第二用户-项目图单元以及一第二项目-项目图单元;
4.如权利要求1所述的一种基于双路图卷积的推荐系统,其特征在于:所述项目推荐模型创建模块中,所述综合损失函数的公式为:
5.如权利要求4所述的一种基于双路图卷积的推荐系统,其特征在于:所述第一约束损失函数基于标签平滑策略生成;所述第二约束损失函数基于软标签策略生成。
6.如权利要求1所述的一种基于双路图卷积的推荐系统,其特征在于:所述项目推荐模型训练模块具体用于:
