基于协同过滤的产品推荐方法、装置、设备及存储介质制造方法及图纸

技术编号:32646434 阅读:15 留言:0更新日期:2022-03-12 18:29
本发明专利技术涉及大数据领域,公开了一种基于协同过滤的产品推荐方法、装置、设备及存储介质。所述方法包括:接收推荐请求,获取原始数据和多条画像数据;基于原始数据,构建用户产品评分矩阵,并计算用户相似度矩阵和产品相似度矩阵;基于画像数据,计算画像相似度矩阵;根据用户相似度矩阵、产品相似度矩阵以及画像相似度矩阵分别计算基于用户和产品的两个协同过滤矩阵,并将用户产品评分矩阵分别与这两个协同过滤矩阵相乘,并基于预设的权重,对相乘结果加权求和,得到用户产品得分矩阵;根据该得分矩阵向用户推荐产品。本发明专利技术在基于用户基础信息和产品基础信息的协同过滤的基础上融入了用户的画像信息,以提高产品推荐的准确性。以提高产品推荐的准确性。以提高产品推荐的准确性。

【技术实现步骤摘要】
基于协同过滤的产品推荐方法、装置、设备及存储介质


[0001]本专利技术涉及大数据领域,尤其涉及一种基于协同过滤的产品推荐方法、装置、设备及存储介质。

技术介绍

[0002]协同过滤推荐(Collaborative Filtering recommendation)是在信息过滤和信息系统中正迅速成为一项很受欢迎的技术,其被广阔应用于产品的推荐系统中。与传统的基于内容过滤直接分析内容进行推荐不同,协同过滤分析用户兴趣,在用户群中找到指定用户的相似(兴趣)用户,综合这些相似用户对某一信息的评价,形成系统对该指定用户对此信息的喜好程度预测,从而预测用户感兴趣的产品。
[0003]现有基于协同过滤的产品推荐方法仅从用户或产品的基本信息,计算产品相似度或用户相似度进行协同过滤,其准确性较低。

技术实现思路

