APP下载

面向个性化学习的MOOC资源库系统开发

2022-03-21彭琰孔令圆郑汀华马华

计算机时代 2022年3期
关键词:系统开发个性化学习资源库

彭琰 孔令圆 郑汀华 马华

摘  要: 近年来基于MOOC的在线学习方式开始大规模普及,但是,海量的MOOC资源纷繁复杂,各大MOOC学习平台之间的课程数据也并未实现整合共享,从而使学习者在挑选合适的学习资源时面临极大困难。因此,设计并实现了一个面向个性化学习的MOOC资源库系统。文章介绍了该系统的整体结构、课程数据分类与建模方法、课程资源与知识点的映射方法、资源爬虫的设计和系统集成情况。该系统具有良好的实用性和可扩展性,可为个性化学习的MOOC推荐平台提供关键的基础数据及相关资源。

关键词: 个性化学习; 数据爬取; MOOC; 资源库; 系统开发

中图分类号:G642          文献标识码:A          文章编号:1006-8228(2022)03-73-04

Abstract: In recent years, MOOC online learning has been popularized on a large scale. However, the online MOOC resources are numerous and complicated, and the course data among the major online MOOC learning platforms has not been integrated and shared, so that the learners face great difficulties in selecting suitable learning resources. Aiming at this issue, a MOOC resource library system for personalized learning was designed and implemented. The overall structure of the system, curriculum data classification and modeling methods, curriculum resources and knowledge points mapping methods, resource crawler design and system integration effects are introduced in this paper. The system has good practicability and scalability, and can provide key basic data and related resources for the MOOC personalized learning recommendation platform.

Key words: personalized learning; data crawling; MOOC; resource library; system development

0 引言

近年来,在新冠肺炎疫情背景下,在线教育教学[1]得到快速发展。iMedia Research(艾媒咨询)研究显示,未来在线教育市场规模将保持逐年增长态势,2019年市场规模已突破4000亿元,受疫情影响,预计2025年中国在线教育市场规模将达到8000亿元,2020到2025年的复合增长率将达11.4%。同时在线教育也为学习者提供了一种多元化的学习模式,它具有时间和地点灵活、可重复学习等优点,然而各大在线MOOC学习平台课程数据纷繁复杂,网站之间的课程数据也未实现整合共享,课程知识点关联性不强。

针对此现状,我们爬取各大在线学习平台中的海量课程数据,在建立课程资源与知识点的映射关系的基础上,开发了一个拥有丰富知识元结构[2]的MOOC共享资源库,以为个性化学习平台[3]提供关键的基础数据和相关资源。

1 MOOC资源库建设思路

现今,国内外已有大量在线教育平台,例如,学堂在线、中国大学MOOC、Educoder、Coursera、EDX、Udemy等。非专业教育学习平台上也有许多高效的学习资源,例如,bilibili、贴吧。面对互联网上纷繁复杂的课程信息、视频信息、实训内容等海量开放资源,我们采用自行设计的爬虫进行数据爬取并运用SQL语句对爬取得到的数据进行处理加工,通过去重以减少数据冗余,将处理过后的数据集存入本地数据库,再经过知识点关联和课程建模之后上传至云端服务器,以提供给学习推荐系统使用。

MOOC在线教育平台经过近些年来的快速发展,在课程种类、课程数量和质量等方面都有了显著提升。国内的中国大学MOOC、学堂在线等已成为了在线课堂学习的主流网站,它们可供學习的课程较为全面,课程视频受到广大学习者的喜爱。这些网站提供了丰富的MOOC数据来源,基于它们进行课程知识点的挂接已具备可行性,通过挂接知识点,可极大地减少后续课程建模以及MOOC资源的知识点关联工作量,从而为面向个性化学习的MOOC推荐系统提供可扩展、易维护的基础资源库支持。

本系统拟使用Python开发数据爬虫。考虑到MOOC资源库所需的课程数据种类繁多,所需爬取的网站各有不同,无法直接采用Scrapy框架[4],因此自行设计爬虫结构,采用Python HTTP+request对不同网站的课程数据进行爬取,使用标签数据分析库XML以及Beautifulsoup作用域分析爬取下来的标签类型数据,提取所需数据并对获得的数据经SQL语句处理后存入本地MySQL数据库中。

2 MOOC资源库系统设计

2.1 整体架结构

程序分成三个部分,第一部分为数据的爬取;第二部分包括课程数据的分类处理、课程建模和知识点关联;第三部分为提供相应数据接口,为个性化学习平台提供数据支持。爬取到的数据经过初步的去重处理后使用SQL存入数据库,在第二阶段应用相应的pymysql库从数据库提取数据进行分析处理。

爬虫程序的主体使用了Python HTTP+request库。爬取的数据均由BeautifulSoup库对标签类型的数据进行分析,采用自行设定的标签库进行分类及查找。得到标签库返回数据之后,使用Python正则表达re模块以及Word2vec语义切词技术[5],对所需的课程信息进行处理,最后使用相应的SQL语句对得到的课程数据进行去重后存入本地数据库。程序爬虫大致流程如图1所示。

2.2 课程数据分类与建模

