7.3.2 逐步推理和监控的类比学习 Burstein(1986)提出另-个类比学习的模型。这个模型有两个主要观点。一个观点是,在新领域中学习所用的类比取决于利用在原有领域中形成的因果关系抽象。另一观点是,类比是逐步扩展的,以便处理有关的情况。他开发的CARL系统可以学习BASIC语言赋值语句的语义。研究中还分析了学生学习这个问题中的表现和错误。 考虑学习计算机变量的概念。变量类似于盒子,数字放在变量中类似于物体放在盒子中。如果学生了解物体放入盒子的含义,他就可以由类比理解"为了把数字5放入变量X,应使用语句x=5"。这种类比建立了两个领域之间的某种映射关系。用这种类比理解另一些问题时,却可能出错。例如,学习会把"X=Y"理解为把变量Y放入变量x。因为类比总是一种有用但不完善的映射,所以这种错误是难免的。这个例子说明,在由类比发展新概念的过程中应不断监控推理过程。下面由一段教师和学生的对话来看类比学习过程。 教师:假设有一个盒子叫X,我们要把数字5存在里面,你想怎么办? 学生:把数字5放在变量X中。 教师:你必须给它一个命令,告诉它怎样作。例如,我输入"B=10"。 学生:B等于10。 教师:它有了盒子B,而且其中是10。 学生:你写了盒子。再说要存的数。 教师:还要写一个等号,告诉它这样作。 这里有三个普通的类比。(1)把数放在变量中类似于把物体放在盒子中,(2)计算机用变量保存它被告知的东西,(3)赋值语句类似代数等式。这些类比从不同方面帮助我们理解赋值的含义。用多个类比的效果比只用一个类比好。下面说明怎样学习值的传送。例如教师输入"P=10",再输入"Q=P"。然后进行下列对话。 教师:现在在P中是什么? 学生:没有东西。 教师:没有东西吗? 学生:是10,Q中也是10。 教师:你怎么考虑的? 学生:如果你把P中的东西移到Q中,P中就空了,如果你是把与P中同样的东西放在Q中,P中就是10。我想应该是10。 教师:为什么? 学生:因为你是说让Q等于P。如果P中没有10,Q就不等于P了。 学生的犹豫不决是因为两个类比得到不同的解释。他由代数中相等的类比得到了正确结论。但学生继续用两个类比分析新的情况。这种错误和解释在类比过程中起重要的作用。类比学习不但要考虑正确的推理,也要考虑错误的推理。 CARL程序能体现出学习模型的许多方面。它学习各种赋值语句,学习过程是构造和组合多个类比得到的推理。下面以英语形式写出了CARL与教师的对话。 教师:计算机记住一个数是通过把它放进一个变量中。 教师:一个变量象一个盒子。 教师:为把数5放进变量X,输入"X=5"。 教师:你怎样让计算机记住数9。 CARL:输入"X=9"。 教师:假设我再输入"X=6"。那么变量X中是什么? CARL:6在X中,且9在X中。 教师:不。6代替了X中的9。 CARL:是的。 教师:假设我输入"Y=5",再输入"X=Y"。这时X中是什么? CARL:Y在X中。 教师:不,应该把Y中的数放进X中。 CARL:是的。 教师:这时Y中是什么? CARL:没有东西。 教师:再猜猜。 CARL:5在Y中。 教师:回答正确。 CARL的类比推理受到类比学习心理学研究的影响。Gentner(1982)给出了类比学习的认知模型。他使用的例子是"氢原子象太阳系。电流流过导线类似于水流过水管。"在他的模型中,建立由原有领域到新的领域的恒等映射。恒等映射联系了两个领域中的一阶关系,这些一阶关系是领域中对象间的关系。恒等映射也联系了两个领域中的二阶谓词,二阶谓词是一阶关系之间的因果链。例如太阳系类似氢原子的映射模型如图7.3所示。
在图中,太阳大于行星的关系映射到原子核大于电子的关系。但是太阳热于行星的关系没有映射到原子模型,人们不会认为由类比得到原子核热于电子。Gentner对这种情况的解释利用了约束系统,这个约束系统是在两个关系"吸引"、"大于"和另一个关系"围绕转动"之间的因果联系。这就是说,因为有"吸引"和"大于"关系,所以有"围绕转动"关系。这个因果联系是二阶谓词。如果类比学习中注意这种因果联系的映射,那么在已知太阳系模型中有这三个关系后,就可以类推出在原子模型中也应同时有这三个关系。 在CARL中,对这种约束条件进行了改造。一种情况是,当在原有论域中找到一个因果联系结构时,只把与该结构有关的关系映射到目标领域。例如,模型中应考虑待确定的类比(未发现因果结构)和含糊的类比(发现了几个因果结构)。另一种情况是,如果目标领域中的对象不能在同样的关系级别上比较,而且教师未提出相应的属性,那么这些属性的比较(如热于、大于等)就不映射。例如在盒子与变量的类比中,因为数字和变量没有公共的大小级别,所以在赋值的因果结构中就应去掉数字与变量相符的前提。 总之,在CARL的类比学习中有下列特点。(1)类比映射应充分利用在原有领域中找到的因果联系。类比学习应依靠较大知识结构的映射,而不是关系和对象这类简单知识的映射。(2)同时使用多个类比要比只用一个类比好,因为多个类比的组合有利于发现错误。(3)类比学习是一个逐步学习和监控的过程,应不断发现错误并修改推理。 |