利索能及
我要发布
收藏
专利号: 2023112135507
申请人: 江西财经大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种利用NMF的不同活跃度用户长尾推荐方法,其特征在于,所述方法包括如下步骤:步骤1、通过神经矩阵分解对用户与项目的交互信息进行深层次建模,预测出用户对所有项目的评分,利用用户对所有项目的评分结合Pareto经验值将用户及项目按照活跃度划分为活跃用户分支和不活跃用户分支;

步骤2、将活跃用户分支使用基于项目的协同过滤方法挖掘出活跃用户感兴趣的项目,根据活跃用户感兴趣的项目,再利用推荐算法计算获得活跃用户的预推荐结果;将不活跃用户分支采用User‑KNN的方式,赋予不活跃用户的相似用户偏好信息,根据不活跃用户的相似用户偏好信息,再利用推荐算法计算获得不活跃用户的预推荐结果;

步骤3、在得到所有用户的预推荐结果后,将推荐列表中的部分热门项目替换为相似的长尾项目,并且在替换的过程中过滤掉潜在的热门项目,以提高长尾项目的曝光率,得到最终推荐结果。

2.根据权利要求1所述的一种利用NMF的不同活跃度用户长尾推荐方法,其特征在于,在所述步骤1中,通过神经矩阵分解对用户与项目的交互信息进行深层次建模,预测出用户对所有项目的评分的方法具体包括如下步骤:神经矩阵分解包括输入层、嵌入层、GMF层、MLP层和输出层,利用输入层分别对用户编号与项目编号采用one‑hot进行编码,用户的编码长度为M,项目的编码长度为N;

利用嵌入层将用户编码结果与项目编码结果进行降维操作,获得K维用户潜在特征矩阵和K维项目潜在特征矩阵,其中K<

利用GMF层将潜在特征向量进行内积,得到K维向量,K维向量计算过程存在如下关系式:;

其中, 表示用户潜在特征向量, 表示项目潜在特征向量, 表示K维向量, 表示内积操作;

将K维向量输入MLP层中,MLP层包括有多层神经网络,采用上一层输出作为下一层输入的方式将K维向量通过多层神经网络,以学习用户与项目深层的交互关系,捕捉用户更深层的特征,得到神经网络计算结果,神经网络计算过程存在如下关系式:;

其中, 表示第1层的神经网络的激活函数, 和 分别表示第1层的神经网络的连接权重和偏置值, 表示第1层的神经网络计算结果, 表示第 层的神经网络的激活函数,和 分别表示第 层的神经网络的连接权重和偏置值, 表示第 层的神经网络计算结果,表示转置操作;

通过输出层将神经网络计算结果输入至全连接层,以得到用户对项目的预测评分,用户对项目的预测评分计算过程存在如下关系式:;

其中, 表示用户 对项目 的预测偏好值,与 分别为输出层的激活函数和连接权重。

3.根据权利要求2所述的一种利用NMF的不同活跃度用户长尾推荐方法,其特征在于,在所述步骤1中,利用用户对所有项目的评分结合Pareto经验值将用户及项目按照活跃度划分为活跃用户分支和不活跃用户分支的过程存在如下关系式:;

其中, 表示Pareto经验值, , 和 分别表示活跃用户与不活跃用户集,表示用户集,表示项目集, 和 分别表示热门项目与长尾项目集, 表示降序排序。

4.根据权利要求3所述的一种利用NMF的不同活跃度用户长尾推荐方法,其特征在于,在所述步骤2中,将活跃用户分支使用基于项目的协同过滤方法挖掘出活跃用户感兴趣的项目,根据活跃用户感兴趣的项目,再利用推荐算法计算获得活跃用户的预推荐结果的方法具体包括如下步骤:通过引入反活跃度参数来修正项目相似度的计算;

根据修正后的项目相似度,利用ItemCF算法计算用户 对项目 的感兴趣程度,用户 对项目 的感兴趣程度计算过程存在如下关系式:;

其中, 表示活跃用户评分的项目集, 表示感兴趣程度计算, 表示项目 最相似的K个项目集;

再根据用户 对项目 的感兴趣程度,利用ItemCF算法计算活跃用户的预推荐结果,活跃用户的预推荐结果计算过程如下关系式:;

其中, 表示活跃用户的预推荐结果, 表示根据用户对项目的感兴趣度 取前 个项目;

项目相似度计算过程存在如下关系式:

其中, 表示对项目评分的用户数量, 表示相似度计算, 表示对项目 评分的用户数量, 表示同时对项目 与项目 评分的用户, 表示同时对项目与项目 评分的用户数量。

