導航:首頁 > 源碼編譯 > 機器翻譯模型源碼

機器翻譯模型源碼

發布時間:2022-04-14 02:26:35

『壹』 統計機器翻譯的介紹

統計機器翻譯(英語:c,簡寫為SMT)是機器翻譯的一種,也是目前非限定領域機器翻譯中性能較佳的一種方法。統計機器翻譯的基本思想是通過對大量的平行語料進行統計分析,構建統計翻譯模型,進而使用此模型進行翻譯。從早期基於詞的機器翻譯已經過渡到基於短語的翻譯,並正在融合句法信息,以進一步提高翻譯的精確性。

『貳』 機器翻譯的基於人工神經網路

2013年來,隨著深度學習的研究取得較大進展,基於人工神經網路的機器翻譯( Neural Machine Translation )逐漸興起。其技術核心是一個擁有海量結點(神經元)的深度神經網路,可以自動的從語料庫中學習翻譯知識。一種語言的句子被向量化之後,在網路中層層傳遞,轉化為計算機可以「理解」的表示形式,再經過多層復雜的傳導運算,生成另一種語言的譯文。實現了 「理解語言,生成譯文」的翻譯方式。這種翻譯方法最大的優勢在於譯文流暢,更加符合語法規范,容易理解。相比之前的翻譯技術,質量有「躍進式」的提升。
目前,廣泛應用於機器翻譯的是長短時記憶(LSTM,Long Short-Term Memory)循環神經網路(RNN,Recurrent Neural Network)。該模型擅長對自然語言建模,把任意長度的句子轉化為特定維度的浮點數向量,同時「記住」句子中比較重要的單詞,讓「記憶」保存比較長的時間。該模型很好地解決了自然語言句子向量化的難題,對利用計算機來處理自然語言來說具有非常重要的意義,使得計算機對語言的處理不再停留在簡單的字面匹配層面,而是進一步深入到語義理解的層面。
代表性的研究機構和公司包括,加拿大蒙特利爾大學的機器學習實驗室,發布了開源的基於神經網路的機器翻譯系統GroundHog。2015年,網路發布了融合統計和深度學習方法的在線翻譯系統,Google也在此方面開展了深入研究。

『叄』 機器翻譯的流程是怎麼樣的

著作權歸作者所有。
商業轉載請聯系作者獲得授權,非商業轉載請註明出處。
作者:王biubiu
鏈接:http://www.hu.com/question/24588198/answer/38342825
來源:知乎

目前最重要的兩種機器翻譯方式:規則法和統計法
1. 規則法(rule based machine translation, RBMT),依據語言規則對文本進行分析,再藉助計算機程序進行翻譯。多數商用機器翻譯系統採用規則法。
規則法機器翻譯系統的運作通過三個連續的階段實現:分析,轉換,生成,根據三個階段的復雜性分為三級。
- 直接翻譯:簡單的詞到詞的翻譯。
- 轉換翻譯:翻譯過程要參考並兼顧到原文的詞法、句法和語義信息。因為信息來源范圍過於寬泛,語法規則過多且相互之間存在矛盾和沖突,轉換翻譯較為復雜且易出錯。【別說轉換了,光是根據各種語法規則,對源語言進行分析都會崩潰好嗎!
- 國際語翻譯:迄今為止,還只是設想。大概是想憑借通用的完全不依賴語言的形式,實現對語言信息的解碼。【國際語本身就是人工語言啊,還怎麼做到不依賴語言形式。這個想法最早出現在13世紀orz
著作權歸作者所有。
商業轉載請聯系作者獲得授權,非商業轉載請註明出處。
作者:王biubiu
鏈接:http://www.hu.com/question/24588198/answer/38342825
來源:知乎

Bernard Vauquois' pyramid

2. 統計法 (statistical machine translation, SMT),通過對大量的平行語料進行統計分析,構建統計翻譯模型(詞彙、比對或是語言模式),進而使用此模型進行翻譯,一般會選取統計中出現概率最高的詞條作為翻譯,概率演算法依據貝葉斯定理。假設要把一個英語句子A翻譯成漢語,所有漢語句子B,都是A的可能或是非可能的潛在翻譯。Pr(A)是類似A表達出現的概率,Pr(B|A)是A翻譯成B出現的概率。找到兩個參數的最大值,就能縮小句子及其對應翻譯檢索的范圍,從而找出最合適的翻譯。
SMT根據文本分析程度級別的不同分為兩種:基於詞的SMT和基於短語的SMT,後一個是目前普遍使用的,Google用的就是這種。翻譯文本被自動分為固定長度的詞語序列,再對各詞語序列在語料庫里進行統計分析,以查找到出現對應概率最高的翻譯。【所以,不要嫌棄谷歌翻譯啦,如果不是依託於它自己強大的搜索引擎,能獲取相對數量的語料庫,翻譯的質量可能更糟,可以對比必應和網路。非在線的開源機器翻譯也有做得很棒的,多也是使用的統計法模式。
著作權歸作者所有。
商業轉載請聯系作者獲得授權,非商業轉載請註明出處。
作者:王biubiu
鏈接:http://www.hu.com/question/24588198/answer/38342825
來源:知乎

其他方式還有如範例法(example based machine translation, EBMT),類似統計法原理,不同的點在於比對對象是相對小型的語料庫,從中找到對應的翻譯片段的類似範例,再用片段組成相應的翻譯;上下文法(context based machine translation, CBMT);知識法(knowledge based machine translation, KBMT)和混合法,但是不及前面兩種使用率高。

剛好這兩天在看Daniel Stein寫的MT概述"Maschinelle Übersetzung – ein Überblick",有提到機器翻譯的不同類型和原理,以上。

