基于推荐模型的高校第二课堂研学平台研究与实现

作者: 洪磊 陈祉天 李知衡 高光亮

基于推荐模型的高校第二课堂研学平台研究与实现0

摘要:国家正在大力建设高质量教育体系,高校的第二课堂是其中必不可缺的一环。针对第二课堂中学生缺少明确学习方向和学习效果不佳的问题,研发了基于推荐模型的研学平台。该平台基于习题文本匹配的序列化推荐实现题目和知识点的智能推荐,并利用微信小程序前端技术栈实现信息发布、题单推荐和课堂助手等多个模块功能。实践表明,该系统有效提高了学生第二课堂的学习效率,具有一定的推广价值。

关键词:第二课堂;推荐模型;微信小程序;研学平台

中图分类号:TP311 文献标识码:A

文章编号:1009-3044(2024)31-0046-05

开放科学(资源服务)标识码(OSID) :

0 引言

建设教育强国的关键在于高校。高校是培养国家人才的主阵地,肩负着培育新时代大学生创新创业能力的重要使命[1]。第二课堂是第一课堂的延续和补充,是学生自愿利用课余时间参加的实践性、广泛性和丰富性的教育活动,有助于提升学生的素质、能力和专业技能。同时,第二课堂也是创新创业的新平台与重要载体,学生通过第二课堂可以充分激发自主创新创业的动力,并在实践中培养全方位的能力,逐步成长为国家所需的高质量人才[2]。然而,在第二课堂实践中,缺乏课堂教学中教师的持续关注和指导,导致学生缺乏学习方向。尤其在以自主练习为主的第二课堂中,学生在选择练习题目时面临困难,从而降低了学习效果,影响了学习积极性。本文针对第二课堂中的痛点,以计算机科学与技术专业的第二课堂为例,利用智能题单推荐模型提升学生的习题选择有效性,并通过微信小程序平台增加系统的使用便利性,从而增强学生在第二课堂的学习效果。

1 智能题单推荐模型

为提升习题推荐的准确率,本系统使用基于习题文本匹配的序列化推荐(Exercises TextMatching Improves Sequential Recommendation,以下简称ETASTE) 模型,根据学生历史刷题记录推荐智能化题单[3]。本文采用的ETASTE模型以“题号-知识点”的模版表示题目,并以学生所做题目进行学生画像,通过文本匹配题目信息,对学生和题目之间的依赖性与相关性进行建模。系统将模型与基础题目数据集中的题目信息进行比较,做出习题推荐。该功能有效把握学生练习需求,着重推荐包含学生近期接触知识点和学生尚未掌握知识点的同类习题,为学生提供个性化与针对性的推荐,帮助学生在第二课堂学习中有目的性地查缺补漏。ETASTE推荐模型框架如图1所示。

1.1 基于T5与文本向量表征的历史文本匹配

为获得更精准的题单推荐效果,对学生长期做题行为的建模非常重要。因此,对于学生练习的历史题目,本文引入ETASTE模型中的预训练语言模型T5编码历史题目文本和题库文本,并通过匹配文本向量表征来建立相关性,根据学生所做题目,提取学生需求的知识点,缓解了基于题目题号表示的推荐模型的流行偏差问题[4]。

给定做题历史H = { v1 ,v2,...,vt - 1 },序列化推荐的任务是为学生推荐题目vt 以满足t 时刻的需求。预训练语言模型T5编码做题历史H 和题目v,并匹配各自的文本向量表征以计算学生和题目之间的相关性[5]。

对于每道题目v,模型通过题号与其对应的k 个题目知识点< Attr >以公式(1)的模版形式将题目数据文本化。公式(1)如下。

X (v) = id:v (id)...< Attr > k:v (< Attr > k ) (1)

其中,< Attr > k 是第k 个知识点所对应的名称,v (id)和v (< Attr > i )分别是题目v的题号及第i个知识点的文本描述。v (id)被视作一种ID提示,帮助模型记录超过题目描述范围的学生与题目的匹配信号。

