機器翻譯技術

機器翻譯

前言

簡介

歷史

翻譯輔助

逐字翻譯

輔助介面

規則翻譯

簡介

翻譯規則

比對方法

統計翻譯

簡介

語料庫

統計學習

案例翻譯

簡介

案例比對

翻譯過程

評測方法

人工評測

自動評測

程式實作

逐字翻譯

規則翻譯

統計翻譯

案例翻譯

自動評測

網頁翻譯

相關書籍

自然語言處理

人工智慧

正規語言

編譯器實作

相關資源

語料辭典

程式工具

相關網站

相關文獻

統計訊息

最新修改

訊息

相關網站

參考文獻

最新修改

簡體版

English

簡介

機器翻譯是自然語言處理的問題當中,最受注目的問題之一。這個問題的解決可以大大的促進知識的流通。最直接的好處是讓英文不好的人也可以看任何的英文書或文章。人類將不再需要花費這麼多的腦力進行翻譯工作。資訊的傳播將又即時又精準。

除此之外,只要解決了機器翻譯問題,許多價值頗高的衍生應用就會出現。例如,搭配語音辨識、機器翻譯與語音合成三項技術,就可以作出同步口譯軟體,就像1.2節當中的科幻小說情節一樣,史丹利先生可以不需要懂中文就能與中國的江明先生溝通。想想看,這是多麼具有吸引力的一項應用。

然而,機器翻譯卻又是極為困難的一個主題,牽涉到自然語言理解這個超難的領域。我之所以稱自然語言理解為超難的領域,是因為自己曾經夢想著能在此領域作出重要的貢獻,投入了五年的光陰。但是、五年的光陰卻沒有留下甚麼成績,只體會到一點 - 『這不是當今科學技術所能解決的問題』。除非,在可見的未來,有重大的技術突破,否則,這個領域可能到筆者生命結束都沒有辦法達到實用的地步。

即便筆者採取了比較悲觀的角度,然而,從網際網路出現以來,網路上的大量語料成了機器翻譯技術的良好實驗場所。筆者便相當希望投入時間,將維基百科上的雙語語料抽取出來,以便供自己與其他人進行自然語言實驗時,能有比較的基準。網路上的資料成了機器翻譯技術的踏腳石,或許,這會幫助我們克服資料來源上的困難,讓技術突飛猛進也說不定。

更重要的是,超大型軟體公司,像是 Google 與微軟,競相投入機器翻譯的研究當中,尤其是 Google ,更是是機器翻譯為公司進一步擴張的祕密武器。這些資本雄厚的公司投入其中,或許也會帶來一些進步。

如我們在前言當中所敘述的,人工智慧問題可以說是資訊科學界的聖杯 (或者說是魔戒),而機器翻譯技術可說是人工智慧問題當中最有價值的問題之一可以說是聖杯頂上的寶石。這麼珍貴的東西,值得花一輩子去追尋,不是嗎?讓我們邁向偉大的航道吧。

針對機器翻譯問題,有很多種不同的作法,規則比對式的方法、統計式的方法、範例導向式的方法等等。這些方法各有個的好處。但是,直接處理翻譯問題通常太過困難,其結果也難以評判好壞。因此,通常會將機器翻譯問題進一步細分成幾個子問題,分別對這些問題進行研究。

解歧義 (Word Sense Disambiguation) 問題

解歧義 (Word Sense Disambiguation) 問題乃是為了解決一字多義現象而進行的研究。所為一字多義現象,就是翻譯文章中的一個字詞,在字典當中卻有數個對應的意義,導致翻譯時難以抉擇的問題。

舉例而言,像是英文的 Free 一詞,就對應到中文的『自由的、免費的、未被占據的、有空閒時間的、鬆開的、慷慨的、優美的、放肆的』這些形容詞,甚至還有副詞與動詞的用途未列出。那麼,程式如何決定『No free lunch』的 free 到底是指哪一個意義呢?為何 free 在該句中被人類解釋為免費的,而『Free Culture』 中的 free 卻被解釋為自由的呢?

