4 规则推理模型的实现
4.1 优选语义思想
Wilks[24]提出了隐喻理解的优先选择限制方法。在系统中,词义信息包含在一个称为“语义公式”的知识结构中。算法通过语义公式之间的语义异常来判断隐喻表达。Wilks后来又提出了一个补充解释的识别策略,即依赖伪文(pseudo-text)结构的机制,伪文是一种由格标记链接的知识结构模板。如果句子出现语义异常,系统就会从伪文中寻找一个近似匹配投射到原来的表示,例如,汽车喝油,my car drinks gasoline,语义表示为[my+car drink gasoline],出现语义冲突后,系统选择了近似匹配[ICengine(USE)#liquid],这里“消耗(USE)”投射到“drink”而形成[my+car use gasoline]。
Fass[7]提出的修正语义学(Collative Semantics)方法实际上就是Wilks优选中断思想的发展,而且在他的隐喻系统Met*中提供了识别英语短句中隐喻(metaphor)、转喻(metonymy)和字面义(literalness)的一种手段。转喻和隐喻最主要的区别在于转喻被认为是构成了一个或多个像“容器-内容,部分-整体”这样的语义联系,而隐喻被认为是包含了相关的推理。这种方法是面向自然语言处理的修正语义研究的一部分,并且已经在Met5系统中实现,Met5系统用Quintus Prolog编写,系统流程如图1。
图1 Met5系统流程图
第一步:如果满足优选语义限制,则可以表示成字面理解,算法结束。第二步:如果存在语义冲突,则进入转喻搜索,若满足,实现S(source)和T(target)的替换;若不满足,则转入3。第三步:进入隐喻搜索,如果满足,建立隐喻联系,算法结束;如果不满足,进入异常运用处理。Fass的Met5系统还包含一个500词条的语义框架词典(sense-frame),该词典的设计后面会详细谈到。
Wilks和Fass按照隐喻表达中源域和目标域存在语义矛盾的事实,设计了优选中断的问题求解思路,计算流程合乎情理,这应该是人工智能领域隐喻问题求解的一个好方法。不过对他们的方法有人提出质疑。因为按照Wilks和Fass的理论,隐喻的处理比字面意义需要更多的时间,但后来的心理学假设并不是这样,Gerrig[25]提出的“处理各种非字面语言和字面语言的时间没有太大的不同,特别是没有证据表明在解释隐喻语言和字面语言所需要的时间有根本的差别”。心理学的假设和计算机处理过程是否完全一致,还有待于进一步验证。
Wilks和Fass的计算模型把n+v的语义冲突作为识别隐喻表达的关键,但是从目前汉语词典的描述体系看,没有语义冲突这方面特殊的描述。如果能够利用现有资源,提取隐喻约束条件倒是一个可行的方案。
4.2 基于实例思想
Martin[8]设计了一个用来解释常规隐喻和识别新生隐喻的计算模型(Metaphor Interpretation Denotation and Acquisition System, MIDAS模型)。它能够实现常规隐喻的知识描述,运用这些知识解释隐喻语言和学习新遇到的隐喻现象。该系统的隐喻分析包含三部分。
(1)MIDAS知识表示
MIDAS系统包含了一个常规隐喻知识库,它使用了KODIAK知识表示语言来描述词义和常规隐喻,被称作隐喻义,一个隐喻义包含隐喻映射,每个连接表示源域概念到目标域概念的映射。例如,在常规隐喻中Non-living-thing-as living-thing,源域是living-thing,目标域是Non-living-thing,一个Non-living-thing被看作是一个living-thing源域到目标域的连接。
(2)隐喻解释系统(MIS)
MIS用来解释知识描述详尽充分的隐喻。MIDAS中MIS分两步处理,第一步经过句法分析,形成初步的语义表示,这些知识主要来自词库;第二步是最后的意义,这当中包含两个推理过程,具体化推理(concretion)和隐喻不可见推理(metaphorical unviewing)。具体化推理是以更具体的概念替换抽象概念,隐喻不可见推理用隐喻中源域概念替换相应的目标域概念。“My car drinks gasoline”被解释成“Drinking-reduce-amout”。
(3)隐喻扩展系统(MES)
如果遇到新生隐喻时,MES通过系统扩展、描述、归并已经熟悉的隐喻来识别和发现知识描述不充分的新生隐喻。算法推理主要使用相似度扩展和核心扩展技术,隐喻扩展算法首先搜索新生隐喻和已知相关隐喻,然后计算新生隐喻和已知相关隐喻的概念距离来选取距离最短的相关隐喻,这个最短的已知相关隐喻作为该隐喻的最新解释,例如“possession flu”可扩展为“gave fl u”即“infection is giving”。
MIDAS系统利用了隐喻表达中源域和目标域的映射推理关系来识别新生隐喻,这种思想和基于实例的机器翻译方法表面很相似,可是隐喻与翻译不同,翻译允许直译,直译甚至是翻译的一种方式,但隐喻一定有深层含义,甚至有言外之意。
由于知识表示的弱点,MIDAS系统还无法处理复合隐喻,无法建立两个隐喻之间的联系。例如,INVESTMENTS→CONTAINERS和MONEY→WATER的确有关联,但是MIDAS不能表示这种现象,而且MIDAS的覆盖率也受到限制,因为并不是所有的新生隐喻都能从已知常规隐喻库继承过来。
4.3 逻辑推理模型
Gentner[9-10]利用了隐喻和推理的相似性,构建了结构映射理论,Falkenhainer[26]对这一理论给予了程序实现。该系统为结构映射引擎(Structure-Mapping Engine, SME)。该算法比较了特征集合表示的概念语义信息。其特征使用一阶谓词和二阶谓词来表示。SME首先搜索源域和目标域单一词条的位置匹配,基于两个领域中相同名称的联系,然后按照匹配的优先级别排序,级别最高者作为隐喻推理的可能解释。
Holyoak & Thagard[11]描述了一个基于满足约束的ACME隐喻分析模型,它的主要优点是语义结构和语用约束在同一个框架下被实现。Holyoak的思想和Gentner很相似,不同的是SME系统还无法实现ACME系统的语义相似性约束。Steinhart[27]运用扩展的谓词演算提供了逻辑真值条件方法,提出了一种隐喻逻辑推理解释方法,该方法在命题中增加论元角色,使得逻辑推理的约束力更强。
以上三种模型都是通过谓词演算的逻辑推理来发现源域和目标域的映射,不同之处在于它们选择了不同的约束方式。
处理非字面语言的主要方法被典型化为问题求解,他们试图发现和推理非字面用法的最近似意义。解释隐喻的任务被看成一种特殊的求解目的,没有利用语言的传统知识,这种推理技术造价相当高[28]。
4.4 隐喻突显思想
Ortony[13]提出了隐喻理解的突显观点,突显观点的核心思想是:在“A是(像)B”表达中,很少强调目标域A的突显特性,而是通过比较,源域B的特性被高度突显出来。例如,“高速公路像一条蛇”,源域“蛇”的特性被高度突显,隐喻的突显特性主要体现在源域概念上。后来,Weiner[14]融合了隐喻的突显性、非对称性、非一致性、夸张性以及不可表达性等多种特点,利用KL-ONE知识表示语言进行隐喻概念描述。不过,他的方法忽视了隐喻所具有的推理能力,对于复杂的隐喻还不能进行推理。另外,隐喻的知识表示需要手工建造。关于手工建造知识库的难题,Sun[29]提出了基于微特征的隐喻连接方法。
4.5 基于语义标记(semantic marker theory)思想
Aarts and Calbert[15]提出一种基于语义标记(semantic marker)的扩展方法,其思想也是语义偏移思想的一种,例如,“绿色的梦想”被考虑成一种偏移,因为“绿色”附加了【+物质】选择限制,此标记无法限定“梦想”。语义标记方法的最大局限是标记成分完备性问题,目前还没有一个切实可行的定义。