『肆』 統計機器翻譯的歷史

早在1949年,瓦倫·韋弗就基於香農的資訊理論提出了統計機器翻譯的基本思想。而最早提出可行的統計機器翻譯模型的是IBM研究院的研究人員。他們在著名的文章《統計機器翻譯的數學理論:參數估計》中提出了由簡及繁的五種詞到詞的統計模型,分別被稱為IBM Model 1到IBM Model 5。這五種模型均為雜訊信道模型,而其中所提出的參數估計演算法均基於最大似然估計。然而由於計算條件的限制和平行語料庫的缺乏,尚無法實現基於大規模數據的計算。其後,由Stephan Vogel提出了基於隱馬爾科夫模型的統計模型也受到重視,被認為可以較好的替代IBM Model 2.
在此文發表後6年,即1999年,約翰·霍普金斯大學夏季討論班集中了一批研究人員實現了GIZA軟體包,實現了IBM Model 1到IBM Model 5。Franz-Joseph Och在隨後對GIZA進行了優化,加快了訓練速度,特別是IBM Model 3到5的訓練。同時他還提出了更加復雜的Model 6。Och發布的軟體包被命名為GIZA++,直到現在,該軟體包還是絕大部分機器翻譯系統的基石。目前,針對大規模語料的訓練,已有GIZA++的若干並行化版本存在。
基於詞的統計機器翻譯雖然開辟了統計機器翻譯這條道路,其性能卻由於建模單元過小而受到極大限制。同時,產生性(generative)模型使得模型適應性較差。因此,許多研究者開始轉向基於短語的翻譯方法。Franz-Josef Och再次憑借其出色的研究,推動了統計機器翻譯技術的發展,他提出的基於最大熵模型的區分性訓練方法使得統計機器翻譯的性能極大提高並在此後數年間遠遠超過其他方法。更進一步的,Och又提出修改最大熵方法的優化准則,直接針對客觀評價標准進行優化,從而產生了今天廣泛採用的最小錯誤訓練方法(Minimum Error Rate Training)。
另一件促進SMT進一步發展的重要發明是翻譯結果自動評價方法的出現,這些方法翻譯結果提供了客觀的評價標准,從而避免了人工評價的繁瑣與昂貴。這其中最為重要的評價是BLEU評價指標。雖然許多研究者抱怨BLEU與人工評價相差甚遠,並且對於一些小的錯誤極其敏感,絕大部分研究者仍然使用BLEU作為評價其研究結果的首要(如果不是唯一)的標准。
Moses是目前維護較好的開源機器翻譯軟體,由愛丁堡大學研究人員組織開發。其發布使得以往繁瑣復雜的處理簡單化。

『伍』 怎麼把詞向量引入到神經機器翻譯模型

神經機器翻譯(Neural Machine Translation)是指直接採用神經網路以端到端方式進行翻譯建模的機器翻譯方法。區別於利用深度學習技術完善傳統統計機器翻譯中某個模塊的方法,神經機器翻譯採用一種簡單直觀的方法完成翻譯工作:首先使用一個稱為編碼器(Encoder)的神經網路將源語言句子編碼為一個稠密向量,然後使用一個稱為解碼器(Decoder)的神經網路從該向量中解碼出目標語言句子。上述神經網路模型一般稱之為「編碼器-解碼器」(Encoder-Decoder)結構

『陸』 機器翻譯的基於統計

