機器翻譯需要的軟件 自然語言處理專業所涉及的軟件

、第一個開源的統計機器翻譯工具包——Egypt

如前所述,Egypt是在1999年約翰霍普金斯大學統計機器翻譯夏季討論班上,由一些研究人員共同合作開發的統計機器翻譯工具包。它包括4個模塊:

Whittle:語料庫預處理模塊;
GIZA:用於從句子對齊的雙語語料庫中訓練詞語對齊;
Cairo:詞語對齊的可視化工具
Decoder:解碼器,即用來執行具體的翻譯過程模塊,這一模塊沒有開放源碼
在討論班的最後一天,研究者們利用Egypt在一天之內搭建了一個新語對的翻譯系統,顯示了統計機器翻譯的強大威力。隨着技術的快速發展,Egypt中使用的很多方法現在已經過時了,然而,其中用於訓練詞語對齊的模塊GIZA現在仍然被廣泛使用,利用它能夠非常方便地從大規模的雙語文本中獲得統計知識。

現在大家使用的是它的改進版本GIZA++,GIZA++實現了IBM公司提出的5個模型,其主要思想是利用EM算法1對雙語語料庫進行迭代訓練,由句子對齊得到詞語對齊。

如果計算機內存足夠的話,它能夠訓練非常大規模的語料。在我們的實驗過程中,使用8G內存訓練二百萬句對,大約需要3天時間。這一過程完全由計算機自動進行,不用人工干預,節省了很多的人力。而且GIZA是獨立於語言的,能夠對任何兩種語言進行訓練,這也是統計機器翻譯的優點之一。現在幾乎所有的統計機器翻譯系統都利用這一工具進行詞語對齊的訓練。

2、語言模型訓練工具——SRILM

在介紹SRILM之前,我們首先介紹一下語言模型的概念。語言模型被廣泛應用於自然語言處理的各個領域,來衡量某種語言中一個句子符合語法的程度。例如,有如下兩個英語句子:

S1:There is a cup on the table.

S2:There are a cup on the table.

在人類看來,顯然第一個句子更符合英語語法,單數形式的謂語動詞應該是“is”,而不是“are”。但是,如何讓計算機知道這一知識呢?這項工作由語言模型來完成。語言模型實際上是一種概率分佈,它給出了一種語言中所有可能的句子出現的概率。在它看來,一種語言中,任何可能的單詞排列都是可能被接受的句子,只是被接受的概率不同。在統計機器翻譯中,根據從語料庫中獲取的知識(例如單詞的翻譯概率等),一句話可能有很多譯文。有些符合語法和人們的表達習慣(例如S1),有些則可能不符合語法(例如S2)。語言模型賦予這些句子不同的概率,用以選擇最優的譯文。

SRILM是一個建立和使用統計語言模型的開源工具包,從1995年開始由SRI 口語技術與研究實驗室(SRI Speech Technology and Research Laboratory)開發,現在仍然不斷推出新版本,被廣泛應用於語音識別、機器翻譯等領域。這個工具包包含一組C++類庫、一組進行語言模型訓練和應用的可執行程序等。利用它可以非常方便地訓練和應用語言模型。

輸出則是N元語法的概率。給定一組連續的詞,調用SRILM提供的接口,可以得到這組詞出現的概率。

3、機器翻譯的自動評測工具——Mteval

如何來評價一個機器翻譯系統所產生的譯文的好壞呢?這是一個比較困難的工作。很多時候連我們人類自己都難以判斷到底哪個譯文比較好,何況機器呢。然而,我們仍然希望能夠有一個客觀的自動評價方法,幫助我們快速地評價系統譯文的好壞,在此基礎上,人們再進行進一步的評價。在現在著名的統計機器翻譯國際評測中普遍使用自動評測與人工評測相結合的方法,例如美國國家技術和標準研究所(NIST)舉行的評測。Mteval便是他們開發的自動評測工具,最新版本是mteval-11b.pl,是用perl語言寫成的。

爲了能夠進行自動評價,我們必須事先有“標準答案”。在評測中,翻譯系統要翻譯幾百個乃至上千個句子。這些句子由人事先進行翻譯,作爲標準答案。爲了更加客觀,一般都由4個不同的人來翻譯。評測工具通過比較系統譯文和標準答案,根據評測指標進行打分。現在普遍採用BLEU作爲機器翻譯的評測指標,它是基於N元語法來計算的。

4、第一個基於短語的統計機器翻譯系統——法老(Pharaoh)

“法老”是較早公開的統計機器翻譯系統,是由美國南加州大學信息科學實驗室(Information Science Institute)的菲利普.科恩(Philipp Koehn)在2004年做博士論文期間編寫的。可能由於較早的開源軟件以“埃及(Egypt)”命名的緣故吧,這一系統也採用埃及的代表性事物“法老(Pharaoh)”命名。它是一個基於短語的(Phrased-based)統計機器翻譯系統。爲此,我們首先要了解一下基於短語的系統的工作原理。基於短語的方法是目前比較成熟的統計機器翻譯技術,它的主要思想是以短語作爲翻譯的基本單元。給定一個源語言句子,其翻譯過程如下:

