臉書在EMLNP 2018上發表了最新的機器翻譯成果,使用逐字初始化、語言建模和反向翻譯三個步驟,作為無監督機器翻譯的重要原則,而這樣的方法比過去最先進的非監督訓練方法,成果還要高10個BLEU點(一種衡量機器翻譯準確性的方式)。對機器翻譯來說,改進BLEU點數1點已經算是了不起的進展,而臉書的最新研究成果,BLEU點數大幅成長10點。

臉書為了想讓平臺上數十億人,打破語言障礙互相交流連結,致力發展自動語言翻譯技術。為了做到這一點,機器翻譯系統需要存取大量的中文與英文相同翻譯文本,目前機器翻譯受到訓練資源的限制,僅適用在能輕易獲得大量翻譯的小型語言子集。

臉書認為,在訓練機器翻譯模型時,不存取任何翻譯資源的非監督訓練方法,是必要的下一步。臉書新發表的這個機器翻譯研究,在非監督式方法有顯著的改善,成果相當於監督方法使用10萬筆參照翻譯,這對於機器翻譯是一個重要的里程碑,尤其是世界上大多數的語言,可用於翻譯訓練的資源嚴重匱乏,以至於無法適用於現行系統。臉書提到,烏爾都語是其中一種缺乏資源的語言,而臉書的方法,可以讓英文與烏爾都文只能存取各自不相關文本,就可以相互進行翻譯。

臉書的第一步是要讓系統學習雙語辭典,將詞彙與其他語言相對應的翻譯進行連結。臉書讓系統為每種語言中的每個單詞學習單詞嵌入(Word Embedding),單詞嵌入訓練是使用上下文來預測單詞周圍的單詞,並以向量來表達這些單詞間的關係。這個方法雖然簡單,卻可以捕捉到有趣的語意結構,像是英文Kitty最近的鄰居Cat,Kitty會接近Animal的嵌入,而非其它很少同時出現如Rocket這樣的單詞。

即便是不同的語言,由於世界各地的人們都擁有相同的物質世界,單詞嵌入都具有相似的鄰近結構,臉書舉例,像是英文中的Cat(貓)和Furry(毛皮)之間的關係,就像是西班牙文Gato(貓)和Peludo(毛茸茸),因為他們出現的頻率和上下文使用時機都是相似的。臉書旋轉這些單詞嵌入的表達向量,以匹配對齊另一種語言單詞嵌入,如此可以推斷出一個相當準確的雙語詞典,無需存取任何翻譯,並且基本上可以逐字翻譯。

但使用以非監督式推斷的雙語詞典,逐字翻譯句子並不是一個很好主意,單詞可能會遺漏、無序或是一般的錯誤。不過也並非完全無用,因為其中包保留了大部分的含意,臉書以單語資料訓練的語言模型,對逐字翻譯句子進行修正。因此只要有烏爾都語大量的單語資料集,就能和英文語言模型一起訓練烏爾都語的語言模型。

有了語言模型和逐字初始化,就已經具備了翻譯系統的雛形,可以把大量的烏爾都文翻譯成英文,而這些機器翻譯的句子,會再被用來訓練從英文到烏爾都文的反向機器翻譯系統。反向翻譯的概念最早在2015年被提出來,但當時使用在監督學習環境中,而臉書把這個技術首次用在非監督式系統中。

經過這些程序得到了烏爾都文語言模型,為了取得更好的結果,臉書將人工翻譯的句子,與機器翻譯的句子進行校對,便能訓練出從英語到烏爾都語的翻譯系統。這時臉書把更多的英文句子翻譯成烏爾都文,這些翻譯的烏爾都文句子,可以再幫助改進烏爾都文到英文的機器翻譯系統,這樣的迭代循環,可以讓系統的翻譯能力越來越好。

臉書經過這些實驗流程,確立了機器翻譯必經的三個步驟,為逐字初始化、語言建模和反向翻譯。臉書應用這樣的原則,推導出不同的模型,其中一個是非監督神經模型,雖然產生的句子並不理想,但是可以用於產生反向翻譯的訓練資料,另一個則是傳統基於計數的統計方法,稱為短語(Phrase-based)機器翻譯,這類模型對於低資源語言翻譯特別有用。

臉書結合這兩種模型,以獲得雙方的優點,翻譯結果明顯比先前非監督機器學習方法還好,特別是在英文對法文以及英文對德文的翻譯,成果提高了10個BLEU點。即使在關係較遠的語言翻譯,像是英文對俄文,或是資源匱乏的英文對羅馬尼亞語以及英文對烏爾都文,都比起過去的非監督方法好許多,甚至超越監督式方法。


Advertisement

更多 iThome相關內容