當前位置:
首頁 > 知識 > Facebook新研究:一個編碼器hold住93種語言!跨語言遷移無需修改

Facebook新研究:一個編碼器hold住93種語言!跨語言遷移無需修改

選自 arXiv

作者:Mikel Artetxe、Holger Schwenk

機器之心編譯

參與:路、張倩

近日,Facebook 研究人員發布了一篇論文,提出了一種可學習 93 種語言的聯合多語言句子表徵的架構。該架構僅使用一個編碼器,且可在不做任何修改的情況下實現跨語言遷移。

儘管深度學習的最新進展已經推動自然語言處理取得了令人印象深刻的進步,但眾所周知,這些技術需要非常多的數據,限制了其在許多實用場景下的應用。一種日益流行的解決方法是先在無標註數據上學習通用語言表徵,然後將其整合到特定任務的下游系統中。這種方法最初是通過詞嵌入流行起來的,但最近已經被句子級別的表徵所取代。但是,所有這些研究都是為每種語言學習一個單獨的模型,因此無法利用不同語言之間的信息,這大大限制了它們在低資源語言上的性能。

本研究對通用的語言無關句子嵌入——即對兩個維度(輸入語言和 NLP 任務)通用的句子向量表徵——感興趣。該研究的動機是多方面的:(1)希望資源有限的語言可以從多種語言聯合訓練中受益;(2)渴望實現 NLP 模型從一種語言到另一種語言的 zero-shot 遷移;(3)實現語碼轉換。為此,研究者使用了可以處理多種語言的單個編碼器,這樣不同語言中語義相似的句子在最終嵌入空間中會很相近。

關於多語言 NLP 的研究主要聚焦於資源豐富的語言,如漢語、阿拉伯語及主流的歐洲語言,通常只局限於幾種(大多是兩種)語言。相比之下,本研究學習了 93 種不同語言的聯合句子表徵,包括資源不足和少數民族的語言(見表 1 和表 2)。且本研究提出的系統僅在公開可用的平行文本上進行訓練。本研究的貢獻如下:

大幅度改進了學習聯合多語言句子表徵的研究。本研究學習了一個可以處理 93 種不同語言的共享編碼器。所有語言被一起嵌入到一個共享空間中,而其他研究大多僅考慮英語/其他語言對齊。本研究覆蓋 34 個語族(language family)、28 個不同的文字系統。

該方法在幾乎所有相關語言的 zero-shot 跨語言自然語言推斷(XNLI 數據集)、分類(MLDoc 數據集)、bitext 挖掘(BUCC 數據集)和多語言相似性搜索(Tatoeba 數據集)任務上達到了當前最佳水平。這些結果通過單個預訓練 BiLSTM 編碼器在 93 種語言和任務上取得,而且沒有進行任何微調。

研究者定義了一個基於免費可用 Tatoeba 語料庫的新數據集,為 122 種語言提供了基線結果。他們給出了在這一測試集上的多語言相似性搜索結果的準確率,該語料庫也可用於 MT 評估。

論文:Massively Multilingual Sentence Embeddings for Zero-Shot Cross-Lingual Transfer and Beyond

論文鏈接:https://arxiv.org/pdf/1812.10464.pdf

摘要:本文介紹了一種架構,可學習 93 種語言的聯合多語言句子表徵(這些語言屬於 30 多個不同語族,用 28 種不同的文字書寫)。該系統使用單個 BiLSTM 編碼器和所有語言共享的 BPE 辭彙,該編碼器與一個輔助解碼器相結合,並在公開的平行語料庫上進行訓練。這使得研究者能夠僅使用英文標註數據基於最終句子嵌入學習分類器,並在不做任何修改的情況下將英文分類器遷移到 93 種語言中的任何一種。在 XNLI 數據集上的 14 種語言(一種語言除外)中,該方法在 zero-shot 跨語言自然語言推斷上取得了當前最佳水平,在跨語言文本分類上也取得了頗具競爭力的結果(MLDoc 數據集)。該研究中的句子嵌入在平行語料庫挖掘上也非常強大,在 BUCC 共享任務的 3 個語言對(總共 4 個)中都獲得了當前最佳水平。最後,研究者引入了一個基於 Tatoeba 語料庫創建的包含 122 種語言的成對句子測試集,並且證明此項研究中的句子嵌入在多語言相似性搜索中取得很棒的結果,即使是在資源較少的語言中也是如此。研究中的PyTorch實現、預訓練編碼器和多語言測試集將免費開放。

