用于学术水平训练的自适应引擎逻辑的制作方法

文档序号:2606968阅读:153来源:国知局
专利名称:用于学术水平训练的自适应引擎逻辑的制作方法
技术领域
本发明总体涉及一种计算机学习技术,更为特别的是涉及一种自适应学习系统和方法,其利用一套启发模式来给个人提供独特的学习环境。
背景技术
现有技术的问题孩子的学习进度各不相同。学校通常所提供的教育适于普通的标准,即“正常”的孩子。老师和教育人员通常针对课堂上的大多数学生即所谓的正常孩子来调整材料,如课程,和教学的方向,因此会忽略那些有不同需要的孩子。
由于不同的学生具有不同的概念收集方式,又没有为学生订造的个人化课程,因此通常来讲很难帮助这些具有不同能力的孩子在某一特定课目打下坚实的基础。
现有解决问题的方式现在有许多基于教育特别是数学教育的网站。同时还有许多离线产品如练习册、CD-ROM以及同样用来解决该问题的游戏等。此外,还有传统的人工帮助如老师和/或教育人员。
在数学方面可获得的商业实例有www.aleks.com——一种适用于K-12和更高级学生的全自动在线数学导师。下面就是其公司网站上获得的一个摘录。
ALEKS是一种革命性网络技术,其由加利福尼亚大学的一支富有才华的软件工程师和认知学家所组成的队伍在国家科学基金数百万美元的支持下开发出来。ALEKS与先前的教学软件存在根本的不同。ALEKS的核心是一个人工智能引擎——一个自适应的计算机智能,其在一个特定课目中含有多个可能知识状态的详细结构模式。借助于软件技术的优点,该ALEKS能够有效地搜索大量的知识结构,并准确地确定出某学生个体的知识状态。像“深蓝”这台击败了国际象棋大师Garry Kasparov的IBM计算机系统一样,ALEKS会与其环境交互并根据复杂变化的环境调整其输出。ALEKS所基于的是所谓“知识空间理论(Knowledge Space Theory)”领域中的认识心理学和应用数学的突破性理论工作。认知科学的国际知名教授,其也是ALEKS公司的主席和创始人,早在二十世纪八十年代初就已开始知识空间理论的研究工作。
·ALEKS采用现有技术中的计算机智能以及网络的编程技术,能够与每一个单个的学生进行交互,从而成为一个有经验的一对一的教育专家。
·ALEKS不断地适应该学生,并对你的知识状态形成并保持一个准确全面的评估。
·ALEKS始终教授学生其最准备好去学的内容。
·ALEKS只需真人导师的一小部分费用就可提供每周七天,每天24小时不限时的使用。
Kumon Math Program——一种线性的离线纸件数学程序,其用来帮助孩子提高机械方面的数学技能。其全球有2.5百万或者更多的学生。
Math Blasters——一种CD-ROM,其通过趣味游戏来提供一些数学训练。
Ms.LindquistThe Tutor——一种基于网络的数学教育专家,其专门利用一套人工智能算法来帮助孩子解决代数问题。其由Carnegie Mellon University大学的研究人员开发。
Cognitive Tutor——其由Carnegie Mellon University大学的另一位研究人员开发。其以实时反馈的形式来帮助学生解决各种基于文字的代数几何问题从而完成它们的任务。该软件能预测人的行为,并给出建议,然后实时追踪学生用户的表现。该软件由Carnegie Learning发售。
现有技术的缺点许多互联网/网络上的网站并不提供人性化的服务。在它们的系统中,每一个学生都要回答相同的(例如)10个问题,而不管他们回答第一个问题时是对还是错。这些均是由一种线性的非关联性的课程所支持的非智能的或者是智能有限的实例。
其它的离线产品(如CD-ROM)能够根据所回答问题的对错来提供一些个性化的选择,但它们问题的数量会受到CD-ROM存储容量的限制。同时,这些CD-ROM和离线产品在内容上均不能做出实时的变化。
此外,CD-ROM必须安装在计算机上。同时有一些CD-ROM只有在一定类型的计算机(如Mac或者PC)上才能工作,此时,如果计算机坏了,用户必须将其安装到另一台机器上,然后完全从头开始。

发明内容
本发明解决了现有技术的上述问题。本发明旨在填充学校教育的空白——一种由孩子自己的学习进度和标准来驱动的人性化课程。本发明的主要目的在于帮助每一个孩子尽可能地在该课目上打下坚实的基础,然后再进到难一些的内容。本发明是一种智能的自适应系统,其接收信息并采用一套预定的启发模式对所接收的特定信息做出反应。因此,每个人的个人信息(其可能是独特的信息)将送到该引擎,然后为该个人提供独特的体验。本发明在这里公开的一个实施例集中在数学方面,然而本发明并不限于此,因为相同的逻辑也可应用于其它的学习课目。
本发明的一个方面是一种能响应于学生不同学习模式和进度的无限制的课程路径,其基于一种具有关联系数和前提信息的课程表。各个主题基于前置关系/后置关系彼此相连从而形成一个复杂的3-D课程网。每一种关系均由一关联系数来量化。每一个主题均包含一套精心设计难度水平(如1-100)不断提高的问题。因此,在没有获得一定百分比的前提信息时,学生是不能进到特定的主题中的。
在本发明的第二方面中,所有的启发模式设计和逻辑设计均用Java程序语言完成。此外,本发明将浏览器作为客户端通过互联网来接收信息。此外,将信息保存在数据库中以便优化信息的处理。
本发明的特征和优点还包括高度的个性化;随时随地可接入的连续程序;实时的性能追踪系统,其能使用户如父母在线追踪进展信息;关联的课程;从问题到问题以及从主题到主题的个人化路径;全世界比较机制能使父母将孩子的表现与其它地方的孩子进行对比。
参考以下的说明,本发明的其它特征和优点将会更加清楚。


