CN117851650B - 一种基于用户群和强化学习的项目推荐方法、系统和设备 - Google Patents
一种基于用户群和强化学习的项目推荐方法、系统和设备 Download PDFInfo
- Publication number
- CN117851650B CN117851650B CN202410244548.4A CN202410244548A CN117851650B CN 117851650 B CN117851650 B CN 117851650B CN 202410244548 A CN202410244548 A CN 202410244548A CN 117851650 B CN117851650 B CN 117851650B
- Authority
- CN
- China
- Prior art keywords
- user
- group
- item
- recommended
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000002787 reinforcement Effects 0.000 title claims abstract description 44
- 238000000034 method Methods 0.000 title claims abstract description 37
- 239000013598 vector Substances 0.000 claims abstract description 215
- 239000011159 matrix material Substances 0.000 claims abstract description 68
- 230000002776 aggregation Effects 0.000 claims description 13
- 238000004220 aggregation Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 9
- 230000003993 interaction Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 8
- 238000000354 decomposition reaction Methods 0.000 description 3
- 230000003796 beauty Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及商业领域数据预测推荐技术领域,具体为一种基于用户群和强化学习的项目推荐方法、系统和设备,该项目推荐方法,首先基于评分矩阵获取不同用户的用户特征向量,并与用户信息向量结合,形成信息丰富的用户综合特征向量;然后,基于不同用户间的欧式距离,对所有用户进行群体聚类,让有相似兴趣的用户归为同一个用户聚类群体;接着,基于与目标用户交互过的项目中的关键词,扩充目标用户可能感兴趣的项目,得到丰富的待推荐项目组;最后,基于目标用户的用户聚类群体特点,以及待推荐项目组的项目综合特征向量,得到待推荐项目组的推荐值,将推荐值最大的待推荐项目组中的项目推荐给目标用户,提高项目推荐的丰富度和准确性。
Description
技术领域
本发明涉及商业领域数据预测推荐技术领域,具体为一种基于用户群和强化学习的项目推荐方法、系统和设备。
背景技术
随着大数据时代的到来,每分每秒产生的信息量都呈现指数级的增长趋势。用户在使用相关软件时(例如美团、携程、淘宝等),面对大量数据,难以快速找出自己感兴趣的内容,降低用户体验。项目推荐方法的目标是提供给用户他们可能感兴趣的项目(美食、景点、电影、衣服等),提高用户体验,增加软件平台的用户参与度,并促进销售和内容消费。
现有技术当中,常根据项目的评分情况,将评分较高的项目来回推荐给用户,评分高的项目也许质量较好,但不一定为目标用户喜欢的项目类型,难以满足用户的爱好变化需求,而且还容易缩小用户的选择范围,降低用户的兴趣,影响用户的体验感。
发明内容
本发明的目的是提供一种能够给目标用户进行准确且丰富的项目推荐的基于用户群和强化学习的项目推荐方法、系统和设备。
本发明技术方案如下:
一种基于用户群和强化学习的项目推荐方法,包括如下操作:
S1、获取数据集中用户对项目的评分矩阵,所述评分矩阵经奇异值分解后,得到不同用户的用户特征向量;所有用户的用户特征向量,形成了用户特征向量集;获取数据集中不同用户的身份信息,分别经嵌入处理,得到不同用户的用户信息向量;所有用户的用户信息向量,形成了用户信息向量集;将所述用户特征向量集与用户信息向量集,进行对应用户的向量拼接处理,得到的所有用户的用户综合特征向量,形成了用户综合特征向量集;
S2、从所述用户综合特征向量集对应的用户集中,随机选取若干个用户作为不同的初始聚类中心;获取所述用户集中,当前剩余用户分别与所有初始聚类中心的欧氏距离,将欧氏距离最小值对应的初始聚类中心与所述当前剩余用户进行连接,得到当前用户聚类群体;所有用户聚类群体,形成了用户聚类群体集;基于所述用户聚类群体集中,每个用户聚类群体中所有用户的用户综合特征向量,得到每个用户聚类群体对应的用户群体特征矩阵;所有用户群体特征矩阵,形成了用户群体特征矩阵集;
S3、获取与目标用户有交互记录的项目,作为第一项目;所有第一项目,形成了第一项目集;获取与所述第一项目集中的当前第一项目含有相同关键词的项目,得到第二项目;所述第二项目与当前第一项目形成了当前待推荐项目组;所有待推荐项目组,形成了待推荐项目组集;
S4、所述目标用户的用户群体特征矩阵,与所述待推荐项目组集中每个待推荐项目组,分别进行强化学习处理,得到每个待推荐项目组的推荐值;将推荐值最大值对应的待推荐项目组推荐给目标用户。
所述S2中,得到当前用户聚类群体的操作之后,还包括更新聚类中心,具体为:将所述当前用户聚类群体中,所有用户的用户综合特征向量进行求和处理后,除以当前用户聚类群体中的用户总数,得到更新聚类中心;所述更新聚类中心用于计算与所述用户集中下一个剩余用户的欧氏距离。
所述S2中,得到用户群体特征矩阵的操作具体为:获取所述当前用户聚类群体中,每个用户的特征权重;每个用户的特征权重与对应的用户综合特征向量相乘后,进行求和处理,得到群体聚合特征向量;所述群体聚合特征向量除以当前用户聚类群体中的用户总数,得到群体聚合特征平均向量,将所述群体聚合特征平均向量转化为矩阵,得到当前用户群体特征矩阵。
所述S3中,形成了待推荐项目组集的操作之后,还包括:获取所述评分矩阵中,评分值均值大于第一阈值的项目,作为高评分项目;所有高评分项目,形成了高评分项目组;所述高评分项目组,与所述待推荐项目组集中每个待推荐项目组组合后,得到不同的优化待推荐项目组;所有优化待推荐项目组,形成了优化待推荐项目组集;所述优化待推荐项目组集用于执行所述S4中的操作。
所述S4中,强化学习处理的操作具体为:获取当前待推荐项目组中,所有项目特征向量的方差,以及所有项目特征向量的平均值,分别得到当前待推荐项目组方差和当前待推荐项目组平均特征向量;基于所述当前待推荐项目组方差和当前待推荐项目组平均特征向量,以及所述目标用户对应的用户群体特征矩阵的逆矩阵,得到所述当前待推荐项目组的推荐值。
执行完当前轮次的项目推荐的操作后,在进行下一轮次的项目推荐的操作之前,还包括获取当前轮次目标用户的更新用户综合特征向量,所述更新用户综合特征向量用于执行下一轮次S2中的操作;获取当前轮次目标用户的更新用户综合特征向量的操作具体为:基于当前轮次目标用户的用户综合特征向量、待推荐项目组中所有项目特征向量的平均值、待推荐项目组的奖励值总和,得到所述目标用户的更新用户综合特征向量。
所述待推荐项目组的奖励值总和为,所述待推荐项目组中与当前轮次目标用户进行交互过的所有待推荐项目的奖励值的总和;若当前轮次目标用户对待推荐项目的评分值等于第二阈值,待推荐项目的奖励值为第一数值;若当前轮次目标用户对待推荐项目的评分值超过第二阈值,待推荐项目的奖励值为第一数值与,评分值与第二阈值的差值的和。
一种基于用户群和强化学习的项目推荐系统,包括:
用户综合特征向量集生成模块,用于获取数据集中用户对项目的评分矩阵,所述评分矩阵经奇异值分解后,得到不同用户的用户特征向量;所有用户的用户特征向量,形成了用户特征向量集;获取数据集中不同用户的身份信息,分别经嵌入处理,得到不同用户的用户信息向量;所有用户的用户信息向量,形成了用户信息向量集;将所述用户特征向量集与用户信息向量集,进行对应用户的向量拼接处理,得到的所有用户的用户综合特征向量,形成了用户综合特征向量集;
用户群体特征矩阵集生成模块,用于从所述用户综合特征向量集对应的用户集中,随机选取若干个用户作为不同的初始聚类中心;获取所述用户集中,当前剩余用户分别与所有初始聚类中心的欧氏距离,将欧氏距离最小值对应的初始聚类中心与所述当前剩余用户进行连接,得到当前用户聚类群体;所有用户聚类群体,形成了用户聚类群体集;基于所述用户聚类群体集中,每个用户聚类群体中所有用户的用户综合特征向量,得到每个用户聚类群体对应的用户群体特征矩阵;所有用户群体特征矩阵,形成了用户群体特征矩阵集;
待推荐项目组集生成模块,用于获取与目标用户有交互记录的项目,作为第一项目;所有第一项目,形成了第一项目集;获取与所述第一项目集中的当前第一项目含有相同关键词的项目,得到第二项目;所述第二项目与当前第一项目形成了当前待推荐项目组;所有待推荐项目组,形成了待推荐项目组集;
项目推荐模块,用于所述目标用户的用户群体特征矩阵,与所述待推荐项目组集中每个待推荐项目组,分别进行强化学习处理,得到每个待推荐项目组的推荐值;将推荐值最大值对应的待推荐项目组推荐给目标用户。
一种基于用户群和强化学习的项目推荐设备,包括处理器和存储器,其中,所述处理器执行所述存储器中保存的计算机程序时实现上述的基于用户群和强化学习的项目推荐方法。
一种计算机可读存储介质,用于存储计算机程序,其中,所述计算机程序被处理器执行时实现上述的基于用户群和强化学习的项目推荐方法。
本发明的有益效果在于:
本发明提供的一种基于用户群和强化学习的项目推荐方法,首先基于评分矩阵获取不同用户的用户特征向量,并与对应用户的用户信息向量结合,形成特征信息丰富的用户综合特征向量;然后,基于不同用户间的欧式距离,对所有用户进行群体聚类,让有相似兴趣的用户归为同一个用户聚类群体;接着,基于与目标用户交互过的项目中的关键词,扩充目标用户可能感兴趣的项目,得到丰富的待推荐项目组;最后,基于目标用户的用户聚类群体特点,以及待推荐项目组的项目综合特征向量,得到待推荐项目组的推荐值,将推荐值最大的待推荐项目组中的项目推荐给目标用户,提高项目推荐的丰富度和准确性。
具体实施方式
本实施例提供一种基于用户群和强化学习的项目推荐方法,包括如下操作:
S1、获取数据集中用户对项目的评分矩阵,所述评分矩阵经奇异值分解后,得到不同用户的用户特征向量;所有用户的用户特征向量,形成了用户特征向量集;获取数据集中不同用户的身份信息,分别经嵌入处理,得到不同用户的用户信息向量;所有用户的用户信息向量,形成了用户信息向量集;将所述用户特征向量集与用户信息向量集,进行对应用户的向量拼接处理,得到的所有用户的用户综合特征向量,形成了用户综合特征向量集;
S2、从所述用户综合特征向量集对应的用户集中,随机选取若干个用户作为不同的初始聚类中心;获取所述用户集中,当前剩余用户分别与所有初始聚类中心的欧氏距离,将欧氏距离最小值对应的初始聚类中心与所述当前剩余用户进行连接,得到当前用户聚类群体;所有用户聚类群体,形成了用户聚类群体集;基于所述用户聚类群体集中,每个用户聚类群体中所有用户的用户综合特征向量,得到每个用户聚类群体对应的用户群体特征矩阵;所有用户群体特征矩阵,形成了用户群体特征矩阵集;
S3、获取与目标用户有交互记录的项目,作为第一项目;所有第一项目,形成了第一项目集;获取与所述第一项目集中的当前第一项目含有相同关键词的项目,得到第二项目;所述第二项目与当前第一项目形成了当前待推荐项目组;所有待推荐项目组,形成了待推荐项目组集;
S4、所述目标用户的用户群体特征矩阵,与所述待推荐项目组集中每个待推荐项目组,分别进行强化学习处理,得到每个待推荐项目组的推荐值;将推荐值最大值对应的待推荐项目组推荐给目标用户。
S1、获取数据集中用户对项目的评分矩阵,评分矩阵经奇异值分解后,得到不同用户的用户特征向量;所有用户的用户特征向量,形成了用户特征向量集;获取数据集中不同用户的身份信息,分别经嵌入处理,得到不同用户的用户信息向量;所有用户的用户信息向量,形成了用户信息向量集;将所述用户特征向量集与用户信息向量集,进行对应用户的向量拼接处理,得到的所有用户的用户综合特征向量,形成了用户综合特征向量集。
将用户交互平台(例如美团、携程等这类用户服务平台)中有关用户和项目(例如电影、美食和景点)的数据,作为数据集;通过获取数据集中不同用户对不同项目的打分数据,来构建评分矩阵,用于提取出用户关于项目喜好状况的用户特征向量,并与能够反映用户身份信息的用户信息向量结合,形成特征信息丰富的用户综合特征向量,有利于后续根据用户特征对用户进行群体聚类,便于进一步根据目标用户的用户聚类群体特征,给目标用户进行丰富且准确的项目推荐。
首先,从数据集中获取能够反映不同用户对不同项目打分情况的评分矩阵,评分矩阵的行数据为同一用户对不同项目的打分信息,评分矩阵的列数据为不同用户对同一项目的打分信息。
接着,将评分矩阵进行奇异值分解处理,不仅能够得到反映用户喜好的用户特征向量,还能得到反映项目被喜爱情况的项目特征向量,用于后续和用户特征向量结合进行项目推荐。用户特征向量为,评分矩阵与评分矩阵转置相乘后进行正规化处理得到的矩阵的行向量。项目特征向量为,评分矩阵转置与评分矩阵相乘后进行正规化处理得到的矩阵的列向量。所有用户的用户特征向量,形成了用户特征向量集;所有项目的项目特征向量,形成了项目特征向量集。
然后,从数据集当中获取不同用户的身份信息,包括年龄、性别、职业、居住地等,将不同用户的身份信息分别进行嵌入处理(可通过embedding层实现),得到不同用户的用户信息向量;所有用户的用户信息向量,形成了用户信息向量集。
同时,从数据集当中获取不同项目的类别信息,将不同项目的类别信息分别进行嵌入处理(可通过embedding层实现),得到不同项目的项目类别向量;所有项目的项目类别向量,形成了项目类别向量集。
最后,将用户特征向量集与用户信息向量集,进行对应用户的向量拼接处理,得到每个用户的既能反应用户喜好还能反应用户身份信息的用户综合特征向量,便于后续进行准确的群体聚类,有利于后续根据目标用户所在的用户聚类群体特征为目标用户推荐丰富且准确的项目,提高目标用户的体验感;所有用户的用户综合特征向量,形成了用户综合特征向量集。
另外,将项目特征向量集与项目类别向量集,进行对应项目的向量拼接处理,得到每个项目的既能反应被用户喜好程度还能反应项目类别的项目综合特征向量,便于后续找到类似项目,并根据目标用户的用户聚类群体特点,对目标用户进行准确且丰富的项目推荐,提高目标用户的体验感。
S2、从用户综合特征向量集对应的用户集中,随机选取若干个用户作为不同的初始聚类中心;获取用户集中,当前剩余用户分别与所有初始聚类中心的欧式距离,将欧式距离最小值对应的初始聚类中心与当前剩余用户进行连接,得到当前用户聚类群体;所有用户聚类群体,形成了用户聚类群体集;基于用户聚类群体集中,每个用户聚类群体中所有用户的用户综合特征向量,得到每个用户聚类群体对应的用户群体特征矩阵;所有用户群体特征矩阵,形成了用户群体特征矩阵集。
根据用户之间的欧式距离,将不同用户进行群体聚类,得到不同的用户聚类群体,同一用户聚类群体中的用户有着相似项目喜好,还有着不同的用户特点,便于后续给同用户聚类群体的目标用户提供准确且丰富的项目,提高目标用户的体验感。
具体为,首先从用户综合特征向量集的所有用户形成的用户集中,随机选取若干个用户作为不同的初始聚类中心。然后,用户集中的剩余用户,一个接一个的进行群体聚类,对于第一轮的群体聚类,分别获取当前剩余用户与不同的初始聚类中心的欧式距离,将欧式距离最小值对应的初始聚类中心与当前剩余用户进行连接,得到当前用户聚类群体。所有用户执行上述的群体聚类操作,得到的所有用户聚类群体,形成了用户聚类群体集。
欧式距离可通过如下公式得到:
,
d(p,q)为用户p与初始聚类中心q的欧式距离,p k 为用户p的用户综合特征向量中的第k维向量,q k 为初始聚类中心q的用户综合特征向量中的第k维向量,n为维度总数,n的数量由用户综合特征向量中包含的身份信息种类决定,例如身份信息的种类有3种,即身份信息包括性别、年龄、职业,则n=3+1=4。
为进一步提高群体聚类的精确度,使同一用户聚类群体内的不同用户特征更相似,得到当前用户聚类群体的操作之后,还包括更新聚类中心,具体为:将当前用户聚类群体中,所有用户的用户综合特征向量进行求和处理后,除以当前用户聚类群体中的用户总数,得到更新聚类中心;更新聚类中心用于计算与用户集中下一个剩余用户的欧氏距离。
例如,第一次的群体聚类执行完后,得到当前用户聚类群体,当前用户聚类群体中包含初始聚类中心与一个用户,共有2个用户;将当前用户聚类群体中当前用户与初始聚类中心进行求和后,除以2,得到更新聚类中心;更新聚类中心用于执行第二次中计算与下一个剩余用户的欧氏距离,也就是在进行第二轮的群体聚类时,分别计算下一个剩余用户与更新聚类中心以及不同的初始聚类中心的欧式距离,将欧式距离最小值对应的聚类中心与下一个剩余用户进行相连;每一次的群体聚类执行完后,都会更新聚类中心,得到的更新聚类中心用于下一次群体聚类中计算欧氏距离。
本实施例中,更新聚类中心的操作并不仅限于在第一次的群体聚类执行完后执行,还可以在第二次或第三次等的群体聚类执行完后执行。
更新聚类中心可通过如下公式得到:
,
q'为更新聚类中心,m为当前用户聚类群体中用户的总数量,p i 为当前用户聚类群体中第i个用户的用户综合特征向量。
所有用户执行上述的群体聚类操作,得到的所有用户聚类群体,形成了用户聚类群体集。
最后计算每个用户聚类群体对应的用户群体特征矩阵,用于后续和项目综合特征向量结合,对目标用户进行项目推荐。
得到用户群体特征矩阵的操作为:获取当前用户聚类群体中,每个用户的特征权重;每个用户的特征权重与对应的用户综合特征向量相乘后,进行求和处理,得到群体聚合特征向量;群体聚合特征向量除以当前用户聚类群体中的用户总数,得到群体聚合特征平均向量,将群体聚合特征平均向量转化为矩阵,得到当前用户群体特征矩阵。
得到群体聚合特征平均向量的操作可通过如下公式实现:
,
W n 为第s个用户聚类群体(当前用户聚类群体)的用户群体特征矩阵,m为第s个用户聚类群体(当前用户聚类群体)的中用户的总数量,w i,s 为第s个用户聚类群体(当前用户聚类群体)中第i个用户的特征权重,p i,s 为第s个用户聚类群体(当前用户聚类群体)中第i个用户的用户综合特征向量。
用户特征权重可通过如下公式得到:
,
w i 为第i个用户权重,p i 为第i个用户的用户综合特征向量,α n 为第i个用户的第r个注意力扰动参数,可根据需求自己设定,R为注意力扰动参数的总数,M为用户集中的用户总数。
所有用户群体特征矩阵,形成了用户群体特征矩阵集。
S3、获取与目标用户有交互记录的项目,作为第一项目;所有第一项目,形成了第一项目集;获取与第一项目集中的当前第一项目含有相同关键词的项目,得到第二项目;第二项目与当前第一项目形成了当前待推荐项目组;所有待推荐项目组,形成了待推荐项目组集。
将与目标用户有交互记录的项目提取处理,作为待推荐的第一项目;为进一步扩大待推荐项目的丰富度,将与第一项目含有相同关键词的项目,作为待推荐的第二项目,第二项目与对应的第一项目形成了一个待推荐项目组;所有第一项目对应的待推荐项目组,形成了目标用户的待推荐项目组集。
当第一项目中的关键词不止一个时,第二项目与第一项目的相同关键词,为第一项目中不同关键词的随机组合。
为进一步提高待推荐项目的丰富度,便于给目标用户提供丰富且准确的项目,形成了待推荐项目组集的操作之后,还包括:获取评分矩阵中,评分值均值大于第一阈值的项目,作为高评分项目;所有高评分项目,形成了高评分项目组;高评分项目组,与待推荐项目组集中每个待推荐项目组组合(拼接)后,得到不同的优化待推荐项目组;所有优化待推荐项目组,形成了优化待推荐项目组集;优化待推荐项目组集用于执行S4中的操作。
S4、目标用户的用户群体特征矩阵,与待推荐项目组集中每个待推荐项目组,分别进行强化学习处理,得到每个待推荐项目组的推荐值;将推荐值最大值对应的待推荐项目组推荐给目标用户。
将目标用户的用户群体特征矩阵作为状态,待推荐项目组集或优化待推荐项目组集中,每个待推荐项目组或优化待推荐项目组分别作为动作,分别进行强化学习处理,得到每个待推荐项目组或优化待推荐项目组对应的推荐值;将推荐值最大值对应的待推荐项目组或优化待推荐项目组推荐给目标用户,实现对目标用户的准确推荐。
强化学习处理的操作包括但不仅限于,通过Q-Learning方法,DQN(Deep Q-learning Network)方法,Sarsa方法实现。
本实施例中,强化学习处理的操作为:获取当前待推荐项目组中,所有项目特征向量的方差,以及所有项目特征向量的平均值,分别得到当前待推荐项目组方差和当前待推荐项目组平均特征向量;基于当前待推荐项目组方差和当前待推荐项目组平均特征向量,以及目标用户对应的用户群体特征矩阵的逆矩阵,得到当前待推荐项目组的推荐值。
强化学习处理的操作可通过如下公式实现:
,
i j 为第j个待推荐项目组(当前待推荐项目组)的推荐值,σ 2 (x j )为第j个待推荐项
目组(当前待推荐项目组)的方差,β为强化学习超参数,为第j个待推荐项目组(当前待
推荐项目组)中所有项目特征向量的平均值,为第j个待推荐项目组(当前待推荐项目
组)中所有项目特征向量的平均值的转置,为目标用户对应的第n个用户群体特征矩阵
的逆矩阵,t为强化学习轮次。
为进一步提升目标用户项目推荐的准确度,设置推荐损失函数,即当推荐损失函数的输出值大于推荐阈值后,输出当前强化学习处理的推荐值最大值的待推荐项目组,用于推荐给目标用户。
推荐损失函数包括强化学习损失函数和奇异值分解损失函数,推荐损失函数可通过如下公式得到:
,
,
L为推荐损失函数上午输出值,i为强化学习的输出值,b 1 为损失权重,L 1 为奇异值分解损失函数的输出值,r iz 为用户i对项目z的真实评分值,y iz 为用户i对项目z的预测评分值,为所有用户形成的矩阵的范数平方,/>为所有项目形成的矩阵的范数平方。
为提升下一轮次对目标用户进行项目推荐的丰富度和准确度,执行完当前轮次的项目推荐的操作后,在进行下一轮次的项目推荐的操作之前,还包括获取当前轮次目标用户的更新用户综合特征向量,更新用户综合特征向量用于执行下一轮次S2中的操作;获取当前轮次目标用户的更新用户综合特征向量的操作为:基于当前轮次目标用户的用户综合特征向量、待推荐项目组中所有项目特征向量的平均值、待推荐项目组的奖励值总和,得到目标用户的更新用户综合特征向量。
得到更新用户综合特征向量的操作可通过如下公式实现:
,
P ’ 为目标用户的更新用户综合特征向量,P为目标用户的用户综合特征向量,Z为待推荐项目组的奖励值总和,X T 待推荐项目组中所有项目特征向量的平均值,θ为超参数。
待推荐项目组的奖励值总和为,待推荐项目组中与当前轮次目标用户进行交互过的所有待推荐项目的奖励值的总和;若当前轮次目标用户对待推荐项目的评分值等于第二阈值,待推荐项目的奖励值为第一数值;若当前轮次目标用户对待推荐项目的评分值超过第二阈值,待推荐项目的奖励值为第一数值与,评分值与第二阈值的差值的和。
例如,当前轮次目标用户A对其交互过的待推荐项目B的评分为3分,等于第二阈值3分,则待推荐项目B的奖励值为1,当前轮次目标用户A对其交互过的待推荐项目C的评分为5分,超过第二阈值3分了2分,则待推荐项目B的奖励值为1+5-3=3。
本实施例还提供了一种基于用户群和强化学习的项目推荐系统,包括:
用户综合特征向量集生成模块,用于获取数据集中用户对项目的评分矩阵,评分矩阵经奇异值分解后,得到不同用户的用户特征向量;所有用户的用户特征向量,形成了用户特征向量集;获取数据集中不同用户的身份信息,分别经嵌入处理,得到不同用户的用户信息向量;所有用户的用户信息向量,形成了用户信息向量集;将用户特征向量集与用户信息向量集,进行对应用户的向量拼接处理,得到的所有用户的用户综合特征向量,形成了用户综合特征向量集;
用户群体特征矩阵集生成模块,用于从用户综合特征向量集对应的用户集中,随机选取若干个用户作为不同的初始聚类中心;获取用户集中,当前剩余用户分别与所有初始聚类中心的欧氏距离,将欧氏距离最小值对应的初始聚类中心与当前剩余用户进行连接,得到当前用户聚类群体;所有用户聚类群体,形成了用户聚类群体集;基于用户聚类群体集中,每个用户聚类群体中所有用户的用户综合特征向量,得到每个用户聚类群体对应的用户群体特征矩阵;所有用户群体特征矩阵,形成了用户群体特征矩阵集;
待推荐项目组集生成模块,用于获取与目标用户有交互记录的项目,作为第一项目;所有第一项目,形成了第一项目集;获取与第一项目集中的当前第一项目含有相同关键词的项目,得到第二项目;第二项目与当前第一项目形成了当前待推荐项目组;所有待推荐项目组,形成了待推荐项目组集;
项目推荐模块,用于目标用户的用户群体特征矩阵,与待推荐项目组集中每个待推荐项目组,分别进行强化学习处理,得到每个待推荐项目组的推荐值;将推荐值最大值对应的待推荐项目组推荐给目标用户。
本实施例还提供了一种基于用户群和强化学习的项目推荐设备,包括处理器和存储器,其中,处理器执行存储器中保存的计算机程序时实现上述的基于用户群和强化学习的项目推荐方法。
本实施例还提供了一种计算机可读存储介质,用于存储计算机程序,其中,计算机程序被处理器执行时实现上述的基于用户群和强化学习的项目推荐方法。
本实施例提供的一种基于用户群和强化学习的项目推荐方法,首先基于评分矩阵获取不同用户的用户特征向量,并与对应用户的用户信息向量结合,形成特征信息丰富的用户综合特征向量;然后,基于不同用户间的欧式距离,对所有用户进行群体聚类,让有相似兴趣的用户归为同一个用户聚类群体;接着,基于与目标用户交互过的项目中的关键词,扩充目标用户可能感兴趣的项目,得到丰富的待推荐项目组;最后,基于目标用户的用户聚类群体特点,以及待推荐项目组的项目综合特征向量,得到待推荐项目组的推荐值,将推荐值最大的待推荐项目组中的项目推荐给目标用户,提高项目推荐的丰富度和准确性。
Claims (7)
1.一种基于用户群和强化学习的项目推荐方法,其特征在于,包括如下操作:
S1、获取数据集中用户对项目的评分矩阵,所述评分矩阵经奇异值分解后,得到不同用户的用户特征向量;所有用户的用户特征向量,形成了用户特征向量集;
获取数据集中不同用户的身份信息,分别经嵌入处理,得到不同用户的用户信息向量;所有用户的用户信息向量,形成了用户信息向量集;
将所述用户特征向量集与用户信息向量集,进行对应用户的向量拼接处理,得到的所有用户的用户综合特征向量,形成了用户综合特征向量集;
S2、从所述用户综合特征向量集对应的用户集中,随机选取若干个用户作为不同的初始聚类中心;
获取所述用户集中,当前剩余用户分别与所有初始聚类中心的欧氏距离,将欧氏距离最小值对应的初始聚类中心与所述当前剩余用户进行连接,得到当前用户聚类群体;所有用户聚类群体,形成了用户聚类群体集;
基于所述用户聚类群体集中,每个用户聚类群体中所有用户的用户综合特征向量,得到每个用户聚类群体对应的用户群体特征矩阵;所有用户群体特征矩阵,形成了用户群体特征矩阵集;
S3、获取与目标用户有交互记录的项目,作为第一项目;所有第一项目,形成了第一项目集;
获取与所述第一项目集中的当前第一项目含有相同关键词的项目,得到第二项目;所述第二项目与当前第一项目形成了当前待推荐项目组;所有待推荐项目组,形成了待推荐项目组集;
S4、所述目标用户的用户群体特征矩阵,与所述待推荐项目组集中每个待推荐项目组,分别进行强化学习处理,得到每个待推荐项目组的推荐值;将推荐值最大值对应的待推荐项目组推荐给目标用户;
所述强化学习处理的操作具体为:获取当前待推荐项目组中,所有项目特征向量的方差,以及所有项目特征向量的平均值,分别得到当前待推荐项目组方差和当前待推荐项目组平均特征向量;基于所述当前待推荐项目组方差和当前待推荐项目组平均特征向量,以及所述目标用户对应的用户群体特征矩阵的逆矩阵,得到所述当前待推荐项目组的推荐值;
执行完当前轮次的项目推荐的操作后,在进行下一轮次的项目推荐的操作之前,还包括获取当前轮次目标用户的更新用户综合特征向量,所述更新用户综合特征向量用于执行下一轮次S2中的操作;
获取当前轮次目标用户的更新用户综合特征向量的操作具体为:基于当前轮次目标用户的用户综合特征向量、待推荐项目组中所有项目特征向量的平均值、待推荐项目组的奖励值总和,得到所述目标用户的更新用户综合特征向量;
所述待推荐项目组的奖励值总和为,所述待推荐项目组中与当前轮次目标用户进行交互过的所有待推荐项目的奖励值的总和;若当前轮次目标用户对待推荐项目的评分值等于第二阈值,待推荐项目的奖励值为第一数值;若当前轮次目标用户对待推荐项目的评分值超过第二阈值,待推荐项目的奖励值为第一数值与,评分值与第二阈值的差值的和。
2.根据权利要求1所述的基于用户群和强化学习的项目推荐方法,其特征在于,所述S2中,得到当前用户聚类群体的操作之后,还包括更新聚类中心,具体为:
将所述当前用户聚类群体中,所有用户的用户综合特征向量进行求和处理后,除以当前用户聚类群体中的用户总数,得到更新聚类中心;
所述更新聚类中心用于计算与所述用户集中下一个剩余用户的欧氏距离。
3.根据权利要求1所述的基于用户群和强化学习的项目推荐方法,其特征在于,所述S2中,得到用户群体特征矩阵的操作具体为:
获取所述当前用户聚类群体中,每个用户的特征权重;每个用户的特征权重与对应的用户综合特征向量相乘后,进行求和处理,得到群体聚合特征向量;所述群体聚合特征向量除以当前用户聚类群体中的用户总数,得到群体聚合特征平均向量,将所述群体聚合特征平均向量转化为矩阵,得到当前用户群体特征矩阵。
4.根据权利要求1所述的基于用户群和强化学习的项目推荐方法,其特征在于,所述S3中,形成了待推荐项目组集的操作之后,还包括:
获取所述评分矩阵中,评分值均值大于第一阈值的项目,作为高评分项目;所有高评分项目,形成了高评分项目组;
所述高评分项目组,与所述待推荐项目组集中每个待推荐项目组组合后,得到不同的优化待推荐项目组;所有优化待推荐项目组,形成了优化待推荐项目组集;
所述优化待推荐项目组集用于执行所述S4中的操作。
5.一种基于用户群和强化学习的项目推荐系统,其特征在于,包括:
用户综合特征向量集生成模块,用于获取数据集中用户对项目的评分矩阵,所述评分矩阵经奇异值分解后,得到不同用户的用户特征向量;所有用户的用户特征向量,形成了用户特征向量集;获取数据集中不同用户的身份信息,分别经嵌入处理,得到不同用户的用户信息向量;所有用户的用户信息向量,形成了用户信息向量集;将所述用户特征向量集与用户信息向量集,进行对应用户的向量拼接处理,得到的所有用户的用户综合特征向量,形成了用户综合特征向量集;
用户群体特征矩阵集生成模块,用于从所述用户综合特征向量集对应的用户集中,随机选取若干个用户作为不同的初始聚类中心;获取所述用户集中,当前剩余用户分别与所有初始聚类中心的欧氏距离,将欧氏距离最小值对应的初始聚类中心与所述当前剩余用户进行连接,得到当前用户聚类群体;所有用户聚类群体,形成了用户聚类群体集;基于所述用户聚类群体集中,每个用户聚类群体中所有用户的用户综合特征向量,得到每个用户聚类群体对应的用户群体特征矩阵;所有用户群体特征矩阵,形成了用户群体特征矩阵集;
待推荐项目组集生成模块,用于获取与目标用户有交互记录的项目,作为第一项目;所有第一项目,形成了第一项目集;获取与所述第一项目集中的当前第一项目含有相同关键词的项目,得到第二项目;所述第二项目与当前第一项目形成了当前待推荐项目组;所有待推荐项目组,形成了待推荐项目组集;
项目推荐模块,用于所述目标用户的用户群体特征矩阵,与所述待推荐项目组集中每个待推荐项目组,分别进行强化学习处理,得到每个待推荐项目组的推荐值;将推荐值最大值对应的待推荐项目组推荐给目标用户;所述强化学习处理的操作具体为:获取当前待推荐项目组中,所有项目特征向量的方差,以及所有项目特征向量的平均值,分别得到当前待推荐项目组方差和当前待推荐项目组平均特征向量;基于所述当前待推荐项目组方差和当前待推荐项目组平均特征向量,以及所述目标用户对应的用户群体特征矩阵的逆矩阵,得到所述当前待推荐项目组的推荐值;执行完当前轮次的项目推荐的操作后,在进行下一轮次的项目推荐的操作之前,还包括获取当前轮次目标用户的更新用户综合特征向量,所述更新用户综合特征向量用于执行下一轮次S2中的操作;获取当前轮次目标用户的更新用户综合特征向量的操作具体为:基于当前轮次目标用户的用户综合特征向量、待推荐项目组中所有项目特征向量的平均值、待推荐项目组的奖励值总和,得到所述目标用户的更新用户综合特征向量;所述待推荐项目组的奖励值总和为,所述待推荐项目组中与当前轮次目标用户进行交互过的所有待推荐项目的奖励值的总和;若当前轮次目标用户对待推荐项目的评分值等于第二阈值,待推荐项目的奖励值为第一数值;若当前轮次目标用户对待推荐项目的评分值超过第二阈值,待推荐项目的奖励值为第一数值与,评分值与第二阈值的差值的和。
6.一种基于用户群和强化学习的项目推荐设备,其特征在于,包括处理器和存储器,其中,所述处理器执行所述存储器中保存的计算机程序时实现如权利要求1-4任一项所述的基于用户群和强化学习的项目推荐方法。
7.一种计算机可读存储介质,其特征在于,用于存储计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1-4中任一项所述的基于用户群和强化学习的项目推荐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410244548.4A CN117851650B (zh) | 2024-03-05 | 2024-03-05 | 一种基于用户群和强化学习的项目推荐方法、系统和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410244548.4A CN117851650B (zh) | 2024-03-05 | 2024-03-05 | 一种基于用户群和强化学习的项目推荐方法、系统和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117851650A CN117851650A (zh) | 2024-04-09 |
CN117851650B true CN117851650B (zh) | 2024-05-10 |
Family
ID=90529470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410244548.4A Active CN117851650B (zh) | 2024-03-05 | 2024-03-05 | 一种基于用户群和强化学习的项目推荐方法、系统和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117851650B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106651546A (zh) * | 2017-01-03 | 2017-05-10 | 重庆邮电大学 | 一种面向智慧社区的电子商务信息推荐方法 |
CN109166017A (zh) * | 2018-10-12 | 2019-01-08 | 平安科技(深圳)有限公司 | 基于重聚类的推送方法、装置、计算机设备及存储介质 |
CN109493195A (zh) * | 2018-12-24 | 2019-03-19 | 成都品果科技有限公司 | 一种基于强化学习的双聚类推荐方法和系统 |
CN110807154A (zh) * | 2019-11-08 | 2020-02-18 | 内蒙古工业大学 | 一种基于混合深度学习模型的推荐方法与系统 |
US10936961B1 (en) * | 2020-08-07 | 2021-03-02 | Fmr Llc | Automated predictive product recommendations using reinforcement learning |
CN114117220A (zh) * | 2021-11-26 | 2022-03-01 | 东北大学 | 基于知识增强的深度强化学习交互式推荐系统及方法 |
CN115017418A (zh) * | 2022-08-10 | 2022-09-06 | 北京数慧时空信息技术有限公司 | 基于强化学习的遥感影像推荐系统及方法 |
KR20230094696A (ko) * | 2021-12-21 | 2023-06-28 | 한양대학교 산학협력단 | 추천시스템에서의 효율적인 행렬 분해를 위한 양자화 프레임워크 장치 및 학습 방법 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8346689B2 (en) * | 2010-01-21 | 2013-01-01 | National Cheng Kung University | Recommendation system using rough-set and multiple features mining integrally and method thereof |
KR20220009646A (ko) * | 2020-07-16 | 2022-01-25 | 한국전자통신연구원 | 인식 모델 성향 분석 기반 연합 학습 추천 장치 및 방법, 사용자 단말에서의 연합 학습 방법 |
-
2024
- 2024-03-05 CN CN202410244548.4A patent/CN117851650B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106651546A (zh) * | 2017-01-03 | 2017-05-10 | 重庆邮电大学 | 一种面向智慧社区的电子商务信息推荐方法 |
CN109166017A (zh) * | 2018-10-12 | 2019-01-08 | 平安科技(深圳)有限公司 | 基于重聚类的推送方法、装置、计算机设备及存储介质 |
CN109493195A (zh) * | 2018-12-24 | 2019-03-19 | 成都品果科技有限公司 | 一种基于强化学习的双聚类推荐方法和系统 |
CN110807154A (zh) * | 2019-11-08 | 2020-02-18 | 内蒙古工业大学 | 一种基于混合深度学习模型的推荐方法与系统 |
US10936961B1 (en) * | 2020-08-07 | 2021-03-02 | Fmr Llc | Automated predictive product recommendations using reinforcement learning |
CN114117220A (zh) * | 2021-11-26 | 2022-03-01 | 东北大学 | 基于知识增强的深度强化学习交互式推荐系统及方法 |
KR20230094696A (ko) * | 2021-12-21 | 2023-06-28 | 한양대학교 산학협력단 | 추천시스템에서의 효율적인 행렬 분해를 위한 양자화 프레임워크 장치 및 학습 방법 |
CN115017418A (zh) * | 2022-08-10 | 2022-09-06 | 北京数慧时空信息技术有限公司 | 基于强化学习的遥感影像推荐系统及方法 |
Non-Patent Citations (5)
Title |
---|
ORLEP: an efficient offline reinforcement learing evaluation platform;Keming Mao等;Multimedia Tools and Applications;20230922;全文 * |
Supervised Reinforcement Learning with Recurrent Neural Network for Dynamic Treatment Recommendation;Lu Wang等;arXiv;20180917;全文 * |
一种优化聚类的协同过滤推荐算法;王永贵;刘凯奇;;计算机工程与应用;20201231(15);全文 * |
个性化推荐系统综述;张宇航;姚文娟;姜姗;;价值工程;20200115(02);全文 * |
融合隐性特征的群体推荐方法研究;刘毅;钟忺;李琳;;计算机科学;20170315(03);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117851650A (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Guan et al. | Matrix factorization with rating completion: An enhanced SVD model for collaborative filtering recommender systems | |
EP3345104B1 (en) | Media unit retrieval and related processes | |
CN105868334B (zh) | 一种基于特征递增型的电影个性化推荐方法及系统 | |
CN110020128B (zh) | 一种搜索结果排序方法及装置 | |
WO2013138969A1 (en) | Method and system for recommending content to a user | |
Hornick et al. | Extending recommender systems for disjoint user/item sets: The conference recommendation problem | |
CN110688565B (zh) | 基于多维霍克斯过程和注意力机制的下一个物品推荐方法 | |
Bilge et al. | Improving privacy-preserving NBC-based recommendations by preprocessing | |
CN110851651A (zh) | 一种个性化视频推荐方法及系统 | |
CN113850649A (zh) | 一种基于多平台用户数据的定制化推荐方法及推荐系统 | |
US20220309101A1 (en) | Accelerated large-scale similarity calculation | |
CN113627995A (zh) | 商品推荐列表更新方法及其装置、设备、介质、产品 | |
CN116108267A (zh) | 一种推荐方法及相关设备 | |
CN114168790A (zh) | 一种基于特征自动组合的个性化视频推荐方法及系统 | |
CN113971599A (zh) | 广告投放选品方法及其装置、设备、介质、产品 | |
CN117851650B (zh) | 一种基于用户群和强化学习的项目推荐方法、系统和设备 | |
CN114443948A (zh) | 基于多场景数据的排序模型训练方法、排序方法及装置 | |
CN112036979A (zh) | 评分预测方法、推荐方法、处理装置及存储介质 | |
CN117370672B (zh) | 基于混合结构图的用户兴趣点推荐方法、系统和设备 | |
RIANDY et al. | RESTAURANT RECOMMENDATION SYSTEM USING ADVANCED COLLABORATIVE FILTERING AND REVIEW TEXT CONTENT APPROACH | |
CN116777529B (zh) | 一种对象推荐的方法、装置、设备、存储介质及程序产品 | |
CN111563159B (zh) | 文本排序方法及装置 | |
CN112765458B (zh) | 基于度量分解和标签自适应分配权重的混合推荐方法 | |
US20230214633A1 (en) | Neural ranking model for generating sparse representations for information retrieval | |
EP3139281A1 (en) | Media unit retrieval and related processes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |