一种基于多任务自适应交互的深度学习推荐方法
文献发布时间:2024-07-23 01:35:21
技术领域
本发明涉及一种基于自适应交互的多任务深度学习推荐方法。
技术背景
推荐系统能够有效地在海量信息中返回用户可能感兴趣的内容,在不同的场景中发挥着重要作用(Shoujin Wang,Liang Hu,Yan Wang,Xiangnan He,Quan Sheng,MehmetOrgun,Longbing Cao,Francesco Ricci,and Philip Yu.2021.Graph Learning basedRecommender Systems:A Review.https://doi.org/10.24963/ijcai.2021/630),如购物网站中的商品推荐,社交网络中的朋友推荐等。随着图神经网络和多任务框架的发展,基于多任务的深度推荐系统得到了广泛的应用。然而,现有的多任务推荐方法(Yu Zhang andQiang Yang.2017.An overview of multi-task learning.National Science Review 5,1(092017),30-43.https://doi.org/10.1093/nsr/nwx105)大多存在两方面的局限:1)基于图神经网络的方法通过学习用户和内容的表征向量来进行推荐,但对于推荐的语义缺乏可解释性;2)在多任务学习框架中,不同任务之间的交互难以控制,从而影响模型整体的学习能力,如MMoE(Multi-gate Mixture-of-Experts)模型(Jiaqi Ma,Zhe Zhao,XinyangYi,Jilin Chen,Lichan Hong,and Ed H.Chi.2018.Modeling Task Relationships inMulti-task Learning with Multi-gate Mixture-of-Experts.In Proceedings of the24th ACM SIGKDD International Conference on Knowledge Discovery&;DataMining(KDD’18).Association for Computing Machinery,New York,NY,USA,1930-1939.https://doi.org/10.1145/3219819.3220007),其模型设计是针对通用的多任务学习框架,因此无法较好地平衡多个任务之间的关系,从而导致模型偏向某个任务而忽略了其他任务。
发明内容
针对上述问题,本发明的目的在于提供一种基于多任务自适应交互的深度学习推荐方法,通过可控的多任务模块设计及基于元路径的异构图表示学习实现可解释的语义推荐,用于在线购物平台中的个性化商品推荐。
本发明采用的技术方案是:
一种基于多任务自适应交互的深度学习推荐方法,其特征在于:
步骤1:异构语义信息表示模块,挖掘输入的用户和商品在异构网络中的语义信息,得到其特征向量;
步骤2:多任务底层通用模块,对所述经异构语义信息表示模块所得到的用户、商品的特征向量进行进一步交互,学习分类、推荐两个任务之间的共性和区别,并输出用于分类任务的用户、商品特征向量以及用于推荐任务下的用户、商品特征向量;
步骤3:用户、商品类别分类模块,对所述经多任务底层通用模块所得到的分类任务下的用户、商品向量进行预测,并输出用户、商品类别得分向量;
步骤4:用户、商品匹配模块,对所述经多任务底层通用模块所得到的推荐任务下的用户、商品向量进行交互并预测推荐得分,输出用户与商品匹配程度得分;
步骤5:多任务交互模块,输入所述经过用户、商品类别分类模块所得到的用户、商品类别分类得分向量以及所述经过多任务底层通用模块所得到的用于推荐任务下的用户、商品特征向量,经过多层神经网络交互,平衡分类与推荐之间的关系,输出预推荐结果;
步骤6:模型损失函数计算,输入经所述用户、商品类别分类模块得到的用户、商品类别得分向量,经过用户、商品匹配模块得到的用户、商品匹配程度得分向量,以及经过多任务交互模块得到的预推荐得分向量,利用这三个预测结果计算模型的损失函数,计算梯度并更新模型参数。
所述异构语义信息表示模块中包括:根据输入的用户u和平台其他用户之间关联的元路径,以及在线购物平台中商品i和其他商品之间关联的元路径,在异构网络中挖掘出u和i的元路径实例集合,利用图注意力网络GAT从中提取出蕴含语义信息的用户、商品特征向量。所述多任务底层通用模块中包括:输入所述异构语义信息表示模块中得到的蕴含语义信息的用户、商品特征向量,其中每个向量经过两个门控单元Gate得到分类任务和推荐任务下的权重系数,另外同时将每个向量输入多个专家模块Expert中得到多个对应输出的向量,最后将多个输出向量分别与两组从门控单元Gate中得到的权重系数加权求和,输出分别用于分类任务的用户、商品向量,以及用于推荐任务的用户、商品向量。
所述用户、商品类别分类模块中包括:输入经过所述多任务底层通用模块得到的用于分类的用户、商品特征向量,将两个向量分别输入不同的多层感知机MLP并通过sigmoid激活函数,得到对用户、商品的类别分类得分向量。
所述用户、商品匹配模块中包括:输入经过所述多任务底层通用模块得到的用于推荐的用户、商品特征向量,将两个向量拼接后输入MLP并通过sigmoid激活函数,得到用户、商品的匹配得分向量。
所述多任务交互模块中包括:输入经过所述多任务底层通用模块得到的用于推荐的用户、商品特征向量,以及经过所述用户、商品类别分类模块得到的用户、商品类别分类得分向量,用户、商品的向量经过多线性层后进行矩阵乘法,同时用户、商品类别分类得分向量也进行矩阵乘法运算,将该两个运算结果相乘得到预推荐得分向量。
所述模型损失函数计算中包括:输入用户分类得分向量、商品分类得分向量、用户与商品匹配程度得分、预推荐得分,以及超参数γ,经过如下损失函数的计算:
其中
根据本发明的第二个方面,本发明还提供了一种基于多任务自适应交互的深度学习推荐方法的推荐系统装置,其特征在于,包括以下步骤:
步骤1:查询获取模块,用于获取待推荐的用户、商品信息。
步骤2:异构语义信息表示模块,用于挖掘输入的用户和商品在异构网络中的语义信息,得到其特征向量。
步骤3:多任务底层通用模块,用于对用户、商品特征向量进行进一步交互,并输出用于分类任务的用户、商品特征向量以及用于推荐任务下的用户、商品特征向量。
步骤4:用户、商品类别分类模块,用于对所得到的分类任务下的用户、商品向量进行预测,并输出用户、商品类别得分向量。
步骤5:用户、商品匹配模块,用于对所得到的用于推荐任务下的用户、商品向量进行交互并预测推荐得分,输出用户与商品匹配程度得分向量。
步骤6:多任务交互模块,用于输入用户、商品类别得分向量以及所述经过多任务底层通用模块所得到的用于推荐任务下的用户、商品特征向量,平衡分类与推荐之间的关系,输出预推荐得分向量。
步骤7:模型损失函数模块,输入用户类别得分向量、商品类别得分向量,用户商品匹配程度得分,以及预推荐得分,计算出最终损失函数。
根据本发明的第三个方面,本发明还提供了一种存储介质,其上存储有能被处理器执行的计算机程序,其特征在于:所述计算机程序被执行时实现所述的基于多任务自适应交互的深度学习推荐方法的步骤。
根据本发明的第三个方面,本发明还提供了一种图基于多任务自适应交互的深度学习推荐设备,具有存储器和处理器,存储器上存储有能被处理器执行的计算机程序,其特征在于:所述计算机程序被执行时实现所述基于多任务自适应交互的深度学习推荐方法的步骤。
本发明的有益效果是:1、该方法通过分类任务辅助推荐任务的进行,基于元路径的HAN模型学习节点语义表征,解决了推荐系统的可解释性问题。2、该方法不但有效地利用了多任务学习框架中任务之间的相互促进能力,同时通过自适应的交互模块,促使不同任务间的相互感知,减轻过度训练可能对模型产生的损害。3、该方法通过可调节的随机反馈机制,实现多任务的灵活控制和目标平衡。
附图说明
图1为本发明的整体网络结构示意图。
图2为本发明的自适应交互模块结构示意图。
具体实施方式
本实例为一种基于异构图神经网络的个性化多任务推荐方法,具体步骤如下:将图数据输入异构信息网络表示学习框架后得到蕴含丰富语义信息的节点向量,将
步骤1:异构语义信息表示模块:
步骤1.1:生成多语义多节点向量。如图1所示,输入user和item的特征向量f
步骤1.2:区分不同语义下节点向量在推荐任务中的重要性。把节点初始特征向量输入全连接层、激活函数ELU,其输出与GAT得到的对应语义的节点向量拼接后输入MLP得到该语义的权重系数,最终的节点表示向量为该节点在各个语义下向量的加权和,输出维度output_dim=128维。同时为了减少训练样本中噪声扰动对权重的影响,本方法采用多个上述提到的权重计算模块,最终对各个模块得到的节点向量取平均值来作为最终的节点向量x
步骤2:多任务底层通用模块:
通过MMoE模块获得不同任务下的节点向量。如图1所示,节点向量x
步骤3:用户、商品类别分类模块:
计算节点分类任务损失函数。如图所示,节点分类向量{e
步骤4:用户、商品匹配模块:
计算推荐损失函数。推荐向量{e
步骤5:多任务交互模块:
预推荐损失函数。本方法提出多任务交互模块与反馈可调节的推荐模块,该模块由两个MLP层(hidden_layers=3,各层神经元个数:[128,64,32])和多个点积运算组成。如图2所示,输入user、item的推荐向量{e
步骤6:模型损失函数计算:
最终损失函数的计算由分类损失
为使得模型能够同时在分类和推荐任务上具有良好的表现,在此本方法设计了一种可调节的反馈机制,通过添加任务间的随机反馈单元来避免推荐任务过度影响分类任务的学习,其中I(λ<γ)是可控反馈的指标函数:如果一个随机生成的数字λ小于指定的速率γ,则loss
表格1:模型网络参数表
本实例还提供一种基于多任务自适应交互的深度推荐方法的推荐系统装置,包括:查询获取模块,以及模型预测模块,其中查询获取模块用于获取待推荐的用户、商品信息;模型预测模块用于将用户、商品信息输入训练好的多任务自适应交互推荐算法模型,模型能够预测用户、商品的类别并且预测用户与商品的匹配程度进行推荐。
本实例还提供一种存储介质,其上存储有能被处理器执行的计算机程序,该计算机程序被执行时实现本例中多任务自适应交互的深度推荐方法的步骤。
本实例还提供一种基于多任务自适应交互的深度推荐系统设备,具有存储器和处理器,存储器上存储有能被处理器执行的计算机程序,该计算机程序被执行时实现本例中多任务自适应交互的深度推荐方法的步骤。
为验证本发明方法有效性,本实例与当前顶级算法在HitRate@K以及Precision@K指标上进行了比较,本实例与各算法在DBLP数据集的表现具体见表2,表格中,NGCF代表Neural Graph Collaborative Filtering,HAN代表Heterogeneous Graph AttentionNetwork,MCGC代表Multi-Component Graph Convolutional Collaborative Filtering,GAT代表Graph Attention Networks,是目前深度推荐领域代表性的方法。对比上述方法,本发明所述方法在HitRate@K以及Precision@K指标上均显著超越当前算法。
表格2:DBLP数据集评测结果
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明的设施可借助软件加必需的通用硬件平台的方式来实现。本发明的实施例可以使用现有的处理器来实现,或者由被用于此目的或其他目的用于适当系统的专用处理器来实现,或者由硬接线系统来实现。本发明的实施例还包括非暂态计算机可读存储介质,其包括用于承载或具有存储在其上的机器可执行指令或数据结构的机器可读介质;这种机器可读介质可以是可由通用或专用计算机或具有处理器的其他机器访问的任何可用介质。
- 一种基于多任务深度学习的混合推荐系统及其方法
- 一种基于多任务深度学习的混合推荐系统及其方法