一种考虑库存约束的神经协同过滤的产品推荐方法技术

技术编号:36949194 阅读:9 留言:0更新日期:2023-03-22 19:10
本发明专利技术公开了一种考虑库存约束的神经协同过滤推荐方法,包括以下步骤:1.构建用户对产品的评分数据集合和产品的库存数据集合,2.构建由输入层、嵌入层、神经协同过滤层和输出层组成的神经协同过滤推荐模型,3.构建库存损失函数和均方差损失函数,并通过参数α生成模型的目标损失函数,输入测试集数据对模型进行训练,4用户对于商品的评分预测并获取推荐结果。本发明专利技术通过引入罚函数的概念在损失函数中对低库存的产品进行惩罚,从而在模型的训练过程中减低了低库存产品的推荐概率,由此减少了推荐系统推荐缺货产品的情况,提高了用户对平台的满意度。台的满意度。台的满意度。

【技术实现步骤摘要】
一种考虑库存约束的神经协同过滤的产品推荐方法


[0001]本专利技术涉及信息推荐的
,特别涉及一种考虑库存约束的神经协同过滤的产品推荐方法。

技术介绍

[0002]随着网络技术的快速发展,网络信息成几何式地爆炸增长。过量的信息需要推荐系统来帮助解决用户信息过载方面的问题,现有的推荐系统多致力于提升个性化推荐的准确性,其中准确性被界定为消费者偏好和推荐商品之间的契合度。但现有推荐方法通常不考虑库存信息或者假设产品库存量是无限的,进而可能导致推荐的商品出现缺货情况,严重影响了消费者的购物体验。这一发现促使研究人员设计考虑产品库存约束和用户偏好的推荐系统。
[0003]最近关于考虑库存约束研究使用的方法主要基于两个领域,分别是基于机器学习,和基于运筹优化的。文献[Recommendation with Capacity Constraints.Proceedings of the 2017 ACM on Conference on Information and Knowledge Management.2017]设计了一个既优化推荐准确性,又优化了符合容量限制的预期项目使用框架,并结合三个潜在因素模型验证了其有效性。文献[Stock Constrained Recommendation in Tmall.In Proceedings of the 21th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.2015]根据用户偏好和不同商品的库存大小,通过求解一个n
×
n的非光滑矩阵联合优化所有用户的推荐商品。虽然这些研究通过机器学习和运筹优化的方法在推荐的过程中考虑了库存信息,但是所使用的传统机器学习算法矩阵分解的潜在因素空间简单的元素积的方法只能捕捉用户和产品的线性关系,而无法捕捉样本中更加深层的非线性关系,因此获得的推荐精度较低。

技术实现思路

[0004]本专利技术为了克服现有技术存在的不足之处,提出一种考虑库存约束的神经协同过滤的产品推荐方法,以期对可能产生缺货的产品进行惩罚,减少推荐系统推荐用户缺货产品的概率,从而能提高推荐的准确率和用户的满意度。
[0005]本专利技术为达到上述专利技术目的,采用如下技术方案:
[0006]本专利技术一种考虑库存约束的神经协同过滤的产品推荐方法的特点是按如下步骤进行:
[0007]步骤1、构建用户对产品的评分数据集合和产品的库存数据集合:
[0008]步骤1.1、从包含有库存信息变化的用户订单记录数据库中获取多个订单评分数据并构成评分数据集合,且每个订单评分数据包括:一个用户id,一个产品id,用户对产品的评分时间、用户对当前订单的评分;
[0009]步骤1.2、由每个订单评分数据中的产品id获取用户订单记录数据库中对应的库存信息并构成产品的库存数据集合;
[0010]步骤1.3、使用留一法将评分数据集合划分训练集与测试集:
[0011]将用户i对所有订单的评分按照以评分时间的先后顺序进行降序排序,并生成用户i的评分序列,从而得到所有用户的评分序列,并由所有用户的评分序列中的第一个评分构成验证集D,所有用户的剩余评分构成训练集T;
[0012]步骤2、构建神经协同过滤推荐模型,包括:输入层、嵌入层、神经协同过滤层和输出层;
[0013]步骤2.1、所述输入层对用户i的用户id和产品j的产品id进行one

hot编码,得到用户i的长度为M,维度为1的二进制用户向量以及长度为N的二进制产品向量且x
i
中只有第i个元素为1,其余的元素均为0;x

j
中只有第j个元素为1,其余的元素均为0;
[0014]步骤2.2、定义并随机初始化用户的k维潜在因素嵌入矩阵P
M
×
K
、产品的k维潜在因素嵌入矩阵Q
N
×
K

[0015]所述嵌入层将用户i的二进制用户向量与用户的k维潜在因素嵌入矩阵P
M
×
K
进行元素积计算,生成用户i的嵌入向量p
i
;将产品j的二进制向量与产品的k维潜在因素嵌入矩阵Q
N
×
K
进行元素积计算,生成产品j的嵌入向量q
j
,其中,M表示用户总数,N表示产品总数,K表示嵌入向量潜在空间的维度;
[0016]步骤2.3、所述神经协同过滤层包含:广义矩阵分解层和多重感知器;
[0017]步骤2.3.1、所述广义矩阵分解层利用式(1)得到用户i与产品j的线性关系表示
[0018][0019]式(1)中,