[0004]本专利技术的主要目的在于解决现有基于协同过滤的产品推荐方法准确性低的问题。
[0005]本专利技术第一方面提供了一种基于协同过滤的产品推荐方法,包括:
[0006]接收终端发送的产品推荐请求,并根据所述产品推荐请求获取原始数据和多条画像数据,其中,所述原始数据包括多个用户的用户编号、多个产品的产品编号以及每个所述用户对每个所述产品的偏好值,每条所述画像数据用于表示每个所述用户的用户画像信息以及每个所述用户的历史购买产品所对应的产品画像信息;
[0007]基于所述多个用户的用户编号、所述多个产品的产品编号以及每个所述用户对每个所述产品的偏好值,构建用户产品评分矩阵;<br/>[0008]基于所述多个用户的用户编号和每个所述用户对每个所述产品的偏好值,计算用户相似度矩阵,以及基于所述多个产品的产品编号和每个所述用户对每个所述产品的偏好值,计算产品相似度矩阵;
[0009]基于所述多条画像数据,计算画像相似度矩阵,其中,所述画像相似度矩阵用于表示每条画像数据之间的相似度;
[0010]根据预设的第一计算规则,对所述用户相似度矩阵和所述画像相似度矩阵进行计算,得到基于用户的协同过滤矩阵,以及根据预设的第二计算规则,对所述产品相似度矩阵和所述画像相似度矩阵进行计算,得到基于产品的协同过滤矩阵;
[0011]基于所述用户产品评分矩阵、所述基于用户的协同过滤矩阵以及基于产品的协同过滤矩阵,计算用户产品得分矩阵,并根据所述用户产品得分矩阵,向每个所述用户推荐产品。
[0012]可选的,在本专利技术第一方面的第一种实现方式中,所述基于所述多个用户的用户编号、所述多个产品的产品编号以及每个所述用户对每个所述产品的偏好值,构建用户产品评分矩阵包括:
[0013]基于所述用户编号的数量N和所述产品编号的数量M,构建大小为N行*M列的空白矩阵;
[0014]按照编号的数值大小,分别对所述用户编号和所述产品编号进行排序,分别生成用户编号序列和产品编号序列;
[0015]建立所述用户编号序列与所述空白矩阵之间的行映射关系,以及建立所述产品编号序列与所述空白矩阵之间的列映射关系;
[0016]根据所述行映射关系和所述列映射关系,将每个所述用户对每个所述产品的偏好值充填至所述空白矩阵中的相应位置,得到用户产品评分矩阵。
[0017]可选的,在本专利技术第一方面的第二种实现方式中,在所述基于所述多个用户的用户编号、所述多个产品的产品编号以及每个所述用户对每个所述产品的偏好值,构建用户产品评分矩阵之后,在所述基于所述用户产品评分矩阵、所述基于用户的协同过滤矩阵以及基于产品的协同过滤矩阵,计算用户产品得分矩阵,并根据所述用户产品得分矩阵,向每个所述用户推荐产品之前,还包括:
[0018]基于优化奇异值分解算法对所述用户产品评分矩阵进行分解,得到关于用户的第一隐性因子矩阵和关于产品的第二隐性因子矩阵;
[0019]根据随机梯度下降算法和预设的最优目标参数,对所述第一隐性因子矩阵和所述第二隐性因子矩阵进行迭代更新,得到目标第一隐性因子矩阵和目标第二隐性因子矩阵;
[0020]将所述目标第一隐性因子矩阵与所述目标第二隐性因子矩阵相乘,得到满秩的用户产品评分矩阵。
[0021]可选的,在本专利技术第一方面的第三种实现方式中,所述多个用户的用户编号和每个所述用户对每个所述产品的偏好值,计算用户相似度矩阵,以及基于所述多个产品的产品编号和每个所述用户对每个所述产品的偏好值,计算产品相似度矩阵,包括:
[0022]根据所述用户编号的数量和每个所述用户对每个所述产品的偏好值,计算用户的平均偏好值,以及根据所述产品编号的数量和每个所述用户对每个所述产品的偏好值,计算产品的平均受偏好值;
[0023]基于皮尔森相关系数算法,对所述用户的平均偏好值和每个所述用户对每个所述产品的偏好值进行计算,得到每个所述用户之间的用户相似度,以及对所述产品的平均受偏好值和每个所述用户对每个所述产品的偏好值进行计算,得到每个所述产品之间的产品相似度;
[0024]基于所述多个用户的用户编号和每个所述用户之间的用户相似度,生成用户相似度矩阵,以及基于所述多个产品的产品编号和每个所述金融产品之间的产品相似度,生成产品相似度矩阵。
[0025]可选的,在本专利技术第一方面的第四种实现方式中,在所述基于所述多个用户的用户编号和每个所述用户对每个所述产品的偏好值,计算用户相似度矩阵,以及基于所述多个产品的产品编号和每个所述用户对每个所述产品的偏好值,计算产品相似度矩阵之后,在所述根据预设的第一计算规则,对所述用户相似度矩阵和所述画像相似度矩阵进行计算,得到基于用户的协同过滤矩阵,以及根据预设的第二计算规则,对所述产品相似度矩阵和所述画像相似度矩阵进行计算,得到基于产品的协同过滤矩阵之前,还包括:
[0026]分别对所述用户和所述产品进行聚类,并计算用户对产品聚类的第一时间衰减系
数和学习用户聚类对产品的第二时间衰减系数;
[0027]基于预设的时间衰减函数,依次计算所述第一时间衰减系数对应的第一时间衰减变量和所述第二时间衰减系数对应的第二时间衰减变量;
[0028]将所述第一时间衰减变量与所述用户相似度矩阵进行乘积运算,得到随时间衰减变化的用户相似度矩阵;
[0029]将所述第二时间衰减变量与所述产品相似度矩阵进行乘积运算,得到随时间衰减变化的产品相似度矩阵。
[0030]可选的,在本专利技术第一方面的第五种实现方式中,所述基于所述多条画像数据,计算画像相似度矩阵包括:
[0031]对所述多条画像数据进行特征提取,得到多个画像特征向量;
[0032]基于所述多个画像特征向量和预设的相似度计算函数,计算每条画像数据之间的画像相似度,并根据每条画像数据之间的画像相似度,生成画像相似度矩阵。
[0033]可选的,在本专利技术第一方面的第六种实现方式中,所述基于所述用户产品评分矩阵、所述基于用户的协同过滤矩阵以及基于产品的协同过滤矩阵,计算用户产品得分矩阵,并根据所述用户产品得分矩阵,向每个所述用户推荐产品包括:
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于协同过滤的产品推荐方法,其特征在于,所述基于协同过滤的产品推荐方法包括:接收终端发送的产品推荐请求,并根据所述产品推荐请求获取原始数据和多条画像数据,其中,所述原始数据包括多个用户的用户编号、多个产品的产品编号以及每个所述用户对每个所述产品的偏好值,每条所述画像数据用于表示每个所述用户的用户画像信息以及每个所述用户的历史购买产品所对应的产品画像信息;基于所述多个用户的用户编号、所述多个产品的产品编号以及每个所述用户对每个所述产品的偏好值,构建用户产品评分矩阵;基于所述多个用户的用户编号和每个所述用户对每个所述产品的偏好值,计算用户相似度矩阵,以及基于所述多个产品的产品编号和每个所述用户对每个所述产品的偏好值,计算产品相似度矩阵;基于所述多条画像数据,计算画像相似度矩阵,其中,所述画像相似度矩阵用于表示每条画像数据之间的相似度;根据预设的第一计算规则,对所述用户相似度矩阵和所述画像相似度矩阵进行计算,得到基于用户的协同过滤矩阵,以及根据预设的第二计算规则,对所述产品相似度矩阵和所述画像相似度矩阵进行计算,得到基于产品的协同过滤矩阵;基于所述用户产品评分矩阵、所述基于用户的协同过滤矩阵以及基于产品的协同过滤矩阵,计算用户产品得分矩阵,并根据所述用户产品得分矩阵,向每个所述用户推荐产品。2.根据权利要求1所述的基于协同过滤的产品推荐方法,其特征在于,所述基于所述多个用户的用户编号、所述多个产品的产品编号以及每个所述用户对每个所述产品的偏好值,构建用户产品评分矩阵包括:基于所述用户编号的数量N和所述产品编号的数量M,构建大小为N行*M列的空白矩阵;按照编号的数值大小,分别对所述用户编号和所述产品编号进行排序,分别生成用户编号序列和产品编号序列;建立所述用户编号序列与所述空白矩阵之间的行映射关系,以及建立所述产品编号序列与所述空白矩阵之间的列映射关系;根据所述行映射关系和所述列映射关系,将每个所述用户对每个所述产品的偏好值充填至所述空白矩阵中的相应位置,得到用户产品评分矩阵。3.根据权利要求1所述的基于协同过滤的产品推荐方法,其特征在于,在所述基于所述多个用户的用户编号、所述多个产品的产品编号以及每个所述用户对每个所述产品的偏好值,构建用户产品评分矩阵之后,在所述基于所述用户产品评分矩阵、所述基于用户的协同过滤矩阵以及基于产品的协同过滤矩阵,计算用户产品得分矩阵,并根据所述用户产品得分矩阵,向每个所述用户推荐产品之前,还包括:基于优化奇异值分解算法对所述用户产品评分矩阵进行分解,得到关于用户的第一隐性因子矩阵和关于产品的第二隐性因子矩阵;根据随机梯度下降算法和预设的最优目标参数,对所述第一隐性因子矩阵和所述第二隐性因子矩阵进行迭代更新,得到目标第一隐性因子矩阵和目标第二隐性因子矩阵;将所述目标第一隐性因子矩阵与所述目标第二隐性因子矩阵相乘,得到满秩的用户产品评分矩阵。
4.根据权利要求1所述的基于协同过滤的产品推荐方法,其特征在于,所述基于所述多个用户的用户编号和每个所述用户对每个所述产品的偏好值,计算用户相似度矩阵,以及基于所述多个产品的产品编号和每个所述用户对每个所述产品的偏好值,计算产品相似度矩阵,包括:根据所述用户编号的数量和每个所述用户对每个所述产品的偏好值,计算用户的平均偏好值,以及根据所述产品编号的数量和每个所述用户对每个所述产品的偏好值,计算产品的平均受偏好值;基于皮尔森相关系数算法,对所述用户的平均偏好值和每个所述用户对每个所述产品的偏好值进行计算,得到每个所述用户之间的用户相似度,以及对所述产品的平均受偏好值和每个所述用户对每个所述产品的偏好值进行计算,得到每个所述产品之间的产品相似度;基于所述多个用户的用户编号和每个所述用户之间的用户相似度,生成用户相似度矩阵,以及基于所述多个产品的产品编号和每个所述产品之间的产品相似度,生成产品相似度矩阵。5.根据权利要求1所述的基于协同过滤的产品推荐方法,其特征在于,在所述基于所述多个用户的用户编号和每个所述用户对每个所述产品的偏好值,计算用户相似度矩阵,以及基于所述多个产...

【专利技术属性】
技术研发人员:邹若奇
申请(专利权)人:平安国际智慧城市科技股份有限公司
类型:发明
国别省市:

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

1