基于数据挖掘的个性化学习平台研究
2018-03-04宋永生
宋永生
摘要:网络学习目前普遍存在缺乏学习氛围、缺乏有效监督、没有根据学生的特点进行因材施教等问题。利用ASP.NET及SQL Server设计网络学习平台,通过Log4j记录学生与学习平台的交互,通过麦克风摄像头及OBS软件采集教师与学生的音视频,利用深度学习技术挖掘分析音视频中的语言和表情,帮助教师对众多学习者进行察言观色,及时了解学生的情况,调整教学内容和进度,并对学生进行监督。采用机器学习技术挖掘分析学生的基本信息、学习日志、课程评价、错题及成绩等数据,为学生提供个性化的学习服务。
关键词:学习平台;深度学习;挖掘分析;机器学习;个性化
中图分类号:TP31 文献标识码:A 文章编号:1009-3044(2018)36-0198-03
Abstract:At present, there are many problems in online learning, such as lack of learning atmosphere, lack of effective supervision, and lack of teaching students in accordance with their aptitude according to their characteristics. ASP.NET and SQL Server are used to design the network learning platform. Log4j is used to record the interaction between students and learning platform. Microphone cameras and OBS software are used to collect the audio and video of teachers and students. Deep learning technology is used to mine and analyze the language and expression in audio and video. It helps teachers to observe many learners. When understanding the situation of students, adjust the teaching content and progress, and supervise students. Using machine learning technology to mine and analyze students'basic information, learning logs, curriculum evaluation, wrong questions and scores, etc., to provide individual learning services for students.
Key words:Learning platform; Deep learning;Mining and analysis;Machine learning; Individual
目前主流网络学习平台为所有学生提供的是近乎一致的学习资源和课程安排。为了达到理想的学习效果,需要因材施教,根据学生的不同特点,制定不同的教学策略。传统课堂上,教师通过察言观色了解学生对自己所讲内容的掌握情况,学生们时而眉头紧锁,时而呆若木鸡,时而兴奋不已,时而漏出会意的微笑,这些表情特征反应了学生不同的心理特征。教师通过课堂互动提问及学生们的表情,可以及时了解学生对所讲授内容的掌握情况,及时调整教学策略和教学进度。通过考试,教师可以了解学生对所讲授知识点的消化吸收情况。
网络教育提高了知识的传播速度,特别是近年来MOOC和SPOC等网络学习平台的飞速发展,更是加速了教育的发展,让优质教学资源得到了共享。通过网络学习平台,偏远山区的孩子们可以聆听来自城市教学名师的所授课程,在一定程度上弥补了乡村教育资源的不足。网络学习更是让城市中奔波于各个辅导班之间的孩子们在一定程度上得到了解脱,不用再为堵车和雾霾而烦恼。学生可以足不出户,随时随地进行网络学习。
1 网络学习存在的问题
网络学习的教学媒介从最初的文本文件、PPT课件,发展到音频、视频点播及视频直播,形式愈发生动活泼,学生进行网络学习的兴趣也愈发浓厚。网络学习取得了长足的进步,但其缺点也显而易见。网络学习缺乏学习氛围和有效监督,部分学生自制力不够,容易走神,利用电脑上网、聊天甚至打游戏等。教师无法像在传统课堂中那样对学生进行察言观色,及时掌握学生的学习情况。视频点播教学中,教师和学生在教与学在时间和空间上分离,只有通过考试才能获知学生的知识点掌握情况;一对多视频直播教学中,教师专注于教学,无暇顾及大多数学生;在一对一视频直播教学中,教师对学生的情況掌握稍好,但其人力成本较高。网络学习中还存在师资不够透明的问题,不少教育培训机构将普通教师包装成名师,以次充好。
2 数据挖掘
数据挖掘是指从海量数据中提取前所未知、可能有用但隐藏的信息的过程。数据挖掘是基于统计学、机器学习、深度学习、数据库等的交叉学科,涉及很多算法,有着广泛的应用。根据数据挖掘方法来分,可分为机器学习方法、深度学习方法、统计方法和数据库方法等。
学习平台的数据挖掘研究目前主要集中于对日志数据、考试成绩的挖掘研究。学生的学习行为研究较少,主要是由于很多学习平台没有采集相关数据,日志所反应的学习行为过于片面。不少学习平台由于当初设计上的缺陷,连日志数据都没有收集,数据挖掘无从谈起。为了让学生取得更好的学习效果,需要设计一个便于数据挖掘的个性化学习平台。个性化学习平台需要采用诸多技术。
3 相关技术
3.1 ASP.NET
ASP.NET是Microsoft.NET Framework中一套用于生成Web应用程序和Web服务的技术,可以通过 HTML、CSS、JavaScript 以及服务器脚本来构建网站。ASP.NET 支持Web Pages、MVC和Web Forms三种开发模式。
3.2 Log4j
Log4j是Apache基金会的一个开源日志项目。Log4j的日志信息可以输出到文件、数据库、控制台等,还可以设置日志的输出格式。只需通过一个配置文件即可灵活的配置Log4j,并可以选择ALL、DEBUG、INFO、ERROR等多种日志记录级别。Log4j提供了多种语言接口,可以在Java、C、C++、C#等程序中使用。
3.3 OBS、OpenCV及pydub
OBS是一款免费开源用于视频录制以及直播串流的软件。利用OBS,可以在Windows、Linux、Mac等平台上简单快速的进行视频直播及录播。OpenCV是一个开源跨平台的计算机视觉库,提供了丰富的图像和视频处理API。pydub是Python的一个音频处理库,提供了简单易用的音频处理API。
3.4 XGBoost
XGBoost是华盛顿大学的Tianqi Chen 在Gradient Boosting Decision Tree基础上提出[1]用于分类和回归的算法库。XGBoost是Gradient Boosting Machine的一个C++实现。在 GBDT 的基础上,XGBoost对目标函数和损失函数进行了修改。XGBoost能够自动利用CPU的多线程进行并行,同时在算法上加以改进提高了精度。XGBoost提供了Python和R等语言的接口。XGBoost能处理大规模数据且支持自定义损失函数等,常用于特征提取、分类及预测等。
3.5 Keras
Keras是用 Python 开发的开源深度学习库,能够以TensorFlow、Theano或CNTK作为后端引擎。TensorFlow最初是由Google开发的开源深度学习库,功能强大,执行效率高,并提供了Python、C++等多种语言编程接口。通过TensorFlow,Keras可以在CPU、GPU上无缝运行[2]。Keras简单易用,利用Keras可以快速开发深度学习模型,支持卷积网络和循环网络以及两者的组合,并能够构建任意深度的学习模型。
4 设计便于数据挖掘的学习平台
利用ASP.NET与SQL Server设计开发学习平台。学习平台包括课程管理、资源管理、练习考试、选课评教、教师管理、学生管理、日志管理等模块。日志管理模块通过Log4j记录学生进行网络学习时产生的日志数据。选课评价模块中,学生能够自行选课和退课,并可以对教师进行评价和评分,让好的老师脱颖而出,不好的淘汰。学习平台上的资源主要是按照知识点录制的短视频,方便学生对知识点进行查漏补缺,也便于教师对资源进行更新和管理,教师可以利用知识点资源构建课程。
教师在进行直播教学时,通过麦克风及摄像头采集教师的音视频信息,经OBS软件RTMP协议推流至腾讯云视频直播服务,腾讯云会自动把视频直播转化为视频点播。将腾讯云中教师视频直播的播放器代码或点播的播放器代码复制粘贴到知识点资源的HTML编辑器中,即可在学习平台中实现教学直播或点播功能。为了对学生进行监督和及时了解学生的在线学习情况,便于对学生进行察言观色,同样采集学生在线学习该课程时的音视频数据,教师和学生的音视频信息均存储于腾讯云。教学直播内容可以自动保存,变为教学视频点播。学生在课后观看点播视频进行复习,没有参加直播课的学生课后利用点播视频自学。视频点播学习时同样需要采集学生学习时的音视频数据,相比静态表情图片,视频序列中蕴含更多的情感信息[3]。
5 利用数据挖掘实现个性化教学
学生学习时的一举一动,一笑一颦都反映学生不同的内心活动。学生学习时的表情是传递其情感情绪等内心活动最有效和直接的方式[4],情绪是影响学习效果的重要因素之一[5]。学生在线学习时的语言、表情等信息,可以帮助教师了解学生对所讲内容的领会情况,是否感兴趣,是否已理解,有助于教师及时调整所讲内容,优化教学过程,提高学生的学习效率。
深度学习中的卷积神经网络擅长处理图像及声音数据,循环神经网络擅长处理时间等序列数据。深度学习不仅表现出更好的性能,而且将特征提取完全自动化,省去了传统机器学习中人工提取特征的步骤。首先利用pydub和OpenCV分别对采集到的教师和学生的音频和视频数据进行预处理,然后利用深度学习库Keras学习并分析教师和学生的音视频数据,分析音视频中的语言和表情,帮助教师对众多学习者进行察言观色,让教师可以把更多的精力应用于教学,帮助教师发现教学中存在的问题,将分析结果及时反馈给教师,以便教师根据挖掘分析结果,及时调整教学内容和教学进度,有利于教学质量的改进。
对结构化数据进行分类、回归等分析时,常采用机器学习中的XGBoost库。利用机器学习技术对学生管理模块中学生的一些基本信息,比如性别、年龄、受教育程度、所学专业、兴趣爱好等进行学习和分析,可以在课程管理模块中为学生推荐合适的课程进行学习;利用机器学习技术来学习和分析学生的学习日志,了解学生的学习习惯,从而为其推荐合适的直播课程;利用机器学习技术来学习和分析选课评教模块中的课程评价数据,可以帮助教师改进教学;利用机器学习技术来学习和分析练习考试模块中学生的成绩及错题,为其推荐适合其自身特点的学习资源及相应的练习题,帮助学生巩固薄弱的知识点。
将深度学习挖掘结果与机器学习挖掘结果相结合,为学生自动匹配与其自身特点相适应的个性化学习资源及练习,实现因材施教。学生进行网络学习时的音视频的采集,牵涉到个人隐私,数据在传输和存储中需要进行数据加密,有利于隐私保护。
6 结束语
本文首先分析了网络学习中目前存在的问题,设计了便于数据挖掘的网络学习平台,提出在网络学习平台中用深度学习技术来挖掘和分析在线学习时的音视频数据,分析音视频中的语言和表情,帮助教师对众多学习者进行察言观色,让教师可以把更多的精力应用于教学。用机器学习技术来挖掘和分析学生的基本信息、学习日志信息、课程评价信息及练习考试中的错题及成绩。这样一方面可以起到监督学生的效果,另一方面还能根据学生的特点为其提供个性化的学习服务,为其提供用数据挖掘技术构建的个性化网络学习平台。数据挖掘使网络学习中的个性化学习成为可能,教学内容、教学方案和教学个体之间的精準匹配将极大地提高学习效率。
随着5G脚步的临近,可以将VR技术应用于网络学习,让学生在学习时感受到教师和同学仿佛就在身边,身临其境,营造浓厚的学习氛围,也对学生的学习起到监督作用。
参考文献:
[1] 龚维印,王力.基于卷积神经网络和XGBoost的文本分类[J]. 通信技术,2018(10):2337-2342.
[2] Francois Chollet.Python深度学习[M].张亮,译.北京:人民邮电出版社,2018.
[3] 胡敏,张柯柯,王晓华,等.结合滑动窗口动态时间规整和CNN的视频人脸表情识别[J].中国图象图形学报,2018,23(8):1144-1153.
[4] 潘峥嵘,贺秀伟.人脸表情识别在智能机器人中的应用研究[J]. 计算机技术与发展,2018(02):173-177.
[5] 徐晓青,赵蔚,刘红霞.混合式学习环境下情绪分析应用与模型研究——基于元分析的视角[J]. 电化教育研究,2018(8):70-77.
[通联编辑:梁书]