2004年01月15日

MS-Agent系统在教育软件开发中的应用


MS-Agent系统在教育软件开发中的应用
黎加厚 经春秋 王小艳

内容摘要:本文论述了MS-Agent系统展望MS-Agent在教育中的应用,尤其对计算机辅助教学的发展的影响,并在研究MS-Agent的基础上提出了基于Agent的人机交互式网络远程教育系统。
关键词: MS-Agent系统、人机交互、人机交互式网络远程教育系统。
MS-Agent系统是微软公司开发的一个卡通型人机交互的系统,它的发展已经影响了计算机的许多领域,它对计算机辅助教育的明天将起到不可忽视的作用。我们希望能通过对MS-Agent的了解来展望未来的计算机辅助教育系统的发展。

一、MS-Agent系统对教育软件发展的影响
在过去的十多年,智能Agent的研究,不仅是计算机科学领域中的巨大兴奋点,也是教育技术领域中人们感兴趣的前沿热点之一。
Agent技术在教育领域中有非常广阔的应用前景,包括网络上教育信息的挖掘,智能检索,教育资源库的管理,各种教育软件的用户界面等。
自从Microsoft公司推出MS-Agent的可编程卡通动画人物Agent后,对教育软件的设计开发产生了重大影响,该卡通Agent系列不仅生动风趣,而且还能通过语音识别系统与用户进行交谈。在屏幕上可以任意显示,移动或隐藏,这些功能使得计算机在教学活动中更富人情味,学习者仿佛与活生生的动画人物进行交流,这将使教育软件的质量发生新的飞跃。
众所周知,人类的学习活动是社会化的行为方式,有效的学习需要学习伙伴的集体气氛。20世纪后期的计算机技术只能实现框面式的教学软件界面,因而往往被人们批评为“电子翻书器”或“课本搬家”。当时人们只注意到CAI的个别教学的优点:小步子、积极反应、即时强化、学习者自定步调、低错误率等。但是,计算机辅助教育的实践表明,由于计算机辅助教学软件大多数是提供文字和图标式的人机交互,这种机械的学习,往往使学习者在刚开始使用教育软件时饶有兴趣,但很快就产生厌倦感,因而发展教育软件的人性化界面一直是教育技术界努力的方向。
卡通式Agent通过形象与动作的生动变化,语言交流,对用户输入内容的判断参与学习者一起进行学习活动,不仅使学习者感觉到是与各种可爱的动画人物进行交往,而且在学习的过程中建立起虚拟社会生活情景,从而使计算机在教育中的应用从辅助工具阶段发展到学习伙伴和虚拟学习社区的新阶段。

二、Agent系统的特点
MS-Agent是一个基于PC机上微软Windows平台的卡通式的人机交互系统。它融入到传统的Windows窗口、菜单和所有应用软件的界面中,成为传统界面的一个组成部分。它强大的人机交互功能使计算机人工智能在PC机上的实现成为可能。可以预测,随着MS-Agent系统的完善和发展,PC机硬件性能的提高,网络的迅速发展,MS-Agent将使个人电脑的人机交互界面由静止走向互动,由文字走向语言,由传统的窗口型发展到动画卡通型,将实现计算机人机交互界面的第三次飞跃。(第一次是Dos操作系统的产生,第二次是Windows操作系统的产生)
MS-Agent强大的人机交互功能表现在两个方面,一是动画精灵的界面,第二是使用户与计算机的语言的交互成为可能。MS-Agent提供了若干个活泼可爱的小精灵,除了微软本身提供的四个精灵外,其他第三方还提供了大量的Agent精灵(图1 ),你甚至可以自己制作一个你自己喜爱的动画精灵。agent1.JPG
Agent的动画精灵具有规定的动作,如听、指示、表情、动作、移动、隐藏、出现等。同时,每个用户还可以自定义动画,以符合各种不同的要求。动画精灵的出现,使人机交流有了人物形象和精神上的寄托,使计算机操作者感到不再是和冷冰冰的机在打交道,而是在同活生生的人物进行交流。动画精灵Agent那充满夸张的行为和富有想象力的动作让人和机器自然的融合在一起。要交流,没有语言还是不行,语言是人交流不可缺少的因素。因此,要做到真正的人机交互,不能缺少语言的交流。MS-Agent动画精灵也为计算机使用者提供了语言交流的功能,它把语言的交流分成两个部分,一个是语音输入,即“听”的功能,一个是语音输出,即“说”的功能。实现这两个功能的分别是MS-Agent的文本朗读Text-To-Speech引擎和语音输入识别引擎。这两个引擎使MS-Agent有了语音按钮,使精灵能回答复杂的对话、记录声音和文本。正是精灵活泼的能说会唱的功能,使MS-Agent在PC机上实现了强大的人机交互的功能。


