『深度應用』NLP機器翻譯深度學習實戰課程·零(基礎概念)
- 2019 年 10 月 3 日
- 筆記
0.前言
深度學慣用的有一年多了,最近開始NLP自然處理方面的研發。剛好趁著這個機會寫一系列NLP機器翻譯深度學習實戰課程。
本系列課程將從原理講解與數據處理深入到如何動手實踐與應用部署,將包括以下內容:(更新ing)
- NLP機器翻譯深度學習實戰課程·零(基礎概念)
- NLP機器翻譯深度學習實戰課程·壹(RNN base)
- NLP機器翻譯深度學習實戰課程·貳(RNN+Attention base)
- NLP機器翻譯深度學習實戰課程·叄(CNN base)
- NLP機器翻譯深度學習實戰課程·肆(Self-Attention base)
- NLP機器翻譯深度學習實戰課程·伍(應用部署)
本系列教程參考部落格:https://me.csdn.net/chinatelecom08
1.NLP機器翻譯發展現狀
1.1 機器翻譯現狀
什麼是機器翻譯?
說白了就是通過電腦將一種語言轉化成其他語言,就是機器翻譯。
這對我們同學們而言都很熟悉了,那麼機器翻譯背後的理論支援到底是什麼呢?而且幾十年前的機器翻譯和現在我們天天口中說的神經網路到底有什麼區別呢?
首先我們從機器翻譯歷史發展的角度來對它進行大致的講述一下,機器翻譯的歷史大致經歷了三個階段:
- 基於規則的機器翻譯(70年代)
- 基於統計的機器翻譯(1990年)
- 基於神經網路的機器翻譯(2014年)
基於規則的機器翻譯的想法第一次出現是在70年代。科學家根據對翻譯者工作的觀察,試圖驅使電腦同樣進行翻譯行為。這些翻譯系統的組成部分包括:
雙語詞典(俄語->英文)
針對每種語言制定一套語言規則(例如,名詞以特定的後綴-heit、-keit、-ung等結尾)
如此而已。如果有必要,系統還可以補充各種技巧性的規則,如名字、拼寫糾正、以及音譯詞等。
感興趣的同學可以去網上仔細查看一下相關的資料,這裡就貼上一個大致的流程圖,來表示基於規則的機器翻譯的實現流程。
在1990年早期,IBM研究中心的一台機器翻譯系統首次問世。它並不了解整體的規則和語言學,而是分析兩種語言中的相似文本,並試圖理解其中的模式。
統計模型的思路是把翻譯當成機率問題。原則上是需要利用平行語料,然後逐字進行統計。例如,機器雖然不知道“知識”的英文是什麼,但是在大多數的語料統計後,會發現只要有知識出現的句子,對應的英文例句就會出現“Knowledge”這個字。如此一來,即使不用人工維護詞典與文法規則,也能讓機器理解單詞的意思。
神經網路並不是新東西,事實上神經網路發明已經距今80多年了,但是自從2006年Geoffrey Hinton(深度學習三尊大神之首)改善了神經網路優化過於緩慢的致命缺點後,深度學習就不斷地伴隨各種奇蹟似的成果頻繁出現在我們的生活中。在2015年,機器首次實現影像識別超越人類;2016年,Alpha Go戰勝世界棋王;2017年,語音識別超過人類速記員;2018年,機器英文閱讀理解首次超越人類。當然機器翻譯這個領域也因為有了深度學習這個超級肥料而開始枝繁葉茂。
Yoshua Bengio在2014年的論文中,首次奠定了深度學習技術用於機器翻譯的基本架構。他主要是使用基於序列的遞歸神經網路(RNN),讓機器可以自動捕捉句子間的單詞特徵,進而能夠自動書寫為另一種語言的翻譯結果。此文一出,Google如獲至寶。很快地,在Google供應充足火藥以及大神的加持之下,Google於2016年正式宣布將所有統計機器翻譯下架,神經網路機器翻譯上位,成為現代機器翻譯的絕對主流。
簡單介紹一下基於神經網路的機器翻譯的通用框架:編碼器-解碼器結構。
用通俗的話來講,編碼器是將資訊壓縮的過程,解碼器就是將資訊解碼回人能夠理解的過程,這種過程資訊的損失越少越好。
結構如下圖所示:
圖1 gnmt機器翻譯框架
圖2 transformer機器翻譯框架
Transformer是Google在17年的一篇論文https://arxiv.org/pdf/1706.03762.pdf提出的具有開創性的架構,這個結構不同於之前所有的機器翻譯網路結構,僅僅依靠模型的優勢,就取得了state of the art的結果,優於以往任何方法的機器翻譯結果。
如果想更深入的了解其中的原理,還是需要閱讀一些理論性的文章。如果僅僅想搭建這樣一個系統,按照下一篇實踐的內容,一步步的進行操作,你就可以擁有搭建基於世界上最先進模型的機器翻譯系統的能力了。
這裡整理了一些機器翻譯中做需要的理論性介紹,包括以下一些內容:
詞嵌入向量簡單介紹:https://blog.csdn.net/u012052268/article/details/77170517
機器翻譯相關論文:
Sequence to Sequence Learning with Neural Networks(2014)
Attention機制的提出(2016)
Google基於attention的gnmt(2016)
自注意力機制:transformer(2017)
機器翻譯最著名的頂級會議也是比賽就是WMT,世界上所有著名的具有機器翻譯引擎技術的巨頭公司都在該比賽中取得過名次,該比賽從17年開始,所有取得前幾名的隊伍都是通過搭建transformer模型來進行優化迭代的。
其中一些隊伍提出的方法和技巧,也被各個具有機器翻譯技術的公司搜集整理,嘗試在自己的翻譯引擎中去。
除此之外,中國外一些重要比賽解決方案,也是我們要需要參考的一些點。
http://www.statmt.org/wmt18/