APP下载

基于考核目标的学习推荐算法

2019-02-27姚亦飞于繁华逯启荣

长春师范大学学报 2019年2期
关键词:优先排序个性化

姚亦飞,于繁华,逯启荣

(长春师范大学计算机科学与技术学院,吉林长春 130032)

1 研究背景

信息技术的高速发展推动了新型教育模式的出现,在线学习形式既丰富了学习内容,也拓展了教育的时空范围,同时对学习者的自主学习能力提出了挑战。个性化学习能够根据学习者特征自适应地构建满足需求的学习资源列表,是科学技术与教育教学深度融合的典范,也是教学研究的新趋势[1]。

近年来,推荐系统在深度学习技术进步下取得了突破性的进展,实现了海量多源异构数据的整合,构建了贴合用户偏好的用户模型,提高了用户满意度[2]。个性化学习资源推送和个性化学习路径推荐是推荐系统在教育领域的重要应用,其中,学习者的静态特征和动态行为是个性化学习需求分析的基石[3]。同时,基于兴趣偏好的个性化推荐列表被广泛应用于教育教学、电子商务、信息检索、社交网络等诸多领域[4]。蔡宏果团队针对中小学教师继续教育设计并实现了基于个性化推荐学习的网络教学培训平台,通过捕捉和识别学习行为,利用数据挖掘技术推荐个性化的学习资源[5]。东北师范大学的张琢教授带领学生设计了动态学习者模型,并基于此模型设计了个性化学习途径,提出了个性化推荐方案[6]。华南师范大学的吴正洋博士以建构主义学习理论为基础,综合分析学习者的基本属性、学习风格、学习环境,结合本体论技术和过滤推荐算法,提出了基于社交网络环境的学习推荐系统架构[7]。而谢振平博士基于建构主义学习理论提出了建构推荐模型,通过引入最近邻优先候选知识关联挖掘用户的知识需求,从而给出最具建构学习价值的新知识资源推荐[8]。基于排序学习推荐算法[9]将学习排序融入推荐算法中,通过整合用户特征构建贴合用户偏好需求的模型,以提高推荐算法的性能和用户满意度。基于信任扩展和列表级排序学习的服务推荐方法则采用信任扩展模型来解决用户信任关系的稀疏性问题,基于用户相似度和可信邻居集合构建,通过列表级排序学习方法训练出最优排序模型形成推荐列表[10]。

本文以高校云平台课程教学体系环境为基础,以提高学生课程学习成功率与学习效率为目的,利用知识点关联矩阵和优先级排序提出基于考核目标的学习推荐算法。同时,以具体课程为例阐明学习序列构建过程,并探讨和分析了算法实现所需的关键数据结构和数据可视化等问题。

2 基于考核目标的学习推荐算法

基于考核目标的学习推荐算法分为预备阶段与学习序列生成阶段,预备阶段为序列生成阶段算法的执行提供数据索引和支撑,序列生成阶段基于择定策略动态生成学习序列,并可以根据学习者的偏好设置进行调整,其默认策略以考核目标权重为排序依据。

2.1 预备阶段

基于考核目标的学习推荐算法预备阶段为学习序列生成算法提供数据支撑,既可以采用全人工的方式,由命题教师进行设计与指定,也可以采用从考试系统数据库关系图中直接导出的方式。数据内容如图1所示,包括两个方面:一方面反映考核科目下的章节内容及各章节知识点安排,另一方面涵盖考题题目与知识点的对应关系。

2.2 学习序列生成算法

学习序列生成算法分为四个步骤,依据预备阶段的知识点关联信息递归生成学习序列,并可依据择定策略进行个性化调整。

Step1 构建题目—知识点相关矩阵M,并对题目和知识点的相关度权重进行统计,如表1所示。其中行表示为题目S={s1,s2,…,st},择定策略下的考核题目数量为t;列表示为知识点K={k1,1,…,k1,m1,k2,1,…,k2,m2,…,kn,1,…,kn,mn},第i章共有ki,mi个知识点。

Step2 生成学习序列树:

Step2-1 按照择定学习策略选择树根知识点kroot;

Step3 遍历序列树生成初始学习序列Q′。

Step4 查找题目—知识点相关矩阵M,将未出现在序列Q′中的知识点按照权重排序依次添加至序列Q′尾端,生成最终的学习序列Q。

3)通过收集现场相关故障信息及波纹表明,110kV那曲变#1、#2两台主变并列运行,且#1主变中性点接地运行情况下,故障当时那曲#1主变高压侧基本无3I。故障零序电流流过,那安线上流过的故障零序电流基本与当那线上流过的故障零序电流持平。

