关于知识与题库构建初步(1)——教育测量与评价初步

 

本节开始,我们插入两节,从一个知识点的探讨开始,展开讨论知识这个话题,并以题库构建为例,来讨论我们对于知识的理解和教育测量与评价转向的解读。本小节是第一部分,引言转述讨论的问题,并列举我们过往对知识点和题库的建设思路。...



关于知识与题库构建初步(1)

1. 引言

一个朋友发来消息讨论知识点相关的话题,越聊越深入,很多地方也是我不能清楚的。但这种探讨非常有益,激发起了我进一步的思考欲望。所以我想把自己关于知识和题库构建的认识,整理给大家分享一下。

引言中先给大家转帖一下我们讨论的内容。



[客问]

老师们惯用的“知识点”和陈述性知识及程序性知识是怎样的区分与联系呢?专家的知识是以大的“概念”或大的观点组织的,是条件化的;这又和知识点有什么联系?专家模式和知识点又有什么的联系?

[简答]

老师们惯用的知识点其实不是一项具体的知识,而更多是一个对知识内容抽象出来的概念,比如“函数”,“二次函数”,“函数定义域”,都是常见知识点。接着,“函数是由一个集合到另外一个集合的映射”,这是一个陈述性知识,孩子需要记忆及浅层的理解,而程序性知识,往往需要一个操作过程,如“求函数的定义域”,涉及到方法和操作过程。专家知识在认识论层面,往往表示那些专家们对知识掌握的精深——到底蕴含了什么?一般常说的有两个不同,其一就是专家的知识是有结构的,知识之间有联系;其二就是专家的知识有应用的条件,知道一项知识适合的场景与局限(以进行应用和迁移)。所以我们的教育中,即使给学生教授知识,也要考虑到知识在掌握的目标上,还有很多的层次。不说教学法,从内容(课程目标与体系)这一端,也需要很多这样的考量。

[客问]

安德森,豪恩斯坦,乔纳森,感觉他们在认知过程维度进行的分类很让人体会不到原则,感觉起来很不踏实。要怎样理解“理解”这一概念呢?对于某个具体对象,属性,现象,过程等,怎样才算是理解了呢?专家深刻掌握知识,表现为有结构和条件化。有结构和条件化具有怎样的联系?有结构像是对知识的形容,条件化是对专家解决问题的形容。难道专家解决题目时是根据题目里有什么条件然后采用什么知识这样的方式解决问题的?不过听说专家总是试图先理解问题,从大的概念对问题分类,像是从上往下来解决问题,而不像是从条件入手。

人是如何学习的,上提到专家能识别新手注意不到的信息特征和有意义的模式。这个识别过程用,专家是怎样用自己的知识呢,来做到识别出了那个模式的呢?一直理不清专家模式,概念框架,知识结构,条件化,知识图谱等概念?

[简答]

好问题,已经超出我能回答的能力:)目前我对学习过程的疑问也很多,且没有看到足够的材料和数据;学习科学也在研究,无论是看专著,还是找人讨论,都没有看到比较好的解释。安德森等他们的教育目标分类,有一些原则,他们也号称有实证证据,但教育目标分类有二十几个框架本身也说明,大家是有不同意见的。就像你提到的,为什么认知分六个层次,它们是真的有层级的吗?安德森的“理解”有具体定义,肯定是和老师们说的那个“你要深刻理解”的理解的意思不太一样。知识的结构和应用条件,是如何在人脑中形成,以及,专家们是如何解决问题的,创造性怎么形成,这些素养如何培养——我觉得都没有那么清楚。西方是实施以学生为中心、建构主义方式的学习的,但也有人反思建构主义是否有问题。《人是如何学习的》,有这么一本书,可以看看,虽然可能也解决不了疑问。在理论层面思考有疑问难以解决的时候,我就想找学生学习数据和教师教学数据来看,回头再想想。或者聚焦到一个学科,一堂课,若干学生,思考起来更容易界定和分析问题:)和你聊天感觉挺好的。谢谢。