下面将参考附图来描述本发明的实施例,其中图1-15与这里教导一致地描述本发明的各个方面和特征。
具体实施例方式
尽管下面描述的是本发明的一个优选实施例,但本领域技术人员都清楚下面的内容属于示例而非限定性的,其仅通过举例来说明。除非另有说明,这里所述的所有特征均可由实现相同目的的其它特征以及类似目的的等同特征来代替。因此由本发明变量所形成的其它实施例也落入本发明的保护范围之内。然而,为了使本发明原理更加清楚,这里不会对公知的特征做详细地说明。
此外,该技术可由硬件、软件或者是两者的结合来实现。在一实施例中,该技术可由可编程的多个计算机上运行的计算机程序来实现,这些计算机均包括处理器、处理器可读存贮介质(这包括易失性存贮器和非易失性存贮器和/或存贮部件)、至少一个输入设备以及一个或多个输出设备。程序代码应用到输入设备所输入的数据上以完成上述的功能并产生出输出信息。该输出信息应用到一个或多个输出设备。
每一个程序优选均用面向过程或面向对象的高级程序语言来实现从而与计算机系统进行通讯,然而,如果需要的话,这些程序也可用汇编或机器语言来实现。无论怎样,该语言均是可编辑或翻译的语言。
每一个程序均优选保存在可被通用或专用的可编程计算机读取的存贮介质或设备(如CD-ROM、NVRAM、ROM、硬盘、磁盘或载波)上,以便在该存贮介质或设备被计算机读取时能够配置并操作该计算机从而完成本文所述的各个操作。该系统也可实施为一个计算机可读的存贮介质,其配有计算机程序,该存贮介质在配置上应使计算机能按预定的方式操作。
所开发的引擎、算法和方法现时专用于数学。但是采用相同的结构可扩展应用到任一数目的场合中。引擎的功能主要是对发给它的信息或数据产生作用。然后,基于一套规则或启发模式来对数据形成反应并提供有意义的输出。该构思可用于多种不同的场合中。
图1和2所示为用来实现本发明的一例处理器控制系统的硬件配置。本领域技术人员均清楚本发明并不限于这里所描述的配置,本发明可在过去、现在以及将来的任何一种配置上实现,这包括例如,工作站/桌上/膝上/掌上配置、客户机-服务器的配置、多层配置、分布式配置、网络配置等,只要其具有必要部件能够实现本发明的原理即可。
在一个最基本的实施例中,图1描述了一个系统700,其包括但不限于一总线705,其用来实现至少一个处理器710、至少一个内存715以及至少一个存储设备720之间的通讯。该总线705在连接上还用来接收至少一个输入设备725的输入,并给至少一个输出设备730提供输出。这至少的一个处理器710在结构上用来完成这里所提供的技术,特别是运行本发明下面所列的计算机程序产品的实施例。作为选择,计算机程序产品实施例的逻辑功能可分配给通过网络或其它通讯装置相联的多个处理器。该计算机程序产品可在各种操作系统下运行,例如,各个版本的Microsoft Windows,Apple Macintosh,UNIX等。此外,在一优选实施例中,本发明利用传统的数据库技术740,如微软公司推向市场的商业产品SQL Server_,来保存其中的主题。图3-8所示为这样的一种指令数据结构,这包括学习内容(Learning Dimensions),熟练水平(Proficiency Level),主题(Topics),问题(Questions)等。
图2所示为另一个实施例,本发明可实施为一个网络系统,其至少具有一台客户机(如桌上电脑、工作站、膝上电脑或手持式电脑等)、一台通过网络如互联网与客户机相联的服务器。
本发明利用一种全面课程图,其概略地给出数学主题、概念和技巧组不同基础水平类别之间的关联性。
本发明为每一个用户生成一个适于个体的课程,其是用户在课程图中自己进步的结果,同时也随着用户在每一个数学主题类型中的进一步表现和熟练程度值而变化,为了展示本方法背后的机制,首先应将注意力放在数学主题类型实体及其众多特征上。
课程图上定义的每一个不同的数学主题类型实体在技术上均表示成一个对象,其带有一个很大的成员集合,该集合由相关的练习题和解答组成,其设计成用来发展特定主题中的技巧和熟练度。每一个类型对象还保持着一个学生用户熟练水平(Student-user Proficiency Level)的测量,其不断地指示出每一个用户在特定类型中所展示出来的能力水平。此外,每一个类型对象还保持着一个问题难度水平(QuestionDifficulty Level),其用来确定从对象问题集合中所选问题的难度并呈现给用户。如其表示的那样,对象问题难度水平的变化与学生用户熟练水平的变化直接关联。参见图9,从概念上讲,每一个类型对象均可表示为一个容器,如水桶。使用这种模型就能用每一水桶中水位的高度来表示学生用户熟练水平,并据此升降。如果将问题难度水平与水位直接关联起来,那么就可用水桶内壁高度上的刻度标记来表示问题难度水平,靠近桶底的为低难度,靠近桶顶的为高难度。因此,水位的升降就直接对应于桶壁上的标记。
当学生用户回答来自于特定的某一个桶的问题时,就可从每一回答的准确性得到他们在该主题范围的熟练水平(Proficiency Level)、以及他们的整体表现和该类型的一致性。通常来讲,正确的回答将增加用户在该类型的熟练值,但错误的回答将降低其熟练值。因此,水桶的水位就会响应于用户对来自该桶集合内一个问题的每一次尝试。此处留下来还没解决的问题是随着所回答的每一个问题应用于水桶水位高度的增加变化。
熟练水平增量的大小应基于每一个问题而变化,同时还要由用户最近在该类型中的表现,特别是他们对以前来自该桶的问题所表现出的能力的一致性来确定。因此,对于一个正确回答了该类型中大多数问题的学生用户来说,再一个正确的回答会给熟练水平带来较大的增加,而再一个错误的回答只会给熟练水平带来一个较小的降低。相反的条件同样适用于一个错误回答了该类型中大多数问题的学生用户。对于历史表现处于中间的学生用户来说,其下一次回答增加或减少熟练水平多少是相同的。
水桶的追踪并更新用户表现历史的特性就是学生用户的状态(Student-user State)等级。该从不满意到优秀的等级表示用户最近在某一特定桶内的表现历史。一个用户一次只能具有一种状态等级。如前一段所述,每一个状态等级所确定的是用户下一次回答给桶内熟练水平带来的增量大小。因此,用户在下一个问题上的表现将更新用户最新的表现历史,并在下一次问题提出之前调整用户的状态等级。对于水桶这样的模型来说,用户的状态可表示为一系列的水杯,其中每一个水杯都具有不同的尺寸,用这些水杯可以向桶加入或取走不同数量的水。在回答来自水桶的每一个问题之前,学生用户在一只手里拿着一个特殊的用来加水的杯子,同时另一只手里拿着一个特殊的用来取水的杯子,杯子的大小取决于用户的状态。因此每一个问题所带来的水位增加量将由用户的状态确定。当用户的状态变化时,用户手中杯子的大小也随之变化。
再来看看上面讨论的每个水桶中熟练水平的功能,显然熟练水平的尺度范围是有限的,因此当用户在水桶中的熟练水平接近其定义范围的边界时,必须使用其它的某些机制。给一个装满水的水桶继续加水或者从一个空的水桶中继续取水是没有任何意义的。因此当接近这些极值时,必须启动一个专门的机制来使用户的注意力升级或降级到另一支水桶。事实情况就是这样,此时需要用新的机制来讨论桶间的关系以及多个水桶之间课程图的横向联系。
如果用户在某一水桶内的熟练水平达到足够高的水平,那么该学生用户就有资格开始学习课程图上定义的“下一个”类型水桶中的问题和内容。同样,如果学生用户在某一水桶中所展现的能力不够,那么他们在该水桶中的熟练水平将低到足以使之开始学习课程图上定义的“前一个”类型水桶中的问题。熟练水平的上下限值确定了水桶之间转换的发生,并有助于通过课程图上的各个概念类型形成用户自己的前进速度和横向路径。
课程图上类型水桶之间的直接关系是基于水平相近的概念主题的平行编组以及连续的平行组中紧联的水桶之间的前提标准来定义的。这些关系有助于确定课程中从一个水桶带到“下一个”或“前一个”水桶的一般行进路径。除了简单的路径连接之外,在课程图中紧联的那些水桶也可在相互之间传递关联指数(Correlation Index),其用来表明这些水桶是多么的直接相关,“前一个”水桶的材料是如何的是“下一个”水桶内容的学习前提。这些参数不仅确定出水桶之间的转移过程,还有助于动态地确定从两个相关水桶中选择出适用于学生用户逐渐从一个水桶转换到另一个水桶的问题的可能性(该选择功能将在问题选择算法(Question SelectionAlgorithm)部分中提到)。
总而言之,于课程图上有几级机制在操作,用于每一个类型的桶中以及相关类型的桶之间。在每一个桶内,用户的表现均会产生熟练水平值,其用来设定的难度水平范围,该范围最终确定出从某一类型中所选问题的难度水平。在相关的桶之间,直接相关的主题在课题图上通过联线彼此相连,并具有关联指数以反映某一主题对学习另一个主题的重要程度。
本发明是一种网络(如基于网络的)计算机程序产品的应用,其包括一台或多个客户机和服务机应用模块。客户机应用模块基于学生用户的输入/交互与服务器应用模块通讯。
在本发明的示例中,客户机构架包括一个网络浏览器软件如MicrosoftTM的InternetExplorerTM,特别是基于Flash动画图形技术并由MacromediaTM格式化的客户软件。
在本发明的一个实施例中,服务器构架包括一个服务器处理程序的集合,这包括知识评估(Knowledge Assessment Test)模块、主题选择(Topic Selection)模块以及问题选择(Question Selection)模块(合起来也称为“引擎”),这将在下面描述。
知识评估模块知识评估模块具有以下目的从多个主题中有效地识别每一个学生用户最合适的开始主题。
测定学生用户在各个学习内容上的知识水平。
知识评估包括三个阶段
阶段1由多个问题(如5-10个)构成,这些问题是纯粹的数字问题,其用来评估用户的数学基础。
阶段2由数目不定(具体数目取决于用户的成功与否)的多个问题构成,这些问题是文字问题导向的数字问题,其用来分析用户对课程的了解程度和准备程度。阶段2的目的是为每一个用户快速并准确地找到合适的启始主题。
阶段3由多个问题(如10-20个)构成,这些问题是文字问题导向的问题,其用来测试用户在其它所有学习内容上的能力。如果该学生用户在阶段3得到特别差的结果,那么可能要面对更多的问题。
初测选择在一实施例中,为了提高系统的智能,系统会提示学生用户输入生日和年级信息。在输入所要求的生日和年级信息后,系统会根据下面的计算给用户提供阶段1需要测试的几个问题(如6个)中的一个根据下式来用生日计算出年龄SecondsAlive=从用户生日那一天的半夜到现在的秒数Age=Floor(SecondAlive÷31556736)年级是一个1到12的整数。
该系统按如下方式确定出一个合适的Test Number(测试数)注意,这里没有年级和/或生日的数据,系统利用的是预定的逻辑。
如果不知道任何数据(注意,这种情况不应该发生),那么Test Number=1如果仅知道生日,那么Test Number={1,min{Age-5,6}}如果仅知道年级(注意,这种情况不应该发生),那么Test Number=min{Grade-5,6}如果生日和年级均知道,那么Test Number=min{Floor([(2×grade)+(Age-5)]÷3),6}测试跳越根据用户的进步情况或熟练水平,学生用户可从一个测试跳到另一个测试。
测试跳越逻辑如果学生用户正确(错误)回答了一定数目的连续性问题,其将向上(向下)跳到下一(上一)测试的根结点。该必要的题数取决于特定的测试,并且固定在每一个测试中。例如,学生用户必须正确回答阶段2最初的4个问题才能跳到测试2。
测试跳越封帽如果学生用户从一个测试向上(向下)跳到另一个测试,那么一个实施例中,该系统会防止学生用户以后再向下(向上)跳回并重新访问某一测试。
在另一实施例中,学生用户可重新访问某一测试,然而用户的启始主题将设定到较低水平测试中已回答成功的最高主题。例如,参见图2,如果学生用户从测试1跳到测试2,并且再跳回到测试1,那么启始主题就设定在01N05测试,阶段2终止,并且01N05测试的阶段3开始。
测试的进级在一实施例中,学生用户通过知识评估模块,从阶段1开始,至阶段3结束。阶段1和阶段2连接到特定的测试水平上。阶段3连接到一个特定的数字主题,即阶段2所确定的数字主题就是用户的开始主题。此时,均从相同的阶段1开始的两个用户,他们至少将在阶段2中完成一部分相同的测试(这取决于他们各自的成绩,其中一个可能会超过另一个并看到了更多的问题),然后可能会根据在阶段2的表现在阶段3开始不同的测试。
知识评估问题的选择方法每一个知识评估的问题都测试一个或两个技巧文字问题的解决技巧以及其它五个学习内容之一的技巧。下面的变量用来计算出得分NScore-学生正确回答的数字问题的总数的记录。
NTotal-学生已试图回答的数字问题的总数的记录。
PScore-学生正确回答的与解题有关的问题的总数的记录。
PTotal-学生已试图回答的与解题有关的问题的总数的记录。
PSkill-对是否是文字问题中的问题测试水平的编码。通常来讲,对阶段1的问题设定为0,对于阶段2和阶段3的问题设定为1。
在开始知识评估时,所有的四个变量均设定为零。
评估测试的阶段各种评估测试均由三个阶段构成即阶段1、阶段2和阶段3。
阶段1概述阶段1用来评估用户在数字问题方面的基础。
阶段1由预定数目(如5-10个)并固定的问题构成。该系统按直线方式给学生用户提问。
阶段1的逻辑1.如果学生用户正确回答了一个问题a.NScore加1。
b.NTotal加1。
c.学生用户进到问题的“正确”域中所指引的下一个问题。
2.如果学生用户错误回答了一个问题a.NScore不受影响。
b.NTotal加1。
c.学生用户进到问题的“错误”域中所指引的下一个问题。
阶段2概述阶段2用来形成用户的启始主题。阶段2遵循一二进制横向算法。参见图#,图#所示为一例二进制树,其表示评估测试1的阶段2。顶层为根结点。底层为定位层,从这里确定用户的启始主题。两者之间的所有层均为问题层。其中含有指针指向其它测试(其由测试水平和阶段号表示)(参见#)的结点被称为跳越结点。每测试水平阶段2的树均类似于图#,只是树的深度(层数)不同而已。
作为示例,阶段2二进制树横向算法如下左移对应于正确的回答。右移对应于错误的回答。
最顶层的主题为根结点。这是学生用户在完成阶段1后的起点。在根结点处,学生用户要回答两个来自该特定主题的问题。这是唯一一个要回答两个问题的结点。在其它结点上,只回答一个问题。
在根结点处,学生用户必须正确回答这两个问题才能在该结点上记上一个正确回答(并因此沿着树向左下移)。否则,学生用户将记上一个错误的回答并沿着树向右向下移。
学生用户按这种方式下移通过该树的问题层。
学生用户按这种方式前进直到其到达树的定位层。此时,他要么跳到指定测试的阶段1(如果他到达一个跳越结点),要么是系统将一个启动主题如图所示登记到该结点中。
阶段2的逻辑1.如果学生用户正确回答了一个问题a.NScore加1。
b.NTotal加1。
c.如果问题的PSkill设定为1,那么i.PScore加1。
ii.PTotal加1。
d.否则如果问题的PSkill设定为0,那么i.PScore不受影响。
ii.PTotal不受影响。
e.学生用户进到问题的“正确”域中所指引的下一个问题。
2.如果学生用户错误回答了一个问题a.NScore不受影响。
b.NTotal加1。
c.如果问题的PSkill设定为1,那么i.PScore不受影响。
ii.PTotal加1。
d.否则如果问题的PSkill设定为0,那么i.PScore不变。
ii.PTotal不变。
e.学生用户进到问题的“错误”域中所指引的下一个问题。
阶段3阶段3用来在一个与阶段2中所确定的用户启始数字主题相称的水平上评估用户在各个学习内容(如,测量(Measure)(M)、数据处理(Data Handling)(D)、形状和空间(Shapes and Space)(S)以及代数(Algebra)(A))上的能力。阶段3由预定数目(如9-27个)的固定问题构成。例如,如果阶段2确定的用户的启始数字主题为01N03,那么给学生用户的就是相应的01N03阶段3的测试。
知识评估查询表包含3个分别来自PLANETii课程中M、D、S和A的问题。
每个阶段3的测试都从每个学习内容中1到3个主题中提出问题。
阶段3的逻辑
1.如果学生用户正确回答了一个问题a.如果问题的PSkill设定为1,那么i.PScore加1。
ii.PTotal加1。
b.否则如果问题的PSkill设定为0,那么i.PScore不受影响。
iii.PTotal不受影响。
c.学生用户进到问题的“正确”域中所指引的下一个问题。
2.如果学生用户错误回答了一个问题a.如果问题的PSkill设定为1,那么i.PScore不受影响。
ii.PTotal加1。
b.否则如果问题的PSkill设定为0,那么i.PScore不受影响。
ii.PTotal不受影响。
c.学生用户进到问题的“错误”域中所指引的下一个问题。
3.如果学生用户错误地回答了所有主题中的所有三个问题,那么系统在阶段3的最后提供一个回退主题。
在M、D、S和A学习内容中的每一个主题均编有回退主题。如果学生用户在一个主题上失败了,那么他会有一个机会尝试该回退主题。例如,如果一个学生用户错误地回答了03M01(长度和距离IV)中的所有三个问题,那么在学生用户完成阶段3之后,系统会给学生用户一个建议再试一下回退主题,如01M03(长度和距离II)。知识评估信息数据库结构中的数据存贮在知识评估模块中所用的内容/问题保存在内容—问题主数据库中。用一个或多个查询表来与数据库相关联以便指示并提取知识评估信息。例如,该知识评估查询表包括下面的域A-W,并且可选的域为X-Y。
Field A(域A)AQIDFieldA包含知识评估问题ID代码(AQID)。其应包括测试水平(01-06,阶段3不同),阶段数(P1-P3)以及唯一的阶段位置(参见下面的内容)。三个阶段中的每一个阶段均具有一个稍稍不同的标号方案。例如,01.P1.05是知识评估水平1阶段1中的第5个问题;03.P2.I1C2是用户在知识评估水平3阶段2中分别答错答对一次后看到的第3个问题;以及01N03.P3.02是知识评估阶段3中01N03中的第2个问题。
Field BQIDField C主题代码Field D指数Field EPSLField F问题文本-Field B-F直接取自主内容-问题数据库并用来参引问题。
Field G答案选项A的文本Field H答案选项B的文本Field I答案选项C的文本Field J答案选项D的文本Field K答案选项E的文本-Field G-K包含五个可能的答案选项(A-E)。
Field L正确答案的文本。
Field M-Q是对应于域G-K答案选项的错误答案说明。对应于正确答案的域是灰的。
Field RVisual Aid Description(视觉辅助说明)——其为内容所用来生成错误答案说明。
Field SCorrect-一个在学生用户正确回答问题时用来指向要问下一问题QID的指针。
Field TIncorrect-一个在学生用户错误回答问题时用来指向要问下一问题QID的指针。
Field UNSkill-0或1。问题是否涉及数字技巧的代码。用来计算成绩。
Field VPSkill-0或l。问题是否涉及文字问题技巧的代码。通常来讲,对于阶段1的问题设定为0,对于阶段2和阶段3的问题设定为1。其用来计算成绩。
Field WLDPoint-用于阶段3的问题时是1,1.2或1.8点,用于阶段1和阶段2的问题时是空。其取决于问题的PSL,用来评估分值。
Field X概念—与问题材料相关的概念。可在以后作评估之用。
Field Y相关主题—与问题相关的主题。可在以后作评估之用。测试得分的计算公式在知识评估测试模块中,系统按如下方式计算出各种得分用户在数字学习内容上的数字得分由以下公式计算出来Number Score=min[Floor{[NScore/(NTotal-1)]*5},5]用户在其它学习内容(如测量、数据处理、形状和空间以及代数)上的得分计算如下首先,在每一个主题中计算出得分。在测量、数据处理、形状和空间以及代数这样的每一项学习内容中,均有三个问题,每一个均具有1、1.2和1.8三个LDPoint值。用户的主题得分(Topic Score)由以下公式计算出来Topic Score=Round{Sum of LDPoint of All 3 Questions*(5/4)]}取给定学习内容中的所有主题得分的平均数(并取低值)以得到学习内容的得分(Learning Dimensions Score)。
最后,用户的文字问题得分(Word Problem Score)由下式计算出来Word Problem Score=min[Floor{[PScore/(PTotal-1)]*5},5]
知识评估结果的评价概述在知识评估模块的最后,系统提示学生用户退出,同时提示父母/指导人员登入以读取测试结果。然后系统给父母/指导人员显示一个屏幕并连续显示以下的内容1)列出学生用户测试的每一项学习内容(当前有五项)的名字,以及一个0-5的级别,其显示的是用户的表现;2)按0-5级评估的用户“文字问题技巧(Word Problem Skill)”。
然后,父母/指导人员选择一项学习内容或“文字问题技巧”来看学生用户试图解决的相关问题以及错误的回答和建议说明。
评价标准如果采用示例的0-5级,那么5对应于对某一主题完全掌握。如果一个学生用户在任一项学习内容中或者是所解决的文字问题中得分为5,那么系统会显示下面的信息“[小孩的名字]已完全掌握该[主题名称]”。
3-4对应于对某一主题具有一些能力。如果一个学生用户在任一项学习内容中或者是所解决的文字问题中得分为3-4,那么系统会显示下面的信息“[小孩的名字]在该[主题名称]具有一些能力,PLANETii系统将帮助他/她直到完全掌握”。
0-2通常表明该学生用户对该主题不熟悉,需要练习该材料或者掌握其前提材料。
完全掌握某一主题被定义为对该主题中所有问题重复展示出的能力。在这里所述的实施例中,学生用户只有在其正确回答每一个问题时才算完全掌握。
一些能力被定义为对该主题中大部分问题重复展示出的能力。在本实施例中,学生用户必须正确回答任一主题3个问题中的2个时才行。
水位的初始化在完成知识评估测试模块后,将根据下面的逻辑对用户启始主题、前提主题及相关主题的水位进行初始化(预设值)●不把用户启始主题的水位初始化。
●把那些属于前提(与用户启始主题具有很高相关系数(新内容))的数字主题的水位初始化为85。
●对于其它的学习内容来说,把主题归入子类。
在下例中,一族主题被归到相关的多个子题类中,其包括1.01M01 Length and Distance(长度和距离)I2.01M03 Length and Distance II3.02M01 Length and Distance III4.03M01 Length and Distance IV假定一用户在完成知识评估测试模块后,在主题03M01 Length and Distance IV中测试如果他/她在03M01 Length and Distance IV中的主题得分为5,那么a)03M01Length and Distance IV中的水位设定为85,并且b)相关主题01M01 Length andDistance I、01M03 Length and Distance II、02M01 Length and Distance III中的水位设定到85。
如果他/她在03M01 Length and Distance IV中的主题得分为4,那么a)03M01Length and Distance IV中的水位设定为50;并且b)相关主题01M01 Length andDistance I、01M03 Length and Distance II、02M01 Length and Distance III中的水位设定到85。
如果他/她在03M01 Length and Distance IV中的主题得分为3或更低,那么a)就不把03M01 Length and Distance IV中的水位初始化;b)不把相关主题02M01 Lengthand Distance III中的水位初始化;并且c)至少两次从03M01 Length and Distance IV中去掉的子类中的相关主题(在此例为01M01 Length and Distance I和01M03 Lengthand Distance II)的水位设定为85。
在初始化时或者是在学生用户成功完成一个主题时,可以对给定主题赋予一个水位。因此,初始时预先赋予的水位85并不是用户赢取的水位85。因此,如果需要,学生用户可能会降到一个预先赋予水位为85的主题。
主题选择算法(Topic Selection Algorithm)模块主题选择模块是一个三步的多种启发模式的智能算法,其评估主题的适用性,然后根据它们与给定学生过去表现的相关度进行分级。在第一步,主题选择模块剪除(精选)未完成主题的列表从而排除那些与学生路径和进展无关的主题。在步骤二,主题选择模块采用多种启发模式分级系统来评估每一个适用主题的相关度。每一种启发均模式用于每一个适用主题相关度的整体分级结果,之后这些主题再根据该相关度进行排列。在步骤三,主题选择模块评估推荐的列表从而确定是否显示所推荐的最相关的主题。
图11所示为主题选择算法模块的示例流程。
步骤1——精选合适的主题主题选择模块采用多种精选机制以根据用户课程的当前状态来排除主题。将合适的主题放置在合适主题列表中。第一步包括所有合适系数大于0、水平小于85并且没有定位测试值的主题。这样能确保学生用户不会进到他们还没准备好去的或已经完成或测试出来的主题。学生用户在其中回答问题的最近一个主题明确排除出列表,从而防止引擎从连续两次建议相同的主题,特别是如果学生用户是失败而退出该主题。
在这些初始合适性判定之后,还要做一些附加的考虑。如果用户课程中存有现时还没通过的主题,那么这些主题所有未完成的前提主题均要加到合适主题列表中。这包括那些从定位测试接收的数值的主题。
最后,如果学生课程中没有没通过的主题并且推荐列表中所有的主题均比学生平均水平高于1级,那么该列表清空,其中不包含任何主题。这表明的是一个“尽头(DeadEnd)”状态。
步骤2——计算相关度在编辑完合适主题列表之后,主题选择模块为每一个主题计算出相关值。该相关值是利用几种独立的启发模式函数而计算出来的,该函数根据用户课程的当前状态从各个方面评估主题的相关度。每一种启发模式均被加权从而使其数值的已知范围与其它的启发模式组合从而提供更为精确的相关值。其中的权值是专为每一种启发模式设计的,因此某一特定相关值可取消或顺应于其它启发模式的数值。所有启发模式之间的相互作用就在整体相关值内形成了一个动态张度,其能根据学生用户的先前表现为其识别出最相关的主题。
相关度启发模式的说明1)平均水平的相关度(Average Level Relevance)概述本启发模式确定学生的整体平均水平,然后奖励那些与处于平均值的一个级窗口之间的主题,同时处罚远离的主题。
公式对每一个级来说LevelAverage=sum(topicWaterLevel*topicLevel)/sum(topicLevel)Average Level=sum(LevelAverage)主题的相关度(Topic relevance)(0.5-ABS(topicLevel-AverageLevel)*5可能的数值范围(在当前的课程1-4中)2.5至-17.5可能的数值加权范围(在当前的课程1-4中)7.5至-52.52)合适性的相关度(Eligibility Relevance)概述该启发模式评估学生对该主题的准备程度,其通过学生用户在每一项直接的前提主题中已完成多少来得到。
公式If W(PrqN)385,then set W(PrqN)=85;其中E(X)是桶X的合适指数,W(PrqN)是桶X前提N的水位
Cor(X,PrqN)是桶X与其前提N的相关指数,其中N是桶X的前提桶数t是常量100/85。
可能的数值范围(在当前的课程1-4中)100至0可能的数值加权范围(在当前的课程1-4中)20至03)概念重要度(静态乘数)(Concept Importance(Static Multiplier))的相关度概述概念重要度是有关主题有多重要的预定值。例如,像“Basic Multiplication(基本乘法)”的主题就是一个比“The Four directions(四个方向)”更为重要的主题。
公式1-(Topic Multiplier)可能的数值范围(在当前的课程1-4中)1至0可能的数值加权范围(在当前的课程1-4中)5至04)贡献的相关度(Contribution Relevance)概述该启发模式通过加上后置主题的相关度来度量完成本主题将带来的潜在利益。
公式SUM(post requisite correlation)可能的数值范围
(在当前的课程1-4中)~6至0可能的数值加权范围(在当前的课程1-4中)~3至05)学习内容重复的相关度概述该启发模式是指在多个学习内容上打下广泛基础的同时确保与学生用户具有一定程度的一致性。启发模式优选某特定学习内容中的2个连续主题,然后再前进到其它的学习内容上,这样学生用户就不会过分拓展其在某一学习内容上的知识。
公式该启发模式采用一张基于某特定学习内容中2个连续主题的数值查询表(参见下面)。

