馮志偉
(杭州師范大學,杭州311121)
提 要:解讀Rosetta 石碑依據的平行語料庫方法是非常具有啟發(fā)性的,這樣的方法現在已經成為當代機器翻譯方法的基礎,它既是統(tǒng)計機器翻譯方法的基礎,也是神經機器翻譯方法的基礎。 神經機器翻譯需要大規(guī)模語言數據資源的支持,語言數據資源的匱乏是當前神經機器翻譯面臨的一個難題。
解讀密碼(decipherment)是古典文獻研究的一個重要內容,歷代學者依靠自己的聰明才智出色地解讀過很多古代的銘文,或者通過銘文中已知的部分來解讀銘文中未知的文字。 1799 年,法國遠征軍在埃及的Rosetta(羅塞塔)發(fā)現羅塞塔石碑(Rosetta Stone),使埃及古代文字的解讀工作獲得突破性的進展。 羅塞塔石碑刻于公元前196年,現藏于大英博物館(Robinson 2007),參見圖1(由筆者2019 年攝于大英博物館)。
圖1 羅塞塔石碑
羅塞塔石碑由上至下共刻有同一段詔書的3種語言版本。 它的上面是埃及象形文字(Egyp?tian Hieroglyphs,又稱為圣書體,代表獻給神明的文字),這一部分的左上角已經有很大的缺損,中間是埃及通俗文字(Egyptian Demotic,又稱草書體,是古代埃及平民使用的文字),這一部分保存完整,放大后如圖2所示。
圖2 埃及象形文字和埃及通俗文字
在公元4 世紀結束后不久,尼羅河文明式微,不再使用的埃及象形文字和埃及通俗文字的讀法與寫法都完全失傳,雖然后來有許多考古專家和歷史學專家極盡所能來研究,卻一直無法解讀這些神秘文字的結構與用法。 在這種困境下,古埃及金字塔上的文字和木乃伊棺槨上的文字也無法解讀,因此也就難以打開古埃及文明的大門。
羅塞塔石碑的下面是古希臘文(Greek),這種文字代表統(tǒng)治者的語言,這是因為當時的埃及已臣服于希臘的亞歷山大帝國的統(tǒng)治,來自希臘的統(tǒng)治者要求統(tǒng)治領地內所有的文書都必須添加希臘文的翻譯版,而近代人類可以讀懂古希臘文。這一部分保存完整,放大后如圖3所示。
圖3 古希臘文字
羅塞塔石碑這種獨特的3 種語言對照的寫法,意外成為解讀古埃及文字的關鍵,因為近代人類可以讀懂這3 種文字中的古希臘文,利用古希臘文作為參照,來比對和分析羅塞塔石碑上其它兩種古埃及文字的內容,以已知求解未知,就有可能了解這些失傳的古代語言的文字與語法結構。學者們依據已知的希臘文來解讀未知的埃及象形文字和通俗文字,在1822 年終于揭開埃及古代文字的神秘面紗,從而打開古埃及文明的大門。
在眾多嘗試解讀羅塞塔石碑的學者中,19 世紀初期的英國物理學家托馬斯·楊(T. Young,1773-1829)是第一個證明碑文中曾多次提及的Ptolemy(托勒密)是人名的讀音并利用這個線索首先解讀羅塞塔碑文的學者。
法國學者讓-佛罕索瓦·商博良(J.?F. Cham?pollion,1790-1832)是一個語言天才,他靠自學成才,年幼時就學會希臘語和拉丁語,9 歲時可以讀懂希臘文原文的《荷馬史詩》(Homer),在著名數學家傅里葉(J.B.J. Fourier)的鼓勵下,他開始學習埃及學(Egyptology),并在17 歲時發(fā)表一篇關于在希臘和拉丁作家的作品中保存的埃及地名的詞源研究的論文,在埃及學研究中嶄露頭角,當時他是法國格勒諾布爾(Grenoble)的一名中學生。后來,他把自己的一生都獻給羅塞塔石碑的解讀研究。 在解讀石碑時,他第一個發(fā)現,一直被認為是用形表義的埃及象形文字,原來也具有表音的作用,他的這個重大發(fā)現后來成為解讀所有埃及象形文字的關鍵性線索。 也正是因為這一緣故,羅塞塔石碑被學者們視為探索古埃及語言和文化的關鍵,是打開古埃及文明大門的鑰匙,而他也就成為解讀羅塞塔石碑最負盛名的學者。
圖4 筆者在盧浮宮Champollion 塑像前(2019 年)
這里我們簡要說明商博良解讀古埃及文字的方法。 從羅塞塔石碑上摘取如下的埃及象形文字片段。
圖5 埃及象形文字片段
在圖5中可以看出,1,2 的右側都有相同的象形文字,我們把文字的方向從左寫到右,其相同部分如圖6所示。
圖6 圖5的1,2 中相同的部分
經過與羅塞塔石碑下面的古希臘文對比分析發(fā)現,這些古埃及象形文字對應于字母Ptolmes,也就是Ptolemy 的古埃及象形文字音譯表示法,如圖7所示。
圖7 古埃及象形文字對應的字母
商博良把研究的結果親自制成一張古埃及象形文字與古希臘字母的發(fā)音對照表,如圖8所示。
在此基礎上,學者們進一步研究,終于成功地解讀羅塞塔石碑上的古埃及文字。 對羅塞塔石碑的解讀是語言文字學的偉大成就,也是人類文明史上的一段佳話。 我們認為,羅塞塔石碑上面的3 種文字就像3 個彼此對應的平行語料庫,羅塞塔石碑也許就是世界上最早的平行語料庫。 對羅塞塔石碑上古代埃及文字的解讀,是使用平行語料庫方法來解讀未知古代文字的一次成功的范例。 解讀羅塞塔石碑所依據的語言數據很有限,規(guī)模也很小,而學者們根據這些小規(guī)模的數據,竟然解讀成功。 這說明語言數據對語言文字的研究具有舉足輕重的作用。 現在我們進入大數據時代,數據的來源比解讀羅塞塔石碑的時代更豐富。我們是否可以采用2 種或3 種文字對照的方法,根據一定規(guī)模的語言數據,建立對應的平行語料庫來做不同語言的機器翻譯呢? 回答應當是肯定的(馮志偉1995:20-22)。
圖8 古埃及象形文字與古希臘文字發(fā)音對照表
在采用解讀密碼的方法進行機器翻譯時,關鍵的問題是要有一定規(guī)模的平行語料庫數據來反映源語言(source language)與目標語言(target language)對應的規(guī)律,獲取不同語言之間對應的知識,依靠我們的洞察力對這些語言數據之間的關系進行正確的猜測,從而發(fā)現隱藏在平行語料庫中的語言學規(guī)則(馮志偉2004:121-124)。 如果我們建立類似于羅塞塔石碑那樣的平行語料庫,就可以利用從平行語料庫中獲取的語言知識,通過計算機來進行機器翻譯,這樣的機器翻譯就是基于語料庫的機器翻譯(corpus?based machine translation)。
下面,我們用一個簡單的例子來說明怎樣使用雙語平行語料庫進行不同語言之間的機器翻譯(Knight 1999:12-15)。
圖9 利用雙語語料庫進行單詞對齊之一
Centauri 語和Arcturan 語是兩種不同的美洲印第安語,如果要使用解密碼的方法把Centauri語翻譯成Arcturan 語,我們可以根據已有的語言數據建立如下的Centauri 語和Arcturan 語的雙語平行語料庫。 在這個雙語并行語料庫中,有12 對彼此對齊的句子,a 表示Centauri 語的句子,b 表示與之對應的Arcturan 語句子,如圖9所示: 現在,我們利用這個雙語語料庫,使用解密碼的方法,對Centauri 語的句子farok crrrok hihok yorok clok kantok ok?yurp 中的每一個單詞,找到它們在Arcturan 語中的對應單詞。 這個過程叫做“單詞對齊”(word alignment)。 首先在語料庫中查找Centauri 語待譯句子中的第一個單詞farok,我們發(fā)現在第5 句和第7 句中有farok(參見圖10)。
圖10 利用雙語語料庫進行單詞對齊之二
在句子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)。
圖11 利用雙語語料庫進行單詞對齊之三
圖12 利用雙語語料庫進行單詞對齊之四
圖13 利用雙語語料庫進行單詞對齊之五
在Arcturan 語對應的句子中,arrat 這個單詞也分別出現過3 次,它很可能就是Centauri 語中的hihok 在Arcturan 語中的對應單詞。 接著我們查看farok crrrok hihok yorok clok kantok ok?yurp中的第四個單詞yorok,它在句子10 和11 中分別出現過2 次(參見圖14)。
圖14 利用雙語語料庫進行單詞對齊之六
在Arcturan 語對應的句子10 和11 中,單詞mat 也分別出現過2 次,因此mat 很可能就是與Centauri 語中yorok 的對應單詞。 接著我們查看farok crrrok hihok yorok clok kantok ok?yurp 中的第五個單詞clok(參見圖15)。
圖15 利用雙語語料庫進行單詞對齊之七
Centauri 語的clok 只在句子10 中出現過一次,如果句子10 中的yorok 對應于Arcturan 語的mat,那么,Arcturan 語第10 句中其他單詞wat,nnat, gat, bat, hilat 都可能是clok 的對應單詞(參見圖16)。
圖16 利用雙語語料庫進行單詞對齊之八
在句子10 中,如果除了clok 之外的其他單詞都對應好:lalok 對應于wat,mok 對應于gat,nok對應于nnat,yorok 對應于mat,ghirok 對應于hi?lat,那么clok 將可能對應于句子10b 中唯一沒有對齊的單詞bat(參見圖17)。
圖17 利用雙語語料庫進行單詞對齊之九
根據排除法(process of elimination),我們把Centauri 語的clok 對應于Arcturan 語的bat(參見圖18)。
圖18 利用雙語語料庫進行單詞對齊之十
在使用雙語平行語料庫進行單詞對齊時,我們也可以根據同源詞(cognate word)進行單詞對齊。 例如,在句子11a 中Centauri 語的zanzanok與句子11b 中Arcturan 語的zanzanat 就是同源詞,它們是單詞對齊中的重要線索(參見圖19)。
圖19 利用雙語語料庫進行單詞對齊之十一
在句子11a 中,如果除了crrrok 之外的單詞都分別與句子11b 中的單詞相對應,那么我們就可以認為句子11b 已經飽和(fertility),這樣,句子11a 中的crrrok 就變成“孤家寡人”,即它是一個零對應的單詞(zero),這樣的單詞也許沒有具體的詞匯意義,是具有一定語法功能的虛詞,也許是一個沒有具體對應詞的實詞或者其他成分。 在這種情況下,我們也只好不強求crrrok 對應(參見圖20)。
圖20 利用雙語語料庫進行單詞對齊之十二
在句子9 中,我們還可以發(fā)現Centauri 語中的ok?yurp 與Arcturan 語中的at?yurp 是同源詞,而Centauri 語中的kantok 對應于Arcturan 語中的oloat.最后,我們得到Centauri 語和Arcturan 語這兩種語言的單詞對應關系,實現單詞對齊(參見圖21)。
圖21 Centauri 語和Arcturan 語的單詞對應關系
在使用解讀密碼的方法獲得Arcturan 語的對應單詞之后,我們再進一步進行Arcturan 語的句法生成和形態(tài)生成,就可以得到通順的機器翻譯譯文。 這種“解讀密碼”的方法實質上是一種統(tǒng)計的方法(statistical approach),實施起來要進行大量的數學運算,使用基于統(tǒng)計的方法來解決機器翻譯問題(馮志偉2013:19-24)。 這個簡單的例子說明,使用平行語料庫進行機器翻譯是可能的。 現在,我們已經有高性能的計算機和大規(guī)模的聯機語料數據,計算機在速度和容量上都有大幅度的提高,因此在20 世紀90 年代,興起統(tǒng)計機器 翻 譯(Statistical Machine Translation, 簡 稱SMT)。 根據上述解讀密碼的思想,IBM 公司的布勞恩(P. F. Brown)等人提出統(tǒng)計機器翻譯的數學模型(mathematical model)。 基于統(tǒng)計的機器翻譯把機器翻譯問題視為一個“噪聲信道”(noisy channel)問題,如圖22所示:
圖22 統(tǒng)計機器翻譯的噪聲信道模型
統(tǒng)計機器翻譯的過程是:一種語言S 由于經過一個噪聲信道而發(fā)生扭曲變形,在信道的另一端呈現為另一種語言T,翻譯問題實際上就是如何根據觀察到的語言T,恢復最為可能的語言S.語言S 是信道意義上的輸入(源語言),在翻譯意義上就是目標語言,語言T 是信道意義上的輸出(目標語言),在翻譯意義上就是源語言。 從這種觀點來看,一種語言中的任何一個句子都有可能是另外一種語言中的某幾個句子的譯文候選者,只是這些句子的可能性各不相同,機器翻譯就是要從大量的候選句子中找出其中可能性最大的句子,也就是從所有可能的目標語言S 的句子中計算出概率最大的一個句子作為源語言T 的譯文(Brown et al. 1990:33-35)。
由于S 的數量巨大,可以采用“棧式搜索”(stack search)的方法。 棧式搜索的主要數據結構是表結構(list structure),在表結構中存放著當前最有希望的對應于T 的S 中的句子,算法不斷循環(huán),每次循環(huán)擴充一些最有希望的結果,直到表中包含一個得分明顯高于其他結果的S 的句子時結束。 當然,這樣的棧式搜索不能保證得到最優(yōu)的結果,它可能會導致錯誤的翻譯,因而只是一種次優(yōu)化算法。
可見,統(tǒng)計機器翻譯系統(tǒng)的任務就是所有可能的目標語言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)。
圖23 統(tǒng)計機器翻譯的過程是一個解碼的過程
在圖22中,P(T)是目標語言文本的語言模型,它與源語言無關,P(S |T)是在考慮目標語言T 的條件下,源語言S 的條件概率,它是翻譯模型,反映兩種語言翻譯的可能性,與源語言和目標語言都有關。 在布勞恩關于統(tǒng)計機器翻譯的經典性論文中(Brown et al. 1993:21-24),公式(2)被稱為“統(tǒng)計機器翻譯的基本方程式”(Fundamental Equation of Statistical Machine Translation)。 根據這一方程式可知,統(tǒng)計機器翻譯系統(tǒng)要解決3 個問題:(1)語言模型P(T)的參數估計;(2)翻譯模型P(S |T)的參數估計;(3)設計有效快速的搜索算法(解碼器)來求解T^,使P(T)P(T |S)最大。據此,一個統(tǒng)計機器翻譯的框架可以表示如下(參見圖24):
圖24 統(tǒng)計機器翻譯系統(tǒng)的框架
可見,一個統(tǒng)計機器翻譯系統(tǒng)應當包括語言模型(LM)、翻譯模型(TM)和解碼器(decoder)3 個部分。 語言模型P(T)表示T 像目標語言中句子的程度,它反映譯文的流利度(fluency)。 翻譯模型P(S|T)表示目標語言T 像源語言S 的程度,它反映目標語言T 對源語言S 的忠實度(adequacy)。
著名學者嚴復(1854-1921)提出,翻譯應當遵從“信達雅”標準;魯迅(1881-1936)把嚴復的標準簡化為“順”和“信”兩個標準。 根據我們的常識,好的機器翻譯應該是流暢的,同時又應該是忠實于源語言的,就是說,既要“順”,又要“信”。魯迅的“順”這個標準反映“統(tǒng)計機器翻譯的基本方程式”中對于“語言模型”的要求,他的“信”這個標準反映“統(tǒng)計機器翻譯的基本方程式”中對于“翻譯模型”的要求。 在統(tǒng)計機器翻譯中聯合地使用語言模型和翻譯模型,既考慮譯文的“順”,又考慮譯文的“信”,其效果應該比單獨地使用翻譯模型好。 如果僅僅考慮翻譯模型,由于只考慮“信”而忽視“順”,常常會產生一些不通順的譯文。 由此可見,“統(tǒng)計機器翻譯的基本方程式”中語言模型反映傳統(tǒng)翻譯理論中的“順”,“統(tǒng)計機器翻譯的基本方程式”中翻譯模型反映傳統(tǒng)翻譯理論中的“信”,在直覺上,統(tǒng)計機器翻譯的原則與傳統(tǒng)的翻譯理論并沒有沖突(馮志偉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(table |the)?P(END |table)
顯而易見,這是一個N 元語法(N?gram)問題。 對于翻譯模型概率的計算,關鍵在于如何定義目標語言句子中的單詞與源語言句子中的單詞的對應關系。 我們在前面討論過Centauri 語和Arcturan 語雙語平行語料庫中單詞的對齊問題。這里我們再討論英語和法語單詞對齊的一些例子。 在句子偶對(John loves Mary |Jean aime Ma?rie)中,我們看到英語單詞John 生成法語單詞Jean,loves 生成aime,Mary 生成Marie,這時我們說,John 和Jean 對齊,loves 和aime 對齊,Mary 和Marie 對齊。 那么,我們怎樣發(fā)現句子中兩種語言單詞之間的這種對齊關系呢?
假定我們有3 組法語短語la maison, la mai?son bleue, la fleur,它們與3 組英語短語對應,從理論上來說,在每一組中的每一個單詞,都可以與同一組中另一種語言所有的單詞相對應,這種復雜的對應關系如圖25所示:
圖25 單詞之間的復雜對應關系
我們觀察到,法語的la 和英語的the 在每一組中都同時出現,它們同時出現的頻度最大,因此,法語的la 應當與英語的the 對齊。 法語的maison 與英語的house 在兩組中同時出現,它與英語的the 也在兩組中同時出現,但由于英語的the 已經與法語的la 相對應,它不可能再與法語的maison 對應,因此我們可以判斷,法語的mai?son 應當與英語的house 對齊。 在第二組la mai?son bleue 中,la 和maison 都已經確定英語的對應單詞分別為the 和house,因此bleue 應與英語的blue 對齊。 在第三組la fleur 中,既然法語的la 已經與英語的the 相對應,那么,fleur 應與英語的flower 對齊。 由此,我們不難得出如下的對齊結果(參見圖26):
圖26 單詞之間的對齊結果
在統(tǒng)計機器翻譯中,我們使用“期望最大”(Expectation Maximization,簡稱EM)的算法來發(fā)現上述隱藏在兩種語言結構中單詞之間的對應關系,進行單詞對齊;這種算法可以通過GIZA ++軟件來實現。 上面是一對一的對齊,我們須要再進一步討論比較復雜的對齊情況。 在句子偶對
And the program has been implemented | Le pro?gramme a étémis en application 中,單詞的對齊關系如圖27所示:
圖27 單詞對齊的復雜情況
在法語句子中,英語的and 沒有相應的對應單詞,這是“一對零”的情況;而英語單詞imple?mented 則對應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(包含l 個單詞),源語言句子S的長度為m(包含m 個單詞)的情況下,T 和S 之間有l(wèi)×m 種不同的對應關系。 在使用解碼器進行搜索時,要在所有的tl1中,搜索使p(tl1)×p(sm1|tl1) 最大的結果,經過適當的變換處理后,最后輸出目標語言的句子。 由此可見,在統(tǒng)計機器翻譯中,單詞的對齊是一個關鍵性的問題。 為此引入隱含變量A,這個隱含變量表示對齊A,這樣翻譯句子偶對(S |T)的概率可以通過條件概率P(S, A |T)而得到。
我們把P(S |T)的計算轉化為對P(S,A |T)的估計。 假設源語言句子S=sm1=s1s2...sm有m個單詞,目標語言句子T=tl1=t1t2...tl有l(wèi) 個單詞,對齊序列表示為A=am1=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 公司首先使用統(tǒng)計方法進行法語到英語的機器翻譯,對于翻譯模型P(S |T),由于S 是法語(French),T 是英語(English),因此他們用P(F|E)來表示;對于語言模型P(T),由于T 是英語,因此他們用P(E)來表示。
圖28是從噪聲信道理論來看IBM 公司的法英機器翻譯系統(tǒng)的一個示例。 可以假定一個英語的句子The program has been implemented,從英語的信道(channel source E) 經過噪聲信道(noisy channel)之后在法語的輸出信道(channel output F)中變成一個法語的句子Le programme a été mis en application. 從翻譯的角度看,IBM 公司的法英統(tǒng)計機器翻譯的任務就是從源語言法語F 的句子出發(fā),建立翻譯模型P(F |E)和語言模型P(E)進行解碼,選出最好的英語句子作為輸出,最后得到英語的譯文(馮志偉2015:546-554)。
圖28 從噪聲信道理論看IBM 公司的法英機器翻譯
統(tǒng)計機器翻譯的質量與雙語語料庫訓練語言模型的數據規(guī)模有明顯的關系,雙語語料庫的數據規(guī)模越大,統(tǒng)計機器翻譯的質量越高。 圖29顯示阿拉伯語—英語的統(tǒng)計機器翻譯系統(tǒng)的質量與雙語語料庫訓練語言模型數據規(guī)模之間的關系,橫軸表示雙語語料庫規(guī)模的大小,縱軸表示統(tǒng)計機器翻譯系統(tǒng)質量的水平。 從圖中可以看出,隨著雙語語料庫數據規(guī)模的增大,統(tǒng)計機器翻譯系 統(tǒng)的質量也逐漸地、平穩(wěn)地提高。
圖29 訓練數據與統(tǒng)計機器翻譯系統(tǒng)的關系
自2006 年以來,統(tǒng)計機器翻譯進一步發(fā)展成神經機器翻譯(Neural Machine Translation,簡稱NMT),也是基于大規(guī)模的雙語或多語平行語料庫數據。 谷歌公司(Google)研制成谷歌神經機器翻譯系統(tǒng)(Google Neural Machine Translation, 簡稱GNMT),其翻譯原理如圖30所示:
圖30 神經機器翻譯原理圖
在圖30中,e 表示源語言英語,f 表示目標語言法語,要把e 翻譯為f,需要通過一個多層次的神經網絡(multi?layer neural network),這個多層次的神經網絡從平行語料庫中獲取知識,把語言序列e 翻譯成語言序列f. 例如,把英語的語言序列Economic growth has slowed down in recent years(近年來經濟增長放慢了速度)翻譯成法語的語言序列La croissanceéconomiques' estralentiecesder?nières années. 其中,計算機進行翻譯的時候,要利用已有的大規(guī)模的平行語料庫來進行深度學習(deep learning),從平行語料庫中自動地獲取語言特征(language features)。 大規(guī)模的平行語料庫也就是大數據(big data),所以,GNMT 是一個基于大數據的神經機器翻譯系統(tǒng)。 神經機器翻譯系統(tǒng)就是基于大數據的、使用神經網絡來實現翻譯的機器翻譯系統(tǒng)。 在這個多層次的神經網絡中,有大量的鏈接權重(weight),這些權重就是我們通過大規(guī)模平行語料庫的訓練和學習的參數。 訓練好的神經網絡可以將輸入的源語言英語e 轉換為輸出的目標語言法語f. 圖中的log p(f |e)表示對于給定的源語言e 轉換為目標語言f 的概率,如果這個概率越大,說明神經機器翻譯的效果越好,我們的目的在于盡量得到log p(f |e)的一個大的參數近似值(parametric approximation),這就是GNMT 的語言模型(李沐等2018:153-174)。
這樣的語言模型是端對端(end to end)的語言模型,源語言輸入后,由編碼器(encoder)使用循環(huán)神經網絡(Recurrent Neural Network,簡稱RNN)或卷積神經網絡(Convolutional Neural Net?work,簡稱CNN)進行編碼處理,然后直接由解碼器輸出翻譯結果(參見圖31)。
在圖31中,輸入中文句子“你知道去北京站的路怎么走嗎?”由編碼器進行編碼,經過神經網絡RNN 或CNN 處理后用解碼器進行解碼,便可以得到英文譯文Do you know the way to Beijing Rail?way Station?
神經機器翻譯與統(tǒng)計機器翻譯有同有異。 它們的相同之處在于:(1)它們都要使用大規(guī)模的雙語平行語料庫的數據進行模型訓練,具有明顯的經驗主義色彩;(2)它們都重視語言數據的統(tǒng)計計算,它們的數學原理都建立在統(tǒng)計學的基礎之上;(3)它們的輸入和輸出都是單詞的序列。它們的不同之處在于:(1)神經機器翻譯需要設計一個大型的多層次的神經網絡(Neural Net?work),而統(tǒng)計機器翻譯不需要設計這樣的神經網絡;(2)神經機器翻譯不需要對于語言符號(lin?guistic symbol)進行計算,而只要把語言符號轉換為詞向量(word vector)嵌入到向量空間(vector space)中進行計算,整體的計算針對沒有語言符號的實數值(real values)進行,而統(tǒng)計機器翻譯需要對語言符號及其特征表示(features representa?tions)進行統(tǒng)計描述和計算;(3)神經機器翻譯不需要進行單詞對齊,而統(tǒng)計機器翻譯需要進行單詞對齊;(4)神經機器翻譯不需要編制短語表(phrase table)或規(guī)則表(rule table),也不需要手工編制的語言特征規(guī)則(language feature rules),而統(tǒng)計機器翻譯需要手工編制的或者半自動編制的短語表和規(guī)則表作為統(tǒng)計計算的支持,而這樣的語言特征規(guī)則的編制和獲取是一項極為艱苦的“語言特征工程”(language feature engineering);(5)神經機器翻譯不需要研制目標語言的N 元語法模型(n?gram model),而統(tǒng)計機器翻譯需要研制目標語言的N 元語法模型來保證目標語言輸出的流利度;(6)神經機器翻譯不需要研制翻譯模型(translation model),而統(tǒng)計機器翻譯需要研制翻譯模型來保證譯文的忠實度。
圖31 端對端的神經機器翻譯
由此可見,神經機器翻譯可以完全依靠雙語平行語料庫的數據來進行全自動的機器翻譯,擺脫艱苦龐雜的語言特征工程,只要有大規(guī)模的、真實的語料庫數據,即使不懂語言規(guī)則也可以得心應手地進行神經機器翻譯的研制,并且神經機器翻譯的效果遠遠高于基于短語的機器翻譯(Phrase?based Machine Translation,簡稱PBMT)和統(tǒng)計機器翻譯。 這樣的神經機器翻譯可以真正地實現多年前著名機器翻譯的先行者Bar?Hillel(巴希勒)提出的“全自動高質量機器翻譯”(Full?au?tomatic and High?quantity Machine Translation,簡稱FAHQMT)的預想,把FAHQMT 由學者飄渺的夢想變成活生生的現實(馮志偉2004:40-49)。下面是谷歌神經機器翻譯與基于短語的機器翻譯的翻譯質量比較圖。
圖32 神經機器翻譯與基于短語的機器翻譯的翻譯質量比較
從圖32中可以看出,谷歌神經機器翻譯的水平已經大幅度地超過基于短語的機器翻譯,特別在英語—西班牙語、英語—法語、西班牙語—英語、法語—西班牙語的機器翻譯中,神經機器翻譯正在向人的翻譯水平逼近,當然離完美無缺的翻譯還有一定的距離。 由于神經機器翻譯使用大規(guī)模平行語料庫的數據來獲取語言知識,所以可極大地提高機器翻譯的水平,有力地推動機器翻譯實用化和商品化的進程(馮志偉2017:723-768)。 神經機器翻譯和統(tǒng)計機器翻譯都使用經驗主義的方法,它們都須要大規(guī)模語言數據的支持。 與統(tǒng)計機器翻譯相比,語料庫的數據規(guī)模對于神經機器翻譯質量的影響更為明顯,神經機器翻譯需要更大規(guī)模的語料庫數據資源的支持(Koehn, Knowles 2017:142-147)。
圖33 統(tǒng)計機器翻譯數據規(guī)模與神經機器翻譯數據規(guī)模的比較
在圖33中,橫軸表示語料庫數據規(guī)模(Corpus Size)的大小,也就是語料庫中包含英語單詞(English Words)的數量,縱軸表示機器翻譯自動評測指標BLEU 值(Bi?Lingual Evaluation Under?study),也就是機器翻譯系統(tǒng)質量的水平。 從圖33中可以看出,在基于短語的統(tǒng)計機器翻譯系統(tǒng)中,當語料庫數據的規(guī)模為106個單詞時,它的BLEU值為18.1;當語料庫數據的規(guī)模為107個單詞時,它的BLEU 值平穩(wěn)地上升為23.5;當語料庫數據的規(guī)模為108個單詞時,它的BLEU 值進一步平穩(wěn)地上升為26.9;在帶有大規(guī)模語言模型基于短語的(Phrase?based with Big LM)統(tǒng)計機器翻譯系統(tǒng)中,當語料庫數據的規(guī)模為106個單詞時,它的BLEU 值為23.4;當語料庫數據的規(guī)模為107個單詞時,它的BLEU 值平穩(wěn)地上升為27. 9;當語料庫數據的規(guī)模為108個單詞時,它的BLEU 值進一步平穩(wěn)地上升為29.6;隨著語料庫數據規(guī)模的逐漸增大,統(tǒng)計機器翻譯系統(tǒng)的質量也平穩(wěn)地提高。在神經機器翻譯系統(tǒng)中,當語料庫數據的規(guī)模為106個單詞時,它的BLEU 值僅僅為7.2;當語料庫數據的規(guī)模為107個單詞時,它的BLEU 值大幅度地猛增為22.4;當語料庫數據的規(guī)模為108個單詞時,它的BLEU 值又進一步大幅度地猛增為29.2,隨著語料庫規(guī)模的增大,神經機器翻譯系統(tǒng)質量的提高幅度遠遠地大于統(tǒng)計機器翻譯系統(tǒng)質量的提高幅度。 這說明,語料庫數據規(guī)模的大小對神經機器翻譯系統(tǒng)的影響比對統(tǒng)計機器翻譯系統(tǒng)的影響大得多。 如果語料庫數據規(guī)模小于107個單詞,神經機器翻譯的質量就比不上統(tǒng)計機器翻譯;當語料庫數據規(guī)模達到108個單詞時,神經機器翻譯的質量與統(tǒng)計機器翻譯的質量大致持平;而當語料庫數據規(guī)模超過108個單詞時,神經機器翻譯的質量才有可能超過統(tǒng)計機器翻譯。
據統(tǒng)計,現在世界上的語言有7000 種之多,但其中只有少量的主流語言(如英語、漢語、西班牙語、法語、德語、俄語等)擁有豐富的數據資源,因此這些主流語言的神經機器翻譯的效果都不錯。 2017 年國際機器翻譯會議(WMT)對新聞文本的神經機器翻譯系統(tǒng)進行評測,評測結果以直接評估(Direct Assessment,簡稱DA)的分數來表示。 其中,主流語言之間神經機器翻譯的DA 得分都比較高。 例如,漢英神經機器翻譯系統(tǒng)和英漢神經機器翻譯系統(tǒng)的DA 得分都是73%,德英神經機器翻譯系統(tǒng)的DA 得分是78%,英德神經機器翻譯系統(tǒng)的DA 得分是73%,俄英神經機器翻譯系統(tǒng)的DA 得分是82%,英俄神經機器翻譯系統(tǒng)的DA 得分是75%,法語和西班牙語與英語之間的神經機器翻譯系統(tǒng)由于已經比較成熟,沒有參加這次評測。 顯而易見,世界上主流語言之間的神經機器翻譯已經取得可喜的成績。 然而,世界上其他大多數語言都沒有豐富的數據資源,處于語言數據匱乏的狀態(tài),要對這些語言進行神經機器翻譯就非常困難。 在2017 年國際機器翻譯會議評測中,凡是涉及非主流語種(如芬蘭語、土耳其語、拉脫維亞語、捷克語)的神經機器翻譯系統(tǒng)的DA 得分都不理想。 英語到芬蘭語、土耳其語、拉脫維亞語的神經機器翻譯系統(tǒng)的DA 得分都不到60%,英語到捷克語神經機器翻譯系統(tǒng)的DA 得分勉強達到62%。 可見,如果沒有豐富的語言數據資源的支持,世界上大多數的語言都難以使用神經機器翻譯技術,語言數據的匱乏成為神經機器翻譯發(fā)展中的一個嚴重問題。 我國有56 個民族,少數民族的語言有八十多種,少數民族的文字有30 種,除了漢語之外,其他語言文字(如維吾爾語、哈薩克語、藏語、彝語)都處于數據匱乏的狀態(tài)。 在目前的技術水平下,要對這些數據匱乏的語言進行神經機器翻譯仍然非常困難。如果涉及到專業(yè)翻譯,數據匱乏的問題就更加嚴重。 以醫(yī)療專業(yè)為例,在2019 年國際機器翻譯會議的評測中,用于訓練醫(yī)療專業(yè)神經機器翻譯系統(tǒng)的數據資源顯得十分匱乏。 德/英:英/德(de/en : en/de)機器翻譯系統(tǒng)只有3,669 個文檔,包括40,398 個句子;西/英:英/西(es/en : en/es)機器翻譯系統(tǒng)只有8,626 個文檔,包括100,257個句子;法/英:英/法(fr/en : en/fr)機器翻譯系統(tǒng)只有5,640 個文檔,包括75,049 個句子;葡/英:英/葡(pt/en:en/pt)機器翻譯系統(tǒng)只有4,185個文檔,包括49,918 個句子;而漢/英:英/漢(zh/en:en/zh)機器翻譯系統(tǒng)幾乎找不到醫(yī)療專業(yè)的數據資源。 而用于測試醫(yī)療專業(yè)神經機器翻譯系統(tǒng)的數據資源只有50 個文檔,包括283 至719 個句子,只有西/英:英/西(es/en : en/es)機器翻譯系統(tǒng)有6,624 條術語,其他語種根本就沒有術語數據的支持。 在這些語言對中,每對語言用于訓練的語料數據包含的單詞量都遠遠少于108個單詞,因而難以保證神經機器翻譯的質量,所以機器翻譯的譯文質量不佳。
圖34 2019 年WMT 評測中的醫(yī)療專業(yè)數據資源
對神經機器翻譯而言,幾百萬個句子的語料都不能算作是大數據,商用神經機器翻譯系統(tǒng)基本上都要數千萬個句子的大數據作為訓練語料。如果語言數據匱乏,神經機器翻譯的譯文質量就難以保證。 為解決語言數據匱乏的問題,學者們開始探討小規(guī)模語言數據資源下神經機器翻譯的可行性問題,最近已經形成一種神經機器翻譯的新范式:使用大規(guī)模的文本語料庫數據(large?scale text corpus)進行“預訓練”(pre?training),建立“預訓練語言模型”(pre?trained language mo?dels),然后使用面向特定任務的小規(guī)模語言數據集(task datasets)進行“微調”(fine?tuning),形成“下游任務的模型”(models for downstream tasks)。這樣的新范式使研究者能夠專注于特定的任務,而適用于各種任務的通用的預訓練語言模型可以降低神經機器翻譯系統(tǒng)的研制難度,從而加快神經機器翻譯研究創(chuàng)新的步伐。
圖35 神經機器翻譯的新范式
解讀羅塞塔石碑依據的平行語料庫方法是非常具有啟發(fā)性的,這樣的方法現在已經成為當代機器翻譯方法的基石,它既是統(tǒng)計機器翻譯方法的基礎,也是神經機器翻譯方法的基礎(馮志偉2018:23-27)。 把機器翻譯看成是一種解讀密碼的技術,使用大規(guī)模的平行語料庫數據進行解碼,是機器翻譯思想取之不盡的源泉。