本发明涉及在线课程推荐方法,尤其是一种基于三因子曲线的在线课程推荐方法。
背景技术:
1、在推荐领域,协同过滤推荐算法可以按多种维度划分:按模型维度划分,协同过滤推荐算法可以分为混合协同过滤、基于模型的协同过滤以及基于记忆的协同过滤,其中基于模型的协同过滤推荐算法主要运用深度学习和矩阵分解技术以构造用户与项目的评分矩阵,renshaw提出baseline onlys算法以找出高于平均偏置值的用户或物品,计算用户对物品的评分。按相似度维度划分,协同过滤推荐算法可以分为基于项目的协同过滤维度和基于用户的协同过滤维度,其中在基于用户的协同过滤维度中,liu weifeng等人使用余弦相似度算法计算用户的相似邻居集,herlocker j l使用pearson相关系数算法计算用户的相似性,因为两个算法所使用的相似度度量方法都存在忽略不同用户之间的特异性,没有将不同类型的用户赋予不同的权重,导致推荐算法的命中率并不高。wang等人使用知识图谱和用户画像来计算用户之间的相似性,知识图谱算法使用了欧式距离公式计算实体相似度,公式为
2、
3、其中,eki为在用户相似矩阵中,第i个用户在第k个用户维度的值,wang等人所建立的用户画像分为用户行为数据和用户基础数据两部分,将企业的注册资本、企业规模、企业所属产业等分类描述企业的形象,并使用数据清洗技术筛选出不同时间段内金融产品的行为数据,以此反映企业对不同金融产品的兴趣偏好,并给各类兴趣偏好赋予权重来建立用户画像。wang na等人通过将视频映射为等维度的特征向量,提取视频中的语义特征,结合用户兴趣偏好与用户观看历史生成推荐视频列表,并与深度学习相融合提出了seq4rec算法。
4、个性化课程推荐系统所拥有的数据有着数据量巨大、数据分布稀疏的特点,看似用于推荐的数据维度很丰富,但是有着很多的痛点:(1)传统基于用户或项目的协同过滤算法无法捕捉用户和项目的深层联系;(2)本领域主流的推荐算法大多根据用户的显示反馈进行推荐,没有将用户播放的时间序列融入到推荐算法中。
5、为此,我们提出一种基于三因子曲线的在线课程推荐方法解决上述问题。
技术实现思路
1、本发明的目的在于提供一种基于三因子曲线的在线课程推荐方法。
2、为实现上述目的,本发明提供如下技术方案:
3、一种基于三因子曲线的在线课程推荐方法,包括以下步骤:。
4、步骤1:构造用户画像用于量化用户的属性及行为,包括
5、步骤1.1:采集用户信息,生成用户特征
6、步骤1.2:采集课程信息,生成课程行为特征
7、步骤1.3:采用以下公式计算用户相似度:
8、
9、其中xi表示第i个用户在第n个维度的值,yj表示第j个用户在第n个维度的值。
10、用户信息维度与课程信息维度融合后共有11个维度,本专利用户相似度是所有维度相似度之和,公式为:
11、
12、其中sims(si,sj)为第i个用户与第j个用户之间用户信息相似度,siml(si,sj)是第i个用户和第j个用户在第l个维度的相似度
13、步骤2:用户相似度融合通过基于加权融合的方式计算,挖掘用户的相似度矩阵,对用户信息和课程信息产生的用户相似度进行加权融合,采用以下公式对相似度进行加权融合
14、
15、其中siml(si,sj)为第i个用户与第j个用户的相似度融合结果,δ为矩阵相似性的权重,sims(si,sj),分别表示使用用户画像技术计算出的第i个用户与第j个用户之间用户信息相似度以及两者拥有的课程信息相似度,
16、步骤3:计算最相似用户,通过top-k方法找出步骤2中与该用户最相似的k名用户以及k名用户对应的课程信息。
17、步骤4:主成分矩阵提取:在纷乱的课程信息中找出对推荐影响最大的元素,包括:
18、步骤4.1:定义主成分矩阵,将a个维度的变量简化为b个新维度,采用以下公式得到主成分:
19、x=tpx+ex=xwpx+ex
20、其中,t是n×b维分数矩阵,代表对b个主成分的n个相似度得分,作为下一步的主成分矩阵,px是b×a维的加载矩阵,用于衡量每个自变量对主成分变量的影响程度,ex是自变量集合x的残差矩阵,w是a×b维权重矩阵。
21、步骤4.2:对目标变量矩阵y,采用以下公式在主成分矩阵t上进行回归:
22、y=tpy+ey
23、其中,矩阵py是b×j维矩阵,代表y在r个主成分上的数值,衡量主成分对目标变量的影响程度,在该式中,将分数矩阵t的方差置为1,那么如果主成分正交且自变,那么px中每个数值可以代表主成分和自变量的相关性。即t就为黏性矩阵。
24、步骤4.3:定义损失函数l,采用以下公式计算出使l最小的黏性矩阵t:
25、
26、其中l为计算黏性矩阵误差的损失函数。
27、步骤4.4:计算用户黏性,采用以下公式计算用户与该课程的关联程度
28、
29、其中,表示根据步骤1.3计算出的第i个用户在主成分矩阵中每个元素相似度的均值。
30、步骤5:拟合曲线,用于将步骤4计算出的黏性通过ns公式拟合出黏性-时间序列曲线,为步骤6提供推荐结果,采用以下公式计算拟合曲线;
31、
32、其中,表示课程黏性阈值,表示时间因子,是模型的入参,β1,β2,β3是模型中的三个参数,分别代表三因子曲线中的高黏性、中黏性、低黏性,高黏性是观看率最高的课程、中黏性是观看率最高与最低之差,低黏性是调动曲线走势,λ是衰减率,λ较小时衰减较慢,用于拟合高黏性课程,λ较大时衰减较快,用于拟合低黏性课程,vis代表该用户对应课程黏性的平均值,由公式可知β1是长期的观看节目,是本专利选用所有课程中最受欢迎的,即β2=-(β1-y(0)),说明β2代表观看率最高与最低之差,β3×via的载荷随时间序列先从0开始单调增加,然后又单调减少至0,是低黏性,用于调整曲线的曲率。本专利为nelson-siegel三因子曲线公式(ns公式)的延伸,ns公式能够抓住曲线的特征,纵轴代表黏性,横轴代表课程时间序列,拟合出用户-黏性-时间三因子曲线。
33、步骤6:通过步骤4的结果进行推荐,对某一用户,在即刻时间点,课程黏性大于曲线值的课程进行推荐。
34、与现有技术相比,本发明的有益效果是:
35、基于用户一段日期内的播放行为等时间序列数据作为模型的入参,拟合出三因子曲线,根据用户种类实时拟合,构造出融入用户特异性的拟合曲线,基于用户画像构建了一种适配于课程推荐系统的三因子曲线推荐模型,该模型能够实时计算用户之间的相似性以及相似用户所选课程的黏性,并融入了时间序列构造拟合曲线。将数据集由高维转变为低维的过程能够有效减少数据的稀疏性问题,当遇到次新用户即冷启动问题时,本算法能够将协同过滤中常被忽视的非线性问题,通过拟合时间序列的方式展现出来,通过拟合曲线将冷启动问题转变为时间-黏性-阈值的推荐结果。
1.一种基于三因子曲线的在线课程推荐方法,其特征在于,包括以下步骤:
2.根据如权利要求1所述的基于三因子曲线的在线课程推荐方法,其特征在于:所述步骤1.3中,采用以下公式计算用户相似度:
3.根据权利要求1所述的基于三因子曲线的在线课程推荐方法,其特征在于:所述步骤2中,采用以下公式对相似度进行加权融合
4.根据权利要求1所述的基于三因子曲线的在线课程推荐方法,其特征在于:所述步骤4.1中,采用以下公式得到主成分:
5.根据权利要求1所述的基于三因子曲线的在线课程推荐方法,其特征在于:所述步骤4.2中,采用以下公式在主成分矩阵t上进行回归:
6.根据权利要求1所述的基于三因子曲线的在线课程推荐方法,其特征在于:所述步骤4.3中,采用以下公式计算出使l最小的黏性矩阵t:
7.根据权利要求1所述的基于三因子曲线的在线课程推荐方法,其特征在于:所述步骤4.4中,采用以下公式计算用户与该课程的关联程度
8.根据权利要求1所述的基于三因子曲线的在线课程推荐方法,其特征在于:所述步骤5中,采用以下公式计算拟合曲线