建立了12个Word2vec词向量模型,分别对应12个课程大类,同时为12个课程大类分别划分其中的具体标签。每个课程大类中的标题和课程简介部分,被单独提取为一个文本文件作为初始语料,对爬取的课程简介使用jieba库进行切词,使用TF-IDF算法[6]计算得到计算机类语料的关键词,然后对所得到的数据进行训练,得到词向量模型,此过程重复多次。然后针对课程详细信息表中的每一门课程,根据其标题与课程简介中含有标簽或其相似词的情况,获得课程与标签的相关度,进而构建课程标签表。课程数据标签、类别划分及部分课程数据如图2、图3和图4所示。

2.3 课程资源与知识点的映射关联

本资源库针对各类不同课程,如Java、Python等,构建了全局知识点框架,对所爬取的各类学习资源进行知识点关联映射,进而构建了一个内容丰富、逻辑清晰的学习资源库。以Java课程为例,以思维导图方式呈现的Java知识点框架部分内容如图5所示。

我们将其关联的MOOC学习资源(例如,课件资源、教学视频资源、试题资源)与上述划分的一级知识点、二级知识点进行关联,进行隶属MOOC资源的匹配、难度级别的匹配,同时以合理的方式进行编号与重命名,以为后续平台后端接口的调用提供支持。最终完成的学习资源库的数据库存储格式、文件编排样式如图6~图8所示。

2.4 资源爬虫的设计

针对课程资源的选取范围应广泛但不重复,多样但不冗余,同时非专业教育学习网站上的优秀课程资源也是我们数据选取的方向,并且,针对不同课程的要求,需要个性化定制爬取资源,对于需要视频、课件以及章节试题的课程将提供相应的数据资源。同时对于与课程类别相关的知识资源,进行选择性爬取,选取各大MOOC网站热度高的相关知识资源。程序目前支持的MOOC网站信息如图8所示。

程序部分实现代码示例如下:

def main(url):

"""解析命令行参数并调用相关模块进行下载"""

if re.match(r'https?://www.icourse163.org/(spoc/)?

(course|learn)/', url):

from moocs import icourse163 as mooc

elif re.match(r'https?://www.xuetangx.com/courses/

.+/about', url):

from moocs import xuetangx as mooc

elif re.match(r'https?://mooc.study.163.com/

(course|learn)/', url):

from moocs import study_mooc as mooc

elif re.match(r'https?://www.icourses.cn/web/sword/portal/

videoDetail', url):

from moocs import icourses as mooc

elif re.match(r'https?://www.livedu.com.cn/ispace4.0/

moocxjkc/toKcView.do\?kcid=', url):

from moocs import livedu as mooc

else:

print('课程地址有误!')

sys.exit(1)

3 MOOC资源库系统实现

本系统现已被集成到真实的个性化MOOC推荐系统(115.159.54.233:8080/moocrec),并部署于腾讯云服务器。系统实现效果图如图9所示。集成后的推荐效果如图10和图11所示。

4 结束语

本文开发的面向个性化学习的MOOC资源库系统,是以自行设计的爬虫结构为基础,使用了Python HTTP+request和Word2vec语义切词技术,通过从各大MOOC网站上获取课程数据,进行课程数据去重、分类及课程数据知识点的挂接,为面向个性化学习的MOOC推荐平台提供关键的基础数据和资源来源。该系统充分挖掘了课程数据间的相关性并进行了标签化处理,使各课程的数据资源能更好更快捷的为个性化推荐平台所使用,系统具有良好的实用性和可扩展性。未来研究中,我们将逐步扩展课程数据源的广度及深度,为学习者精选更优质和多样的学习资源。

参考文献(References):

[1] 管佳,李奇涛.中国在线教育发展现状、趋势及经验借鉴[J].中国电化教育,2014(8):62-66

[2] 武建光,苏云梅,于琦,等.基于知识元的学术文献分类研究[J].情报理论与实践,2019,42(3):160-165

[3] 孔令圆,彭琰,郑汀华,马华.面向个性化学习的慕课资源推荐系统开发[J].计算机时代,2021(7):46-49

[4] 韩贝,马明栋,王得玉.基于Scrapy框架的爬虫和反爬虫研究[J].计算机技术与发展,2019,29(2):139-142

[5] 李晓,解辉,李立杰.基于Word2vec的句子语义相似度计算研究[J].计算机科学,2017,44(9):256-260

[6] 路健,范增民,刘彩娜.基于TF-IDF算法的供应链信息定向挖掘模型[J].计算机仿真,2021,38(7):153-156,349

3125501908202

猜你喜欢

系统开发个性化学习资源库
健身气功开放课程资源库建设研究
贵州●石斛种质资源库
教学资源支持下的Sakai个性化学习研究
基于网络数据分析的计算机网络系统开发
信息化环境下基于“盒子鱼”App的高中英语个性化学习的模式和策略
微视频在初中英语听力教学中的应用探索
高中历史信息化教育资源库应用探索
基于SOA的在线学习资源集成模式的研究
发射机房运行监控系统关键技术的解决方案
基于开源系统的综合业务数据采集系统的开发研究