基于生成语法的句子理解机制
2019-02-18缪钰鹏
摘 要:本文从认知翻译学的方面入手,利用计算机中的堆栈数据结构来模拟译者在英译汉过程中的句子理解认知加工过程。根据转换-生成语法,句子是通过短语结构规则自上而下生成的。自然语言的句法分析可以用计算机信息加工的过程来模拟,并生成由n个有限节点组成的一个具有层次关系的集合,即句法树。
关键词:生成语法;句子理解;堆栈;模拟
自汉代以来,人类的翻译活动就不停地在前进发展。历史上,近两千年的翻译实践也取得了辉煌的成果。对于翻译活动的见解大致有二:一是“藝术”,二是“科学”。从认知学的角度来看,翻译基于语言媒介,颜林海提出这一过程是“对源语符码进行解码,从中提取意义,并对提取的意义再以目的语重新编码的过程”,是一种“基于双语认知加工的心理活动”。[1]
1 堆栈数据结构
奈达(Nida)将乔姆斯基的观点归纳为一种“程序”,它首先为译者提供了一种分析源文本解码过程的技术,其次描述了在目标语言中生成相应表达式的过程。为引出编程的思维模式,下面对堆栈进行介绍。堆栈数据结构(Stack)属于一种特殊的线性表。Stack属于一种“后入先出”(LIFO)集合。在堆栈数据结构中,最后一个存储在栈中的变量被称作“栈顶”,与之相反,最先存储在栈中的变量被称作“栈底”。这样的读取和储存顺序体现了堆栈数据结构的特点:“先进后出”和“后进先出”。作为一种经典的数据结构,栈在数据存储方面的应用十分广泛。
2 基于生成语法的句子理解机制
在翻译认知心理学范畴内,“语言”偏向指内在的语言机制,是内在化的语言[2],而非传统意义上的书面或口头表达的“语言”。要模拟句子理解机制,首先要制定句法规则。毛眺源和孟凡军对句法的架构如是评论:“乔姆斯基吸收直接成分分析法把句子整体分解为部分的做法,将句子组构成分之间的成分关系设置成为划分分析单位的依据。”[3]据此,在分析语句组成成分之间的结构关系后,可将句子分解为主要直接成分(NP,VP),主要直接成分可继续被分解为次要成分(N,V...),直至所有成分都被分解为抽象语素。因此,转换—生成语法规则下的翻译机制实际上是基于“句法驱动”而不是“数据驱动”的[4],这样的机制引导了对句子的认知和理解。
2.1 自下而上加工
使用计算机程序处理的机制模拟句子理解自下而上的加工过程,以下是基本流程:
1)开辟Stack空间并使其初始化清零;2)Stack += Word,即将单词压入栈中;3)根据词性,把单词归纳为抽象语素。如:N ← shelter;4)Stack = [Categorization],将第三步得到的句子成分压入栈中;5)输入判断。若栈内的句子成分数目不足两个,返回第二步。否则进入下一步;6)句子成分结构化为XP,即句子分解的逆向操作;7)XP入栈;8)字符串比对。若XP==Sentence,程序结束;否则返回第五步。
按照该逻辑顺序,以句子“The boy is Alex.”为例来阐述自下而上的句子理解加工流程。
1)开辟Stack空间并使其初始化清零;2)Stack += Word,将单词“The”压入栈中;3)根据词性,把单词“The”归纳为抽象语素Det;4)Stack = [Det];5)输入判断。此时栈内的句子成分只有Det,返回第二步。6)Stack += Word,将单词“boy”压入栈中;7)根据词性,把单词“boy”归纳为抽象语素N;8)输入判断。此时栈内存在Det和N,进入下一步。9)NP ← (Det)N;10)XP入栈;11)XP !== Sentence,返回输入判断;12)输入判断。此时栈内的句子成分只有NP,返回第二步;13)Stack += Word,将单词“is”压入栈中;14)根据词性,把单词“is”归纳为抽象语素V;15)Stack = [NP, V];16)输入判断。此时栈内存在的语素是V,进入下一步。17)Stack += Word,将单词“Alex”压入栈中;18)根据词性,把单词“Alex”归纳为抽象语素N;19)输入判断。此时栈内存在NP结构和V、N语素,进入下一步;20)NP ← N;21)VP ← V(NP);22)XP ← NP,VP;23)XP == Sentence,流程结束。
2.2 自上而下加工
使用计算机程序处理的机制模拟句子理解自上而下的加工过程,以下是基本流程:
1)开辟Stack空间并将Sentence(S)压入栈中;2)栈顶元素判断。若为非终端语法范畴,选择句法规则N→R对句子进行分解;若为抽象语素,即前终端语法范畴,则遍历句子,搜寻其中对应的单词。若搜寻成功,删除该栈顶元素,否则返回第一步,使用其他的句法规则进行句子分解。3)Stack = [R],返回第二步;4)若Stack == NULL,即栈为空,流程结束;否则返回第二步,直至栈内元素被清空。
按照该逻辑顺序,以句子“The hound barks.”为例来阐述自下而上的句子理解加工流程。
1)开辟Stack空间并将Sentence(S)压入栈中;2)S→NP,VP,将NP、VP入栈。3)在句子中搜索VP对应的终端单词,即barks,删除栈顶元素VP;4)NP→Det,N。将Det、N入栈,此时Stack = [Det,N]。5)在句子中搜索N对应的终端单词,即barks,删除栈顶元素N,此时Stack = [Det]。6)在句子中搜索Det对应的终端单词,即The,删除栈顶元素Det,此时Stack = NULL,流程结束。
3 结语
正如艾佛拉特(Everaert)曾指出的:“语言不是由单词、语素、音素等元素通过简单线性连接构建起来的。相反,语言是由这类简单元素构建出的有层次结构的对象。”[5]利用编程思想实现了基于生成语法上的句子理解过程,但也存在一些缺陷,比如句法规则包涵不够全面等。根据转换—生成语法理论,句子被浓缩成一系列的编码和符号,无限的句子被浓缩成有限的核心句[6],但基本的语法结构并不能对无限的句子产生普遍适用性。研究结果及展望在未来具有潜在的拓展性,对于计算机辅助翻译的发展有着积极的意义。
参考文献
[1]颜林海.翻译心理学的研究对象及方法[J].四川师范大学学报(社会科学版),2007(2):106-110.
[2]何晓炜.最简方案新框架内的句法推导——Chomsky(1999)《语段推导》评述[J].现代外语,2000(3):318-322+317.
[3]毛眺源,孟凡军.论《句法结构》语法架构的创造性及其现时影响[J].语言学研究,2017(2):86-98.
[4]徐英瑾.如何将认知语言学的洞见带入机器翻译研究?[J].西南民族大学学报(人文社科版),2018(3):69-77.
[5]Everaert, M. B. H. Structures, not Strings: linguistics as part of the cognitive sciences[J]. Trends in Cognitive Sciences, 2015(32): 729-743.
[6]吴建.《句法结构》再读及引申[J].时代建筑,2017(6):156-157.
作者简介
缪钰鹏(1994-),男,汉族,江苏泰州市人,翻译硕士在读,西华大学外国语学院,研究方向:翻译理论与实践。