CN114117251B - 一种智慧文博下融合多因素的矩阵分解个性化推荐方法 - Google Patents

一种智慧文博下融合多因素的矩阵分解个性化推荐方法 Download PDF

Info

Publication number
CN114117251B
CN114117251B CN202111386479.3A CN202111386479A CN114117251B CN 114117251 B CN114117251 B CN 114117251B CN 202111386479 A CN202111386479 A CN 202111386479A CN 114117251 B CN114117251 B CN 114117251B
Authority
CN
China
Prior art keywords
user
movie
movies
score
representing
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
Application number
CN202111386479.3A
Other languages
English (en)
Other versions
CN114117251A (zh
Inventor
朱容波
金焕章
王俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South Central Minzu University
Original Assignee
South Central University for Nationalities
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by South Central University for Nationalities filed Critical South Central University for Nationalities
Priority to CN202111386479.3A priority Critical patent/CN114117251B/zh
Publication of CN114117251A publication Critical patent/CN114117251A/zh
Application granted granted Critical
Publication of CN114117251B publication Critical patent/CN114117251B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种智慧文博下融合多因素的矩阵分解个性化推荐方法,该方法包括:对用户历史数据集进行初始化并分析处理,运用F‑PEARSON计算出用户与其他用户的相似性得分;根据基于机器学习的BERT模型训练用户历史数据集,预测出每个用户对不同年代不同类型电影的评分;根据用户的特征矩阵和项目的特征矩阵,并结合用户相似性得分、预测评分,构建融合多因素的预测评分公式和目标函数;输入待预测的用户数据,运用随机梯度下降法进行求解,使得目标函数下降最快,得到预测评分。本发明可以有效解决传统推荐算法在稀疏数据、冷启动、特征关系提取等问题上处理能力的不足等问题,降低了预测评分误差和提高推荐的精确度。

Description

一种智慧文博下融合多因素的矩阵分解个性化推荐方法
技术领域
本发明涉及大数据推荐方法领域,尤其涉及一种智慧文博下融合多因素的矩阵分解个性化推荐方法。
背景技术
随着近年来物联网技术飞速发展、人们生活水平不断提高、互联网用户规模快速增加、用户需求多样性,人们在海量数据中获取感兴趣的内容变得更加困难,如何准确捕捉用户感兴趣的内容是当前亟需解决的问题。
现在,人们生活离不开手机,网络信息呈现多样性和海量性,如果没有很好的依据给用户进行推送,那么很可能推送的大部分内容是用户不想看到的,大大降低了用户的体验感,因此研究精确的推荐算法非常有必要。推荐算法主要分为个性化推荐和大众化推荐。大众化推荐是基于相似信息的推荐,不能很好的表现出当前用户的特征,而个性化推荐能够更好的反映出用户的特征喜好,能提高推荐的准确度,存在着巨大的商业价值。融合多因素的矩阵分解个性化推荐算法可以帮助电子商务等行业进行更精准的商品推荐,减少用户浏览到重复或厌恶的信息带来的不利影响。
为了提高推荐的精确度,现有工作主要集中在解决稀疏数据情况、冷启动和对属性潜在关联的提取问题上。传统推荐算法在处理这些问题上效果不佳,比如:协同过滤推荐算法就存在冷启动、可扩展性不好、数据稀疏问题,因为训练期间未出现的项目,则无法将其嵌入到其他项目中进行预测。基于内容的推荐算法推荐结果比较直观,解释性强,也存在数据稀疏问题和不好对复杂属性进行处理,因为其要求内容容易抽取成有意义的特征,并且具有交换的结构性。基于规则的推荐虽然能发现用户的新兴趣点,但是对规则的抽取难、耗时、个性化程度低,因为商品名称的同义性会对关联规则的抽取产生很大的干扰。基于知识的推荐是静态的并且知识较难获得,因为它是基于一种推理,而不是建立在用户的偏好上,用户所用功能的知识也有差别。基于各种推荐算法的优缺点,融合多因素能够更好的挖掘用户的潜在关联特征,矩阵分解在解决数据稀疏性和冷启动上有很好的效果,个性化能更好的表现出用户的特征偏好。
考虑到目前推荐算法在海量数据中提取信息难、单一因素推荐效果不佳、数据稀疏、冷启动等问题。本发明提出基于多因素的矩阵分解个性化推荐算法,能够根据复杂多样的历史行为数据去提取用户与用户、用户与物品之间的潜在关联特征,能较好的处理数据稀疏和冷启动带来的影响,从而构建高准度的个性化推荐。
发明内容
本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种智慧文博下融合多因素的矩阵分解个性化推荐方法。
本发明解决其技术问题所采用的技术方案是:
本发明提供一种智慧文博下融合多因素的矩阵分解个性化推荐方法,该方法包括以下步骤:
步骤一、对用户历史数据集进行初始化并分析处理,根据输入的特征维度构建用户-电影的评分矩阵R,并构建改进后的皮尔森相关系数F-PEARSON,运用F-PEARSON计算出用户与其他用户的相似性得分;
步骤二、根据基于机器学习的BERT模型训练用户历史数据集,预测出每个用户对不同年代不同类型电影的评分;
步骤三、构建F-SVD算法:根据用户-电影的评分矩阵R和输入的特征维度D转为用户的特征矩阵U和电影的特征矩阵V,并结合步骤一得到的用户相似性得分、步骤二得到的预测评分,构建得到融合多因素的预测评分公式和目标函数;
步骤四、输入待预测的用户数据,将其代入F-SVD算法的融合多因素的预测评分公式和目标函数中,运用随机梯度下降法进行求解,使得目标函数下降最快,得到预测评分;
所述步骤一中F-PEARSON的具体方法为:
用户评分的平均值越接近用户越相似,表示为:
Figure GDA0003715851200000031
式中a(u1,u2)表示用户u1和用户u2关于平均评分的相似度,
Figure GDA0003715851200000032
代表用户u1对所有电影评分的平均值,
Figure GDA0003715851200000033
代表用户u2对所有电影评分的平均值,χ是调整超参数;
还考虑到两个用户共同评分的电影,其中包括共同评分电影的数量,共同评分电影的评分值,两个用户共同评分的电影越多代表两个用户的兴趣更接近;
Figure GDA0003715851200000034
式中c(u1,u2)表示用户u1和用户u2在共同评分电影的相似度,r(u1,i)代表用户u1对电影i的评分,r(u2,i)代表用户u2对电影i的评分,ru1表示用户u1评分过的电影,ru2表示用户u2评分过的电影;
统计用户评价一部电影的时间、电影评分的频率,对取到的用户评分频率进行归一化处理:
Figure GDA0003715851200000041
式中f(u1,u2)表示两个用户关于评分频率的相似度,
Figure GDA0003715851200000042
代表用户u1最近一次评分电影的时间戳,
Figure GDA0003715851200000043
代表用户u1最早一次评价电影的时间戳,
Figure GDA0003715851200000044
代表用户u2最近一次评分电影的时间戳,
Figure GDA0003715851200000045
代表用户u2最早一次评价电影的时间戳,γ是调整超参数;nu1表示用户u1在
Figure GDA0003715851200000046
Figure GDA0003715851200000047
时间内评分的电影总数,nu2表示用户u2在
Figure GDA0003715851200000048
Figure GDA0003715851200000049
时间内评分的电影总数;
综合以上因素,最终用户的相似度计算公式为:
Figure GDA00037158512000000410
所述步骤三中构建得到融合多因素的预测评分公式和目标函数的具体方法为:
相似度排序:将计算的用户相似度得分进行排序,排序后的数据为json格式:{"key":[[userId,Su],…[userId,Su]],…},key为当前用户ID,userId为其他用户ID,Su为其他用户与当前用户的相似度得分;
电影分类:将电影分成多种分类,分别用分类对应的数字进行标识;
用户在分类电影中的均分:获取数据集里面的movieId和rating,根据movieId判断当前电影的类型,遍历用户所有评分的电影,统计每类电影的总评分和对应的电影数量,从而求出用户在不同类型电影中的平均评分;
根据用户使用标签t1的次数,考虑每个用户喜欢电影的类型不一样,会对应的打出不同的标签,计算用户使用标签t1的次数和用户使用过的标签总数,计算用户在打此标签上对应电影的评分和当前用户所有电影评分的差值;若对当前电影评分比总平均评分要高则在预测的时候加上该差值,反之减去该差值;定义如下:
Figure GDA0003715851200000051
式中
Figure GDA0003715851200000052
表示标签对用户评分的影响,
Figure GDA0003715851200000053
表示用户u使用过的标签t1所占的权重,t1∈r(u,t)表示用户u使用过的t1标签,r(u,i)表示用户u对电影i的评分;
考虑用户对不同类型的电影会打出不同的评分,计算出用户在此类型电影上的评分比上用户对所有电影评分的均值作为用户对不同类型电影评分的偏差;定义如下:
Figure GDA0003715851200000054
式中w(u,g)表示在用户u中类型为g的电影所占的比重,
Figure GDA0003715851200000055
代表用户对类型为g的电影的平均评分;
Figure GDA0003715851200000056
表示用户u对电影的平均评分;
考虑用户对不同类型电影评分频率的影响,如果用户喜欢某种类型的电影那么评分的频率会更高,计算用户最近两次评分同种类型的时间差,差值越小代表用户越喜欢此类电影;由于用户两次评分的时间戳差值比较大,进行了归一化处理,定义如下:
Figure GDA0003715851200000057
式中f(u,t)表示时间t对用户u的影响,f(u,i)代表当前电影i对应类型的电影总数占用户u评分电影总数的占比,β代表指数函数调整参数,t(u,i)表示用户u对电影i评分的时间戳;
最终融合多因素的预测评分公式定义如下:
Figure GDA0003715851200000061
式中k代表与用户最相似的前k个用户,ur表示用户的平均评分的偏差,bu表示用户的评分偏差,bi表示电影的评分偏差;Uu表示用户u在用户特征矩阵U中对应的一行,Vi表示电影i在电影特征矩阵V中对应的一列;
最终的目标函数公式定义如下:
Figure GDA0003715851200000062
其中
Figure GDA0003715851200000063
为预测的评分,r(u,i)为真实评分,||U||u、||V||i分别表示用户特征和电影特征的正则项,λ为正则化参数,通过网格搜索确定,bu表示用户的评分偏差,bi表示电影的评分偏差。
进一步地,本发明的所述用户历史数据集中包括:电影id,movieId;用户id,userId;评分,rating;电影类型,genres;时间戳,timestamp;标签,tags。
进一步地,本发明的所述步骤二中BERT模型训练的具体方法为:
加入BERT模型对历史数据进行训练,输入为提取的信息,包括:电影id,movieId;用户id,userId;评分,rating;类别,genres;输出为用户对电影的预测评分,最后取前k个用户的预测评分均值,计算公式表示为
Figure GDA0003715851200000064
Figure GDA0003715851200000065
为预测的用户对某个年代某种类型电影的评分,j为自然数。
4、根据权利要求1所述的智慧文博下融合多因素的矩阵分解个性化推荐方法,其特征在于,所述步骤四中进行随机梯度求解的方法为:
为了获得的局部最优解,分别对ur、bu、bi、Uu、Vi求偏导,运用随机梯度下降法进行求解,使得目标函数下降最快;每一次循环后计算预测值和真实值的误差,并更新矩阵里面的值,如果达到最大迭代次数或者误差小于给定的阈值则跳出循环。
本发明产生的有益效果是:本发明的融合多因素的矩阵分解个性化推荐方法:
(1)能够在数据稀疏、冷启动、数据复杂多样的情况下也能降低评分预测误差和提高预测的精确度。
(2)可以更好的挖掘用户、电影之间的潜在关联。
本发明验证并提出了一种F-SVD算法(一种融合多因素的矩阵分解个性化推荐方法),运用F-PEARSON(改进后的皮尔森相关系数)计算用户之间的相似度,然后引入最相似的k个用户以丰富单数据源不足,运用基于机器学习的BERT模型进行用户历史数据的训练,得到用户对不同年代不同类型电影的评分,结合用户给不同电影打标签的偏好和用户评分的特点以及时间因素对用户兴趣偏好的影响,构建评分预测公式以提高推荐的精确度。实验结果表明,在公开数据集MovieLens上,融合多因素的矩阵分解个性化推荐算法在RMSE和MAE上的误差分别为0.7908、0.6067,预测的精确度达到了83.73%,召回率为76.95%。结果表明,本发明算法在不同评价指标上相比其他算法有较好的表现,表明本发明算法能在保证较低的预测评分误差情况下同时具备不错的预测精确度和召回率。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例提出的智慧文博下融合多因素的矩阵分解个性化推荐方法系统模型图;
图2是本发明实施例的智慧文博下融合多因素的矩阵分解个性化推荐方法流程图;
图3是本发明实施例的智慧文博下融合多因素的矩阵分解个性化推荐方法的合流程图;
图4是本发明实施例的RMSE误差曲线对比图;
图5是本发明实施例的MAE误差曲线对比图;
图6是本发明实施例的PRECISION曲线对比图;
图7是本发明实施例的RECALL曲线对比图;
图8是本发明实施例结合BERT模型的RMSE误差曲线对比图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1-图3所示,本发明实施例的智慧文博下融合多因素的矩阵分解个性化推荐方法,该方法包括以下步骤:
步骤一、构建F-PEARSON,在传统的皮尔森相关系数基础上考虑到两个用户对电影评分的平均值,在其他条件相同情况下,若用户评分的平均值越接近那么认为用户越相似,定义如下:
Figure GDA0003715851200000081
式中a(u1,u2)表示用户u1和用户u2关于平均评分的相似度,
Figure GDA0003715851200000082
代表用户u1对所有电影评分的平均值,
Figure GDA0003715851200000083
代表用户u2对所有电影评分的平均值,χ是调整超参数。
还考虑到两个用户共同评分的电影,其中包括共同评分电影的数量,共同评分电影的评分值,两个用户共同评分的电影越多代表两个用户的兴趣更接近。
Figure GDA0003715851200000091
式中c(u1,u2)表示用户u1和用户u2在共同评分电影的相似度,r(u1,i)代表用户u1对电影i的评分,r(u2,i)代表用户u2对电影i的评分,
Figure GDA0003715851200000092
代表用户u1的平均评分,
Figure GDA0003715851200000093
代表用户u2的平均评分。
统计用户多长时间评价一部电影,考虑到两个用户评分电影的频率,评分频率越接近认为他们更相似,对取到的用户频繁频率进行归一化处理。
Figure GDA0003715851200000094
式中f(u1,u2)表示两个用户关于评分频率的相似度,
Figure GDA0003715851200000095
代表用户u1最近一次评分电影的时间戳,
Figure GDA0003715851200000096
代表用户u1最早一次评价电影的时间戳,
Figure GDA0003715851200000097
代表用户u2最近一次评分电影的时间戳,
Figure GDA0003715851200000098
代表用户u2最早一次评价电影的时间戳,γ是调整超参数。
综合以上因素,最终用户的相似度计算公式为:
Figure GDA0003715851200000099
步骤二、运用BERT模型在大规模数据中进行无监督训练,为了解决海量数据中提取潜在信息难等问题,我们加入了BERT模型对历史数据进行训练,输入为提取的itemId(电影id),userId(用户id),rating(评分),genres(类别)组成的信息,输出为用户对电影的预测评分,最后我们取前k个用户的预测评分均值,计算公式表示为
Figure GDA0003715851200000101
步骤三、构建F-SVD算法:根据用户-电影的评分矩阵R和输入的特征维度D转为用户的特征矩阵U和电影的特征矩阵V,并结合步骤一得到的用户相似性得分、步骤二得到的预测评分,构建得到融合多因素的预测评分公式和目标函数;
根据用户对电影的评分数据集转为用户对电影的评分矩阵R。根据用户-电影的评分矩阵R和输入的特征维度D转为用户的特征矩阵U和电影的特征矩阵V。
构建预测评分公式融合了相似性排序、电影分类、用户在不同类型电影上的平均评分和用户在分类电影的评分等因素,具体步骤如下:
相似度排序:将公式(5)计算的用户相似度得分进行排序,排序后的数据为json格式:{"key":[[userId,Su],…[userId,Su]],…},key为当前用户ID,userId为其他用户ID,Su为其他用户与当前用户的相似度得分。
电影分类:用户对不同类型电影的喜好程度是不一样的,将电影进行分类是很有必要的,基于这种情况将电影分成犯罪、战争、爱情、科幻等19类,分别用1-19标识。
用户在分类电影中的均分:获取数据集里面的movieId和rating,根据movieId判断当前电影的类型,遍历用户所有评分的电影,统计每类电影的总评分和对应的电影数量,从而求出用户在不同类型电影中的平均评分。
根据用户使用标签t1的次数,考虑每个用户喜欢电影的类型不一样,会对应的打出不同的标签,计算用户使用标签t1的次数和用户使用过的标签总数,计算用户在打此标签上对应电影的评分和当前用户所有电影评分的差值。若对当前电影评分比总平均评分要高则在预测的时候加上该差值,反之减去该差值。定义如下:
Figure GDA0003715851200000111
式中
Figure GDA0003715851200000112
表示标签对用户评分的影响,
Figure GDA0003715851200000113
表示用户u使用过的标签t1所占的权重,t1∈r(u,t)表示用户u使用过的t1标签,r(u,i)表示用户u对电影i的评分。
考虑用户对不同类型的电影会打出不同的评分,计算出用户在此类型电影上的评分比上用户对所有电影评分的均值作为用户对不同类型电影评分的偏差。定义如下:
Figure GDA0003715851200000114
式中w(u,g)表示在用户u中类型为g的电影所占的比重,
Figure GDA0003715851200000115
代表用户对类型为g的电影的平均评分。
考虑用户对不同类型电影评分频率的影响,如果用户喜欢某种类型的电影那么评分的频率会更高,计算用户最近两次评分同种类型的时间差,差值越小代表用户越喜欢此类电影。由于用户两次评分的时间戳差值比较大,进行了归一化处理,定义如下:
Figure GDA0003715851200000116
式中t(u,t)表示时间t对用户u的影响,f(u,i)代表当前类型电影对用户评分电影总数的占比,β代表指数函数调整参数。
最终融合多因素的预测评分公式定义如下:
Figure GDA0003715851200000117
式中k代表与用户最相似的前k个用户,ur表示用户的平均评分的偏差,bu表示用户的评分偏差,bi表示电影的评分偏差。Uu和Vi表示潜在因子矩阵U的第u行和矩阵V的第i行;
最终的目标函数如公式定义如下:
Figure GDA0003715851200000121
其中
Figure GDA0003715851200000122
为预测的评分,r(u,i)为真实评分,‖U‖,‖V‖分别表示用户特征和电影特征的正则项,λ为正则化参数,通过网格搜索确定,bu表示用户的评分偏差,bi表示电影的评分偏差。
步骤四、输入待预测的用户数据,将其代入F-SVD算法的融合多因素的预测评分公式和目标函数中,运用随机梯度下降法进行求解,使得目标函数下降最快,得到预测评分。
为了获得的局部最优解,分别对ur、bu、bi、Uu、Vi求偏导,运用随机梯度下降法进行求解,使得目标函数下降最快;每一次循环后计算预测值和真实值的误差,并更新矩阵里面的值,如果达到最大迭代次数或者误差小于给定的阈值则跳出循环。
基于矩阵分解运用随机梯度下降算法进行评分预测,由于评分在0到5之间,所以当模型预测的评分大于5时,会将预测评分设置为5,当模型预测的评分小于0时,将预测评分设置为0,最后得出预测评分。
实验分析:
为了验证本发明算法的优越性,选用了MovieLens官网提供的数据集,选取80%的数据作为训练集,10%的作为测试集,10%作为验证集。还给出了操作系统、内存、处理器、语言、工具等信息。实验环境如表1所示:
表1实验环境
Figure GDA0003715851200000131
以下实验是基于latest-small小数据集的。不同算法在不同维度下的误差是不同的,图4、图5、图6、图7为EnhancedCF、RSVD、Co-SVD、和本发明算法在不同特征维度上的RMSE、MAE、PRECISION、RECALL对比图。
在4个维度上验证在RMSE和MAE上的误差。从图4、图5中可以看出,随着维度的增加,各算法的误差大体呈降低趋势,但RSVD算法则在20到30维度误差出现提升情况。在RMSE误差上,EnhancedCF算法之外的3种算法误差比较接近。在MAE误差上,EnhancedCF在不同特征维度下误差要明显高于另外三个算法,在40维度上除了EnhancedCF之外的3种算法误差比较接近,综合对比3个不同的维度可以发现本发明的算法在四个特征维度上都要优于其他算法,可以体现出本发明所提算法在RMSE和MAE误差方面的优越性。随着维度的增加,用户和电影的特征被考虑的越多,对预测的普遍精确度有一定的提升。
图6为不同算法在不同特征维度上的预测评分精确度对比图,4个算法在不同特征维度上精确度走势大体相近,随着维度的增加各算法的精确度也随之上升,可以看出本发明算法在不同特征维度情况下的精确度相比于其他算法处于持平或者更高的趋势。在10维度的时,EnhancedCF的精确度要高于本发明算法,在20维度时,本发明算法有更高的精确度。随着维度的增加,用户特征和电影特征学习的越多,为本发明算法提供了更准确的预测。
图7为不同算法在不同特征维度上的召回率实验对比图,不同算法随着维度的增加召回率也随之上升。在维度为10的时候,本发明算法的召回率为0.7764略低于Co-SVD算法,要高于另外EnhancedCF和RSVD算法,随着维度的增加本发明算法召回率上升的速度比Co-SVD算法要快,在维度为20的时候召回率已经较其他算法优势明显。
当加入基于机器学习的BERT模型训练用户的历史数据后,预测出用户对某个年代某种类型电影的评分作为本发明算法的输入之一。对Word2Vec和自编码器AutoEncoder采用同样的方法进行计算。
图8是在latest-small小数据集上的RMSE值随epochs的变化趋势。结果表明,训练的前8次,3种模型的RMSE值不断降低,到达最低点后,后面趋于平稳状态。本发明算法在第8次的时候RMSE达到最低值为0.8793,Word2Vec在第10次的时候达到最低值为0.8797,AutoEncoder在第9次的时候达到最低值为0.8796。
综上,本发明所提的算法相比于其他算法,在latest-small小数据集情况下,本发明算法在RMSE、MAE上比其他算法总体上都要低,由此得出可以有效的减小预测误差,表现最好。在预测精确度PRECISION上,随着维度的增加本发明算法要高于其他算法,可以得出本发明算法能够作出更精确的推荐。即本发明算法能保持较低的预测误差,又能保证较好的预测精确度。
本发明运用F-PEARSON计算用户之间的相似度。用户相似性除了和共同评分的电影之外,还和对电影评分的平均值、评分的频率有关,定义用户电影评分的均值越接近越相似,评分频率越接近越相似,在计算频率的时候相差可能比较大,运用对数函数归一化处理,融合多因素计算出最终的用户相似性得分并排序。
本发明构建了一种F-SVD算法。首先为了解决单源数据问题,根据前面相似度排序进行选取,然后取k个用户的均值作为基准,避免使用单个用户评分数据的缺陷。运用基于机器学习的BERT模型对用户的历史数据进行训练,预测出用户对某个年代某种类型电影的评分。还作了如下考虑:1、考虑到每个用户喜欢电影的类型不一样,就会打不同的标签,考虑用户使用标签t的次数和计算用户使用过的标签总数,计算出每种标签所占的比例,计算出当前用户在打此标签上电影的评分情况与当前用户所有电影评分的差值。2、用户对每种类型电影喜欢程度是不一样的,在不同类型电影上的评分会存在差异,将电影分成19类,计算的时候考虑同种类型电影的评分情况。3、用户如果喜欢某种类型的电影可能观看的更频繁,考虑用户最近两次评分同种类型电影的时间差,差值越小代表用户越喜欢该类电影。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (3)

1.一种智慧文博下融合多因素的矩阵分解个性化推荐方法,其特征在于,该方法包括以下步骤:
步骤一、对用户历史数据集进行初始化并分析处理,根据输入的特征维度构建用户-电影的评分矩阵R,并构建改进后的皮尔森相关系数F-PEARSON,运用F-PEARSON计算出用户与其他用户的相似性得分;
所述用户历史数据集中包括:电影id,movieId;用户id,userId;评分,rating;电影类型,genres;时间戳,timestamp;标签,tags;
步骤二、根据基于机器学习的BERT模型训练用户历史数据集,预测出每个用户对不同年代不同类型电影的评分;
步骤三、构建F-SVD算法:根据用户-电影的评分矩阵R和输入的特征维度D转为用户的特征矩阵U和电影的特征矩阵V,并结合步骤一得到的用户相似性得分、步骤二得到的预测评分,构建得到融合多因素的预测评分公式和目标函数;
步骤四、输入待预测的用户数据,将其代入F-SVD算法的融合多因素的预测评分公式和目标函数中,运用随机梯度下降法进行求解,使得目标函数下降最快,得到预测评分;
所述步骤一中F-PEARSON的具体方法为:
用户评分的平均值越接近用户越相似,表示为:
Figure FDA0003752153900000011
式中a(u1,u2)表示用户u1和用户u2关于平均评分的相似度,
Figure FDA0003752153900000012
代表用户u1对所有电影评分的平均值,
Figure FDA0003752153900000013
代表用户u2对所有电影评分的平均值,χ是调整超参数;
还考虑到两个用户共同评分的电影,其中包括共同评分电影的数量,共同评分电影的评分值,两个用户共同评分的电影越多代表两个用户的兴趣更接近;
Figure FDA0003752153900000021
式中c(u1,u2)表示用户u1和用户u2在共同评分电影的相似度,r(u1,i)代表用户u1对电影i的评分,r(u2,i)代表用户u2对电影i的评分,ru1表示用户u1评分过的电影,ru2表示用户u2评分过的电影;
统计用户评价一部电影的时间、电影评分的频率,对取到的用户评分频率进行归一化处理:
Figure FDA0003752153900000022
式中f(u1,u2)表示两个用户关于评分频率的相似度,
Figure FDA0003752153900000023
代表用户u1最近一次评分电影的时间戳,
Figure FDA0003752153900000024
代表用户u1最早一次评价电影的时间戳,
Figure FDA0003752153900000025
代表用户u2最近一次评分电影的时间戳,
Figure FDA0003752153900000026
代表用户u2最早一次评价电影的时间戳,γ是调整超参数;nu1表示用户u1在
Figure FDA0003752153900000027
Figure FDA0003752153900000028
时间内评分的电影总数,nu2表示用户u2在
Figure FDA0003752153900000029
Figure FDA00037521539000000210
时间内评分的电影总数;
综合以上因素,最终用户的相似度计算公式为:
Figure FDA00037521539000000211
所述步骤三中构建得到融合多因素的预测评分公式和目标函数的具体方法为:
相似度排序:将计算的用户相似度得分进行排序,排序后的数据为json格式:{"key":[[userID_1和Su_1],…[userID_m和Su_m]],…},key为当前用户ID,Su_1表示与当前用户ID相似度最小的相似度得分,userID_1表示最小相似度得分对应的用户ID;Su_m表示与当前用户ID相似度最大的相似度得分,userID_m表示最大相似度得分对应的用户ID;
电影分类:将电影分成多种分类,分别用分类对应的数字进行标识;
用户在分类电影中的均分:获取数据集里面的movieId和rating,根据movieId判断当前电影的类型,遍历用户所有评分的电影,统计每类电影的总评分和对应的电影数量,从而求出用户在不同类型电影中的平均评分;
根据用户使用标签t1的次数,考虑每个用户喜欢电影的类型不一样,对应的打出不同的标签,计算用户使用标签t1的次数和用户使用过的标签总数,计算用户在打此标签上对应电影的评分和当前用户所有电影评分的差值;若对当前电影评分比总平均评分要高则在预测的时候加上该差值,反之减去该差值;定义如下:
Figure FDA0003752153900000031
式中
Figure FDA0003752153900000032
表示标签对用户评分的影响,
Figure FDA0003752153900000033
表示用户u使用过的标签t1所占的权重,
Figure FDA0003752153900000034
表示用户u使用过的t1标签,r(u,i)表示用户u对电影i的评分;
考虑用户对不同类型的电影打出不同的评分,计算出用户在此类型电影上的评分比上用户对所有电影评分的均值作为用户对不同类型电影评分的偏差;定义如下:
Figure FDA0003752153900000035
式中w(u,g)表示在用户u中类型为g的电影所占的比重,
Figure FDA0003752153900000041
代表用户对类型为g的电影的平均评分;
Figure FDA0003752153900000042
表示用户u对电影的平均评分;
考虑用户对不同类型电影评分频率的影响,如果用户喜欢某种类型的电影那么评分的频率更高,计算用户最近两次评分同种类型的时间差,差值越小代表用户越喜欢此类电影;由于用户两次评分的时间戳差值大于一定阈值,进行了归一化处理,定义如下:
Figure FDA0003752153900000043
式中f(u,t)表示时间t对用户u的影响,f(u,i)代表当前电影i对应类型的电影总数占用户u评分电影总数的占比,β代表指数函数调整参数,t(u,i)表示用户u对电影i评分的时间戳;
最终融合多因素的预测评分公式定义如下:
Figure FDA0003752153900000044
式中k代表与用户最相似的前k个用户,ur表示当前用户对所有电影的平均评分与所有用户对所有电影的平均评分的偏差,bu表示当前用户对该电影的评分与当前用户对所有电影的平均评分的偏差,bi表示当前用户对该电影的评分与所有用户对该电影的平均评分的偏差;Uu表示用户u在用户特征矩阵U中对应的一行,Vi表示电影i在电影特征矩阵V中对应的一列;
最终的目标函数公式定义如下:
Figure FDA0003752153900000045
其中
Figure FDA0003752153900000046
为预测的评分,r(,)为真实评分,||U||u、||V||i分别表示用户特征和电影特征的正则项,λ为正则化参数,通过网格搜索确定。
2.根据权利要求1所述的智慧文博下融合多因素的矩阵分解个性化推荐方法,其特征在于,所述步骤二中BERT模型训练的具体方法为:
加入BERT模型对历史数据进行训练,输入为提取的信息,包括:电影id,movieId;用户id,userId;评分,rating;类别,genres;输出为用户对电影的预测评分,最后取前k个用户的预测评分均值,计算公式表示为
Figure FDA0003752153900000051
Figure FDA0003752153900000052
为预测的用户对某个年代某种类型电影的评分,j为自然数。
3.根据权利要求1所述的智慧文博下融合多因素的矩阵分解个性化推荐方法,其特征在于,所述步骤四中进行随机梯度求解的方法为:
为了获得的局部最优解,分别对ur、bu、bi、Uu、Vi求偏导,运用随机梯度下降法进行求解,使得目标函数下降最快;每一次循环后计算预测值和真实值的误差,并更新矩阵里面的值,如果达到最大迭代次数或者误差小于给定的阈值则跳出循环。
CN202111386479.3A 2021-11-22 2021-11-22 一种智慧文博下融合多因素的矩阵分解个性化推荐方法 Active CN114117251B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111386479.3A CN114117251B (zh) 2021-11-22 2021-11-22 一种智慧文博下融合多因素的矩阵分解个性化推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111386479.3A CN114117251B (zh) 2021-11-22 2021-11-22 一种智慧文博下融合多因素的矩阵分解个性化推荐方法

Publications (2)

Publication Number Publication Date
CN114117251A CN114117251A (zh) 2022-03-01
CN114117251B true CN114117251B (zh) 2022-10-04

Family

ID=80439282

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111386479.3A Active CN114117251B (zh) 2021-11-22 2021-11-22 一种智慧文博下融合多因素的矩阵分解个性化推荐方法

Country Status (1)

Country Link
CN (1) CN114117251B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508894A (zh) * 2011-11-01 2012-06-20 中国科学院计算技术研究所 一种数字信息推荐预测模型的训练方法和系统
WO2016191959A1 (zh) * 2015-05-29 2016-12-08 深圳市汇游智慧旅游网络有限公司 一种时变的协同过滤推荐方法
CN106484876A (zh) * 2016-10-13 2017-03-08 中山大学 一种基于典型度和信任网络的协同过滤推荐方法
CN111159573A (zh) * 2019-12-30 2020-05-15 广东工业大学 一种基于项目的内容推荐方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508894A (zh) * 2011-11-01 2012-06-20 中国科学院计算技术研究所 一种数字信息推荐预测模型的训练方法和系统
WO2016191959A1 (zh) * 2015-05-29 2016-12-08 深圳市汇游智慧旅游网络有限公司 一种时变的协同过滤推荐方法
CN106484876A (zh) * 2016-10-13 2017-03-08 中山大学 一种基于典型度和信任网络的协同过滤推荐方法
CN111159573A (zh) * 2019-12-30 2020-05-15 广东工业大学 一种基于项目的内容推荐方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
《A Collaborative Filtering Recommendation Algorithm Based on SVD Smoothing》;YiBo Ren 等;《2009 Third International Symposium on Intelligent Information Technology Application》;20091231;全文 *
URTP:一种基于用户-区域-时间-商品的因子分解推荐模型;胡亚慧等;《计算机科学》;20160915(第09期);全文 *
基于混合信任模型的协同过滤推荐算法;彭玉;《电脑知识与技术》;20160819(第20期);全文 *
改进Pearson相关系数的个性化推荐算法;陈功平等;《山东农业大学学报(自然科学版)》;20161226(第06期);全文 *
融合用户兴趣和评分差异的协同过滤推荐算法;陆航等;《计算机工程与应用》;20191115(第07期);全文 *

Also Published As

Publication number Publication date
CN114117251A (zh) 2022-03-01

Similar Documents

Publication Publication Date Title
CN112214685B (zh) 一种基于知识图谱的个性化推荐方法
CN107423442B (zh) 基于用户画像行为分析的应用推荐方法及系统,储存介质及计算机设备
CN110162706B (zh) 一种基于交互数据聚类的个性化推荐方法及系统
CN111797321B (zh) 一种面向不同场景的个性化知识推荐方法及系统
CN111222332B (zh) 一种结合注意力网络和用户情感的商品推荐方法
CN110503531B (zh) 时序感知的动态社交场景推荐方法
CN110069709B (zh) 意图识别方法、装置、计算机可读介质及电子设备
CN110532471B (zh) 基于门控循环单元神经网络的主动学习协同过滤方法
CN112417306B (zh) 基于知识图谱的推荐算法性能优化的方法
CN109948735B (zh) 一种多标签分类方法、系统、装置及存储介质
CN112487199B (zh) 一种基于用户购买行为的用户特征预测方法
CN107688870B (zh) 一种基于文本流输入的深度神经网络的分层因素可视化分析方法及装置
CN111241992B (zh) 人脸识别模型构建方法、识别方法、装置、设备及存储介质
CN110990718A (zh) 一种公司形象提升系统的社会网络模型构建模块
CN112906890A (zh) 一种基于互信息和改进遗传算法的用户属性特征选择方法
CN113537304A (zh) 一种基于双向cnn的跨模态语义聚类方法
CN115712780A (zh) 一种基于云计算和大数据的信息推送方法及装置
Chen et al. Poverty/investment slow distribution effect analysis based on Hopfield neural network
CN114817692A (zh) 确定推荐对象的方法、装置和设备及计算机存储介质
CN111310048A (zh) 基于多层感知机的新闻推荐方法
CN114117251B (zh) 一种智慧文博下融合多因素的矩阵分解个性化推荐方法
CN115829683A (zh) 一种基于逆奖赏学习优化的电力积分商品推荐方法及系统
CN114662652A (zh) 一种基于多模态信息学习的专家推荐方法
CN113535928A (zh) 基于注意力机制下长短期记忆网络的服务发现方法及系统
CN113704617A (zh) 物品推荐方法、系统、电子设备及存储介质

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