在线学习大数据分析架构研究

2019-06-24 11:21孙家军倪东辉
关键词:结构化数据挖掘预处理

程 香 刘 超 孙家军 倪东辉

(中共安徽省委党校, 合肥 230022)

在数字化学习环境中,学习者在学习能力和行为习惯等方面存在差异,利用统计分析和数据挖掘技术分析在线学习者的相关数据,并将其以可视化的形式展示给教学实施者和管理者,对于实施因材施教、提升学习效率具有重要意义。当前,有关在线学习大数据的研究主要集中在学习行为、学习效果评价方面,而对在线学习大数据分析的架构研究不多。构建一个有效的在线学习大数据分析环境,通过人工智能和数据高级分析,快速挖掘在线学习大数据的潜在价值,仍有许多亟待研究与解决的问题[1-2]。

在线学习大数据分析是一种数据价值发掘模式,面向大容量的多源异构和实时性的在线学习数据。本次研究将提出一种在线学习大数据分析架构,讨论在线学习大数据分析模型的关键技术。

1 在线学习数据特点及分析需求

1.1 数据特点

在线学习的主要环节为阅读在线课程材料、提交在线作业、与同学在线交流、完成在线考试与测验等,学习过程不受时空限制,受到越来越多的学习者青睐。各种公开课、慕课等不断涌现,各种在线学习平台产生的数据呈指数级增加。社交网络、移动互联网和物联网的使用,使得在线学习网络数据急增;而且有文本、照片、视频、音频等,数据形式多样;实时获取的流文件数据、传感器数据和移动设备数据,又使得需要处理的数据流动速度很快。这些数据的解释和价值转换,有赖于数据挖掘和大数据分析技术。

在线学习大数据分析,数据源于相关教育应用系统、学生自带设备和学校所用技术设备,通过数据集成与选择而成为分析的目标数据。分析目的是从大数据中找到衡量教育质量、评价学习绩效、规划学习路径、进行资源推荐的依据,获得在线学生学习行为、学习情感及教育舆情分析与预测结果。因此,在线学习大数据分析是一种关于教育领域的大数据价值发掘模式,具有大容量、多源异构和实时性速度的特点。

1.2 数据分析需求

搭建在线学习大数据分析架构,需要着重考虑以下几点。

(1) 支持多种类型数据存储和处理。在线学习领域各种移动App的移动学习过程数据、平台日志数据、学习成绩数据、作业数据和管理数据,其中既有简单的结构化数据,又有复杂的非结构化数据。因此,分析架构应该既具有存储和管理非关系型数据的能力,又有分析半结构化和非结构化数据的能力。

(2) 满足实时性处理需要。在线学习的短板在于缺乏教学过程的师生面对面的情感交流,而今物联网感知类技术、视频录制技术与情感识别技术的应用,使监测学生在线学习过程中的情感状况成为可能,可以适时鼓励积极的学习情感,及时干预负面的学习情感。要满足这些业务应用需求,在线学习数据分析架构就要能够处理和分析Twitter、微信等即时信息以及从其他可穿戴设备获取的实时数据。

(3) 支持大容量数据的存储和处理。随着校园信息化水平的逐步提升,学习平台提供的数据和图像识别、视频录制、网络爬虫等技术获得的数据产生爆炸效应,需要有统一的数据处理分析方法,使这些数据能够快速加载和处理。因此,要在满足可用性和可靠性的前提下,尽量满足可扩展性和容错性。

2 数据分析架构及关键技术

2.1 总体架构

进行在线学习大数据分析,与一般数据分析过程一样,涵盖数据采集、数据预处理、数据分析和可视化等环节。在线学习大数据分析架构包括基础设备层、虚拟化层和数据挖掘分析层。在基础设备层主要部署网络和服务器;在基础设备层上面搭建基于VMWare的虚拟化层,保证运行的可靠性;建立在虚拟化层上的数据挖掘分析层,引入Hadoop为基础的大数据平台,存储和处理海量结构化和非结构化的学习者学习行为数据,集成R和Hadoop,利用R强大的组件库进行大规模数据集分析和可视化。下面主要讨论数据挖掘分析层的关键技术。

2.2 数据挖掘分析

2.2.1 基础架构选择

(1) 存储与操作。Hadoop的分布式文件系统,能够存储和管理学生信息系统、课程管理系统等关系数据库系统中的结构化数据,对在线学习系统的日志文件、XML等半结构化数据及作业、微博、视频等非结构化数据的存储和管理也十分有效。分布式文件系统架构由一个NameNode节点和一组DataNode节点组成,并且有大量被复制的DataNode,因此数据丢失率小、容错性强,易于进行数据分析相关文件的创建、删除、复制等操作。

(2) 分布式计算与编程。Hadoop分布式架构实现的是跨节点的通信,具有易于横向扩充、负载均衡的特点。对于在线学习数据分析业务,凡是能够抽象为Map和Reduce两种操作的分布式运算,都可以编写成MapReduce应用程序运行在集群上。因此,在线学习大数据分析的计算架构采用分布式计算软件Hadoop MapReduce架构,并行处理大数量级的数据。

2.2.2 数据分析

(1) 数据获取与预处理。鉴于在线学习大数据的多源性特征,数据分析架构应支持大多数流行数据库,通过自定义函数或软件包技术,能够轻松实现数据库连接。这些数据被处理成一定模式后,还会存在一些质量问题,或者数据表达上不符合数据挖掘要求,因此在数据加载后需要进行一系列预处理操作。通过人工或软件进行多样化的数据预处理,实现对缺失值、噪声和数据不一致的处理,完成数据集成、变换和归约。

