大家研学||罗塞塔石碑与机器翻译
.
解读密码(decipherment)是古典文献研究的一个重要内容,历代学者依靠自己的聪明才智出 色地解读过很多古代的铭文,或者通过铭文中已知的部分来解读铭文中未知的文字。1799年,法国远征军在埃及的Rosetta(罗塞塔)发现罗塞塔石碑(Rosetta Stone),使埃及古代文字的解读工作获得突破性的进展。罗塞塔石碑刻于公元前196年,现藏于大英博物馆(Robinson 2007),参见图1(由笔者2019年摄于大英博物馆)。
罗塞塔石碑由上至下共刻有同一段诏书的3种语言版本。它的上面是埃及象形文字(Egyptian Hieroglyphs,又称为圣书体,代表献给神明的文字),这一部分的左上角已经有很大的缺损,中间是埃及通俗文字(Egyptian Demotic,又称草书体,是古代埃及平民使用的文字),这一部分保存完整,放大后如图2所示。
在公元4世纪结束后不久,尼罗河文明式微,不再使用的埃及象形文字和埃及通俗文字的读法与写法都完全失传,虽然后来有许多考古专家和 历史学专家极尽所能来研究,却一直无法解读这些神秘文字的结构与用法。在这种困境下,古埃及金字塔上的文字和木乃伊棺椁上的文字也无法解读,因此也就难以打开古埃及文明的大门。
罗塞塔石碑的下面是古希腊文(Greek),这种文字代表统治者的语言,这是因为当时的埃及已臣服于希腊的亚历山大帝国的统治,来自希腊的统治者要求统治领地内所有的文书都必须添加希腊文的翻译版,而近代人类可以读懂古希腊文。这一部分保存完整,放大后如图3所示。
罗塞塔石碑这种独特的3种语言对照的写法,意外成为解读古埃及文字的关键,因为近代人类可以读懂这3种文字中的古希腊文,利用古希腊文作为参照,来比对和分析罗塞塔石碑上其它两种古埃及文字的内容,以已知求解未知,就有可能了解这些失传的古代语言的文字与语法结构。学者们依据已知的希腊文来解读未知的埃及象形文字和通俗文字,在1822年终于揭开埃及古代文字的神秘面纱,从而打开古埃及文明的大门。
在众多尝试解读罗塞塔石碑的学者中,19世纪初期的英国物理学家托马斯·杨(T. Young,1773-1829)是第一个证明碑文中曾多次提及的Ptolemy(托勒密)是人名的读音并利用这个线索首先解读罗塞塔碑文的学者。
法国学者让-佛罕索瓦·商博良(J. -F. Champollion,1790-1832)是一个语言天才,他靠自学成才,年幼时就学会希腊语和拉丁语,9岁时可以读懂希腊文原文的《荷马史诗》(Homer),在著名数学家傅里叶(J. B. J. Fourier)的鼓励下,他开始学习埃及学(Egyptology),并在17岁时发表一篇关于在希腊和拉丁作家的作品中保存的埃及地名的词源研究的论文,在埃及学研究中崭露头角,当时他是法国格勒诺布尔(Grenoble)的一名中学生。后来,他把自己的一生都献给罗塞塔石碑的解读研究。在解读石碑时,他第一个发现,一直被认为是用形表义的埃及象形文字,原来也具有表音的作用,他的这个重大发现后来成为解读所有埃及象形文字的关键性线索。也正是因为这一缘故,罗塞塔石碑被学者们视为探索古埃及语言和文化的关键,是打开古埃及文明大门的钥匙,而他也就成为解读罗塞塔石碑最负盛名的学者。这里我们简要说明商博良解读古埃及文字的方法。从罗塞塔石碑上摘取如下的埃及象形文字片段。
在图5中可以看出,1,2的右侧都有相同的象形文字,我们把文字的方向从左写到右,其相同部分如图6所示。
商博良把研究的结果亲自制成一张古埃及象形文字与古希腊字母的发音对照表,如图8所示。
在此基础上,学者们进一步研究,终于成功地解读罗塞塔石碑上的古埃及文字。对罗塞塔石碑的解读是语言文字学的伟大成就,也是人类文明史上的一段佳话。我们认为,罗塞塔石碑上面的3种文字就像3个彼此对应的平行语料库,罗塞塔石碑也许就是世界上最早的平行语料库。对罗塞塔石碑上古代埃及文字的解读,是使用平行语料库方法来解读未知古代文字的一次成功的范例。解读罗塞塔石碑所依据的语言数据很有限,规模也很小,而学者们根据这些小规模的数据,竟然解读成功。这说明语言数据对语言文字的研究具有举足轻重的作用。现在我们进入大数据时代,数据的来源比解读罗塞塔石碑的时代更丰富。我们是否可以采用2种或3种文字对照的方法,根据一定规模的语言数据,建立对应的平行语料库来做不同语言的机器翻译呢?回答应当是肯定的(冯志伟 1995:20 - 22)。
在采用解读密码的方法进行机器翻译时,关键的问题是要有一定规模的平行语料库数据来反映源语言(source language)与目标语言(target langage)对应的规律,获取不同语言之间对应的知识,依靠我们的洞察力对这些语言数据之间的关系进行正确的猜测,从而发现隐藏在平行语料库中的语言学规则(冯志伟 2004:121 - 124)。如果我们建立类似于罗塞塔石碑那样的平行语料库,就可以利用从平行语料库中获取的语言知识,通过计算机来进行机器翻译,这样的机器翻译就是基于语料库的机器翻译(corpus - based machine translation)。 下面,我们用一个简单的例子来说明怎样使用双语平行语料库进行不同语言之间的机器翻译(Kinght 1999: 12 - 15)。 Centauri语和Arcturan语是两种不同的美洲印第安语,如果要使用解密码的方法把Centauri语翻译成Arcturan语,我们可以根据已有的语言数据建立如下的Centauri语和Arcturan语的双语平行语料库。在这个双语并行语料库中,有12对彼此对齐的句子,a表示Centauri语的句子,b表示与之对应的Arcturan语句子,如图9所示:在句子5中,farok是第二个单词,与它对应的Arcturan语中的第二个单词是jjat,在句子7中,farok也是第二个单词,与它对应的Arcturan语中的第二个单词也是jjat,因此我们推测与Centauri语中的farok对应的Arcturan语中的单词应该是jjat.这样,我们便可以把farok翻译为jjat(参见图11)。
在farok crrrok hihok yorok clok kantok ok-yurp中的第二单词是crrrok,这个单词只在 Centauri语中出现一次,在双语平行语料库中,因而难以找到与Centauri语中crrrok对应的Arcturan语中的单词(参见图12),我们只好暂时存疑。
在farok crrrok hihok yorok clok kantok ok-yurp中的第三个单词是hihok,它在双语平行语料库的3,11,12等句子中都出现过,共出现过3次(参见图13)。
在Arcturan语对应的句子中,arrat这个单词也分别出现过3次,它很可能就是Centauri语中的hihok在Arcturan语中的对应单词。接着我们查看farok crrrok hihok yorok clok kantok ok-yurp中的第四个单词yorok,它在句子10和11中分别出现过2次(参见图14)。
在Arcturan语对应的句子10和11中,单词mat也分别出现过2次,因此mat很可能就是与Centauri语中yorok的对应单词。接着我们查看farok crrrok hihok yorok clok kantok ok-yurp中的第五个单词clok(参见图15)。
Centauri语的clok只在句子10中出现过一次,如果句子10中的yorok对应于Arcturan语的mat,那么,Arcturan语第10句中其他单词wat,nnat, gat,bat,hilat都可能是clok的对应单词(参见图16)。
在句子10中,如果除了clok之外的其他单词都对应好:lalok对应于wat,mok对应于nnat,yorok对应于mat,ghirok对应于hilat,那么clok将可能对应于句子10b中唯一没有对齐的单词bat(参见图17)。
根据排除法(process of elimination),我们把Centauri语的clok对应于Arcturan语的 bat(参见图18)。
在使用双语平行语料库进行单词对齐时,我们也可以根据同源词(cognate word)进行单词对齐。例如,在句11a中Centauri语的zanzanok与句子11b中Arcturan语的zanzanat就是同源词,它们是单词对齐中的重要线索(参见图19)。
由于S的数量巨大,可以采用“栈式搜索”(stack search)的方法。栈式搜索的主要数据结构是表结构(list structure),在表结构中存放着当前最有希望的对应于T的S中的句子,算法不断循环,每次循环扩充一些最有希望的结果,直到表中包含一个得分明显高于其他结果的S的句子时结束。当然,这样的栈式搜索不能保证得到最优的结果,它可能会导致错误的翻译,因而只是一种次优化算法。
可见,统计机器翻译系统的任务就是所有可能的目标语言T(这里指翻译意义上的目标语言,也就是噪声信道模型意义上的源语言)的句子中寻找概率最大的那个句子作为源语言S(这里指翻译意义上的源语言,也就是噪声信道模型意义上的目标语言)的翻译结果,其概率值可以使用贝叶斯公式(Beyesformula)得到(注意,下面公式中的T和S与上面的含义不一样,下面公式中的T是在翻译意义上的目标语言,S是在翻译意义上的源语言)。
由于等式(1)右边的分母P(S)与T无关,因此,求P(T|S)的最大值相当于寻找一个最接近于真实的目标语言句子T的T^,使等式右边分子的两项乘积P(T)P(S|T)为最大,也就是:
在等式(2)中,P(T)是目标语言的“语言模型”(Language Model,简称LM),P(S|T)是给定T的情况下S的“翻译模型”(Translation Model,简称TM)。根据语言模型和翻译模型,求解在给定源语言句子S的情况下最接近真实的目标语言句子T^的过程,这相当于噪声信道模型中解码的过程。
从翻译的意义上可以这样解释等式(2):假定有一个目标语言的文本T(指翻译意义上的目标语言,也就是噪声信道模型意义上的源语言),经过某个噪声信道后变成源语言S(指翻译意义上的源语言,也就是噪声信道模型意义上的目标语言),源语言文本S由目标语言T经过奇怪编码的扭曲变形之后而得到,机器翻译的目的就是要把S还原成T,这样机器翻译的过程就可以看成一个解码的过程(参见图23)。
在图22中,P(T)是目标语言文本的语言模型,它与源语言无关,P(S|T)是在考虑目标语言T的条件下,源语言S的条件概率,它是翻译模型,反映两种语言翻译的可能性,与源语言和目标语言都有关。在布劳恩关于统计机器翻译的经典性论文中(Brown et al. 1993: 21-24),公式(2)被称为“统计机器翻译的基本方程式”(Fundamental Equation of Statistical Machine Translation)。根据这一方程式可知,统计机器翻译系统要解决3个问题:(1)语言模型P(T)的参数估计;(2)翻译模型P(S|T)的参数估计;(3)设计有效快速的搜索算法(解码器)来求解T^,使P(T)P(T|S)最大。据此,一个统计机器翻译的框架可以表示如下(参见图24):
著名学者严复(1854 - 1921)提出,翻译应当遵从“信达雅”标准;鲁迅(1881 -1936)把严复的标准简化为“顺”和“信”两个标准。根据我们的常识,好的机器翻译应该是流畅的,同时又应该是忠实于源语言的,就是说,既要“顺”,又要“信”。鲁迅的“顺”这个标准反映“统计机器翻译的基本方程式”中对于“语言模型”的要求,他的“信”这个标准反映“统计机器翻译的基本方程式”中对于“翻译模型”的要求。在统计机器翻译中联合地使用语言模型和翻译模型,既考虑译文的“顺”,又考虑译文的“信”,其效果应该比单独地使用翻译模型好。如果仅仅考虑翻译模型,由于只考虑“信”而忽视“顺”,常常会产生一些不通顺的译文。由此可见,“统计机器翻译的基本方程式”中语言模型反映传统翻译理论中的“顺”,“统计机器翻译的基本方程式”中翻译模型反映传统翻译理论中的“信”,在直觉上,统计机器翻译的原则与传统的翻译理论并没有冲突(冯志伟 2013:23-26)。 对于语言模型的概率计算,也就是给定一个句子。
例如,句子I saw water on the table(我看见桌子上的水)的二元语法的概率为:
P(I saw water on the table)=P(I|START)*P(saw|I)*P(water|saw)*P(on|water)*P(the|on)*P(the|table)*P(END|table)
显而易见,这是一个N元语法(N-gram)问题。对于翻译模型概率的计算,关键在于如何定义目标语言句子中的单词与源语言句子中的单词的对应关系。我们在前面讨论过Centauri语和Arcturan语双语平行语料库中单词的对齐问题。这里我们再讨论英语和法语单词对齐的一些例子。在句子偶对(John loves Mary|Jean aime Marie)中,我们看到英语单词John生成法语单词Jean,loves生成aime,Mary生成Marie,这时我们说,John和Jean对齐,loves和aime对齐,Mary和Marie对齐。那么,我们怎样发现句子中两种语言单词之间的这种对齐关系呢?
假定我们有3组法语短语la maison,la maison bleue,la fleur它们与3组英语短语对应,从理论上来说,在每一组中的每一个单词,都可以与同一组中另一种语言所有的单词相对应,这种复杂的对应关系如图25所示:
我们观察到,法语的la和英语的the在每一组中都同时出现,它们同时出现的频度最大,因此,法语的la应当与英语的the对齐。法语的maison与英语的house在两组中同时出现,它与英语的the也在两组中同时出现,但由于英语的the已经与法语的la相对应,它不可能再与法语的maison对应,因此我们可以判断,法语的maison应当与英语的house对齐。在第二组la maison bleue中,la和maison都已经确定英语的对应单词分别为the和house,因此bleue应与英语的blue对齐。在第三组la fleur中,既然法语的la已经与英语的the相对应,那么,fleur应与英语的flower对齐。由此,我们不难得出如下的对齐结果(参见图26):
在统计机器翻译中,我们使用“期望最大”(Expectation Maximization,简称EM)的算法来发现上述隐藏在两种语言结构中单词之间的对应关系,进行单词对齐;这种算法可以通过GIZA++软件来实现。上面是一对一的对齐,我们须要再进一步讨论比较复杂的对齐情况。在句子偶对And the program has been implemented|Le programme a étémis en application中,单词的对齐关系如图27所示:
在法语句子中,英语的and没有相应的对应单词,这是“一对零”的情况;而英语单词implemented则对应3个法语单词mis en application,这是“一对多”的情况。如果从法语的角度来看英语,在表示这种对齐关系时,只须在英语的相应单词上标上法语单词的编号,用布劳恩的表示方法,其对齐情况可以表述为:
(Le programme a étémis en application|And the (1)program(2)has(3)been(4)implemented(5,6,7))
由于英语的and在法语句子中没有对应的单词,因此and后面没有出现相应的数字。这是“一对零”的情况。实际上,在两种语言的翻译中,单词之间除“一对一”“零对一”“一对零”的情况外,还有“一对多”“多对一”“多对多”的情况,所以单词对齐是一个非常复杂的问题。在目标语言句子T的长度为l(包含1个单词),源语言句子S的长度为m(包含m个单词)的情况下,T和S之间有l × m种不同的对应关系。在使用解码器进行搜索时,要在所有的t l1中,搜索使P(tl1) × P(sm1|t1l)最大的结果,经过适当的变换处理后,最后输出目标语言的句子。由此可见,在统计机器翻译中,单词的对齐是一个关键性的问题。为此引入隐含变量A,这个隐含变量表示对齐A,这样翻译句子偶对(S|T)的概率可以通过条件概率P(S,A|T)而得到。
我们把P(S|T)的计算转化为对P(S,A|T)的估计。假设源语言句子S=s1m=s1s2...sm有m个单词,目标语言句子T=tl1=t1t2...tl有l个单词,对齐序列表示为A=a1m=a1a2...am.其中,aj(j=1,2,...m)的取值范围为0到l之间的整数,如果源语言中的第j个单词与目标语言中的第i个单词对齐,则aj=i,如果没有单词与它对齐,则aj=0。例如:
等式(5)的左边表示在给定一个目标语言句子的情况下生成一个源语言句子及其对齐关系的概率。在计算这个概率时,我们首先根据已有的目标语言句子的知识,考虑源语言句子长度的概率(等式右边的第一项),然后在给定目标语言句子和源语言句子长度的情况下,再选择目标语言句子中与源语言句子的第一个单词的位置以及对齐的概率(等式右边乘积中的第一项),之后再考虑给定目标语言句子和源语言句子的长度,并且在目标语言句子与源语言句子的第一个单词对齐的情况下,计算源语言句子中第一个单词的概率(等式右边乘积中的第二项)。依此类推,分别计算源语言句子的第二个单词的概率、第三个单词的概率,等等。这样,等式P(S,A|T)总可以被变换成像(5)中的等式那样多个项相乘的形式(Yamada,knight 2001:10-12)。
IBM公司首先使用统计方法进行法语到英语的机器翻译,对于翻译模型P(S|T),由于S是法语(French),T是英语(English),因此他们用P(F|E)来表示;对于语言模型P(T),由于T是英语,因此他们用P(E)来表示。 图28是从噪声信道理论来看IBM公司的法英机器翻译系统的一个示例。可以假定一个英语的句子The program has been implemented,从英语的信道(channel source E) 经过噪声信道(noisy channel)之后在法语的输出信道(channel output F)中变成一个法语的句子Le programme a été misen application.从翻译的角度看,IBM公司的法英统计机器翻译的任务就是从源语言法语F的句子出发,建立翻译模型P(F|E)和语言模型P(E)进行解码,选出最好的英语句子作为输出,最后得到英语的译文(冯志伟 2015: 546-554)。自2006年以来,统计机器翻译进一步发展成神经机器翻译(Neural Machine Translation,简称NMT),也是基于大规模的双语或多语平行语料库数据。谷歌公司(Google)研制成谷歌神经机器翻译系统(Google Neural Machine Translation,简称GNMT),其翻译原理如图30所示:
在图30中,e表示源语言英语,f表示目标语言法语,要把e翻译为f,需要通过一个多层次的神经网络(multi-layer neural network),这个多层次的神经网络从平行语料库中获取知识,把语言序列e翻译成语言序列f.例如,把英语的语言序列Economic growth has slowed down in recent years(近年来经济增长放慢了速度)翻译成法语的语言序列La croissanceéconomiques’ estralentiecesdernières années.其中,计算机进行翻译的时候,要利用已有的大规模的平行语料库来进行深度学习(deep learning),从平行语料库中自动地获取语言特征(language features)。大规模的平行语料库也就是大数据(big data),所以,GNMT是一个基于大数据的神经机器翻译系统。神经机器翻译系统就是基于大数据的、使用神经网络来实现翻译的机器翻译系统。在这个多层次的神经网络中,有大量的链接权重(weight),这些权重就是我们通过大规模平行语料库的训练和学习的参数。训练好的神经网络可以将输入的源语言英语e转换为输出的目标语言法语f.图中的log p(f|e)表示对于给定的源语言e转换为目标语言f的概率,如果这个概率越大,说明神经机器翻译的效果越好,我们的目的在于尽量得到log p(f|e)的一个大的参数近似值(parametric approximation),这就是GNMT的语言模型(李沐等 2018:153-174)。
这样的语言模型是端对端(end to end)的语言模型,源语言输入后,由编码器(encoder)使用循环神经网络(Recurrent Neural Network,简称RNN)或卷积神经网络(Convolutional Neural Network,简称CNN)进行编码处理,然后直接由解码器输出翻译结果(参见图31)。
从图32中可以看出,谷歌神经机器翻译的水平已经大幅度地超过基于短语的机器翻译,特别在英语—西班牙语、英语—法语、西班牙语—英语、法语—西班牙语的机器翻译中,神经机器翻译正在向人的翻译水平逼近,当然离完美无缺的翻译还有一定的距离。由于神经机器翻译使用大规模平行语料库的数据来获取语言知识,所以可极大地提高机器翻译的水平,有力地推动机器翻译实用化和商品化的进程(冯志伟 2017:723-768)。神经机器翻译和统计机器翻译都使用经验主义的方法,它们都须要大规模语言数据的支持。与统计机器翻译相比,语料库的数据规模对于神经机器翻译质量的影响更为明显,神经机器翻译需要更大规模的语料库数据资源的支持(Koehn,Knowles 2017:142-147)。
对神经机器翻译而言,几百万个句子的语料都不能算作是大数据,商用神经机器翻译系统基本上都要数千万个句子的大数据作为训练语料。如果语言数据匮乏,神经机器翻译的译文质量就难以保证。为解决语言数据匮乏的问题,学者们开始探讨小规模语言数据资源下神经机器翻译的可行性问题,最近已经形成一种神经机器翻译的新范式:使用大规模的文本语料库数据(large-scale text corpus)进行“预训练”(pre-training),建立“预训练语言模型”(pre-trained language models),然后使用面向特定任务的小规模语言数据集(task datasets)进行“微调”(fine-tuning),形成“下游任务的模型”(models for downstream tasks)。这样的新范式使研究者能够专注于特定的任务,而适用于各种任务的通用的预训练语言模型可以降低神经机器翻译系统的研制难度,从而加快神经机器翻译研究创新的步伐。
解读罗塞塔石碑依据的平行语料库方法是非常具有启发性的,这样的方法现在已经成为当代机器翻译方法的基石,它既是统计机器翻译方法的基础,也是神经机器翻译方法的基础(冯志伟 2018:23-27)。把机器翻译看成是一种解读密码的技术,使用大规模的平行语料库数据进行解码,是机器翻译思想取之不尽的源泉。
冯志伟,杭州师范大学外国语学院特聘教授,教育部语言文字应用研究所研究员、博士生导师、学术委员会委员,研究方向为计算语言学、理论语言学、现代术语学。
(扫码阅读全文)
谈谈功能语言学各流派的融合认清汉语教学的学科性质 积极培养称职的汉语教师
自然语言计算机形式分析的理论和方法语言学与中国外语教学四十年
语科教师3群
Y编邀您入同学群
欢迎留言并分享至朋友圈