掌桥专利:专业的专利平台
掌桥专利
首页

一种选修课程推荐的方法和装置

文献发布时间:2023-06-19 10:29:05



技术领域

本发明涉及大数据分析和人工智能领域,特别涉及个性化推荐。

背景技术

高校教育体制改革以后,高校纷纷向多学科综合型方向发展。学科专业覆盖面不断扩大,课程的开设也随之不断增加。课程数目的增加为学生选修课程带来更多的选择,但是过多的课程也使得学生的选课不可避免地出现盲目性。

目前,教学管理系统的广泛应用积累了大量的教学实践数据,但是,这些数据存在很多的不完整性,比如每年有25%的毕业生离开学校,25%校园新生,会造成冷启动用户的比例,流失比例等问题。数据本身的缺陷导致的推荐系统运作的困难与不准确。例如,在教师表中可以以ID唯一确定一名教师,但在其他表(如教师排课表)中仅出现了教师姓名,没有使用该ID,这导致推荐系统实际上无法确定该门课程到底是哪一位老师教授。

发明内容

本发明所要解决的问题:为避免学生选课的盲目性。

为解决上述问题,本发明采用的方案如下:

根据本发明的一种选修课程推荐的方法,包括如下步骤:

S1:获取学生信息、课程信息和学生历史选课记录;

所述学生信息包括学生离散属性信息、学生连续属性信息;所述学生离散属性信息至少包括性别信息、班级信息、专业信息、所属院系信息、图书借阅离散信息;所述学生连续属性信息至少包括年龄信息、学生绩点信息、图书借阅连续信息;

所述课程信息包括课程离散属性信息、课程连续属性信息;所述课程离散属性信息至少包括:课程名称、开课院系;所述课程连续属性信息包括:开课次数、平均成绩;

所述历史选课记录包括学生历史选课列表;

S2:根据所述学生连续属性信息和所述课程连续属性信息构建学生未选课程对向量PA

PA

PW

所述学生课程对向量是所述学生连续属性信息和所述课程连续属性信息的向量化表示;

B为N×A的历史选课矩阵;N表示学生数;A为课程数;

b

S3:根据所述学生离散属性信息和所述课程离散属性信息分别计算各学生与学生之间的相似度SS

SS

SC

DS

CSD表示学生离散属性信息的个数;

DC

CCD表示课程离散属性信息的个数;

S4:根据所述学生未选课程对向量、学生已选课程对向量、学生与学生之间的相似度以及课程与课程之间的相似度计算学生未选课程和学生已选课程之间的相似度:

{u1,a1}表示学生u1和其未选课程a1所组成的学生未选课程对;

{u2,a2}表示学生u2和其已选课程a2所组成的学生已选课程对;

PA

PW

||PA

SS

SC

σ为预先设定的宽度参数;

S5:学生和课程特征之间的偏好分析和课程与课程特征隶属分析,包括如下步骤:

