付煜,邓钰巧
(四川大学计算机学院,成都 610065)
比起传统教育,在线教育有许多优点,例如可以随时随地接收教育,解决了教育资源分配不均匀的问题等。过去的几十年间,在线教育发展迅速,在线教育系统和软件如雨后春笋般涌现出来,如国内的慕课网、网易云课堂、实验楼等,国外也出现了许多在线教育系统,如 Auto Tutor、Crystal Island、Wayang Outpost、Cognitive Tutor Algebra等[1-4],这些系统已经证明在高等教育背景下获得了成功,提高了学习者的学习表现。但在线教育也存在一些弊端,与传统教育相比,导师与受教的学生之间隔着屏幕进行交互,而不是像传统教育那样面对面交流,所以在线系统无法侦测到学生在学习过程中情感状态的转变,缺少了必要的社会交互和情感交流,长此以往,容易导致学生的学习动机减弱,进而使得在线学习过程难以长久维系。
我们期望在学习过程中,能够自动识别学生的情感状态,并自动调整学习策略[5],为学生提供必要的情感支持和情感干预。(例如,当侦测到学生的困惑感时,系统给出一定的提示;当系统检测到学生的挫折感时,系统给予学生鼓励等),有可能提高学生对课程的积极性,增加学生的参与度,提高学习者的学习能力[6]。
现有的方法大多使用Sensor-Based的情感检测器来检测情感,近些年来,研究人员使用物理传感器(主要包括生理传感器(如温度、湿度、心率、肌电信号等)、情感行为检测器(面部表情检测设备、自动语音识别设备、姿势识别设备等))进行情感检测取得了重要的进展[7-8]。但这种方法在教育环境中可能会受到挑战,因为①Sensor-Based检测器成本高昂,且;②会在进行情感检测时,对学生的情感造成干扰;③政治原因;④学生并不期望在学习过程中被检测情感等原因,传感器难以部署在教育环境中。
所以,在教育领域,大家开始研究基于学生与在线学习系统之间交互事件的情感检测技术。期望通过基本的键盘、鼠标、日志文件和文本等交互信息[2,9-10]来识别学生学习过程中的情感状态[11],这些数据是交互过程中产生的低层数据,易于在线课程中进行采集。这些模型大多基于机器学习算法开发,机器学习检测器可以识别出一定程度的情感状态,但这些检测器往往不能达到足够高的预测准确率来证明它们适合用于在线学习系统中的实时干预。于是Botelho和Baker等人[12]考虑将深度学习方法用于构建情感检测器,通过比较之前使用的机器学习算法和传统RNN(Recurrent Neural Networks,循环神经网络),构建的情感检测器,来证明深度学习方法适用于教育领域中的情感检测。
本文讨论当物理传感器不能实现时,仅根据学生和在线学习系统之间的交互数据来检测学生的情感状态。本文概括了这一领域近些年的研究成果,对基于交互的情感检测模型,情感检测方法,编程环境中的行为进行了论述,并对情感检测中的情感标签进行了讨论。
由于物理传感器大多价格高昂,而且有的传感器体积较大,所以想在教育环境大规模部署传感器是不现实的,因此基于传感器的情感检测方法在实际实施的时候具有较大的阻力。基于交互数据的情感检测模型[9]可以只通过用户与在线学习系统的鼠标、键盘等交互数据识别用户的情感状态。
第一个基于交互的Sensor-Free(无传感器)情感检测器是Kurt开发的Why-2Atlas[13]。该系统主要通过来学生为简单机械现象(如惯性运动)进行解释来教导定性物理学。Why-2Atlas中的所有学生交流都是通过自然语言文本实现的,研究通过比较几种不同的NL(Natural Language,自然语言)处理技术,希望开发能促进导师系统发展的工具。
D'Mello团队通过对话线索来预测学生学习过程中的三种情感状态(灵感、困惑和挫折感),这项实验仅仅包含了7名学生的数据,并取得了成功。随后,他们发表了第二篇文章[15],该文章模拟了28名学生的困惑、flow(专注、参与)、挫折和中立情感状态。除了在第一篇文章使用过的emote-aloud方法[14]外,本研究还使用了来自学习者同伴的标签和两名在面部动作编码系统[15]中接受过训练的评判者的标签。然后,他们从交互日志中提取了一系列的交互特征和上下文特征,并使用六种机器学习算法构建模型,通过交互特征来预测每个学生的情感状态。其中最好的检测器是基于逻辑回归模型的(挫折或flow)检测器。
在2009年,情感检测被用于BlueJ交互式开发环境[16],它教本科生用Java进行编程。由Rodrigo和Baker为这个环境开发了一种仅根据学生交互行为推断出学生挫折情感的模型。在这项工作中,数据是从本科计算机科学课的实验任务中使用BlueJ获得的。BlueJ中学生编译行为的特征是从日志文件中提取出来的,包括在连续两次编译之间的时间等特征。线性回归模型被构建用来检测学生的挫折感。在这篇文章中,挫折感是在一个粗粒度的层次上被检测出来的,研究检测的是学生在整个实验阶段而不是在特定的时间感受到的挫折程度。除了提供一个检测挫折感的平台[4],BlueJ还提供了一个检测困惑感的平台[17]。在这项工作中,同一个计算机程序的8个学生的编译序列通过文本回放显示给专家程序员[18],专家从学生是否出现困惑的角度进行了评估,学生编译行为的特征被提取,并且使用J48决策树算法构建了情感检测器。合成的检测器在学生层面使用原始数据分布,发现根据文本回放对学生的困惑感评估的k值为0.86——这项工作的一个局限在于原始的困惑训练标签是由程序员识别学生们是否陷入困境(那些似乎不了解如何创建一个正确的程序的情况)。
基于交互数据对学生进行情感检测的第六个程序是Crystal Island,出现在2011年,在一个叙事为中心的学习环境开发中学生的科学探索能力。Sabourin、Mott和Lester[19]通过要求学生在每7分钟快速出现的一个弹窗项目中识别他们焦虑、无聊、困惑、好奇、兴奋、专注和沮丧感来收集学生的情感数据。就像Rodrigo和Baker[4]的研究一样,这项研究是在一个教室中进行的,而交互特征是从收集到的学生数据中提取出来的。Sabourin等人使用动态贝叶斯网络对情感进行建模。最后在学生水平,在原始数据分布上进行了交叉验证,将每个情感状态与所有其他情感状态进行比较。结果表明,这种方法能够成功地识别好奇的学生(比随机情况好24%)和专注的学生(比随机情况好38%),但他们的模型在识别学生困惑感(比随机情况好19%),沮丧感(比随机情况好14%),无聊感(比随机情况好10%),兴奋感(比随机情况好6%),或焦虑感(比基线差3%)上不太成功。由于交叉验证是在学生水平和原始数据分布中进行的,消除了先前研究中提出的一些潜在的问题。
第7个研究项目在Cognitive Tutor Algebra[20]中检测学生的情感,这是一个为学生第一年的代数课程提供辅导的项目。在Baker等人(2012)[2]的研究中,当他们使用Cognitive Tutor Algebra作为他们常规课堂活动的一部分时,89名学生们被使用BROMP方法进行观测,经过培训的现场观察员为每个学生是否无聊、挫折、困惑、专注或“其他”情感进行编码。学生与Cognitive Tutors的交互特征,包括学生的当前动作相关的特征(如学生是否在当前的动作请求帮助和学生请求帮助后暂停了多久)和学生过去的行为相关的特征(如学生在当前技能上犯的历史错误)被提取出来。接下来,研究了一组算法,包括K*(在专注度维度表现最佳)、JRip(在困惑维度表现最佳)、REPTree(在挫折感维度表现最佳),和朴素贝叶斯(在无聊程度上表现最佳)。最后,研究者在学生水平和原始数据分布对这些仅使用交互数的检测器进行了交叉验证——他们的检测器能够检测到专注度(K=0.31)、困惑感(K=0.40)、沮丧感(K=0.23)和无聊感(K=0.30)。
Luc Paquette和Ryan Baker[21]在他们2014年的研究中提出了在仿真的科学探究学习环境中进行无传感器的情感检测方法。这些检测器根据学生与学习环境的交互日志来推测学生的情感。论文使用的Inq-ITS学习环境是一个基于Web的在线学习环境,允许学生对中学物理进行模拟的探究学习。研究人员在2011年收集了326个学生使用Inq-ITS进行科学探究的数据,这些学生来自马萨诸塞州3所学校8年级11个不同的班级。四个专业的现场观察员根据学生使用软件的行为(动作、词语、面部表情、身体语言、与老师和学习同伴的交互等)对学生的情感进行编码,根据观测,观察员把情感编码为五类:无聊、困惑、挫折、专注和“?”(不能编码的情感状态),总共观察到了326个学生4155个观察轮次的数据,每次观察都超过了20秒。使用J48决策树和JRip算法构建情感检测器,这种检测器允许对学习结果对应的不同情感状态进行细粒度的分析。论文中提出的检测器可以被用来研究Inq-ITS系统中的特定特征对于情感状态的出现是否有影响,例如,60.53%(38个观测中的23个)的挫折情绪出自一个文本框打开并且很快又被关闭的时候。结果表明,检测器在四个情感维度上的表现都比随机和以往的无传感器情感检测器更好(A'=0.50,kappa=0.0),在学生级进行交叉验证的平均Kappa值为0.354,平均A'值为0.720。
2017年,Anthony F.Botelho 和 Baker等人[12]使用深度学习来改进无传感器的情感检测,通过使用传统循环神经网络(RNNs)[22]来增强无传感器的情感检测。他们希望研究深度学习方法是否能比先前的算法产生更高的预测精度。研究者从ASSISTments学习平台[23-24]中提取了用于评价作者所提出的用于检测情感状态的深度学习方法的数据集。ASSISTments是一个免费的基于网络的平台,提供即时反馈给许多在教室和家庭作业中使用它的学生。在2015-2016年间,该系统有近40000名学生和将近1400名老师使用了该系统。该数据集中使用的基础情感真值标签来自于使用Baker-Rodrigo Ocumpaugh监测协议[25]进行的内部人员观察。由训练过的现场观察员观察在教室环境中使用ASSISTments学习平台的学生,并将他们的情感标记为无聊、沮丧、困惑、专注或其他(不能被编码)。他们循环收集超过20s的情感观察数据,遍历教室中的每一个特定学生。在城市、郊区和农村地区的六所学校的646名学生中,总共获得了7664个实地观察数据。研究人员根据这些数据开发了51个动作级特征;这些特征包括响应行为、系统内的时间、提示等。最后,作者将这些标签和特征输入到三个深度学习模型中,分别是递归神经网络(RNN)、门控循环单元(GRU)神经网络和一个长短时记忆网络(LSTM)。结果表明,所有这三种深度学习模型都比使用传统的机器学习算法(例如文献[25])所产生出的最佳模型获得了更好的AUC。然而,Cohen's Kappa要比之前的研究结果稍差一些。
计算机编程是一项困难甚至艰巨的任务,但确是计算机科学与技术这门课程中必不可少的一项技能,在信息化的时代,编程能力将会成为未来的主要竞争力。培养学生的编程兴趣是一个主要的研究目标。
在编程环境或介绍性编程课程中通过识别学生的情感来为学生提供情感支持的研究存在许多的问题和局限性。首先,我们如何收集学生的数据?现如今主要有观察法(包括现场观察和视频观察)、自我报告法(包括Emote-Aloud方法和调查问卷法)以及日志文本注释法。这些方法各有优缺点,如何选择或者如何组合都成为了未来研究的挑战。其次,可否使用基于传感器的方法来辅助我们模型的建立,只通过交互数据和摄像头采集到的面部表情数据来提高模型的预测准确性。先前的研究中使用的数据样本集都太小,导致模型训练出来的结果比起基线都没有较大的该进。而且选用哪些特征也变成了研究中的一个工程问题,从在线教育领域中选取的特征是否同样适用于在线编程环境?在线编程环境选取进行研究的频繁的情感状态,如好奇,是否在教育模型中同样适用。
未来的研究主要考虑情感和交互事件之间的关系,使用无传感器的情感检测器,根据学生与编程环境产生的交互数据来识别学生的情感状态。考虑多种机器学习算法和深度学习方法构造的检测器之间的性能优劣,实现能准确识别学生的情感状态(积极的、消极的)的情感检测器,并考虑模型的可用性、有效性、高效性、鲁棒性、易用性和可扩展性。提高检测器的检测性能,并为编程学生提供必要的情感支持,提高学生的编程兴趣,维持可持续性编程。