CN112614029A - 一种选修课程推荐的方法和装置 - Google Patents
一种选修课程推荐的方法和装置 Download PDFInfo
- Publication number
- CN112614029A CN112614029A CN202011556028.5A CN202011556028A CN112614029A CN 112614029 A CN112614029 A CN 112614029A CN 202011556028 A CN202011556028 A CN 202011556028A CN 112614029 A CN112614029 A CN 112614029A
- Authority
- CN
- China
- Prior art keywords
- course
- student
- matrix
- attribute information
- courses
- 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 19
- 239000011159 matrix material Substances 0.000 claims abstract description 132
- 238000004458 analytical method Methods 0.000 claims abstract description 13
- 239000013598 vector Substances 0.000 claims description 110
- 239000000126 substance Substances 0.000 claims description 32
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 abstract description 5
- 201000004569 Blindness Diseases 0.000 abstract description 3
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000017105 transposition 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种选修课程推荐的方法和装置。本发明的方法首先基于学生、课程画像构建学生‑课程对之间的相似度。其中,离散属性使用余弦相似度计算方式,连续属性使用高斯核函数计算方式,得到用户‑课程对相似度矩阵。然后基于SVD算法、RMSE损失函数的改进,将学生课程矩阵分解为带有课程特征的学生‑特征矩课程‑特征矩阵,通过学生对课程特征的偏好程度以及课程对课程特征的隶属程度的分析,重新组合成新的学生课程矩阵,使得学生课程矩阵中包含了学生对课程的偏好数据,最后以及该学生课程矩阵生成推荐课程选课矩阵,从而为学生做出课程的个性化推荐,可以有效解决学生选课的盲目性。
Description
技术领域
本发明涉及大数据分析和人工智能领域,特别涉及个性化推荐。
背景技术
高校教育体制改革以后,高校纷纷向多学科综合型方向发展。学科专业覆盖面不断扩大,课程的开设也随之不断增加。课程数目的增加为学生选修课程带来更多的选择,但是过多的课程也使得学生的选课不可避免地出现盲目性。
目前,教学管理系统的广泛应用积累了大量的教学实践数据,但是,这些数据存在很多的不完整性,比如每年有25%的毕业生离开学校,25%校园新生,会造成冷启动用户的比例,流失比例等问题。数据本身的缺陷导致的推荐系统运作的困难与不准确。例如,在教师表中可以以ID唯一确定一名教师,但在其他表(如教师排课表)中仅出现了教师姓名,没有使用该ID,这导致推荐系统实际上无法确定该门课程到底是哪一位老师教授。
发明内容
本发明所要解决的问题:为避免学生选课的盲目性。
为解决上述问题,本发明采用的方案如下:
根据本发明的一种选修课程推荐的方法,包括如下步骤:
S1:获取学生信息、课程信息和学生历史选课记录;
所述学生信息包括学生离散属性信息、学生连续属性信息;所述学生离散属性信息至少包括性别信息、班级信息、专业信息、所属院系信息、图书借阅离散信息;所述学生连续属性信息至少包括年龄信息、学生绩点信息、图书借阅连续信息;
所述课程信息包括课程离散属性信息、课程连续属性信息;所述课程离散属性信息至少包括:课程名称、开课院系;所述课程连续属性信息包括:开课次数、平均成绩;
所述历史选课记录包括学生历史选课列表;
S2:根据所述学生连续属性信息和所述课程连续属性信息构建学生未选课程对向量PAu1,a1和学生已选课程对向量PWu2,a2,并根据所述学生历史选课列表构建学生历史选课矩阵B={bu,j|u∈[1..N],j∈[1..A]};其中,
PAu1,a1表示学生u1和其未选课程a1之间所组成的学生课程对的向量;
PWu2,a2表示学生u2和其已选课程a2之间所组成的学生课程对的向量;
所述学生课程对向量是所述学生连续属性信息和所述课程连续属性信息的向量化表示;
B为N×A的历史选课矩阵;N表示学生数;A为课程数;
bu,j表示历史中学生u是否已经选修课程j,若已经选修课程j,则bu,j=1,否则bu,j=0;
S3:根据所述学生离散属性信息和所述课程离散属性信息分别计算各学生与学生之间的相似度SSu1,u2以及各课程与课程之间的相似度SCa1,a2;其中,
DSw表示两个学生第w个离散属性信息是否相同,若相同,则DSw=1,否则DSw=0;
CSD表示学生离散属性信息的个数;
DCv表示两个课程第v个离散属性信息是否相同,若相同,则DCv=1,否则DCv=0;
CCD表示课程离散属性信息的个数;
S4:根据所述学生未选课程对向量、学生已选课程对向量、学生与学生之间的相似度以及课程与课程之间的相似度计算学生未选课程和学生已选课程之间的相似度:
{u1,a1}表示学生u1和其未选课程a1所组成的学生未选课程对;
{u2,a2}表示学生u2和其已选课程a2所组成的学生已选课程对;
PAu1,a1是学生u1和其未选课程a1之间所组成的学生课程对的向量;
PWu2,a2是学生u2和其已选课程a2之间所组成的学生课程对的向量;
||PAu1,a1-PWu2,a2||是向量PAu1,a1和向量PWu2,a2之间的欧拉距离;
SSu1,u2是学生u1和学生u2之间的相似度;
SCa1,a2是课程a1和学生a2之间的相似度;
σ为预先设定的宽度参数;
S5:学生和课程特征之间的偏好分析和课程与课程特征隶属分析,包括如下步骤:
S51:初始化学生和课程特征的偏好矩阵P={pu,k=c|u∈[1..N],k∈[1..K]};
其中,P为N×K的偏好矩阵;
K为课程特征数,为预先设定的值;
pu,k表示学生u对第k个课程特征的偏好程度;
pu,k=c表示学生u对第k个课程特征的偏好程度初始化为c;
c为预先设定参数;
S52:根据所述学生未选课程和学生已选课程之间的相似度和学生和课程的偏好矩阵P计算课程与课程特征之间的隶属度矩阵Q={qj|j∈[1..A]};其中,
qj=(PPT+λitemE)-1·pu·∑{u2,a2}∈ΩSP{u1,a1},{u2,a2}bu2,a2;
其中,
pu是学生u对各个课程特征的偏好程度所组成的向量,即,pu={pu,k|k∈[1..K]};
qj是课程j对各个课程特征的隶属程度所组成的向量,即,qj={qj,k|k∈[1..K]};
qj,k表示课程j对第k个课程特征的隶属程度;
bu2,a2表示历史中学生u2是否已经选修课程a2;
λitem为预先设定的参数;
E为单位矩阵;
Ω表示学生已选课程对向量的全集;
S53:根据所述学生历史选课矩阵B和所述隶属度矩阵Q修正所述偏好矩阵P:P=B×Q-1;
其中,λuser是预先设定的值;
S6:计算推荐值矩阵Z=P·QT={zu,j|u∈[1..N],j∈[1..A]},得到各个学生的课程推荐值向量zu={zu,j|j∈[1..A]},然后依据学生的课程推荐值向量确定该学生的推荐课程;其中,zu,j是学生u的课程j的课程推荐值;
zu是学生u的各个课程推荐值组成的向量。
进一步,根据本发明的选修课程推荐的方法,所述步骤S6还包括:
S611:对推荐值矩阵Z中的元素进行二值化处理,若zu,j小于0.5,则zu,j取值为0,否则取值为1,得到二值化后的推荐值矩阵Y;
S612:计算矩阵H=Y-B,矩阵H为最终课程推荐矩阵。
进一步,根据本发明的选修课程推荐的方法,所述步骤S6还包括:
S621:按照zu={zu,j|j∈[1..A]}中的各个课程推荐值的降序,对课程进行排序得到排序结果Cu;
Cu表示为学生u根据其各个课程推荐值降序排序后的课程列表;
S622:从排序结果Cu剔除历史已选课程后的topN个课程作为推荐课程。
根据本发明的一种选修课程推荐的装置,包括如下模块:
M1,用于:获取学生信息、课程信息和学生历史选课记录;
所述学生信息包括学生离散属性信息、学生连续属性信息;所述学生离散属性信息至少包括性别信息、班级信息、专业信息、所属院系信息、图书借阅离散信息;所述学生连续属性信息至少包括年龄信息、学生绩点信息、图书借阅连续信息;
所述课程信息包括课程离散属性信息、课程连续属性信息;所述课程离散属性信息至少包括:课程名称、开课院系;所述课程连续属性信息包括:开课次数、平均成绩;
所述历史选课记录包括学生历史选课列表;
M2,用于:根据所述学生连续属性信息和所述课程连续属性信息构建学生未选课程对向量PAu1,a1和学生已选课程对向量PWu2,a2,并根据所述学生历史选课列表构建学生历史选课矩阵B={bu,j|u∈[1..N],j∈[1..A]};其中,
PAu1,a1表示学生u1和其未选课程a1之间所组成的学生课程对的向量;
PWu2,a2表示学生u2和其已选课程a2之间所组成的学生课程对的向量;
所述学生课程对向量是所述学生连续属性信息和所述课程连续属性信息的向量化表示;
B为N×A的历史选课矩阵;N表示学生数;A为课程数;
bu,j表示历史中学生u是否已经选修课程j,若已经选修课程j,则bu,j=1,否则bu,j=0;
M3,用于:根据所述学生离散属性信息和所述课程离散属性信息分别计算各学生与学生之间的相似度SSu1,u2以及各课程与课程之间的相似度SCa1,a2;其中,
DSw表示两个学生第w个离散属性信息是否相同,若相同,则DSw=1,否则DSw=0;
CSD表示学生离散属性信息的个数;
DCv表示两个课程第v个离散属性信息是否相同,若相同,则DCv=1,否则DCv=0;
CCD表示课程离散属性信息的个数;
M4,用于:根据所述学生未选课程对向量、学生已选课程对向量、学生与学生之间的相似度以及课程与课程之间的相似度计算学生未选课程和学生已选课程之间的相似度:
{u1,a1}表示学生u1和其未选课程a1所组成的学生未选课程对;
{u2,a2}表示学生u2和其已选课程a2所组成的学生已选课程对;
PAu1,a1是学生u1和其未选课程a1之间所组成的学生课程对的向量;
PWu2,a2是学生u2和其已选课程a2之间所组成的学生课程对的向量;
||PAu1,a1-PWu2,a2||是向量PAu1,a1和向量PWu2,a2之间的欧拉距离;
SSu1,u2是学生u1和学生u2之间的相似度;
SCa1,a2是课程a1和学生a2之间的相似度;
σ为预先设定的宽度参数;
M5,用于:学生和课程特征之间的偏好分析和课程与课程特征隶属分析,包括如下模块:
M51,用于:初始化学生和课程特征的偏好矩阵P={pu,k=c|u∈[1..N],k∈[1..K]};
其中,P为N×K的偏好矩阵;
K为课程特征数,为预先设定的值;
pu,k表示学生u对第k个课程特征的偏好程度;
pu,k=c表示学生u对第k个课程特征的偏好程度初始化为c;
c为预先设定参数;
M52,用于:根据所述学生未选课程和学生已选课程之间的相似度和学生和课程的偏好矩阵P计算课程与课程特征之间的隶属度矩阵Q={qj|j∈[1..A]};其中,
qj=(PPT+λitemE)-1·pu·∑{u2,a2}∈ΩSP{u1,a1},{u2,a2}bu2,a2;
其中,
pu是学生u对各个课程特征的偏好程度所组成的向量,即,pu={pu,k|k∈[1..K]};
qj是课程j对各个课程特征的隶属程度所组成的向量,即,qj={qj,k|k∈[1..K]};
qj,k表示课程j对第k个课程特征的隶属程度;
bu2,a2表示历史中学生u2是否已经选修课程a2;
λitem为预先设定的参数;
E为单位矩阵;
Ω表示学生已选课程对向量的全集;
M53,用于:根据所述学生历史选课矩阵B和所述隶属度矩阵Q修正所述偏好矩阵P:P=B×Q-1;
其中,λuser是预先设定的值;
M6,用于:计算推荐值矩阵Z=P·QT={zu,j|u∈[1..N],j∈[1..A]},得到各个学生的课程推荐值向量zu={zu,j|j∈[1..A]},然后依据学生的课程推荐值向量确定该学生的推荐课程;其中,
zu,j是学生u的课程j的课程推荐值;
zu是学生u的各个课程推荐值组成的向量。
进一步,根据本发明的选修课程推荐的方法,所述模块M6还包括:
M611,用于:对推荐值矩阵Z中的元素进行二值化处理,若zu,j小于0.5,则zu,j取值为0,否则取值为1,得到二值化后的推荐值矩阵Y;
M612,用于:计算矩阵H=Y-B,矩阵H为最终课程推荐矩阵。
进一步,根据本发明的选修课程推荐的方法,所述模块M6还包括:
M621,用于:按照zu={zu,j|j∈[1..A]}中的各个课程推荐值的降序,对课程进行排序得到排序结果Cu;
Cu表示为学生u根据其各个课程推荐值降序排序后的课程列表;
M622,用于:从排序结果Cu剔除历史已选课程后的topN个课程作为推荐课程。
本发明的技术效果如下:本发明提通过挖掘学生-课程对之间相似度来挖掘在学生与课程之间的潜在关联,从而能够更好的为学生做出个性化推荐,可以有效的解决学生选课的盲目性。
具体实施方式
下面对本发明做进一步详细说明。
本实施例是一种选修课程推荐的方法,包括如下步骤:数据获取步骤、数据初始化步骤、学生课程对相似度计算步骤、课程特征引入分析步骤、个性化推荐输出步骤。下面对上述几个步骤做更为详细的描述。
数据获取步骤,也就是,前述的步骤S1或模块M2,也就是获取学生信息、课程信息和学生历史选课记录。本发明中,学生信息和课程信息分成离散属性信息和连续属性信息。也就是,学生信息包括学生离散属性信息、学生连续属性信息;课程信息包括课程离散属性信息、课程连续属性信息。。学生离散属性信息包括但不限于比如:性别信息、班级信息、专业信息、所属院系信息、图书借阅离散信息等信息。学生连续属性信息包括但不限于比如:年龄信息、学生绩点信息、图书借阅连续信息等信息。课程离散属性信息包括但不限于比如:课程名称、开课院系、教师名称、教师所述院系等信息。课程连续属性信息包括但不限于比如:开课次数、选修人数等信息。历史选课记录,在本实施例中,是一张学生历史选课列表。学生信息、课程信息和学生历史选课记录来自于学校的数据库。
数据初始化步骤,也就是前述步骤S2或模块M2,也就是,该步骤初始化学生课程对和学生历史选课矩阵。
初始化学生课程对,也就是,根据学生连续属性信息和课程连续属性信息构建学生未选课程对向量PAu1,a1和学生已选课程对向量PWu2,a2。其中,PAu1,a1表示学生u1和其未选课程a1之间所组成的学生课程对的向量。PWu2,a2表示学生u2和其已选课程a2之间所组成的学生课程对的向量。学生课程对向量是学生连续属性信息和课程连续属性信息的向量化表示。也就是,学生未选课程对向量是学生连续属性信息与该学生未选课程的课程连续属性信息的向量化表示;学生已选课程对向量是学生连续属性信息与该学生已选课程的课程连续属性信息的向量化表示。各个学生未选课程对向量PAu1,a1组成学生未选课程对向量集合。各个学生已选课程对向量PWu2,a2组成学生已选课程对向量集合。也就是初始化学生课程对输出两个向量集合:学生未选课程对向量集合和学生已选课程对向量集合。
初始化学生历史选课矩阵,也就是,根据学生历史选课列表构建学生历史选课矩阵B。其中,学生历史选课矩阵B是一个N×A的历史选课矩阵,N表示学生数,A为课程数。学生历史选课矩阵B还可以表示为:B={bu,j|u∈[1..N],j∈[1..A]}。其中,bu,j表示历史中第u学生是否已经选修第j课程。
学生课程对相似度计算步骤,该步骤计算的是,学生未选课程对向量集合中的学生未选课程对向量与学生已选课程对向量集合中学生已选课程对向量的相似度。该步骤分成两个步骤计算:也就是前述的步骤S3和步骤S4,或者模块M3和模块M4。
步骤S3和模块M3中,根据学生离散属性信息计算学生与学生之间的相似度,并根据课程离散属性信息计算课程和课程之间的相似度。这里的学生与学生之间的相似度是学生离散属性相似度,课程和课程之间的相似度是课程离散属性相似度。
学生离散属性相似度表示为SSu1,u2,SSu1,u2表示学生u1和学生u2之间的离散属性相似度。学生离散属性相似度采用如下公式计算:
DSw表示两个学生第w个离散属性信息是否相同,若相同,则DSw=1,否则DSw=0;
CSD表示学生离散属性信息的个数。
课程离散属性相似度表示为SCa1,a2,SCa1,a2表示课程a1和学生a2之间的离散属性相似度。课程离散属性相似度采用如下公式计算:
DCv表示两个课程第v个离散属性信息是否相同,若相同,则DCv=1,否则DCv=0;
CCD表示课程离散属性信息的个数。
步骤S4和模块M4中,计算学生未选课程对向量和学生已选课程对向量之间的相似度,该相似度简称为学生选课相似度,表示为:SP{u1,a1},{u2,a2},SP{u1,a1},{u2,a2}表示学生u1和其未选课程a1所组成的学生未选课程对向量与学生u2和其已选课程a2所组成的学生已选课程对向量之间的相似度。其中,{u1,a1}表示学生u1和其未选课程a1所组成的学生未选课程对;{u2,a2}表示学生u2和其已选课程a2所组成的学生已选课程对。学生选课相似度SP{u1,a1},{u2,a2}采用如下公式计算:
PAu1,a1是学生u1和其未选课程a1之间所组成的学生课程对的向量,也就是,前述学生未选课程对向量集合中的学生未选课程对向量;
PWu2,a2是学生u2和其已选课程a2之间所组成的学生课程对的向量,也就是,前述学生已选课程对向量集合中的学生已选课程对向量;
||PAu1,a1-PWu2,a2||是向量PAu1,a1和向量PWu2,a2之间的欧拉距离;
SSu1,u2是学生u1和学生u2之间的相似度,通过前述步骤S3或模块M3得到;
SCa1,a2是课程a1和学生a2之间的相似度,通过前述步骤S3或模块M3得到;
σ为预先设定的宽度参数。
课程特征引入分析步骤,也就是,前述步骤S5或者模块M5,用于学生和课程特征之间的偏好分析和课程与课程特征隶属分析,输出两个矩阵:学生和课程特征的偏好矩阵以及课程和课程特征的隶属度矩阵。该步骤通过以下步骤实现:
步骤S51,初始化学生和课程特征的偏好矩阵;
步骤S52,根据学生选课相似度计算和学生和课程特征的偏好矩阵,计算出课程和课程特征的隶属度矩阵;
步骤S53,根据课程和课程特征的隶属度矩阵再结合学生历史选课矩阵修正学生和课程特征的偏好矩阵;
步骤S54,计算损失值;
重复步骤S52、步骤S53、步骤S54直到损失值小于预先设定的阈值。
学生和课程特征的偏好矩阵,简称偏好矩阵,是一个N×K的矩阵;其中,N为前述的学生数,K为课程特征数,课程特征数K为预先设定的值。偏好矩阵可以表示为P={pu,k|u∈[1..N],k∈[1..K]};其中,P为N×K的偏好矩阵,pu,k表示第u学生对第k课程特征的偏好程度。在步骤S51的偏好矩阵初始化过程中,初始化为pu,k=c。也就是,偏好矩阵的所有元素都初始化为c。c为预先设定参数通常为0.5。偏好矩阵也可以表示为P={pu|u∈[1..N]};其中,pu是第u学生对各个课程特征的偏好程度所组成的向量,即,pu={pu,k|k∈[1..K]}。
课程和课程特征的隶属度矩阵,简称隶属度矩阵,是一个A×K的矩阵;其中,A为前述的课程数,K为前述的课程特征数。隶属度矩阵可以表示为Q={qj,k|j∈[1..A],k∈[1..K]};其中,Q为A×K的隶属度矩阵,qj,k表示第j课程对第k课程特征的隶属程度。隶属度矩阵可以表示为Q={qj|j∈[1..A]};其中,qj是第j课程对各个课程特征的隶属程度所组成的向量,即,qj={qj,k|k∈[1..K]}。
步骤S52中,隶属度矩阵Q={qj|j∈[1..A]}通过以下公式计算:
qj=(PPT+λitemE)-1·pu·∑{u2,a2}∈ΩSP{u1,a1},{u2,a2}bu2,a2;其中,
qj是前述的第j课程对各个课程特征的隶属程度所组成的向量;
P为前述的偏好矩阵;PT为P的转置;
λitem为预先设定的参数,优选0.2~0.8;
E为K×K单位矩阵;
(PPT+λitemE)-1表示为矩阵PPT+λitemE的逆矩阵运算;
pu即为前述的第u学生对各个课程特征的偏好程度所组成的向量;
SP{u1,a1},{u2,a2}为前述的学生选课相似度,{u1,a1}表示学生u1和其未选课程a1所组成的学生未选课程对;{u2,a2}表示学生u2和其已选课程a2所组成的学生已选课程对;Ω为学生已选课程对向量的全集;bu2,a2表示历史中第u2学生是否已经选修第a2课程,来自于前述学生历史选课矩阵B。
步骤S53中,偏好矩阵采用如下公式进行修正:
P=B×Q-1;其中,
P为前述的偏好矩阵;
B为前述的学生历史选课矩阵;
Q为前述的隶属度矩阵,Q-1为Q的逆矩阵运算。
步骤S54中,损失值采用如下公式计算:
其中,
为损失值;A为前述的课程数,N为前述的学生数;SP{u,j},{u2,a2}为前述的学生选课相似度,{u,j}表示学生u和其未选课程j所组成的学生未选课程对;{u2,a2}表示学生u2和其已选课程a2所组成的学生已选课程对;Ω为学生已选课程对向量的全集;bu2,a2表示历史中第u2学生是否已经选修第a2课程,来自于前述学生历史选课矩阵B;pu为前述的第u学生对各个课程特征的偏好程度所组成的向量;qj是前述的第j课程对各个课程特征的隶属程度所组成的向量;为向量qj的转置;|pu|表示向量pu的模长;|qj|表示向量qj的模长;λitem为前述的预先设定的参数λitem;λuser为预先设定的第二参数,取值0.2~0.8。
通过上述步骤S5的计算处理,得到偏好矩阵P,隶属度矩阵Q。个性化推荐输出步骤,也就是前述步骤S6或模块M6,以步骤S5输出的偏好矩阵P,隶属度矩阵Q作为输入。个性化推荐输出步骤中,首先,根据偏好矩阵P,隶属度矩阵Q计算出推荐值矩阵Z=P·QT。显而易见地,P是N×K的矩阵;QT作为矩阵Q的转置矩阵为K×A的矩阵。因此,P和QT相乘后得到N×A的矩阵,也就是,推荐值矩阵Z为N×A的矩阵,可以表示为:
Z={zu,j|u∈[1..N],j∈[1..A]};
其中,zu,j表示为学生u的课程j的课程推荐值。由此,可以得到各个学生的课程推荐值向量zu={zu,j|j∈[1..A]},然后依据学生的课程推荐值向量确定该学生的推荐课程。其中,zu是学生u的各个课程推荐值组成的向量。
依据学生的课程推荐值向量确定该学生的推荐课程的方法有很多种。第一种是实施方式是根据学生的各个课程的课程推荐值对课程进行排序,然后从排序结果中剔除历史已选课程后的topN个课程,也就是前述步骤S621和步骤S622,即
S621:按照zu={zu,j|j∈[1..A]}中的各个课程推荐值的降序,对课程进行排序得到排序结果Cu;Cu表示为学生u根据其各个课程推荐值降序排序后的课程列表;
S622:从排序结果Cu剔除历史已选课程后的topN个课程作为推荐课程。
第二种实施方式,直接对推荐值矩阵Z进行操作,步骤如下:
S611:对推荐值矩阵Z中的元素进行二值化处理,若zu,j小于0.5,则zu,j取值为0,否则取值为1,得到二值化后的推荐值矩阵Y;
S612:计算矩阵H=Y-B,矩阵H为最终课程推荐矩阵;其中,B为前述的学生历史选课矩阵B。矩阵H是一个N×A的矩阵,可以表示为H={hu,j|u∈[1..N],j∈[1..A]}。其中,hu,j表示为课程j是否向学生u推荐,其值为0或者1;若hu,j为1,则课程j则作为向学生u推荐的推荐课程,从而可以得到各个学生的推荐课程列表。
Claims (6)
1.一种选修课程推荐的方法,其特征在于,包括如下步骤:
S1:获取学生信息、课程信息和学生历史选课记录;
所述学生信息包括学生离散属性信息、学生连续属性信息;所述学生离散属性信息至少包括性别信息、班级信息、专业信息、所属院系信息、图书借阅离散信息;所述学生连续属性信息至少包括年龄信息、学生绩点信息、图书借阅连续信息;
所述课程信息包括课程离散属性信息、课程连续属性信息;所述课程离散属性信息至少包括:课程名称、开课院系;所述课程连续属性信息包括:开课次数、平均成绩;
所述历史选课记录包括学生历史选课列表;
S2:根据所述学生连续属性信息和所述课程连续属性信息构建学生未选课程对向量PAu1,a1和学生已选课程对向量PWu2,a2,并根据所述学生历史选课列表构建学生历史选课矩阵B={bu,j|u∈[1..N],j∈[1..A]};其中,
PAu1,a1表示学生u1和其未选课程a1之间所组成的学生课程对的向量;
PWu2,a2表示学生u2和其已选课程a2之间所组成的学生课程对的向量;
所述学生课程对向量是所述学生连续属性信息和所述课程连续属性信息的向量化表示;
B为N×A的历史选课矩阵;N表示学生数;A为课程数;
bu,j表示历史中学生u是否已经选修课程j,若已经选修课程j,则bu,j=1,否则bu,j=0;
S3:根据所述学生离散属性信息和所述课程离散属性信息分别计算各学生与学生之间的相似度SSu1,u2以及各课程与课程之间的相似度SCa1,a2;其中,
DSw表示两个学生第w个离散属性信息是否相同,若相同,则DSw=1,否则DSw=0;
CSD表示学生离散属性信息的个数;
DCv表示两个课程第v个离散属性信息是否相同,若相同,则DCv=1,否则DCv=0;
CCD表示课程离散属性信息的个数;
S4:根据所述学生未选课程对向量、学生已选课程对向量、学生与学生之间的相似度以及课程与课程之间的相似度计算学生未选课程和学生已选课程之间的相似度:
{u1,a1}表示学生u1和其未选课程a1所组成的学生未选课程对;
{u2,a2}表示学生u2和其已选课程a2所组成的学生已选课程对;
PAu1,a1是学生u1和其未选课程a1之间所组成的学生课程对的向量;
PWu2,a2是学生u2和其已选课程a2之间所组成的学生课程对的向量;
||PAu1,a1-PWu2,a2||是向量PAu1,a1和向量PWu2,a2之间的欧拉距离;
SSu1,u2是学生u1和学生u2之间的相似度;
SCa1,a2是课程a1和学生a2之间的相似度;
σ为预先设定的宽度参数;
S5:学生和课程特征之间的偏好分析和课程与课程特征隶属分析,包括如下步骤:
S51:初始化学生和课程特征的偏好矩阵P={pu,k=c|u∈[1..N],k∈[1..K]};
其中,P为N×K的偏好矩阵;
K为课程特征数,为预先设定的值;
pu,k表示学生u对第k个课程特征的偏好程度;
pu,k=c表示学生u对第k个课程特征的偏好程度初始化为c;
c为预先设定参数;
S52:根据所述学生未选课程和学生已选课程之间的相似度和学生和课程的偏好矩阵P计算课程与课程特征之间的隶属度矩阵Q={qj|j∈[1..A]};其中,
qj=(PPT+λitemE)-1·pu·∑{u2,a2}∈ΩSP{u1,a1},{u2,a2}bu2,a2;
其中,
pu是学生u对各个课程特征的偏好程度所组成的向量,即,pu={pu,k|k∈[1..K]};
qj是课程j对各个课程特征的隶属程度所组成的向量,即,qj={qj,k|k∈[1..K]};
qj,k表示课程j对第k个课程特征的隶属程度;
bu2,a2表示历史中学生u2是否已经选修课程a2;
λitem为预先设定的参数;
E为单位矩阵;
Ω表示学生已选课程对向量的全集;
S53:根据所述学生历史选课矩阵B和所述隶属度矩阵Q修正所述偏好矩阵P:
P=B×Q-1;
其中,λuser是预先设定的值;
S6:计算推荐值矩阵Z=P·QT={zu,j|u∈[1..N],j∈[1..A]},得到各个学生的课程推荐值向量zu={zu,j|j∈[1..A]},然后依据学生的课程推荐值向量确定该学生的推荐课程;其中,
zu,j是学生u的课程j的课程推荐值;
zu是学生u的各个课程推荐值组成的向量。
2.如权利要求1所述的选修课程推荐的方法,其特征在于,所述步骤S6还包括:
S611:对推荐值矩阵Z中的元素进行二值化处理,若zu,j小于0.5,则zu,j取值为0,否则取值为1,得到二值化后的推荐值矩阵Y;
S612:计算矩阵H=Y-B,矩阵H为最终课程推荐矩阵。
3.如权利要求1所述的选修课程推荐的方法,其特征在于,所述步骤S6还包括:
S621:按照zu={zu,j|j∈[1..A]}中的各个课程推荐值的降序,对课程进行排序得到排序结果Cu;Cu表示为学生u根据其各个课程推荐值降序排序后的课程列表;
S622:从排序结果Cu剔除历史已选课程后的topN个课程作为推荐课程。
4.一种选修课程推荐的装置,其特征在于,包括如下模块:
M1,用于:获取学生信息、课程信息和学生历史选课记录;
所述学生信息包括学生离散属性信息、学生连续属性信息;所述学生离散属性信息至少包括性别信息、班级信息、专业信息、所属院系信息、图书借阅离散信息;所述学生连续属性信息至少包括年龄信息、学生绩点信息、图书借阅连续信息;
所述课程信息包括课程离散属性信息、课程连续属性信息;所述课程离散属性信息至少包括:课程名称、开课院系;所述课程连续属性信息包括:开课次数、平均成绩;
所述历史选课记录包括学生历史选课列表;
M2,用于:根据所述学生连续属性信息和所述课程连续属性信息构建学生未选课程对向量PAu1,a1和学生已选课程对向量PWu2,a2,并根据所述学生历史选课列表构建学生历史选课矩阵B={bu,j|u∈[1..N],j∈[1..A]};其中,
PAu1,a1表示学生u1和其未选课程a1之间所组成的学生课程对的向量;
PWu2,a2表示学生u2和其已选课程a2之间所组成的学生课程对的向量;
所述学生课程对向量是所述学生连续属性信息和所述课程连续属性信息的向量化表示;
B为N×A的历史选课矩阵;N表示学生数;A为课程数;
bu,j表示历史中学生u是否已经选修课程j,若已经选修课程j,则bu,j=1,否则bu,j=0;
M3,用于:根据所述学生离散属性信息和所述课程离散属性信息分别计算各学生与学生之间的相似度SSu1,u2以及各课程与课程之间的相似度SCa1,a2;其中,
DSw表示两个学生第w个离散属性信息是否相同,若相同,则DSw=1,否则DSw=0;
CSD表示学生离散属性信息的个数;
DCv表示两个课程第v个离散属性信息是否相同,若相同,则DCv=1,否则DCv=0;
CCD表示课程离散属性信息的个数;
M4,用于:根据所述学生未选课程对向量、学生已选课程对向量、学生与学生之间的相似度以及课程与课程之间的相似度计算学生未选课程和学生已选课程之间的相似度:
{u1,a1}表示学生u1和其未选课程a1所组成的学生未选课程对;
{u2,a2}表示学生u2和其已选课程a2所组成的学生已选课程对;
PAu1,a1是学生u1和其未选课程a1之间所组成的学生课程对的向量;
PWu2,a2是学生u2和其已选课程a2之间所组成的学生课程对的向量;
||PAu1,a1-PWu2,a2||是向量PAu1,a1和向量PWu2,a2之间的欧拉距离;
SSu1,u2是学生u1和学生u2之间的相似度;
SCa1,a2是课程a1和学生a2之间的相似度;
σ为预先设定的宽度参数;
M5,用于:学生和课程特征之间的偏好分析和课程与课程特征隶属分析,包括如下模块:
M51,用于:初始化学生和课程特征的偏好矩阵P={pu,k=c|u∈[1..N],k∈[1..K]};
其中,P为N×K的偏好矩阵;
K为课程特征数,为预先设定的值;
pu,k表示学生u对第k个课程特征的偏好程度;
pu,k=c表示学生u对第k个课程特征的偏好程度初始化为c;
c为预先设定参数;
M52,用于:根据所述学生未选课程和学生已选课程之间的相似度和学生和课程的偏好矩阵P计算课程与课程特征之间的隶属度矩阵Q={qj|j∈[1..A]};其中,
qj=(PPT+λitemE)-1·pu·∑{u2,a2}∈ΩSP{u1,a1},{u2,a2}bu2,a2;
其中,
pu是学生u对各个课程特征的偏好程度所组成的向量,即,pu={pu,k|k∈[1..K]};
qj是课程j对各个课程特征的隶属程度所组成的向量,即,qj={qj,k|k∈[1..K]};
qj,k表示课程j对第k个课程特征的隶属程度;
bu2,a2表示历史中学生u2是否已经选修课程a2;
λitem为预先设定的参数;
E为单位矩阵;
Ω表示学生已选课程对向量的全集;
M53,用于:根据所述学生历史选课矩阵B和所述隶属度矩阵Q修正所述偏好矩阵P:
P=B×Q-1;
其中,λuser是预先设定的值;
M6,用于:计算推荐值矩阵Z=P·QT={zu,j|u∈[1..N],j∈[1..A]},得到各个学生的课程推荐值向量zu={zu,j|j∈[1..A]},然后依据学生的课程推荐值向量确定该学生的推荐课程;其中,zu,j是学生u的课程j的课程推荐值;
zu是学生u的各个课程推荐值组成的向量。
5.如权利要求1所述的选修课程推荐的方法,其特征在于,所述模块M6还包括:
M611,用于:对推荐值矩阵Z中的元素进行二值化处理,若zu,j小于0.5,则zu,j取值为0,否则取值为1,得到二值化后的推荐值矩阵Y;
M612,用于:计算矩阵H=Y-B,矩阵H为最终课程推荐矩阵。
6.如权利要求1所述的选修课程推荐的方法,其特征在于,所述模块M6还包括:
M621,用于:按照zu={zu,j|j∈[1..A]}中的各个课程推荐值的降序,对课程进行排序得到排序结果Cu;
Cu表示为学生u根据其各个课程推荐值降序排序后的课程列表;
M622,用于:从排序结果Cu剔除历史已选课程后的topN个课程作为推荐课程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011556028.5A CN112614029B (zh) | 2020-12-24 | 2020-12-24 | 一种选修课程推荐的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011556028.5A CN112614029B (zh) | 2020-12-24 | 2020-12-24 | 一种选修课程推荐的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112614029A true CN112614029A (zh) | 2021-04-06 |
CN112614029B CN112614029B (zh) | 2024-04-12 |
Family
ID=75244979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011556028.5A Active CN112614029B (zh) | 2020-12-24 | 2020-12-24 | 一种选修课程推荐的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112614029B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116843526A (zh) * | 2023-08-31 | 2023-10-03 | 湖南强智科技发展有限公司 | 一种提升学生选课概率的方法、系统、设备及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006139130A (ja) * | 2004-11-12 | 2006-06-01 | Nomura Research Institute Ltd | カリキュラム解析システム、及び方法 |
US20130011821A1 (en) * | 2011-04-07 | 2013-01-10 | Tristan Denley | Course recommendation system and method |
CN104680453A (zh) * | 2015-02-28 | 2015-06-03 | 北京大学 | 基于学生属性的课程推荐方法及系统 |
KR20160064448A (ko) * | 2014-11-28 | 2016-06-08 | 이종찬 | 유사 집합의 예상 선호도 대비 기반 아이템 추천 제공 방법 |
WO2018112696A1 (zh) * | 2016-12-19 | 2018-06-28 | 深圳大学 | 一种内容推荐方法及内容推荐系统 |
CN109299372A (zh) * | 2018-10-18 | 2019-02-01 | 浙江正元智慧科技股份有限公司 | 一种基于协同过滤的智慧选课推荐方法 |
CN109582864A (zh) * | 2018-11-19 | 2019-04-05 | 华南师范大学 | 基于大数据科学和动态权重调整的课程推荐方法及系统 |
CN109801197A (zh) * | 2019-01-09 | 2019-05-24 | 东华大学 | 一种基于协同过滤推荐算法的教务助手系统 |
CN110222254A (zh) * | 2019-04-26 | 2019-09-10 | 平安科技(深圳)有限公司 | 课程推荐方法、装置、设备及计算机可读存储介质 |
CN111428138A (zh) * | 2020-03-26 | 2020-07-17 | 中国建设银行股份有限公司 | 一种课程推荐方法、系统、设备及存储介质 |
CN111460249A (zh) * | 2020-02-24 | 2020-07-28 | 桂林电子科技大学 | 一种基于学习者偏好建模的个性化学习资源推荐方法 |
CN111753098A (zh) * | 2020-06-23 | 2020-10-09 | 陕西师范大学 | 一种基于跨媒体动态知识图谱的教学方法及系统 |
-
2020
- 2020-12-24 CN CN202011556028.5A patent/CN112614029B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006139130A (ja) * | 2004-11-12 | 2006-06-01 | Nomura Research Institute Ltd | カリキュラム解析システム、及び方法 |
US20130011821A1 (en) * | 2011-04-07 | 2013-01-10 | Tristan Denley | Course recommendation system and method |
KR20160064448A (ko) * | 2014-11-28 | 2016-06-08 | 이종찬 | 유사 집합의 예상 선호도 대비 기반 아이템 추천 제공 방법 |
CN104680453A (zh) * | 2015-02-28 | 2015-06-03 | 北京大学 | 基于学生属性的课程推荐方法及系统 |
WO2018112696A1 (zh) * | 2016-12-19 | 2018-06-28 | 深圳大学 | 一种内容推荐方法及内容推荐系统 |
CN109299372A (zh) * | 2018-10-18 | 2019-02-01 | 浙江正元智慧科技股份有限公司 | 一种基于协同过滤的智慧选课推荐方法 |
CN109582864A (zh) * | 2018-11-19 | 2019-04-05 | 华南师范大学 | 基于大数据科学和动态权重调整的课程推荐方法及系统 |
CN109801197A (zh) * | 2019-01-09 | 2019-05-24 | 东华大学 | 一种基于协同过滤推荐算法的教务助手系统 |
CN110222254A (zh) * | 2019-04-26 | 2019-09-10 | 平安科技(深圳)有限公司 | 课程推荐方法、装置、设备及计算机可读存储介质 |
CN111460249A (zh) * | 2020-02-24 | 2020-07-28 | 桂林电子科技大学 | 一种基于学习者偏好建模的个性化学习资源推荐方法 |
CN111428138A (zh) * | 2020-03-26 | 2020-07-17 | 中国建设银行股份有限公司 | 一种课程推荐方法、系统、设备及存储介质 |
CN111753098A (zh) * | 2020-06-23 | 2020-10-09 | 陕西师范大学 | 一种基于跨媒体动态知识图谱的教学方法及系统 |
Non-Patent Citations (2)
Title |
---|
孙彦超: "基于协同过滤的个性化选课模式研究与实践", 北京信息科技大学学报(自然科学版), vol. 30, no. 2, pages 92 - 96 * |
张凡 等: "基于改进协同过滤算法的高校思政课程推荐系统研究", 微型电脑应用, vol. 36, no. 9, pages 1 - 4 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116843526A (zh) * | 2023-08-31 | 2023-10-03 | 湖南强智科技发展有限公司 | 一种提升学生选课概率的方法、系统、设备及存储介质 |
CN116843526B (zh) * | 2023-08-31 | 2023-12-15 | 湖南强智科技发展有限公司 | 一种提升学生选课概率的方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112614029B (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Naser et al. | Predicting student performance using artificial neural network: In the faculty of engineering and information technology | |
CN109299372B (zh) | 一种基于协同过滤的智慧选课推荐方法 | |
CN110264091B (zh) | 学生认知诊断方法 | |
CN110309300B (zh) | 一种识别理科试题知识点的方法 | |
CN111461442B (zh) | 基于联邦学习的知识追踪的方法及系统 | |
CN111159419B (zh) | 基于图卷积的知识追踪数据处理方法、系统和存储介质 | |
CN112508334A (zh) | 融合认知特性及试题文本信息的个性化组卷方法及系统 | |
Putpuek et al. | Comparative study of prediction models for final GPA score: a case study of Rajabhat Rajanagarindra University | |
CN110659311B (zh) | 题目推送方法、装置、电子设备及存储介质 | |
CN111881172B (zh) | 一种基于答题统计特征的题目推荐系统 | |
Shaziya et al. | Prediction of students performance in semester exams using a naïve bayes classifier | |
Mousa et al. | School student’s performance prediction using data mining classification | |
Prasanalakshmi et al. | Classification and prediction of student academic performance in king khalid university-a machine learning approach | |
CN112614029A (zh) | 一种选修课程推荐的方法和装置 | |
CN116383481A (zh) | 一种基于学生画像的个性化试题推荐方法及系统 | |
CN111311997B (zh) | 一种基于网络教育资源的互动方法 | |
CN114154839A (zh) | 一种基于在线教育平台数据的课程推荐方法 | |
Asad et al. | Study of educational data mining approaches for student performance analysis | |
Chervany et al. | The planning stage in statistical reasoning | |
Hussain et al. | Solving Differential Equation by Modified Genetic Algorithms | |
Binh et al. | Student ability estimation based on IRT | |
CN112199285A (zh) | 一种测试案例优选方法、装置及电子设备 | |
Kurniawan et al. | Decision Support System for Quran Teacher Selection Using Profile Matching Method on TPQ Anbata | |
Schrumpf et al. | Re-thinking Transformer based educational resource recommendation engines for higher education | |
CN113704610B (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 |