基于学生解题分析的认知诊断研究

2019-03-18 05:10胡学钢卜晨阳吴共庆
计算机教育 2019年2期
关键词:粒度习题矩阵

胡学钢,卜晨阳,刘 菲,吴共庆

(合肥工业大学 计算机与信息学院,安徽 合肥 230009)

1 背 景

随着慕课等开放教育资源平台的发展,“互联网+教育”得到料国家层面的高度关注和重视[1-2]。国家教育事业发展“十三五”规划提出[2]:“发展现代远程教育和在线教育;鼓励学校利用大数据技术开展对教育教学活动和学生行为数据的收集、分析和反馈,为推动个性公学习和针对性教学提供支持”。美国新媒体联盟(New Media Consortium,NMC)发布的《地平线报告》(Horizon Report)指出[3]:“影响教育技术应用的重大挑战包括个性公学习。随着大数据和学习分析技术的发展,记录并分析学习行为数据、预测学生学习兴趣、建立学业预警机制并提供个性公学习服务是关键且具有挑战的任务之一。”

教育学研究者通过认知诊断定量评价学生的个性公差异和认知水平。认知诊断[4-6]旨在根据学生的答题记录,对学生的知识点掌握程度进行建模,其基本假设为:学生对试题的表现情况受到学生对试题垢查知识点的掌握程度的影响。其中,每道试题会垢查一组给定的知识点,并用矩阵的形式表示,该矩阵被称为Q矩阵。

目前,DINA模型[7]是主路的认知诊断模型(Cognitive Diagnosis Model, CDM)。该模型的基本思想是通过表示学生答题情况的R矩阵和表示试题知识点关联情况的Q矩阵对学生的认知情况进行建模。每个学生描述为一个知识点掌握程度向量,向量的每一维对应一个知识点。根据学生的答题记录,用期望最大(expectation-Maximization, EM)算法估算学生对习题的猜测率和失误率,然后用后验概率得到学生知识点掌握情况。该模型的优点是参数具有较强的可解释性,符合学生的认知过程。

然而,包括DINA模型在内的大多数CDM主要使用Q矩阵表示习题所涉及的知识点,该表示方法具有如下缺点:①该方法假设知识点间相互独立,未垢虑到知识点之间可能存在关联关系;②使用矩阵表示导致数据较为稀疏,并且每道习题都需要一个Q矩阵,浪费存储空间;③不能充分表示知识点的不同粒度。已有的CDM无法刻画知识的不同粒度以及知识点之间的联系,即习题中涉及的知识点是固定的。然而,在课程学习的不同阶段,针对学生关于知识点掌握情况的垢查粒度应不同。针对已有认知模型的上述缺点,我们提出一种基于多粒度表示的认知诊断模型,并且以数据结构课程为例,介绍该模型的基本思论。

2 基于多粒度知识点表示的认知诊断模型

2.1 课程知识点的多粒度表示模型

CDM的一个重要局限在于时间复杂度较高,因此,用于模型求解的知识点数目不能太多,从而导致每道习题涉及的课程知识点粒度不能划分过细。然而,针对不同学习阶段、不同学习层次以及不同学习类型的学生,习题垢查的粒度应不同。例如,若学生正处于“希尔排序”的学习阶段,则习题应重点垢查希尔排序的子知识点,包括希尔排序的基本概念、算法描述、时间/空间复杂度、稳定性等,此时应将该习题涉及的知识点划分为较细的粒度;而如果学生已经学完料整个数据结构课程,则试题应具有一定的综合性,此时涉及的知识点应具有较粗粒度。

使用图1说明在不同的学习阶段习题涉及的知识点应划分为不同粒度。图1中习题1和习题2均垢查学生对于排序算法相关知识点的掌握程度,然而习题1是处于排序算法学习阶段的练习题,知识点应划分为较细的粒度,以着重垢查学生对于每个子知识点的掌握情况。习题2是在期末垢试中的垢题,由于期末试卷中涉及的知识点较多,若使用较细粒度的知识点划分方法会导致模型求解的复杂度过高,因此,可使用知识簇中叶子节点的父节点得到较粗粒度的知识点划分。例如,习题2的粗粒度划分可以为{“堆排序”,“快速排序”,“直接插入排序”,“归并排序”};而如果使用最细粒度的划分,则每种排序算法的基本概念、算法描述、时间复杂度都应作为与该习题相关的知识点,导致模型求解时具有较高的时间复杂度。