架構

圖 1:本研究提出的系統架構,用於學習多語言句子嵌入。

圖 1 展示了本研究提出的系統架構,該架構基於 Schwenk (2018a)。從上圖可以看到,對 BiLSTM 編碼器的輸出應用最大池化操作來得到句子嵌入,然後對這些句子嵌入進行線性變換,以初始化解碼器LSTM,同時這些句子嵌入還在每個時間步與其輸入嵌入連接起來。注意,編碼器和解碼器之間沒有其他連接,因為本研究想得到被句子嵌入捕獲的輸入序列的所有相關信息。

該系統中只有一個編碼器和解碼器,所有語言共享它們。研究者構建了一個聯合 byte-pair encoding (BPE) 辭彙表,它基於所有訓練語料庫學得。這樣,編碼器沒有給出明確信號指出輸入語言的類型,促使編碼器學習與語種無關的表徵。解碼器則相反,它使用指定語種的語言 ID 嵌入來生成,且在每個時間步級聯輸入嵌入和句子嵌入。

擴展到大約 100 種語言(這些語言的句法、書寫系統和語言概念迥異)自然需要具備足夠容量的編碼器。本研究將堆疊BiLSTM限制在 1-5 層,每層的維度限制在 512 維。(雙向級聯後)得到的句子表徵是 1024 維的。解碼器有一個 2048 維的層。輸入嵌入的大小被設置為 320,語言 ID 嵌入是 32 維的。

訓練數據和預處理

表 1:93 種語言中 75 種具備超過 10000 訓練樣本的語種,及其語族、書寫系統、在 Tatoeba 測試集上的 similarity error rate 和 Tatoeba 測試集句子數量。橫杠表示測試句子少於 100 個。

表 2:模型訓練期間使用的 18 種資源匱乏的語言,及其語族、書寫系統、在 Tatoeba 測試集上的 similarity error rate 和 Tatoeba 測試集句子數量。橫杠表示測試句子少於 100 個。

所有預處理使用 Moses 工具完成:統一標點符號、刪除非列印字元、分詞。中文和日文文本是例外,它們分別使用 Jieba 和 Mecab 進行分割。所有語言保持原始腳本,希臘語除外(研究者將希臘語轉換為拉丁字母)。

實驗評估

表 3:在 XNLI 跨語言自然語言推斷任務測試集上的準確率。Conneau et al. (2018c) 的所有結果均對應 BiLSTM-max(最大池化),其在所有任務中的表現均優於 BiLSTM-last。整體最好的結果用黑體字表示,每一組最好的結果加下劃線。BERT ? 結果來自其 GitHub README。泰語 BERT 模型來自 https://github.com/ThAIKeras/bert。

表 4:在 MLDoc zero-shot 跨語言文檔分類任務(測試集)上的準確率。

表 5:在 BUCC 挖掘任務上的 F1 分數。

對照實驗

表 6:BiLSTM 編碼器深度對模型性能的影響。

表 7:使用 NLI objective 和其他權重進行多任務訓練的結果對比。

表 8:在 93 種語言上的訓練結果與僅在 18 種評估語言上的訓練結果對比。

本文為機器之心編譯,轉載請聯繫本公眾號獲得授權。

------------------------------------------------


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

理解隨機森林:基於Python的實現和解釋
這些AI應用不簡單,Keep首場技術開放日限時報名ing!

TAG:機器之心 |