计算机的发展历史告诉我们,一个系统要迅速的发展,就要让更多的人能对它进行控制。MS-Agent给用户提了一个方便的控制手段。首先,MS-Agent系统自己提供了一套代码,它可以控制Agent的听音、说话、动作等等,甚至可以边说边做;其次,它支持ActiveX控件,任何支持ActiveX控件的软件(如VB、VC、Authorware等)都可以对它进行控制,使动画精灵Agent成为程序的一个部分;第三,它作为ActiveX,支持VBScript等网页制作,可以在支持ActiveX网页浏览器上直接和精灵进行交流,给强大的网络注入了新的活力。随着计算机的发展,ActiveX接口的标准已经成为一个公认的编程标准,这也为Agent发展提供了更为广阔的空间。

三、MS-Agent的开发环境
MS-Agent作为微软一个专利产品,它只能在符合ANSI标准的操作平台上使用。MS-Agent的开发,除了MS-Agent本身提供了可修改的属性,我们还可以在支持ActiveX控件的程序语言中和由第三方提供的Agent开发软件中开发Agent系统。在下面,我们将详细介绍其属性,简单提及其他程序语言控制和软件控制的开发环境。
1.MS-Agent自身的一些属性的介绍:
为了使用户更好的使用MS-Agent,它为用户提供了能接近动画精灵并与之交流的精灵属性。
精灵界面
精灵出现的默认位置是屏幕的左上角。这时,用户能用左键拖动精灵,用右键单击精灵,则出现如下的上拉菜单:
Open | Close Voice Commands Window
Hide
----------------------------
Command*

----------------------------
OtherHostingApplicationCaption**

注意:The Open | Close Voice Commands Window 控制当前活动精灵的控制窗口。如果语音识别系统没有应用或没有安装,将不会给出菜单
任务图标
如果在精灵的制作中包含了任务图标,那么将在任务栏中显示出来(图片2)。 agent2.JPG图片2. 精灵任务图标
把指针指到图标上,就会出现该精灵名称。左键单击图像会出精灵,双击的功能可自定义。当精灵出现时,右键单击图标会出雷同于右击精灵的菜单;当精灵隐藏时,则菜单上仅出现Open (or Close) Voice Commands Window (必须已经安装了兼容语音引擎)和 Show菜单。
语音命令窗口
当用户安装了兼容的语音引擎,用户可用语音或鼠标选择上拉菜单中的Open Voce Commands Window命令,打开语音命令窗口。该窗口将罗列出所有能被识别的语音命令。(图3)
agent3.JPG
文本气球框
MS-Agent除了用音频输出语音外,还可通过文本气球框(图4)输入文本。文本在他们说话时出现,在说话结束时消失。用户可以在精灵高级角色选项控制文本气球框的属性。
agent4.JPG

听音提示框
在语音输入时,MS-Agent可以通过听音提示框(图5)表示MS-Agent语音识别的情况。如果语音识别系统没有被安装或没有被应用,该框将不出现。
agent5.JPG


高级角色选项
为了使用户更好的控制Agent,MS-Agent提供了高级角色选项(图6)。它包括输出、语音输入、版权所有三个方面的内容,能被任何主程序所显示。并能保持上一次的修改值。
agent6.JPG

默认的精灵属性窗口
MS-Agent提供了一个默认的精灵,它可以被任何程序所应用。它可以通过默认精灵属性窗口(图7)的修改来改变默认精灵的指定。