后面找个机会,我理一理我对知识结构、内容建设的看法和认识。

2.关于知识点的一篇旧文摘录

大概在2014年,曾经受邀给“芥末堆”写过两篇关于“知识点”的技术文章,现在把其中与模型、公式相关的部分拿掉,仅看一看当时从一个人工智能文本挖掘的技术角度,我们是怎么探讨知识点的。

    导读:因为篇幅关系,我们将优质题库建设中的题目知识点标签挖掘分为两部分。这一篇是上半部分,我们将重点阐述在线教育中优质题库建设的重要性,并分析我们在不同产品应用的需求中,我们需要什么样的知识点标签;并进一步,我们对知识的标签自动挖掘的问题做出明确定义,基于此,我们给题目知识点标签自动挖掘做出技术分解,并对每一个任务给出技术关键点。

2.1. 在线教育与题库建设的背景

    大数据和数据挖掘对于互联网教育是至关重要的,我们今天集中在一个具体的点上来展开和揭示这一点,这个点就是题库建设中的知识点标签挖掘。

在整个教育的实施过程,尤其是备、讲、练、测各个环节,今天都已经有互联网教育产品在尝试,而其中练和测,都是以题库建设为最重要的基石。题库整体设计的合理性,以及质量,是这一类互联网教育产品成败的关键。而业内的同学都知道,题库建设,又是最耗费人力物力财力的,既是苦活累活又是对教育的理解、技术能力的把握有极高要求的活。

    具体而言,在题库建设过程中,并不是简单的数量的堆积,如果不考虑地区差异、应试要求不同和实效性等因素,K12阶段一个学科一个学段以千规模知识点、一个知识点以几十道题目为例进行估计,那么一个学科优质题库的规模为十万规模,而有同学似乎说应该很容易可以凑齐这么多、甚至百万规模——但是,优质题库除了题目质量,以及对教育内容(教材)的匹配度之外,还有两个根本性问题,其一是解析书写,其二是知识体系构建和知识点标签标注。若没有对这些核心因素的优化,题库很容易构建成一个普通或垃圾题库,对于教育产品应用和用户而言没有任何价值,甚至是有害的。而就是对于这些因素的优化,导致了优质题库的建设门槛,以及极高的成本。

所以,对题目的知识点标签的标注,以及知识体系的构建,是优质题库建设过程中最为核心的问题之一。

2.2. 题目需要什么样的知识点

    在考虑这个问题的解决方案的时候,我们首先要考虑的是,我们需要什么样的知识体系和知识点标签。这个问题并不是很容易回答。

首先在教材和教学大纲中,以及各种教辅中,会有各种对“知识点”的描述,例如英语中的语法,以及词汇等,例如数学中的知识点,如函数、定义域、值域或解析式等,有直接的概念,也有方法的应用,有专题的抽象,也有相似解法的巧妙汇总,等等——总而言之,这并没有一种标准的体系,就其名称、内涵、粒度、层级,乃至所谓知识点之间的关系或联系,出自各种来源可能是千差万别的。这里既需要教育专家的高屋建瓴,也需要一线教师的灵活经验。

    其次,作为数据挖掘的任务而言,我们会关心——就标签集合而言,这是一个封闭集还是一个开放集,同时,我们会关心一个“知识点”标签,是一个分类概念还是一个关键词(或者是关键词的组合,短语搭配)。这个定义的明确,对于数据挖掘的问题定义十分关键,也基本决定了后面的方案的选择。但这个明确,不仅要考虑教学意义,同时需要考虑产品对于知识点标签的使用方式,尤其是后者,可能是更加重要的因素。