本文使用模板对学生做题历史进行文本化描述:“以下是学生做题历史:X (H),将其作为依据推荐题目”。该模版可以帮助预训练语言模型更好地建模学生 做 题 行 为 。 X (H) 是 文 本 化 的 题 目 序 列{ v1 ,v2,...,vt - 1 }的结果。公式(2)如下。

X (H) = X (v ) t - 1 ; ...; X (v1) (2)

本文使用T5分别对学生做题历史H 和题目v 进行编码,并使用从T5解码出的第一个分词输入的表征作为二者的向量表征hH和hv。公式(3)如下。

hH = T5(X (H )) ; hv = T5(X (v)) (3)

同时,基于编码向量表示hH 和hv 计算学生做题历史H 和题目v 的相关性,用排序概率表示,“·”表示向量内积。公式(4)如下。

P(v∣H) = Softmaxv (h ) H ⋅ hv (4)

1.2 结合注意力稀疏化的推荐优化

在第二课堂学习过程中,学生刷题规律且长期,数量庞大,通过T5模型对学生做题历史与题目的相关性进行建模后,本文对学生的长期做题历史进行编码。本文利用ETASTE模型中的注意力稀疏化编码方法,打破语言模型的最大长度边界限制,编码学生做题行为的长文本表示,将学生做题历史划分为不同的子序列,独立编码每个子序列的文本表示。从而根据学生做题历史来建模做题行为,智能推荐与文本相关且多样化的题目以满足学生的练习需求[6]。

本文将学生做题历史文本X (H)划分为n个子序列文本x (H) = { x (H1),x (H2),...,x (H ) n },子序列反映学生在特定时间内的做题偏好情况,并对子序列中学生所做的题目进行表示。使用T5编码器对学生做题历史子序列进行独立编码。公式(5)如下。

h EncodeH = T5 - Encoder(X (H)i ) (5)

最后,再通过将稀疏编码得到的学生做题序列表征后,将其反馈到解码器模块,获得学生做题历史的最终向量表示,并通过学生做题历史中所有题目的文本化结果建模学生做题行为,表征学生与题目的相关性。公式(6)如下。

hH = T5 - Decoder(h ) Encode,h0Dncode (6)

2 系统概要设计

本文设计的第二课堂研学平台由表示层、服务层与数据层组成。表示层是用户进行数据交互的页面,可以管理后台Web端与微信小程序移动端,实现数据管理与交互。服务层完成操作功能,本文从学生在第二课堂中的学习需求与教师在第二课堂的管理需求出发,可分别实现竞赛报名、题单推荐、学生管理与公告管理等功能。数据层是借助基础数据库与微信云开发数据库实现的数据持久层,为系统提供数据存储服务。系统架构如图2所示。

针对目前高校在第二课堂开展中存在的问题,第二课堂研学平台设计了以下功能,如图3所示,整个系统分为3个主要功能与13个子功能。

1)信息发布模块。教师根据第二课堂教学需求,在管理后台Web端中发布课堂公告,学生在主页即可接收课堂公告。在学生参加周赛、月赛和学科竞赛后,教师可根据学生比赛成绩,发布内部排名,促进学生内部良性竞争,提升学习效率。同时,教师会发布竞赛信息、教师信息与实验室信息,帮助学生及时了解学科竞赛、指导老师与实验室情况等信息,从而加强学生与教师之间的联系,缓解高校第二课堂教学中师生交流不足的问题。

2)练习中心模块。计算机专业的学科竞赛主要分为两类,实践赛与作品赛。学生的备赛离不开大量练习。针对实践类比赛,本文根据各大编程练习网站的题目,构建了基础题目数据集。学生可通过微信小程序进行编程练习与错题回顾。但是学生在传统编程题库网站上练习时,往往缺少个性化和针对性训练,本文利用ETASTE模型为学生智能生成推荐题单,帮助学生跟进练习,查缺补漏。针对作品类比赛,资源库模块会发布优秀作品用于展示,并提供下载渠道,供学生学习。

