肖 奎,吴天吉
(1.湖北大学计算机与信息工程学院,湖北 武汉 430062;2.武汉软件工程职业学院计算机学院,湖北 武汉 430205;3.华中农业大学图书馆,湖北 武汉 430070)
自20世纪90年代以来,互联网的普及使得基于Web的智能教学系统ITS(Intelligent Tutoring Systems)的发展呈现一派欣欣向荣的景象,海量的网络教学资源也随之应运而生。与此同时,适应性学习(Adaptive Learning)技术逐渐成为人们研究的热点。适应性学习是一种教学方法,它以计算机作为交互式教学设备,研究如何根据每位学习者的需求定制教学内容[1]。研究人员围绕如何描述学习者的当前知识状态、如何描述教学内容、如何对学习对象进行排序、如何提高学习者在教学过程中的参与度等一系列问题,展开了广泛而深入的研究。
当前,虽然海量的网络教学资源为学习者提供了便利,但是教学资源之间的关系不够清晰,教学资源的质量参差不齐,因此造成了学习者选择上的困难。并且,每位学习者的知识基础与学习目标可能都不相同,他们需要符合个人需求的学习路径,来实现他们的个性化学习目标。本文提出一种面向学习路径推荐的领域知识网络构建方法,支持学习者的在线学习。本文的贡献主要体现在以下两个方面:(1)应用社会标签技术描述学习对象。与传统的网络资源描述标签不同,本文把学习对象的描述标签分类,分别标注每个学习对象的预备知识(学习前需了解的基础知识)与目标知识(学习后掌握的新知识),并以知识点为节点,以学习对象为边,构建领域知识网络。(2)运用弗洛伊德算法计算领域知识网络里任意两个知识点间的最短路径,为学习路径的推荐提供基础。
随着在线学习的用户越来越多,学习路径推荐技术逐渐成为研究人员关注的热点问题。Brusilovsky等人[2]提出的学习路径构建方法能够根据学习者的知识基础与学习目标自动构建学习路径,后续的许多研究都是在此方法基础上进行的改进与完善,但此方法没有考虑学习者学习风格差异对学习路径的影响。Van den Berg等人[3]应用学习者的群体行为特征信息实现学习路径的推荐,他们认为如果某个学习路径被大量其他学习者频繁使用,那么当前学习者采用此学习路径的概率也较大。Chen[4]提出的学习路径推荐方法也是对Brusilovsky方法的一种改进,他在学习开始之前设置了课前测试,然后根据学习者的出错信息构建学习路径。测试是评价学习者知识状态的一种常用方法,但其花费的时间与精力代价都较大。Huang等人[5]提出用采集的用户的交互式阅读行为数据来代替测试,评价他们的知识状态。黄志芳等人[6]提出了基于情景感知的适应性学习路径推荐方法,结合情景感知技术与领域本体技术实现适应性学习路径推荐。但是,由于构建领域本体成本相对较高,所以对那些缺乏领域本体支持的学习对象而言,无法通过此方法推荐给学习者。Hosseini等人[7]应用Knowledge-based annotation方法描述学习者当前动态的知识水平,应用History-based annotation方法描述学习者已经浏览过的知识点,从而实现学习对象的推荐。但是,History-based annotation方法侧重于微观层面的学习对象的推荐,比如示例程序中的一条语句,而文献[7]主要侧重宏观层面上的学习对象推荐,比如一个教学视频文件。
在其它方面,Chang等人[8]将改进的K-近邻算法与遗传算法相结合,建立了一种学习者的学习风格识别机制,能够在样本数量较少的情况下,对学习者的学习风格进行有效的分类。Yang等人[9]在分析学习对象属性与学习者属性的基础上,提出了基于属性的蚁群系统AACS(Attribute-based Ant Colony System),建立了相应的搜索机制,根据学习者的知识水平搜索合适的学习对象,他们把学习者的知识水平分为见习生(Apprentice)、初学者(Beginner)、中级者(Intermediate)与专家(Expert)四个水平。陈其晖等人[10]用知识状态的集合——知识结构,来描述学习者知识水平,每个知识状态都是由一个或多个知识点构成,用来标识学习者当前的知识状态,但当学习者学习的知识点数量较多时,以集合的方式去描述一个知识状态显得过于复杂。
本文提出一种面向学习路径推荐的领域知识网络构建方法,把知识点作为领域知识网络里的节点,学习对象作为领域知识网络里连接两个节点的边,学习者的学习过程就是从一个起始节点(知识基础)到达一个目标节点(学习目标)的过程。由于学习对象的内容可能会有重复,所以从起始节点到达目标节点可能存在着多条路径。因此,本文使用弗洛伊德算法计算出任意两节点间的最优路径,为学习路径推荐提供基础。
针对当前网络教学资源多而杂、散而无序、内容重复,不利于学习者进行辨别与选择的问题,本文对学习对象的预备知识与目标知识进行标注,然后以知识点(标签)为节点,以学习对象为边,构建领域知识网络,并计算领域知识网络里任意两个节点间的最优路径。在学习者输入知识基础与学习目标后,即可从领域知识网络里搜索最优路径推荐给学习者。
本文支持用户通过标签来描述一个学习对象的预备知识与目标知识,在此基础上构建领域知识网络,然后运用弗洛伊德算法计算领域知识网络里所有知识点间的最短路径。当系统接收到学习者输入的知识基础与学习目标信息时,就能够搜索最优学习路径推荐给学习者。本研究涉及了学习对象的标注、学习对象的质量评价、领域知识网络的构建以及学习路径搜索等多个方面。学习路径推荐的具体实现流程如图1所示。
Figure 1 Domain knowledge network building图1 领域知识网络构建
(1) 学习对象标注。对于每个学习对象,支持学习者为其添加描述标签。标签分为两类,分别用来描述学习此对象所需的预备知识和学习后要掌握的目标知识,一个标签表示一个知识点。
社会标注系统的实践证明,参与标注的人越多,标签描述的准确性越高。实际操作过程中,学习者在标注学习对象的预备知识与目标知识时,可能都会用到多个标签,此时应当选择使用人数最多的标签作为此学习对象的预备知识标签与目标知识标签,这个标签往往是大家认可的、对学习对象描述最准确最重要的知识点。
此外,相同概念有时候会存在多个同义词或别名。比如,“中华人民共和国国旗”与“五星红旗”都是指同一个对象。因此,要建立一个词汇重定向表,记录标签间的同义词关系,以便在构建领域知识网络时,把这些具有同义词关系的标签对应的知识点连接起来。
(2) 学习对象质量评价。考虑到网络教学资源文件的质量参差不齐的特点,本文引入了用户评价机制,对每个学习对象进行质量评价。这种评价主要是为当前学习对象里的讲解效果、难易程度、技术等级等方面进行评分。构建领域知识网络时,学习者对学习对象的评分可以用作领域知识网络里边的权值。
(3) 领域知识网络构建。本文把知识点作为节点,学习对象作为边,学习对象的质量评分作为权值,构建领域知识网络。如果学习一个学习对象需要具备预备知识A,学习后会掌握目标知识B,那就形成一条从节点A到节点B的边,边的权值为此学习对象的质量评分。这样以来就形成一个带权有向图,可以构建此带权有向图的邻接矩阵,如图2所示。
Figure 2 Adjacent matrix of the knowledge network图2 知识网络邻接矩阵
图2中标签K1,…,Kn表示n个知识点,设置邻接矩阵权值的方法如下:
(1)如果存在一条边从A指向B,权值Wab则是此边对应的学习对象的质量评分;同时,如果有一条边从A指向B,那么一定不存在一条边从B指向A,即Wba权值为∞。
(2)如果没有一条边从C指向D,那么相应的权值Wcd设置成∞。
(3)从一个知识点到它自身的学习对象是不存在的,所以主对角线元素的权值需设置为0。
在领域知识网络构建中,每个节点代表一个知识点,节点与节点的边代表连接两个知识点的教学资源文件,边的权值代表教学资源的质量评分。为了将最优学习路径计算问题转化为领域知识网络中两个节点间的最短路径计算问题,本文假定质量评分值较小的教学资源,质量较高;质量评分值较大的教学资源,质量较低。在此基础上,领域知识网络中任意两个节点间的最短路径,可以视作两个知识点间的最优学习路径。
Floyd与Warshall提出的弗洛伊德算法[11]是一种利用动态规划的思想寻找给定的加权有向图里多源点之间最短路径的算法。执行一次弗洛伊德算法能够得出所有顶点对之间的最短路径长度,同时也可以通过对算法进行简单的修改来生成这些最短路径。本文拟应用弗洛伊德算法计算领域知识网络里任意两个节点间的最短路径,作为最优路径保存起来。在学习者输入个人的知识基础与学习目标词汇后,即可在最优路径集合里搜索相应的学习路径推荐给学习者。
本文收集了微软MSDN Webcast[12]里的ASP.NET相关的教学资源作为实验数据。一个Webcast课程通常包含有教学视频、示例代码、电子课件等多种形式的教学资源。在本文里,一个课程就被视为一个学习对象。
由于微软在发布这些课程资源时,并未用标签描述每个学习对象的预备知识与目标知识,因此本文通过手工方式为这些学习对象建立标签。学习对象的预备知识标签主要来自教学视频里的“课前准备”信息。如果教学视频里列举了多个“课前准备”知识,则选择其中最重要的一个作为预备知识标签。如果教学视频未提供“课程准备”信息,则人工选择相应知识点作为预备知识标签。
学习对象的目标知识标签,则来自课程的名称。比如,课程名称“ASP.NET程序部署”说明此学习对象的目标知识是ASP.NET程序部署,可以直接用名称作为目标知识标签。对于名称较长的学习对象,则要删除其中修饰性词汇,保留核心名词作为目标知识标签。
收集的这些资源中,有些学习对象讲解的并非知识点,而是一些开发实践与实例;还有一些课程名称较为抽象,比如“开发小技巧”“新特性”,名称包含这类词汇的教学资源在本文实验中没有使用。
由于预先没有足够的用户对全部学习对象进行评分,因此本文采用微软设置的课程技术等级作为质量评分的基本依据。微软在发布每个课程时,标明了每个课程的技术等级。技术等级分为四个级别——“level 100”“level 200”“level 300”“level 400”,难度从低到高逐步增加。在本实验中,我们将每个学习对象的技术等级除以100,作为学习对象默认的质量评分。对于讲解相同知识点的两个视频,应当选择难度较小(技术等级较低)的视频推荐给学习者。因此,在实验过程中,质量评分的值越小,学习对象被推荐的可能性越大;质量评分值越大,被推荐的可能性越小。此方式也为计算领域知识网络中节点间最短路径提供了支持,权值越小的边,越可能被最短路径采用。
此外,由于ASP.NET的开发工具发展了多年,经历了多种不同的版本,本文以Visual Studio 2010开发工具为基础,高于或等于这个版本开发工具的学习对象,其质量评分值保持不变;而对于低版本开发工具的教学资源,例如Visual Studio 2008,本文将这些资源对应的学习对象的质量评分值分别加1,表示推荐度降低一个等级;对基于Visual Studio 2005的学习对象,其质量评分值在原来基础上加2;对基于Visual Studio 2003的学习对象,其质量评分值在原来基础上加3。对于讲解相同知识的学习对象,质量评分值越小,则优先级越高,被推荐给学习者的可能性也越大;质量评分值越大,则优先级越低,被推荐给学习者的可能性也越小。
在对学习对象进行标注与质量评分后,可以构建ASP.NET领域知识网络。本文构建的ASP.NET领域知识网络如图3所示。构建领域知识网络后,使用弗洛伊德算法计算出领域知识网络里任意两个节点间的最短路径。当学习者在原型系统里输入“知识基础”与“学习目标”词汇后,原型系统会将它们与领域知识网络里的节点(知识点)进行匹配,确定学习的“起点”与“终点”,搜索“起点”与“终点”间的最短路径。
Figure 3 ASP.NET domain knowledge network图3 ASP.NET技术领域知识网络
为了对本文方法进行验证,提出一组知识基础与学习目标用作测试,知识基础为“C#基础语法”,学习目标为“ADO.NET数据库编程”。ADO.NET是ASP.NET知识领域的重要组成部分,微软也提供了一个ADO.NET系列课程让用户学习,即“ADO.NET 2.0 开发实践系列课程”,其中每个课程既有教学视频也有示例代码,本文以它作为默认的比较对象。
在其他的系列课程里面,比如“跟我一起学Visual Studio”等,也提供了一些零散的ADO.NET课程。本文通过对ASP.NET知识网络进行遍历,搜索到四个零散的ADO.NET课程,构建了推荐学习路径。具体课程有 “ADO.NET连接类”“ADO.NET非连接类”“DataAdapter的使用”以及“DataSet高级使用”,这些学习对象序列构成了推荐学习路径。
随后,组织了软件工程专业两个班级的学生对默认路径与推荐路径里的课程进行学习。这些学生以前学习过《C#程序设计》这样的基础课程,但是没有学习过ADO.NET相关知识。学生按照班级分为两组,第1组有35个学生,只学习推荐路径里的四个课程,学习后对推荐学习路径进行评价;第2组有34个学生,同时学习推荐路径与默认路径里的全部课程,学习后对推荐学习路径与默认学习路径进行比较评价。本文通过问卷调查的方式评估学习者的反馈信息。调查结果如表1和表2所示。
Table 1 Survey resutls of recommended path learning
Table 2 Survey resutls of the comparisonbetween recommended paths and default paths
推荐路径学习组(第1组)学生的调查结果显示,31.43%的学生学习前对C#语法非常了解,但是也有40%的学生对此问题不确定,不同意的比例也高达28.57%,这一方面说明部分学生虽然上过C#课程但效果不好;另一方面也说明学生对知识的掌握程度不够自信。此外,有40%的学生认为学习后掌握了ADO.NET的概念与应用方法,同时也有40%的学生对此表示不确定,这可能反映了学生听懂了课程讲解理论的知识,但是具体到实际应用还没有足够的把握;同时,也有20%的学生对此持反对观点,说明他们学习后还是没有理解ADO.NET知识。
调查结果同时也显示,有57.14%的学生认为推荐学习路径知识容易理解,同时有31.43%的学生对此表示不确定。有54.28%的学生认为推荐学习路径课程设置顺序合理,45.71%的学生则对此表示不确定。这一方面反映出一部分学生确实没有听懂这些课程讲解的内容;另一方面也反映出在没有对比的情况下,学生无法给出确切的答案。
推荐路径与默认路径比较组(第2组)的学生学习了两个路径的全部课程。对他们的调查数据显示,超过80%的学生认为自己对C#语法非常了解,这显示这个班级的学生C#语法知识掌握情况较好。
此外,有70.59%的学生认为推荐路径比默认路径讲解的知识更容易理解。同时,也有55.88%的学生认为推荐路径比默认路径课程设置顺序更合理。而在示例代码的比较上,有64.71%的学生认为推荐路径的实例代码更贴近实际应用情况。
两组调查数据的分析结果表明,基于知识网络构建的学习路径与默认学习路径相比,能够较好地满足学生的学习需求。
面向学习者的个性需求进行适应性学习路径推荐,是提高学习者学习效率的一种重要手段。本文提出一种面向学习路径推荐的领域知识网络构建方法,通过对学习对象的预备知识与目标知识进行标注,构建领域知识网络,应用弗洛伊德算法计算知识与知识间的最短路径,进而实现学习路径推荐的目标。在当前各类教学资源多而杂、散而无序、内容重复的现状下,本文方法能够帮助学习者从众多学习对象里快速选择高质量的学习对象,构建最优学习路径,提高学习效率。
需要说明的是,本文在最短路径计算方面考虑了知识的属性,而没有考虑学习者的属性,如何动态地描述学习者知识状态,进行知识的推荐,是下一步研究的重要方向。