聂静雨
摘 要 近年来,学习分析技术的需求伴随着教育大数据的浪潮越来越大。基于文献计量分析法,对国内外近几年来关于学习分析的期刊论文进行梳理,对学习分析工具进行划分,主要讨论23种应用广泛的学习分析工具,从其各个方面进行分析比较,并提供各个工具的相关链接,以期为研究学习分析的教育实践者提供参考。
关键词 学习分析技术;教育大数据;Microsoft Excel;GoogleSheets
中图分类号:G642.0 文献标识码:A
文章编号:1671-489X(2018)23-0022-05
Abstract In recent years, the demand for learning analytics has beenaccompanied by a growing wave of educational big data. Based on related literatures, this paper reviews domestic and foreign journal papers on learning analysis in recent years, and divides learn analysistools. It mainly discusses 23 widely used learning and analysis tools. We analyze them from all aspects comparison, and provide a rela-tional link for each tool, in order to provide a reference for educa-tional practitioners who study learning analytics.
Key words learning analytics; educational big data; Microsoft Excel; Google Sheets
1 引言
十九大报告明确提出“到2020年基本实现教育现代化”的战略目标,而实现这个目标的重要途径是让大数据技术助力教育变革。Big Data一词最早出现在维克托·迈尔-舍恩伯格及肯尼斯·库克耶编写的《大数据时代》这本书中,是指不用随机分析法(抽样调查)这样的捷径,而采用所有数据进行分析处理[1]。在首届中国教育大数据发展论坛探析中,维克托·迈尔-舍恩伯格在他的演讲《大数据与教育的未来》中指出,教育的关键在于对教育数据的分析[2],而对于教育大数据的挖掘关键就在于学习分析技术。
本文将会详细介绍EDM或LA研究及从业人员使用广泛、功能强大的学习分析工具。文章首先概述两种非常适合用于特征工程和数据创建的工具——Microsoft Excel & Google Sheets和EDM Workbench,紧接着讨论了编程语言Python和SQL的优点。文章还讨论了Rapid、WEKA、KEEL、KNIME、Orange等九种常用的算法分析工具,并探索了Tableau、D3.js两种可视化工具。
2 研究方法
本研究基于文献调研。在中国知网中,于高级检索下以“主题=学习分析技术并且主题=工具”进行检索,查询到93篇中文文献。根据计量可视化分析,发现有关学习分析工具的文献从2012年的四篇逐年增加,其中以社会网络分析、学习分析仪表盘、大数据、可视化、学习行为、智慧教室这几个词为中心点进行聚类分析,从检索结果中也可以发现各大知名高校都在对学习分析工具进行研究,可见学习分析工具才是真正助力学习分析技术面向教育教学的关键。在SSCI数据库中,以“Learning Analytics”为关键词进行搜索,限定领域为教育科学,共得到核心期刊英文文献82篇,其研究包含学习分析的理论研究、学习分析技术在教学中的研究、学习分析模型研究、學习分析工具研究等。本文仅针对学习分析工具进行讨论。
3 学习分析工具分类及比较
学习分析工具的种类有很多,有专用型的(如SNAPP、ELLIment等),也有通用型的(如SPSS、WEKA等);有适合文本分析的(如CATPAC、LIWC等),也有适合图像化分析的(如Nvivo、Socrato等)。不同学者对于学习分析工具的种类也从多个不同的角度来划分。孟玲玲、顾小清等根据学习工具分析对象与类型侧重的不同,将学习分析工具分为学习网络分析工具、学习内容分析工具、学习能力分析工具、学习行为分析工具、其他综合分析工具[3]。Verbert和Govaerts等人根据学习分析工具应用的环境不同,将其分为支持面对面教学的工具、支持小组合作的工具、支持混合学习或在线学习的工具[4]。郭烱和郑晓俊等根据工具服务对象不同,将学习分析工具划分为支持教师教学的学习分析工具、支持学生个性化学习的学习分析工具、支持教育决策的学习分析工具[5]。
本文则根据研究人员探索分析问题时使用工具的路径,将学习分析工具划分为数据预处理与特征工程工具、算法分析工具、可视化工具、专用工具。
数据预处理与特征工程工具 在进行数据挖掘之前,所有的数据必须首先进行“清洗”,以提高数据挖掘的质量。通过特征提取,可以得到许多未经处理的特征,通过数据预处理使数据标准化和归一化,最后仅需通过特征选择就可得到与研究紧密相关的信息。数据预处理与特征工程工具就是这样一个用于清理、组织和创建有效数据的工具,使研究者解决面临大量数据无从下手的问题。常用的数据预处理与特征工程工具有Microsoft Excel & Google Sheets、EDM Workbench、Python、Jupyter、SQL等。
1)Microsoft Excel & Google Sheets。Microsoft Ex-cel(https://www.microsoft.com/zh-cn/)和Google Sheets(https://www.thoughtco.com/google-spreadsheets-4133440)对于新数据特征(变量)第一阶段的原型分析非常有用,它是数据研究者在操作和设计数据中最常使用的工具。这类工具主要用于小规模特征工程,因为其可以使数据完全可视化,所以很容易识别数据中的结构和语义问题,像存在异常值、缺失值及信息冗余等问题。此外,还可以利用它们非常直观地设计新功能,快速将这些功能应用于整个工作表,并通过一系列数据直观地检查功能以确保正常工作,像对数据集合汇总、水平链接及筛选求和等功能应用。
但是,Excel和Sheets不适合所有类型的功能创建。因为创建功能需要不同的数据汇总,其中涉及多次对数据进行分类和重新排序,这导致保存记录十分麻烦,且易更改语义特征。更重要的是,Excel和Sheets对可加载和操作的数据量十分有限,必须保持一定合理的性能。而且Excel和Sheets中的几个常见操作符会进一步降低性能。
2)EDM Workbench。EDM工作台(http://penoy.admu.edu.ph/~alls/downloads-2)是主要用于自动化特征过滤和数据标记的工具[6]。EDM Workbench的自动过滤功能弥补了Excel和Sheets无法进行大规模工程设计的缺陷。研究人员能够在EDM Workbench中基于xml创建功能,也能够使用智能辅导系统中的26个功能,像学生解决问题所花费的时间及对于最后n个步骤,分析学生所做的动作是否正确,有多少人做对了,以及做对的比例为多少等功能。而且,EDM Workbench具有文本回放的功能,它支持数据采样、评估者之间的可靠性检查以及标签与特征之间同步。
3)Python。Python(https://www.python.org/)是一种解释型、面向对象的高级程序设计语言,它提供了简易的用户文档,简单易学且完全免费。Python有非常清晰的语法,其设计理念强调代码可读性,特色之一是强制用空白符(white space)作为语句缩进。在建模工具中,Python比大多数模型具备更多优势,如循环(for,while)、决策(条件)这样的基础程序结构都可以得到较好的运用。此外,它可以通过在Python结构中编程—尝试来避免程序运行过程中产生的错误。
Python是一种特别适合于数据处理和功能设计的语言。它不仅可以添加通知消息到用户窗口反映批量数据处理进程,而且可以将输出信息重点标注出来[7]。特别是Python中的工程上下文相关性比Excel或Google表格好,且能够处理许多不同类型的异常或特殊的数据格式,如JavaScript
对象符号(JSON)由若干MOOC和在线学习平台产生的文件。
4)Jupyter notebook。Jupyter notebook(http://jupyter.org/)是一种保存分析记录和中间结果的工具,其按顺序显示每个用户操作及结果,有利于构建可读性分析。Jupyter notebook其实就是一个Web应用程序,便于创建和共享交互式文档,且支持实时代码、数学方程、可视化和markdown。相比较而言,其实在Microsoft Excel或Google Sheets中创建的数据和功能检查起来更易可视化,特别是在数据集合中数据缺少、重复或异常情况下用Jupyter可能特别难以识别,并且工程特征的验证会更耗时,所以在这里不推介新手程序员使用。Jupyter notebook还有一个缺点是其受到大小的限制,在研究计算机的1000万行数据范围内会变得很慢。
5)SQL。结构化查询语言SQL(https://www.microsoft.
com/en-us/sql-server)是一种数据库查询和程序设计语言,用于组织一些数据库。它可以有效精确地提取所需求数据,并可以跨多个数据库表进行集成(即“连接”)。它不指定用户对数据的存放方法,且可以使用相同的结构化查询语言作为数据输入与管理的接口。SQL具有极大的灵活性和强大的功能,可以嵌套使用。此外,在SQL等数据库语言中,许多基本的过滤任务(如选择特定的学生子集或从特定日期范围获取数据)比上述任何工具都要快得多。但是在特征工程过程中,SQL不适合创建复杂工程。不過SQL可以与上述其他工具一起有效地工作,比如用SQL执行Excel或Python中非常缓慢的批量排序和筛选任务。
算法分析工具 在解决完清理、组织和创建有效数据后,研究人员面临的问题是可以进行哪些测试,可以构建哪些模型,可以映射和探索哪些关系,以及如何验证发现,如何建立算法,通过何种建模方法进行数据的结构分析等,此时就需要算法分析工具来解决这些问题。这类工具一是可以提供广泛的算法和建模框架,二是可用于模拟和预测教育数据中的关系。常用的算法分析工具有RapidMiner、WEKA、SPSS等八种。
1)RapidMiner。RapidMiner(http://rapid-i.com/content/view/181/190/)是一个可视化开源数据挖掘工具,可进行数据挖掘、机器学习和商业预测分析[8]。它拥有非常广泛的分类、回归以及用于聚类、关联规则挖掘的算法。RapidMiner的图形化编程语言比其他大多数数据挖掘工具的功能相对更强大,如可以用于使用Batch Cross Valida-tion运算符在多个级别进行交叉验证,这对于概括性分析来说是非常有用的,而且相比于其他所述数据挖掘软件包中的图形化语言是极大优势。RapidMiner还有一系列可用于模型评估的度量标准,并可以通过可视化文件(如Receiver-Operating Curves)帮助用户评估模型拟合,其中模型既可以根据实际的数学模型输出,也可以在xml文件中输出。可以说RapidMiner有一套广泛的教程,对学习如何使用图形化编程语言非常有用。不过它支持的重采样方法(如引导)相比其他数据挖掘软件包更受限制。
2)WEKA。WEKA(http://www.cs.waikato.ac.nz/ml/Weka/)具有一套广泛的分类、聚类和关联挖掘算法,是一个免费的开放源代码软件包。WEKA可对数据进行预处理、分类、回归、聚类、关联规则分析以及在新的交互式界面上的可视化。用户使用时,可以从命令行、GUI(图形用户界面)或通过Java API调用数据挖掘算法,并且它的命令行界面和API功能比GUI更强大,其不允许用户访问所有高级功能。此外,WEKA可以根据实际的数学模型或PMML(Predictive Modeling Markup Language)文件输出它生成的模型,这些模型可以用WEKA评分插件运行。不过WEKA仅可以选择功能,不支持创建新功能。
3)SPSS。SPSS(http://www.ibm.com/analytics/us/en/technology/spss/)是一个统计软件包,集数据录入、资料编辑、数据管理、统计分析、报表制作、图形绘制于一体,可提供一系列的统计测试、回归框架、相关性和因子分析等功能。SPSS是世界上最早采用图形菜单驱动界面的统计软件,最突出的特点就是操作界面极为友好,输出结果美观漂亮。其中,SPSS Modeler具有从现有功能创建新功能,进行数据过滤,功能选择和缩减功能空间的优点。虽然SPSS是一个综合的统计分析工具,但是其建模功能比文中提到的几种同类别工具要差一些,因为它相对于其他工具较不灵活,难以进行特征选择,也没有记录功能。
4)KNIME。KNIME(www.knime.org)是基于Eclipse的开源数据挖掘软件,与RapidMiner和WEKA大致相似。它提供了许多与这类工具一样的功能,像RapidMiner一样整合了WEKA的所有算法。此外,它还提供了一系列专业算法,如情感分析和社交网络分析。它通过工作流的方式来完成数据仓库以及数据挖掘中数据的抽取—转换—加载操作。KNIME的一个优势在于它能够在同一分析中整合不同来源的数据(如工程功能的CSV,文本响应的文字文档,以及学生人口统计数据库)。而且KNIME可扩展性强,允许与R、Python、Java还有SQL进行交互。不过在其设计中,因为它没有端口概念的出现,当其进行错误信息的处理流程時,看其过程定义生成的xml文件会发现,错误流定义在xml文件中加入得很不规整,是以补丁的方式加入的,这影响了系统整体设计的完整性与美观度。
5)Orange。Orange(https://orange.biolab.si/)是一个数据可视化分析软件包。虽然它比RapidMiner、WEKA以及KNIME的算法少得多,但是它的界面清晰、易于理解,比如颜色编码的工具会区分数据输入、清理、可视化、回归和集群这些方面;而且它提供了许多常用的算法,如决策树、关联规则、统计分析等。Orange还具有多功能的可视化编程前端,可用合理的文档形式呈现模型结果。但是相比于Excel,它处理的数据规模有一定的局限性。所以基于简单的GUI和菜单布局,Orange可能更适合小型项目或新手研究人员使用。
6)KEEL。KEEL(http://sci2s.ugr.es/keel/)是许多EDM研究人员使用的数据挖掘工具。与上面列出的一些工具的不同之处在于,KEEL有更广泛的算法,而且支持各种各样的功能选择,包括支持对缺失数据进行估算和对数据重新采样的功能。作为建模工具,KEEL有一套广泛的分类和回归算法,支持其他类型的数据挖掘算法,如聚类和因子分析,但相比其他软件包更加受到限制。
7)Spark MLLib。Spark(http://spark.apache.org/mllib/)是一个可跨多个计算机处理器,以分布式方式进行大规模数据处理的计算框架,包含基于弹性数据集(RDD)的低阶Spark机器学习API。Spark可以通过API连接多种编程语言,包括Java、Python和SQL,且允许这些语言用于分布式处理。Spark MLLib机器学习框架支持分类、回归、聚类、协同过滤、降维等主要机器学习算法。尽管MLLib的功能有限,且只是一个纯粹的编程工具,但它的分布式特性依旧使它成为一个不错的工具选择。
8)R语言。R语言(https://www.r-project.org/)是用于统计分析和绘图的优秀工具。与其他工具相比,R语言能够实现更加复杂的数据处理,且处理效果较为理想[9]。它不单是一门语言,更是一个数据计算与分析的环境。R语言有着简单而明显的吸引力,使用R语言,只需要短短的几行代码,就可以在复杂的数据集中筛选。R语言的最大优势在于画图,像ggplot2、plotly、shiny、ggmap等用起来真的很方便。不过当数据量过大时,因内存原因,R语言不再适用;且它的package太泛,使用中可能存在很多bug。
可视化工具 上面所讨论的两类工具都与一系列的数据及分析相关,可以极大地帮助研究人员分析并获得经过验证表现良好的模型。但是在各大学术讨论会议中,研究者要想完整表达出自己的科研成果,此时就需要借助一些可视化工具,使数据科学家能够创建精美的图表、模型、网络及其他可视化信息。同时,通过良好的可视化方法,也可以使学习者从数据中获取更多的知识点。因此,可视化工具不可或缺。常用的可视化工具有Tableau、D3.js。
1)Tableau。Tableau(www.tableau.com)提供了一系列用于交互式数据分析和可视化的产品。在教育教学中,它可用于分析学生数据,提供可操作的见解,优化教学实践和精简教育报告等。Tableau的最大优势在于不需要编程知识来分析不同来源的大量数据,就可轻松获得可视化效果。Tableau提供了便于存储数据的连接和导入数据功能。Tableau还具有构建丰富的交互式仪表板的功能,这使得它能够实时地向用户动态显示可视化信息。但是,Tableau不支持预测分析和关系数据挖掘,而且作为商业工具不可扩展,不支持与其他软件平台的集成。
2)D3.js。D3.js(www.d3js.org)是一个允许操作数据驱动文档的JavaScript库,研究人员和从业者可以通过D3.js建立复杂的交互式可视化数据。它的优点在于它在构建各种数据可视化方面灵活性强,且无须安装,支持代码重用,并且是免费和开源的。不过学习D3.js需要广泛的编程知识,而且其具有兼容性问题,不提供任何手段来隐藏可视化的用户数据,这就存在很大的用户数据隐私问题。因此,用户使用时要进行数据预处理,以确保隐私和数据安全问题。
专用工具 已经讨论了用于EDM建模和分析的通用工具,但是特定类型的教育数据挖掘与学习分析技术通常需要更多的专用算法工具(简称专用工具),包括知识跟踪算法、文本挖掘、社交网络分析、序列挖掘和过程挖掘等类型工具。对于这些情况,研究人员和从业人员通常会使用针对这些情况而设计的专用工具。常用的专用工具有BTK-BF、LIWC、Gephi、ProM等。
1)贝叶斯知识追踪工具。贝叶斯知识追踪(BKT)(http://www.columbia.edu/~rsb2162/BKT-BruteForce.zip)是一种常用的潜在知识评估方法,可于在线学习期间测量学生的知识水平。它的优势就在于可以测量在线学习过程中正在变化的知识水平。BKT模型通常使用强力网格搜索和期望最大化(EM)这两种算法之一进行拟合,两种算法在预测性能方面都不错。可以说,贝叶斯知识追踪是一个隐马尔可夫模型,它可以反映学生学习过程中的状态,是学习分析领域常用的技术,像BKT-BF就属于这类工具。
2)文本处理。文本挖掘是数据挖掘领域的一个热点,文本分析工具可以处理文本内容的词性、句子结构和语义词义等。现如今已有大量的程序、APP和API可用于标记、处理和识别文本数据,此外还有一些工具能够识别不同单词和句子之间的表示关系。可用的文本挖掘和语料库分析工具种类繁多,下面介绍几种一般适用于文本挖掘的方法以及调查文本和语篇中特定结构的工具。
①LIWC。LIWC(http://liwc.wpengine.com/)即自然语言处理技术,是一个旨在用电脑程序取代专家来对各种文本进行分析的软件程序。它可以对文本内容进行量化分析,并将文本中的各类词语(尤其是心理学类词语)进行计量,如因果词、情绪词、认知词等心理词类在整个文本中的使用情况[10]。目前,LIWC已提供超過80种不同心理类别的词汇,如认知词汇、情感词汇、功能词汇、分析词汇等,它通过分析所用词汇来衡量文本的潜在特征,已在大量研究中得到广泛使用。
②WMatrix。WMatrix(http://ucrel.lancs.ac.uk/wmatrix/)是用于文本语料库的词频分析和可视化的文本分析工具,主要在特征工程阶段用来提取语言特征,包括单词n-gram、词性标签和单词语义类别。WMatrix主要优势在是语义归类和范畴研究,且可根据研究自建语料库。此外,它还可以通过文字云的形式提供文本语料库的可视化,并提供用于同时比较几个文本语料库的界面。
③Coh-Metrix。Coh-Metrix(http://www.memphis.edu/iis/projects/coh-metrix.php)是一个基于网络的文本分析工具,提供了超过100种、大致11类的文本语料库。与以上工具相比,Coh-Metrix的优势在于可通过一系列文本特征来分析文本的衔接性,且其具有多个标签,可用于评估深度文本内聚,如叙述性度量和参考内聚性。因为Coh-Metrix拥有巨大的文本语料库,其已被广泛应用于自动测量文本难易度及衔接性。
3)社交网络分析工具。社会网络分析(Social NetworkAnalysis,SNA)是一种基于多个学科融合,用于研究人类社会关系、行为特点及信息传播的定量方法。SNA通常用于分析在线学习中的交互现象,如平台活跃度如何,个体间的关系如何,等等,帮助教师更好地完成课堂任务。下面介绍几种社交网络分析中常用的工具。
①Gephi。Gephi(https://gephi.org)是一款广泛用于分析不同类型社交网络的交互式工具,通常被用作探索性分析的工具,且不仅提供了一组图形化工具,而且提供了操纵社交网络图、多重量度(如密度、平均路径、介数中间性)计算以及社交网络分析中常用算法(如图类聚)的Java API。近些年来,Gephi被广泛用于学习分析研究,特点是快速、简单及模块化,且支持各种社交网络的输入数据格式。因此,Gephi适合做可视化数据分析探索和生成研究发布的效果图。
②EgoNet。EgoNet(http://egonet.sf.net)是一款主要以自我为中心来进行重点分析的免费社交网络分析工具。这款工具一般使用调查工具从个体网络的角度构建社交网络,再通过创建问卷、收集数据,提供可用于其他软件进行后续分析的综合措施,计算用于分析社交网络和生产图的相关测量。且EgoNet具有可视化的优点,便于研究者更好地了解整个网络结构。
③NodeXL。NodeXL(http://nodexl.codeplex.com)是一款简单易用的开源社交网络可视化分析软件,是Micro-soft Excel的一个扩展,优点是有灵活的输入输出及布局灵活。与Gephi类似,它不仅提供了一组用于过滤数据的可视化工具,而且可计算基本网络性质(如半径、直径、密度等)、节点属性(如度中心性、中介中心性、特征向量中心性等)以及其他网络分析方法(如社群挖掘的聚类分析等)。除了可以进行社交网络分析,NodeXL Pro还包含来自多个社交媒体平台(如Twitter、YouTube)的数据;不过它的速度比较慢,只适合处理小规模的数据。
4)过程与序列挖掘工具。除了传统的教育数据分析方法,如预测学习成果或课程持续性,研究人员还旨在追踪学习者活动的顺序,以了解学习策略和过程[11],此时就需要过程与序列挖掘工具。下面介绍通常用于这方面研究的ProM工具。
ProM(www.promtools.org/doku.php)支持多种过程挖掘技术,通常用于分析过程,同时可以进行某种级别的数据预处理。ProM 6就支持在分布式设置和批处理中实现过程挖掘。ProM不仅支持多个进程挖掘算法的连接,还可以在运行时添加新的插件,以便直接集成到分析过程中。更重要的是,ProM允许与现有信息系统轻松集成,无须编程。
4 结语
学习分析工具在学习分析过程中起到很大作用,是促进教育教学发展的关键。本文根据研究者探索问题的路径,讨论教育领域常用于学习分析的20多种工具。教育的需求在不断增长,新的工具也在不断涌现,选择合适的工具进行研究是必要的。因此,笔者希望这篇综述能够对研究这些新兴方法的研究人员在实际应用和使用方面有所帮助。
参考文献
[1]Mayer-Sch?nberger V, Cukier K. Big Data: A Revo-lution That Will Transform How We Live, Work and Think[M].New York: Houghton Miffin Harcourt Publishing Company,2014:181-183.
[2]孟志远,卢潇,胡凡刚.大数据驱动教育变革的理论路径与应用思考:首届中国教育大数据发展论坛探析[J].远程教育杂志,2017(2):9-18.
[3]孟玲玲,顾小清,李泽.学习分析工具比较研究[J].开放教育研究,2014(4):66-75.
[4]Verbert K, Govaerts S, Duval E, et al. Learning dashboards: an overview and future research oppor-tunities[J].Personal And Ubiquitous Computing,2014,18(6):1499-1514.
[5]郭炯,鄭晓俊.基于大数据的学习分析研究综述[J].中国电化教育,2017(1):121-130.
[6]Rodrigo T, Mercedes M, Baker R, et al. Develop-ment of a Workbench to Address the Educational Data Mining Bottleneck[J].International Educational Data Mining Society,2012.
[7]何丽娴,甘淑,陈应跃.基于Python语言的空间数据处理[J].价值工程,2014(36):207-208,209.
[8]陈葡,陈葵,游子毅.基于RapidMiner的SVM分类方法设计[J].电子世界,2015(16):73-74.
[9]周芸韬.基于R语言的大数据处理平台的设计与实现[J].现代电子技术,2017(2):53-56,59.
[10]张信勇.LIWC:一种基于语词计量的文本分析工具[J].西南民族大学学报:人文社会科学版,2015(4):101-104.
[11]Bogarín A, Romero C, Cerezo R, et al. Clustering for improving educational process mining[M]//ACM: In Proceedings of the FourthInternational Conference on Learning Analytics And Knowledge,2014:11-15.