1. 對源語言句子進行短語劃分;

2. 根據翻譯模型翻譯每個短語;

3. 對短語進行重排序。

“法老”正是基於這一思想的統計機器翻譯系統。它包括兩大部分;訓練和解碼。訓練過程用來從語料庫中獲得統計知識。它利用了已有的開源軟件GIZA++和SRILM,GIZA++用來訓練詞語對齊,SRILM訓練語言模型。既然是以短語作爲翻譯的基本單元,因此還需要獲得關於短語翻譯的知識。通過前面的介紹我們知道通過GIZA++訓練可以得到單詞對齊,根據單詞對齊我們可以進行短語抽取。請注意,這裏我們所說的短語是指任意連續的單詞串,而不管它是否具有語法意義。

我們能抽取到的雙語短語有:(新華社 | Xinhua News Agency)、(新華社 北京 | Xinhua News Agency, Beijing)、(新華社 北京 二月 | Xinhua News Agency, Beijing, February)、(新華社 北京 二月 十二日| Xinhua News Agency, Beijing, February 12)、(新華社 北京 二月 十二日 電| Xinhua News Agency, Beijing, February 12, by wire)、(北京 | Beijing)、(北京 二月 | Beijing, February)、(北京 二月 十二日| Beijing, February 12)、(北京 二月 十二日 電| Beijing, February 12, by wire)、(二月 | February)、(二月 十二日 | February 12)、(二月 十二日 電| February 12, by wire)、(十二日 | 12)、(十二日 電| 12, by wire)、(電| by wire)。由此可見,從語料庫中學習到的短語數量是非常龐大的。

解碼過程(即翻譯過程)實際上是一個搜索的過程。對於輸入的句子,進行短語的劃分,然後根據已有的短語表搜索它們的最優組合,產生最終的譯文。這一部分並沒有公開源碼,不過在科恩寫的文檔中有非常詳細的介紹,根據這些介紹可以很容易地進行實現。

“法老”的出現對於推動統計機器翻譯的發展起到了非常大的作用,由於它原理簡單,易於使用,很多研究者都在它的基礎上進行試驗,或者把它作爲基線系統(baseline)進行比較。

5、中國第一個開源的統計機器翻譯系統——絲路(SilkRoad)

“法老”的出現揭開了統計機器翻譯的神祕面紗,然而其核心部分——解碼器的源碼仍然沒有公開。爲此,中國的研究人員聯合開發了一個完全開放源代碼的統計機器翻譯系統——“絲路”。該系統由中國的五家研究機構和高校(中科院計算所、中科院自動化所、中科院軟件所、廈門大學、哈爾濱工業大學)聯合開發,並在2006年中國第二屆統計機器翻譯研討會上發佈。“絲路”包括以下模塊:語料預處理及後處理模塊“仙人掌”、詞語對齊模塊“樓蘭”、短語抽取模塊“胡楊”、以及三個解碼器(“駱駝”、“綠洲”和“商隊”)。

國內的統計機器翻譯起步比較晚,在2004年左右才陸續有單位開始做相關的研究工作。很多人對統計機器翻譯還非常陌生,對國際上的研究現狀也不熟悉。針對這種情況,國內幾家從事統計機器翻譯研究的單位聯合開發了“絲路”系統,希望它能夠像古代的“絲綢之路”一樣貫通中西,藉此既能讓國外的同行瞭解我們的工作,也能使我們學習到國外的先進技術。“絲路”充分利用了國際上已有的開源工具,比如GIZA++,SRILM等,此外,聯合開發單位還開發了三個解碼器,並完全開放了源代碼,第一次將一個完整的統計機器翻譯系統公開,極大地促進了國內統計機器翻譯的快速發展。

6、摩西(Moses)

“摩西”是“法老”的升級版本,增加了許多功能。它是由英國愛丁堡大學、德國亞琛工業大學等8家單位聯合開發的一個基於短語的統計機器翻譯系統。來自這8家單位的研究人員於2006年在約翰霍普金斯大學召開了一次研討會,利用6個星期的時間共同開發了這一系統。整個系統用C++語言寫成,從訓練到解碼完全開放源代碼,可以運行在Windows平臺和Linux平臺。

相比於“法老”,“摩西”主要有如下幾個新的特性:

使用要素翻譯模型(Factored Translation Model)
在一般的統計機器翻譯系統中,翻譯的過程就是將源語言文本翻譯爲目標語言文本。這一過程僅僅考慮了單詞的詞形,例如將“房子”翻譯爲“house”。但是,語言現象是非常複雜的,在英語中,單詞就有單複數形式、時態變化等等。在一般的處理過程中,“house”和“houses”被看作完全不同的兩個詞,這顯然不合理。要素翻譯模型就是爲了處理這種情況而誕生的。

在要素翻譯模型中,一個單詞不僅僅是一個符號(token),而是一個包含多個要素的向量,例如詞目、詞性等。這些要素共同作用來刻畫一個單詞。例如對於“houses”,它有以下要素:詞目是“house”,詞性是“NN”。表示爲“houses|house|NN”。在翻譯的過程中這些要素被分別翻譯,例如源語言的單詞翻譯爲目標語言的單詞,源語言單詞的詞性翻譯爲目標語言的詞性等。在翻譯完成後,根據這些要素來產生最終的單詞,比如最終“房子”對應譯文的要素是“名詞,複數形式”,我們就可以選擇“houses”,而非“house”。

