自适应学习的两种设计方案:知识点间和知识点内

这篇文章将介绍两种自适应学习方案:“知识点间”(between knowledge points)自适应和“知识点内”(within knowledge points)自适应。知识点间自适应适合推荐引擎可以控制课程进度的学习场景。知识点内自适应适合推荐引擎无法控制课程进度但是有丰富题库的学习场景。

1.知识点自适应

知识点间自适应方案主要对于知识点的学习顺序进行优化。大部分“基于知识图谱”的自适应学习都属于这个大类下。

这种自适应方案的核心问题是:

假设有一个知识点集合,是否存在一个学习路径,使得学生在掌握前置知识点的前提下,必然能够沿着这个学习路径掌握所有的知识点?

比如说,Khan Academy构建了一张数学知识图谱,为每一个知识点都刻画了一个学习路径。它的暗含假设是,如果一个学生掌握了这个路径上的全部前置知识点,他必然可以通过练习掌握这个知识点。因此,只要按图索骥,就可以避免Khan所担心的知识网络“奶酪式”成长(aka都是洞)的问题。

因为知识图谱上的学习路径是唯一的,Khan Academy的自适应仅局限于对于学习速度的自适应。如果学生A花了一周还没有学会几何法求解空间二面角,他应该花更长的时间来巩固这个知识点直到掌握。如果学生B花了一天就学会了,他应该继续去学别的内容。这相对于统一步调的课堂教学而言,的确是一个实质性的改进。但是,Khan Academy式的知识图谱不能针对掌握水平分布进行自适应。如果学生A并不擅长几何思考,但是熟练地掌握了空间直角坐标系,为什么他不能通过空间直角坐标系来解决这个问题呢?

上述例子展示了绘制知识图谱所面临的巨大挑战。知识图谱是否只有一种画法?同一个知识点是否只有一条路径?ALEKS理论上为这两个问题提供了解答。即使知识图谱不只有一个,通往同一个知识点的路径不只有一条,可以学会全部知识点的可行路径依然存在。但是可行路径的数量级可能在千万级。

仅仅有知识图谱并不足够,系统还需要对于学生在每个知识点上的掌握程度进行诊断。掌握程度(mastery)之所以困难,是因为它是一个不可见的抽象构架。学界和业界对于该如何定义“掌握”存在比较大的分歧。例如,老版的Khan Academy用了最简单的“连对10个就算掌握”的规则。Duolingo也使用预测正确率作为用户掌握某个词汇或者语法的依据。从智能教学系统科班出身的自适应系统,例如卡耐基学习出品的Cognitive Tutor或者Knewton,都使用结构模型来定义掌握程度和做题结果的关联,从而部分抵消题目特性对于掌握程度推断的影响。例如,75分到底是掌握水平高,还是掌握水平低呢?如果平均分是60分(题目偏难),75分可能说明学生的水平相当不错;如果平均分是90分(题目偏易),75分可能说明学生的水平相当糟糕。

传统的知识点间自适应系统只对于学生做过题的知识点进行掌握程度推断。更复杂的一点自适应系统,(例如Knewton),会使用知识点间的关联关系来推断学生未做过题的知识点的掌握程度。这种关联推断只能算是锦上添花。尽管它降低了学生学习整个图谱所需要完成的最低做题量,但是它并没有提供探索可行学习路径的更好办法。

“知识点间自适应”是一个在直觉上合理并且在技术上成熟的设计方案。今天我们在中国看到的自适应学习系统,大部分属于这个类别。然而,“知识点间自适应”系统在美国的实际使用中效果差强人意。Eric Taylor 对智能学习系统的实证效果进行了综述,发现大部分混合教学并没有取得比课堂教学更好的教学效果。笔者认为原因有三:

第一,教材本身内含了一个设计良好的知识图谱和学习路径;由第三方教学专家构建的图谱和路径,未必有久经考验的教材版本效果更好。

第二,“知识点间自适应”要求老师允许学生以不同的速度学习,从而出现自然的教学分层现象。不论从政治环境上,还是从老师的教学负担上,教学分层都只能是一个“看上去很美”的教学设想。由于大部分知识点间自适应系统并没有ALEKS那样的基于掌握水平的自适应,而只有基于速度的自适应,不允许学习速度分化,事实上扼杀了自适应系统的优势。

第三,知识点间自适应和老师的替代性超过互补性,因此老师使用自适应系统后偷懒也可能是效果不章的原因之一。

2.知识点自适应

知识点内自适应方案在给定知识点内的不同题目之间进行筛选和排序。笔者认为这与国内大部分题库产品比较类似。笔者不能确定它们是否采用了这种自适应设计方案,因为它们对于自己的方法论讳莫如深。

