本发明涉及推荐学习,具体地说是一种基于图卷积网络的商品推荐方法、系统、设备及介质。
背景技术:
1、近年来,随着线上平台的发展,线上信息不断增长造成信息过载,推荐系统迅速崛起。推荐系统背后的核心思想是协同过滤(collaborative filtering,cf),支持cf的基本假设是,相似的用户倾向于喜欢相同的项目,拥有相似受众的项目倾向于从个人那里获得类似的评级。序列推荐广泛应用于电商平台,通过建模用户的序列行为来学习用户兴趣的变化,并对用户下一个行为进行预测。但在电商平台的实际应用中用户的历史行为序列中普遍存在隐式和嘈杂的偏好信号,这无疑会降低用户真实兴趣的建模效果,降低推荐精度,使电商平台中的用户体验感下降。
2、深度学习在一定程度上缓解了噪声问题,并且在序列数据建模方面显示出压倒性的优势。利用卷积神经网络(convolutional neural networks,cnn)、循环神经网络(recurrent neural networks,rnn)以及注意力机制(attention mechanism)的推荐工作层出不穷,推动了深度学习在推荐系统中的应用,但这些基于cnn,rnn的推荐模型以及其他浅层模型在学习时无法获取高阶邻居的表达,限制了推荐精度的进一步提升。而且gnn也面临着数据稀疏性问题,由于特征数据的不完整性和幂律分布,可以被模型有效利用的数据相对较少。gcn利用来自高阶邻居的协作信号来学习用户和项目嵌入。但伴随而来的是过平滑问题,多层gcn导致学习到的嵌入表达相似性极高、无法区分不同类别的节点。另外,传统gcn在聚合过程中忽视了邻居节点之间的交互以及嵌入的跨层融合。而噪声问题也是推荐系统中比较普遍的问题,由于隐式反馈中用户和项目之间存在嘈杂交互,从而影响推荐系统的推荐结果。
3、最近提出的imp-gcn中的项目嵌入是从其所属的不同用户兴趣子图的邻居中聚合而来,这些高阶相邻用户可能没有共同兴趣,甚至其兴趣是相互矛盾的,这会在生成物品嵌入的过程中不可避免地引入噪声,加剧过平滑问题。另外,由于项目间的相似性相对稳定,即项目的数量比用户数量少,基于项目的推荐算法从项目角度进行分析,寻找与目标项目相似的项目集合进行预测和推荐。该算法既可以减少计算量,又降低数据稀疏性。有人提出的基于项目的协同过滤算法通过组合与用户购买过的物品相似的其他物品实现推荐。ultragcn除了在项目-项目图上直接显性学习项目之间的关系,还通过对用户-项目图的学习上跳过无穷的消息传递,直接接近最终状态即收敛状态。因此,通过考虑项目-项目对能够实现高质量的推荐,在gnn中对项目进行分组对提高推荐精度是非常必要的。
4、此外,传统gcn在信息传递过程中通常将用户-项目二分图作为一个整体同时生成嵌入,忽略了其作为一个异质图的事实。针对过平滑问题,网络结构通过一个residualattention module的结构进行堆叠,可使网络模型达到很深的层次,但该模型用于解决欧式空间的图像分类问题,节点的邻居节点数量是固定的,这并不适用于邻居节点数量不固定的图神经网络。nia-gcn充分利用了用户-项目二分图的异构性,显式建模邻居节点之间的关系信息,但是该模型叠加层数过多时会导致过平滑问题。
5、故如何降低过平滑问题对电商平台推荐的影响,实现电商平台的高质量推荐,进而提升用户的体验感是目前亟待解决的技术问题。
技术实现思路
1、本发明的技术任务是提供一种基于图卷积网络的商品推荐方法、系统、设备及介质,来解决如何降低过平滑问题对电商平台推荐的影响,实现电商平台的高质量推荐,进而提升用户的体验感的问题。
2、本发明的技术任务是按以下方式实现的,一种基于图卷积网络的商品推荐方法,该方法具体如下:
3、跨层预处理:在用户项目交互图中的同一层中捕获数据集中邻居对之间关系,独立聚合用户项目交互图的中心节点在数据集上不同层的用户节点信息和项目节点信息,并分别获取用户预处理嵌入信息和项目预处理嵌入信息;
4、生成子图:基于用户预处理嵌入信息和项目预处理嵌入信息分别在数据集上生成若干用户子图和项目子图;
5、获取嵌入特征:用户子图和项目子图通过基于高阶图卷积的双向子图信息传递策略获取精确的用户嵌入特征和项目嵌入特征;其中,基于高阶图卷积的双向子图传递策略具体是在用户子图和项目子图中分别引入图卷积运算,对于用户,从用户所属的用户子图的邻居节点中接收信息;相应地,对于项目,从所属的项目子图的邻居节点中接收信息,最终生成用户嵌入特征和项目嵌入特征;
6、网络堆叠:通过擦差注意力网络对双向子图的网络结构进行堆叠,通过增加一定的深度来提高推荐精度,进一步缓解过平滑问题对推荐性能的影响并为用户进行top-k商品推荐;
7、联合优化:设置多任务学习联合优化为用户推荐的top-k商品。
8、作为优选,跨层预处理具体如下:
9、对于从数据集中提取的用户-项目二分图执行层内邻域聚合操作,即对每两个邻居嵌入之间利用逐元素相乘来学习用户和物品之间的关系,去显式地建模邻居间的交互;以用户节点u为中心节点,令qa和qb分别表示其第k层的邻域嵌入矩阵中的第a行和第b行,其中表示以用户u为中心节点的第k层中邻域的数量,则对数据集上的用户u执行的层内邻域聚合运算,公式如下:
10、
11、对于数据集来说,只考虑层内邻域聚合是远远不够的,因为只包含了同一层中邻居的成对关系信息,为了将每一层的信息传递到中心节点,还需要执行跨层融合,即跨层mean运算:对数据集上的每层的邻居求平均得到并将与进行连接随后通过多层感知机形成局部邻域嵌入公式如下:
12、
13、
14、其中,[;]表示连接操作;表示在数据集上的可学习的参数矩阵;表示中心节点u的初始嵌入;相同地,对于在数据集中以项目节点i为中心节点的第k层嵌入方式同以用户节点u为中心节点。
15、为了防止过拟合,针对数据集的预训练只进行两层的信息传递,随后将数据集上的每层用户嵌入和项目嵌入进行如下的聚合操作,得到用户u的预处理嵌入信息和项目i的预处理嵌入信息公式如下:
16、
17、
18、其中,⊙表示逐元素相乘;
19、选择贝叶斯个性化排名(bpr)作为跨层预训练的损失函数,公式如下:
20、
21、其中,表示数据集中的训练集;表示数据集中被观察到的正面交互;表示数据集中采样的未被观察到的负面交互。
22、作为优选,生成子图具体如下:
23、将子图划分看作分类任务,根据数据集中的用户兴趣对用户进行分组,将具有共同兴趣的用户划分为一个用户子图,每个用户子图中包含兴趣相似的用户以及与用户子图交互的项目;同样,将数据集中具有相似属性的项目划分形成一个项目子图,每个项目子图中包含属性相似的项目以及与之交互的用户;具体来说,将用户嵌入送入一个多层感知机(mlp)来完成分类任务,公式如下:
24、
25、...
26、
27、...
28、
29、其中,表示用户u的预处理嵌入;表示用户u在第z层隐层的输出向量;wz和bz分别表示第z层隐层的权重矩阵和偏置向量;σ是激活函数,激活函数采用leakyrelu,编码正面信号和小的负面信号;同样地,在数据集上项目的分类任务公式如下:
30、
31、...
32、fiz=σ(wzfiz-1+bz);
33、...
34、fiz=σ(wzfiz-1+bz);
35、使用softmax将和fiz归一化为相应的分类概率分布,公式如下:
36、
37、p(is|i)=softmax(fiz);
38、其中,us表示对用户分类的类标签,且us∈{1,...,ns};p(us|u)表示用户u属于类别us的概率;随后根据p(us|u)对数据集中的每个用户进行分类得到ns个用户子图gus,即u∈gus(wheremaxp(us|u));
39、为了最大化和上的分类预测概率,将负对数似然损失函数优化如下:
40、
41、
42、
43、其中,m表示数据集中用户的数量;表示用户u属于类别us的伪标签;项目的子图生成过程与用户的子图生成过程相同。
44、作为优选,获取嵌入特征具体如下:
45、通过双向子图,在数据集中每个用户只属于一个用户子图,一个项目关联多个用户子图,每个项目只属于一个项目子图,一个用户关联多个项目子图;在gus和gis中分别引入图卷积运算,具体如下:
46、对于基于高阶图卷积的双向子图信息传递,为了避免引入数据集中的噪声信息,对于用户u,从该用户所属的用户子图的邻居节点中接收信息;相应地,对于项目i,从其所属的项目子图的邻居节点处接收信息;用户子图和项目子图上的高阶信息传播过程定义为:
47、
48、
49、其中,分别表示数据集中用户u和项目i在其所属的用户子图和项目子图上的第l层嵌入;表示在用户子图gus中和用户u交互的项目集合;表示在用户子图gus中和项目i交互的用户集合;表示在项目子图gis中和用户u交互的项目集合;表示在项目子图gis中和项目i交互的用户集合;和是对称归一化项,用以避免嵌入规模随图卷积运算而增加。
50、作为优选,网络堆叠具体如下:
51、使用注意力网络为每一层生成一个权重αl,用权重αl表示当前层对下一层的贡献度,公式如下:
52、
53、其中,[;]表示连接操作;
54、针对数据集进行残差预测,结合中注意力权重的残差注意力偏好学习,公式如下:
55、
56、其中,l表示子图信息传递叠加的总层数;以top-k推荐为目标,对数据集中的用户进行top-k商品推荐;
57、采用成对学习的方法进行优化,目标函数表达式为:
58、
59、其中,表示数据集中的训练集;表示在训练集中用户u和i+之间被观察到的交互集合;表示被采样的未被观察到的交互集合。
60、更优地,联合优化具体如下:
61、为了提高推荐精度,利用多任务学习训练策略联合优化针对数据集的经跨层预处理网络、双向子图生成网络和双向子图图卷积网络,公式如下:
62、
63、其中,θ为lmain、lpre-train和lclass中网络参数的集合;λ1是控制预处理网络的超参数;λ2是控制双向子图生成网络的超参数;λ3是控制l2正则化强度的超参数;
64、采用小批量adam对预测网络进行优化并更新网络参数从而实现为用户精准top-k推荐电商平台的商品。
65、一种基于图卷积网络的商品推荐系统,该系统用于实现上述的基于图卷积网络的商品推荐方法;该系统包括:
66、跨层预处理模块,用于在同一层中捕获数据集中邻居对之间关系,独立聚合中心节点在不同层的用户节点信息和项目节点信息,并分别获取用户预处理嵌入信息和项目预处理嵌入信息;
67、子图生成模块,用于基于用户预处理嵌入信息和项目预处理嵌入信息分别在数据集上生成若干用户子图和项目子图;
68、嵌入特征获取模块,用于将用户子图和项目子图通过基于高阶图卷积的双向子图信息传递策略获取精确的用户嵌入特征和项目嵌入特征;
69、网络堆叠模块,用于通过擦差注意力网络对双向子图的网络结构进行堆叠,通过增加一定的深度来提高推荐精度,进一步缓解过平滑问题对推荐性能的影响并为用户进行top-k商品推荐;
70、联合优化模块,用于设置多任务学习联合优化为用户推荐的top-k商品。
71、作为优选,该系统通过提取数据集中的评论以及产品属性作为数据输入经预处理获取用户预处理嵌入信息和项目预处理嵌入信息,再经双向子图生成网络生成用户子图和项目子图,再经双向子图信息传递策略生成用户嵌入特征和项目嵌入特征,最后经残差注意力网络和多任务学习对电商平台的用于进行top-k商品推荐。
72、一种电子设备,包括:存储器和至少一个处理器;
73、其中,所述存储器上存储有计算机程序;
74、所述至少一个处理器执行所述存储器存储的计算机程序,使得所述至少一个处理器执行如上述的基于图卷积网络的商品推荐方法。
75、一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序可被处理器执行以实现如上述的基于图卷积网络的商品推荐方法。
76、本发明的基于图卷积网络的商品推荐方法、系统、设备及介质具有以下优点:
77、(一)本发明对初始嵌入进行层内邻域聚合运算和跨层mean运算以达到预处理的目的,由于某一中心节点的同层邻居节点要么是用户节点要么是项目节点,可通过独立聚合分别获取用户嵌入和项目嵌入;
78、(二)本发明根据预处理得到的嵌入,双向子图生成模型通过无监督分类分别生成若干个用户子图和项目子图,通过分别在两类子图内执行基于高阶图卷积的双向子图信息传递策略来缓解数据稀疏性问题和噪声问题;
79、(三)本发明设计了适用于双向子图gcn的残差注意力网络,降低过平滑问题的影响,实现高质量推荐;
80、(四)考虑到传统gcn在聚合过程中以逐层递归的形式来对中心节点进行更新,容易忽视邻居节点之间的交互以及跨层信息传播对嵌入生成的影响,本发明的预处理网络在同一层中捕获邻居对之间的关系的同时,独立聚合中心节点在不同层的用户节点和项目节点信息,分别获取用户和项目的预处理嵌入;
81、(五)针对基于用户子图划分生成项目表达引入的噪声问题,本发明基于预处理嵌入分别生成若干个用户子图和项目子图,并分别在两类子图内执行基于高阶图卷积的双向子图信息传递策略,进而获得更加精确的用户和项目嵌入。通过双向子图生成模型的划分,可有效避免将来自高阶邻居的噪声信息传播到学习的嵌入表达中;
82、(六)针对图卷积网络中的过平滑问题,本发明通过残差注意力网络对双向子图的网络结构进行堆叠,通过增加一定的深度来提高推荐精度,进一步缓解过平滑问题对推荐性能的影响;
83、(七)本发明可以将电商平台中用户和项目的历史交互行为构建成图,基于图卷积将数据从用户和物品进行两个角度的建模,先后进行跨层预处理、分类任务以及图卷积任务,并通过多任务学习来优化参数,提高了推荐的准确度,最终获得用户和物品的特征表示,进而准确地向平台中的用户推荐相应的商品。