表示元素积;表示用户i在广义矩阵分解层中的嵌入向量,表示产品j在对广义矩阵分解层中的嵌入向量;
[0020]步骤2.3.2、所述多重感知器的输入层利用式(2)得到用户i和产品j的拼接嵌入向量z1:
[0021][0022]式(2)中,φ表示输入层的映射函数,表示用户i在多重感知器层中的嵌入向量,表示产品j在多重感知器层中的嵌入向量;
[0023]当c=1时,以拼接嵌入向量z0作为所述多重感知器的第c

1层隐藏层的输入z
c
‑1,并利用式(2)得到第c层隐藏层的输出z
c
,并将所述多重感知器的最后第C层的输出z
C
作为和的非线性关系表示φ
MLP

[0024][0025]式(2)中,W
c
,b
c
,a
c
分别表示第c层感知器的权重矩阵,偏差向量和激活函数ReLU,φ
c
表示多层感知器的第c层隐藏层的映射函数;T表示转置;
[0026]步骤2.4所述输出层利用式(4)得到用户i对产品j的预测评分
[0027][0028]式(4)中,σ表示激活函数sigmoid,h表示输出层的权重;
[0029]步骤3、构建损失函数:
[0030]步骤3.1、利用式(7)构建均方差损失函数L
MES

[0031][0032]式(7)中,r
ij
表示用户i对产品j的实际评分;
[0033]步骤3.2、构建库存损失函数:
[0034]步骤3.2.1、利用式(8)预估用户i的用户倾向u
i

[0035][0036]式(8)中,f
i
表示用户i被推荐的总次数,m
i
表示用户i与所有产品的交互次数;
[0037]步骤3.2.2、利用式(9)预估所有用户对产品j的总的消费期望E
j

[0038][0039]式(9)中,σ表示sigmoid激活函数;
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种考虑库存约束的神经协同过滤的产品推荐方法,其特征是按如下步骤进行:步骤1、构建用户对产品的评分数据集合和产品的库存数据集合:步骤1.1、从包含有库存信息变化的用户订单记录数据库中获取多个订单评分数据并构成评分数据集合,且每个订单评分数据包括:一个用户id,一个产品id,用户对产品的评分时间、用户对当前订单的评分;步骤1.2、由每个订单评分数据中的产品id获取用户订单记录数据库中对应的库存信息并构成产品的库存数据集合;步骤1.3、使用留一法将评分数据集合划分训练集与测试集:将用户i对所有订单的评分按照以评分时间的先后顺序进行降序排序,并生成用户i的评分序列,从而得到所有用户的评分序列,并由所有用户的评分序列中的第一个评分构成验证集D,所有用户的剩余评分构成训练集T;步骤2、构建神经协同过滤推荐模型,包括:输入层、嵌入层、神经协同过滤层和输出层;步骤2.1、所述输入层对用户i的用户id和产品j的产品id进行one

hot编码,得到用户i的长度为M,维度为1的二进制用户向量以及长度为N的二进制产品向量且x
i
中只有第i个元素为1,其余的元素均为0;x'
j
中只有第j个元素为1,其余的元素均为0;步骤2.2、定义并随机初始化用户的k维潜在因素嵌入矩阵P
M
×
K
、产品的k维潜在因素嵌入矩阵Q
N
×
K
;所述嵌入层将用户i的二进制用户向量与用户的k维潜在因素嵌入矩阵P
M
×
K
进行元素积计算,生成用户i的嵌入向量p
i
;将产品j的二进制向量与产品的k维潜在因素嵌入矩阵Q
N
×
K
进行元素积计算,生成产品j的嵌入向量q
j
,其中,M表示用户总数,N表示产品总数,K表示嵌入向量潜在空间的维度;步骤2.3、所述神经协同过滤层包含:广义矩阵分解层和多重感知器;步骤2.3.1、所述广义矩阵分解层利用式(1)得到用户i与产品j的线性关系表示步骤2.3.1、所述广义矩阵分解层利用式(1)得到用户i与产品j的线性关系表示式(1)中,

表示元素积;表示用户i在广义矩阵分解层中的嵌入向量,表示产品j在对广义矩阵分解层中的嵌入向量;步骤2.3.2、所述多重感知器的输入层利用式(2)得到用户i和产品j的拼接嵌入向量z1:式(2)中,φ表示输入层的映射函数,表示用户i在多重感知器层中的嵌入向量,表示产品j在多重感知器层中的嵌入向量;当c=1时,以拼接嵌入向量z0作为所述多重感知器的第c

1层隐藏层的输入z
c
‑1,并利用式(2)得到第c层隐藏层的输出z
c
,并将所述多重感知器的最后第C层的输出z
C
作为和的非线性关系表示φ
...

【专利技术属性】
技术研发人员:凌海峰瞿嘉隆钱洋姜元春刘业政
申请(专利权)人:合肥工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1