文/李德淇 黄南雄 张凯悦 翟佳鹤 黄钰琪 朱郑州
随着社会的进步,学生学习情况受到越来越多的重视。获取学生学习情况的方式多种多样。但就目前而言,课堂场景下的学生学习状况的外在表现难以衡量。具体而言分为表情识别和动作识别。
人脸表情识别作为情感计算的一个研究方向,构成了情感理解的基础,是实现人机交互智能的前提。人脸表情的极度细腻化消耗了大量的计算时间,影响了人机交互的时效性和体验感,所以人脸表情特征提取成为人脸表情识别的重要研究课题[1]。
有了表情数据,我们就可以有效地辅助老师进行学生课堂表现的判断。比如,根据收集到的表情和动作进行判断后结合当时的知识点来进行记录,最后根据小测或者期末的知识点掌握情况来做验证。
本文分为4个部分,首先总结了前人的研究,然后在此基础上进行了学习者的情绪识别研究,以及根据学习者情绪的成绩预测,最后进行了总结与展望。
过去几年里,学者们从不同角度来进行成绩预测的研究。许多学者从在线学习的数据出发,包括宗阳等人在2016年做的MOOC学习行为与学习效果的逻辑回归分析[2]:采用了课程注册时滞、登录课程次数、提交作业测试次数、习题保存次数的均值和视频观看完成度等自主学习来预测成绩,以及郝巧龙等人在2016年做的MOOC学习行为分析及成绩预测方法研究[3]:构建了MOOC成绩预测模型。
一些学者对成绩预测研究做了进一步的拓展,如唐厚强在2017年做的基于高校论坛数据的成绩预测和学生心理状况分析[4],吴青、罗儒国在2017年做的基于在线学习行为的学习成绩预测及教学反思[5]:通过人口统计信息、自主学习行为和写作学习行为来预测学习成绩。
更有拓展到根据线下某些行为来做成绩预测的研究,如宋韵涛在2017做的基于一卡通数据和多元线性回归的学生成绩预测模型[6],刘譞在2017年做的基于学生行为的成绩预测模型的研究与应用[7],使用到了包括成绩数据、门禁数据、消费数据以及借阅数据。
另一方面,基于情绪智力来进行学习成绩预测的研究也在不断进行。朱仲敏在2004年做了情绪智力与认知智力、人格特质、学业成绩的关系研究[8],认为情绪智力对成绩的影响不显著。但王平在2012年做的能力情绪智力与人际关系、学习成绩的关系研究[9]提出在控制人格因素后,情绪智力依然对成绩有显著的预测作用。
对于情绪的度量,Schlosherg[10]首先提出了描述表情的3个量化尺度:注意-拒绝、高兴-不高兴和活跃程度,到 20世纪 70 年代美国心理学家Ekman 和 Friesen[11]通过充分的测试实验,定义了人类的 6 种基本表情:高兴(Happy)、生气(Angry)、吃惊(Surprise)、 恐惧(Fear)、厌恶(Disgust)和悲伤(Sad),随后 Ekman 和 Keltner[12]更进一步细化及完善了面部表情。
本文在前人研究的基础上,提出了一种不依赖于测验或量表的根据学生线下课堂的情绪表现来进行成绩预测的方法,研究框架如图1所示。
1.首先通过对学生课堂学习的影像记录,结合基于深度学习的计算机视觉技术,提取出人脸关键点。
图1 研究框架
2.其次通过人脸关键点的位置来进行情绪识别。
3.最后通过梯度提升决策树来根据识别到的情绪来预测学生的期末成绩。
本文使用The Extended Cohn-Kanade Dataset(CK+)人脸表情数据库用于自动面部图像分析和合成以及感知研究。 CK +[13]数据集是在 Cohn-Kanade Dataset 的基础上扩展来的,发布于2010年,包含图像、68个特征点的序列、FACS编码文件以及情感编码文件。
我们选取了327个带emotion标识的sequence, 并选取最后一张Frame为输入,先抽象出一层特征,再根据特征来进行识别,
共使用四种类型的特征:如脸长脸宽等长度、脸部长宽比等比率、上唇到鼻子等距离以及单侧嘴角上扬等角度。
最终我们选取了25个特征,其中的一部分见表1。具体数字代表的是特征点的位置,在人脸中的位置详情见图2。
对左右对称的特征进行了左右取值并取两者最大。对全脸且分左右的特征(如脸宽):取脸宽,左半脸宽两倍,右半脸宽两倍中的最大值。对于特征点全为0的脸,标为neutral,并不计算准确率。
我们采用25个特征作为输入,使用kNN输出表情类别。并使用了MIN-MAX标准化,在采用50%作为训练集的情况下取K值为10,测试集的精确率为75%。从第一类到第七类的具体分类结果:错误个数分别是11、 0、8、 6、5、 9、 1,正确率分别是75.6%、100%、86.2%、76%、92.8%、67.9%、98.8%。
表 1 部分特征
图 2 人脸位置点
经过观察可发现,在数据集中占比较小的分类的精确度要相对低,我们分析可能是由于K值较大的缘故。于是进行测试:取K=10时准确率为75%,各表情错误个数分别为11、0、8、6、5、9、1,取K=5时准确率为77.3%,各表情错误个数分别为11、0、10、5、4、5、2。
可以看出第4/6位这些占比相对较低的表情准确率上升,sadness的错误个数减少44%,正确率由67.9%提升到82.1%。最后,对整体的训练集比例进行调整,整体准确率能达到83%,准确率可上升到91%。
我们将本文所提到的情绪识别算法准确度在CK+数据集中的结果与常用算法进行了对比,结果良好,具体见表2。
kNN算法的一个缺点在于当数据量大时会带来大量的计算。所以特征压缩成为了应用时速度的决定因素。这里我们做了一个测试来比较21个特征和11个特征的效果。取50%作为测试集。取21个特征时准确率为75.46%,取11个特征时准确率为72%,见表3。由此可知11个特征很好地表现了数据,更多的特征则可以更好地描述数据,但会加大计算复杂度。
表2 情绪识别结果对比
在成绩预测部分,我们以某大学选修《软件工程》的33名第二学位学生为研究对象,对他们的课堂情绪数据进行清洗、融合等操作后,最终设计了基于课堂情绪的成绩预测模型,并通过实验进行了评价。
我们使用了GBDT作为算法,GBDT(Gradient Boosting Decision Tree)是一种迭代的决策树算法。由多棵决策树组成,结论累加为最后答案。
Boosting的思想是给定初始数据训练出第一个学习器,然后根据学习器的表现对样本进行调整,具体而言就是每个样本乘一个系数,之前做错的样本乘的系数会比较高。然后再根据调整后的样本训练下一个学习器,最后将重复N次形成的N个分类器进行加权的结合。而Gradient Boosting的思想是,损失函数越大说明模型越容易出错,如果损失函数持续下降,则说明模型一直在进步。而要做到这一点,很好的方式就是让损失函数在其梯度的方向上下降。
表 3 特征压缩分析
Decision Tree在这里使用的是回归树,这个弱分类器简单、低方差和高偏差,可以通过多轮迭代训练来降低偏差以提高最终分类器的精度。
对于最终模型,我们使用了解释方差(explained variance)作为评价指标:
最大值是1.0,代表预测的目标响应是最好的,越小就代表预测结果越差。
图 3 基于二分情绪和出现频率的结果
图 4 基于细分情绪的结果
图 5 基于细分情绪及知识点的结果
1.基于课堂情绪预测期末总分
基于二分情绪和出现频率预测期末总分:输入为3列,从第一列开始分别是ID、积极情绪(包括happy,surprise)在总教学时间内出现的概率、7种情绪出现的总次数。输出为期末总分。取随机数为709,保证数据集分割结果一致,如图3所示。
基于细分情绪预测期末总分:输入为9列,从第一列开始分别是ID、知识点、7种情绪(anger,conte mpt,disgust,fear,hap py,sadness,surprise)在总教学时间内出现的概率(总和为1),输出为期末总分,如图4所示。
2.基于知识点和课堂情绪的成绩预测
输入为9列,从第一列开始分别是ID、知识点、7种情绪在此知识点教学时间内出现的概率,输出为知识点的得分百分比,如果期末考试中没有对应的知识点则用总分代替,如图5所示。
本文首先实现了一个情绪识别模型,与以往的常用模型相比,准确率提升了0.92%~1.83%,并将其应用到了课堂场景下来获取学生情绪。
其次,本文将情绪分析用于课堂场景来完善大数据在教育领域的应用。并提出了几种可能的应用方式:根据二分情绪和预测频率来预测期末表现、根据细分情绪来预测期末表现,以及根据知识点和细分情绪来预测知识点表现。
主要不足之处在于未充分利用数据的时序特征。未来可以考虑的方向有:
1.引入时序特征:基于情绪变化类型对学习有影响的假设,探究并验证表情时序变化的类型,以及这些类型与学生或成绩的联系。
2.拓展数据来源:引入更多的课程或学生。可能的研究方向有:探究同样学生在多元课程类型下的情绪及成绩表现,探究不同专业学生在同一课程类型下的情绪及成绩表现等等。