混合網絡解碼(Confusion Network Decoding)
當前的機器翻譯系統能夠接受的輸入一般是純文本形式的一串單詞(一句話或者一篇文章),而現在將機器翻譯系統作爲一個大的信息處理系統的組成部分的需求日益增長,它的輸入可能不再是純文本的形式,而是其它模塊的輸出結果,例如命名實體識別的結果,或者語音識別的結果。這樣的輸入不再是單一的,而是可能含有錯誤的、多種可能性的輸入。混合網絡解碼允許這種多可能性的輸入,最終選擇最優譯文。

此外“摩西”還提供了豐富的測試工具,供研究者測試系統的性能,跟蹤系統運行等。這一系統的性能已經超過了“法老”,目前還在不斷地完善。

7、基於句法的統計機器翻譯系統——GenPar

GenPar是Generalized Parsing 的縮寫。這一工具包實現了一個基於句法的統計機器翻譯系統。基於句法的方法將句法結構信息引入到統計機器翻譯中來,目前已成爲統計機器翻譯領域的研究熱點。但是構建基於句法的統計機器翻譯系統遠比構建基於短語的要困難得多,爲了讓研究者們很快進入這一領域,在JHU2005夏季研討會上,由紐約大學艾·丹·米拉姆德(I. Dan Melamed)等人組成的統計機器翻譯組開發了GenPar。

GenPar的基本原理是利用多文本語法(Multi-Text Grammar)實現多語言的句法分析、結構對齊和翻譯。多文本語法是一種多種語言的同步語法,理論上比較完善,功能強大。GenPar有很多特點:首先,該系統是一個純粹基於句法的模型,在翻譯過程中充分利用了句法結構信息;其次,它具有很好的定製能力,可以實現各種不同類型的基於同步語法的統計機器翻譯,很適合於做一個實驗各種理論的研究平臺。總的來看,該系統功能比較強大,但由於其比較複雜,掌握起來比較困難,性能也不是太高,不太適合處理太大規模的數據。由於該系統採用純粹基於句法的方法,理論上有點超前,性能比現有的基於短語的模型稍差。

GenPar提供了四個原型系統(sandbox)分別是:阿拉伯語到英語(AtoE),法語到英語(FtoE),英語到法語(EtoF)和英語到英語(EtoE)。其執行過程可以分爲三個部分:訓練、應用和評測。我們可以清楚地看出整個系統的執行過程,對基於句法的統計機器翻譯流程有清晰的瞭解。

1. 訓練(train):

輸入(input)雙語平行訓練語料;
前處理(preprocess):包括分詞(tokenization)和句法分析(parsing);
詞到詞翻譯模型(word-to-word translation model):從訓練語料中生成詞到詞的對齊信息;
層次對齊模塊(hieralign):利用訓練語料、句法分析樹以及對齊信息抽取層次對齊樹對(Hierarchically Aligned Tree Pair);
初始語法模塊(initgrammar):利用抽取的層次對齊樹對生成加權多文本語法(Weighted Multi-Text Grammar);
再訓練模塊(retrain):對加權多文本語法進行優化。
2. 應用(apply):

輸入(input)源語言,如果要進行多語言句法分析(multi-parser)則還要輸入目標語言;
前處理(preprocess):進行分詞等預處理工作;
多語言句法分析(multiparse):根據加權多文本語法對源語言和目標語言對進行句法分析,生成多語言句法分析樹;
翻譯(translation):根據加權多文本語法對源語言進行句法分析同時生成目標語言句法樹,將目標語言句法樹對應的詞串輸出便得到相應的翻譯結果。
3. 評測(evaluate):

GenPar還提供了翻譯評測模塊,使用GTM(General Text Matcher)作爲評測指標。
本文主要介紹了在統計機器翻譯領域重要的一些開源軟件。這些軟件對於促進統計機器翻譯的發展起到了不可估量的作用。在科研領域,很少有哪個領域能像統計機器翻譯這樣有如此衆多的開源工具可以使用。或許,是因爲統計機器翻譯實在是一個非常困難而又極具挑戰性的工作,非得全世界的研究者聯合起來共同合作不能完成;抑或是現在統計機器翻譯的商業利益還不明朗,將代碼藏起來也無利可圖,乾脆公開了,大家一起研究一下,共同進步。不管怎樣,對於促進技術進步而言,這畢竟是一件好事,大家都希望能夠得到“免費的午餐”。當然,我們也不能坐享其成,也要做出自己的貢獻,讓更多的人瞭解我們的工作,在自己的研究領域佔居一席之地。誠如巴斯德所言,“科學是沒有國界的”,開源軟件正是體現了這一精神。如果研究人員能夠通力合作,相信一定能夠建立起統計機器翻譯的“巴別塔”。

 

發佈了26 篇原創文章 · 獲贊 3 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章