3)课堂助手模块。第二课堂采用非强制性的弹性管理制度,在考勤管理方面存在困难。因此,本系统开发了课堂签到功能,教师可设置签到地点,学生在签到时发送即时定位,利用微信小程序完成考勤任务。同时,本系统实现了讨论广场功能,给学生提供一个交流的平台。除此以外,本系统设置了事项助手模块,学生可在日历上标注学习计划,以“截止日”的方式提醒自己及时完成任务,从而提升学习效率。本系统还通过配置GPT-4的API Key与代理,让学生可以在微信小程序中利用人工智能答疑解惑。为加强比赛材料管理,本系统构建了文档管理模块,学生可以通过该模块提交比赛材料,避免了学生提交材料混乱的情况。

3 系统详细设计

3.1 UI 设计

本文基于微信小程序的WXML、WXSS与JavaS⁃cript三种前端语言开发微信小程序UI界面[7]。其中,WXML是一种类似HTML的标记语言,用于描述小程序的结构化页面布局;JavaScript负责实现页面的交互逻辑和动态效果;WXSS则用于定义小程序的样式,包括颜色、字体、布局等方面。本文主要设计的界面分为三大类,即信息发布模块、练习中心模块和课堂助手模块界面。

3.1.1 信息发布模块界面设计

信息发布模块分为五项子模块,即课堂公告、学生成绩公示、教师信息、课堂信息与实验室信息模块。在课堂公告模块,主页通过swiper与swiper-item组件完成轮播图效果,在主页循环播放图片,并通过view 组件展示课堂公告,学生可以点赞课堂公告;在学生成绩公示模块,本系统采用了Vant组件库中的prog⁃ress组件,直观地显示学生竞赛的排名与趋势;在教师、课堂和实验室信息查看模块,本系统采用grid组件排布数据信息,展现云数据库中的相关数据。

3.1.2 练习中心模块页面设计

练习中心模块分为三项子模块:错题集、题单推荐与资源库模块。在错题集模块中,本系统通过Vant 组件库中的sidebar组件将所做错题的知识点分类,学生可分专题分类别进行练习,进入做题页面后,系统采用单元测试的方法,将学生的答案上传至服务器,通过Docker为服务器创建隔离的运行环境,进行评测,并将结果返还于小程序中[8]。在题单推荐模块,本系统列出推荐的智能化题单,并设置了一键收藏按钮,以便后续的进一步练习。在资源库模块,本系统提供了优秀作品的简略图与设计思路,并附上文档下载的链接与提取码,供学生下载学习。

3.1.3 课堂助手模块页面设计

在课堂助手模块,本文将其分为五项子功能,分别为课堂签到、讨论广场、事项助手、AI助手与文档管理模块。在课堂签到模块,本系统利用腾讯地图API 获取学生的地理位置信息,并通过getDistance函数计算学生所在位置与课堂签到地点的经纬度差值,判断签到位置是否在规定范围内。在讨论广场模块,本系统通过Cell组件为学生搭建交流平台。在事项助手模块,本系统实现了待办事项列表、添加新的待办事项、编辑和删除已有的待办事项等功能。学生可通过日期选择器选择不同的日期,查看不同日期的待办事项列表,并通过红色、绿色和黄色进行事项分级,帮助规划学习时间,提升学习效率。在AI助手模块,本系统通过配置API Key与代理,并在微信小程序中通过request函数调用API接口,向服务器发送POST请求,将人工智能回答结果返还于平台[9]。在文档管理页面,学生可以下载教师发布的相关文档,并且可以在对应窗口提交文档。

3.2 数据库设计

本系统根据需求分析设计了7个云端数据表与6 个本地数据表:学生信息管理表、教师信息管理表、竞赛信息数据表、课堂信息数据表、学生成绩数据表、题库数据表、讨论广场数据表和本地学生信息管理表、本地教师信息管理表、本地竞赛信息数据表、本地课堂信息数据表、本地学生成绩数据表、本地题库数据表[10],形成数据体系,构建数据库。以云端数据库为例,数据库E-R图如图4所示,部分数据表对应的数据表结构如表1到表5所示。

上一篇 点击页面呼出菜单 下一篇