(2) 建立和优选模型。进行在线学习大数据分析,会根据挖掘目标而建立相关性分析、聚类分析、规则发现等模型。首先对数据源作探索分析,发现变量的各种情况,然后选择合适的模型挖掘算法。在正式使用模型算法之前需要对模型的预测能力进行评估,考虑适合模型的变量,从众多的备用模型中选择一个最优的。

2.2.3 数据可视化

互动图形用户界面、可视化分析工具及在线数据可视化工具,均能够完成图表、信息图和复杂图谱的制作。选择适当的可视化分析软件,合理运用点图、饼图、柱状图、箱线图等图形,可将在线学习大数据分析结果直观地展示出来。通过精确调整绘图函数的参数,准确控制颜色、点、线条、图例等图形元素,能够将分析结果按需要的形式呈现出来。结合形状、颜色等图形要素,再进一步从数据分析结果中发现有价值的信息。

2.2.4 Hadoop与R集成

R和Hadoop在数据分析处理方面各具优势,前者具有丰富的数据分析功能,后者以其突出的存储计算能力而受到众多互联网企业青睐。将R与Hadoop集成,可解决R软件分析数据时数据集大而内存容量小的问题,同时增强Hadoop架构的数据分析功能。

在线学习大数据分析架构采用中间接口软件RHadoop集成R和Hadoop,实现在R中开发和执行Hadoop MapReduce。RHadoop通过R程序包rhdfs、rmr以及rhbase实现可用性[3]。这3个程序包分别向R提供Hadoop核心组成部分的接口,R可以对HDFS进行数据操作,使用R开发MapReduce算法程序。

3 实例分析

3.1 架构搭建

分析架构包含1个Master(主盘)和3个Slave(从盘),如图1所示。指定为NameNode的机器,同时也作为JobTracker;其他机器既作为DataNode,同时也作为TaskTracker。安装VMware虚拟机环境,并在其中安装Ubuntu16.04。在该操作系统上安装R、JDK、ssh、Hadoop并配置集群。最后安装用以连接R与Hadoop的相关软件包,下载安装集成R和Hadoop中间件软件包。

图1 实例分析架构

3.2 分析目标

对edX平台X国在线学习者群体进行分组,为每组学习者提供有针对性的学习支持和干预。数据源选用edX平台公开数据集中的学习者数据,该数据集含有学习者在线学习的学习章节数、视频播放次数、论坛发帖数等学习行为数据项。

3.3 分析过程

针对学习者分组的挖掘场景,每类学习者的在线学习行为各变量存在相似性。分析思路为:利用在线学习分析架构,采用无监督学习的聚类算法实现分组。首先,对数据做预处理,进行缺失值、数据归一化处理;然后,通过定义距离函数、Map和Reduce执行单元函数以及MapReduce函数,将单机上的k-means算法思想移植到分布式系统Hadoop集群上。在RHadoop中已经开发了k-means算法,这里Map执行单元主要是根据在线学习数据集计算记录到每个质心的欧式距离,并将该记录并入距离最近的质心所在的类别;Reduce执行单元主要对类别相同的记录计算出新的质心。

3.4 分析结果

分析发现,学习者可分为4类。第一类学习者,在线学习的学习章节数、视频播放次数、论坛发帖数最低,学习者很少登录在线学习平台,几乎没有学习课程内容。针对这类学习者,可考虑推荐同类学习者的参与度高的课程。第二类学习者,在线学习的学习章节数、视频播放次数、论坛发帖数均是最高,课程参与度高,课程内容学习完整性好。可以向他们推荐学习更高阶相关课程。第三类学习者,在线学习的学习章节数、视频播放次数、论坛发帖数较高。可以向他们推荐横向拓展的课程学习资源,并定期发送学习进度提醒。第四类学习者,在线学习的学习章节数、视频播放次数、论坛发帖数都较低,他们很少访问课程平台,课程学习内容完成量少,测验所得分数低。针对这类学习者,应该适时提供学习进度提醒和学习成绩预测报警。

4 结 语

在线学习领域累积的数据,呈现实时性速度、存储类型多样化和数据集相对较大的特征。针对在线学习的各种数据分析业务需求,开展在线学习的结构化与非结构化大数据分析,可以基于Hadoop基础架构完成数据预处理,并建立和优选各种分析场景的挖掘模型和算法。高等院校越来越重视对大数据的应用,学习评价、学习需求诊断、学习行为预测等在线学习相关主题的数据分析业务需求不断上升。通过编程挖掘分析在线学习数据,建立基于在线学习数据分析的API中心,采取基于相关应用的API进行数据抓取、预处理和挖掘建模,将使在线学习大数据分析更加高效。

猜你喜欢
结构化数据挖掘预处理
求解奇异线性系统的右预处理MINRES 方法
促进知识结构化的主题式复习初探
改进的非结构化对等网络动态搜索算法
探讨人工智能与数据挖掘发展趋势
高COD二噻烷生产废水预处理研究
数据挖掘技术在打击倒卖OBU逃费中的应用浅析
结构化面试方法在研究生复试中的应用
左顾右盼 瞻前顾后 融会贯通——基于数学结构化的深度学习
基于预处理MUSIC算法的分布式阵列DOA估计
基于膜过滤的反渗透海水淡化预处理