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