語法剖析的問題 (Parsing)

Parsing問題通常是從 Norm Chromsky 的語言學理論開始的。由於 Chromsky 的功能語法學派提出的樹狀語法結構理論相當成功,因此,若能將一個句子轉換成樹狀結構,對翻譯的進行將會有所幫助,而語法剖析的目的正是將輸入語言 (例如英文) 轉換成一顆語法樹的動作。

樹狀結構轉換的問題 (Structure Transformation)

由於中文與英文在語法結構上有相當大的不同。因此,翻譯的難度比拉丁語系的語文之間互轉更為困難。舉例而言,如果我們想將 『I don’t like the woman in red』這句話,翻譯成中文,如果直接翻譯成『我不喜歡這個女人在紅色』,我想應該沒有人知道在講甚麼。比較適當的翻譯是『我不喜歡那個穿著紅色衣服的女人』。但是,這個翻譯有一些結構上的轉換,電腦如何能正確做到呢?

目標語句合成的問題 (Sentence Generation)
當原始句子被剖析後,成為樹狀結構,之後再利用結構轉換形成目標語意樹之後,如何能將此語意樹轉換成目標語句,例如,如何將轉為中文的語意樹平坦化,轉換成中文語句,便是英翻中問題的最後一道步驟。

另外,還有詞型變化、語境分析等問題,由於篇幅的關係,在此就不詳述了。

然而,要解決這些問題,可沒有這麼簡單。在機器翻譯的領域當中,研究方法通常可以分為兩類,規則比對法與語料庫統計法兩種。在網際網路出現之前,由於語料庫的缺乏,許多人採用規則比對法進行研究。然而、在網際網路出現之後,網路上的大量語料,使得語料庫的方法出現了相當重要的成果。統計式翻譯儼然成為機器翻譯的翻譯的新主流。當然,規則法與統計法兩者結合,可能會產生更好的結果,這或許是未來待解決的問題之一。

然而,網路上的資料通常是沒有經過處理的語料,要如何處理這些與料,使這些語料變成統計式語言學可用的語料庫,也變成了一個重要的問題。這個問題衍生出許多不同層次的問題。

首先,在網路上有許多的文章,其中包含了許多翻譯文章,這些翻譯文章往往可以在網路上找到原文。譯文與原文之間如果能很好的對應起來,就可以形成所謂的雙語語料庫。雙語語料庫是統計式翻譯上相當重要的指導老師,這個指導老師可以讓統計式的翻譯程式變強。因此,誰能建構出大量且高品質的雙語語料庫,誰就掌握了統計式翻譯的優勢。

然而,高品質的雙語語料庫,並不容易建構。一個好的雙語語料庫,至少要有三個層次的對應資訊。第一個層次是文章的對應,也就是提供譯文與原文文章間的對應關係。第二個層次是句子的對應,也就是每個句子要和其譯文對應起來。第三個層次是詞彙的對應,也就是每個詞彙必須要與其翻譯詞彙對應起來。

除此之外,最高品質的雙語語料庫還應包含每個詞彙的詞性標記 (Tagging),如果連語法的樹狀結構都被標記出來,那就會形成樹狀語料庫 (Tree Bank)。樹狀語料庫可以說是統計式翻譯程式的最佳指導老師,但也是最難以建立的。

雙語文章的建構問題

要建構出雙語語料庫,在文章層次上,首先要能找出哪些是翻譯文章,然後找出其對應的原始文章。因此,如果有一個程式能夠自動建構出這樣的對應關係,而且正確又快速的話,那將能在極短的時間內建構出大量的雙語文章庫。這個問題稱為雙語文章的建構問題。

雙語語句的對齊問題

然而,即使有了大量的雙語文章庫,句子與句子之間的對應關係仍然沒有被關連起來。因此,需要有一個程式自動去建立句子間的關係,這個問題稱為雙語語句的對齊問題。

雙語詞彙的對齊問題

