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

機器之心發表於2018-12-28

Facebook新研究:一個編碼器hold住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

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

論文連結:https://arxiv.org/pdf/1812.10464.pdf

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

架構

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

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

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

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

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

訓練資料和預處理

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

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

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

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

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

實驗評估

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

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

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

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

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

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

對照實驗

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

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

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

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

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

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

相關文章