一般的基於語料庫(Corpus-Based)的機譯系統就是基於統計的機器翻譯,因為這一領域異軍突起,統計就是統計平行語料,由此衍生出許多不同的統計模型。
不同於基於規則的機譯系統由詞典和語法規則庫構成翻譯知識庫,基於語料庫的機譯系統是以語料的應用為核心,由經過劃分並具有標注的語料庫構成知識庫。基於語料庫的方法可以分為基於統計(Statistics-based)的方法和基於實例(Example-based)的方法。 基於統計的機器翻譯 基於統計的機器翻譯方法把機器翻譯看成是一個信息傳輸的過程,用一種信道模型對機器翻譯進行解釋。這種思想認為,源語言句子到目標語言句子的翻譯是一個概率問題,任何一個目標語言句子都有可能是任何一個源語言句子的譯文,只是概率不同,機器翻譯的任務就是找到概率最大的句子。具體方法是將翻譯看做對原文通過模型轉換為譯文的解碼過程。因此統計機器翻譯又可以分為以下幾個問題:模型問題、訓練問題、解碼問題。所謂模型問題,就是為機器翻譯建立概率模型,也就是要定義源語言句子到目標語言句子的翻譯概率的計算方法。而訓練問題,是要利用語料庫來得到這個模型的所有參數。所謂解碼問題,則是在已知模型和參數的基礎上,對於任何一個輸入的源語言句子,去查找概率最大的譯文。
實際上, 用統計學方法解決機器翻譯問題的想法並非是 20 世紀 90 年代的全新思想,1949 年W. Weaver 在那個機器翻譯備忘錄就已經提出使用這種方法,只是由於喬姆斯基(N.Chomsky) 等人對計的批判,這種方法很快就被放棄了。批判的理由主要是一點:語言是無限的,基於經驗主義的統計描述無法滿足語言的實際要求。
另外,限於當時的計算機速度,統計的價值也無從談起。計算機不論從速度還是從容量方面都有了大幅度的提高,昔日大型計算機才能完成的工作,今日小型工作站或個人計算機就可以完成了。此外,統計方法在語音識別、文字識別、詞典編纂等領域的成功應用也表明這一方法在語言自動處理領域還是很有成效的。
統計機器翻譯方法的數學模型是由國際商業機器公司 (IBM) 的研究人員提出的。在著名的文章《機器翻譯的數學理論》中提出了由五種詞到詞的統計模型,稱為 IBM 模型 1 到 IBM 模型 5。這五種模型均源自信源-信道模型,採用最大似然法估計參數。由於當時(1993年)計算條件的限制,無法實現基於大規模數據訓練。其後,由Stephan Vogel提出了基於隱馬爾科夫模型的統計模型也受到重視,該模型被用來替代IBM Model 2。在這時的研究中,統計模型只考慮了詞與詞之間的線性關系,沒有考慮句子的結構。這在兩種語言的語序相差較大時效果可能不會太好。如果在考慮語言模型和翻譯模型時將句法結構或語義結構考慮進來,應該會得到更好的結果。
在此文發表後6年,一批研究人員在約翰·霍普金斯大學的機器翻譯夏令營上實現了GIZA軟體包。Franz Joseph Och 在隨後對該軟體進行了優化,加快訓練速度。特別是IBM Model 3 到 5的訓練。同時他提出了更加復雜的Model 6。Och發布的軟體包被命名為GIZA++,直到現在,GIZA++還是絕大部分統計機器翻譯系統的基石。針對大規模語料的訓練,已有GIZA++的若干並行化版本存在。
基於詞的統計機器翻譯的性能卻由於建模單元過小而受到限制。因此,許多研究者開始轉向基於短語的翻譯方法。Franz-Josef Och提出的基於最大熵模型的區分性訓練方法使統計機器翻譯的性能極大提高,在此後數年,該方法的性能遠遠領先於其他方法。一年後Och又修改最大熵方法的優化准則,直接針對客觀評價標准進行優化,從而誕生了今天廣泛採用的最小錯誤訓練方法(Minimum Error Rate Training)。
另一件促進統計機器翻譯進一步發展的重要發明是自動客觀評價方法的出現,為翻譯結果提供了自動評價的途徑,從而避免了繁瑣與昂貴的人工評價。最為重要的評價是BLEU評價指標。絕大部分研究者仍然使用BLEU作為評價其研究結果的首要的標准。
Moses 是維護較好的開源機器翻譯軟體,由愛丁堡大學研究人員組織開發。其發布使得以往繁瑣復雜的處理簡單化。
Google 的在線翻譯已為人熟知,其背後的技術即為基於統計的機器翻譯方法,基本運行原理是通過搜索大量的雙語網頁內容,將其作為語料庫,然後由計算機自動選取最為常見的詞與詞的對應關系,最後給出翻譯結果。不可否認,Google 採用的技術是先進的,但它還是經常鬧出各種「翻譯笑話」 。其原因在於:基於統計的方法需要大規模雙語語料,翻譯模型、語言模型參數的准確性直接依賴於語料的多少,而翻譯質量的高低主要取決於概率模型的好壞和語料庫的覆蓋能力。基於統計的方法雖然不需要依賴大量知識,直接靠統計結果進行歧義消解處理和譯文選擇,避開了語言理解的諸多難題,但語料的選擇和處理工程量巨大。因此通用領域的機器翻譯系統很少以統計方法為主。 基於實例的機器翻譯 與統計方法相同,基於實例的機器翻譯方法也是一種基於語料庫的方法,其基本思想由日本著名的機器翻譯專家長尾真提出,他研究了外語初學者的基本模式,發現初學外語的人總是先記住最基本的英語句子和對應的日語句子,而後做替換練習。參照這個學習過程,他提出了基於實例的機器翻譯思想,即不經過深層分析,僅僅通過已有的經驗知識,通過類比原理進行翻譯。其翻譯過程是首先將源語言正確分解為句子,再分解為短語碎片,接著通過類比的方法把這些短語碎片譯成目標語言短語,最後把這些短語合並成長句。對於實例方法的系統而言,其主要知識源就是雙語對照的實例庫,不需要什麼字典、語法規則庫之類的東西,核心的問題就是通過最大限度的統計,得出雙語對照實例庫。
基於實例的機器翻譯對於相同或相似文本的翻譯有非常顯著的效果,隨著例句庫規模的增加,其作用也越來越顯著。對於實例庫中的已有文本,可以直接獲得高質量的翻譯結果。對與實例庫中存在的實例十分相似的文本,可以通過類比推理,並對翻譯結果進行少量的修改,構造出近似的翻譯結果。
這種方法在初推之時,得到了很多人的推崇。但一段時期後,問題出現了。由於該方法需要一個很大的語料庫作為支撐,語言的實際需求量非常龐大。但受限於語料庫規模,基於實例的機器翻譯很難達到較高的匹配率,往往只有限定在比較窄的或者專業的領域時,翻譯效果才能達到使用要求。因而到目前為止,還很少有機器翻譯系統採用純粹的基於實例的方法,一般都是把基於實例的機器翻譯方法作為多翻譯引擎中的一個,以提高翻譯的正確率。

『柒』 英語翻譯軟體的原理

機器翻譯基本工作原理和基本分類