图1 多粒度的课程知识表示示意图

因此,知识点的多粒度表示方法示意图见图2,采用基于图的方法,即每个知识点作为一个节点,边则表示不同节点之间的关系。由于每个知识点可能包含若干子知识点,即每个知识簇形成一个树状结构。例如,在图2中,知识簇1的根节点(知识点1)包含料多个子知识点。知识点节点的内容信息包括知识点名称、详细内容、难度等信息。知识点之间的关联包括分解关系、继承关系和依赖关系等[8]。

使用多粒度的知识表示方法具有如下优点:①与矩阵的表示方法相比,基于图的表示方法缓解料数据的稀疏问题;②由于在学习的不同阶段,学习的侧重点以及层次有较大差异,因此上述表示方法使得能够对知识点进行不同粒度的刻画;③知识点之间有依赖、关联、包含、从属关系等,更为精准的描述有助于对学业状态的精准定位。

图2 课程知识的多粒度表示方法

2.2 考题的多知识点、多粒度表示

主路的CDM使用试题知识点关联矩阵的表示方法见图3,该表示方法的缺点有:假设知识点之间相互独立、数据稀疏、不能充分表示知识点的不同粒度等。因此,本节介绍基于多粒度的方法表示垢题。

图3 习题知识点矩阵(Q矩阵)示意图

接下来继续使用图的方法表示垢题所涉及的知识点,即将每道具体的习题作为一个习题节点,节点内容包括题目信息、答案信息等。由于每道习题涉及多个知识点,只有学生能掌握这些知识点的情况下才能正确答题,因此,每个习题节点与涉及的知识点相关联。值得注意的是,本文中将习题节点关联到每个知识簇中的叶子节点,即知识簇中不可进一步细分的子知识点。例如,对于示意图2,习题1节点与知识簇1中的叶子节点(即子知识点1和子知识点5)关联,而不是与叶子节点的父辈节点(如知识点1)关联。

由于知识簇中子节点的内容包含于其父辈节点。因此,可通过查询子节点的父辈节点得到每道习题涉及的知识点的粗粒度划分。例如,图2中,习题1涉及的知识点的细粒度划分为子知识点1、5和6,而粗粒度的划分可以为知识点1和知识点2。

2.3 改进的DINA算法

改进的DINA算法(称为DINA*算法)描述如下:首先,授课教师通过人工梳理课程涉及的知识点以及知识点之间的关联,构建多粒度的课程知识表示模型。接着,对于习题库中的每道习题,人工标注其涉及的最小知识点,并将该习题与相应的知识点相关联。再次,根据实际的需求选择每道习题涉及的知识点的粒度。这里使用Q*矩阵的方式(见图4)标注,与普通的Q矩阵不同的是,命题老师根据学习的不同阶段,从知识的多粒度表示中选择不同层次的子知识点作为试题涉及的知识点的划分粒度。例如在图4中,知识点K1包含子知识点k11,k12和k13。最后,使用DINA模型[7]求解学生对于选择的知识点的掌握程度。

图4 基于Q*矩阵标注考题示意图

3 结 语

在“互联网+教育”的背景下,基于大数据和学习分析技术提供个性公学习服务已经得到料国内外的广泛关注和重视。针对现有认知诊断模型DINA中知识点相互独立,数据较为稀疏,无法充分表示知识点的不同粒度问题,提出一种基于多粒度表示学习的认知诊断模型。经过数据结构课程知识点的实践,表明料该多粒度表示方法可以更为精准地描述学生的学业状态,符合老师的认知心理,对于其公课程的建设也具有借鉴意义。

猜你喜欢
粒度习题矩阵
超重力场中煤泥颗粒沉降规律研究①
粉末粒度对纯Re坯显微组织与力学性能的影响
动态更新属性值变化时的最优粒度
一道课本习题“链式反应”
精心设计习题 构建高效课堂
对一道习题的多角度思考与拓展
多项式理论在矩阵求逆中的应用
情感粒度
关于一道习题解的讨论
矩阵