首頁>Club>
9
回覆列表
  • 1 # 使用者5693819692659

    機器翻譯的一般流程

    機器翻譯其實是利用計算機把一種自然語言翻譯成另一種自然語言的過程,基本流程大概分為三塊:預處理、核心翻譯、後處理。

    預處理是對語言文字進行規整,把過長的句子透過標點符號分成幾個短句子,過濾一些語氣詞和與意思無關的文字,將一些數字和表達不規範的地方,歸整成符合規範的句子。

    核心翻譯模組是將輸入的字元單元、序列翻譯成目標語言序列的過程,這是機器翻譯中最關鍵最核心的地方。

    後處理模組是將翻譯結果進行大小寫的轉化、建模單元進行拼接,特殊符號進行處理,使得翻譯結果更加符合人們的閱讀習慣。

    機器翻譯的技術原理

    在講機器翻譯的技術原理之前,我們先來看一張機器翻譯技術發展歷史圖:

    20世紀80年代基於規則的機器翻譯開始走向應用,這是第一代機器翻譯技術。隨著機器翻譯的應用領域越來越複雜,基於規則的機器翻譯的侷限性開始顯現,應用場景越多,需要的規則也越來越多,規則之間的衝突也逐漸出現。

    於是很多科研學家開始思考,是否能讓機器自動從資料庫裡學習相應的規則,1993年IBM提出基於詞的統計翻譯模型標誌著第二代機器翻譯技術的興起。

    2014年穀歌和蒙特利爾大學提出的第三代機器翻譯技術,也就是基於端到端的神經機器翻譯,標誌著第三代機器翻譯技術的到來。

    看完了機器翻譯技術的迭代發展,我們來了解下三代機器翻譯的核心技術:規則機器翻譯、統計機器翻譯、神經機器翻譯。

    規則機器翻譯

    基於規則的機器翻譯大概有三種技術路線,第一種是直接翻譯的方法,對源語言做完分詞之後,將源語言的每個詞翻譯成目標語言的相關詞語,然後拼接起來得出翻譯結果。

    由於源語言和目標語言並不在同一體系下,句法順序有很大程度上的出入,直接拼接起來的翻譯結果,效果往往並不理想。

    於是科研人員提出了第二個規則機器翻譯的方法,引用語言學的相關知識,對源語言的句子進行句法的分析,由於應用了相關句法語言學的知識,因此構建出來的目標譯文是比較準確的。

    但這裡依然存在著另外一個問題,只有當語言的規則性比較強,機器能夠做法分析的時候,這套方法才比較有效。

    因此在此基礎之上,還有科研人員提出,能否藉助於人的大腦翻譯來實現基於規則的機器翻譯?

    這裡面涉及到中間語言,首先將源語言用中間語言進行描述,然後藉助於中間語言翻譯成我們的目標語言。

    但由於語言的複雜性,其實很難藉助於一箇中間語言來實現源語言和目標語言的精確描述。

    講完了基於規則的機器翻譯的三種技術路線,我們用一張圖來總結下它的優缺點:

    統計機器翻譯

    機器翻譯的第二代技術路線,是基於統計的機器翻譯,其核心在於設計機率模型對翻譯過程建模。

    比如我們用x來表示原句子,用y來表示目標語言的句子,任務就是找到一個翻譯模型

    最早應用於統計翻譯的模型是信源通道模型,在這個模型下假設我們看到的源語言文字 x是由一段目標語言文字 y 經過某種奇怪的編碼得到的,那麼翻譯的目標就是要將 y 還原成 x,這也就是一個解碼的過程。

    所以我們的翻譯目標函式可以設計成最大化Pr( │ ),透過貝葉斯公式,我們可以把Pr( │ )分成兩項,Pr( ) 的語言模型,Pr⁡( | )的翻譯模型

    如果將這個目標函式兩邊同取log,我們就可以得到對數線性模型,這也是我們在工程中實際採用的模型。

    對數線性模型不僅包括了翻譯模型、語言模型,還包括了調序模型,扭曲模型和詞數懲罰模型,透過這些模型共同約束來實現源語言到目標語言的翻譯。

    講完了統計機器翻譯的相關知識,我們來看下基於短語的統計翻譯模型的三個基本步驟:

    1、源短語切分:把源語言句子切分成若干短語2、源短語翻譯:翻譯每一個源短語3、目標短語調序:按某順序把目標短語組合成句子

    最後,我們依舊用一張圖來總結下基於統計機器翻譯的優缺點:

    神經機器翻譯

    講完了基於規則的機器翻譯和基於統計的機器翻譯,接下來我們來看下基於端到端的神經機器翻譯。

    神經機器翻譯基本的建模框架是端到端序列生成模型,是將輸入序列變換到輸出序列的一種框架和方法。

    其核心部分有兩點,一是如何表徵輸入序列(編碼),二是如何獲得輸出序列(解碼)。

    對於機器翻譯而言不僅包括了編碼和解碼兩個部分,還引入了額外的機制——注意力機制,來幫助我們進行調序。

    下面我們用一張示意圖來看一下,基於RNN的神經機器翻譯的流程:

    首先我們透過分詞得到輸入源語言詞序列,接下來每個詞都用一個詞向量進行表示,得到相應的詞向量序列,然後用前向的RNN神經網路得到它的正向編碼表示。

    再用一個反向的RNN,得到它的反向編碼表示,最後將正向和反向的編碼表示進行拼接,然後用注意力機制來預測哪個時刻需要翻譯哪個詞,透過不斷地預測和翻譯,就可以得到目標語言的譯文。

  • 中秋節和大豐收的關聯?
  • 怎麼看待美國最近流行感冒搶購川貝枇杷膏?