agent7.JPG
2.程序开发环境
程序语言来开发Agent的关键就是该程序语言要支持ActiveX控件。无论是象VC、VB这样传统的程序语言还是象Java、VBScript网络编程语言,只要支持AcetiveX控件就可以通过MS-Agent控件实现对MS-Agent的控制。
我们以VB为例,看一看程序语言是如何对MS-Agent控件进行控制的,由于各种编程软件不同,所以各种调用MS-Agent控件的方法也不同。
在VB中,我们首先创建一个Form,让后我们在“工程”菜单中的“部件…”选项中选择Microsoft Agent Control 2.0(图8),确定后可在工具相中看到一个MS-Agent2.0控件的图标 ,单击该图标,拖动到Form上(图9),就可在Form中实现对MS-Agent控件的编程。它提供了许多完成的事件(图10)和大量的属性(图11),使程序员能方便的控制MS-Agent,让近乎完美的人机交互的界面在它的程序中得以实现。
agnet8.JPG
agent9.JPG
agent10.JPG
agent11.JPG
程序语言的控制,使一个普通的程序员就能开发MS-Agent系统,为各种程序提供友好的人机交互界面提供了可能。
3.各种软件对MS-Agent的控制
微软公司在创建MS-Agent的同时,为了更好的对MS-Agent的控制,他开发了Microsoft Agent Character Editor ,即Agent精灵编辑器,给用户提供了 Agent编辑精灵的工具。它有可视化的编辑窗口,下图即为Character Editor 2.0版本的编辑窗口(图12):
agent12.JPG
用户只需将制作好的图片(作为动画的帧)排好序列交给它,并定义好每一张画面的停顿时间,它就能将这些图片连贯起来,形成动画,再由若干动画构成精灵。精灵离不开动画,而在Agent制作动画中有更突出的一个特点,就是使图片中人物的嘴也能动起来,即编辑口型;并可以将人物说的话显示在人物上方。这两个功能都是Agent直接提供的。应该说,这是将Agent应用于交互式教学,增加“交互”的感觉,从而富有趣味性与吸引力的一个优势。另外,在动画制作方面,它还有以下两个特点:1.利用Agent 制作的动画在播放时可以是无限循环的,直至用户提出中断要求( push-to-talk);2. 拥有Exit Branching的制作功能,从而实现了动画与动画之间的顺利过渡。以上两项都是在如图所示的窗口中完成(图13):
agent13.JPG
除灵活的动画编辑外,Agent Character还拥有Sound Editor——语音编辑。当精灵的声音与嘴型动作、肢体动作相结合,就将构成活灵活现的学习伙伴(或教师)。这是现今一些教学软件中还没有的。
MS-Agent的开发已经引起了世界许多计算机软件公司的注意。BellCraft Technologies公司开发了一个对Agent简单控制的软件——Mash。用该软件提供的各种精灵可以制作应用程序。下图即为Mash的编辑窗口(图14):
agent14.JPG

编辑者可以选择各种精灵并给予精灵各种动作、位置、隐藏与否、是否张口说话、说话内容、唱出的音调,等等。生成的应用程序就会顺序播放,形成可爱的、形象的精灵动画。

四、MS-Agent系统在教育软件中的应用
MS-Agent的强大人机交互功能给各种各样的计算机程序提供了方便的人机交互系统。如微软的Office中的帮助系统就已经采用了MS-Agent系统。同样我们也可以看到,强大的人机交互功能将给计算机辅助教育带来广阔的应用前景。
程序教学早在20世纪初就有人开始尝试了,随着计算机的普及,计算机辅助教育成了程序教学的主力军。传统的教学思想已经跟不上时代的发展,为了让教学的过程具有情感、具有对不同学生的适应性,传统的程序教学面临技术上的困难。但是,MS-Agent人机交互系统给CAI的这一缺陷带来了福音。它通过会说话、会唱歌、会表演的动画精灵,让学生获得了学习中情感交流的载体,为计算机辅助教学实现情景化和个别化开辟了新的途径。
在语言教学方面,MS-Agent支持几乎世界上每个角落的语言,这使MS-Agent在语言教学方面有了得天独厚的优势。使用它,我们可以实现对各种语言文本的朗读、对各种语言的发音纠正。可以设置情景教学,把学习者和计算机中的动画精灵形成一个信息交换的通道,达到人机合一的教学环境。还可以在彼此交流的过程中,让计算机对学习者不正确的地方及时的反馈,并指出纠正的方法,实现虚拟的个别化教学。
在数学、物理、化学等理科教学方面,我们可以恰当的使用MS-Agent的动画功能。如在例题演示时让精灵对重点做出相应的指示,在实验操作的图像演示时,让精灵在一边做讲解,并对关键的地方做重点表示,可加深学生对其过程的印象。
在教育游戏方面,MS-Agent强大的人机交互功能更能表现得淋漓尽致。我们可以安排精灵参加游戏,也可让精灵在游戏代替你作为一个角色,还可以让精灵作为在游戏中的伙伴和助手。如果在恰当的配合语音输入,学习者甚至可以真正当起发号施令的将军,在电脑中实现声控学习和游戏,那时的学习与游戏的过程将更加精彩。
Agent在教育软件中的应用,不是Agent本身完成的。MS-Agent在软件中起着一个人和机器之间的交流载体的作用。它所提供的仅仅是一个可以进行人机交互界面,而真正的程序操作的实现人需要CAI程序开发员的努力。但是,MS-Agent的出现,使CAI程序找到了与学习者交流的载体,把CAI的教学从单纯的文字图片交互变为语言和形象交流的学习过程,这对CAI的发展将起到难以估量的作用。

