APP下载

基于大数据的学习者行为分析平台构建研究

2021-05-21张丽萍葛福鸿

中国教育信息化·高教职教 2021年3期

张丽萍 葛福鸿

摘   要:近年来,国内的微课、慕课、网络课堂等发展迅速,依托大数据技术,能够把学习过程和效果更加透明地呈现给每一个学习者。文章基于Hadoop生态系统,设计并开发了一个轻量级的教育类大数据处理系统,可从网络课堂、网站、微信、APP等新媒体获取数据。通过对数据的收集、清洗、分析,进而挖掘数据中更多有价值的信息,为学习者提供更好的服务。文章以网络课程网站中session数据分析为例,通过分析可获取页面跳转转化率、热门课程离线统计、广告流量实时统计和黑名单过滤等,为网络课程网站的后期建设提供量化依据。

关键词:大数据;教育大数据;Hadoop;session

中图分类号:G40-057 文献标志码:A 文章编号:1673-8454(2021)05-0050-04

随着移动互联网技术的发展,大数据的力量开始席卷各个行业领域,并对人们的思维、生活、工作、学习等产生重大的影响。使用新的大数据处理技术,数据的收集、分析和处理都发生了变化,通过对海量数据的收集和数据更深层次的挖掘,能够发现数据中更多的价值。

本文对学习者行为进行了分析,从大数据分析平台的设计、环境搭建、session日志分析模块三个方面进行实践和探索。研究过程主要分成两个阶段:第一阶段是大数据开发系统的规划和部署。对平台系统进行构建,对系统需要的组件做进一步规划,搭建测试服务器和开发环境。第二阶段是数据处理模块的设计和开发。通过对真实场景的模拟,对网络课程类型网站session数据展开处理,进而设计和模拟一个处理微课及其他慕课网站信息的大数据处理平台。

一、大数据及相关技术阐述

1.大数据

一般认为,大数据(big data)是通过先进技术进行收集、存储和处理的数据集合,是海量、不规则的信息,是具有预测力,可以提供决策支持的信息资源。其导致了新的处理技术的诞生,如谷歌的MapReducehe 和开源Hadoop平台(最初源于雅虎)。更重要的是,这些数据不再需要用传统的数据库表格来整齐地排列——一些可以消除僵化的层次结构和一致性的技术也出现了。

大数据的本质在于分析信息时的三个转变:第一个转变是,在大数据时代,需要分析的数据更多。不同于传统的数据分析,收集的数据是部分样本,大数据分析经常会收集研究对象相关的所有数据。第二个转变是,不再热衷于追求精确性。精确性是信息量少的时代的产物。只有接受不精确性,才能充分利用大量的不精确、非结构化的数据,真正挖掘数据宝藏潜在的价值。第三个转变是,不再热衷于寻找因果关系。知道“是什么”就够了,不再纠结于“为什么”。在大数据时代,要让数据自己“发声”,不需要知道现象背后的原因。此外,大数据的相关关系分析法不易受主观意识的影响,且更准确、更快,因此,建立在相关关系分析法基础上的预测是大数据的核心[1]。

总之,在大规模数据的基础上进行数据挖掘完成的工作,在小规模数据的基础上是实现不了的。大数据是人们获得新的认知的源泉。例如:淘宝可以推荐用户想要的商品、QQ可以猜出用户认识谁、京东知道用户的喜好。大数据在教育领域的应用也在逐渐突出其重要的价值,特别是教育大数据可以为教育部门提供决策依据,为教师对教学进行调整提供量化依据,为学生的学习提供预测和改进依据,为实现个性化学习提供技术支撑。

2.采用的相关技术

(1)Hadoop

Hadoop是采用分布式架构的平台,为用户提供可靠的、灵活的数据处理功能,使得用户的开发变得方便、快捷。Hadoop以HDFS和MapReduce框架为核心。HDFS是一个高度容错、可靠的分布式文件系统[2]。

(2)Apache Spark

Apache Spark 是专为大规模数据处理而设计的快速、通用的计算引擎。和MapReduce框架相比,Spark是基于内存计算的,在数据处理过程中采用了成本更低的洗牌方式,相比其他大数据处理技术会有极大的效率提升。此外,Apache Spark支持更多的函数,提供交互式的处理环境,在大数据分析和机器学习领域有着巨大的优势。

(3)Ubuntu系统

Ubuntu是一个高效的Linux操作系统。其提供了可靠稳定的工作环境和用户交互界面,因而在生产和生活中有很高的使用率。由于大数据开发常用的软件基本都需要Linux运行环境,因而在课题研究、开发、测试中都会使用Ubuntu系统。

二、学习者访问session介绍

学习者在浏览学习网站时,通常有很多鼠标点击行为,如点击菜单中的某个选项、浏览某个学习内容、关闭学习页面等。学习者的每一次对学习内容的操作,可以将其理解为一个行为。一次学习者访问session,指的是学习者进行一次学习的操作过程,包括进入学习网站、点击各种操作、离开学习网站。

