(图片来源:Pixabay)
自适应学习(adaptive learning)的概念在国内甚是火热,教育创业公司的BP里不写个“大数据驱动的自适应学习”都不好意思跟投资人打招呼。它既有现代“大数据”+“机器学习”的炫酷外衣,又暗合儒家传统中“因材施教”的内家功夫,岂有不火的道理。
但是究竟什么是自适应学习系统?怎么做个性化学习推荐?不仅许多教育创业公司的公关文语焉不详,行业内领先的个性化学习服务提供商也讳莫如深[1][2]。本文试图以平易近人的方式来演绎这两个问题的答案。之所以说是“演绎”,一方面是因为文章为提高可读性而牺牲了严谨性,各位专家请勿较真。另一方面,诸位看官若自己读出业界奥秘,我不得不声明“本文内容纯属虚构,如有雷同,纯属见鬼”。
言归正传,作为教学行业的有为青年,在这个万众创业的大潮之中,你也跃跃欲试。你准备把个性化教育推荐作为创业方向。于是你找来在淘宝这个中国最成功的推荐系统(之一)中浸淫多年的好兄弟陶小二叫来一起商议。
莱布尼茨1.0版本:隐状态的推断
陶小二说,让我们从基础开始。假设有个亲在我店里买了一件“欢乐颂安迪同款连衣裙”,我该怎么为用户推荐下一个产品?首先我猜测这个亲是“欢乐颂安迪”的粉丝,因此可以向她推荐其他“欢乐颂安迪”的服饰。这个亲是不是“欢乐颂安迪”的粉丝并不能被你观察到,而是一个不可见的潜在状态,称之为隐变量(Latent state)。但是我们可以观察到她的购买行为,这是显示行为(observedbehavior)。通过显示行为来猜测隐变量的取值,就是推断(inference)。推断用户的偏好,并加以利用,是推荐算法的内核。
于是你想到,1.0的莱布尼茨系统应该具备通过题目推断知识点掌握程度的能力。一个学生做错了一道一元二次方程求根的题。我们应该在这个知识点上推荐更多的题。尽管学生对于“一元二次方程求根公式”这个知识点的掌握程度是不可观测的隐变量,但是学生做题的结果是可以观测的显示行为。如果能通过做题结果判断学生薄弱知识点,那么就可以有针对性的推荐学习内容。
但是这也意味着一个知识点下要储备相当数量的习题,这些题目哪里来?是不是要考虑针对各地考试风格差异化?是不是考虑题目的教学价值和用户体验?这么粗的大腿要去哪儿抱呢?抱不到大腿,线上扒题,会不会因为版权问题被告的内裤都赔掉?
莱布尼茨2.0版本:基于知识图谱的推荐
正当你苦思不得解之时,陶小二继续侃侃而谈:我进一步猜测这个亲可能是刘涛粉,因此可能粉刘涛演的其他影视作品,我可以向她这些剧的同款。当然我还可以猜测这个亲是欢乐颂粉,因此可能粉欢乐颂其他角色,我可以向她推荐这些角色中的同款。如果我构建的“知识图谱”是靠谱的,用户的确有爱屋及乌的行为模式,那么即使没有这个亲在这些款式上的搜索数据,也可以进行有效的偏好推断。推荐系统的核心优势在于理解用户的消费行为模式[3],从而见微知著,洞察人心,无中生有。
你想此言甚是。假设我们构建的知识图谱中“一元二次方程的一般形式”是“一元二次方程求根公式”的前置知识点,“一元二次方程根的个数”是它的后置知识点。当学生做错了一元二次方程求根的问题,可以猜测是否其前置知识点出了问题,因此应该推荐以便于诊断;当学生做对了一元二次方程求根的问题,可以猜测是否其后置知识点也已经掌握,因此应该推荐以便于巩固。做错时沿着知识图谱向上游推荐,做对时沿着知识图谱向下游推荐,听上去似乎很美[4]。
但是如何知道这个知识图谱是正确的?求根公式是不是可以继续被切分成“根的判别式”和“一元二次方程的根”两个小知识点?正确使用求根公式需要分类讨论的数学思想,数学思想应不应该被列入“知识图谱”?求根公式的计算需要“开根运算”,求根公式的推导需要“配方法解方程”,这些是不是应该列为前置知识点?知识图谱的粒度、广度和连接度看上去是一个深不见底的天坑[5]。
莱布尼茨3.0版本:建立内容和知识图谱的拓扑关系
当你又陷入苦思时,陶小二一拍大腿说,坏了,之前我只看见了“欢乐颂安迪同款”,而完全忽略“连衣裙”这个关键词。增加了这个新关键词后,可能有两种改进方向:第一,假如这个亲并不是任何粉,只是想买一条连衣裙,两个关键词对应到这个产品的关系是“或”:因此,推荐中应该增加其他与欢乐颂无关的连衣裙产品。第二,假如这个亲既是粉,又想买一条连衣裙,两个关键词对应到这个产品的关系是“与”:因此,推荐中应该高亮既是欢乐颂安迪同款又是连衣裙的产品。
你砸吧了一下陶小二的话,不禁心里叫一声“苦也”。这意味着莱布尼茨3.0版本不仅要正确绘制知识图谱,而且要正确地建立内容和知识图谱的拓扑关系[6];这事儿可不好办。你回想了一道一元二次方程的简单应用题:
假设篱笆总长10米,一面靠墙,围成菜园的面积是12平米;这个菜园的长是多少?
这题的知识点可以被标注为长方形面积+一元二次方程的求根公式。但是,这题也可以用因式分解来解答。因此,这题的知识点打法也可以是长方形面积+因式分解求根。这两种解法内部是乘法关系(即必须都掌握才能解出这道题),两种解法之间是加法关系(掌握至少一种就可以解出这道题)[7]。此外,可能出现学生三个知识点的计算都没有问题,但是在这道题上就是不能够把问题表述为一个一元二次方程:数学建模的能力应该如何标记?[8]
尾声:莱布尼茨的诞生
和陶小二商谈得越久,你越觉得做一个靠谱的个性化学习推荐系统实在太不靠谱了。正当你为此神伤时,隔壁王大爷朗声道:傻小子,学习推荐这事儿还不好做;不是太难,不是太容易,不就完了么!你一听,如梦方醒。陶小二这套,家长那儿说不清,投资人那儿听不懂,怎么搞钱。王大爷大道至简,大智若愚,真是一语道破天机!
当媒体记者在你融资成功的发布会上问你这款以知名数学家命名的个性化学习产品的魅力何在时,你淡淡地说:
我们采用美国ETS的成熟技术[9],对于海量教育大数据进行深度挖掘,为用户提供了难度适宜的精准教育学习服务。
记者闻之,脸上露出了既迷茫又尊敬的神色。
[1]唯一例外的是在国内默默无名却被麦格劳希尔高价收购的ALEKS(Adaptive LEarning Knowledge Space)。这个系统早在1990年左右就公布了其核心技术的概要,在2000年就基本披露其技术的实现和存在的问题。Khan Academy有一段时间开源了其代码,其核心人员也披露了早期的测评技术方案,但是KA的自适应主要靠用户自选,而不是算法推荐
[2]莱布尼茨的对头的白皮书是可以Google/Bing得到的,但它并没有介绍实质性的技术细节。
[3]事实上商业推荐系统一般不基于知识图谱做关联推荐。关联推荐最常见的是基于物品特征的关联推荐以及基于用户行为的关联推荐(例如买了物品A的还买了物品B)。这里为了剧情需要,强行拉郎配了。
[4]事实上在Probabilistic Graph Model中,假定正确的结构,节点上下游的隐变量的后验状态都可以改变,而不局限于做错推上游,做对推下游的逻辑。这个推荐逻辑结合了教学方法。
[5]知识表达(Knowledge Representation)是一个单独的研究领域,已经有前人做了相当深入的研究。但是在学习领域,知识图谱是否普世,是否可以不依赖于单纯的专家系统,都是悬而未决的问题。从实践来看,即使是莱布尼茨的死对头创制的知识图谱,也未能尽如人意。
[6]莱布尼茨的死对头事实上不解决拓扑关系问题,主要是大洋彼岸的题目在知识点整合上不如大陆这般丧心病狂
[7]在默认长宽是整数的前提下,可以使用穷举法,跳过一元二次方程的相关知识!
[8]正确标记拓扑关系对于精确估计学生的知识点掌握程度至关重要。这里涉及到复杂的数学和统计学知识,我们只举一个最简单的例子。假设一个题目被标记为知识点A和知识点B的乘法原理,我们知道学生在这道题上的正确率是16%。那么可能有两种推断:知识点A掌握程度是80%和知识点B掌握程度是20%,知识点A掌握程度是20%和知识点B掌握程度是80% 。尽管这两种推断是等效的(observational equivalent),但是它们的教学含义差别极大。
当然,知识点A和B的具体掌握程度可以用多道知识点结构不同的题目来交叉推断,但是从实际操作层面来讲,这就增加了更多不确定性:所有题目的知识点要标记准确,其拓扑方式也要标记准确,一个学生完成了足够多的多样化的题目来确保参数估计的收敛。
[9]我并不认为IRT本身是一个劣于PGM的技术。恰恰相反,从测评的角度出发,我认为IRT是一个在建模上更为精炼,在估计上更为精确,在实践中更为有效的技术。黑一下IRT,是因为很多系统在IRT技术上至少晚ETS20年,一些系统可能要晚30年。关于IRT在教育测评领域运用的一个全面介绍和严谨评价,请参见:
https://www.ets.org/research/policy_research_reports/publications/report/2013/jrmd
本文转载自爱行知,作者冯俊晨
来源:爱行知