1.本发明涉及数据挖掘领域,特别涉及一种电商网络商品推荐方法及系统。
背景技术:2.互联网的出现和普及给用户带来了大量信息,满足了用户对信息的需求,但随着网络的快速发展,网上信息大幅增加,用户在面对大量信息时无法获得对自己真正有用的那部分信息,对信息的使用效率反而降低了,这就是所谓的信息过载问题。解决信息过载问题一个非常有潜力的方法是推荐系统。推荐系统已经成为各种在线平台最重要的技术之一,如淘宝、京东的商品推荐,抖音的视频推荐和知乎的问题推荐等。随着电子商务规模的不断扩大,商品个数和种类的快速增长,如何从大量商品中选出用户想购买的商品已成为急需解决的问题。电商网络商品推荐系统旨在通过用户的历史购买记录挖掘用户的兴趣偏好继而为其推荐可能感兴趣的商品。使用电商网络商品推荐系统不仅可以为用户提供个性化推荐,还可以增加商家收入,创造更多的经济价值。
3.推荐的核心是通过分析用户的历史购买记录研究用户的兴趣偏好,继而从大量商品中找出用户可能感兴趣的商品。传统的推荐方法主要包括:基于用户的协同过滤方法、基于物品的协同过滤方法、矩阵分解方法、神经协同过滤方法等,但是,这些方法面临数据稀疏的问题且无法捕获用户和商品之间的高阶协同过滤信号。
技术实现要素:4.本发明要解决的技术问题是:提供一种电商网络商品推荐方法及系统,该方法基于兴趣子图的图注意力网络,在兴趣子图内使用图注意力网络进行多层卷积操作,捕获用户和商品的高阶协同过滤信号,由于子图由兴趣相似的用户及其交互项组成,避免了将兴趣不相似的高阶邻居的负面信息传播到特征向量中。本发明可以充分挖掘用户的潜在兴趣对用户进行准确的推荐。
5.为了达到上述目的,本发明采用了下列技术方案:
6.本发明提供了一种电商网络商品推荐方法,先获取用户的购物数据,所述购物数据包括每个用户的编号、用户购买商品的编号、用户对商品的购买历史标签,所述标签用于表征用户是否购买过该商品;然后,利用获取的数据构建用户-商品二分图和交互矩阵;设计基于兴趣子图的注意力网络推荐模型,所述模型包括一阶信息传播模块、子图生成模块、高阶信息传播模块和预测模块四个模块;最后,利用购物数据训练模型,获得使所述模型达到最优解时的每个用户的用户特征向量以及每个商品的商品特征向量;对于任意一个用户,根据该用户的用户特征向量与各商品特征向量的内积,获得该用户对所有商品的预测偏好,根据该用户对所有商品的预测偏好获得该用户的商品推荐列表;
7.该方法具体包含以下四个步骤:
8.s10、获取并加载电商购物平台用户购物数据,利用用户购物数据构建用户
ꢀ‑
商品二分图和用户商品交互矩阵;
9.s20、基于步骤s10建立的交互矩阵,利用图注意力网络构建电商网络商品推荐模型;
10.s30、对于步骤s20构建的电商网络商品推荐模型,设计目标函数,通过最小化目标函数进行模型训练;
11.s40、利用步骤s20构建的电商网络商品推荐模型,以及步骤s30通过迭代训练确定的模型最优参数,将预测的推荐结果进行输出。
12.进一步,所述步骤s10中的用户购物数据包括每个用户的编号,用户购买商品的编号以及用户对商品的购买历史标签,所述标签用于表征用户是否购买过该商品;
13.进一步,所述利用用户购物数据构建用户-商品二分图为g=(u,i,e),其中: u={u1,u2,...,un}表示n个用户构成的集合,n表示用户的数量,un表示第n个用户, n={1,2,...,n};i={i1,i2,...,im}表示m个商品构成的集合,m表示商品的数量,im表示第m个商品,m={1,2,...,m};e={e
nm
}
n=1,2,...,n,m=1,2,...,m
表示用户对不同商品的购买集合;若用户un购买商品im,则用户un和商品im有交互关系,否则,没有交互关系; e
nm
表示用户un和商品im的交互关系,如果用户un与商品im有交互,则e
nm
=1,否则,e
nm
=0。
14.进一步,所述构建用户商品交互矩阵具体为:
15.构建用户-商品二分图g=(u,i,e)的m
×
n维交互矩阵,该交互矩阵记为a,令a中每个元素的值表示网络g=(u,i,e)中用户和商品间的交互关系,即a中第i 行,第j列(1≤i≤m,1≤j≤n)的元素a
ij
代表网络中第i个用户节点ui和第j个商品节点ij之间的交互关系,如果ui和ij之间存在交互,则a
ij
=1,否则a
ij
=0。
16.进一步,所述步骤s20中的电商网络商品推荐模型主要包括四个模块:一阶信息传播模块、子图生成模块、高阶信息传播模块和预测模块。一阶信息传播模块通过一层图注意力卷积操作聚合用户的直接兴趣偏好;子图生成模块将兴趣相似的用户及其交互项划分到同一子图中;高阶信息传播模块通过多层图注意力卷积操作得到用户的潜在兴趣偏好;预测模块计算用户和商品的相似性取排名前十的商品给用户进行推荐。
17.进一步,所述步骤s20包含以下具体步骤:
18.s21、使用图注意力网络将用户-商品二分图g=(u,i,e)编码为低维空间中的向量表示,用户u和商品i分别用d维向量表示;一阶邻居表示用户和商品的直接交互对象,用户u的一阶邻居是其直接购买的商品,商品i的一阶邻居是直接购买它的用户;由于用户和商品之间的直接交互关系提供了最重要、最可靠的用户兴趣信息,因此在一阶信息传播中,所有一阶邻居都参与了图注意力卷积运算;因为用户对不同的商品偏好不同,所以对直接购买的商品赋予不同的权重;同理,对于某一商品,不同用户对它的偏好不同,所以对直接购买该商品的用户赋予不同的权重;一阶信息传播过程形式化的表示如下所示:
[0019][0020][0021]
其中,和分别是用户u和商品i的一阶特征向量,即聚合一阶邻居信息的特征向量;融合了用户直接购买的商品的信息,捕获了用户显性的兴趣偏好;和分别是
用户u和商品i的初始特征向量;nu表示用户u购买的商品集合,|nu|为用户u购买的商品数量;ni表示购买商品i的用户集合,|ni|为购买商品i的用户数量;α
ui
为用户u购买的所有商品中商品i的权重;α
iu
为购买商品i的所有用户中用户u的权重;其中α
ui
和α
iu
的定义如式(3)、(4)所示:
[0022][0023][0024]
式中,leakyrelu是非线性激活函数,由式(5)定义;a是权重向量;w是权重矩阵;eu表示用户u的特征向量;ei表示商品i的特征向量;||是连接操作;
[0025][0026]
式中,λ是负输入斜率,取值为0.01;
[0027]
s22、进一步的,将兴趣相似的用户划分到同一子图中,子图是由兴趣相似的用户及其交互项组成,该过程可以看作节点分类任务,用户的特征向量表示如式(6)所示:
[0028][0029]
其中,fu是用户u融合初始特征向量和一阶特征向量的特征向量;是用户u的初始特征向量;是用户u的一阶特征向量;w1与b1分别为编码权重和偏置;leakyrelu(x)为激活函数如式(5)所示,λ为负输入斜率,取值为0.01;生成子图过程形式化的表示为:
[0030]
uh=leakyrelu(w2fu+b2)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0031]
u0=w3uh+b3ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0032]
其中,uh表示用户u的融合特征向量;u0表示预测向量,u0取值最大的位置表明分配的子图;fu是用户u融合初始特征向量和一阶特征向量的特征向量;w2和w3均为编码权重,b2和b3均为偏置;leakyrelu(x)为激活函数,如式(5)所示,λ为负输入斜率,取值为0.01;
[0033]
s23、进一步的,为挖掘用户的潜在兴趣偏好,在各个子图中通过多层图注意力卷积操作捕获用户和商品的高阶协同过滤信号。通过挖掘用户和商品之间的高阶连通性捕获用户与高阶商品邻居的隐性兴趣。在子图gs内,利用图注意力卷积操作聚合邻居的特征信息,一层图注意力卷积操作聚合一阶邻居的特征信息,k层图注意力卷积操作聚合阶k阶邻居的特征,形式化的表示为:
[0034][0035][0036]
其中,是聚合k+1阶邻居信息的用户u的特征向量;是在子图s内聚合k+1阶邻居信息的商品i的特征向量;是聚合k阶邻居信息的用户u的特征向量;是在子图
s内聚合k阶邻居信息的商品i的特征向量;nu表示用户u购买的商品集合,|nu|为用户u购买的商品数量;ni表示购买商品i的用户集合,|ni|为购买商品i的用户数量;α
ui
为用户u购买的所有商品中商品i的权重;α
iu
为购买商品i的所有用户中用户u的权重;其中α
ui
和α
iu
的定义如式(3)、(4)所示;将每层卷积学习到的用户和商品的特征向量通过加权求和的方式进行融合,形式化的表示如下所示:
[0037][0038][0039]
其中,eu是用户u最终的特征向量;ei是商品i最终的特征向量;αk表示k阶特征向量的权重,其中k为图注意力卷积层数;表示用户u的k阶特征向量,是进行k层图注意力卷积操作后用户u的特征向量;表示商品i的k阶特征向量,是进行k层图注意力卷积操作后商品i 的特征向量;图注意力卷积操作是为了聚合邻居的信息,挖掘用户的潜在兴趣;
[0040]
s24、进一步的,使用内积公式如(13)式所示,来预测用户u对商品i的偏好:
[0041][0042]
其中,表示用户特征向量和商品特征向量的内积即用户对商品的预测偏好;eu是用户u最终的特征向量;ei是商品i最终的特征向量。
[0043]
进一步,所述步骤s30包含以下具体步骤:
[0044]
s31、对s20所述的一阶信息传播模块、子图生成模块、高阶信息传播模块和预测模块进行训练,目标函数如式(14)所示:
[0045][0046]
其中,o={(u,i
+
,i-)|(u,i
+
)∈r
+
,(u,i-)∈r-}表示训练集,r
+
表示训练集中用户与商品有交互行为,r-表示训练集中用户和商品没有交互行为;i
+
表示与用户u 交互过的商品集合,i-表示与用户u没有交互过的商品集合;表示有交互行为的用户和商品的预测偏好;表示没有交互行为的用户和商品的预测偏好;λ和θ分别表示模型的正则化参数和模型参数;σ激活函数如式(15)定义:
[0047][0048]
其中,e为常数;x表示函数变量。
[0049]
s32、利用梯度下降方法进行反向传播,对电商网络商品推荐模型中的连接权重矩阵进行更新。
[0050]
进一步,所述步骤s40包括以下具体步骤:
[0051]
s41、使用公式(13)计算用户和商品的预测偏好,对于某一用户,根据该用户的用
户特征向量与各商品特征向量的内积获得该用户对所有商品的预测偏好,根据该用户对所有商品的预测偏好选取排名靠前的商品进行推荐;
[0052]
s42、将电商网络商品推荐的结果输出至用户和相关电商平台运营分析人员,用于向用户推荐其感兴趣的商品,为用户提供个性化的推荐服务;运营分析人员通过分析用户偏好进行准确的推荐,提高用户满意度和忠诚度,提升销售量创造更多的经济价值。
[0053]
本发明还提供一种电商网络商品推荐系统,用于实现上述电商网络商品推荐方法,包括计算机处理器和内存、电商网络用户-商品二分图构建和交互矩阵构建单元、电商网络商品推荐模型训练单元、电商网络商品推荐结果输出单元。
[0054]
进一步,所述电商网络用户-商品二分图构建和交互矩阵构建单元根据用户购物数据构建用户-商品二分图和交互矩阵,并加载到计算机内存中;所述电商网络商品推荐模型训练单元根据构建的用户-商品二分图和交互矩阵,构建电商网络商品推荐模型,并通过迭代计算确定模型中参数的最优值,根据模型中参数的最优值,计算内积,获取推荐结果;所述电商网络商品推荐结果输出单元用于将电商网络商品推荐结果输出;所有单元中具体的数据处理和计算工作由所述计算机处理器完成,且所有单元都与所述计算机内存的数据交互。
[0055]
与现有技术相比本发明具有以下优点:
[0056]
1、本发明电商网络商品推荐方法,利用图注意力网络构建了电商网络商品推荐模型,能够捕获用户和商品的高阶协同过滤信号,充分挖掘用户和商品的关系,得到用户的潜在兴趣偏好。
[0057]
2、本发明电商网络商品推荐方法,将兴趣相似的用户划分到同一子图,子图由兴趣相似的用户及其交互项组成,在子图中执行多层图注意力卷积操作,可以避免将兴趣不相似的高阶邻居的负面信息传播到特征向量中,得到更加准确的用户和商品的特征向量,通过内积预测用户偏好,从而得到更加精确的推荐列表。
附图说明
[0058]
图1为本发明所述步骤s20中的电商网络商品推荐模型结构图;
[0059]
图2为本发明所述一种电商网络商品推荐系统的系统结构图;
[0060]
图3为本发明所述一种电商网络商品推荐方法的流程图。
具体实施方式
[0061]
为了进一步阐述本发明的技术方案,下面结合附图及实施例对本发明进行进一步说明。
[0062]
实施例1
[0063]
一种电商网络商品推荐方法,包括以下步骤:
[0064]
s10、获取并加载电商购物平台用户购物数据,利用用户购物数据构建用户
ꢀ‑
商品二分图和用户商品交互矩阵;
[0065]
s20、基于步骤s10建立的交互矩阵,利用图注意力网络构建电商网络商品推荐模型;
[0066]
s30、对于步骤s20构建的电商网络商品推荐模型,设计目标函数,通过最小化目标
函数进行模型训练;
[0067]
s40、利用步骤s20构建的电商网络商品推荐模型,以及步骤s30通过迭代训练确定的模型最优参数,将预测的推荐结果进行输出。
[0068]
实施例2
[0069]
一种电商网络商品推荐方法,具体包括以下步骤:
[0070]
s10、获取并加载电商购物平台用户购物数据,利用用户购物数据构建用户
ꢀ‑
商品二分图和用户商品交互矩阵;所述户购物数据包括每个用户的编号,用户购买商品的编号以及用户对商品的购买历史标签,所述标签用于表征用户是否购买过该商品。
[0071]
所述利用用户购物数据构建用户-商品二分图g=(u,i,e),其中 u={u1,u2,...,un}表示n个用户构成的集合,n表示用户的数量,un表示第n个用户, n={1,2,...,n};i={i1,i2,...,im}表示m个商品构成的集合,m表示商品的数量,im表示第m个商品,m={1,2,...,m};e={e
nm
}
n=1,2,...,n,m=1,2,...,m
表示用户对不同商品的购买集合;若用户un购买商品im,则用户un和商品im有交互关系,否则,没有交互关系; e
nm
表示用户un和商品im的交互关系,如果用户un与商品im有交互,则e
nm
=1,否则,e
nm
=0。
[0072]
所述构建用户商品交互矩阵具体为:构建用户-商品二分图g=(u,i,e)的 m
×
n维交互矩阵,该交互矩阵记为a,令a中每个元素的值表示g=(u,i,e)中用户和商品间的交互关系,即a中第i行,第j列(1≤i≤m,1≤j≤n)的元素a
ij
代表网络中第i个用户节点ui和第j个商品节点ij之间的交互关系,如果ui和ij之间存在交互,则a
ij
=1,否则a
ij
=0。
[0073]
s20、基于步骤s10建立的交互矩阵,利用图注意力网络构建电商网络商品推荐模型;所述电商网络商品推荐模型包括四个模块:一阶信息传播模块、子图生成模块、高阶信息传播模块和预测模块;所述一阶信息传播模块通过一层图注意力卷积操作聚合用户的直接兴趣偏好;所述子图生成模块用于将兴趣相似的用户及其交互项划分到同一子图中;所述高阶信息传播模块通过多层图注意力卷积操作得到用户的潜在兴趣偏好;所述预测模块用于计算用户和商品的相似性,并取排名前十的商品给用户进行推荐。其整体结构如图1所示。具体包括以下步骤:
[0074]
s21、使用图注意力网络将用户-商品二分图g=(u,i,e)编码为低维空间中的向量表示,用户u和商品i分别用d维向量表示;一阶邻居表示用户和商品的直接交互对象,用户u的一阶邻居是其直接购买的商品,商品i的一阶邻居是直接购买它的用户;由于用户和商品之间的直接交互关系提供了最重要、最可靠的用户兴趣信息,因此在一阶信息传播中,所有一阶邻居都参与了图注意力卷积运算;因为用户对不同的商品偏好不同,所以对直接购买的商品赋予不同的权重;同理,对于某一商品,不同用户对它的偏好不同,所以对直接购买该商品的用户赋予不同的权重;一阶信息传播过程形式化的表示如下所示:
[0075][0076][0077]
其中,和分别是用户u和商品i的一阶特征向量,即聚合一阶邻居信息的特征向量;融合了用户直接购买的商品的信息,捕获了用户显性的兴趣偏好;和分别是
用户u和商品i的初始特征向量;nu表示用户u购买的商品集合,|nu|为用户u购买的商品数量;ni表示购买商品i的用户集合,|ni|为购买商品i的用户数量;α
ui
为用户u购买的所有商品中商品i的权重;α
iu
为购买商品i的所有用户中用户u的权重;其中α
ui
和α
iu
的定义如式(3)、(4)所示:
[0078][0079][0080]
式中,leakyrelu是非线性激活函数,由式(5)定义;a是权重向量;w是权重矩阵;eu表示用户u的特征向量;ei表示商品i的特征向量;||是连接操作;
[0081][0082]
式中,λ是负输入斜率,取值为0.01;
[0083]
s22、进一步的,将兴趣相似的用户划分到同一子图中,子图是由兴趣相似的用户及其交互项组成,该过程可以看作节点分类任务,用户的特征向量表示如式(6)所示:
[0084][0085]
其中,fu是用户u融合初始特征向量和一阶特征向量的特征向量;是用户u的初始特征向量;是用户u的一阶特征向量;w1与b1分别为编码权重和偏置;leakyrelu(x)为激活函数如式(5)所示,λ为负输入斜率,取值为0.01;生成子图过程形式化的表示为:
[0086]
uh=leakyrelu(w2fu+b2)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0087]
u0=w3uh+b3ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0088]
其中,uh表示用户u的融合特征向量;u0表示预测向量,u0取值最大的位置表明分配的子图;fu是用户u融合初始特征向量和一阶特征向量的特征向量;w2和w3均为编码权重,b2和b3均为偏置;leakyrelu(x)为激活函数,如式(5)所示,λ为负输入斜率,取值为0.01;
[0089]
s23、进一步的,为挖掘用户的潜在兴趣偏好,在各个子图中通过多层图注意力卷积操作捕获用户和商品的高阶协同过滤信号。通过挖掘用户和商品之间的高阶连通性捕获用户与高阶商品邻居的隐性兴趣,在子图gs内,利用图注意力卷积操作聚合邻居的特征信息,一层图注意力卷积操作聚合一阶邻居的特征信息,k层图注意力卷积操作聚合阶k阶邻居的特征,形式化的表示为:
[0090][0091][0092]
其中,是聚合k+1阶邻居信息的用户u的特征向量;是在子图s内聚合k+1阶邻居信息的商品i的特征向量;是聚合k阶邻居信息的用户u的特征向量;是在子图
s内聚合k阶邻居信息的商品i的特征向量;nu表示用户u购买的商品集合,|nu|为用户u购买的商品数量;ni表示购买商品i的用户集合,|ni|为购买商品i的用户数量;α
ui
为用户u购买的所有商品中商品i的权重;α
iu
为购买商品i的所有用户中用户u的权重;其中α
ui
和α
iu
的定义如式(3)、(4)所示;将每层卷积学习到的用户和商品的特征向量通过加权求和的方式进行融合,形式化的表示如下所示:
[0093][0094][0095]
其中,eu是用户u最终的特征向量;ei是商品i最终的特征向量;αk表示k阶特征向量的权重,其中k为图注意力卷积层数;表示用户u的k阶特征向量,是进行k层图注意力卷积操作后用户u的特征向量;表示商品i的k阶特征向量,是进行k层图注意力卷积操作后商品i 的特征向量;图注意力卷积操作是为了聚合邻居的信息,挖掘用户的潜在兴趣;
[0096]
s24、进一步的,使用内积公式如(13)式所示,来预测用户u对商品i的偏好:
[0097][0098]
其中,表示用户特征向量和商品特征向量的内积即用户对商品的预测偏好;eu是用户u最终的特征向量;ei是商品i最终的特征向量。
[0099]
s30、对于步骤s20构建的电商网络商品推荐模型,设计目标函数,通过最小化目标函数进行模型训练;具体包括以下步骤:
[0100]
s31对s20所述的一阶信息传播模块、子图生成模块、高阶信息传播模块和预测模块进行训练,目标函数如式(14)所示:
[0101][0102]
其中,o={(u,i
+
,i-)|(u,i
+
)∈r
+
,(u,i-)∈r-}表示训练集,r
+
表示训练集中用户与商品有交互行为,r-表示训练集中用户和商品没有交互行为;i
+
表示与用户u 交互过的商品集合,i-表示与用户u没有交互过的商品集合;表示有交互行为的用户和商品的预测偏好;表示没有交互行为的用户和商品的预测偏好;λ和θ分别表示模型的正则化参数和模型参数;σ激活函数如式(15)定义:
[0103][0104]
其中,e为常数;x表示函数变量。
[0105]
s32、利用梯度下降方法进行反向传播,对电商网络商品推荐模型中的连接权重矩阵进行更新。
[0106]
s40、利用步骤s20构建的电商网络商品推荐模型,以及步骤s30通过迭代训练确定
的模型最优参数,将预测的推荐结果进行输出;具体包括以下步骤:
[0107]
s41、使用公式(13)计算用户和商品的预测偏好,对于某一用户,根据该用户的用户特征向量与各商品特征向量的内积获得该用户对所有商品的预测偏好,根据该用户对所有商品的预测偏好选取排名靠前的商品进行推荐;
[0108]
s42、将电商网络商品推荐的结果输出至用户和相关电商平台运营分析人员,用于向用户推荐其感兴趣的商品,为用户提供个性化的推荐服务;运营分析人员通过分析用户偏好进行准确的推荐,提高用户满意度和忠诚度,提升销售量创造更多的经济价值。
[0109]
实施例3
[0110]
本发明所述的一种电商网络商品推荐方法通过计算机程序实施,下面将按照图3所示流程,以淘宝购物平台的用户购物数据为例,对本发明提出技术方案的具体实施方式进行阐述。从淘宝购物平台获取用户的购物数据集,所述数据集包含了2020年11月25日至2020年12月3日之间,约十万随机用户的所有购买行为。数据集的每一行表示一条用户行为,数据集的属性包括用户编号、商品编号、购买历史,并以逗号分隔,其中用户数量为987994,商品数量为 4162024,购买历史数量为100150807。通过本发明的技术方案,使用从淘宝购物平台获取的用户购物数据集,实现对淘宝购物平台用户的推荐。
[0111]
实施方式主要包含以下关键内容:
[0112]
s10、获取并加载淘宝购物平台的用户购物数据,利用用户购物数据构建用户-商品二分图和交互矩阵;包含以下具体步骤:
[0113]
s11、获取并加载淘宝购物平台的用户购物数据,所述数据包括每个用户的编号,用户购买商品的编号以及用户对商品的购买历史标签,所述标签用于表征用户是否购买过该商品;利用用户购物数据构建用户-商品二分图g=(u,i,e), u={u1,u2,...,un}表示n个用户构成的集合,n表示用户的数量,其中un表示第n个用户,n={1,2,...,n};i={i1,i2,...,im}表示m个商品构成的集合,m表示商品的数量,其中im表示第m个商品,m={1,2,...,m};e={e
nm
}
n=1,2,...,n,m=1,2,...,m
表示用户对不同商品的购买集合;若用户un购买商品im,则用户un和商品im有交互关系,否则,没有交互关系;e
nm
表示用户un和商品im的交互关系,如果用户un与商品im有交互,则 e
nm
=1,否则,e
nm
=0。构建用户-商品二分图g=(u,i,e)的m
×
n维交互矩阵,该交互矩阵记为a,令a中每个元素的值表示网络g=(u,i,e)中用户和商品间的交互关系,即a中第i行,第j列(1≤i≤m,1≤j≤n)的元素a
ij
代表网络中第i个用户节点ui和第j个商品节点ij之间的交互关系,如果ui和ij之间存在交互,则a
ij
=1,否则a
ij
=0。
[0114]
s20、基于步骤s10建立的交互矩阵,利用图注意力网络构建电商网络商品推荐模型,该模型包含一阶信息传播模块、子图生成模块、高阶信息传播模块和预测模块四个部分,其整体结构如附图1所示,包含以下具体步骤:
[0115]
s21、使用图注意力网络将用户-商品二分图g=(u,i,e)编码为低维空间中的向量表示,用户u和商品i分别用d维向量表示;一阶邻居表示用户和商品的直接交互对象,用户u的一阶邻居是其直接购买的商品,商品i的一阶邻居是直接购买它的用户;由于用户和商品之间的直接交互关系提供了最重要、最可靠的用户兴趣信息,因此在一阶信息传播中,所有一阶邻居都参与了图注意力卷积运算;因为用户对不同的商品偏好不同,所以对直接购买的商品赋予不同的权重;同理,对于某一商品,不同用户对它的偏好不同,所以对直接购买
该商品的用户赋予不同的权重;一阶信息传播过程形式化的表示如下所示:
[0116][0117][0118]
其中,和分别是用户u和商品i的一阶特征向量,即聚合一阶邻居信息的特征向量;融合了用户直接购买的商品的信息,捕获了用户显性的兴趣偏好;和分别是用户u和商品i的初始特征向量;nu表示用户u购买的商品集合,|nu|为用户u购买的商品数量;ni表示购买商品i的用户集合,|ni|为购买商品i的用户数量;α
ui
为用户u购买的所有商品中商品i的权重;α
iu
为购买商品i的所有用户中用户u的权重;其中α
ui
和α
iu
的定义如式(3)、(4)所示:
[0119][0120][0121]
式中,leakyrelu是非线性激活函数,由式(5)定义;a是权重向量;w是权重矩阵;eu表示用户u的特征向量;ei表示商品i的特征向量;||是连接操作;
[0122][0123]
式中,λ是负输入斜率,取值为0.01;
[0124]
s22、进一步的,将兴趣相似的用户划分到同一子图中,子图是由兴趣相似的用户及其交互项组成,该过程可以看作节点分类任务,用户的特征向量表示如式(6)所示:
[0125][0126]
其中,fu是用户u融合初始特征向量和一阶特征向量的特征向量;是用户u的初始特征向量;是用户的一阶特征向量;w1与b1分别为编码权重和偏置;leakyrelu(x)为激活函数如式(5)所示,λ为负输入斜率,取值为0.01;生成子图过程形式化的表示为:
[0127]
uh=leakyrelu(w2fu+b2)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0128]
u0=w3uh+b3ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0129]
其中,uh表示用户u的融合特征向量;u0表示预测向量,u0取值最大的位置表明分配的子图;fu是用户u融合初始特征向量和一阶特征向量的特征向量;w2和w3均为编码权重,b2和b3均为偏置;leakyrelu(x)为激活函数,如式(5)所示,λ为负输入斜率,取值为0.01;
[0130]
s23、进一步的,为挖掘用户的潜在兴趣偏好,在各个子图中通过多层图注意力卷积操作捕获用户和商品的高阶协同过滤信号。通过挖掘用户和商品之间的高阶连通性捕获用户与高阶商品邻居的隐性兴趣。在子图gs内,利用图注意力卷积操作聚合邻居的特征信息,一层图注意力卷积操作聚合一阶邻居的特征信息,k层图注意力卷积操作聚合阶k阶邻
居的特征,形式化的表示为:
[0131][0132][0133]
其中,是聚合k+1阶邻居信息的用户u的特征向量;是在子图s内聚合k+1阶邻居信息的商品i的特征向量;是聚合k阶邻居信息的用户u的特征向量;是在子图s内聚合k阶邻居信息的商品i的特征向量;nu表示用户u购买的商品集合,|nu|为用户u购买的商品数量;ni表示购买商品i的用户集合,|ni|为购买商品i的用户数量;α
ui
为用户u购买的所有商品中商品i的权重;α
iu
为购买商品i的所有用户中用户u的权重;其中α
ui
和α
iu
的定义如式(3)、(4)所示;将每层卷积学习到的用户和商品的特征向量通过加权求和的方式进行融合,形式化的表示如下所示:
[0134][0135][0136]
其中,eu是用户u最终的特征向量;ei是商品i最终的特征向量;αk表示k阶特征向量的权重,其中k为图注意力卷积层数;表示用户u的k阶特征向量,是进行k层图注意力卷积操作后用户u的特征向量;表示商品i的k阶特征向量,是进行k层图注意力卷积操作后商品i 的特征向量;图注意力卷积操作是为了聚合邻居的信息,挖掘用户的潜在兴趣;
[0137]
s24、进一步的,使用内积公式如(13)式所示,来预测用户u对商品i的偏好:
[0138][0139]
其中,表示用户特征向量和商品特征向量的内积即用户对商品的预测偏好;eu是用户u最终的特征向量;ei是商品i最终的特征向量。
[0140]
s30、对于步骤s20构建的电商网络商品推荐模型,设计目标函数,通过最小化目标函数进行模型训练;
[0141]
s31、对s20所述一阶信息传播模块、子图生成模块、高阶信息传播模块和预测模块进行训练,目标函数如式(16)所示:
[0142][0143]
其中,o={(u,i
+
,i-)|(u,i
+
)∈r
+
,(u,i-)∈r-}表示训练集,r
+
表示训练集中用户与商品有交互行为,r-表示训练集中用户和商品没有交互行为;i
+
表示与用户u 交互过的商品集合,i-表示与用户u没有交互过的商品集合;表示有交互行为的用户和商品的预测
偏好;表示没有交互行为的用户和商品的预测偏好;λ和θ分别表示模型的正则化参数和模型参数;σ激活函数如式(15)定义:
[0144][0145]
其中,e为常数;x表示函数变量。
[0146]
s32、利用梯度下降方法进行反向传播,对电商网络商品推荐模型中的连接权重矩阵进行更新。
[0147]
s40、利用步骤s20构建的电商网络商品推荐模型,以及步骤s30通过迭代训练确定的模型最优参数,将预测的推荐结果进行输出。
[0148]
s41、使用公式(13)计算用户和商品的预测偏好,对于某一用户,根据该用户的用户特征向量与各商品特征向量的内积获得该用户对所有商品的预测偏好,根据该用户对所有商品的预测偏好选取排名前10的商品进行推荐。
[0149]
s42、将电商网络商品推荐的结果输出至用户和相关电商平台运营分析人员,用于向用户推荐其感兴趣的商品,为用户提供个性化的推荐服务;运营分析人员通过分析用户偏好进行准确的推荐,提高用户满意度和忠诚度,提升销售量创造更多的经济价值。
[0150]
技术效果评价:
[0151]
为验证本发明提出技术方案的有效性和先进性,将本发明与几种经典的推荐方法进行比较,对比方法包括矩阵分解方法(mf)、神经矩阵分解方法 (neumf)、神经协同过滤方法(ngcf),以20次实验的平均准确率和归一化互信息为评价指标,将上述匹配结果进行对比分析,比较结果如表1所示:
[0152]
表1结果对比分析
[0153][0154]
由表中结果可以看出,本发明技术方案在对电商网络进行商品推荐时,能获得更优的召回率和归一化折损累计增益。
[0155]
实施例4
[0156]
一种电商网络商品推荐系统,如图2所示,包括计算机处理器和内存、电商网络用户-商品二分图构建和交互矩阵构建单元、电商网络商品推荐模型训练单元、电商网络商品推荐结果输出单元;所述电商网络用户-商品二分图构建和交互矩阵构建单元,根据用户购物数据构建用户-商品二分图和交互矩阵,并加载到计算机内存中;所述电商网络商品推荐模型训练单元根据构建的用户-商品二分图和交互矩阵,构建电商网络商品推荐模型,并通过迭代计算确定模型中参数的最优值,根据模型中参数的最优值,计算内积,获取推荐结果;所述电商网络商品推荐结果输出单元用于将电商网络商品推荐结果输出至用户和相关电商平台运营分析人员,用于各电商平台进行商品推荐;所有单元中具体的数据处理和计
算工作由所述计算机处理器完成,且所有单元都与所述计算机内存的数据交互。
[0157]
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。