時空訂製

字體:16+-

因為“黑箱”難題,我和莫妮卡關於機器翻譯的研究一個學期不到就碰了壁。

起初一切還很順利。我們分析了二十世紀的幾種商業翻譯軟件,這些軟件的原理大多很簡單,連我也能理解。無非是先將一個句子拆解成一個個詞組,再根據辭典把這些詞組翻成目標語言,然後根據目標語言的句法規則將詞組重新組合,就得到了翻譯的結果。這種方法對於簡單的句子尚且可行,但用它翻譯一些習語時,總是免不了要鬧笑話。因為目標語言中可能並沒有類似的表述。

對此,一些翻譯軟件開發者想了一些對策,比如說為專有名詞、習語和固定的表達方式建立語料庫,軟件進行翻譯時會先檢索語料庫中是否有匹配的內容。這樣的做法的確讓翻譯的準確度和流暢性都有所提高,但是,詞義消歧仍是一個難題。特別是當一個詞在源語言和目標語言中並不等價的時候,就會引出很多麻煩來。

一個最常被舉到的例子是英語的“sheep”和法語的“mouton”。在英語裏,“sheep”指的是綿羊,而法語的“mouton”不僅可以指“綿羊”,也可以指“羊肉”(英語中的mutton),兩個詞並不等價。為了檢驗一個翻譯軟件是否能有效地消除歧義,我會設計一個包含類似“mouton”這樣的單詞的法語句子,讓軟件生成英語的譯文。那些采用最傳統原理的軟件幾乎隻會把“mouton”翻成“sheep”,而並不會考慮語義是否恰當。所以,有開發者設計了一套統計學方法來消除歧義。比較常見的方法是:先製作兩種語言的平行語料庫,然後進行統計,從而發現“mouton”和草地、牧羊犬或羊毛等詞一起出現時,一般要翻譯成“sheep”;而與表示吃或烹飪的動詞出現在一起時,則要翻譯成“mutton”。

之後莫妮卡又分析了一些二十一世紀初的機器翻譯軟件。有些軟件使用了大量的統計學方法,通過隱變量和對數線性模型來實現翻譯(這些術語都是莫妮卡告訴我的,我也不確定自己的表述是否準確)。這部分的工作我幾乎沒有參與。她試圖教會我線性代數的基本知識,我也努力了一番,不過最後還是放棄了。有一天,她把倫敦大學的一位講師請到了會議室,向她請教了一些高維空間中的線性不可分問題。而我能做的,隻是站在一邊泡紅茶罷了。