【摘 要】随着社会的广泛需求、信息技术的飞速发展及Internet的迅速延伸,现代远程教学得到了越来越广泛的应用。但目前的远程教学系统普遍存在智能性差、交互手段匮乏、知识结构松散、资源共享度不高等一系列弊端。本文以多Agent技术为基础,提出了一种新的基于多Agent的现代远程教学模型框架,并讨论了其主要功能及实现该系统的部分关键技术。
【关键词】 远程教学;多Agent;模型框架
一、前言
以多媒体、网络等先进技术为基础的现代远程教学体系,不仅是对传统教学方式的根本性变革和挑战,而且具有变革与发展的坚实基础。然而,综观现有基于Internet的远程教学系统,不难发现其普遍存在的一系列问题,包括:
● 多以呈现教学材料为主,在教学过程中学生被动学习,缺乏必要的交互手段;
● 对不同认知水平的学生采用相同的教学策略,缺乏智能性和适应性,难以实现因材施教;
● 由于知识结构是松散无关的,掌握学习主动权的学习者面对众多信息而无所适从,在学习过程中容易出现迷航而偏离学习目标;
● 采用了不同的数据资源管理标准,不利于教学资源共享以至于造成大量重复劳动。
Agent理论和技术的研究最早起源于分布式人工智能(Distributed Artificial Intelligence, DAI),是能够自主学习并可适应环境的软件实体。其能够通过感知自身和环境中的信息,自主采取行动实现一系列预先设定的目标或任务。多Agent系统是由多个自主的Agent组成,每个Agent.都有自己的职责,并与其它Agent通信获取信息,互相协作完成整个问题求解。与单个Agent.相比,多Agent系统能够完成更为复杂更广泛的功能。
二、多Agent技术简介
Agent技术最先由美国麻省理工大学研制开发。截止到目前,广大专家学者对Agent的定义还没有达成共识。一般认为, Agent应该具有知识、目标和能力。其中,知识就是Agent对它处的环境和要求解问题的某种描述,可以通过用户、其它Agent (在多Agent系统中)或自身的学习来获得。目标就是Agent所要求解的问题和任务。能力就是Agent可以求解该问题的方法和手段。
理论上,可以将Agent详细定义成如下形式(参见图1):
这里,M为方法;K为Agent的内部知识;A为属性;I为推理机制;L为语言;S为消息传递操作;R为消息接受协议;G为全局知识;F 为继承机制;C为系统服务。从程序观点来看,Agent就是能够自主学习并可适应环境的软件实体,其能够通过感知自身和环境中的信息,自主采取行动实现一系列预先设定的目标或任务。另外,Agent具有面向对象技术中对象的特征,故在实现的时候,可以用面向对象的技术来实现Agent的功能。
通常,Agent具有以下一些特性:
⑴ 智能性 Agent能够根据知识库中的事实和规则进行推理,运行于复杂环境中的Agent还应具有学习或自适应的能力;
⑵ 自主性 Agent是一个独立自主的计算实体,其动作和行为是根据本身的知识、内部状态和对外部环境的感知来进行控制的,它的运行不受人或其他Agent的直接干涉;
⑶ 反应性 Agent能够及时感知环境的变化而做出相应的动作;
⑷ 社会性 Agent可以通过某种Agent协作语言与其他Agent或人进行交互和通信,在多Agent系统中,Agent应具有协作和协商能力;
⑸ 目标导向性 Agent能够为实现一定的目标而规划行为步骤;
⑹ 移动性 Agent作为一个活体,它能够在互联网上跨平台漫游,以帮助用户搜集信息,它的状态和行为具有连续性。
现实世界问题是极其复杂的,而单个Agent的功能是极其有限的,单个Agent一般很难完成给定的任务,此时需要通过适当的体系结构把多个Agent组织起来形成多Agent系统,以共同承担一个任务,来弥补单个Agent之不足,使得整个系统的能力超过单个的Agent。
基于多Agent技术的系统是指多个Agent相互通讯、彼此协调,共同完成作业任务的系统,它不仅具备一般分布式系统所具有的资源共享、易于扩张、可靠性强、灵活性强、实时性好的特点,而且各Agent能够通过相互协调解决大规模的复杂问题,使系统具有很强的鲁棒性、可靠性和自组织能力。在多Agent系统中,单个Agent是一个物理的或抽象的实体,能作用于自身和环境,操纵环境的部分表示,并与其他Agent通讯,具有感知、通讯、行动及控制和推理能力等基本功能。多Agent技术的这些特点,使得其在处理基于互联网的知识问题方面,具有广阔的应用前景。
三、基于多Agent的远程教学模型框架
远程教学突出特点表现在学生是学习的主体,其通过网上虚拟课堂进行交互式的自主学习;教师则要通过课程设计,采取创设问题情景、在线专题讨论、归纳总结、评价激励等方法,激发学生的学习兴趣和学习动机,促使他们理解和掌握知识体系,培养创新精神,进行广泛而又深入的学习。
由于远程教学是一个复杂、庞大、不可预测的信息系统,一般会覆盖教学的各个环节,因此应该将其划分成子问题,并构造多个具有一定功能的Agent,由这些Agent去分别处理子问题。当子问题之间出现相互依赖时,系统中的Agent必须能通过协作来控制依赖性。基于以上分析,我们构造的基于多 Agent的现代远程教学模型框架如图2所示。
整个现代远程教学系统包括3个部分:⑴ 6个基本数据库,即学习资源库、试题库、系统知识库、教学策略库、教学目标库和学生模型库;⑵ 3类基本用户,即教师、学生和管理者;⑶ 6类Agent,即教师Agent、学生Agent、管理者Agent、人机交互界面Agent、教学Agent和管理Agent。下面具体介绍部分Agent的功能。
● 学生Agent。学生登录远程教学系统以后,系统会自动生成一个学生Agent。它一方面要为对应的学生提供交互界面,引导学生的学习,并在学习过程中根据学生的实际情况,通过教学Agent从教学策略库中选择合适的策略给学生以指导,在学习结束后将学生的学习结果返回学生模型库。另一方面学生Agent还要调用目前登录学生的学生基本信息和学习记录,查看学生以往的学习情况,根据这些记录为学生本次学习呈现最初的学习资料。学生Agent在用户的整个学习期间要不断地通过人机交互界面Agent分析学生的学习状态,为用户下一步学习做相应的准备。同时还负责将本次学习的最终分析结果返还给学生信息库以便为下一次学习提供资料。
● 教师Agent。教师登录远程教学系统以后,系统会自动生成一个教师Agent。一方面,教师Agent负责教师与远程教学系统的交互,通过教学Agent对教学的过程进行相关的指导和监控,了解学生的学习过程和学习反应,指出哪个学生的理解或答案是最好(或最坏的)并做出解释。如果学习方向出现偏差,则予以及时纠正。此外,还可以从试题库中抽取相关的问题进行讨论以加强理解。另一方面,教师Agent还是专业知识的资料库和主动收集者,能对每一个学习者提供专业的最大的资源数据,建立相关的课程或课程框架(指包含教学目标、教学策略、教学步骤等)供教学Agent选择。并可根据教师的干预和学生的反应对本身的知识库进行主动的调整和扩充,主动从网络上获取相关的信息,重组成为更有意义的知识。
● 管理者Agent。一般说来,教育教学活动包括一系列的管理,如课程管理、学籍管理、成绩管理等等,因此有必要在远程教学系统内部建立管理Agent来负责整个系统的智能协调。管理者登录远程教学系统以后,系统会自动生成一个管理者Agent。管理者Agent主要通过管理Agent负责对整个教学情况作宏观的调控。管理Agent主动获得其他Agent的数据和资料,并自动地生成相关的管理数据,如学习者的学习时间、地区分布、学习者水平统计、教师工作统计等,协助管理者进行有效而快速的反应。同时,管理Agent还要担负起诸如其他Agent的增删管理、名录和地址管理、通讯链条的管理职责。
人机交互界面Agent。人机交互界面Agent主要负责学生、教师、管理者与教学、管理子系统之间的交互联系,并记录交互过程。特别地,人机交互界面Agent要负责登记学生个体目前的学习状态,以此掌握学生的学习进度、学习效果和学习能力,触发教学Agent,为不同的学生提供个性化教学。同时,人机交互界面Agent还要通过交互信息,监控和评价学生的学习,给出提示、结论和参考信息,控制讨论范围和讨论时间,对学生的非学习性浏览发出告警声音,对学生的解答和知识探索给予激励的评价。
基于多Agent技术的现代远程教学系统具有以下主要特征:⑴学生无需按照系统设计者的预定教学序列学习,教学序列是学习过程中优化产生的;⑵能提供具有智能性、自主性的Agent服务,分析学生的学习状况和学习兴趣,根据其学生水平,智能调整课程难度,这样可最大限度挖掘每个人的潜力,从而能够有效地指导学生更好地学习;⑶对于教师来说,能够减少重复劳动,准确把握学生对知识点的掌握情况,有针对性地进行教学指导,提高教学效率。
四、系统实现的关键技术
基于多Agent技术的现代远程教学系统是一个复杂、庞大、不可预测的信息系统,其设计与实现将涉及诸多关键技术。其中,最为重要的是数据模型的组织、Agent的构建及开发技术的选取。
1. 数据模型的组织
在基于多Agent技术的现代远程教学系统中,数据模型主要包括学习资源库、试题库、系统知识库、教学策略库、教学目标库及学生模型库等。下面以学生模型库为例,简要说明数据模型的组织方法。
学生模型是现代远程教学系统的核心,是其他模块得以良好运行的基础,但同时也是最难实现的一部分。一般说来,学生模型主要完成以下功能:①学生有用信息提取 它通过学生Agent获取动作信息,从这些数据中提取有用信息进行分类,根据用户的情况制定任务,进行任务分解与分配;②估算学生的认知程度、兴趣爱好、学习进度等,这是一个难点。系统通过学习和推理,挖掘用户数据的潜在信息,而这些信息更深入、全面地描述了学生的学习情况和个性特点,为后面如何组织教学提供依据。③对用户心理状态的分析 在学习过程中除了能力等客观情况外,心理状态对学习的影响也是非常大的,因此在教学中有必要了解学生的情绪,帮助他们调节心情,提高其学习的兴趣。
考虑到学生模型Student_Model是能够表征学习者认知状态的数据结构,主要用于反映学生在学习过程中的动态特征,进而为教学Agent模块提供对学习者进行学习推理、判断学生学习状态、评价学生学习效果及进行教学决策的数据资料。因此,可以将学生模型库组织成以下结构
Student_Model_Dadabase=(Student_Model (i) | i=1…n)
Student_Model=(学习基础,学习习惯,兴趣爱好, 学习进度,学生基本信息,H(i) | i=1…m)
其中,Student_Model_Dadabase存储了参加学习的学生模型,Student_Model (i)是第i个学生的学生模型,H(i)表示第i个课程的学习历史记录。
通常,理想的学生模型Student_Model由教师Agent产生。然后在学习过程中,相应的教学Agent根据学生个性化思维特征及每个学生的活动进展确定其学习基础、学习习惯、兴趣爱好、学习进度,从而建立当前的学生模型。教学Agent要运用模糊理论处理学生模型Student_Model的模糊信息,挖掘模糊信息的内在联系,从而建立模糊关系。
刻画描述学习基础、学习习惯、兴趣爱好、学习进度等属性信息时,宜结合IEEE LTSC LOM标准进行。例如,学习基础信息反映一个特定学生在每一个概念领域所掌握的知识程度。于是可以用一个学习基础向量来表示。所谓学习基础向量,实际上就是一组模糊数,其中的每一个模糊数对应一个概念的掌握程度。
Knowledge_Foundation_Status=(
Knowledge_Foundation (i) | i=1…n)
Knowledge_Foundation (i)=(identifier i, value i, date)
其中,Knowledge_Foundation_Status表示学习基础信息,Knowledge_Foundation (i) 表示第i个学习基础状态标识,identifier i是第i个学习基础状态标识符,value i是一个模糊数,表示该标识符对应的概念的掌握程度,date记录的是产生value i的日期。
再比如,可以采用IEEE LTSC LOM中的“Educational”元数据对学习习惯进行评价,如形式,教学手段,交互级,语义密度,难度等等。
2. Agent功能单元的设计
一般说来,现代远程教学系统模型的构建需要经过3个关键步骤:⑴确定Agent的种类,为Agent建立理念模型;⑵建立多Agent的合作交互模型,描述多Agent之间合作的方式,多Agent系统的组织结构以及Agent之间的交互协议;⑶建立每个Agent的功能单元模型,对系统中具体的功能实现抽象和定义。其中,Agent功能单元的设计与实现是现代远程教学系统模型构建的核心任务。下面以教学Agent为例,简要说明Agent功能单元的设计方法。
利用多Agent技术解决大规模复杂问题时,人们习惯将理论上的Agent进一步简化为如下Agent理念模型,即:
Agent=(Goal,Bel,Act,Intend,Plan,Can,Commit)
其中,Goal代表活动的动机和希望达到的状态;Bel代表Agent的知识;Act代表Agent可采取的操作;Intend代表Agent进行计算的起因,Agent将根据其意愿做出行为决策,执行动作;Plan代表Agent为达到预定目标而进行的规划,规划由一系列规则组成;Can代表Agent进行计算的前提;Commit代表Agent对未来行为的某种决策。
根据以上Agent理念模型,可将教学Agent设计成如图3所示的结构模型,其定义描述为:
<教学Agent>::=<AgentID, 接口, 教学控制器, 知识库, 学生模型库>
<知识库>::=<学习资源库, 试题库, 系统知识库, 教学策略库, 教学目标库>
<学生模型库>::=<学习基础库, 学习习惯库, 兴趣爱好库, 学习进度库, 学生基本信息>
<教学控制器>::=<教学控制模块,推理机>
<教学控制模块>::=<学习资源库查询、更改、增加、删除; 试题库查询、更改、增加、删除; 知识库查询、更改、增加、删除; 教学策略库查询、更改、增加、删除; 教学目标库查询、更改、增加、删除; 讨论与答疑区的启动、管理; 相关数据库查询>。
3. 开发技术的选取
目前,研制开发多Agent应用系统可以采纳CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构)、DCOM(Distributed Component Object Model,分布式组件对象模型)、Java RMI(Remote Method Invocation,远程方法调用)等多种分布式对象构件技术。由于CORBA是一种开放的分布式对象计算框架标准,其不仅内置了“软件总线”,可方便地实现不同程序之间的通信,而无须考虑这些程序的设计方式、编程语言和运行平台,而且提供了一种“即插即用”的软件环境,能够自动地完成许多一般性的编程任务,如对象的注册、定位、激活,请求的分发和异常处理等。同时,CORBA中的接口定义语言IDL还提供了到Java、C++、Smalltalk等语言的映射,可以方便地实现网络上不同平台的对象相互之间的交互。因此,实现基于多Agent的现代远程教学系统的最佳方案是采用CORBA与Java的相结合技术,并采用三层客户/服务器模式,即:
⑴ 用户界面层。即基于浏览器的现代远程教学系统用户界面,使用普通的浏览器。Web浏览器作为客户层,提供图形用户界面,负责与用户进行交互。它通过Http协议从应用层的Web服务器下载超文本页面,同时下载并执行内嵌在页面中的Java Applet。这些Java Applet中CORBA客户对象通过内部通信机制同应用服务器中有关教学Agent对象进行互操作,教学Agent对象封装了相关的操作,它们之间通过内部协议彼此通信,并能够访问数据层的数据库对象,以协同完成客户请求。
⑵ 管理服务器层。由传统的Web服务器、管理信息库和应用网关组成。CORBA和Http组成的中间层几乎可以由任何一种服务器平台来支持。CORBA对象作为一个中间层应用服务器,将业务逻辑封装起来。同时,服务器端的CORBA对象还能与其它使用CORBA的客户或服务器交互。
⑶ 数据层。是CORBA对象能访问的所有数据库,包括系统所用到的所有数据及知识库。
五、结束语
现代信息技术为远程教学提供了坚实的支撑平台,丰富的媒体资源、多彩的表现手段、不受时空限制的便利环境、快捷的联系沟通方式,极大地增强了远程教学的优势。而人工智能及多Agent技术的引入,无疑会进一步促进现代远程教学的人性化,充分调动学生的自主学习兴趣、提高学生创新能力、改善教学效果,对整个教学改革和素质教育的实施起到积极的推动作用。当然,基于多Agent技术的现代远程教学系统尚处于研究和实验开发阶段,相关领域的研究工作还有待进一步深化,相信在不久的将来,更多符合中国国情、符合未来学习模式的人性化远程教育系统必将开发成功。
作者简介:杨红颖,辽宁师范大学计算机与信息技术学 院(116029)。
《中国远程教育(综合)》2005年第4期
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。