面向个性化学习的慕课资源推荐系统开发

来源:期刊VIP网所属分类:教育学发布时间:2021-08-09浏览:

  摘 要: 近年来,在线学习得到了大规模普及,互联网上已发布了海量的慕课学习资源。针对广大学习者进行在线慕课学习时面临的“信息迷航”和“信息过载”等问题,以混合推荐算法为基础,通过多角度挖掘用户的个性化信息,设计并实现了一个面向个性化学习的慕课资源推荐系统,以此为广大学习者提供自主学习的辅助支持。该系统能充分挖掘学习者的显式和隐式偏好,为其推荐满意的慕课资源,具有良好的应用价值。

  关键词: 慕课; 学习资源; 混合推荐; 个性化学习

教育论文发表

  0 引言

  近年来,国家的一系列指导性文件[1-2]明确指出了以“学习者”为中心、个性化培养的重要性,有力地推动了我国在线教育的发展。目前,主流在线教育平台已在互联网上发布了海量的慕课学习资源,在线学习者人数增长迅速。而2020年初暴发的新冠疫情进一步推动了在线学习的大规模普及。

  面对海量的慕课学习资源,广大学习者在慕课学习时面临着“信息迷航”和“信息过载”[3-4]等问题,学生很难充分了解并快速挑选出最适合自己的学习资源。由此,实现学生需求与学习资源的匹配,从而提高学生进行在线慕课学习时的学习效率和在线教育平台中慕课学习资源的利用率,具有重要的现实意义。

  针对当前主流在线教育网站缺乏慕课资源推荐功能的不足,本文在传统混合推荐算法的基础上,多角度挖掘用户的个性化信息,设计并开发了一个面向个性化学习的慕课资源推荐系统,以此为广大学习者提供高效的自主学习的辅助支持。

  1 混合推荐算法原理

  基于内容的推荐算法通过抽取物品的内容信息来描述物品并形成物品的特征模型[5],培训尝试向用户推荐与其过去所喜好物品在内容上相似的其他物品。协同过滤算法基于兴趣相投的假设,借助于用户群体的行为模式分析,以方式进行项目过滤。该推荐算法主要是对用户群体的行为数据进行分析,寻找邻近用户或邻近物品进而生成推荐[6],如公式⑴常用于基于用户的协同过滤算法的评分预测任务。将以上两种类型的推荐算法使用一定的机制相混合,便得到了基于用户反馈和物品内容的混合推荐算法[7]。

  [ru,j=ru+v∈Nsimu,v×(rv,j-rv)|v∈Nsim(u,v)|] ⑴

  其中,[ru,j]表示用戶u对物品j的预测评分;[rv,j]是用户v对物品j的实际评分;[ru]为用户u的平均评分;N是评价过物品j的相似用户群;[simu,v]为用户u和v的相似度。

  2 个性化慕课推荐算法流程

  2.1 基于标签的课程建模

  将经过预处理后的课程标签数据,转换为Python中的字典格式,得到课程模型组。转换得到课程模型组样式如下:

  [courses_models={courseid1:{'label1':1,'label2': 0.8, ...}, courseid2:{...}...}]

  2.2 基于标签的用户建模

  结合用户课程评分数据和课程建模得到的课程模型组,由公式⑵计算用户对标签的评分(即喜爱程度)。

  [Ru,i=Sig(j∈NSimi,j)] ⑵

  其中,Ru,i表示用户u对标签i的评分;Sig表示sigmoid变体函数;N表示用户u已看且与标签i相关的课程集合;Simi,j表示标签i与课程j的相关系数。进而得到用户模型组,其样式如下:

  [users_models = {user1:{'label1':0.8, 'label2': 0.5},]

  [ user2:{...}...}]

  公式⑵针对用户u已看且与标签i相关的所有课程,将这些课程与标签i的相关系数求和,再使用sigmoid变体函数进行归一化处理,得到用户u对标签i的评分。这里没有将用户u对已看课程j的实际评分作为对标签i评分的影响因素,是因为用户对具体某一门课程的评分往往涉及许多除开课程内容之外的其他因素,如教师授课质量,课程计划安排等。相比之下,只考虑用户对某一标签相关课程的访问频次信息,能更准确反映用户对该标签的喜爱或需求程度。sigmoid变体函数如公式⑶所示。

  [Sigx=11 + e-2x+4.8] ⑶

  2.3 基于综合相似度的混合推荐

  首先,计算基于标签的用户模型与课程模型之间的余弦相似度,挑选相似度较高的前N门课程作为初始推荐列表。然后,将前N门课程与用户的相似度作为其初始推荐系数。计算当前用户与其他所有用户的“综合相似度”后,设置合理阈值,得到相似用户组。使用相似用户的课程评分数据,调整当前用户推荐列表中各课程的推荐系数。其中,“综合相似度”由评分反馈相似度、专业相似度、年级相似度和兴趣相似度加权组合而成。

  2.4 结合注册信息的推荐

  对于标题或简介里含有当前用户兴趣关键词的课程,增加一定比例的推荐系数。同时,结合当前用户与课程的层次匹配度调整各门课程的推荐系数。层次匹配度的计算着重参考了全国第四轮学科评估的数据(https://souky.eol.cn/api/newapi/assess_result)和2020年校友会中国大学排名数据(http://report.iresearch.cn/report_pdf.aspx?id=3728.2020 April)。将学科评估为A+类的院校排名设为1,A类院校排名设为2,依此类推。当用户所在专业与课程所属学科一致且用户所在院校与课程开办院校均有对应的学科评估排名时,我们按照学科评估排名的前后位序差距进行等距计算并赋予相应权重,使得两者学科评估排名越相近,则层次匹配度越高。除上述情况外,我们按照院校综合排名的前后位序差距进行等距计算并赋予合理权重,使得两者院校综合排名越相近,则层次匹配度越高。

  2.5 结合浏览痕迹的推荐

  首先,结合搜索痕迹来影响课程的推荐系数。对于标题或简介里含有搜索关键词的课程,增加一定比例的推荐系数。其次,结合停留痕迹信息来影响课程的推荐系数。为与停留页面信息相关的课程即标题或简介中含有停留页面关键词的课程,提供与对应停留时间呈线性相关的推荐系数提升比例。

  3 慕课资源推荐系统的开发

  3.1 基于Hibernate和MVC的总体设计

  3.1.1 基于Hibernate框架的持久化设计

  ⑴ 建立持久化课程类和学生类。课程类包括id、名称、开办院校、授课教师、选课人数、简介、链接等属性;学生类包括id、姓名、密码、性别、所在院校、年级、所在专业、兴趣爱好等属性。

  ⑵ 建立持久化类映射文件(Course.hbm.xml、Student.hbm.xml),将课程类、学生类分别与数据库中的课程详细信息表、学生信息表关联起来。

  ⑶ 建立Hibernate配置文件,配置连接数据库的参数和持久化类映射文件的位置。

  ⑷ 建立Hibernate工具类,封装对会话工厂对象和会话对象的创建和维护。

  ⑸ 在控制器servlet中对数据表进行查询,得到持久化对象列表。

  3.1.2 基于MVC模式的系统框架设计

  ⑴ 模型为课程类、学生类。

  ⑵ 视图包括综合推荐页(select-class.jsp)、课程搜索页(search-class.jsp)、个人中心页(individual.jsp),它们负责向用户呈现JavaBeans中的数据。

  ⑶ 控制器为mainservlet以及它涉及的7个业务处理类。业务处理类包括综合推荐处理类、知识元推荐处理类、推荐列表检索处理类、慕课搜索处理类、登录处理类、注册处理类、个人中心访问处理类。

  3.2 系统组成与主要功能模块

  根据上述设计,我们实现了一个真实的个性化慕课推荐系统(http://115.159.54.233:8080/moocrec/index.jsp),并已將其公开部署于腾讯云服务器。整个系统共包含热门推荐、综合推荐、知识元推荐、慕课搜索、登录、注册和个人中心等七个模块。系统的功能模块结构如图1所示。该系统的首页运行界面及推荐结果界面分别如图2和图3所示。

  七个功能模块的设计和实现特点分别介绍如下。

  3.2.1 热门推荐模块

  将爬取的课程数据划分为十二个大类,分别为计算机、物理与电子、化学与化工、生物医学、历史与文学、数学与统计、经济、管理、教育与心理学、外语、艺术及政法等类别。在首页的热门推荐板块,利用热门课程信息和课程链接为用户提供热门课程入口。

  推荐阅读:民族教育研究发表什么论文

期刊VIP网,您身边的高端学术顾问

文章名称: 面向个性化学习的慕课资源推荐系统开发

文章地址: http://www.qikanvip.com/jiaoyuxue/58901.html