雷鋒網(公眾號:雷鋒網) AI 科技評論按:第十五屆全國機器翻譯大會(The 15th China Conference on Machine Translation, CCMT 2019)於2019年9月27日至29日在江西南昌舉行。本次會議由中國中文信息學會主辦,江西師範大學承辦。CCMT旨在為國內外機器翻譯界同行提供一個交互平臺,加強國內外同行的學術交流,召集各路專家學者針對機器翻譯的理論方法、應用技術和評測活動等若干關鍵問題進行深入的研討,為促進中國機器翻譯事業的發展,起到積極的推動作用。
近年來,隨著深度學習的出現和計算能力的提高,機器翻譯也取得了較大的進展,在數據量比較充足的情況下,都能夠實現非常不錯的效果,然而在一些資源稀缺、領域或者說小語種的翻譯任務上,有時神經網絡機器翻譯的表現甚至還不如基於統計的機器翻譯。對此,研究人員提出了一些數據增強的技術,例如 Back Translation、將一些詞替換成一些相似的詞等,以此來增加機器翻譯的數據,從而提高機器翻譯的質量。
在 9 月 27 日至 29 日召開的全國機器翻譯大會(CCMT)上,一場主題為「機器翻譯數據增強技術探索」的圓桌會就為大家帶來了數據增強技術在機器翻譯中的應用現狀以及未來的應用前景的討論和展望。
從左到右:劉樹傑博士、陳毅東副教授、陳博興博士、劉群教授、黃輝副教授、王明軒博士
本場圓桌會由微軟亞洲研究院高級研究員劉樹傑博士主持,華為諾亞方舟實驗室語音語義首席科學家劉群教授、阿里巴巴達摩院資深算法專家陳博興博士、澳門大學科技學院電腦及資訊科學系黃輝副教授、廈門大學信息學院陳毅東副教授,以及字節跳動翻譯技術負責人王明軒博士五位機器翻譯領域的專家坐鎮。
我們下面來看本場圓桌會中,各位專家都探討了哪些話題~
劉樹傑:大家在機器翻譯領域的研究和工作中應用到的數據增強技術主要有哪些?
陳毅東:我本人在數據增強方面並沒有很深入的研究,但是我在與學生做評測過程中確實也用到了一些數據增強技術,主要有兩個:一個是比較常用的 Back Translation;另一個是我們去年參加 CCMT 多語言評測時,通過加入多語言的標籤來利用其它多語言對訓練模型做數據增強,這種方法類似於 Back Translation 的變體。
陳博興:阿里主要偏向應用,目前在機器翻譯場景下用得最多並且最有用的,還是 Back Translation。其次,我們在做 Quality Estimation 的時候,也會採用對齊技術生成類似於給詞打「Bad」和「OK」標籤的偽數據的方法。另外我們在 Disfluency Detection,即口語輸出的不流利檢測中也會加一些偽數據,人為基於規則加入的一些不流利數據本身也就自帶了標籤。所以,我們在不同的場景下,一般都會用到類似的生成偽數據的方法。
劉群:我認為數據增強是一項重要的技術,因為其實不光是機器翻譯,自然語言處理的很多研究方向,特別是在工業界,數據稀缺都是一個很大的問題。到華為以後,我發現了一個研究課題,叫做文本複述(paraphrasing),這個課題我之前也了解過,但是不怎麼感興趣,而到工業界後,我發現 paraphrasing 太有用了,並且應用價值比我想像得要大得多,因為工業界的大部分應用場景都沒有標註數據。
現在大家都提到 Back Translation 在機器翻譯中特別有用,我們在相關工作中應用這項數據增強技術時,也發現它非常有用。並且,Back Translation 這個課題本身還是很值得研究的,比如我今年參加 WMT 評測的時候,就發現大家都在對這個方法本身做一些改進,而其實 Facebook 去年就針對 Back Translation 做了一些改進工作,今年則有更多單位都在往這個方向做相關工作,我認為都是比較有價值的。
我今天之所以在這裡提這一點,一是因為 Back Translation 確實很有用,二是因為它本身的應用是有一些小技巧的,大家可以更加深入地研究。
另外值得一提的是,我們現在一個比較有意思的工作是採用字典的方式做數據增強。其實現在很多場景可能沒有雙語數據,但都有字典。以我們今年參加 WMT 的 Biomedical 機器翻譯任務為例,中-英基本沒有雙語數據,但有字典,在這種場景下,如何利用字典來生成領域內的雙語數據呢?這是我認為比較有意思的一個研究課題,目前我們也在這個方向上做了一些工作。
黃輝:我也分享一下我們是在機器翻譯的數據增強方面的一些經驗。除了簡單的進行數據增強,我們也從不同的層次在做一些嘗試,主要分為三個層次:
第一個是句子的層次,Back Translation 就是一個很好的例子。
第二個是詞的層次,比如說採用加噪音、扔詞、換詞等方式。我認為這個層次上,數據增強主要解決兩個問題,一個是魯棒性的問題,即讓系統獲得更多不同樣式的句子來學習,二是過擬合的問題。
第三個是詞向量的層次,我們之前做了一個工作,叫做 Shared Private Embedding,比如說在 Low-resource 機器翻譯的情況下,我們根據源端和目標端的詞對齊信息,將兩端的詞彙進行不同程度詞向量的共享。
同時,我們發現在做無監督機器翻譯時,在學習詞向量的映射關係上,Back Translation 有助於學習好詞向量對齊信息,效果非常好。所以說,Back Translation 除了在數據增強方面很有用,在無監督機器翻譯方面也作用很大。
王明軒:黃老師其實是從粒度的層次來分。我覺得在預訓練上,如果從應用角度來看,可以分為兩個方向:
第一種是目標端有語料,源端沒有語料。比較常用的 back translation 就是這種情況的一個典型方法。第二種情況是源端有語料,目標端沒有語料。
Back translation 的有效性是充分驗證的,但是這塊的理論分析目前還是沒有形成統一的認識,其中一個原因是目前大部分研究是在一些限定的數據集上使用這一方法。而從工業界來看,我認為很有意思的一個不同點在於,學術界中的訓練數據是固定的,並且和通常情況下無監督單語數據、雙語數據和測試集的分布也是一致的。這種情況下,數據增強的上限相對比較低,很多結論都認為單語數據有效但是不應該增加太多,比如超過一倍,其實是因為無監督數據多樣性不夠,而且對訓練集的補充不夠;然而在工業界,我們比較喜歡更大規模的單語數據,保證數據的多樣性,幾乎可以認為單語數據能一直增加即使是雙語數據的 10 倍,也是有效的。比如說 GPT 匯聚了整個網際網路的數據,它可能不再需要考慮領域的問題了,因為它幾乎在所有領域上的表現的都非常好。
而 Back Translation 其實也是這種思路,即一直去採樣多樣化的數據。而且我個人認為,只要目標的數據是真實的,採樣的數據是沒有上限的。
第二種恰好是一個對偶問題,也就是如何去利用源端的數據,這一點其他各位老師提的比較少。我們現在一直在使用微軟的一項工作,叫做 R2L Regularization,普遍的認知是源端的數據必須是真的,而在微軟的這項工作中,即使源端數據是偽數據,同樣有效。這項工作提供的一個視角是從表示上來進行數據增強,我認為也可以從模型集成的角度出發,即一個系統從另一個系統採樣的結果來學習知識。
另外,黃老師剛剛提到的預訓練模型也是一個角度。比如說有大量的 Monoligual data,可以去比較自然地將比如說 BERT 結合到機器翻譯中,目前我們在這方面也在做一些工作,我認為這個方向未來也比較有前景。
劉樹傑:大家剛剛都總結得很好,大家都提到了 Back Translation,並且感覺是非常有用的,但是它本質上就像王老師所說的,真的目標數據生成假的源數據,這種方式為什麼比真的源數據生成假的目標數據更有效一些?大家認為這是什麼原因?
王明軒:源語言數據對源語言表示增強肯定是有用的,但是如果用它來生成假的目標數據進行學習的話,可能無法完全獲得源信息,利用是不夠充分的。我認為對源語言數據的利用最有效的可能是 pretrain。目標語言的利用可能更自然一些,通過 Back translation 生成的數據目標端始終是真實的。
劉群:我覺得這一點其實很好理解,比如我們做 SMT 時,我們做語言模型肯定是在目標端做,而不會在源端做。如果源端翻譯成假的目標數據,是會干擾到目標端的語言模型的。反過來,目標端翻譯成假的源數據,實際上我們是比較少遇到這種數據的,因而不會對翻譯產生不好的影響。而且目標端一定要是真,才能夠保證生成比較好的數據。
陳博興:關於這一點,其實我們之前做過一個小的實驗,是在數據比較小但是真實的情況下,真的目標數據翻成假源數據比真的源數據翻成假的目標數據更有用,剛剛劉群老師也講的很清楚了,我不再重複。
實驗中,假如我們有非常多真實的數據,比如說有一億個數據,用我們的系統對這一億個原文進行翻譯,然後用生成的目標偽數據再翻譯一遍,我們發現偽數據翻譯出來的結果比前一個億的真實數據翻譯出來的結果更好。其中的關鍵在於,你用來系統生成的目標偽數據是否靠譜,數據量大的話,可以做規整化;數據量小的話,生成的目標偽數據可能就不靠譜了。
劉樹傑:Back Translation 有幾種生成偽數據的方法,比如說基於 Beam Search 的,基於 Greedy Search 的,或基於 Sampling 的,不同的策略可能會帶來不同的效果,而且不同的方法生成偽數據的速度也會不同。不知道大家都是使用哪種策略?
陳博興:其實由於我們的算力不成問題,所以我們通常使用的方法是 Beam Search。
劉樹傑:大家剛剛談到的都是在一些資源稀缺的任務上進行數據增強,不知道在例如中-英、英-法此類資源豐富的翻譯任務上,數據增強技術是否也有一些作用?
劉群:我認為還是很有用的,因為數據永遠都不會太多,不會完全足夠。比如說在中-英任務上,原本就已經有上千萬的數據,我們使用數據增強來增加數據還是非常有用的。
陳博興:如果是領域數據,比如說醫學領域的數據很少,那我們做數據增強是很有幫助的,但是如果是一個擁有 4 到 5 億的訓練數據的通用領域,再增加很多的偽數據,其實基本上不能帶來收益。所以我認為關鍵是要看某個真實場景中所需要的數據是否足夠,如果足夠的話,增加更多的偽數據可能就不一定有用了;如果還不夠的話,那就是有用的。
劉群:我不太同意陳老師的看法。比如說雖然你原本的數據足夠大,基本能覆蓋測試數據,然而還可能還存在測試數據沒有覆蓋到的情況,這樣的情況下,增加的偽數據可能就恰好覆蓋到了原來數據沒有覆蓋到的情況,這同樣是有用的。正如剛剛明軒提到的,我們對數據的要求是無窮無盡的,數據是永遠不會足夠的。
陳博興:一種情況是原本的數據完全能覆蓋評測數據,另一種情況就是剛剛劉群老師提到的情況,但在這種情況下,增加偽數據也會帶來噪聲。另外大家剛提到的觀點——「只要目標端數據是真的,哪怕源端的數據是假的,關係不大」,我認為也並不是完全絕對的,因為只要帶來了噪聲,其實多少還是會有損害的。所以我們都要儘量模擬輸入數據原本的樣子,生成與原本數據類似的數據,這樣才是有幫助的。
王明軒:對,但有時候源端數據其實並不那麼好,加一些噪音可能反而會提高效果。目前在我們的工作經驗中,Sampling 的數據增強效果要比 Beam Search 要好,當然大家的經驗可能有些不太一樣。
劉樹傑:剛剛王明軒老師和黃輝老師都提到,其實預訓練模型也是數據增強的一種方法,那它與現有的數據增強技術是否有比較好的結合方式呢?我知道今日頭條最近也做過一個相關的工作......
王明軒:我覺得這項工作其實結合得並不是很好。我認為最好的方法應該是一同對所有的數據進行訓練,而不是直接用預訓練模型去做下遊的任務。
劉群:我們嘗試過用預訓練模型去改進機器翻譯。實際上如果雙語的數據已經很大了的話,預訓練模型的作用不是很大。我們現在做的初步實驗結果是這樣的。剛剛明軒提到的聯合訓練,清華大學有一個叫程勇的博士生之前在一篇 ACL 2016 的論文中做過類似的工作,思路跟 Back Translation 差不多。
陳博興:目前 BERT 在機器翻譯任務中確實還沒有太大的提高,但是我相信會提高,因為單語言的語料是無窮無盡的,BERT 等方法是能夠學到很多知識甚至一些常識的。有很多常識是我們現在沒有辦法描述出來的,但對於機器翻譯而言,肯定有較大的幫助,不過至於怎樣使用這些常識幫助機器翻譯,我們目前還沒走到這一步。
剛剛在臺下,我也在跟其他專家提到,我們要做一些有意思的機器翻譯測試,比如說我們可以考慮構建一個測試集,它的一個要求就是機器必須具備人的常識才能翻譯正確,這樣才能從常識的角度來提高機器翻譯的效果。而現在的測試中,機器翻譯即便沒有常識也能夠將英文翻譯得不錯,在這種情況下是很難推動機器翻譯得到真正提高的。
劉群:但其實常識這個東西是很難定義的,相較於之前的 SMT 而言,現在機器已經學到了不少常識,但還是會犯常識性的錯誤。所以到底要學習到多少常識才夠呢?我們目前也不好界定。
我自己也考慮過常識問題,比如說,我們曾經用機器生成一個句子,結果生成的句子很奇怪——「一架飛機在離它機艙 50 米的地方爆炸了」,但是我們又說不出這個句子犯的常識錯誤在哪兒。因此這種隱藏得比較深的常識,機器很難學到,而我們目前也沒有很好的辦法將這種常識錯誤給總結出來。
劉樹傑:那您認為現在是否到了去解決這種常識性問題的時機呢?
劉群:我認為現在是可以考慮的,並且我們現在到了應該直面這個問題的時候了。
劉樹傑:現在數據增強技術在機器翻譯中用得比較多了,那在其他 NLP 任務上有哪些應用潛力呢?
黃輝:數據增強最早來自於圖像處理領域,相對而言,機器翻譯中的數據增強應用還處於剛剛起步的階段。而在自然語言領域,BERT 是一個應用數據增強技術的很好例子。
陳博興:剛剛我們提到在不流利檢測中也用到了數據增強技術,其實所有有監督的任務,在數據量不夠的情況下,我們都可以用這種方法。並且深度學習方法出現以後,數據增強生成的這些偽數據都可以做預訓練。所以,這種生成偽數據的方法可以擴展到幾乎所有其他的場景中去。
王明軒:我們之前也做過一些實驗,即在 ASR 和 TTS 中做 Back Translation,然而發現數據增強在這些任務上並不是很有用,所以數據增強的效果可能跟任務的特性存在一定的關係。
劉群:其實 NLP 領域中用數據增強技術的場景非常多,尤其是工業場景中。我這裡舉兩個例子:一個例子是給數據打標籤,很多時候標籤足夠大,然而真正打了標籤的數據很少,這樣的話採用數據增強能夠增加很多數據;另一個例子是對話,因為對話也是一個數據稀缺的場景,如果能夠用數據增強來增加數據,是非常有幫助的。
黃輝:說到在 ASR 中做數據增強,其實我之前也考慮過這個問題,比如說現在我們的語音合成系統能夠生成大量的偽數據來進行訓練,但是結果發現並不可行,因為系統生成的語音非常單調,是不具備人類語音的生物特徵的。
劉樹傑:我最後替現場臺下的同學問一個問題,如果想在數據增強這個課題上做深入研究,大概可以從哪些角度出發?也就是說,如果想發一些這個主題的論文,有哪些好的想法嗎?
王明軒:其實我認為現在還有很多可以研究的點,第一點,比如說深度學習以後,可以嘗試結合其他模態進行研究,例如可以將數據增強技術應用到語音到語音的翻譯任務中,實際上現在語音翻譯的數據非常少,數據增強會有很大的發揮空間;第二點,我們現在比較關注文檔翻譯,現在例如 GPT 其實已經能夠做整篇文檔的翻譯,我認為可以嘗試去進行難度更高的翻譯任務,數據增強技術也能夠得到很好的發揮。
黃輝:我覺得要發好論文,首先要多看論文,要看看目前別人在做什麼。例如說可以從我剛剛提到的三個層次,來看 Back Translation 到底做得好不好,我認為還是有很多值得研究的點。另外,我認為我們現在在很多研究上都還是比較初步的,例如在評測中,大家還僅僅停留在覺得哪個方法好用就用哪個方法的階段,而並沒有很深入地分析這些方法本身。
陳博興:現在這個領域的研究人員無論是國內還是國外,都實在太多了,往往大家能夠簡單地想到的點,實際上已經有人做過了。所以我們要想一些更難、更深的問題。比如說我現在想到的一個比較難的問題,就是說自然語言數據其實是天然分布不均勻的,不管增加多少數據,總會存在有的類型的數據多、有的類型的數據少的情況,而我們訓練數據的方法是最大似然,它總會生成數量最多的那類數據,那我們是否有辦法來解決這個數據不平衡的問題呢?我認為可以嘗試用數據增強的方法來試一試。
陳毅東:我認為早期語言學家比如說在字典中總結的一些規律性的東西,是可以用來指導數據增強的相關工作的。
本次會議的圓桌討論還包含機器翻譯技術應用探討和機器翻譯博士生培養探討等議題。會議還包含特邀報告、學術論文報告、評測技術報告等環節。更多內容請查閱會議官方網站 https://ccmt2019.jxnu.edu.cn。
雷鋒網 AI 科技評論報導 雷鋒網
雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。