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