可能的数值范围(在当前的课程1-4中)7.5至-27.5可能的数值加权范围(在当前的课程1-4中)9.38至-34.3756)失败的相关度(Failure Relevance)概述该启发模式是给那些对于以前失败的主题来说是重要前提的主题一些奖励。例如,如果学生用户没通过01M01(Length and Distance I),那么01M01的前提主题将根据它们与01M01的相关度收到一个奖励。其对评估测试主题的处理与正常未做的主题不同,并根据这些前提主题之间相关度的平衡来对所给每一个主题的奖励加权。例如,一个评估测试主题与该失败主题的相关度必定大于其它未试主题的和或者是没有接收到奖励。所有的未试主题均相对于它们与失败主题的相关度接收一个奖励。
公式获得孩子/桶的数据查询失败的主题获得该失败的主题ID获得该失败主题ID的主题数据如果我们是失败主题的前提主题将未试前提桶的相关度相加如果AT主题的相关度高于未试前提总和将5+(5*我们的相关度-未试的总和)加到奖励上。
否则没有返回否则返回10*前提的相关度返回奖励可能的数值范围(在当前的课程1-4中)10至0可能的数值加权范围(在当前的课程1-4中)10至07)附加失败(再推荐)相关度(Additional Failure(Re-Recommend)Relevance)概述该启发模式在学生用户完成了大部分前提知识时提升失败主题,并且对没有完成大部分前提知识的主题降级。
公式
score+=(80-EI)10;if(preReq.equals(EngineUtilities.getLastBucket(userId))){score+=3;}可能的数值范围(在当前的课程1-4中)11至-2可能的数值加权范围(在当前的课程1-4中)11至-2<pre listing-type="program-listing"><![CDATA[  public double calculateRelevance(String userId,String topicId){double score=0;  //get the kid/bucket data  KidBucketWrapper kbw=new KidBucketWrapper(userId,topicId);  //loop through the faled topics  for(Iterator i=curriculum.getFailedTopics(userId).iterator();i.hasNext();){  //get this failed topicId  String fTopicId=(String)i.next();//get the Topic data for the failed topic id  Topic fTopic=curriculum.getTopic(fTopicId);  //if we are a pre-req of the failed topic  if(fTopic.getPreRequisite(topicId)!=null){  //if we are an AT topic  if(kbw.getAssessmentLevel()>0){  double preSum=0;  //sum the unattempted pre-req buckets′corellations  for(Iterator i2=fTopic.getPreRequisites();i2.hasNext();){  String pre=(String)i2.next();  Topic preTopic=curriculum.getTopic(pre);  KidBucketWrapper prebw=new KidBucketWrapper(userld,pre);  If(!pre.equals(topicId)&amp;&amp; prebw.getAssessmentLevel()=0 &amp;&amp;  prebw.getWaterLevel()=0){  preSum+=preTopic.getPostRequisite(fTopicId).getCorrelationCoefficient();  }  }  //if the AT topic′s corellation is higher than the sum of the unattempted pre-reqs  if(fTopic.getPreRequisite(topicId).getCorrelationCoefficient()>preSum){  //add 5+(5*our correlation-the unattempted sum)to the bonusscore+=5+(5*(fTopic.getPreRequisite(topicId).getCorrelationCoefficient()-  preSum));′  }  //otherwise return nothing  else{  return 0;  }  }  //otherwise return 10*the pre-req′s correlation  else{return 10*fTopic.getPreRequisite(topieId).getCorrelationCoefficient();  }  }  }  //return the bonus  return score;  }]]></pre>Step 3-评估推荐在第三步及最后一步中,系统评估推荐列表从而确定是否显示该受推荐的最相关主题。
合适度指数(Eligibility Index)合适度指数表示所选择桶的准备程度。换句话说,我们问“学生用户对进入该桶准备得怎么样了?”由此,一桶的合适度指数是用户所完成前提主题总百分数的量值。该合适度指数的计算如下
让E(X)作为桶X的合适度指数,让W(PrqN)作为桶X前提N的水位,让Cor(X,PrqN)作为桶X及其前提N之间的关联指数,其中N为X前提桶的数目让t为常量100/85如果W(PrqN)385,就设W(PrqN)=85;E(X)=&Sigma;1N[t*W(PrqN)*Cor(x,PrqN)]&Sigma;1NCor(X,PrqN)]]>为了更为有效地选择适合用户的桶,我们引入一个新的阈值,即合适度指数阈值(Eligibility Index Threshold)。如果合适度指数不能达到合适度指数阈值,那么就把该桶当成还没准备好被选取。
实施例的相关数值1.对于任何新的桶来说,问题选择均从水位25开始2.熟练水平范围(水位范围)为0到1003.下限阈值=104.上限阈值=855.在水位0处强制向后跳越6.在水位100处强制向前跳越7.合适度指数阈值=80分级以及特别情况的识别一旦每一个合适主题的相关度均已计算出来,主题选择模块就会推荐两个最相关的主题。如果没有主题推荐(即,精选阶段去掉了所有可能的推荐主题),那么要确定出下面两种状态中的一种。第一种状态是所谓的“死启(Dead Beginning)”,其出现在学生用户没通过01N01的“到10的数字(Nubmers to 10)”的主题。此时,学生用户并未准备好用智能练习(Smart Practice)训练,并且将一条信息发布,指导他们与其父母或监护人联系。第二个状态被称为“死结(Dead End)”,其出现在学生用户到达课程的终点或者是可获得内容的终点。此时学生用户已达尽最大努力,并把一条合适的信息发出。
问题选择(Question Selection)模块概述一旦为学生用户确定了主题,该问题选择模块会给学生用户发出一个合适的问题。此时,问题选择模块会不时地监视学生用户的当前水位,并找出那些与学生用户准备处理的难度水平最接近的问题。由于水位和难度水平相同,这就意味着当前处于例如水位56的学生用户就必须在获得难度水平为60的问题之前先得到一个难度水平为55的问题。如果学生用户正确回答了这个问题,那么他/她的水位会相应的增加;如果他/她回答错误,那么他/她的水位会下降。
此外,问题选择模块会假定在发出一个学生用户前面已经回答的问题之前,需用尽某一主题中的所有问题。如果某一主题中的所有问题均已回答,那么该问题选择模块会在发送前面正确回答的问题之前搜索并发送前面回答错误的问题。作为优选,该系统在某一主题中会有大量的问题,因此,学生用户不会看到同一个问题多过一次。
问题搜索过程所有的问题均指定一个特定的、从1-100的难度水平。根据系统处理器的处理能力,该系统可搜索所有的问题以便找到一个在难度水平上与学生用户当前水位最接近的问题。此外,在搜索过程中,系统会围绕学生用户的水位在预定的范围内搜索。例如,如果学生用户的水位为43,系统会搜索5个难度水平范围(38到48)内的所有问题,并为学生随机选择一个。
该范围的阈值是可变的,并且可设定在任意一个数字上。数字越小,围绕学生水位的选择设定越严格。范围越严格,找到最合适问题的可能越大,但系统在找到问题之前必须搜索多次的可能也越大。
通常的流程1.获得学生的当前水位2.搜索数据库以查找学生水位(+或-)5个难度水平内的所有问题。(注意该+或-5的阈度可以更为严格以便找到更为合适的问题,但这样做会增加对处理器的要求。)3.从本列表中随机提供一个问题4.根据学生用户的回答,基于水位调节表来调整他/她的水位。
5.重复该过程。
控制原则1.问题应当选自难度水平最接近于学生当前水位的难度。如果在前述阈值内(例如+或-5的难度水平内)没有找到问题,那么该算法会进一步扩大查找(+或-10、+或-15等)。
2.对某一学生用户而言不要选择前面已经回答过的问题,除非该主题中所有可能的问题均已回答过。
3.如果某一主题中所有的问题均已回答过,那么搜索最接近的错误回答的问题。
4.如果所有均回答正确,那么刷新该主题重新开始。
图15所示是一例从一个选择的主题桶中挑选一问题的处理流程。
状态级(State Level)和水位的计算状态级表示学生在任一桶中表现的一致性。当学生用户正确回答一个问题时,该状态级会加1,同样如果学生用户回答错误,那么该状态级会减1。作为优选,该状态级的范围为1到6,初始化为3。
水位表示学生在一桶内的熟练水平。作为优选,水位的范围为0到100,并且当一学生用户进入一新的桶中时,其初始化为25。
桶的乘数对于每一个桶来说是预定的,其根据桶内材料的重要性来确定。该乘数用到水位的增量/减量上。如果该桶是一个重要主题,那么该乘数会延长学生用户达到上限的时间。如果该桶是一个次要主题,那么乘数能使学生用户更快地完成该主题。
为了给用户的当前问题到下一个问题分配相应的水位,需要按如下方式根据桶的当前状态来调整水位。

数据传送采用一个由1024位钥匙签发的128-bit SSL Certificate来安全地通讯。这是当前所用最流行的浏览器所支持的最高级的安全度。
在客户机和服务器之间交换的数据具有2条路径1)从服务器到客户机,以及2)从客户机到服务器。从客户机到服务器的数据用POST方法发送。现在有两种主要的方式来从浏览器给网络服务器发送信息,即GET和POST。POST是一个更为安全的方法。从服务器到客户机发送的数据需经Extensible Markup Language(XML)模式发送,其广泛被接受为数据交换的标准。选择该格式是因为其灵活性,并能使系统更为快捷有效地再用、改变或扩展所使用的数据。
结论现在已描述了本发明的一个或多个实施例,然而本领域技术人员均清楚这些实施例均是示例说明而非限定,其仅以举例的方式来说明。除非另有表述,说明书(包括权利要求书、摘要和附图)中的所有特征均可由其它的用来实现相同或类似功能的特征、等同内容取代。因此,这些实施例经变更后的其它实施例均落在本发明权利要求书所限定的保护范围之内。
此外,该技术可由硬件、软件或者是两者的结合来实现。在一实施例中,该技术可由在可编程的多个计算机上运行的计算机程序来实现,这些计算机均包括处理器、处理器可读存贮介质(这包括易失性存贮器和非易失性存贮器和/或存贮部件)、至少一个输入设备以及一个或多个输出设备。程序代码应用到输入设备所输入的数据上以完成上述的功能并产生出输出信息。该输出信息加到一个或多个输出设备。
每一个程序均优选用面向过程或面向对象的高级程序语言来实现从而与计算机系统进行通讯,然而,如果需要的话,这些程序也可用汇编或机器语言来实现。无论怎样,该语言均是可编辑或翻译的语言。
每一个这样的计算机程序均优选保存在可被通用或专用的可编程计算机读取的存贮介质或设备(如CD-ROM、NVRAM、ROM、硬盘、磁盘或载波)上,以便在该存贮介质或设备被计算机读取时能够配置并操作该计算机从而完成本文所述的各个操作。该系统也可实施为一个计算机可读的存贮介质,其配有计算机程序,该存贮介质在配置上应使计算机能按特定的或预定的方式的操作。
最后,本发明一个具有潜在商业成功的实施例集成到了PlanetiiTMMath SystemTM中,该系统是一个在线数学教育软件产品,其可在http//www.planetii.com/home/获得。
图14所示为一例用户界面,其中有用于显示的各种元素。如图所示,问题文本数据呈现在显示区域(Display Area)2,可供选择的答案的数据呈现在显示区域,正确答案的数据呈现在显示区域6,视觉辅助(Visual Aid)的数据呈现在显示区域8,同时描述性解决方法(Descriptive Solution)的数据呈现在显示区域10。
权利要求
1.一种自适应式学习系统,其用来给用户提供合适的主题和问题,所述系统包括一处理器,其配置成在一数据库中生成并保存一组分级结构的主题,其具有多个与所述每一个主题相关联的问题;一主题中的所述多个问题中的每一个问题均具有一个指定的难度值;根据所述用户在主题上的表现一致性为用户确定一个可调节的状态值;所述状态值被初始化并具有预定的数值范围;至少在所述分级结构主题的一个子组中根据所述用户熟练水平为用户确定一个可调节的水位值;所述水位被初始化并具有预定的数值范围;通过下面的操作从所述这组分级结构的主题中为用户确定一个相关的主题对所述该组分级结构的主题进行精选从而确定一个或多个合适的学术主题;以及采用启发式相关度分级法来评估所述一个或多个合适的学术主题的相关度从而确定出所述相关的学术主题;通过下面的操作从所述的多个相关学术主题中为所述用户确定一个合适的问题确定所述用户的水位,在所述用户水位的阈值范围内从所述数据库寻找出一个或多个问题,从该一个或多个问题中随机地选出一个相关的问题,根据用户对所述选择出的问题的回答,按照预定的调节表调节所述用户的水位。
2.如权利要求1的系统,其中所述处理器进一步配置成采用下列的至少一种来评估所述一个或多个合适学术主题的相关度平均水平相关度的启发模式、合适度相关度的启发模式、静态乘数相关度的启发模式、贡献相关度的启发模式、学习范围重复相关度的启发模式、失败相关度的启发模式以及再推荐失败相关度的启发模式。
3.如权利要求1的系统,其中所述处理器进一步定义了一个乘数值m,所述状态级的数值被初始化到3,并且其范围为1到6,所述水位值初始化到25,并且范围为0到100,并且所述预定调节表包括
4.如权利要求1的系统,其中所述难度水平的数值范围从1到100。
5.如权利要求1的系统,其中所述阈值范围从±0到±5。
6.如权利要求1的系统,其中所述阈值范围大于±5。
全文摘要
本发明是一种智能自适应系统,其接收信息并采用一组预定的启发模式对所接收的特定信息做出反应。因此,每个人的个人信息(其可能是独特的信息)将送到引擎,然后为该个人提供独特的体验。本发明在这里公开的一个实施例集中在数学方面,然而本发明并不限于此,因为相同的逻辑也可应用于其它的学习课目。
文档编号G09B7/00GK1799077SQ200480015175
公开日2006年7月5日 申请日期2004年4月2日 优先权日2003年4月2日
发明者里维斯·程, 贝拉·孔, 杰森·恩吉, 西蒙·李, 约舒亚·莱维恩 申请人:普莱尼提美国公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1