举例而言,如果题库用于老师或者教研员辅助组卷,知识点标签作为导航或过滤使用,最好是通用的、概念明确的分类概念标签,加之以自由query来组合使用,这种场景需要一个精准明确的大粒度分类体系和标签集合,层级不需要很多。如果用于学生的自学推题,并显性化分析报告,那么知识点的标签应该要能够描述题目测验的核心知识点、方法或思路,要能够区分对于学生的能力要求点,这样才能构建更为强大的用户模型和推荐引擎,同时报告也方便针对性分析和理解——这个时候需要采取的分类体系和标签集合,其知识点的粒度要足够精细,而知识体系的层级就会大很多,同时,“知识点”即使不是标准体系,也需要大多数的老师和学生认可或一定的使用度。但如果这个知识体系和知识点标签,仅仅是作为系统内部匹配使用,对于用户而言是不可见的,那么使用关键词标签,使用一个开放的(或标准模糊的)标签集合,也是没有任何问题的。

    就这三种例子而言,可能都是适合某种教育产品需要的;但对于知识点标签的挖掘而言,其技术的选择则是差异极大的。所以这不是一个简单可以决定的问题,需要和教育内容团队、产品团队仔细的分析确定。

2.3. 对问题的定义

    在本文的介绍中,我们选择其中之一的应用方式作为应用场景,也就是说,我们假设要挖掘的知识点标签,是用于题目的推荐和分析报告。这个时候是最为复杂的一种,一个知识体系大概有四到七级,千规模的知识点数量,对于教研团队和技术团队,都有较大的挑战。

对于数据挖掘而言,这是一个分类任务,具体一点而言,主要是依据题目短文本信息进行层次化分类的任务。在这个任务中,我们需要使用到最基础的技术是自然语言处理和机器学习,通俗一点说,就是我们通过对大量人工标注好的题目文本和知识点标签结果(也称为训练语料)的学习——通过自然语言处理的技术获取题目文本的特征,通过机器学习来得到分类模型——从而使得我们的系统具有了自动做知识点分类的能力。一般的分类问题的基本定义如下:



在这个定义中,x(i)是待分类对象,对我们而言就是一道题目,y(i)是分类结果,对我们而言也就是一个知识点标签。学习系统的输入就是一组训练语料,即n道已经标注好的题目及其对应的知识点标签;学习系统依据这个数据经验,训练出(或学习出)一个模型,这个模型可以是函数表达形式y=f(x),也可以是概率表达形式p(y|x),这个就是学习系统的输出。基于学习系统的分类模型,分类系统就可以做预测,即输入一道新的题目,分类系统自动识别其最可能的分类结果。



通过对问题的定义,我们基本可以对这个任务做出拆解,得到类似于如下的子任务:

标号

任务名称

关键点说明

1

分类体系(知识体系)构建

主要目标是建立起满足应用需求的知识体系,且,这个知识体系本身要满足分类概念的合理性,也就是说,一个知识点概念要足够的内聚,与其兄弟节点要有较明确的边界和区分度。如果知识体系不满足后一个要求,则机器学习分类是很难做出好的效果的。

2

分类语料构建(训练题目标注)

主要目标是为分类体系的每一个节点,人工标注出足够多的训练语料,也就是题目。因为一个知识体系常常比较大,这个分类语料的标注工作量也往往比较大。而且,训练语料的质量(包括标注知识点的准确度、语料库平衡性等等)是后续分类效果好坏的另一个重要前提条件。在实际工程中,构建好的训练语料往往是一个有挑战的工作,因工作量关系也可能需要迭代构建。

3

训练分类模型,学习系统研发

这个过程主要目标是训练出分类模型,也就是我们机器学习系统研发最为核心的一个过程。对题目知识点标签自动挖掘而言,就是需要对上面的训练语料库,做特征分析和选择,依据某个算法学习一个分类模型,并通过一些技术手段选择一个较优化的模型输出。

4

做分类预测,分类系统研发

基于已经训练好的分类模型,可以较快的完成预测模块——分类系统的研发。但对于我们知识点标签自动挖掘而言,这里有一个相对复杂的地方,那就是我们的任务不是一个二分类任务,而是一个有庞大体系的层次化分类,预测系统也就相对复杂。另外,在工程实现时,为了优化效果,基于分类结果的一些后置处理策略,如ranking或聚合处理等,也是有一定复杂度的。