session实际上是一个网站中最基本的数据和大数据来源。在以往的在线教育类型网站(如微课、慕课等)中,并没有对session数据进行处理或有类似的处理。因为当网站的访问量增长较快时,对于session数据的处理效率会大幅度降低。不仅仅需要考虑到对较大规模数据的处理,而且还要解决存储等问题,因为单台服务器已经不能满足这样庞大数据的处理。然而,在session数据中,又包含着很多有价值的数据。如通过session可以获取当前访问网站的人数、学习者訪问的栏目、访问量较大的栏目。通过这些数据,可以有效地帮助管理员分析哪些栏目受欢迎、哪些栏目值得推荐、网站是否存在异常等等。除此之外,还可以根据session数据帮助实现智能推荐、人物画像等功能。

三、大数据分析平台的构建

该平台有别于传统的数据分析平台,除了实现基本的功能需求,平台主要提供了对大数据的支持。庞大的数据会给集群带来严峻的考验,如存储、任务调度、负载均衡等。因而必须保证平台的稳定、可维护、可扩展、容错等。

1.平台特征

在该平台的设计中,具备如下特点:①支持多种数据源。能够支持网站、APP、微信平台等常见媒体的数据。②平台可靠性强。基本能够实现数据的完整收集、集中存储和快速处理。③支持大规模数据的收集和分析。④支持近实时分析和离线分析。⑤有良好的容错性和扩容性,便于今后进行更深层次的开发。

2.平台拓扑结构

该平台采用了树形拓扑结构,如图1所示。这样的设计可以使得平台易于扩展,容易在网络中加入分支或者新节点来满足不同的需求,此外,也能在一定程度上便于隔离故障,不会影响整个系统。在根节点上,Hadoop分布式文件系统可靠、稳定、易于扩展、容错性高的特点也使得平台能够更加稳定地运行。

3.平台总体结构

平台的目标主要是对微课类型网站的日志进行分析处理,考虑到平台的扩展性和实用性,平台在设计时采用了如图2所示的结构。

总体上,该平台分为日志采集模块、逻辑处理模块、可视化展示模块、任务管理模块。日志采集模块的主要任务是获取各个服务器的数据,并对数据进行清洗处理。逻辑处理模块主要按照不同的场景对数据进行处理,如获取订阅量、排名前若干位的课程名称、访问年龄分布、搜索关键词排名等。可视化模块主要对大数据处理的结果通过可视化视觉效果进行展示,更加直观形象地了解数据的情况。在模块设计上,该模块分为图表展示和数据展示。任务管理模块主要负责集群的任务调度、任务状态监控、任务配置等功能。在这里采用了Azkaba对这方面的任务进行管理[3]。

4.开发环境搭建

由于完整设置开发环境的工作量较大,因此对环境进行了适度的调整。具体调节如下:在数据处理流程上,数据在通过采集后导入HDFS,然后Spark直接读取HDFS中新导入的数据,并进行处理。在这里,数据采集过程简化为模拟数据生成,即将数据直接导入到HDFS中。

此外,一些学习者的注册信息等基础数据,是存储在MySQL的数据,可以使用sqoop工具便捷导入到数据仓库Hive中。并在Hive中进行计算。计算的结果可以再使用sqoop导出到MySQL数据库中,方便其他模块使用[4]。具体的开发环境如图3所示。

5.数据设计

由于条件限制和测试需要等原因,直接模拟生产数据有一些困难。因而在模拟数据时,进行了一些简化。但其并不会影响需求。在一般场景下,采集到的数据都会经过ETL过程。将需要的数据转化为符合计算的格式,即数据清洗[5]。所以,模拟数据和经过清洗的数据是一致的,并不会影响功能。

(1)学习者基础信息数据:主要记录学习者在网站、APP等注册的信息。可包括学习者登录名、性别、年龄、专业、城市等。

(2)学习者访问行为session数据:包括学习者点击行为的时间、学习者ID、点击某课程、搜索关键词后进入的页面、导航、订阅的课程、进行的讨论、参加的小组、学习者的浏览行为次数等。

四、学习者访问session数据分析

在该模块中,采用spark对session数据进行处理,具体实现的功能如下:

1.学习者信息和Session聚合处理

该模块主要是对学习者访问session进行统计分析,可以协助网站管理员看到各种聚合条件下的学习者行为各项统计指标,从而为学习课程的设置和推送提供策略支持。同时也能使用这些参数并结合推荐算法做智能推荐。