機器翻譯(Machine Translation,MT)是建立在多學科基礎上的綜合學科,現代理論語言學的發展,計算機科學的進步,信息學和概率統計學的應用,對機器翻譯的發展和演變產生了重要影響。機器翻譯的基本思想是利用計算機對自然語言進行翻譯,而各種機器翻譯系統採用的技術和理念不盡相同;面對各種各樣的機器翻譯系統,文獻上有各種分類方式。本文根據所應用的基本工作原理對機器翻譯系統分類作一綜述。
1. 基本類型的機器翻譯系統:現有的機器翻譯系統按照其基本工作原理,可以分為基於規則的(Rule-Based)機器翻譯,基於實例的(Example-Based)機器翻譯和統計型的(Statistical)機器翻譯這三種基本類型。
1.1. 基於規則的機器翻譯系統(Rule-Based Machine Translation, RBMT):其基本工作原理基於一個假設,即語言無限的句子可以由有限的規則推導出來。基於這個假設的機器翻譯方法又可以分為三類:直接翻譯法(Direct Translation),中間語言法(Interlingual Approach),和轉換法(Transfer Approach)。它們都需要用到大規模的雙語詞典,需要用到源語言推導規則,語言轉換規則和目標語言生成規則;其不同點在於對語言進行的分析深度不同。如直譯法幾乎不需要進行語言分析,中間語言法和轉換法需要對源語言和目標語言進行某種程度的語言分析。
1.1.1直接翻譯法(Direct Translation):這種翻譯方法直接對源文字中的字詞進行逐個翻譯,譯後文字順序按照原文順序進行排列。這是基於規則的機器翻譯的最早的工作方法。這種譯法簡單、直觀,其弊端也是明顯的:由這種方法得到的翻譯結果質量很不令人滿意。人們已經逐漸不再使用這種直接翻譯法。
1.1.2中間語言法(Interlingual Approach):這種翻譯方法對源語言文字進行透徹的語言分析,將其轉化為一種中間語言表達形式,進而由這種中間語言(Interlingua)進一步生成和輸出符合目標語言語法規則的文字。這種中間語言是一種非自然語言,即不是任何國家地區人們使用的語言;而且它是一種沒有歧義的表達方式。此外,中間語言不是唯一的,不同的系統採用不同的中間語言。任意一種語言經由中間語言譯為其它任意一種語言,理論上這種中間語言法是最有效率的一種翻譯方式。假定世界上總共有n種自然語言,使用中間語言法,只需2n個模塊就可以解決所有自然語言之間的互譯問題。不使用中間語言,這些語言間的互譯則需要n(n-1)個模塊。當n大於3時,2n小於n(n-1)。我們知道,世界上的自然語言種類遠大於3,因此2n個模塊的數量遠小於n(n-1)個模塊的數量。
1.1.3 轉換法(Transfer Approach):這種翻譯方法先對源語言文字進行一定程度的語言分析,去除語法的因素,生成源語言的中間表達方式,然後經由轉換,生成目標語言的中間表達方式,再由目標語言的中間表達方式生成和輸出符合目標語言語法規則的文字。目前來說,轉換法的語言分析和實現方法在三種方法中最為復雜,得到的翻譯質量在三種方法中也是最好的,是目前商業上最常使用的翻譯方法,在商業上最為成功。
在許多基於規則的機器翻譯系統中,由語言學家輔助編寫一系列關於源語言和目標語言的語法規則,以及將源語言數據轉換為目標語言數據的轉換規則。然而使用全人工來製作這些規則非常昂貴、費時,而且易於出錯。一個解決方法便是將以往的歷史翻譯結果作為資源庫,其中的源語言文字和它對應的目標語言譯文作為例子,從中嘗試提取出恰當的規則。方法之一是對源文字和目標語言譯文作人工標記以示關聯。Sato言和Nagao[1]研發出一個系統,用「平面依賴關系樹」來表示源語言文字和目標語言文字。這種關系樹型數據結構是計算機高效識別的一種形式。通常用兩個層次代表源語言和目標語言之間的關聯:第一層次依賴於文字的表面形式(如字、詞順序),用於源語言的分析和目標語言的生成;第二層次依賴於字詞間的語義關聯,用於從源語言向目標語言的轉換。這種機器翻譯系統在基於規則的機器翻譯基礎上,利用了實例庫的優勢。
隨著大量歷史翻譯結果的積累,出現了基於實例的機器翻譯系統,人們將這些已經完成的翻譯結果作為資源庫,利用到機器翻譯中來。
1.2. 基於實例的機器翻譯(Example-Based Machine Translation,EBMT):其基本工作原理是基於類比(Analogy)的原則,從實例庫中匹配出與源文字片段最相似的文字片段,取出實例文字片段對應的目標語言翻譯結果,進行適當的改造,最終得出完整的翻譯結果。基於實例的機器翻譯其核心思想最早由MakonNagao 提出,他提出:人們在翻譯簡單句子時並不作深層語言分析,而是翻譯。首先把源句子分解成若乾片段,然後將這些片段譯為目標語言,每個片段的翻譯都是通過與例句做匹配以類比的原則得到的,最後將這些譯後句子組合成一個長句子。
1.2.1. 實例庫的構成:實例庫也稱為語料庫(Corpus),由已經完成的翻譯結果構成。這些現成的翻譯結果也稱為語料,包括人工翻譯的結果和經過人工編輯的機器翻譯結果。語料庫由雙語對構成,包括源語言文字片段和目標語言譯文文字片段兩部分。這些翻譯結果要先經過拆分和對齊處理,才可以成為語料庫中的可用語料。因此語料庫也稱為平行雙語語料庫(Parallel的 Corpus)。拆分和對齊目前有多種形式,如句子水平的對齊和短語水平的對齊。對齊的文字片段大小的選擇,會直接影響匹配的效率和翻譯結果。
1.2.2. 語料拆分的碎片化問題:Nirenburg等(1993)指出,在基於實例的機器翻譯系統(EBMT) 中,實例語料存在一個文字片段長度和相似度之間的一個矛盾。文字片段越長,越不易得到一個相似度高的匹配;文字片段越短,越可能得到一個大致匹配,但是得到低質量翻譯結果的風險也越大。比如由段落劃分邊界產生的重疊問題以及不恰當的劃分導致的翻譯質量下降。直觀上似乎是選擇以句子為單位劃分得到的語料對比較好,有諸多優勢如:句子的邊界劃分清楚,一些簡單句子的結構清晰。然而在實際應用中,以句子為單位並不是最恰當的方式。實踐證明匹配和重組過程需要使用更加短小的片段。(當然,這些研究結果是以歐美語系語言之間的翻譯研究結果為基礎的。)
1.2.3. 實例庫定製:實例語料的的范圍和質量影響著基於實例的機器翻譯系統(EBMT)的翻譯質量水平。在某特定領域獲取高質量語料可以大大提高機器翻譯在此領域的翻譯質量,稱為語料(實例)庫的定製。
1.3. 統計型機器翻譯系統(Statistical MT):IBM公司的Brown在1990年首先將統計模型用於法-英機器翻譯。其基本思想是:把機器翻譯問題看成是一個雜訊信道問題,然後用信道模型來進行解碼。翻譯過程被看作是一個解碼的過程,進而變成尋求最優翻譯結果的過程。基於這種思想的機器翻譯重點是定義最合適的語言概率模型和翻譯概率模型,然後對語言模型和翻譯模型的概率參數進行估計。語言模型的參數估計需要大量的單語語料,翻譯模型的參數估計需要大量平行雙語語料。統計機器翻譯的質量很大程度上取決於語言模型和翻譯模型的性能,此外,要找到最優的譯文,還需要有好的搜索演算法。簡單說,統計機器翻譯首先建立統計模型,然後使用實例庫中的實例對統計模型進行訓練,得到需要的語言模型和翻譯模型用於翻譯。
統計型機器翻譯,除了基於雜訊信道理論的系統以外,還有基於最大熵方法的系統。博格(A.L.Berger)在1996年 提出自然語言處理中「最大熵方法」(Maximum Entropy Approach)。德國人奧赫 (Franz Joseph Och)等發現, 把IBM公司的統計機器翻譯基本方程式中的翻譯模型轉變為反向翻譯模型,總體的翻譯正確率並沒有降低,由此,他們提出基於最大熵方法的機器翻譯模型。
統計型機器翻譯取得了一定的成績,然而純統計設計卻不能解決所有困難。統計型的方法不考慮語言的語義、語法因素,單純用數學的方法來處理語言問題,有著巨大的局限性。於是人們開始探索基於統計方法和其它翻譯方法的聯合應用。如統計的和基於實例的機器翻譯系統,統計的和基於規則的機器翻譯系統,等等。
2. 綜合類型的機器翻譯系統:
以上三個基本機器翻譯系統各有優勢和長處,同時又不可避免的具有某種缺陷和局限性。如基於規則的機器翻譯系統(RBMT)可以准確的描述語言學特徵和規律,然而制定適用和完備的語言規則卻不是一件容易的事;基於實例的機器翻譯系統(EBMT)可以充分利用已有的翻譯結果,但是實例庫的維護需要大量的人工和費用;統計型的機器翻譯(Statistical以MT)可以緩解知識獲取的瓶頸問題,但是純數學的方法難於完全解決語言中的復雜問題。為進一步提高機器翻譯系統的翻譯水平,人們綜合以上幾個基本類型的優勢,又發明了混合型機器翻譯系統(Hybrid器MT),多引擎機器翻譯系統(Multi-Engine MT)和提出了基於知識的機器翻譯系統(Knowledge-Based MT)的理論。
2.1 混合型機器翻譯系統(Hybrid MT):翻譯過程使用兩種或以上機器翻譯原理。比如:基於規則的機器翻譯方法的核心是構造完備的、適應性較強的規則系統。如何得到完備和適應性強的規則系統成為研究焦點。使用傳統的方法,語法規則庫的建立需要大量的人力、物力,大量的語言語法規則之間往往存在著不可避免的沖突,規則的完備性和適應性不能得到保證。隨著人們翻譯工作的進行,生成大量已完成的翻譯結果,形成大量語料。人們想到了使用統計方法從現有語料中自動提取我們需要的語言語法信息。從實例中抽取語言轉換規則,將基於實例的機器翻譯作為研究技術來建立語言規則基礎,而不是單純用來進行類比翻譯。通過一個歸納的過程,從大量例句中提出抽象的規則 。這樣傳統的基於規則的機器翻譯方法發展成為以規則為基礎,語料庫為輔助的機器翻譯方法。這種翻譯模型可以稱之為混合型機器翻譯系統(Hybrid MT)。
2.2 多引擎機器翻譯系統(Multi-Engine MT):這種機器翻譯系統的基本思想是幾架機器翻譯引擎同時進行並行翻譯,並行翻譯的這幾架翻譯引擎分別基於不同的工作原理,給出多個翻譯結果,然後通過某種機制或演算法篩選並生成最優翻譯結果進行輸出。多引擎機器翻譯系統的一種工作方式如:接收到源文字後,先將文字轉化為若干文字片段,由多個機器翻譯引擎進行並行翻譯,型各個文字片段均得到多個翻譯結果, 通過某種機制選擇最優的翻譯片段組成最優組合,最後輸出最優的翻譯結果。或者是接收到源文字後,由多個機器翻譯引擎進行並行翻譯,得到多個翻譯結果,然後對各個翻譯結果進行字詞的比較,通過某種假設檢驗和演算法,選擇適當的字詞翻譯組成最優翻譯結果輸出。
2.3. 基於知識的機器翻譯系統(Knowledge-Based MT):在機器翻譯研究中,人們越來越發現在翻譯過程中正確的理解、領會源語言的重要性。語言有著其復雜性。其中語言的模糊性是各種機器翻譯系統所面對的最頑固的難題。語言的模糊性指語言文字同一表層結構對應著兩種或兩種以上的深層結構,簡單說就是一種形式對應著兩種或兩種以上的解釋,必須通過上下文內容的提示和綜合知識背景、常識才可能做出正確的詮釋。受人工智慧,知識工程的發展影響,人們開始強調對源語言更為徹底的理解,提出不僅需要進行深層語言分析,還需要進行世界知識的積累和處理,建立知識庫,以助於理解語言。通過對世界知識的了解,解決機器翻譯中遇到的語言模糊問題。為了從根本上徹底的解決機器翻譯所面對的語言的模糊性問題,人們提出了基於知識的機器翻譯系統。
2.3.1 基於語義網的機器翻譯(Semantic Web based Machine Translation, SWMT):是基於知識的機器翻譯系統的一種實現方式。語義網(Semantic Web),指通過某種技術,將現有網路上的知識內容轉化為機器可以辨識的內容,成為機器翻譯的「世界知識庫」。這些理論基於Tim Berners-Lee提出的觀點「知識一旦經定義和形式化後,便可以通過任意方式訪問」。萬維網最初的設計是希望它簡單,去中心化並且盡可能的易於互動。網路的發展證明它是一個巨大的成功。然而,網路上面的信息都是面向人類大腦的。為了讓計算機也能夠接受和利用這些信息資源,在新的世紀一種擴展和補充性質的技術出現了,分稱為W3C,Semantic Web3 (三維語義網)。三維語義網路的基礎技術是數據格式的「資源描述構架」( 『Resource Description Framework』,RDF), 它定義了一種結構,用一種自然的方式來描述計算機處理的巨大量的數據[8]。目前人們已經 在嘗試將現有的機器翻譯系統整合入語義網,以充分利用世界知識/專家知識, 提高機器翻譯質量。
3.語音翻譯(Speech Translation):語音翻譯是與文字翻譯相對應的一種機器翻譯分類,與前面的分類有著不同。但是有著廣泛的應用,如日常交談、電話通話、會議講話等對語音交流內容的自動翻譯,在實際應用中非常重要。語音翻譯在翻譯之前增加了一個語言識別(SpeechB Recognition)過程,形成正確的文字內容輸入,並且在翻譯過程完成後增加了一個語音合成(Speech Synthesis)過程,
形成一個正確的語音內容輸出。其中語音識別技術和語音合成技術都有著專門研究,這里不再贅述。