S51:初始化学生和课程特征的偏好矩阵P={p

其中,P为N×K的偏好矩阵;

K为课程特征数,为预先设定的值;

p

p

c为预先设定参数;

S52:根据所述学生未选课程和学生已选课程之间的相似度和学生和课程的偏好矩阵P计算课程与课程特征之间的隶属度矩阵Q={q

q

其中,

p

q

q

b

λ

E为单位矩阵;

Ω表示学生已选课程对向量的全集;

S53:根据所述学生历史选课矩阵B和所述隶属度矩阵Q修正所述偏好矩阵P:P=B×Q

S54:计算损失值

其中,λ

S55:重复步骤S52、S53、S54直到损失值

S6:计算推荐值矩阵Z=P·Q

z

进一步,根据本发明的选修课程推荐的方法,所述步骤S6还包括:

S611:对推荐值矩阵Z中的元素进行二值化处理,若z

S612:计算矩阵H=Y-B,矩阵H为最终课程推荐矩阵。

进一步,根据本发明的选修课程推荐的方法,所述步骤S6还包括:

S621:按照z

C

S622:从排序结果C

根据本发明的一种选修课程推荐的装置,包括如下模块:

M1,用于:获取学生信息、课程信息和学生历史选课记录;

所述学生信息包括学生离散属性信息、学生连续属性信息;所述学生离散属性信息至少包括性别信息、班级信息、专业信息、所属院系信息、图书借阅离散信息;所述学生连续属性信息至少包括年龄信息、学生绩点信息、图书借阅连续信息;

所述课程信息包括课程离散属性信息、课程连续属性信息;所述课程离散属性信息至少包括:课程名称、开课院系;所述课程连续属性信息包括:开课次数、平均成绩;

所述历史选课记录包括学生历史选课列表;

M2,用于:根据所述学生连续属性信息和所述课程连续属性信息构建学生未选课程对向量PA

PA

PW

所述学生课程对向量是所述学生连续属性信息和所述课程连续属性信息的向量化表示;

B为N×A的历史选课矩阵;N表示学生数;A为课程数;

b

M3,用于:根据所述学生离散属性信息和所述课程离散属性信息分别计算各学生与学生之间的相似度SS

SS

SC

DS

CSD表示学生离散属性信息的个数;

DC

CCD表示课程离散属性信息的个数;

M4,用于:根据所述学生未选课程对向量、学生已选课程对向量、学生与学生之间的相似度以及课程与课程之间的相似度计算学生未选课程和学生已选课程之间的相似度:

{u1,a1}表示学生u1和其未选课程a1所组成的学生未选课程对;

{u2,a2}表示学生u2和其已选课程a2所组成的学生已选课程对;

PA

PW

||PA

SS

SC

σ为预先设定的宽度参数;

M5,用于:学生和课程特征之间的偏好分析和课程与课程特征隶属分析,包括如下模块:

M51,用于:初始化学生和课程特征的偏好矩阵P={p

其中,P为N×K的偏好矩阵;

K为课程特征数,为预先设定的值;

p

p

c为预先设定参数;

M52,用于:根据所述学生未选课程和学生已选课程之间的相似度和学生和课程的偏好矩阵P计算课程与课程特征之间的隶属度矩阵Q={q

q

其中,

p

q

q

b

λ

E为单位矩阵;

Ω表示学生已选课程对向量的全集;

M53,用于:根据所述学生历史选课矩阵B和所述隶属度矩阵Q修正所述偏好矩阵P:P=B×Q

M54,用于:计算损失值

其中,λ

M55,用于:重复执行模块M52、M53、M54直到损失值

M6,用于:计算推荐值矩阵Z=P·Q

z

z

进一步,根据本发明的选修课程推荐的方法,所述模块M6还包括:

M611,用于:对推荐值矩阵Z中的元素进行二值化处理,若z

M612,用于:计算矩阵H=Y-B,矩阵H为最终课程推荐矩阵。

进一步,根据本发明的选修课程推荐的方法,所述模块M6还包括:

M621,用于:按照z

C

M622,用于:从排序结果C

本发明的技术效果如下:本发明提通过挖掘学生-课程对之间相似度来挖掘在学生与课程之间的潜在关联,从而能够更好的为学生做出个性化推荐,可以有效的解决学生选课的盲目性。

具体实施方式

下面对本发明做进一步详细说明。

本实施例是一种选修课程推荐的方法,包括如下步骤:数据获取步骤、数据初始化步骤、学生课程对相似度计算步骤、课程特征引入分析步骤、个性化推荐输出步骤。下面对上述几个步骤做更为详细的描述。

数据获取步骤,也就是,前述的步骤S1或模块M2,也就是获取学生信息、课程信息和学生历史选课记录。本发明中,学生信息和课程信息分成离散属性信息和连续属性信息。也就是,学生信息包括学生离散属性信息、学生连续属性信息;课程信息包括课程离散属性信息、课程连续属性信息。。学生离散属性信息包括但不限于比如:性别信息、班级信息、专业信息、所属院系信息、图书借阅离散信息等信息。学生连续属性信息包括但不限于比如:年龄信息、学生绩点信息、图书借阅连续信息等信息。课程离散属性信息包括但不限于比如:课程名称、开课院系、教师名称、教师所述院系等信息。课程连续属性信息包括但不限于比如:开课次数、选修人数等信息。历史选课记录,在本实施例中,是一张学生历史选课列表。学生信息、课程信息和学生历史选课记录来自于学校的数据库。

数据初始化步骤,也就是前述步骤S2或模块M2,也就是,该步骤初始化学生课程对和学生历史选课矩阵。

初始化学生课程对,也就是,根据学生连续属性信息和课程连续属性信息构建学生未选课程对向量PA

初始化学生历史选课矩阵,也就是,根据学生历史选课列表构建学生历史选课矩阵B。其中,学生历史选课矩阵B是一个N×A的历史选课矩阵,N表示学生数,A为课程数。学生历史选课矩阵B还可以表示为:B={b

学生课程对相似度计算步骤,该步骤计算的是,学生未选课程对向量集合中的学生未选课程对向量与学生已选课程对向量集合中学生已选课程对向量的相似度。该步骤分成两个步骤计算:也就是前述的步骤S3和步骤S4,或者模块M3和模块M4。

步骤S3和模块M3中,根据学生离散属性信息计算学生与学生之间的相似度,并根据课程离散属性信息计算课程和课程之间的相似度。这里的学生与学生之间的相似度是学生离散属性相似度,课程和课程之间的相似度是课程离散属性相似度。

学生离散属性相似度表示为SS

DS

CSD表示学生离散属性信息的个数。

课程离散属性相似度表示为SC

DC

CCD表示课程离散属性信息的个数。

步骤S4和模块M4中,计算学生未选课程对向量和学生已选课程对向量之间的相似度,该相似度简称为学生选课相似度,表示为:SP

PA

PW

||PA

SS

SC

σ为预先设定的宽度参数。

上述学生选课相似度SP

课程特征引入分析步骤,也就是,前述步骤S5或者模块M5,用于学生和课程特征之间的偏好分析和课程与课程特征隶属分析,输出两个矩阵:学生和课程特征的偏好矩阵以及课程和课程特征的隶属度矩阵。该步骤通过以下步骤实现:

步骤S51,初始化学生和课程特征的偏好矩阵;

步骤S52,根据学生选课相似度计算和学生和课程特征的偏好矩阵,计算出课程和课程特征的隶属度矩阵;

步骤S53,根据课程和课程特征的隶属度矩阵再结合学生历史选课矩阵修正学生和课程特征的偏好矩阵;

步骤S54,计算损失值;

重复步骤S52、步骤S53、步骤S54直到损失值小于预先设定的阈值。

学生和课程特征的偏好矩阵,简称偏好矩阵,是一个N×K的矩阵;其中,N为前述的学生数,K为课程特征数,课程特征数K为预先设定的值。偏好矩阵可以表示为P={p

课程和课程特征的隶属度矩阵,简称隶属度矩阵,是一个A×K的矩阵;其中,A为前述的课程数,K为前述的课程特征数。隶属度矩阵可以表示为Q={q

步骤S52中,隶属度矩阵Q={q

q

q

P为前述的偏好矩阵;P

λ

E为K×K单位矩阵;

(PP

p

SP

步骤S53中,偏好矩阵采用如下公式进行修正:

P=B×Q

P为前述的偏好矩阵;

B为前述的学生历史选课矩阵;

Q为前述的隶属度矩阵,Q

步骤S54中,损失值采用如下公式计算:

其中,

通过上述步骤S5的计算处理,得到偏好矩阵P,隶属度矩阵Q。个性化推荐输出步骤,也就是前述步骤S6或模块M6,以步骤S5输出的偏好矩阵P,隶属度矩阵Q作为输入。个性化推荐输出步骤中,首先,根据偏好矩阵P,隶属度矩阵Q计算出推荐值矩阵Z=P·Q

Z={z

其中,z

依据学生的课程推荐值向量确定该学生的推荐课程的方法有很多种。第一种是实施方式是根据学生的各个课程的课程推荐值对课程进行排序,然后从排序结果中剔除历史已选课程后的topN个课程,也就是前述步骤S621和步骤S622,即

S621:按照z

S622:从排序结果C

第二种实施方式,直接对推荐值矩阵Z进行操作,步骤如下:

S611:对推荐值矩阵Z中的元素进行二值化处理,若z

S612:计算矩阵H=Y-B,矩阵H为最终课程推荐矩阵;其中,B为前述的学生历史选课矩阵B。矩阵H是一个N×A的矩阵,可以表示为H={h

相关技术
  • 一种选修课程推荐的方法和装置
  • 基于人像识别的选修课程推荐方法、存储介质及电子设备
技术分类

06120112567276