指定條件筛选session,可在筛选时设定一些条件,如在某个时间段访问的学习者,搜索过某些关键词的学习者等。这些信息能帮助我们划分对象群体,极大地方便对各种复杂业务的逻辑分析。再比如,通过session聚合指标计算,获取点击量、观看量和评论量都排名前10的课程名称,获取热门话题点击数量排名前10的session,并获取学习者相应的一些信息。这一功能对于课程的评价机制是非常实用的技术实现,对课程的评价采用量化的手段进行呈现,使评价更加客观、公平、有说服力。

2.页面跳转转化率统计

在进行网站设计时,一般会对学习者的浏览行为进行设计,但设计可能并不是一次性就能满足需求的,需要不断地进行调整。通过对页面跳转转化率进行分析,从而对网页布局、栏目等内容进行更好的优化设计。作为数据分析人员,可以深层次地分析这些数据,从而进行人物画像、个性化调整等。图4为一个网页访问顺序示意。

该图的场景在网站访问中是较为常见的,笔者假设各个页面的编号为1,2,3,4。在设计上,管理员希望访问次序为1->2->3->4。但是在实际上,访问次序跟希望的并不一样。通过页面单跳转化率,可以得到真实的访问次序和热点的位置,进而分析各页面设计的合理性。此外,还可以对页面进行更进一步的划分,测试页面热点区。

该模块设计实现如下功能:指定范围内的学习者访问行为数据,计算和判断页面流ID中每两个页面组成的页面切片,它的访问量是多少;根据指定页面流中各个页面切片的访问量,计算各个页面的切片转化率并将计算结果写入数据库中。

3.热门课程离线统计

该模块主要实现统计点击、参与、评论的热门课程排名前若干位的数量。在服务器部署离线统计任务的定时调度。该模块可以为管理员和学习者提供热门课程的整体情况,从而对课程的推送进行调整。

4.访问时长计算占比

在访问时间占比功能中,对学习者的访问时间长短进行了划分,计算单位时间内各个时间段在当前时间段内的比例。

统计网站的session数据中,访问时长在各个预设时间段范围内的session占比。session的访问时长,指一个session从开始访问到结束访问之间的时间范围。通过这个值,管理员可以对学习者的行为进行估计。在一般情况下,学习者会选择其感兴趣的页面,并在这些页面停留较长时间,对于不感兴趣的页面,可能停留的时间较少。因此访问时长也能在一定程度上反映一个学习者的浏览习惯。如时间为1s~3s,学习者可能仅仅是简单浏览;而时间为30m以上,可能学习者正在进行学习。如在某一个课程直播页面的访问信息中,如果学习者的停留时间普遍低于1分钟,则很可能这个页面出现了问题,需要管理员进行管理调整。通过对某个特定时间的占比统计,可以调整模块的内容、推荐信息等。

5.流量实时统计和黑名单过滤

网站经常会面临一些异常访问,因此有必要对数据进行监控和限制。使用大数据技术进行安全监控分析,面对的是整个网站的访问数据,监控的样本比传统监控有极大的增加,通过合理的计算和分析,可以很大程度上提高网站的安全性。

该模块可以根据session信息来实时统计流量,以发现异常学习者,经过鉴别后,可将异常学习者加入到黑名单中。session通常会记录一些学习者的访问信息,当学习者访问异常时,通过session数据能较为明显地表现出来。在这里设定为单位时间内,同一学习者的访问次数大于某值时,即为黑名单学习者,并将其记录到数据库中。

6.对结果进行可视化展示

对数据结果进行可视化展示是很重要的一个环节,通过对数据进行可视化展示,可以让数据更加易于理解[6]。这里使用echarts实现数据的可视化效果,并使用静态的方式进行数据展示,包括柱状图、饼状图、折线图等,使学习者更简洁直观地了解数据的基本情况。可视化结果展示示例如图5、图6所示。

五、结语

本文详细介绍了大数据平台的架构、部署和针对教育类型网站(网络课程类型)的session数据开发。综合介绍了基于Hadoop的大数据开发架构以及大数据在学习者行为分析中的应用。基于大数据的学习者行为分析将对教育類平台的优化和推广起到积极作用,这种研究思路值得智慧教育研究者借鉴。

参考文献:

[1]维克托·迈尔-舍恩伯格,肯尼思·库克耶.大数据时代[M].杭州:浙江人民出版社,2013:8-18.

[2]王正也.基于Hadoop平台的海量数据查询分析系统的性能优化研究[D].北京:北京邮电大学,2015:6-10.

[3]刘季函.基于Spark的网络日志分析系统的设计与实现[D].南京:南京大学,2014.

[4]刘永增,张晓景,李先毅.基于Hadoop/Hive的Web日志分析系统的设计[J]. 广西大学学报(自然科学版), 2011,36(s1):315-316.

[5]王英哲.大数据时代文献分析与利用[J].石家庄职业技术学院学报,2014(2):53-54.

[6]张春生,郭长杰,尹兆涛.基于大数据技术的IT基础设施日志分析系统设计与实现[J].微型电脑应用,2016,32(6):50-51.

(编辑:王晓明)