作者姓名:洪潔
工作單位:傳神語聯網網路科技股份有限公司 多語工程中心
作者姓名:洪雷
工作單位:中國科學院大學 外語系

『捌』 機器翻譯如何解決數據量小的問題

近三年來,基於神經網路的機器翻譯技術(NMT, Neural Machine Translation)取得了長足的進步,迅速替代了之前的主流翻譯技術-基於短語的機器翻譯(PBMT, Phrased-Based Machine Translation)。NMT技術使用端到端的方式,依賴大量訓練數據(平行語料庫,源語言和目標語言的語料對),直接通過深度神經網路學習和擬合源語言和目標語言的對應關系,省掉了PBMT繁瑣的類似流水線的復雜NLP處理流程。但是NMT對平行語料數據的需求量很大,針對罕見語言的翻譯仍然是非常有挑戰性的課題,最主要的問題是源語言和目標語言之間的平行訓練語料很少(Low Resource),甚至沒有(Zero Resource), 針對這個課題目前的研究工作可以分為以下四類:假設A、B為常見語言(如英語),C為罕見語言(如泰米爾語),我們目標是訓練A到C的翻譯模型,但是A與C的翻譯平行語料較少,但是A和B之間的訓練語料較多遷移學習(Transfer Learning)的方法: 考慮到不同語種間的翻譯任務存在一定相關性,通過遷移學習可以將已經學到的知識分享給新模型從而加快模型訓練,避免模型訓練從零開始。以A和C的翻譯任務為例,首先訓練A和B之間的NMT模型,之後在訓練A和C的翻譯模型時,使用A與B的NMT模型參數作為初始值,使用少量A與C的標注平行語料數據進行模型參數的重新訓練,得到最終的NMT模型B. Zoph , D. Yuret, J. May, and K. Knigh EMNLP 2016.多任務學習(Multi-Task Learning)的方法:充分利用不同語種翻譯的相關性,採用共享相同的NMT參數同時學習多個翻譯任務,以A和C的翻譯任務為例,首先建立A與B、A與C共享的一套NMT網路,其中該NMT網路的輸入是A,輸出有兩個,分別是B和C,訓練的過程中A與B、A與C的標注平行語料共同更新一套NMT網路的參數,與使用較少的A與C語料單獨訓練的NMT網路相比,翻譯效果有較大提升。此外,谷歌於2016年下半年提出的Zero-Shot翻譯方法,基於多語種共享的詞彙集,使用單個神經機器翻譯(NMT)模型在多種語言之間進行翻譯,除了提升訓練數據中包含的語種對之間互譯的翻譯質量之外,很有意義的是,還能完成訓練數據中不包含的語言對之間的zero-shot翻譯。Thang Luong, Quoc Le, Ilya Sutskever, Oriol Vinyals, and Lukasz Kaiser, Multi-task Sequence to Sequence Learning,ICLR 2016.Melvin Johnson, Mike Schuster, Quoc V. Le, Maxim Krikun, Yonghui Wu, Zhifeng Chen, Nikhil Thorat, Fernanda B. Viégas, Martin Wattenberg, Greg Corrado, Macff Hughes, and Jeffrey Dean. Google』s .