5分类效果评测,迭代优化如果1-4完成算是一轮研发迭代的话,那么分类效果评测(主要是通过准确率和召回率指标来衡量)就是承前启后的一个重要工作,我们通过评测来确定效果,并进一步分析语料库、特征、模型、预测过程中存在的问题,甚至是分类体系的问题,依据问题对准确率和召回率的影响面进行排序,启动优化迭代过程。

    通过这样一个任务的拆解和说明,大家可以看出我们对于整个项目的安排,以及其中的技术关键点。这些关键点是在大量实践经验基础上总结出来的,分享出来也期望能够对技术类读者推动自己的工作有所帮助。

导读:这一篇是知识点标签自动挖掘的下半部分。上篇我们对知识点标签自动挖掘做出了明确的问题定义,并做了技术任务的分解,在本篇中我们选择一个基础模型,从原理的角度进一步描述分类的过程,并接着任务分解中的关键点描述进一步阐释,来说明我们这个任务中的技术挑战。最后简略的叙述我们对于数据挖掘和大数据项目的一些感受,期望能够给到大家一些帮助。

[2.4的部分略去,是通过一个贝叶斯分类器的原理来介绍模型本身。]

2.5. 知识点标签分类的挑战

       上面我们说,这个任务是非常复杂的,除了任务拆解中提到的问题和关键点,我们再次强调指出三个问题。这三个问题会对效果优化至关重要。

首先,题库中题目的文本是一个垂直领域的短文本,尤其是K12题库中的题目,其文本信息都不是很长,而且,题目中有大量的新词,有大量的信息是解析式、公式、特殊表达的信息,这对在题库的数据清洗和特征选择是极大的挑战。因为很多信息不仅蕴含在关键词中,尤其是理科题目,非关键词的文本信息中也有大量的信息,对于这些信息的处理是非常繁琐的。除了这些问题之外,还有一些题目有丰富的图片信息(如理科中函数图像、几何图形、物理化学实验等),一些题目有语音信息(如听力),这些富媒体信息中也可能包含了知识点分类的关键内容,但对于它们的处理,对于团队的技术积累和要求则是更高的。

其次,我们说这个分类任务是一个层次化分类的任务,它就会带来两个问题,一个是级联的错误放大,因为每一个分类器都有一定的准确率和召回率,导致我们在叶子节点做分类时,效果有极大的影响;其次,应用要求分类体系非常的精细,前面我们说,分类体系可能是四到七级,千规模的分类节点,这个时候分类体系的节点之间的区别度往往是一个很大的问题,表现在语料库中的题目层面,即它们分属不同兄弟节点但文本表达却有很高的相似性,会给分类模型带来很大的困扰。

        第三个问题是,分类体系及知识点的合理性,很大程度上是和应用有关的,在我们这个场景,是和推题的推荐系统相关的。虽然我们会评价分类的准确率、召回率,但毕竟这只是技术评价指标,而不是业务目标。基于知识体系来刻画的用户模型和推荐引擎,对于用户的练习效果和教育效果是否真的好,这是一个周期非常长、过程非常复杂的度量。业务效果反射弧超长,这也是这个任务极大的一个问题。

这三个问题放在这里,是对我们团队的一个很大的考验。所以说,大数据和数据挖掘对互联网教育虽然是很重要的,但也是极有挑战的一个工作,需要很好的团队、很强的创新性人才的投入。好在这个方向的魅力是如此之大,吸引了很多有志之士。

2.6. 做大数据和数据挖掘类项目的关键点

        经过上面的介绍,相信我们的读者对优质题库建设中知识点标签自动挖掘有一个相对深入的了解。我们最后做一个点睛,描述一下我们对这一类项目或方向的感触,期望能够给到大家借鉴。

        这个方向的项目,有两个最大的基石,其一是对用户和产品价值的把握,也就是说,任何的挖掘技术,需要充分考虑清楚应用对它们的核心诉求;其二就是对于数据和技术,要有专业的团队和人才梯队,要能够快速上手也能够找到问题的关键点。否则的话,这一类项目是最容易失败的。在项目管理层面,这一类项目有较强的探索性,不同于功能性项目,需要做区别化的项目管理,而在团队层面,最好能够是跨越互联网和教育的融合基因,数据挖掘团队和产品团队、教师团队有紧密的、心有灵犀的默契与合作。