五、MS-Agent系统在交互式网络远程教育系统开发中的展望
目前,交互式远程网络教育系统一般由四个部分组成:学生、教师、网络服务器以及系统开发员。在计算机只能进行逻辑判断的时期,缺少任何一个部分都不可能组成真正意义上的交互式学习。在教学活动中学生是学习的受体,是整个系统最重要的元素。交互式远程网络教育系统将是一个以学生为主的系统,交互的目的是围绕学生的个别化教学和情景化教学。教师是学习的发出者,是这个系统运行良好的保障。因为计算机的程序化教学是一个一步一步的过程,过程是否合理,是否对每个学生都适合,计算机本身是无法用逻辑方法来完美解决的,它只能提供一定的参数,真正的把握权仍应在教师手中。网络服务器是整个系统的中介,它应包含大量的各种各样的数据库,并能处理来自各方面的各种各样的信息,并发送到学生、教师和系统开发员中去,控制整个系统运行情况。系统开发员是支持整个系统的基础。因为交互式网络远程教育系统的开发是一个在发展中逐步完善的过程,系统开发员是一个能根据学生和教师需要而让计算机相应工作的人员,缺少他,网络不可能有更大的发展,最终只能被不断发展的社会所淘汰。因此,这四个部分所组成的交互式远程网络教育系统是任何一个交互式的网络系统所必备的。
如何实现交互,如何让交互体现在学生和教师的面前,MS-Agent将在这里一显身手。我们可以用MS-Agent包装学生的学习程序、教师的教学程序、以及网络服务器上的数据库、信息库,给学生和老师们提供一个看得见、摸得着的卡通形象的人机交互界面。(图15)
agent15.GIF

MS-Agent和网络的结合,是多媒体技术与网络结合的有一个典范;MS-Agent和计算机辅助教育的结合,是CAI实现智能化教学的一个新的历程;而三者的结合,将形成一个新的远程教育体系。
在这个系统中,用合适的人机交互方式让学生选择针对自己的学习内容、方法以及学习时间。MS-Agent中的精灵成为与学生进行交流的直接对象,通过内部程序帮助学生分析学习情况、给学生提供试题、课文内容、专项辅导,代替学生在网上交流好的学习方法。通过交流大家共享学习资源(包括题目、课文和学习方法)。教师能从这个系统中得到系统提供的有关参数,以了解学生的学习情况,并通过一个代表自己身份的Agent精灵在网络上指导学生。同时,该Agent精灵也为教师不断地在实际教学积累宝贵的经验。而网络中的服务器系统也可以利用MS-Agent强大的功能,在开发员的管理下,为教师和学生提供各种相应的数据库,以保证信息的正确及时反馈和足以满足所有用户的信息流量需求。
随着网络的发展(出现了WebTV),网络通讯的速度大大提高,计算机硬件的发展(CPU运算速度的提高),为MS-Agent发展提供了硬件的保障。 基于MS-Agent教育软件有着广阔的开发前景,卡通型Agent人机交互界面的发展是计算机辅助教育发展一个重要的趋势。目前,MS-Agent的语音输入和输入两大引擎的开发成为MS-Agent的发展的瓶颈。现在世界各国对这两大引擎的开发都处于初级阶段,没有一个公司能提供完美的语音引擎,中文语音引擎的开发更是难上加难,希望更多国内的计算机开发人员能参与到为我们民族母语的引擎开发事业中来。


参考文献
[1] 周立柱、赵洪彪 《Agent行为及其新的服务方式》 《计算机科学》 1999,Vol.26.No3 51页
[2] Tak-Wai Chan, The past, present, and future of educational agents, ICCCE99,论文集,1999
[3] ActiveX® technology for interactive software agents, October 1998,www.microsoft.com

由 Jeremy 发表于 19:49 | 回复 (21)

开辟新的专栏

今天,我在这里开辟新的栏目MS-Agent。这是我第一各研究的内容,虽然没有什么大的结果,但是也很多宝贵的一手资料,借用Blog向大家展开。

由 Jeremy 发表于 19:41 | 回复 (0)