尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
雷鋒網 AI 科技評論按:去年 12 月份,Facebook 在論文中提出了一種可學習 93 種語言的聯合多語言句子表示的架構,該架構僅使用一個編碼器,就可以在不做任何修改的情況下做到跨語言遷移,為自然語言處理領域帶來了較大的突破性進展。而最近,Facebook 開源了擴展和改進後的 LASER 工具包,該工具包可應用於使用 28 種不同的字符串編寫的 90 多種語言。 LASER 開源「大禮包」中一同開源的還有多語言編碼器、PyTorch 代碼,以及面向 100 多種語言的多語言測試集。Facebook 將這項成果在其官網上進行了報導,雷鋒網 AI 科技評論編譯如下。
為了加速 NLP 應用在更多語言上的部署,Facebook 對 LASER (Language-Agnostic SEntence Representations)工具包進行了擴展和改進。LASER 是首個可探索多語言句子表示的工具包,Facebook 日前對其做到了開源並共享在 NLP 社區。該工具包現在可應用於使用 28 種不同的字符串編寫的 90 多種語言,也就是說,它將所有語言一同嵌入到一個獨立的共享空間中(而不是為每一種語言都創建一個單獨的模型),從而做到在 90 多種語言中的應用。此外,一同開源的還有多語言編碼器、PyTorch 代碼,以及面向 100 多種語言的多語言測試集。
LASER 為做到 NLP 模型從一種語言(如英語)到其他許多種語言(包括訓練數據極度有限的語言)的零樣本遷移帶來了可能。它是首個可以使用單個模型來處理多種語言(包括低資源語言,如卡拜爾語、維吾爾語以及吳語等方言)的開發庫。有朝一日,這項工作或許有助於 Facebook 以及其他公司推出特定的 NLP 功能,例如將某種語言的電影評論分類為正面或負面評論,並隨後將這些評論用其他 100 多種語言展示出來。
性能和功能亮點
針對 XNLI 語料庫的 14 種語言,LASER在其中 13 種語言的零樣本跨語言自然語言推理任務上做到了當前最佳的準確率。同時,它還在跨語言文本分類((MLDoc 語料庫)上取得了很不錯的結果。基於 LASER,句子嵌入在平行語料庫的挖掘上的表現也很強大,並在 BUCC 4 個語言對中的 3 個語言對的共享任務上取得了最佳表現(BUCC 即 2018 Workshop on Building and Using Comparable Corpora)。除了 LASER 工具包以外,Facebook 還共享了一個基於 Tatoeba 語料庫的 100 多種語言的對齊句子的新測試集。句子嵌入通過使用該數據集,可以在多語言相似性搜尋上得到很好的結果,即使是在低資源的語言中也是如此。
此外,LASER 還具有以下幾個優勢:
它的運行速度非常快,在 GPU 上每秒能處理約 2000 個句子;
只需要很少的外部依賴,就能使用 PyTorch 做到句子編碼器;
資源有限的語言可以從多種語言的聯合訓練中收益;
模型支持在一個句子中使用多種語言;
隨著新語言的增加以及系統學習識別該語言語系的特徵,相關的任務性能能夠得到增強。
通用的和語言無關的句子嵌入
LASER 的句子向量表示對於輸入語言和 NLP 任務都是通用的,它將任一語言的句子映射到高維空間中的一個點,目標是讓所有語言同樣的表述落在相同的區域內。這種表示可以被視作語義向量空間的一種通用語言。Facebook 觀察到在該空間中的句子距離與句子語義接近度非常相關。
LASER 的方法建立在於神經機器翻譯相同的底層技術上:編碼器/解碼器方法,也就是序列到序列處理。Facebook 為所有的輸出語言使用一個共享編碼器,並使用一個共享解碼器來生成輸出語言,其中,編碼器是一個五層雙向的 LSTM 網路(長短時記憶網路)。與神經機器翻譯相比,LASER 這一方法不使用注意力機制,而是使用 1024 維固定大小的向量來表示輸出句子,這個向量則是通過對 BiLSTM 最終的狀態進行最大池化所獲得的。這使得研究人員可以比較句子表示並將它們直接輸入到分類器中。
這些句子嵌入通過線性變換對解碼器 LSTM 進行初始化,並在每個時間步連接到它的輸入嵌入上。編碼器和解碼器之間沒有其他的連接,因為 Facebook 希望通過句子嵌入來捕獲輸入序列的所有相關信息。
解碼器需要被告知生成哪種語言,同時獲取一個在每個時間步都連接到輸入和句子嵌入上的語言標識嵌入。Facebook 使用聯合字節對編碼(BPE)詞匯表,來進行在所有訓練語料庫的連接上訓練的 5000 項操作。由於編碼器沒有指示輸入語言的顯式信號,因而該方法鼓勵它去學習與語言無關的表示。Facebook 在與英語和西班牙語對齊的公共平行數據中的 2.23 億個句子上訓練他們的系統,對於每個小批量,他們都隨機選擇一種輸入語言,並訓練系統將句子翻譯成英語或者西班牙語。大多數語言都與目標語言保持對齊,不過並不要求它們必須對齊。
這項工作開展之初,Facebook 只在不到 10 種歐洲國家的語言上訓練模型,並且這些語言都用相同的拉丁語腳本進行編寫。隨著 Europarl 語料庫中的語言逐漸增加到 21 種語言,Facebook 發現增加的語言越多,多語言遷移的表現就越好。這個系統也學到了語系的通用特徵。通過這些方法,低資源的語言可以從同語系的高資源語言的資源中受益。
通過使用在所有語言的連接上進行了訓練的共享 BPE 詞匯表,這一切成為可能。對每種語言的 BPE 詞匯分布之間的對稱化的 Kullback-Leiber 距離進行的分析和分類,展現出其與從語言上定義的語系是完全相關的。
之後,Facebook 的研究人員意識到單個共享 BiLSTM 編碼器可以處理多個腳本,並逐漸將其擴展到所有他們確定可以免費獲得平行文本的語言。融入到 LASER 的 93 種語言包括主動賓(SVO)順序的語言(如英語)、主賓動(SOV)順序的語言(如孟加拉語和土耳其語)、動主賓(VSO)順序的語言(如塔加路語和柏柏爾語),甚至是動賓主(VOS)順序的語言(如馬達加斯加語)。
該編碼器能夠泛化到訓練期間沒有用到過(即便被用作單語言文本)的語言上,Facebook 的研究人員觀察到這一編碼器在方言以及地域性的語言上(如阿斯圖里亞斯語、法羅語、弗里西語、卡舒比語、北摩鹿加語、皮埃蒙特語、斯瓦比亞語、索布語)的表現也非常強大。這些語言與其他主要語言都有不同程度上的相同點,不過它們各自的語法和特定詞匯都不相同。
上表展示了 LASER 在 XNLI 語料庫上的零樣本遷移性能(資料來源:Conneau 等人所作的論文 Evaluating Cross-lingual Sentence Representations,EMNLP 2018收錄論文,論文查看地址:https://aclweb.org/anthology/D18-1269)。BERT 模型的結果提取自它的 GitHub README。(注意:這些結果是通過 PyTorch 1.0 做到獲得的,因此數值上會和使用了 PyTorch 0.4 的論文中的數據有所不同)。
零樣本、跨語言的自然語言推理
該模型在跨語言自然語言推理(NLI)上獲得了出色的結果,其在這一任務上的表現也表明了該模型能夠很好地表示句子的意義。Facebook 的研究人員考慮進行零樣本設置,換句話說,就是研究人員在沒有微調或者目標語言資源的情況下,在英語上訓練 NLI 分類器,然後將它應用到目標語言中。對於 14 種語言,使用零樣本的模型在其中的 8 種語言(包括與英語關係很遠的俄語、漢語以及越南語等)上的性能是其在英語上的性能的 5% 以內。同時,該模型也在斯瓦希里語和烏爾都語等低資源的語言上表現出色。最終,對於 14 種語言,LASER 在其中的 13 種語言上的零樣本遷移表現,都超越了此前的所有方法。
與此前要求句子一定要用英語表示的方法相比,Facebook 的系統完全可以使用多種語言,並且還支持任意組合不同語言的前提和假設。
這張圖展示了 LASER 是如何確定 XNLI 數據集中不同語言的句子之間關係的。以前的方法只會考慮同一語言的前提和假設。
這一完全相同的句子編碼器同樣也被應用於挖掘大型單語言文本集的平行數據。Facebook 研究人員僅需要計算出所有句子對之間的距離並選擇出離得最近的那一對。這種方法通過考慮最臨近的句子以及其他最臨近的相鄰句子之間的間隔而得到進一步改進。這一搜尋通過使用 Facebook 的 FAISS 開發庫(開發庫地址:
Faiss: A library for efficient similarity search
)得以高效完成。
該方法在共享的 BUCC 任務上的表現明顯超越了當前最好的結果。這個獲勝的系統就是專為該任務所設計的,基於這個系統,Facebook 研究人員把德/英的 F1 分數從 85.5 提高到了 96.2、法/英的 F1 分數從 81.5 提升到了 93.9、俄/英從 81.3 改進到 93.3、中/英從 77.5 到 92.3。這些案例表明了,Facebook 所做到的結果在所有語言上都高度均勻。
同樣的方法也適用於使用任意語言對來挖掘 90 多種語言的平行數據。這一方法有望顯著地改進大量依賴於平行訓練數據的 NLP 應用,包括低資源語言的神經機器翻譯。
未來的應用
LASER 開發庫也可被應用於其他相關任務,例如多語言語義空間的屬性可被應用於在 LASER 所支持的同一種語言或者其他 93 種語言中,對句子進行意譯或者搜尋意義相似的句子。Facebook 表示,未來還將將會繼續改進模型,為開發庫增加這 93 種語言以外的更多語言。
另附:
大家如果想對該方法進行更具體的了解,可前往閱讀 Facebook 與 Mikel Artetxe 合作的研究論文 Massively Multilingual Sentence Embeddings for Zero-Shot Cross-Lingual Transfer and Beyond
論文簡介:
本文介紹了一種可學習 93 種語言(這些語言屬於 30 多個不同語族,且用 28 種不同的腳本編寫)的聯合多語言句子表征的架構。該系統使用單個 BiLSTM 編碼器和所有語言共享的 BPE 詞匯表,其中,編碼器與一個輔助解碼器耦合,並在公開的平行語料庫上進行訓練。這使得研究人員能夠基於最終句子嵌入,僅使用英文標註數據就學習一個分類器,並且在不做任何修改的情況下將該分類器遷移到 93 種語言中的任意一種中。在 XNLI 數據集上的 14 種語言(1 種語言除外)中,該方法在零樣本跨語言自然語言推斷上的表現取得了當前最佳成績,並且在跨語言文本分類(MLDoc 數據集)上也取得了頗具競爭力的結果。該研究中的句子嵌入在平行語料庫挖掘上的表現也非常強大,在 BUCC 共享任務的共 4 個語言對中的 3 個中都獲得了當前最佳表現。最後,研究人員引入了一個基於 Tatoeba 語料庫創建的包含 122 種語言的對齊句子的新測試集,並證明此項研究中的句子嵌入在多語言相似性搜尋中取得了非常出色的結果,即使是在低資源的語言中也是如此。論文中提到的 PyTorch 做到、預訓練編碼器和多語言測試集將免費開放。雷鋒網