同樣的,有了句子之間的對齊關係之後,仍然需要再次去對齊詞彙語詞彙之間的關係,這個問題就被稱為雙語詞彙的對齊問題。

然而,機器翻譯上的問題,通常是無法完全區分開的。例如,語句的對應關係如果出了錯誤,詞彙的對應關係就無法正確建構。而現今並沒有能在語句上對齊得很好的方法,正確率能到達 90% 就已經算很好了。而且,這三個層次往往會互相影響,所以很難單獨解決。

同樣的,解歧義、剖析、結構轉換與語句合成的問題,在統計式翻譯上也是互相影響的。因此,有必要形成一個整體性的理論,讓這些資訊的統計互相回饋影響,以整體的考量方式進行最佳化的計算。這或許是統計式翻譯接下來應該要走的道路。

機器翻譯問題

機器翻譯乃是將一個語言的文章翻譯成另一個語言的文章的問題,其中的來源語言 (source language,簡寫為 s) 與目標語言 (target language,簡寫為 t) 之間,具有意義上相等的關係 (或者說非常相近)。因此,我們可以將機器翻譯的問題,寫成如方程式 1 所描述的一個抽象過程。這個方程式相當的重要,可以說是機器翻譯的第一定律。

(1)
\begin{align} bts = mt(s) = argmax_t \{ score(t|s) \} \end{align}

在上述公式中, bts代表最佳的翻譯語句 (Best Target Sentence),而 mt 則是該機器翻譯程式,可以將任何輸入的來源語句 s 翻譯成最佳目標語句 bts。這個過程,乃是經由一個列舉程序,列出所有可能的翻譯語句 {t1,t2,…tn},然後,從中選取一個最佳的句子,作為 mt 程序所輸出的最佳翻譯語句 bts。

舉例而言,假如我們想寫出一個將英文翻譯為中文的程式,則來源語言 s 為英文句子 s,我們會根據這個英文句子找出可能的中文翻譯句 {t1, t2, …, tn }。然後,利用評估函數 score(t|s) 評判以 t 作為 s 之翻譯的適當性。最後,選取出最適當的語句 bts 作為 mt(s) 程式的輸出,如此就完成了整個語句翻譯的過程。

或許對許多讀者而言,上述的說明仍然太過抽象,讓我們以一個範例說明此種過程。假如我們希望將英文句子『I like the girl in red dressing』翻譯成中文,首先,透過字典,我們可以查出其中每一個英文詞彙的中文對照詞彙,例如 like 可能對應『愛、喜歡、像、相似』等詞彙,圖一顯示了該語句中每個英文詞對應的候選中文詞的情況。

MtCandidate.jpg

圖一、語句 I like the girl in red dressing 的中文翻譯後選詞

透過適當的選擇,我們可以選出每個詞彙的最佳翻譯詞彙,如圖二所示。這個句子就是該語句的中文翻譯結果。

MtBest.jpg

圖二. 從圖一的語句中選出的最佳翻譯詞彙

慢著,仔細看過這個翻譯的人應該會發現,翻譯的結果與原文的意義不同。正確的翻譯應該是『我喜歡這個穿著紅色衣服的女孩』,而非『我喜歡這個女孩穿著紅色的衣服』。這是怎麼回事。

這個問題的原因是,中文與英文有著不同的語法結構,因此,直接將詞彙翻譯後的結果,往往會形成語法不通,或者是語意錯誤的情形。

那麼,應該怎麼做才能將『I like the girl in red dressing』這個句字翻譯正確呢?針對這個問題,規則式的翻譯與統計式的翻譯,採用了完全不同的道路,我們將在後續章節中進行說明。

結語

機器翻譯技術可初略的分為統計式與規則式兩類,早期的研究者較注重規則式的翻譯方法,但是由於網際網路上的語料越來越多,目前統計式的方法比較受到重視。但是,兩者都有相當大的困難,未來兩者也可能出現融合的情況,但是如何能有效的融合仍然等待新一代的研究者之投入。

Facebook

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License