林 胜 强
(四川师范大学政治教育学院,成都610066)
基于动态谓词逻辑的汉语指代现象的信息处理
林 胜 强
(四川师范大学政治教育学院,成都610066)
组合性是对自然语言进行信息处理时考虑问题的出发点。动态谓词逻辑主要是从语言信息的可计算性和组合语义的角度,使用标准一阶谓词逻辑的正统句法,通过对话语表现理论等逻辑理论进行改进而得到的。动态谓词逻辑的提出本质上是为了处理两类问题:跨语句的指代消解和表示语句内部约束关系的“驴子句”中的指代消解。动态谓词逻辑的核心思想是使用逐渐递增信息的动态方法对句子或者句子序列进行分析,并对于变项的指派进行扩展,或者对作为模型参照物的状态进行流动更新。
动态谓词逻辑;标准一阶逻辑;汉语指代现象;信息处理
组合性原则是在对自然语言进行信息处理时考虑问题的出发点。这是因为组合性是满足语句或篇章语义计算需求最直观的方式之一。从计算语义学的观点来看,在对自然语言的转换程序中,对一个篇章已经解释的语境而言,希望能够就地及时且逐次递增地处理和翻译随之而来的每一个语言基本单位[1]83。
虽然Kamp的话语表现理论(Discourse Representation Theory)[2]具有动态地处理语义现象的能力,但是却不满足语义计算的组合性原则[3]。为了使话语表现理论更加符合组合性原则,Groenendijk与Stokhof提出了动态谓词逻辑(Dynamic Predicate Logic,简称DPL)[4]。动态谓词逻辑基本上只有一种结构——程序,此逻辑是量化动态逻辑的子系统,处于“公式即程序”语言中最基础的地位[5]。从计算机科学的视角来看,动态谓词逻辑是关于测试(testing)和变元/寄存器(register)复位(resetting)的理论[6],是重要的自然语言动态语义理论。动态谓词逻辑具有三个主要特征:组合性的语义特征、变元/寄存器的复位特征、表达式的测试特征[3]48。在动态谓词逻辑中,一个语句的意义依赖于语句更新解释程序的信息的方式,而不是依赖于语句的真值条件[1]83-84。这一观点与“意义就是算法”和“意义就是潜在的语境更新”[7]等意义的算法理论具有异曲同工之处。
动态谓词逻辑主要是从语言信息的可计算性和组合语义的角度,使用标准一阶谓词逻辑的正统句法,通过对话语表现理论等逻辑理论进行改进而得到的。原版的动态谓词逻辑与标准的一阶谓词逻辑相比,它们有着同样的逻辑语言,仅仅语义有别[8],二者的主要区别体现在对存在量词的辖域处理上[6]。借助霍尔规则可把动态谓词逻辑化归为标准的一阶逻辑,使用量化动态逻辑规则也可把动态谓词逻辑化归为标准一阶逻辑,而且标准一阶逻辑也可在动态谓词逻辑中得到解释[8]。
相对于标准的一阶谓词逻辑而言,动态谓词逻辑的优越性体现在以下三个方面:(1)动态谓词逻辑改革了经典逻辑的静态语义模型,引入了动态算子,提升了逻辑对自然语言进行信息处理的能力;(2)动态谓词逻辑对自然语言逐步解释的过程,正好对应于信息的逐步流动更新过程,这符合人类运用自然语言的认知过程,它比经典逻辑更适合作为自然语言信息处理的逻辑基础与描述工具;(3)在动态谓词逻辑中:一个公式表示的语义对象就是赋值的可能的“输入-输出”序对的集合,而且它本质上只有一种结构——程序,可以据此编制计算机处理自然语言的程序指令,甚至可以直接提供便于计算机处理的相应算法,从而为计算机理解自然语言提供理论依据。
动态谓词逻辑[4]的非逻辑符号包括:n-元谓词、个体常元和变元。与标准一阶逻辑或广义量词理论一样,动态谓词逻辑常用的逻辑符号也包括「(否定)、∧(合取)、∨(析取)、→(蕴涵)、∃(存在量词)、∀(全称量词)以及=(等词)。
在定义2中,v[x]u表示v与u的区别最多在于v指派给x的值与u指派给x的值不同。一个表达式的解释是指它在一个可适合的模型中的语义值,其中的“〖〗”就是表示指派语义值的函数。在动态谓词逻辑中,对于一个模型M中的赋值u而言,一个公式是真的,当且仅当,把u输入该公式,该公式就有一个输出v。即:
定义3.真(truth) β相对于M中的u为真,当且仅当,
根据这个概念,我们就可以定义一个公式什么时候是有效的,什么时候是矛盾的。
定义4.有效 β是有效的,当且仅当,对于∀M∀u,β相对于M中的u为真。
定义1.动态谓词逻辑的语法
(1)若a1,a2,…,an是个体常元或变元,R是一个n-元谓词,则Ra1a2…an是一个公式。
(2)若a1,a2是个体常元或变元,则a1=a2是一个公式。
(4)若β与γ是公式,则[β∧γ]是一个公式。
(5)若β与γ是公式,则[β∨γ]是一个公式。
(6)若β与γ是公式,则[β→γ]是一个公式。
(7)若β是一个公式,x是一个变元,那么∃xβ是一个公式。
(8)若β是一个公式,x是一个变元,那么∀xβ是一个公式。
(9)除了以(1)—(8)为基础所生成的公式外,没有别的公式。
可见,动态谓词逻辑的语法与通常的谓词逻辑的语法是一样的。
在动态谓词逻辑中,一个模型M就是一个序对〈S,F〉,其中S是由个体组成的非空集合,F是一个以个体常元和谓词作为其定义域的解释函数。如果α是一个个体常元,那么F(α)∈S;如果α是一个n-元谓词,那么F(α)⊆Sn。一个赋值u或v是把一个个体指派给每个变元的函数:u(x)∈S或v(x)∈S。而V则是所有赋值函数的集合。如果a是一个变元,我们定义〖a〗v=v(a);如果a是一个个体常元,我们定义〖a〗v=F (a)。现在可以定义一个解释函数(〖〗DPL)M⊆V×V如下(在不引起混淆的情况下,可以省略这里的上标和下标):
定义2.动态谓词逻辑的语义
动态谓词逻辑的核心思想是:使用逐渐递增信息的动态方式对句子或者句子序列进行分析,并对于变项的指派进行扩展,或者对作为模型参照物的状态进行流动更新[9]。动态谓词逻辑本质上只有一种结构——程序,它的所有公式都是程序;所有的结构都给定公式一个动态解释,这样,不同的语言学结构的语法范畴与语义类型之间就没有区别,所有的意义都是状态之间的关系[1]88,语句的意义就是解释程序的一个指令。因此,动态谓词逻辑可以看作是一种“程序设计语言”,而不是对这类程序进行推理的语言。普通动态逻辑可以作为对动态谓词逻辑进行形式化推理的一种手段。
在标准的一阶谓词逻辑中,一个公式的解释就是赋值的集合,这些赋值验证了这些公式。在动态谓词逻辑中,一个公式β表示的语义对象就是赋值的可能的“输入-输出”序对〈u,v〉的集合。序对〈u,v〉在公式β的解释中,当且仅当,β是相对于状态赋值u而言,v就是其一个可能输出的结果。而u与v是从对象到变元的赋值,输入赋值u和输出赋值v之间的区别仅仅在于:被指派给一个或多个变元的那个不同对象,这表示从u到v仅仅经过了一个步骤的变化。因此,当对v[x]u中的输入赋值u逐步地进行流动更新时,其输出赋值v也得到流动更新,这样,对句子序列的逐步分析就可以看成是特定的“输入-输出”程序的逐步执行。
比如:对于u、v、w是这三个连续的输入赋值,v[x]u表示赋值u与赋值v仅仅在一个变元x处的取值不同(这对应于从赋值u到v仅仅经过了一个步骤的变化),同理w[y]v表示赋值v与赋值w仅仅在变元y处取值不同(这对应于从赋值v到w也只仅仅经过了一个步骤的变化),这样,从赋值u与赋值w之间就仅仅在两个变元x与y处取值不同(这对应于从u到w正好经过两个步骤的变化)。因此动态谓词逻辑对“v[x] u”所表示的意义的规定,正好对应于程序(或事物)的一步一步的执行(或变化)过程,简单地说,这种规定就保证了程序的逐步执行过程,正好对应于信息的逐步流动更新过程。
指代(anaphora)是自然语言中极其普遍的语言现象,它对于衔接上下文、简化表述和意义的连贯有着不可忽视的作用。指代消解(anaphora resolution)就是为指代词确定先行词的过程,它在机器翻译、自然语言接口、信息抽取、文本摘要和问答系统等人工智能领域中有着重要的作用[10]264。而动态谓词逻辑的提出本质上是为了处理两类问题:跨语句的指代消解和表示语句内部约束关系的“驴子句”(donkey-sentence)中的指代消解。我们用下面三个语句的翻译来说明动态谓词逻辑产生的必要性。
(1)李四穿着黑衣,他笑着。
(2)如果一个人有头驴,他会喜欢它。
(3)一个有驴的人都会喜欢它。
若用标准一阶谓词逻辑来翻译自然语言语句,则指示代词将以约束变元的形式出现。为了使语句(1)的第2个子句中的代词“他”,能够指代语句(1)中第一个子句中的“李四”,需要在所涉及的两个子句的合取的宽域上给出一个存在量词,这样就可得到语句(1)在标准一阶谓词逻辑中的翻译:
(4)∃x[lisi(x)∧chuanzhuoheiyi(x)∧xiaozhuo(x)]
注意,这种翻译并不能够通过组合性的方法从语句(1)逐步地得到(4),因为这里对语句(1)中第一个子句的翻译∃x[lisi(x)∧chuanzhuoheiyi(x)],在(4)中不是以子句的形式出现的。为了满足组合性,我们似乎应该把(1)翻译成:
(5)∃x[lisi(x)∧chuanzhuoheiyi)]∧xiaozhuo(x)
然而,从标准一阶谓词逻辑的视角来看,这个翻译对语句(1)来说是不恰当的,因为(5)中的存在量词并没有约束变元x的最后一次出现,因而就没有表示出(1)中的指代关系。
在标准一阶谓词逻辑中,语句(2)与(3)对应的翻译为:
(6)∀x∀y[[ren(x)∧lv(y)∧own(x,y)]→xihuan(x,y)]
由于语句(2)与语句(3)中包含不定词项,通常把它们翻译成存在量化语句,但是根据它们在语句(2)与语句(3)中的实际意义来看,需要用全称量化来表示这两个不定词项在语句中的意义,而且相应的全称量词需要在整个公式的宽域上给出。这样,就不能把不定词项统一翻译成存在量化语句。
从组合的观点看,语句(2)似乎更应该翻译成:
语句(3)似乎更应该翻译成:
但是,由于(7)中的变元x、y以及(8)中的变元y都是在各自的前件中出现的,不能够被前件中的存在量词约束。因此,在标准一阶谓词逻辑中,(7)与(8)的意义与(6)意义并不等价,故(7)与(8)所表示的意义也是不适当的。
在话语表现理论中,像(1)—(3)这样的语句已经得到了成功的处理,但是组合性的翻译问题仍然没有得到真正的解决,而且话语表现理论使用的是非正统的逻辑语言。在话语表现理论中,语句(1)可以表示为:
(2)与(3)可以表示为:
从本质上看,(9)与(4)、(10)与(6)具有同样的真值条件,而且本质上,(9)的结构与(4)是一样的,而与(5)不一样。
动态谓词逻辑则使用动态语义,而不是标准一阶谓词逻辑语言的标准语义,组合地来处理了像语句(1)—(3)这样的指代现象,而且它所使用的句法是标准一阶谓词逻辑的正统句法。这些都是优越于标准一阶谓词逻辑和话语表现理论的地方。具体地说,动态谓词逻辑从组合语义和语言信息的可计算性的角度,使得用(5)、(7)与(8)来分别表示语句(1)、(2)与(3)的意义成为可能,而且其动态语义使得(5)的真值条件与(4)在标准一阶谓词逻辑的真值条件相同,(7)和(8)的真值条件与(6)在标准一阶谓词逻辑的真值条件相同。
能够进行指代消解的自然语言语义理论主要有:动态谓词逻辑、话语表现理论、动态蒙太格语法、范畴类型逻辑、增量动态逻辑,这些理论进行指代消解的机制分别对应于:动态约束机制、中介机制、加标机制、范畴机制、复合机制[11]。这些理论都各有利弊,相对而言,动态谓词逻辑是一种程序设计语言。
动态谓词逻辑进行指代消解所采取的机制是动态约束机制:在语句范围之内和跨语句范围的情况下,动态谓词逻辑把动态解释,只限于“传递到”后续指示代词的可能先行词的可能变化的语句意义方面。
在动态谓词逻辑的意义动态观与程序设计语言语义学的指称方法之间,存在着一个紧密对应:机器状态之间的一个关系对应于一个程序的意义。对于先行词——指示代词而言,一个机器状态对应于从对象到变元的一个赋值,这样,一个程序的解释就可看作是赋值的有序对的集合,即所有可能的“输入-输出”序对的集合:序对〈u,v〉在一个公式β的解释中,当且仅当,β是相对于u来评价时,v就是此评价过程的一个可能的结果。比如:在状态u时,执行程序π,一个可能的结果状态是v,则可因此说,序对〈u,v〉在程序π的解释中。因此,在动态谓词逻辑中,意义(的某个特定方面)可以根据状态之间的关系来描述[1]85-86。
现在来考察存在量化公式∃x Ax在动态谓词逻辑中的动态解释。在标准的语义中,一个赋值u在∃x Ax的解释中,当且仅当,存在某个赋值v,而且v在Ax的解释中。即v把一个对象v(x)指派给x,使得v(x)∈F(A)。这里的u与v的区别最多在于:v指派给x的值与u指派给x的值不同,为此,我们用v[x]u来表示。当动态谓词逻辑对∃x Ax进行动态处理时,所有赋值v使得v[x]u且v(x)∈F(A),其中,赋值v是相对于输入u的一个可能的输出。这可表示为:
对使得存在某个最多在x处与u不同的赋值w,而且w与v一起组成β的一个可能的输入-输出序对,这表示为:
动态谓词逻辑对∃xβ的动态解释,将由那些赋值序对〈u,v〉组成,这些序为了说明(11)与(12)的区别,需要首先说明原子公式的动态解释。在动态谓词逻辑中,原子公式被看作是关于“输入赋值”的一种“测试”,其动态解释就是:使得满足条件的赋值通过,并使得不满足条件的赋值被阻隔,这可表示为:
其中,对于每个i(1≤i≤n),若a是个体常元,则〖ai〗u=F(a);若a是变元,则〖ai〗u=u(a)。
因此,存在量化公式∃x Ax的动态解释:
其直观意义是:给定一个输入赋值u,可得到作为可能输出的赋值v,而v最多在x中与u不同,而且v是满足v(x)具有性质F(A)这一条件的赋值。
这里所表示的动态解释仅仅是,前面语句(1)“李四穿着黑衣,他笑着”这样的跨语句指代现象的前一个子句。考虑到组合性语义翻译的原则,语句(1)的翻译可由一个存在量化公式以及包含与存在量词对应的自由变元的一个公式组成合取式,即:∃x Ax∧Bx。
为了得到关于这种公式的动态的组合性的指代解读,还需要对合取式进行动态解释:在存在量词辖域外的x的第二次出现应该被对x的第一次出现具有约束力的存在量词所约束。也就是说,在动态谓词逻辑中,合取式可以把第一个合取支中变元的值传递到第二个合取支中的变元上,而且一个合取式中指派给变元的值,对于进一步添加的合取支来说,也保持有效。这可表示为:
具体地说,具有输入u的β∧γ的解释是输出v这一结果,当且仅当存在某个w,使得在u中解释β可得到w,而且在w中解释γ可得到v。
由于存在量词的约束力可延伸到它的辖域以外的一个或多个合取支上,因此,我们可以对前面语句(1)所对应的公式∃x Ax∧Bx进行动态的组合性的指代消解:可见,在动态谓词逻辑中,∃x Ax∧Bx与∃x[Ax∧Bx]这两个公式的意义是一样的。这是由于存在量词可以约束右边的变元:存在量词的辖域内部和辖域外部的变元都可被存在量词约束。这就使得动态谓词逻辑具有动态地解决跨语句范围的先行词-指示代词关系的组合性处理的能力,在进行翻译时,把指示代词处理成与先行词相对应的一个普通变元进行即可。
一个简单驴子句所对应的公式就是:∃x Ax→Bx。与合取式类似,为了给这个公式一个组合性的动态解释,就必须允许蕴涵式前件中的存在量词能够约束它后件中的一个变元,即:前件中的存在量词具有全域约束力。一个蕴涵式β→γ的解释,是使得对在β→γ的解释中的每一个序对〈u,v〉而言,存在某个赋值w使得〈v,w〉在γ的解释中。因此,蕴涵式的动态解释是:
其意思是:β→γ的解释接受一个赋值u,当且仅当,β关于u的每一个可能输出,会得到γ的一个成功解释,否则β→r的解释拒绝u。可见,蕴涵式也具有测试的特点。
至此,我们可以对语句(2)“如果一个人有头驴,他会喜欢它”,所例示的驴子句所对应的公式∃x Ax→Bx进行组合性的动态指代消解:换言之,在动态谓词逻辑中,蕴涵式的前件的输出赋值v,应该被看作是后件的输入赋值,结果输出赋值w。具体到∃x Ax→Bx而言,对于一个输入赋值u,前件∃x Ax的结果是赋值v的集合,而这里的每一个v使得v[x]u且v(x)∈F(A)且v(x)∈F(B)。可见,在动态谓词逻辑中,∃x Px→Qx与∀x(Px→Qx)这两个公式的意义是一样的。
类似地,在动态谓词逻辑中,全称量化式的组合性的动态解释是:
可见,全称量化公式∀xϕ也具有测试特点:一个输入赋值被传递,当且仅当,最多在x处与u不同的每一个赋值是β的一个真输入;否则,此赋值将被拒绝。事实上,一个输出赋值常常等同于相应的输入赋值。至此,像前面语句(3)“一个有驴的人都会喜欢它”这样的驴子句,在动态谓词逻辑中动态的组合性的指代消解是:
从(16)、(18)和(20)可以看出,动态谓词逻辑的指代消解,使得我们可以用直观的、组合性的方式跨语句的指代关系和表示语句内部约束关系的驴子句进行直接处理,把与不定词具有指代关系的一个代词简单处理成与该不定词对应的量词相对应的一个变元。
动态谓词逻辑除了能够处理跨语句的指代关系和表示语句内部约束关系的“驴子句”结构中的指代关系以外,还可用于处理涉及意义的动态方面和话语的信息流等现象,比如:用于分析跨句子边界的指代关系、话语的时态结构、命令句的语义效果、祈使句的语义作用、预设现象、陈述句对“共同基础”(common ground)的作用等等。动态谓词逻辑也给出了否定式和析取式的动态解释,限于篇幅,笔者将另外撰文讨论。
[1]张晓君,郝一江.动态谓词逻辑的动态机制[J].哲学动态,2010,(9):83-89.
[2]KAMP H,REYLE U.From Discourse to Logic:Introduction to Model-theoretic Semantics of Natural Language, Formal Logic an d Discourse Representation Theory[M].Dordrcht:Kluwer,1993.
[3]张晓君,邹崇理.动态谓词逻辑的改进与扩张[J].中国社会科学院研究生院学报,2012,(6):48-52.
[4]GROENENDIJK J,STOKHOF M.Dynamic Predicate Logic[J].Linguistics and Philosophy,1991,14(3).
[5]KOLLER A,NIEHREN J.On Underspecified Processing of Dynamic Semantics[C]//Proceedings of the 18th Conference on Computational Linguistics,2000,1-7.
[6]VISSER A.Contexts in Dynamic Predicate Logic[J].Journal of Logic Language an d Information,1998,7(1).
[7]张晓君,邹崇理.从信息与智能交互的角度看周礼全先生的四层次意义理论——兼论语言表达式的意义理论[J].哲学研究,2012,(9):104-109.
[8]VAN EIJCK J,STOKHOF M.The Gamut of Dynamic Logics[C]//WOODS J GABBAY D M.,(eds.)Han dbook of the History of Logic,Vol.7:Logic an d the Modalities in the Twentieth Century.Nether lands:North Holland,2006.
[9]邹崇理.语言、逻辑和信息—逻辑语法研究[M].北京:人民出版社,2002.
[10]周国栋,等.指代消解:国内外研究现状及趋势[C]//孙茂松,陈群秀.内容计算的研究与应用前沿.北京:清华大学出版社,2007.
[11]张晓君.指代消解的主要方法与机制[J].毕节学院学报,2012,(10).
[责任编辑:唐 普]
H146.2
A
1000-5315(2015)06-0085-06
2015-08-20
本文系杜国平主持的国家社科基金重大项目“应用逻辑与逻辑应用研究”(14ZDB014)之阶段性成果。
林胜强(1963—),男,四川隆昌人,四川师范大学政治教育学院副教授,研究方向为语言逻辑、应用逻辑和逻辑哲学。