高校选课系统的课程推荐机制研究
2018-11-14华北电力大学经济管理系
华北电力大学经济管理系 张 欢 邹 冲
在越来越多高校采用学分制管理模式的今天,选课系统是一个高校教务系统中不可或缺的部分。但是,目前绝大多数的选课系统对课程只是进行课程及课程简介的简单展示,未对课程特征进行深入的描述,更缺乏针对学生属性的不同进行推荐(包括对学生推荐课程及对课程推荐学生,以下简称课程推荐)。黄海东(2009)提出按照先来后到的方式进行选课。李中英(2006)提出根据概率随机分配学生的课程选择。赵建平(2006)和张戈(2010)都分别对按照概率分配选课结果的方案进行了改进,提出了动态概率的抽签选课方式。刘敦涛(2006)和杨春蓉(2007)提出了按名额比例分配算法和分志愿筛选算法。
不管是先来后到还是随机分配都没有根据课程和学生的特征来进行课程的推荐和筛选,不利于课程与最适宜的学生的匹配。因此,本研究提出根据课程特征参数将课程及学生的需求描述为多维向量,根据两者的余弦相似度大小为学生推荐选修课程及为学生推荐课程(如图1★所示)。学生评教已经成为国内外高校收集信息资料、实现质量监控、加强教学管理、促进教学工作的重要手段。
图1 选课系统课程推荐与反馈流程图
一、课程特征描述
(一)课程特征参数的设置
在参考了Ivana Ognjanovic以及Trang Phan对学生选课动机的分析后,本文选定了“课程课时数”、“课程作业量”、“实践教学占比”、“考试成绩均值”、“课程接纳人数”、“课堂气氛活跃程度”、“教师授课通俗程度”、“考勤考核严格程度”共8个课程描述参数。
(二)课程特征参数的描述
每门课程都可以看作是由以上8个课程描述参数(取值范围为大于等于0且小于等于9的实数)作为8个分量组成的8维向量,为方便起见,统一按照“课程课时数、课程作业量、实践教学占比、考试成绩均值、课程接纳人数、课堂气氛活跃程度、教师授课通俗程度、考勤考核严格程度”的次序分别设置8个分量,因此每个课程表示为一个8维向量,称为课程描述向量,用C表示。
对于学生而言,在选择课程的时候,也需要从课程列表中的大量课程进行筛选,选出最合适自己的课程。这8个参数在这里是针对学生这一角色而言的,是描述学生对课程的需求,称为学生需求参数。用S表示。
在同一套计算体系中,课程描述向量和学生需求向量的对应分量必须设置为同一个课程描述参数,否则后续的计算算法和计算结果将会变得无意义。
二、课程推荐机制
首先给出余弦相似度及加权余弦相似度的概念,然后基于加权余弦相似度分析基于相似度的课程推荐机制。
(一)余弦相似度
计算课程和学生之间的相似度,余弦相似度方法(Cosine Similarity)。余弦相似度用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小。余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似。
余弦相似度计算公式为:
(二)加权余弦相似度
在实际应用中,对于不同的学生来说,8个参数所占的贡献值极有可能是不一致的。为解决这种各参数贡献值不均匀的问题,需要引入权重的概念。某一个指标的权重是指该指标在整体评价中的相对重要程度。对于一个学生需求向量S、待比较的课程描述向量C及其权重向量W:
更能反映学生需求和课程描述的匹配程度的加权相似度需要按以下算法计算得出:
(三)课程推荐机制
教务系统中的所有共m门可选课程C1,C2,…,Cm组成了一个课程集合C={C1,C2,…,Cm},教务系统中的所有共n名在册学生S1,S2,…,Sn组成了一个学生集合S={S1,S2,…,Sn}。当课程集合中的所有课程都确定了课程描述参数、学生集合中的所有学生确定了学生需求参数时,每一门课程就可以用一个课程描述向量来表示,每一名学生也可以用一个学生需求向量来表示。对于S中的学生S1,遍历一次整个课程集合C,以该学生对应的学生需求向量对每一个课程描述向量进行一次相似度的计算,按照这个操作,遍历一次整个学生集合,让每一个学生Si(1<i<n)对应的学生需求向量对每一个课程描述向量都进行一次相似度的计算,最终将会得到m×n条记录。
这样的每一组就是同一名学生对于所有课程的匹配程度。在每一组内按相似度降序对所有记录进行排序,序数值越小的记录中的课程,就和该学生的需求越一致,可以在学生选课阶段时向学生推荐,提高了学生选课的效率,也能够让学生选择到更适合自己的课程。当选择某门课程的学生数大于该门课程所能容纳的学生数时,就要由选课系统按照相似度降序进行学生的推荐。使用课程选择算法来进行课程推荐,是一种提高效率的有效手段。
三、实例计算
现有两名学生甲、乙。学生甲平常课程较多,希望选修的课程课时数较少,有时候还会因为特殊情况选择旷课,他更倾向于理论型的学习,还希望能够在大教室中和较多同学一起上课,因此他的学生描述向量S甲=(3,6,3,6,8,7,7,2);学生乙平常课程较少,能够有较多的时间上选修课和完成课程作业,他希望课程中有更多的实践机会而不是仅仅在课堂中听课,因此它的学生描述向量S乙=(8,6,8,7,5,7,7,9)。
现有《科技信息检索》、《大学语文》、《大学英语6》三门选修课程待选,其课程描述参数分别为C科技信息检索=(3,8,4,7,6,7,6,5)、C大学语文=(8,7,7,6,4,7,7,8)、C大学英语6=(5,7,5,7,6,7,8,9)。按照公式(5)在两名学生和三门课程之间两两进行相似度的计算,共得到6个相似度,如表1所示。
表1 两名学生与三门课程的相似度
由表1可以看出,算法能够得出《科技信息检索》是最适合学生甲的课程,《大学语文》是最适合学生乙的课程。因此,将会表向学生甲、学生乙分别推荐《科技信息检索》和《大学语文》选修课。