『玖』 機器翻譯的流程(原理)是怎麼樣的

統計翻譯系統的根本不同,在於它們試圖生成不止一個精確的翻譯。相反,他們生成成千上萬種可能的翻譯,然後他們按照可能最正確的給這些翻譯排名。他們通過與訓練數據的相似性來估計有多「正確」。以下是它的工作原理:

第1步:將原始句子分成塊首先,我們將我們的句子分成簡單的塊,每一塊都可以輕松翻譯:第2步:找到每一塊的所有可能的翻譯接下來,我們將翻譯每塊文字,我們將通過尋找我們資料庫中所有人類翻譯過的相同詞塊來完成我們的翻譯。要著重注意的是,我們不只是在一本簡簡單單的翻譯字典中查找這些詞塊。相反,我們看到是真實的人在真實的句子中如何翻譯這些相同的詞。這有助於我們捕獲到在不同語境中所有不同的表達方式:即使最常見的短語也有很多種可能的翻譯這些可能的翻譯中的有一些會比其他翻譯更頻繁地使用。根據我們訓練數據中每個翻譯出現的頻率,我們可以給它設定一個分數。例如,有人說「Quiero」更多的時候是指「我想要」而不是「我嘗試」。所以,我們可以使用我們訓練數據中 「Quiero」被翻譯成「我想要」的頻率,給「我想要」這個翻譯更多的權重。

