CN109670087A - 课程智能推荐方法、装置、计算机设备和存储介质 - Google Patents
课程智能推荐方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN109670087A CN109670087A CN201811449035.8A CN201811449035A CN109670087A CN 109670087 A CN109670087 A CN 109670087A CN 201811449035 A CN201811449035 A CN 201811449035A CN 109670087 A CN109670087 A CN 109670087A
- Authority
- CN
- China
- Prior art keywords
- course
- user
- similarity
- score
- matrix
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 239000011159 matrix material Substances 0.000 claims abstract description 178
- 238000004364 calculation method Methods 0.000 claims abstract description 30
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 21
- 238000012163 sequencing technique Methods 0.000 claims description 38
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 10
- 235000013399 edible fruits Nutrition 0.000 claims description 2
- 230000008901 benefit Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 235000008733 Citrus aurantifolia Nutrition 0.000 description 2
- 235000011941 Tilia x europaea Nutrition 0.000 description 2
- 239000004571 lime Substances 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000686 essence Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
- G06Q50/205—Education administration or guidance
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及智能推荐技术领域,特别涉及一种课程智能推荐方法、装置、计算机设备和存储介质。所述方法包括:获取各用户ID、各课程ID和学习记录;计算各用户ID对应的课程ID的兴趣得分,获得各课程兴趣得分;建立第一矩阵,并将各课程兴趣得分输入第一矩阵相应的行列中;分解方法将第一矩阵分解,获得用户因子矩阵;计算方法计算用户因子矩阵中任意两个用户ID对应的课程兴趣得分的相似度,获得两个用户ID的相似度;若符合第一推荐条件,则将符合第一推荐条件的两个用户ID中第一个用户ID对应的课程兴趣得分最高的课程ID推荐给两个用户ID中第二个用户ID,将两个用户ID中第二个用户ID对应的课程兴趣得分最高的课程ID推荐给两个用户ID中第一个用户ID。
Description
技术领域
本申请涉及智能推荐技术领域,特别涉及一种课程智能推荐方法、装置、计算机设备和存储介质。
背景技术
在现有的课程推荐中,获取用户的课程数据,根据用户的课程数据进行对应的课程推荐,例如,用户在过去的一周内都在学习java教学课程,那么会推荐java相关的课程给用户,例如java初级、java应用等。在现有的课程推荐中,仅根据用户自身的历史数据进行推荐,难于扩展用户其它可能感兴趣的课程。
发明内容
针对现有技术不足,本申请提出一种课程智能推荐方法、装置、计算机设备和存储介质,旨在解决在现有的课程推荐中,仅根据用户自身的历史数据进行推荐,难于扩展用户其它可能感兴趣的课程的问题。
本申请提出的技术方案是:
一种课程智能推荐方法,所述方法包括:
从课程学习***中获取各用户ID、各课程ID和所述各用户ID对应的课程 ID的学习记录;
根据所述学习记录,计算所述各用户ID对应的课程ID的兴趣得分,获得各课程兴趣得分;
以各用户ID为行、各课程ID为例,建立第一矩阵,并将所述各课程兴趣得分输入所述第一矩阵相应的行列中;
利用SVD矩阵分解方法将所述第一矩阵分解,获得用户因子矩阵;
利用余弦相似度计算方法计算所述用户因子矩阵中任意两个用户ID对应的课程兴趣得分的相似度,获得两个用户ID的相似度;
根据两个用户ID的相似度,判断是否符合第一推荐条件;
若符合所述第一推荐条件,则将符合所述第一推荐条件的两个用户ID中第一个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第二个用户ID,以及将所述两个用户ID中第二个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第一个用户ID。
进一步地,在所述以各用户ID为行、各课程ID为例建立第一矩阵,并将所述各课程兴趣得分输入所述第一矩阵相应的行列中的步骤之后,包括:
利用SVD矩阵分解方法将所述第一矩阵分解,获得课程因子矩阵;
利用余弦相似度计算方法计算所述课程因子矩阵中任意两个课程ID对应的课程兴趣得分的相似度,获得两个课程ID的相似度;
根据两个课程ID的相似度,判断是否符合第二推荐条件;
若符合所述第二推荐条件,则将符合所述第二推荐条件的两个课程ID中的第一个课程ID推荐给所述两个课程ID中的第二个课程ID对应的用户ID,以及将所述两个课程ID中的第二个课程ID推荐给所述两个课程ID中的第一个课程ID对应的用户ID。
进一步地,所述第一推荐条件为相似度最高的两个,在所述根据相似度的计算结果,判断是否符合第一推荐条件的步骤中,包括:
将各相似度的计算结果从高到低依次进行排序,获得排序表;
若第一、二用户ID的相似度的计算结果为所述排序表的前二个,则判断所述第一、二用户ID符合所述第一推荐条件;
若第一、二用户ID的相似度的计算结果不是为所述排序表的前二个,则判断所述第一、二用户ID不符合所述第一推荐条件。
进一步地,在所述根据相似度的计算结果,判断是否符合第二推荐条件的步骤中,包括:
若第一、二课程ID的相似度的计算结果大于预设阈值,则判断所述第一、二课程ID符合所述第二推荐条件;
若第一、二课程ID的相似度的计算结果小于或者等于预设阈值,则判断所述第一、二课程ID不符合所述第二推荐条件。
进一步地,所述学习记录包括课程学习时长、课程练习次数、课程评分、课程完成进度和课后习题得分,在所述根据所述学习记录,计算所述各用户ID 对应的课程ID的兴趣得分,获得各课程兴趣得分的步骤中,包括:
配置不同的课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分分别对应的不同的分值;
根据所述课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分获得对应的分值,按所述课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重计算所述各用户ID对应的课程ID的兴趣得分;
根据计算结果,获得各课程兴趣得分。
进一步地,在所述若符合所述第一推荐条件,则将所述两个用户ID中第一个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第二个用户ID,以及将所述两个用户ID中第二个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第一个用户ID的步骤之后,包括:
接收用户输入的课程推荐反馈,其中所述课程推荐反馈包括对推荐的课程感兴趣、一般和不感兴趣三个反馈选项;
统计所述课程推荐反馈中不感兴趣选项在三个反馈选项中占比,获得第一占比;
将所述第一占比与预设第一比例阈值进行比较;
若所述第一占比大于所述预设第一比例阈值,则调整所述课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重。
进一步地,在所述若符合所述第一推荐条件,则将所述两个用户ID中第一个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第二个用户ID,以及将所述两个用户ID中第二个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第一个用户ID的步骤之后,包括:
监控各已推荐的课程ID的课程兴趣得分;
统计各已推荐的课程ID的课程兴趣得分小于预设分值的数量,获得未感兴趣课程的数量;
计算所述未感兴趣课程的数量在已推荐的课程ID的数量中占比,获得第二占比;
将所述第二占比与预设第二比例阈值进行比较;
若所述第二占比大于预设第二比例阈值,则调整所述课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重。
本申请还提供一种课程智能推荐装置,所述装置包括:
获取模块,用于从课程学习***中获取各用户ID、各课程ID和所述各用户ID对应的课程ID的学习记录;
第一计算模块,用于根据所述学习记录,计算所述各用户ID对应的课程 ID的兴趣得分,获得各课程兴趣得分;
矩阵模块,用于以各用户ID为行、各课程ID为例,建立第一矩阵,并将所述各课程兴趣得分输入所述第一矩阵相应的行列中;
分解模块,用于利用SVD矩阵分解方法将所述第一矩阵分解,获得用户因子矩阵;
第二计算模块,用于利用余弦相似度计算方法计算所述用户因子矩阵中任意两个用户ID对应的课程兴趣得分的相似度,获得两个用户ID的相似度;
判断模块,用于根据两个用户ID的相似度,判断是否符合第一推荐条件;
推荐模块,用于若符合所述第一推荐条件,则将符合所述第一推荐条件的两个用户ID中第一个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第二个用户ID,以及将所述两个用户ID中第二个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第一个用户ID。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
根据上述的技术方案,本申请有益效果:根据学习记录,计算各用户ID 对应的课程ID的兴趣得分,以各用户ID为行、各课程ID为例,建立第一矩阵,并在第一矩阵中相应的行列中输入各课程兴趣得分,利用SVD矩阵分解方法分解第一矩阵,获得用户因子矩阵,利用余弦相似度计算方法计算用户因子矩阵中任意两个用户ID对应的课程兴趣得分的相似度,获得两个用户ID的相似度,根据两个用户的相似度,将两个用户ID自身感兴趣的课程推荐给对方,旨在解决在现有的课程推荐中,仅根据用户自身的历史数据进行推荐,难于扩展用户其它可能感兴趣的课程的问题。
附图说明
图1是应用本申请实施例提供的课程智能推荐方法的流程图;
图2是应用本申请实施例提供的课程智能推荐装置的功能模块图;
图3是应用本申请实施例提供的计算机设备的结构示意框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
如图1所示,本申请实施例提出一种课程智能推荐方法,所述方法包括以下步骤:
步骤S101、从课程学习***中获取各用户ID、各课程ID和所述各用户ID 对应的课程ID的学习记录。
用户在课程学习***上学习课程,通过登陆用户ID的方式进入课程学习***,用户在课程学习***学习过程中,课程学习***会记录用户的用户ID、已经学习过的课程的课程ID、以及用户ID对应的课程ID的学习记录,为此,可以从课程学习***中,获取各用户ID、各课程ID和各用户ID对应的课程ID 的学习记录。
在本实施例中,在步骤S101之前,包括:
接收智能推荐的获取指令。
获取指令可以是用户输入,也可以是在预设时间之后自动触发。在接收到获取指令之后,从课程学习***中获取各用户ID、各课程ID和各用户ID对应的课程ID的学习记录。
步骤S102、根据所述学习记录,计算所述各用户ID对应的课程ID的兴趣得分,获得各课程兴趣得分。
在获取到各用户ID、各课程ID和各用户ID对应的课程ID的学习记录之后,用户的学习记录会反映用户对课程的兴趣度,根据学习记录,计算各用户 ID对应的课程ID的兴趣得分,在完成计算之后,根据计算结果,获得各课程兴趣得分。
在本实施例中,所述学习记录包括课程学习时长、课程练习次数、课程评分、课程完成进度和课后习题得分。
在本实施例中,在步骤S102中,包括:
配置不同的课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分分别对应的不同的分值;
根据所述课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分获得对应的分值,按所述课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重计算所述各用户ID对应的课程ID的兴趣得分;
根据计算结果,获得各课程兴趣得分。
对课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分进行配置,不同的课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分分别配置不同的分值,根据课堂ID对应的课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分的完成情况,获得各自对应的分值,由于课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分具有不同的权重,按课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重,计算各用户ID对应的课程ID的兴趣得分,根据计算结果,获得各课程兴趣得分。课程兴趣得分的分值越高,表示用户对相应的课程越感兴趣。
步骤S103、以各用户ID为行、各课程ID为例,建立第一矩阵,并将所述各课程兴趣得分输入所述第一矩阵相应的行列中。
在获得各用户ID、各课程ID和各课程兴趣得分的三者对应关系之后,以各用户ID为行、各课程ID为例,建立第一矩阵,在建立第一矩阵之后,再根据在获得各用户ID、各课程ID和各课程兴趣得分的三者对应关系,将各课程兴趣得分输入第一矩阵相应的行列中。
步骤S104、利用SVD矩阵分解方法将所述第一矩阵分解,获得用户因子矩阵。
在各用户ID、各课程ID和各课程兴趣得分都在第一矩阵显示之后,利用 SVD矩阵分解方法对第一矩阵进行分解,得到左、中、右三个矩阵,左矩阵是左奇异向量的矩阵,右矩阵是右奇异向量的矩阵,中矩阵是对角矩阵,由于各用户ID为行,为此,左矩阵为用户因子矩阵,从而得到用户因子矩阵。
步骤S105、利用余弦相似度计算方法计算所述用户因子矩阵中任意两个用户ID对应的课程兴趣得分的相似度,获得两个用户ID的相似度。
在获得用户因子矩阵之后,计算用户因子矩阵中任意两个用户ID对应的课程兴趣得分的相似度,获得两个用户ID的相似度,在本实施例中,利用余弦相似度计算方法进行计算。
步骤S106、根据两个用户ID的相似度,判断是否符合第一推荐条件。
在完成计算之后,根据相似度的计算结果,获得两个用户ID的相似度,根据两个用户ID的相似度,判断相似度的计算结果对应的两个用户ID是否符合第一推荐条件。
在本实施例中,在步骤S106中,包括:
将各相似度的计算结果从高到低依次进行排序,获得排序表;
若第一、二用户ID的相似度的计算结果为所述排序表的前二个,则判断所述第一、二用户ID符合所述第一推荐条件;
若第一、二用户ID的相似度的计算结果不是为所述排序表的前二个,则判断所述第一、二用户ID不符合所述第一推荐条件。
在完成各两个用户ID相似度的计算之后,将各相似度的计算结果进行排序,从高到低依次进行排序,获得排序表,在获得排序表之后,再对任意两个用户ID相似度进行判断是否符合第一推荐条件,若第一用户ID、第二用户ID 的相似度的计算结果为排序表的前二个,则判断第一用户ID、第二用户ID符合第一推荐条件,若第一用户ID、第二用户ID的相似度的计算结果不是为排序表的前二个,则判断第一用户ID、第二用户ID不符合第一推荐条件。
在一些实施例中,在步骤S106中,包括:
若第一、二用户ID的相似度的计算结果大于预设第一阈值,则判断所述第一、二用户ID符合所述第一推荐条件;
若第一、二用户ID的相似度的计算结果小于或者等于预设第一阈值,则判断所述第一、二用户ID不符合所述第一推荐条件。
在完成各两个用户ID相似度的计算之后,将各相似度的计算结果与预设第一阈值进行比较,若第一用户ID、第二用户ID的相似度的计算结果大于预设第一阈值,则判断第一用户ID、第二用户ID符合第一推荐条件,若第一用户 ID、第二用户ID的相似度的计算结果小于或者行于预设第一阈值,则判断第一用户ID、第二用户ID不符合第一推荐条件。
步骤S107、若符合所述第一推荐条件,则将符合第一推荐条件的两个用户 ID中第一个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID 中第二个用户ID,以及将所述两个用户ID中第二个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第一个用户ID。
若符合第一推荐条件,则对符合第一推荐条件的两个用户ID进行推荐,将两个用户ID中第一个用户ID对应的课程兴趣得分最高的课程ID推荐给两个用户ID中第二个用户ID,以及将两个用户ID中第二个用户ID对应的课程兴趣得分最高的课程ID推荐给两个用户ID中第一个用户ID。若不符合第一推荐条件,则不进行推荐。
在本实施例中,在步骤S103之后,包括:
利用SVD矩阵分解方法将所述第一矩阵分解,获得课程因子矩阵;
利用余弦相似度计算方法计算所述课程因子矩阵中任意两个课程ID对应的课程兴趣得分的相似度,获得两个课程ID的相似度;
根据两个课程ID的相似度,判断是否符合第二推荐条件;
若符合所述第二推荐条件,则将符合第二推荐条件的两个课程ID中的第一个课程ID推荐给所述两个课程ID中的第二个课程ID对应的用户ID,以及将所述两个课程ID中的第二个课程ID推荐给所述两个课程ID中的第一个课程 ID对应的用户ID。
在各用户ID、各课程ID和各课程兴趣得分都在第一矩阵显示之后,利用 SVD矩阵分解方法对第一矩阵进行分解,得到左、中、右三个矩阵,左矩阵是左奇异向量的矩阵,右矩阵是右奇异向量的矩阵,中矩阵是对角矩阵,由于各课程ID为列,为此,右矩阵为课程因子矩阵,从而得到课程因子矩阵。
在获得课程因子矩阵之后,计算课程因子矩阵中任意两个课程ID对应的课程兴趣得分的相似度,获得两个课程ID的相似度,在本实施例中,利用余弦相似度计算方法进行计算。
在完成计算之后,根据相似度的计算结果,获得两个课程ID的相似度,根据两个课程ID的相似度,判断相似度的计算结果对应的两个课程ID是否符合第二推荐条件。
在本实施例中,在根据相似度的计算结果,判断是否符合第二推荐条件的步骤中,包括:
若第一、二课程ID的相似度的计算结果大于预设阈值,则判断所述第一、二课程ID符合所述第二推荐条件;
若第一、二课程ID的相似度的计算结果小于或者等于预设阈值,则判断所述第一、二课程ID不符合所述第二推荐条件。
在完成各两个课程ID相似度的计算之后,将各相似度的计算结果与预设阈值进行比较,若第一课程ID、第二课程ID的相似度的计算结果大于预设阈值,则判断第一课程ID、第二课程ID符合第二推荐条件,若第一课程ID、第二课程ID的相似度的计算结果小于或者行于预设阈值,则判断第一课程ID、第二课程ID不符合第二推荐条件。
在一些施例中,在根据相似度的计算结果,判断是否符合第二推荐条件的步骤中,包括:
将各相似度的计算结果从高到低依次进行排序,获得第一排序表;
若第一、二课程ID的相似度的计算结果为所述第一排序表的前二个,则判断所述第一、二课程ID符合所述第二推荐条件;
若第一、二课程ID的相似度的计算结果不是为所述第一排序表的前二个,则判断所述第一、二课程ID不符合所述第二推荐条件。
在完成各两个课程ID相似度的计算之后,将各相似度的计算结果进行排序,从高到低依次进行排序,获得第一排序表,在获得第一排序表之后,再对任意两个课程ID相似度进行判断是否符合第二推荐条件,若第一课程ID、第二课程ID的相似度的计算结果为第一排序表的前二个,则判断第一课程ID、第二课程ID符合第二推荐条件,若第一课程ID、第二课程ID的相似度的计算结果不是为第一排序表的前二个,则判断第一课程ID、第二课程ID不符合第二推荐条件。
若符合第二推荐条件,则将符合第二推荐条件的两个课程ID中的第一个课程ID推荐给两个课程ID中的第二个课程ID对应的用户ID,以及将两个课程 ID中的第二个课程ID推荐给两个课程ID中的第一个课程ID对应的用户ID。若不符合第二推荐条件,则不进行推荐。
在本实施例中,在步骤S107之后,包括:
接收用户输入的课程推荐反馈,其中所述课程推荐反馈包括对推荐的课程感兴趣、一般和不感兴趣三个反馈选项;
统计所述课程推荐反馈中不感兴趣选项在三个反馈选项中占比,获得第一占比;
将所述第一占比与预设第一比例阈值进行比较;
若所述第一占比大于所述预设第一比例阈值,则调整所述课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重。
发送课程推荐反馈给用户进行填写,课程推荐反馈包括对推荐的课程感兴趣、一般和不感兴趣三个反馈选项,接收用户输入的课程推荐反馈,统计课程推荐反馈中不感兴趣选项在三个反馈选项中占比,获得第一占比,将第一占比与预设第一比例阈值进行比较,若第一占比大于预设第一比例阈值,则调整课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重,若第一占比小于或者等于预设第一比例阈值,则不调整课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重。通过调整权重,再计算相似度进行更新推荐。
在一些实施例中,在步骤S107之后,包括:
监控各已推荐的课程ID的课程兴趣得分;
统计各已推荐的课程ID的课程兴趣得分小于预设分值的数量,获得未感兴趣课程的数量;
计算所述未感兴趣课程的数量在已推荐的课程ID的数量中占比,获得第二占比;
将所述第二占比与预设第二比例阈值进行比较;
若所述二占比大于预设第二比例阈值,则调整所述课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重。
在推荐课程ID之后,监控各已推荐的课程ID的课程兴趣得分,在本实施例中,在预设周期内监控各已推荐的课程ID的课程兴趣得分。将监控到各已推荐的课程ID的课程兴趣得分进行统计,统计各已推荐的课程ID的课程兴趣得分小于预设分值的数量,获得未感兴趣课程的数量,计算未感兴趣课程的数量在已推荐的课程ID的数量中占比,获得第二占比,将第二占比与预设第二比例阈值进行比较,若第二占比大于预设第二比例阈值,则调整课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重。通过调整权重,再计算相似度进行更新推荐。
综上所述,根据学习记录,计算各用户ID对应的课程ID的兴趣得分,以各用户ID为行、各课程ID为例,建立第一矩阵,并在第一矩阵中相应的行列中输入各课程兴趣得分,利用SVD矩阵分解方法分解第一矩阵,获得用户因子矩阵,利用余弦相似度计算方法计算用户因子矩阵中任意两个用户ID,根据相似度的计算结果,将两个用户ID自身感兴趣的课程推荐给对方,旨在解决在现有的课程推荐中,仅根据用户自身的历史数据进行推荐,难于扩展用户其它可能感兴趣的课程的问题。
如图2所示,本申请实施例提出一种课程智能推荐装置1,装置1包括获取模块11、第一计算模块12、矩阵模块13、分解模块14、第二计算模块15、判断模块16和推荐模块17。
获取模块11,用于从课程学习***中获取各用户ID、各课程ID和所述各用户ID对应的课程ID的学习记录。
用户在课程学习***上学习课程,通过登陆用户ID的方式进入课程学习***,用户在课程学习***学习过程中,课程学习***会记录用户的用户ID、已学习过的课程的课程ID、以及用户ID对应的课程ID的学习记录,为此,可以从课程学习***中,获取各用户ID、各课程ID和各用户ID对应的课程ID的学习记录。
在本实施例中,装置1包括:
接收模块,用于接收智能推荐的获取指令。
获取指令可以是用户输入,也可以是在预设时间之后自动触发。在接收到获取指令之后,从课程学习***中获取各用户ID、各课程ID和各用户ID对应的课程ID的学习记录。
第一计算模块12,用于根据所述学习记录,计算所述各用户ID对应的课程ID的兴趣得分,获得各课程兴趣得分。
在获取到各用户ID、各课程ID和各用户ID对应的课程ID的学习记录之后,用户的学习记录会反映用户对课程的兴趣度,根据学习记录,计算各用户 ID对应的课程ID的兴趣得分,在完成计算之后,根据计算结果,获得各课程兴趣得分。
在本实施例中,所述学习记录包括课程学习时长、课程练习次数、课程评分、课程完成进度和课后习题得分。
在本实施例中,第一计算模块12包括:
第一子配置模块,用于配置不同的课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分分别对应的不同的分值;
第一子计算模块,用于根据所述课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分获得对应的分值,按所述课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重计算所述各用户ID对应的课程ID的兴趣得分;
第一子获得模块,用于根据计算结果,获得各课程兴趣得分。
对课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分进行配置,不同的课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分分别配置不同的分值,根据课堂ID对应的课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分的完成情况,获得各自对应的分值,由于课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分具有不同的权重,按课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重,计算各用户ID对应的课程ID的兴趣得分,根据计算结果,获得各课程兴趣得分。课程兴趣得分的分值越高,表示用户对相应的课程越感兴趣。
矩阵模块13,用于以各用户ID为行、各课程ID为例,建立第一矩阵,并将所述各课程兴趣得分输入所述第一矩阵相应的行列中。
在获得各用户ID、各课程ID和各课程兴趣得分的三者对应关系之后,以各用户ID为行、各课程ID为例,建立第一矩阵,在建立第一矩阵之后,再根据在获得各用户ID、各课程ID和各课程兴趣得分的三者对应关系,将各课程兴趣得分输入第一矩阵相应的行列中。
分解模块14,用于利用SVD矩阵分解方法将所述第一矩阵分解,获得用户因子矩阵。
在各用户ID、各课程ID和各课程兴趣得分都在第一矩阵显示之后,利用 SVD矩阵分解方法对第一矩阵进行分解,得到左、中、右三个矩阵,左矩阵是左奇异向量的矩阵,右矩阵是右奇异向量的矩阵,中矩阵是对角矩阵,由于各用户ID为行,为此,左矩阵为用户因子矩阵,从而得到用户因子矩阵。
第二计算模块15,用于利用余弦相似度计算方法计算所述用户因子矩阵中任意两个用户ID对应的课程兴趣得分的相似度,获得两个用户ID的相似度。
在获得用户因子矩阵之后,计算用户因子矩阵中任意两个用户ID对应的课程兴趣得分的相似度,获得两个用户ID的相似度,在本实施例中,利用余弦相似度计算方法进行计算。
判断模块16,用于根据两个用户ID的相似度,判断是否符合第一推荐条件。
在完成计算之后,根据相似度的计算结果,获得两个用户ID的相似度,根据两个用户ID的相似度,判断相似度的计算结果对应的两个用户ID是否符合第一推荐条件。
在本实施例中,判断模块16包括:
第一子排序模块,用于将各相似度的计算结果从高到低依次进行排序,获得排序表;
第一子判断模块,用于若第一、二用户ID的相似度的计算结果为所述排序表的前二个,则判断所述第一、二用户ID符合所述第一推荐条件;
第二子判断模块,用于若第一、二用户ID的相似度的计算结果不是为所述排序表的前二个,则判断所述第一、二用户ID不符合所述第一推荐条件。
在完成各两个用户ID相似度的计算之后,将各相似度的计算结果进行排序,从高到低依次进行排序,获得排序表,在获得排序表之后,再对任意两个用户ID相似度进行判断是否符合第一推荐条件,若第一用户ID、第二用户ID 的相似度的计算结果为排序表的前二个,则判断第一用户ID、第二用户ID符合第一推荐条件,若第一用户ID、第二用户ID的相似度的计算结果不是为排序表的前二个,则判断第一用户ID、第二用户ID不符合第一推荐条件。
在一些实施例中,判断模块16包括:
第三子判断模块,用于若第一、二用户ID的相似度的计算结果大于预设第一阈值,则判断所述第一、二用户ID符合所述第一推荐条件;
第四子判断模块,用于若第一、二用户ID的相似度的计算结果小于或者等于预设第一阈值,则判断所述第一、二用户ID不符合所述第一推荐条件。
在完成各两个用户ID相似度的计算之后,将各相似度的计算结果与预设第一阈值进行比较,若第一用户ID、第二用户ID的相似度的计算结果大于预设第一阈值,则判断第一用户ID、第二用户ID符合第一推荐条件,若第一用户 ID、第二用户ID的相似度的计算结果小于或者行于预设第一阈值,则判断第一用户ID、第二用户ID不符合第一推荐条件。
推荐模块17,用于若符合所述第一推荐条件,则将符合第一推荐条件的两个用户ID中第一个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第二个用户ID,以及将所述两个用户ID中第二个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第一个用户ID。
若符合第一推荐条件,则对符合第一推荐条件的两个用户ID进行推荐,将两个用户ID中第一个用户ID对应的课程兴趣得分最高的课程ID推荐给两个用户ID中第二个用户ID,以及将两个用户ID中第二个用户ID对应的课程兴趣得分最高的课程ID推荐给两个用户ID中第一个用户ID。若不符合第一推荐条件,则不进行推荐。
在本实施例中,装置1包括:
第一分解模块,用于利用SVD矩阵分解方法将所述第一矩阵分解,获得课程因子矩阵;
第三计算模块,用于利用余弦相似度计算方法计算所述课程因子矩阵中任意两个课程ID对应的课程兴趣得分的相似度,获得两个课程ID的相似度;
第一判断模块,用于根据两个课程ID的相似度,判断是否符合第二推荐条件;
第一推荐模块,用于若符合所述第二推荐条件,则将符合第二推荐条件的两个课程ID中的第一个课程ID推荐给所述两个课程ID中的第二个课程ID对应的用户ID,以及将所述两个课程ID中的第二个课程ID推荐给所述两个课程 ID中的第一个课程ID对应的用户ID。
在各用户ID、各课程ID和各课程兴趣得分都在第一矩阵显示之后,利用 SVD矩阵分解方法对第一矩阵进行分解,得到左、中、右三个矩阵,左矩阵是左奇异向量的矩阵,右矩阵是右奇异向量的矩阵,中矩阵是对角矩阵,由于各课程ID为列,为此,右矩阵为课程因子矩阵,从而得到课程因子矩阵。
在获得课程因子矩阵之后,计算课程因子矩阵中任意两个课程ID对应的课程兴趣得分的相似度,获得两个课程ID的相似度,在本实施例中,利用余弦相似度计算方法进行计算。
在完成计算之后,根据相似度的计算结果,获得两个课程ID的相似度,根据两个课程ID的相似度,判断相似度的计算结果对应的两个课程ID是否符合第二推荐条件。
在本实施例中,第一判断模块包括:
第五子判断模块,用于若第一、二课程ID的相似度的计算结果大于预设阈值,则判断所述第一、二课程ID符合所述第二推荐条件;
第六子判断模块,用于若第一、二课程ID的相似度的计算结果小于或者等于预设阈值,则判断所述第一、二课程ID不符合所述第二推荐条件。
在完成各两个课程ID相似度的计算之后,将各相似度的计算结果与预设阈值进行比较,若第一课程ID、第二课程ID的相似度的计算结果大于预设阈值,则判断第一课程ID、第二课程ID符合第二推荐条件,若第一课程ID、第二课程ID的相似度的计算结果小于或者行于预设阈值,则判断第一课程ID、第二课程ID不符合第二推荐条件。
在一些施例中,第一判断模块包括:
第二子排序模块,用于将各相似度的计算结果从高到低依次进行排序,获得第一排序表;
第七子判断模块,用于若第一、二课程ID的相似度的计算结果为所述第一排序表的前二个,则判断所述第一、二课程ID符合所述第二推荐条件;
第八子判断模块,用于若第一、二课程ID的相似度的计算结果不是为所述第一排序表的前二个,则判断所述第一、二课程ID不符合所述第二推荐条件。
在完成各两个课程ID相似度的计算之后,将各相似度的计算结果进行排序,从高到低依次进行排序,获得第一排序表,在获得第一排序表之后,再对任意两个课程ID相似度进行判断是否符合第二推荐条件,若第一课程ID、第二课程ID的相似度的计算结果为第一排序表的前二个,则判断第一课程ID、第二课程ID符合第二推荐条件,若第一课程ID、第二课程ID的相似度的计算结果不是为第一排序表的前二个,则判断第一课程ID、第二课程ID不符合第二推荐条件。
若符合第二推荐条件,则将符合第二推荐条件的两个课程ID中的第一个课程ID推荐给两个课程ID中的第二个课程ID对应的用户ID,以及将两个课程 ID中的第二个课程ID推荐给两个课程ID中的第一个课程ID对应的用户ID。若不符合第二推荐条件,则不进行推荐。
在本实施例中,装置1包括:
第一接收模块,用于接收用户输入的课程推荐反馈,其中所述课程推荐反馈包括对推荐的课程感兴趣、一般和不感兴趣三个反馈选项;
第一统计模块,用于统计所述课程推荐反馈中不感兴趣选项在三个反馈选项中占比,获得第一占比;
第一比较模块,用于将所述第一占比与预设第一比例阈值进行比较;
第一调整模块,用于若所述第一占比大于所述预设第一比例阈值,则调整所述课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重。
发送课程推荐反馈给用户进行填写,课程推荐反馈包括对推荐的课程感兴趣、一般和不感兴趣三个反馈选项,接收用户输入的课程推荐反馈,统计课程推荐反馈中不感兴趣选项在三个反馈选项中占比,获得第一占比,将第一占比与预设第一比例阈值进行比较,若第一占比大于预设第一比例阈值,则调整课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重,若第一占比小于或者等于预设第一比例阈值,则不调整课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重。通过调整权重,再计算相似度进行更新推荐。
在一些实施例中,装置1包括:
监控模块,用于监控各已推荐的课程ID的课程兴趣得分;
第二统计模块,用于统计各已推荐的课程ID的课程兴趣得分小于预设分值的数量,获得未感兴趣课程的数量;
第四计算模块,用于计算所述未感兴趣课程的数量在已推荐的课程ID的数量中占比,获得第二占比;
第二比较模块,用于将所述第二占比与预设第二比例阈值进行比较;
第二调整模块,用于若所述二占比大于预设第二比例阈值,则调整所述课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重。
在推荐课程ID之后,监控各已推荐的课程ID的课程兴趣得分,在本实施例中,在预设周期内监控各已推荐的课程ID的课程兴趣得分。将监控到各已推荐的课程ID的课程兴趣得分进行统计,统计各已推荐的课程ID的课程兴趣得分小于预设分值的数量,获得未感兴趣课程的数量,计算未感兴趣课程的数量在已推荐的课程ID的数量中占比,获得第二占比,将第二占比与预设第二比例阈值进行比较,若第二占比大于预设第二比例阈值,则调整课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重。通过调整权重,再计算相似度进行更新推荐。
综上所述,根据学习记录,计算各用户ID对应的课程ID的兴趣得分,以各用户ID为行、各课程ID为例,建立第一矩阵,并在第一矩阵中相应的行列中输入各课程兴趣得分,利用SVD矩阵分解方法分解第一矩阵,获得用户因子矩阵,利用余弦相似度计算方法计算用户因子矩阵中任意两个用户ID,根据相似度的计算结果,将两个用户ID自身感兴趣的课程推荐给对方,旨在解决在现有的课程推荐中,仅根据用户自身的历史数据进行推荐,难于扩展用户其它可能感兴趣的课程的问题。
如图3所示,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储课程智能推荐方法的模型等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种课程智能推荐方法。
上述处理器执行上述课程智能推荐方法的步骤:从课程学习***中获取各用户ID、各课程ID和所述各用户ID对应的课程ID的学习记录;根据所述学习记录,计算所述各用户ID对应的课程ID的兴趣得分,获得各课程兴趣得分;以各用户ID为行、各课程ID为例,建立第一矩阵,并将所述各课程兴趣得分输入所述第一矩阵相应的行列中;利用SVD矩阵分解方法将所述第一矩阵分解,获得用户因子矩阵;利用余弦相似度计算方法计算所述用户因子矩阵中任意两个用户ID对应的课程兴趣得分的相似度,获得两个用户ID的相似度;根据两个用户ID的相似度,判断是否符合第一推荐条件;若符合所述第一推荐条件,则将符合所述第一推荐条件的两个用户ID中第一个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第二个用户ID,以及将所述两个用户ID中第二个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户 ID中第一个用户ID。
在一个实施例中,上述以各用户ID为行、各课程ID为例建立第一矩阵,并将所述各课程兴趣得分输入所述第一矩阵相应的行列中的步骤之后,包括:
利用SVD矩阵分解方法将所述第一矩阵分解,获得课程因子矩阵;
利用余弦相似度计算方法计算所述课程因子矩阵中任意两个课程ID对应的课程兴趣得分的相似度,获得两个课程ID的相似度;
根据两个课程ID的相似度,判断是否符合第二推荐条件;
若符合所述第二推荐条件,则将符合所述第二推荐条件的两个课程ID中的第一个课程ID推荐给所述两个课程ID中的第二个课程ID对应的用户ID,以及将所述两个课程ID中的第二个课程ID推荐给所述两个课程ID中的第一个课程ID对应的用户ID。
在一个实施例中,上述第一推荐条件为相似度最高的两个,在所述根据相似度的计算结果,判断是否符合第一推荐条件的步骤中,包括:
将各相似度的计算结果从高到低依次进行排序,获得排序表;
若第一、二用户ID的相似度的计算结果为所述排序表的前二个,则判断所述第一、二用户ID符合所述第一推荐条件;
若第一、二用户ID的相似度的计算结果不是为所述排序表的前二个,则判断所述第一、二用户ID不符合所述第一推荐条件。
在一个实施例中,上述根据相似度的计算结果,判断是否符合第二推荐条件的步骤中,包括:
若第一、二课程ID的相似度的计算结果大于预设阈值,则判断所述第一、二课程ID符合所述第二推荐条件;
若第一、二课程ID的相似度的计算结果小于或者等于预设阈值,则判断所述第一、二课程ID不符合所述第二推荐条件。
在一个实施例中,上述学习记录包括课程学习时长、课程练习次数、课程评分、课程完成进度和课后习题得分,在所述根据所述学习记录,计算所述各用户ID对应的课程ID的兴趣得分,获得各课程兴趣得分的步骤中,包括:
配置不同的课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分分别对应的不同的分值;
根据所述课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分获得对应的分值,按所述课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重计算所述各用户ID对应的课程ID的兴趣得分;
根据计算结果,获得各课程兴趣得分。
在一个实施例中,上述若符合所述第一推荐条件,则将所述两个用户ID 中第一个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID 中第二个用户ID,以及将所述两个用户ID中第二个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第一个用户ID的步骤之后,包括:
接收用户输入的课程推荐反馈,其中所述课程推荐反馈包括对推荐的课程感兴趣、一般和不感兴趣三个反馈选项;
统计所述课程推荐反馈中不感兴趣选项在三个反馈选项中占比,获得第一占比;
将所述第一占比与预设第一比例阈值进行比较;
若所述第一占比大于所述预设第一比例阈值,则调整所述课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重。
在一个实施例中,上述若符合所述第一推荐条件,则将所述两个用户ID 中第一个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID 中第二个用户ID,以及将所述两个用户ID中第二个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第一个用户ID的步骤之后,包括:
监控各已推荐的课程ID的课程兴趣得分;
统计各已推荐的课程ID的课程兴趣得分小于预设分值的数量,获得未感兴趣课程的数量;
计算所述未感兴趣课程的数量在已推荐的课程ID的数量中占比,获得第二占比;
将所述第二占比与预设第二比例阈值进行比较;
若所述第二占比大于预设第二比例阈值,则调整所述课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请实施例的计算机设备,根据学习记录,计算各用户ID对应的课程 ID的兴趣得分,以各用户ID为行、各课程ID为例,建立第一矩阵,并在第一矩阵中相应的行列中输入各课程兴趣得分,利用SVD矩阵分解方法分解第一矩阵,获得用户因子矩阵,利用余弦相似度计算方法计算用户因子矩阵中任意两个用户ID,根据相似度的计算结果,将两个用户ID自身感兴趣的课程推荐给对方,旨在解决在现有的课程推荐中,仅根据用户自身的历史数据进行推荐,难于扩展用户其它可能感兴趣的课程的问题。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种课程智能推荐方法,具体为:从课程学习***中获取各用户ID、各课程ID和所述各用户ID对应的课程ID的学习记录;根据所述学习记录,计算所述各用户ID对应的课程ID的兴趣得分,获得各课程兴趣得分;以各用户ID为行、各课程ID为例,建立第一矩阵,并将所述各课程兴趣得分输入所述第一矩阵相应的行列中;利用SVD矩阵分解方法将所述第一矩阵分解,获得用户因子矩阵;利用余弦相似度计算方法计算所述用户因子矩阵中任意两个用户ID对应的课程兴趣得分的相似度,获得两个用户ID的相似度;根据两个用户ID的相似度,判断是否符合第一推荐条件;若符合所述第一推荐条件,则将符合所述第一推荐条件的两个用户ID中第一个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第二个用户ID,以及将所述两个用户ID中第二个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第一个用户ID。
在一个实施例中,上述以各用户ID为行、各课程ID为例建立第一矩阵,并将所述各课程兴趣得分输入所述第一矩阵相应的行列中的步骤之后,包括:
利用SVD矩阵分解方法将所述第一矩阵分解,获得课程因子矩阵;
利用余弦相似度计算方法计算所述课程因子矩阵中任意两个课程ID对应的课程兴趣得分的相似度,获得两个课程ID的相似度;
根据两个课程ID的相似度,判断是否符合第二推荐条件;
若符合所述第二推荐条件,则将符合所述第二推荐条件的两个课程ID中的第一个课程ID推荐给所述两个课程ID中的第二个课程ID对应的用户ID,以及将所述两个课程ID中的第二个课程ID推荐给所述两个课程ID中的第一个课程ID对应的用户ID。
在一个实施例中,上述第一推荐条件为相似度最高的两个,在所述根据相似度的计算结果,判断是否符合第一推荐条件的步骤中,包括:
将各相似度的计算结果从高到低依次进行排序,获得排序表;
若第一、二用户ID的相似度的计算结果为所述排序表的前二个,则判断所述第一、二用户ID符合所述第一推荐条件;
若第一、二用户ID的相似度的计算结果不是为所述排序表的前二个,则判断所述第一、二用户ID不符合所述第一推荐条件。
在一个实施例中,上述根据相似度的计算结果,判断是否符合第二推荐条件的步骤中,包括:
若第一、二课程ID的相似度的计算结果大于预设阈值,则判断所述第一、二课程ID符合所述第二推荐条件;
若第一、二课程ID的相似度的计算结果小于或者等于预设阈值,则判断所述第一、二课程ID不符合所述第二推荐条件。
在一个实施例中,上述学习记录包括课程学习时长、课程练习次数、课程评分、课程完成进度和课后习题得分,在所述根据所述学习记录,计算所述各用户ID对应的课程ID的兴趣得分,获得各课程兴趣得分的步骤中,包括:
配置不同的课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分分别对应的不同的分值;
根据所述课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分获得对应的分值,按所述课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重计算所述各用户ID对应的课程ID的兴趣得分;
根据计算结果,获得各课程兴趣得分。
在一个实施例中,上述若符合所述第一推荐条件,则将所述两个用户ID 中第一个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID 中第二个用户ID,以及将所述两个用户ID中第二个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第一个用户ID的步骤之后,包括:
接收用户输入的课程推荐反馈,其中所述课程推荐反馈包括对推荐的课程感兴趣、一般和不感兴趣三个反馈选项;
统计所述课程推荐反馈中不感兴趣选项在三个反馈选项中占比,获得第一占比;
将所述第一占比与预设第一比例阈值进行比较;
若所述第一占比大于所述预设第一比例阈值,则调整所述课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重。
在一个实施例中,上述若符合所述第一推荐条件,则将所述两个用户ID 中第一个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID 中第二个用户ID,以及将所述两个用户ID中第二个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第一个用户ID的步骤之后,包括:
监控各已推荐的课程ID的课程兴趣得分;
统计各已推荐的课程ID的课程兴趣得分小于预设分值的数量,获得未感兴趣课程的数量;
计算所述未感兴趣课程的数量在已推荐的课程ID的数量中占比,获得第二占比;
将所述第二占比与预设第二比例阈值进行比较;
若所述第二占比大于预设第二比例阈值,则调整所述课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重。
本申请实施例的存储介质,根据学习记录,计算各用户ID对应的课程ID 的兴趣得分,以各用户ID为行、各课程ID为例,建立第一矩阵,并在第一矩阵中相应的行列中输入各课程兴趣得分,利用SVD矩阵分解方法分解第一矩阵,获得用户因子矩阵,利用余弦相似度计算方法计算用户因子矩阵中任意两个用户ID,根据相似度的计算结果,将两个用户ID自身感兴趣的课程推荐给对方,旨在解决在现有的课程推荐中,仅根据用户自身的历史数据进行推荐,难于扩展用户其它可能感兴趣的课程的问题。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程 ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内所作的任何修改、等同替换和改进等,均应包括在本申请的保护范围之内。
Claims (10)
1.一种课程智能推荐方法,其特征在于,所述方法包括:
从课程学习***中获取各用户ID、各课程ID和所述各用户ID对应的课程ID的学习记录;
根据所述学习记录,计算所述各用户ID对应的课程ID的兴趣得分,获得各课程兴趣得分;
以各用户ID为行、各课程ID为例,建立第一矩阵,并将所述各课程兴趣得分输入所述第一矩阵相应的行列中;
利用SVD矩阵分解方法将所述第一矩阵分解,获得用户因子矩阵;
利用余弦相似度计算方法计算所述用户因子矩阵中任意两个用户ID对应的课程兴趣得分的相似度,获得两个用户ID的相似度;
根据两个用户ID的相似度,判断是否符合第一推荐条件;
若符合所述第一推荐条件,则将符合所述第一推荐条件的两个用户ID中第一个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第二个用户ID,以及将所述两个用户ID中第二个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第一个用户ID。
2.根据权利要求1所述的课程智能推荐方法,其特征在于,在所述以各用户ID为行、各课程ID为例建立第一矩阵,并将所述各课程兴趣得分输入所述第一矩阵相应的行列中的步骤之后,包括:
利用SVD矩阵分解方法将所述第一矩阵分解,获得课程因子矩阵;
利用余弦相似度计算方法计算所述课程因子矩阵中任意两个课程ID对应的课程兴趣得分的相似度,获得两个课程ID的相似度;
根据两个课程ID的相似度,判断是否符合第二推荐条件;
若符合所述第二推荐条件,则将符合所述第二推荐条件的两个课程ID中的第一个课程ID推荐给所述两个课程ID中的第二个课程ID对应的用户ID,以及将所述两个课程ID中的第二个课程ID推荐给所述两个课程ID中的第一个课程ID对应的用户ID。
3.根据权利要求1所述的课程智能推荐方法,其特征在于,所述第一推荐条件为相似度最高的两个,在所述根据相似度的计算结果,判断是否符合第一推荐条件的步骤中,包括:
将各相似度的计算结果从高到低依次进行排序,获得排序表;
若第一、二用户ID的相似度的计算结果为所述排序表的前二个,则判断所述第一、二用户ID符合所述第一推荐条件;
若第一、二用户ID的相似度的计算结果不是为所述排序表的前二个,则判断所述第一、二用户ID不符合所述第一推荐条件。
4.根据权利要求2所述的课程智能推荐方法,其特征在于,在所述根据相似度的计算结果,判断是否符合第二推荐条件的步骤中,包括:
若第一、二课程ID的相似度的计算结果大于预设阈值,则判断所述第一、二课程ID符合所述第二推荐条件;
若第一、二课程ID的相似度的计算结果小于或者等于预设阈值,则判断所述第一、二课程ID不符合所述第二推荐条件。
5.根据权利要求1所述的课程智能推荐方法,其特征在于,所述学习记录包括课程学习时长、课程练习次数、课程评分、课程完成进度和课后习题得分,在所述根据所述学习记录,计算所述各用户ID对应的课程ID的兴趣得分,获得各课程兴趣得分的步骤中,包括:
配置不同的课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分分别对应的不同的分值;
根据所述课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分获得对应的分值,按所述课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重计算所述各用户ID对应的课程ID的兴趣得分;
根据计算结果,获得各课程兴趣得分。
6.根据权利要求5所述的课程智能推荐方法,其特征在于,在所述若符合所述第一推荐条件,则将所述两个用户ID中第一个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第二个用户ID,以及将所述两个用户ID中第二个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第一个用户ID的步骤之后,包括:
接收用户输入的课程推荐反馈,其中所述课程推荐反馈包括对推荐的课程感兴趣、一般和不感兴趣三个反馈选项;
统计所述课程推荐反馈中不感兴趣选项在三个反馈选项中占比,获得第一占比;
将所述第一占比与预设第一比例阈值进行比较;
若所述第一占比大于所述预设第一比例阈值,则调整所述课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重。
7.根据权利要求5所述的课程智能推荐方法,其特征在于,在所述若符合所述第一推荐条件,则将所述两个用户ID中第一个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第二个用户ID,以及将所述两个用户ID中第二个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第一个用户ID的步骤之后,包括:
监控各已推荐的课程ID的课程兴趣得分;
统计各已推荐的课程ID的课程兴趣得分小于预设分值的数量,获得未感兴趣课程的数量;
计算所述未感兴趣课程的数量在已推荐的课程ID的数量中占比,获得第二占比;
将所述第二占比与预设第二比例阈值进行比较;
若所述第二占比大于预设第二比例阈值,则调整所述课程学习时长、课程练习次数、课程评分、课程完成进度、课后习题得分对应的权重。
8.一种课程智能推荐装置,其特征在于,所述装置包括:
获取模块,用于从课程学习***中获取各用户ID、各课程ID和所述各用户ID对应的课程ID的学习记录;
第一计算模块,用于根据所述学习记录,计算所述各用户ID对应的课程ID的兴趣得分,获得各课程兴趣得分;
矩阵模块,用于以各用户ID为行、各课程ID为例,建立第一矩阵,并将所述各课程兴趣得分输入所述第一矩阵相应的行列中;
分解模块,用于利用SVD矩阵分解方法将所述第一矩阵分解,获得用户因子矩阵;
第二计算模块,用于利用余弦相似度计算方法计算所述用户因子矩阵中任意两个用户ID对应的课程兴趣得分的相似度,获得两个用户ID的相似度;
判断模块,用于根据两个用户ID的相似度,判断是否符合第一推荐条件;
推荐模块,用于若符合所述第一推荐条件,则将符合所述第一推荐条件的两个用户ID中第一个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第二个用户ID,以及将所述两个用户ID中第二个用户ID对应的课程兴趣得分最高的课程ID推荐给所述两个用户ID中第一个用户ID。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811449035.8A CN109670087B (zh) | 2018-11-28 | 课程智能推荐方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811449035.8A CN109670087B (zh) | 2018-11-28 | 课程智能推荐方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109670087A true CN109670087A (zh) | 2019-04-23 |
CN109670087B CN109670087B (zh) | 2024-07-16 |
Family
ID=
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110929163A (zh) * | 2019-12-09 | 2020-03-27 | 上海复深蓝软件股份有限公司 | 课程推荐方法、装置、计算机设备及存储介质 |
CN111767464A (zh) * | 2020-07-09 | 2020-10-13 | 海口科博瑞信息科技有限公司 | 课程平台的内容推荐方法、装置、设备及存储介质 |
CN111816276A (zh) * | 2020-07-08 | 2020-10-23 | 平安科技(深圳)有限公司 | 患教教程推荐方法、装置、计算机设备和存储介质 |
CN112632140A (zh) * | 2020-12-22 | 2021-04-09 | 平安普惠企业管理有限公司 | 课程推荐方法、装置、设备及存储介质 |
CN116257694A (zh) * | 2023-05-16 | 2023-06-13 | 安徽教育网络出版有限公司 | 一种基于在线学习课程的智能化搜索推荐方法和*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104809127A (zh) * | 2014-01-26 | 2015-07-29 | 上海联影医疗科技有限公司 | 一种远程教育资源的推荐方法和装置 |
CN105282616A (zh) * | 2015-11-13 | 2016-01-27 | 云南大学 | 一种组合协同过滤iptv节目推荐方法 |
CN106060637A (zh) * | 2016-06-29 | 2016-10-26 | 乐视控股(北京)有限公司 | 视频推荐方法、装置及*** |
CN106156354A (zh) * | 2016-07-27 | 2016-11-23 | 淮海工学院 | 一种学习资源推荐*** |
CN106971053A (zh) * | 2016-01-08 | 2017-07-21 | 车海莺 | 一种基于混合协同过滤的推荐方法 |
CN108510307A (zh) * | 2018-02-25 | 2018-09-07 | 心触动(武汉)科技有限公司 | 一种课程推荐方法及*** |
CN108804683A (zh) * | 2018-06-13 | 2018-11-13 | 重庆理工大学 | 结合矩阵分解和协同过滤算法的电影推荐方法 |
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104809127A (zh) * | 2014-01-26 | 2015-07-29 | 上海联影医疗科技有限公司 | 一种远程教育资源的推荐方法和装置 |
CN105282616A (zh) * | 2015-11-13 | 2016-01-27 | 云南大学 | 一种组合协同过滤iptv节目推荐方法 |
CN106971053A (zh) * | 2016-01-08 | 2017-07-21 | 车海莺 | 一种基于混合协同过滤的推荐方法 |
CN106060637A (zh) * | 2016-06-29 | 2016-10-26 | 乐视控股(北京)有限公司 | 视频推荐方法、装置及*** |
CN106156354A (zh) * | 2016-07-27 | 2016-11-23 | 淮海工学院 | 一种学习资源推荐*** |
CN108510307A (zh) * | 2018-02-25 | 2018-09-07 | 心触动(武汉)科技有限公司 | 一种课程推荐方法及*** |
CN108804683A (zh) * | 2018-06-13 | 2018-11-13 | 重庆理工大学 | 结合矩阵分解和协同过滤算法的电影推荐方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110929163A (zh) * | 2019-12-09 | 2020-03-27 | 上海复深蓝软件股份有限公司 | 课程推荐方法、装置、计算机设备及存储介质 |
CN111816276A (zh) * | 2020-07-08 | 2020-10-23 | 平安科技(深圳)有限公司 | 患教教程推荐方法、装置、计算机设备和存储介质 |
CN111816276B (zh) * | 2020-07-08 | 2022-07-15 | 平安科技(深圳)有限公司 | 患教教程推荐方法、装置、计算机设备和存储介质 |
CN111767464A (zh) * | 2020-07-09 | 2020-10-13 | 海口科博瑞信息科技有限公司 | 课程平台的内容推荐方法、装置、设备及存储介质 |
CN112632140A (zh) * | 2020-12-22 | 2021-04-09 | 平安普惠企业管理有限公司 | 课程推荐方法、装置、设备及存储介质 |
CN116257694A (zh) * | 2023-05-16 | 2023-06-13 | 安徽教育网络出版有限公司 | 一种基于在线学习课程的智能化搜索推荐方法和*** |
CN116257694B (zh) * | 2023-05-16 | 2023-08-22 | 安徽教育网络出版有限公司 | 一种基于在线学习课程的智能化搜索推荐方法和*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200016457A1 (en) | Virtual interactive fitness platform | |
CN109300521A (zh) | 训练的确定方法及装置、***、存储介质、处理器 | |
WO2007084522B1 (en) | Method and arrangement in a computer training system | |
CN106581951B (zh) | 智能手表记录运动参数的方法和装置 | |
CN110473435B (zh) | 一种具有学习周期的定量化的单词辅助学习***及方法 | |
CN109872262A (zh) | 一种考勤***及方法 | |
Schrum et al. | Mind meld: Personalized meta-learning for robot-centric imitation learning | |
CN108876123A (zh) | 一种教学干预方法和装置 | |
Roels | High-performance practice processes | |
CN109300069A (zh) | 用户学习路径模型的获取方法、装置以及电子设备 | |
CN109670087A (zh) | 课程智能推荐方法、装置、计算机设备和存储介质 | |
US11682482B2 (en) | Method and apparatus for determining psychological counseling training scheme | |
Seewald et al. | MRT-SS calculator: an R shiny application for sample size calculation in micro-randomized trials | |
CN107610015A (zh) | 一种学分获取方法、服务器、***及存储介质 | |
Button et al. | Working in the field (Southern Hemisphere) | |
DE102019129846A1 (de) | Verfahren zur Erfassung, Analyse und Optimierung von Bewegungsausführungen im Sportbereich und Reha-Bereich | |
CN115105716A (zh) | 一种利用计算任务调动认知资源并锻炼前瞻记忆的训练方法及*** | |
CN113094404B (zh) | 一种大数据采集多核参数自适应分时记忆驱动方法及*** | |
Lehrer et al. | Approachability with bounded memory | |
CN109670087B (zh) | 课程智能推荐方法、装置、计算机设备和存储介质 | |
CN107970556A (zh) | 速度与灵敏度认知训练***和方法 | |
CN106447192B (zh) | 一种智能设备的反馈测试方法及装置 | |
CN113763767A (zh) | 学习试题推送方法、装置、计算机设备和存储介质 | |
CN112288287A (zh) | 车载信息***的评估方法及设备 | |
CN110288091A (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 |