1 引 言
Internet与www的迅速发展为传统的远程教学提供了新的思路和方法。
网络教学以网络作为传输信息的载体,是网络技术和多媒体技术结合的一种新型教育手段,突破了传统教学模式中的单向传播的局限,并以教师为中心的灌输式教育转向以学生为中心的主动学习,他必将成为未来教育发展的趋势。
但目前大多基于Web的网络教学系统仪是教材的电子化翻版,在交互性方面存在着缺陷,同时也缺乏智能性,难以实现因材施教,而在学生的学习过程中又容易出现迷航,偏离学习目标。
因此,如何提高远程教学的智能化程度成为迫切需要解决的问题,而近年来在人工智能领域新兴的Agent技术则为实现这一目标提供了良好的契机。利用Agent技术,可以实现网上的智能辅导,统一各地的教育资源,创建虚拟课堂、虚拟图书馆等,从而增加教学内容的趣味性和人性化色彩,改善教学质量。
2 Agent简介
2.1 Agent技术
Agent技术的诞生和发展是人工智能和网络技术相结合的产物。从20世纪60年代起,传统的人工智能技术开始致力于对知识表达、智能推理、机器学习等领域的研究,这些研究成果在计算机软件中的应用使得软件有了一定程度上的主动性,并在自主判断和行为选择上有了一定的智能性。虽然不同专业的人会对Agent有不同理解,但普遍认为:Agent是运行于动态环境的、具有高度自治能力的实体,能够接受其他实体的委托并为之服务。在更多的应用领域中,研究者把凡是具有智能行为和交互特性的分布式实体都称为Agent[1]。他一般具有以下的技术特性;
自主性 Agent本身是一个独立自主的计算实体,他能独立地发现和利用各种信息资源和服务,独立自主地解决问题和为用户提供服务。这是Agent区别于普通软件程序的基本特性;
主动性 Agent能根据用户的需求,适应环境的变化,主动为用户提供服务;
响应性
Agent必须对来自环境的影响和信息做出适当的响应;
智能性
Agent能感知周围的环境,具有推理和智能计算功能,能分析用户的需求,不断积累经验,以提高自身处理问题的能力;
代理性
Agent能代表用户完成某些工作或代理用户软件与其他软件进行通信和联系;
移动性Agent作为一个活体,能够在互联网上跨平台漫游,以帮助用户搜集信息,他的状态和行为具有连续性。
同时,为了完成一项复杂的任务,还可以创建多个相互协作和配合的Agent,以提高系统解决问题的能力。多个自主Agent组成的整体是一个多Agent系统[2],其中每个Agent。都有自己的职责,并与其他Agent通信获取信息,互相协作完成整个问题求解。与单个Agent相比,多Agent系统能够完成更为复杂、更广泛的功能[3]。
2.2.Agent技术应用于现代远程教育的优势
现有的网络教育系统很大程度上是把传统的教育课程搬到了网上,原有的教育体系中一些好的方面(如教学内容的趣味性、针对性和人性化色彩等)并没有被继承和发扬,而Agent技术的引入,有望较好地解决这些存在的问题,特别是对于构建这类处于复杂网络环境下的协作信息系统具有巨大的优越性。Agent技术的应用对于网络远程教育系统在以下几方面起到十分重要的作用:
(1)可有助于建立网络教学的协作化学习环境;
(2)可将分布式网络环境下各地的教育资源统一起来; (3)可进一步提高系统的交互性,实现网上的智能辅导;
(4)可创建起一个基于多Agent的且对不同的使用者提供不同接口的智能系统。
3系统研究与设计
3.1 系统结构
本系统采用B/A/S模式,即浏览器Browser/代理A-gent/中心服务器Server,他足一种"瘦客户"模式,有助于加快访问速度,客户端利用浏览器l:网,不再需要为不同的客户端安装不同的客户程序,这能够为复杂的分布式应用提供统一的环境。客户端也可以运行一些Java Applet来增强客户端功能,减轻服务器负担;而且这些Applet可以根据客户赋予的权限对客户端进行操作,增加了安全性。中间部分是各种Agent,负责沟通各个站点和服务器方,各种Agent之间通过KQML语言通信以协调工作。系统结构与系统学习流程分别如图1与图2所示。
3.2 系统中各Agent功能
3.2.1 学生Agent
学生Agent是协助学生完成学习任务的一个智能代理,实现对学生的智能模拟。他主要负责学生与系统之间的交互,引导学生的学习。详细记录学生的学习过程、学习特点和个性特点,提供了解学生的途径,为实现学生的个别化学习提供分析基础,为制定教学策略和选择教学资源准备基本信息,也为将来协作小组的划分、学习内容的选择以及学习进度的控制提供参考依据。
学生Agent在学生登录系统后自动生成。他具有以下的功能:
(1)负责辅助学生与系统交互,引导学生的学习,并在学习过程中根据学生的实际情况,动态地选择教学内容;
(2)负责代理学生向管理Agent申请某类知识的教师;
(3)与教师Agent建立连接,要求老师辅导;
(4)向教师Agent提交作业或参与测试;
(5)在学习过程中根据学生的实际情况及时向教师Agent反馈相关的信息,在学习结束后将学生的学习结果返回给教师Agent并申请测试;
(6)参与和个性化Agent的交互合作,为个性化A-gent进行个性化服务提供必要的学生信息;
(7)参与和其他学生Agent的协作学习、讨论。
3.2.2 教师Agent
教师Agent的作用是模拟人类教师的行为,把领域知识以恰当的方式传授给学生。教师Agent根据学生的实际情况,选择合适的知识传授给学生,监督并评价学生的行为,应学生的请求提供帮助和选择纠正方法。
他具有以下功能:
(1)帮助教师修改、增删、更新教学内容、教学策略和规则;
(2)监控学生的学习(包括个人学习和协作学习),根据学生的实际情况和学习要求,对学生进行教学指导、管理;
(3)利用教师信息库和学生信息库中的相关信息,了解学生当前的学习进度、学习成绩、学习态度、学习心理状态以及综合的学习能力,对有关信息进行统计,对学生的学习做出评价,并按一定的控制策略对教学过程中遇到的各种问题进行推理求解,从而重新组织安排教学内容,调整教学步骤和方法为决策提供最优方案;
(4)在学生学习过程中给出提示、结论和参考信息,控制讨论范围和讨论时间,对学生的非学习性浏览发出警告,对学生的解答和知识探索给予激励的评价;
(5)生成、发布与批改作业和测试试卷;
(6)参与协作学习,对各个协作学习小组的学习成果进行分析、评估;
(7)在教学过程中负责收集学生的反馈信息以充实完善学生信息库和教学策略库,更新知识库的内容;
(8)完成与其他Agent之间的通讯交流;
(9)参与答疑系统,参与学生实时情况下的答疑,以及解答答疑Agent无法解答的问题;
(10)能通过教学活动和与其他老师、同学的探讨交流,不断总结教学经验、方法,不断学习新的知识技巧,提高自身素质。
3.2.3 管理员Agent
管理员Agent是整个系统的组织者,他可以完成以下功能:
(1)对用户进行身份识别与访问权限管理;
(2)知识库的管理,及时动态地对知识库进行有效的更新、归类、增删处理;
(3)管理协作学习区,协作学习人员分组的管理,协作学习的管理;
(4)对教学内容和教学活动的监督;
(5)为学生Agent搜索指定相应的教师Agent以指导学生的学习;
(6)监视系统运作,负责各个子系统的管理。
3.2.4 个性化Agent
个性化Agent调用目前登录学生的学生信息库,查看学生以往的学习记录,根据这些记录为学生本次学习呈现最初的学习资料。因为每个学生的学习信息库不同,则不同的学生登录得到的最初学习资料也不同。在学生的整个学习期间个性分析Agent要不断地分析学生学习状态,为学生的下一步学习做相应的准备。个性化Agent还负责将本次学习的最终分析结果反还给学生信息库,以便为用户的下次学习提供资料。
学生输入用户名和密码后,登录教学系统,就自动启动个性化Agent。个性化Agent的主要作用是准确地分析和提取反映每个学生学习状况的个性特征和兴趣爱好的数据。他依赖于学生信息库中的学生信息、学习历史、学习记录等信息提供数据。个性化Agent具有以下功能:
(1)提供智能导航功能。查看学生特征库,查看学生以往的学习记录,学生进入系统后,直接定位到要学习的内容;
(2)对学生进行个性分析、知识水平分析、认知能力分析;
(3)针对性地形成最佳教学决策以及组织教学资源、对学生进行个别指导、实施个性化教学;
(4)对不同的学生提供不同的学习方式、进度。个性分析Agent调用目前登录学生的学生信息库,查看学生以往的学习记录,根据这些记录为学生本次学习呈现最初的学习资料。因为每个学生的学习信息库不同,则不同的用户登录得到的最初学习资料是不同的;
(5)记录学生目前的学习状态,以此掌握学生的学习进度、学习效果和学习能力,触发推理机,为不同的学生提供个性化教学;
(6)负责将本次学习的最终分析结果反还给学生信息库,以便为用户的下次学习提供资料;
(7)完成对学生学习的监视和信息的采集。
3.2.5 管理Agent
管理Agent是对整个教学情况做宏观调控。他是在服务器启动时自动产生,一旦激活就一直处于活动状态,随时响应用户Agent的请求。他的管理包括成员管理、任务管理、信息管理、协作过程管理等。
他可以完成以下功能:
(1)负责各个Agent间通信;
(2)负责产生和管理系统中的其他Agent,在系统中起着控制作用。管理Agent能根据任务性质生成不同任务Agent执行不同的任务,相应的Agent在执行完任务后,返回到管理Agent,同时把执行的情况向管理Agent报告。管理Agent在确定以后,把执行的结果返回给用户Agent,同时撤销任务;
(3)负责Agent间的协调、协作冲突的检测与消除以及协作信息的一致性。
3.2.6 协作学习Agent
教学活动本身是一个交互的过程,教师需要了解学生知识掌握的情况,从而及时调整自己的教学方法和教学内容;学生需要与老师配合才能掌握各类知识和基本技能。因此,在系统中,提供了协作学习的功能。
3.2.7 答疑Agent
在网络教学系统中学习的用户往往较多,因此让有限数目的教师对每位学生提出的问题都做出实时解答是不现实的。但是根据学科的特点和教学经验,课程的内容具有经典和普遍意义,学生对课程的理解一般都有相似之处,提出的问题实质性内容有60%~70%是相同的,只不过表达方式可能有所偏差[4]。因此,在系统中建立答疑Agent来对常见问题进行自动解答。
3.2.8测试Agent
测试的目的是为了检验学生是否掌握了特定的知识和能力,为前一阶段提供教学反馈信息,为改善教学活动提供依据。测试Agent是一个负责对学生出题进行测试的Agent,他用于支持学生对当前的学习情况进行自我评测,他主要是通过与试题库的交互来确定学生的知识水平和错误所在。他在测试过程中可以实时评估考生的水平,并根据考生的水平按一定规则选择试题测试。测试A-gent在测试完成后会给出正确答案和成绩,并完成对测试效果的评估。
4 系统的实现
本系统采用的是开放性、跨平台好的B/A/S模式。学生通过因特网进行学习,与教师进行交互。以win-dow98或更高版本为学生端操作平台,以Window2000Server为Web服务器软件;采用Java技术和Java的JDBC数据库技术(采用SQLServer7.0存储教师和学生的基本信息、课程信息、学生的学习情况、知识库以及试题库等),来完成对不同数据源的透明操作;采用JSP技术创建和运行动态交互的、基于Web服务器的应用程序,他的最大好处是能有效地将表达与内容分离开,开发可重用、跨平台的组件(JavaBean),使系统执行效率大大提高[5];A-gent之间的通信采用与KQML语言兼容的语义表达式,利用移动Agent系统的消息机制加以实现。
5 结 语
移动Agent在现代远程教育系统中的应用,使得教学效果、教学模式和系统性能大大优于传统教学系统,促进了现代远程教育系统的智能化,实现了真正意义的个性化教学,对整个教学改革和素质教育的实施起到积极的推动作用。尽管基于Agent思想的远程教学系统尚处于研究与实验开发阶段。但随着人工智能和信息技术的发展,网络化、智能化和个性化的现代远程教育模式将成为未来教育的主要手段,其应用前景非常广阔。