这些,都是技术之外不可或缺的。期望大家有所收获,感谢。



这篇文章,最大的意义在于,它是从一个纯粹技术角度,来看待“知识点”概念的。在第二部分,“题目需要什么样的知识点”中,它考察了技术角度视角下,不同的知识点对于不同需求的满足,同时也对挖掘技术提出了不同的要求。在第五部分,“知识点标签分类”中,又分析了知识点的定义在技术实现和应用上的根本困难。可以说,如果我们具体探讨题库和知识点的问题,这是一个技术角度的典型示例。

但它的问题也非常的明显。虽然它考虑了不同层面的产品需求,以及,相应产品需求下“知识点”应该是一个什么样的文本形态;但所有这些,都不是教学上的分析,它不是在考虑我们教育目标中,在期望学生达成什么样的知识目标,也不是在考虑,从学习过程本身来看,“知识点”应该刻画什么来完成我们学习科学的什么优化目标。

所以,你可以看到,在我2014年刚从互联网切入教育时,当时大概的视角是这样的。

3.一个典型的商业题库构建

我们再来看一个典型的商业题库的构建。市场上有很多教育产品,他们都有自己的题库,或许还会有非常多的人在宣传自己题库的先进性——但我们前面仍然说,这些题库本事,基本上和我们提到的教育测量与评价转向关系不大。自然是有原因的。

下面这张图,也基本上是我一两年前的一个调研,对于一个典型题库的摸底结果。考虑到时效性和一般性,这张图应该不是什么秘密,可以供大家参考:
在题库构建中,有几个最重要的核心因素:

其一,就是课程,或者教材。教材有不同的目录结果、进度。

其二,就是考点树——有的叫考点,有的叫知识点,有人把它们做区分,也有的不能严格给出区分定义;还有的会区分教法和考法——总体而言,这就是应试教育发挥到极限的产物。考点树可以构建一个统一的体系,然后在不同的教材版本和地区中,又有不同的视图、子结构和权重。

其三,就是题目的来源,尤其是试卷来源和考试等级信息。课后练、同步考、模考、大考等不同的题目,视为用途和质量也有很大的不同。除了试卷来源之外,还有教辅来源。

其四,就是题目本身的信息。当然是要题型不要老旧,文本正确、图片清晰、结构明确。另外,是否有解析,以及解析的质量,也是题目信息重要的一个方面。

其五,试卷信息。试卷本身往往是有结构,包括题目所在位置、题目的分数和试卷分数构成等;这些都是组卷功能,以及测评所需要考虑的。

其六,针对测评而言,题目还有一些特有属性。包括题目的难度、区分度等。一般团队如果没有教育模型的人才,可能会采取简单的三星或五星的人工标注难度。再后面,难度也可以用题目的错误率统计来标示。

其七,题目的统计信息。包括做题人数、做题次数、正确率等;也可能包括教师采纳人数、采纳次数等。

等等。

能够考虑到这些层面,已经是一个市面上比较深入的题库了。在这样一个信息结构和知识刻画下,大家都会开始说,我们已经有了质量最高、数量最大的题库,已经开始题目的智能推荐、学生的个性化学习了。

但如果就我来说,这些题库仅仅完成了应试题目的收集和信息化工作——基本上和教改的走向,和教育测量与评价的转向,以及学生的素养发展关系不是非常大。

可是即使在这样一个体系下,如果深入一点,也可以玩出一些花来。比如学生应试能力的刻画,常见大考如中考或高考的热门题型、知识点(或考点)及难度的预测,比如对整个题库做进一步的筛选和关系构建,通过对学生应试能力的刻画来做一些智能推荐。这都是有可能的。

但想通过这样的经验,来回答我们引言中探讨的问题,来回答教育测量与评价的转向问题——肯定是远远不够的。我们再继续往下看。


    关注 爱行知


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册