第3步:生成所有可能的句子,找到最有可能的那句接下來,我們將使用這些詞塊的每種可能翻譯來組合生成一堆可能的句子。

『拾』 統計機器翻譯的模型

雜訊信道模型假定,源語言中的句子f(信宿)是由目標語言中的句子e(信源)經過含有雜訊的信道編碼後得到的。那麼,如果已知了信宿f和信道的性質,我們可以得到信源產生信宿的概率,即p(e | f)。而尋找最佳的翻譯結果也就等同於尋找:
利用貝耶斯公式,並考慮對給定f,p(f)為常量,上式即等同於
由此,我們得到了兩部分概率:
p(f | e),指給定信源,觀察到信號的概率。在此稱為翻譯模型。 p(e),信源發生的概率。在此稱為語言模型 可以這樣理解翻譯模型與語言模型,翻譯模型是一種語言到另一種語言的詞彙間的對應關系,而語言模型則體現了某種語言本身的性質。翻譯模型保證翻譯的意義,而語言模型保證翻譯的流暢。從中國對翻譯的傳統要求「信達雅」三點上看,翻譯模型體現了信與達,而雅則在語言模型中得到反映。
原則上任何語言模型均可以應用到上述公式中,因此以下討論集中於翻譯模型。在IBM提出的模型中,翻譯概率被定義為:
p(f | e) = p(f,a | e)其中的a被定義為隱含變數——詞對齊(Word Alignment),所謂詞對齊,簡而言之就是知道源語言句子中某個詞是由目標語言中哪個詞翻譯而來的。例如右圖中,一個詞可以被翻譯為一個或多個詞,甚至不被翻譯。於是,獲取翻譯概率的問題轉化為詞對齊問題。IBM系列模型及HMM, Model 6都是詞對齊的參數化模型。它們之間的區別在於模型參數的數量,類型各不相同。例如IBM Model 1,唯一的參數是詞翻譯概率,與詞在句子中的位置無關。也就是說:
其中(i,j)是詞對齊中的一條連接,表示源語言中的第i個詞翻譯到目標語言中的第j個詞。注意這里的翻譯概率是詞之間而非位置之間的。IBM Model 2的參數中增加了詞在句子中的位置,公式為:
其中I,J分別為源、目標語言的句子長度。
HMM模型將IBM Model 2中的絕對位置更改為相對位置,即相對上一個詞連接的位置,而IBM Model 3,4,5及Model 6引入了「Fertility Model」,代表一個詞翻譯為若干詞的概率。
在參數估計方面,一般採用最大似然准則進行無監督訓練,對於大量的「平行語料」,亦即一些互為翻譯的句子(fs,es)
由於並沒有直接的符號化最優解,實踐中採用EM演算法。首先,通過現有模型,對每對句子估計(fs,es)全部可能的(或部分最可能的)詞對齊的概率,統計所有參數值發生的加權頻次,最後進行歸一化。對於IBM Model 1,2,由於不需要Fertility Model,有簡化公式可獲得全部可能詞對齊的統計量,而對於其他模型,遍歷所有詞對齊是NP難的。因此,只能採取折衷的辦法。首先,定義Viterbi對齊為當前模型參數θ下,概率最大的詞對齊:
在獲取了Viterbi對齊後,可以只統計該對齊結果的相關統計量,亦可以根據該對齊,做少許修改後(即尋找「臨近」的對齊)後再計算統計量。IBM 3,4,5及Model 6都是採用這種方法。
目前直接採用雜訊信道模型進行完整機器翻譯的系統並不多見,然而其副產品——詞對齊卻成為了各種統計機器翻譯系統的基石。時至今日,大部分系統仍然首先使用GIZA++對大量的平行語料進行詞對齊。由於所面對的平行語料越來越多,對速度的關注使得MGIZA++,PGIZA++等並行化實現得到應用。雜訊信道模型和詞對齊仍然是研究的熱點,雖然對於印歐語系諸語言,GIZA++的對齊錯誤率已經很低,在阿拉伯語,中文等語言與印歐語系語言的對齊中錯誤率仍然很高。特別是中文,錯誤率常常達到30%以上。所謂九層之台,起於累土,缺乏精確的詞對齊是中文機器翻譯遠遠落後於其他語言的原因。雖然目前出現了一些區分性詞對齊技術,無監督對齊仍然是其中的重要組成部分。 在這個框架下,M個特徵函數
通過參數化公式
其中是每個特徵函數的權重,也是模型所要估計的參數集,記為Λ。基於這個模型,獲取給定源語言句子f,最佳翻譯的決策准則為:
簡而言之,就是找到使得特徵函數最大的解。
原則上,任何特徵函數都可以被置於此框架下,雜訊信道模型中的翻譯模型、語言模型都可以作為特徵函數。並且,在產生式模型中無法使用的「反向翻譯模型」,即p(f,e)也可以很容易的被引入這個框架中。目前基於短語的翻譯系統中,最常用的特徵函數包括:
1.短語翻譯概率 2.詞翻譯概率(短語中每個詞的翻譯概率) 3.反向短語翻譯概率 4.反向詞翻譯概率 5.語言模型 而一些基於句法的特徵也在被加入。 優化准則指的是給定訓練語料,如何估計模型參數Λ。一般來說,訓練模型參數需要一系列已翻譯的文本,每個源語言句子fs擁有Rs個參考翻譯。
早期,區分性訓練被置於最大熵准則下,即:
這一準則簡單快速且由於優化目標是凸的,收斂速度快。然而,一個極大的問題是,「信息熵」本身和翻譯質量並無聯系,優化信息熵以期獲得較好的翻譯結果在邏輯上較難說明。藉助客觀評價准則如BLEU,希望直接針對這些客觀准則進行優化能夠提升翻譯性能。由此而產生最小化錯誤率訓練演算法。通過優化系統參數,使得翻譯系統在客觀評價准則上的得分越來越高,同時,不斷改進客觀評價准則,使得客觀評價准則與主觀評價准則越來越接近是目前統計機器翻譯的兩條主線。
使用這些客觀評價准則作為優化目標,即:
的一個主要問題是,無法保證收斂性。並且由於無法得到誤差函數(即客觀評價准則)的導數,限制了可使用的優化方法。目前常用的方法多為改進的Powell法,一般來說訓練時間頗長且無法針對大量數據進行訓練。 語料預處理階段,需要搜集或下載平行語料,所謂平行語料,指的是語料中每一行的兩個句子互為翻譯。目前網路上有大量可供下載的平行語料。搜尋適合目標領域(如醫療、新聞等)的語料是提高特定領域統計機器翻譯系統性能的重要方法。
在獲取語料後,需要進行一定得文本規范化處理,例如對英語進行詞素切分,例如將's獨立為一個詞,將與詞相連的符號隔離開等。而對中文則需要進行分詞。同是,盡可能過濾一些包含錯誤編碼的句子,過長的句子或長度不匹配(相差過大)的句子。
獲取的語料可分為三部分,第一部分用於詞對齊及短語抽取,第二部分用於最小錯誤率訓練,第三部分則用於系統評價。第二第三部分的數據中,每個源語言句子最好能有多條參考翻譯。 首先,使用GIZA++對平行語料進行對齊。由於GIZA++是「單向」的詞對齊,故而對齊應當進行兩次,一次從源到目標,第二次從目標到源。一般來說,GIZA++需要依次進行IBM Model 1, HMM及IBM Model 3,4的對齊,因IBM Model 2對齊效果不佳,而IBM Model 5耗時過長且對性能沒有較大貢獻。根據平行語料的大小不同及所設置的迭代次數多少,訓練時間可能很長。一個參考數據為,1千萬句中文-英文平行語料(約3億詞)在Inter Xeon 2.4GHz伺服器上運行時間約為6天。如果耗時過長可考慮使用MGIZA++和PGIZA++進行並行對齊(PGIZA++支持分布式對齊)。
其後,對兩個方向的GIZA++對齊結果進行合並,供短語抽取之用。 最小化錯誤率訓練通過在所准備的第二部分數據——優化集(Tuning Set)上優化特徵權重Λ,使得給定的優化准則最優化。一般常見的優化准則包括信息熵,BLEU,TER等。這一階段需要使用解碼器對優化集進行多次解碼,每次解碼產生N個得分最高的結果,並調整特徵權重。當權重被調整時,N個結果的排序也會發生變化,而得分最高者,即解碼結果,將被用於計算BLEU得分或TER。當得到一組新的權重,使得整個優化集的得分得到改進後,將重新進行下一輪解碼。如此往復直至不能觀察到新的改進。
根據選取的N值的不同,優化集的大小,模型大小及解碼器速度,訓練時間可能需要數小時或數日。 使用經最小化錯誤率訓練得到的權重,即可進行解碼。一般此時即可在測試集上進行系統性能評價。在客觀評價基礎上,有一些有條件的機構還常常進行主觀評價。

閱讀全文

與機器翻譯模型源碼相關的資料

熱點內容
海島奇兵伺服器中斷55什麼意思 瀏覽:524
androidsdk22下載地址 瀏覽:294
intelrst驅動文件夾 瀏覽:922
幾台電腦共享一個加密狗 瀏覽:360
java獲取前一天的日期 瀏覽:188
五以內手指演算法視頻 瀏覽:580
伺服器與桌面如何切換窗口 瀏覽:94
微信介面配置信息php 瀏覽:49
php數組echo 瀏覽:98
文件夾有藍色東西 瀏覽:961
u盤顯示加密提示要格式化怎麼辦 瀏覽:543
centos命令行解析度 瀏覽:820
我的世界110命令 瀏覽:738
c語言編譯器IDEC語言編程 瀏覽:948
幫粉絲解壓的視頻 瀏覽:116
androidsdk路徑查看 瀏覽:483
什麼平板看pdf好 瀏覽:436
java定義成員變數 瀏覽:509
學完51單片機 瀏覽:519
linux網路實訓 瀏覽:823