“知识点内自适应”是一种颇具中国特色的产品形态。在美国,由于可公开获得的题库不论在数量上和质量上都难以尽如人意,因此大部分自适应学习系统在知识点内都采用计算机出题的模式,包括Khan Academy,Duolingo,Cognitive Tutor和ALEKS。这些题目本身高度雷同,因此并不存在太多的自适应空间。但是这种可控程度较高的练习题生成方式基本没有被中国的教育互联网公司采用。笔者认为一方面是成本的考量,另一方面也是用户体验的考量。从成本上说,在国内获取一个数目客观、质量尚可的题库较挨个知识点写生成器要便宜的多,也要快得多。从用户体验上说,家长和老师可能更希望练习题目应该类似于考试题目(特别是初高中学段)。此外,国内教学环境对于“超纲”比较敏感,知识点自适应在不能自由选择教学进度的前提下并没有太大用武之地。因此,利用一个数量庞大且品质参差不齐的题库进行知识点内练习(和教学)推荐,是一个非常具有中国特色的技术问题。

这类推荐系统需要回答的核心问题是:

假设有一个题库,是否存在一个练习路径,使得学生以最少的做题量达到某个预先指定的熟练程度?

这里有两点值得强调:

第一,这个问题与传统上的计算机辅助测试(Computerized Adaptive Testing),比如ETS的TOEFL和GRE,具有本质的区别。CAT的问题是,假设被试者能力不变,给定一个题库,是否存在一个测试路径,使得系统以最少的题量将学生能力估计到某个预先指定的熟练程度。因为CAT从根本假设上否定了通过练习进行学习(learning through practice)的可能性,因此使用IRT/CAT做推荐引擎的知识点自适应学习产品都有一点“挂羊头卖狗肉”的嫌疑(但是知识点自适应系统并不存在这个问题)。

第二,这个问题与传统上的协同推荐算法,比如淘宝,具有本质区别。协同推荐的问题是,假设每一个用户的偏好不变但是用户之间的偏好不同,是否存在一个办法可以通过用户的行为对于用户进行分类,从而为每一个类别的用户提供更适合其偏好的产品或服务。与CAT系统一样,协同推荐算法从根本上否定了学习的可能性,因此其推荐逻辑不具有教学逻辑。因为有和你类似做题记录的学生做错了这道题,所以你也应该试试这道题。这是一个非常糟糕的教学逻辑(如果有任何教学逻辑的话)。

知识点自适应可以说是一个还有待进一步研究的领域。笔者在此仅阐述一个理论框架。

一个描述动态学习的系统首先要定义什么叫“学习”(learning)。一个直观的办法是把学习和掌握程度(mastery)联系起来,将其定义为低掌握程度到高掌握程度的转换概率。每一个掌握程度由一套可观察的表现来定义。比如,给定一道题,90分以上是精通,60-90是掌握,60以下是未掌握。学习可以定义为从“未掌握”到“掌握”的概率(渐悟),也可以定义为从“未掌握”到“精通”的概率(顿悟)。这并不是唯一的定义方法,但可能是最简单但是不失普遍性的定义方法。

定义了学习,就可以定义“学习差异性”(learning heterogeneity)。差异性是构造自适应系统的根本原因,否则最优的教学方案会是千人一面而不是千人千面。学习差异性可以抽象成:

(1)水平差异性:目标是“精通”,题目对于“未掌握”和“掌握”的学习者的效果应该不同

(2)速度差异性:目标是精通,起点是“掌握”,题目对于一个快速学习者和慢速学习者的效果应该不同。

如果接受这套定义,接下来有两个重要的实际问题需要回答:

(1)上述定义系统中的参数是否可以被数据估计?

(2)如果估计了这些参数,如何构建一个推荐逻辑?

遗憾的是,笔者自己的研究表明,问题(1)的答案可能是否定的。只有在特定的题目顺序结构下,题目的参数和用户的类型才能被估计。但是如果我们忽视速度差异性,问题(1)的答案可能是肯定的。

问题(2)与其说是一个技术问题,不如说是一个教学问题。笔者认为,推荐逻辑应该由“测评-教学”的两步循环来构成。在测评环节,练习推荐侧重于题目的区分度和测量精度,从而区分用户的不同类型;在教学环节,根据学生类型,练习推荐侧重于题目的教学效果。在下一个测评环境,练习推荐再测试学生的水平和类型,如此循环往复,直到学生达到指定的熟练程度为止。

此外,练习推荐也应该注意对于用户留存的影响,如果学生不持续投入地练习,不论推荐逻辑再优秀,也无法展现其应有的效果。