学习序列生成算法中Step2-2的学习策略包括频次优先、分值优先、类型题优先等,可由学习者自行定制,默认策略为频次优先,即在考核中出现次数较多的应该被优先考虑。Step2-5的序列树遍历可以采用深度优先或者广度优先,深度优先代表学习者期望优先完成具有较高相关度的知识点群,广度优先代表学习者期望优先完成较为重要的知识点学习。

表1 题目—知识点相关矩阵

3 学习序列生成算法的分析与应用

以“C语言程序设计”课程为例,按照默认学习策略展示学习序列构建过程,分析算法实现涉及的主要数据结构,并探讨其应用与改进。

3.1 “C语言程序设计”考核案例

预备阶段知识点由任课教师根据考题知识点分布和题库信息综合设计而成,如图2所示。

表2 “C语言程序设计”题目—知识点相关矩阵

图2 “C语言程序设计”知识点示意图

算法Step1 构建题目—知识点相关矩阵如表2所示,其中省略了不在考卷中出现的各知识点。行号A1到A10是填空题,B1至B4是读程序写结果题,C1至C3为编程题。列号知识点编号为两位,第一位代表章节编号,第二位代表本章节内的知识点编号。

算法Step2 根据默认的频次优先策略选定知识点26(频次8,表示考卷中有8个题目与之相关)为根节点kroot;生成题目列表{A8,B1,B2,B3,B4,C1,C2,C3},并得到相关知识点集合{(35,62,63,76),(32,35),(31,41),(31,41,43,51),(43,53,55,56)},此处因编程题属于综合能力考查题,其相关知识点较多,故此处未计C1至C3的相关知识点。

图3 “C语言程序设计”知识点序列树构建过程图

算法Step3 按照广度优先遍历得到初始学习序列{26,35,32,43,31,51,62,63,41,56,76,53,55,27,22,81,82,83,33}。

算法Step4 将未出现的知识点按照频次从高到低添加至序列,生成最终学习序列{26,35,32,43,31,51,62,63,41,56,76,53,55,27,22,81,82,83,33,21,46,24,28,11,71,45,23,61}。

图4为采用不同学习策略时生成的学习推荐序列树,图中虚线顺序所示为最终学习序列。图4(a)采用分值优先策略,按照各类型题单题分数进行加权后进行排序;图4(b)采用类型题优先策略,按照填空题优先、读程序写结果次之、编程题最后的顺序对知识点加权后完成排序。

图4 学习推荐序列树举例

3.2 数据结构

学习序列生成算法涉及的主要数据结构如表3所示。其中,图的存储采用二维数组或稀疏矩阵,使用二维数组时查找效率高但存储代价较大,适合于题目和知识点个数较少的情况。树的存储采用链表或索引表,由于中间结点的孩子数不定,且不存在反向查找需求,因此更适合使用单向链表。顺序表可以简单地由一维数组进行存储,每生成一层新的树结点,按照权重排序后填入顺序表,并用指针标识队列的头和尾。

表3 算法涉及的主要数据结构

3.3 应用与改进

基于考核目标的学习推荐算法应用范围广泛,既可以用于单一科目阶段性考试的考前复习与指导,也可用于综合型考试的自我测试,只需要给定题目与知识点的关联图谱,即可按照学习者择定策略给出推荐的学习序列。

在特定情况下,学习者若希望重点复习某个类型题或某几个知识点,可以通过选项设置来个性化地定制自己的学习序列,算法通过更新权值与重新排序构建符合学习者期望的定制序列。同时,学习者可以通过图5可视化界面更加直观地了解自己的学习进度及预期学习内容的完成情况。

图5 可视化界面示例

4 结语

在线课堂的应用与发展促进了精准教学的实现与推广,个性化定制学习使学习者获得了更好的学习体验和学习效果。本文以提高学习者学习成功率为目的,基于考核目标和学习策略设计了学习推荐算法,根据设定的考题与知识点之间的关联信息生成序列树,进而按选定策略的权重排序生成学习序列供学习者使用。该算法能够灵活地根据学习者择定策略进行更新和调整,有助于学习者更好地掌握自身学习状态并提高课程考核成绩。

猜你喜欢

优先排序个性化
排序不等式
坚持个性化的写作
恐怖排序
节日排序
40年,教育优先
新闻的个性化写作
多端传播,何者优先?
上汽大通:C2B个性化定制未来
站在“健康优先”的风口上
满足群众的个性化需求