5.根据权利要求4所述的一种利用NMF的不同活跃度用户长尾推荐方法,其特征在于,在所述步骤2中,将不活跃用户分支采用User‑KNN的方式,赋予不活跃用户的相似用户偏好信息,根据不活跃用户的相似用户偏好信息,再利用推荐算法计算获得不活跃用户的预推荐结果的方法具体包括如下步骤:利用欧式距离计算不活跃用户之间的距离,利用欧式距离计算不活跃用户之间的距离过程如下关系式:;

其中,和 均表示用户集 中的用户, 表示欧式距离计算, 和 分别表示用户对项目的评分以及用户 对项目的评分,表示项目数;

以用户之间的距离作为衡量相似度的指标,根据相似度的大小,选择与目标用户最相似的K个用户作为相似最近邻;

通过引入反活跃度参数来修正项目相似度的计算;

再根据最近邻中用户对项目的感兴趣程度,利用ItemCF算法计算相似最近邻中每个不活跃用户的预推荐结果,得到相似最近邻中每个不活跃用户的推荐项目列表;

将推荐列表组合后按对项目的兴趣度排序,取出前 个项目作为目标用户的预推荐结果,目标用户的预推荐结果计算过程存在如下关系式:;

其中, 表示不活跃用户的预推荐结果, 表示第 个相似最近邻用户的推荐结果。

6.根据权利要求4所述的一种利用NMF的不同活跃度用户长尾推荐方法,其特征在于,在所述步骤3中,在得到所有用户的预推荐结果后,将推荐列表中的部分热门项目替换为相似的长尾项目,并且在替换的过程中过滤掉潜在的热门项目,以提高长尾项目的曝光率,得到最终推荐结果的方法具体包括如下步骤:将活跃用户与非活跃用户的预推荐结果结合,得到整体用户的推荐结果;

从整体用户的推荐结果中选择用户对项目感兴趣程度小的热门项目作为待替换热门项目,待替换热门项目的计算过程存在如下关系式:;

其中, 表示项目的标签总数, 、 分别表示目标项目与长尾项目的标签, 表示挑选用户对项目感兴趣程度小的热门项目, 表示挑选出的待替换热门项目集;

使用欧式距离计算待替换热门项目与长尾项目的相关性,以得到与待替换热门项目相似的相似长尾项目,相似长尾项目计算过程存在如下关系式:;

其中, 和 分别表示待替换热门项目集中第 个待替换热门项目以及待替换热门项目集中的项目数, 表示长尾项目集中的长尾项目数, 表示选取前 个相似长尾项目, 表示 的相似长尾项目集;

对相似长尾项目进行计数,统计各个长尾项目被作为替换候选的次数,对相似长尾项目进行计数存在如下关系式:;

其中,Count表示集合中的长尾项目进行计数并保存, 表示带有计数信息的相似长尾项目;

设定新晋热门阈值,过滤掉出现次数大于新晋热门阈值的相似长尾项目,得到候选相似长尾项目,候选相似长尾项目计算过程存在如下关系式:;

其中,表示新晋热门阈值,Filter过滤掉出现次数大于 的长尾项目, 表示候选相似长尾项目集;

将候选相似长尾项目集中选择项目相关性最高项进行替换,得到符合长尾比例的最终推荐结果,最终推荐结果计算过程存在如下关系式:;

其中, 表示符合长尾比例的最终推荐结果,表示长尾比例,表示推荐列表长度,表示推荐列表中长尾项目,表示用户的预推荐结果, 表示选取前面第 1 个相似长尾项目。

7.一种利用NMF的不同活跃度用户长尾推荐系统,其特征在于,所述系统应用如上述权利要求1至6任意一项所述的一种利用NMF的不同活跃度用户长尾推荐方法,所述系统包括:用户Pareto划分模块,用于通过神经矩阵分解对用户与项目的交互信息进行深层次建模,预测出用户对所有项目的评分,利用用户对所有项目的评分结合Pareto经验值将用户及项目按照活跃度划分为活跃用户分支和不活跃用户分支;

不同活跃度用户兴趣处理模块,用于将活跃用户分支使用基于项目的协同过滤方法挖掘出活跃用户感兴趣的项目,根据活跃用户感兴趣的项目,再利用推荐算法计算获得活跃用户的预推荐结果;将不活跃用户分支采用User‑KNN的方式,赋予不活跃用户的相似用户偏好信息,根据不活跃用户的相似用户偏好信息,再利用推荐算法计算获得不活跃用户的预推荐结果;

长尾项目比例规范化模块,用于在得到所有用户的预推荐结果后,将推荐列表中的部分热门项目替换为相似的长尾项目,并且在替换的过程中过滤掉潜在的热门项目,以提高长尾项目的曝光率,得到最终推荐结果。