Facebook增強版LASER開源:零樣本遷移學習,支援93種語言

AI科技大本營發表於2019-01-24

640?wx_fmt=gif


來源| Facebook AI 研究院

譯者 | Linstancy

責編 | 琥珀

出品 | AI 科技大本營(ID:rgznai100)


【導語】為了加速自然語言處理 (NLP) 在更多語言上實現零樣本遷移學習 (zero-shot transfer learning),Facebook 研究者擴充套件並增強了 LASER (Language-Agnostic Sentence Representations) 工具包,並在近期開源了這個專案。


增強版的 LASER 是首個能夠成功探索大型多語種句子表徵的工具包,共包含 90 多種語言,由 28 種不同的字母表編寫。這項龐大的工作也引發了整個 NLP 社群的廣泛關注。該工具包將所有語言聯合嵌入到單個共享空間,而不是為每個語言單獨建立模型。目前,Facebook 官方免費提供多語言編碼器和 PyTorch 程式碼 (連結:https://github.com/facebookresearch/LASER),以及 100 多種語言的多語言測試集方便社群使用。


研究者表示,通過零樣本遷移學習,LASER 能夠將 NLP 模型從一種語言 (如英語) 遷移到其他語言 (包括訓練集中的有限語種)。此外,LASER 工具也是第一個使用單一模型來處理不同語種的自然語言處理庫,包括處理那些稀有語種如卡拜爾語、維吾爾語以及中國的吳語等方言。研究者相信,有朝一日這項工作能夠幫助 Facebook 及其他公司上線特定的 NLP 功能,如用一種語言將電影評論分類為正面或負面,然後再部署到其他 100 多種語言上去。


下面讓我們一睹 LASER 工具包的風采。



效能和功能亮點



在包含 14 種語種的 XNLI 語料庫中,LASER 工具通過零樣本遷移學習,為其中 13 種語言實現跨語種的自然語言處理,並獲得當前最佳的推斷準確率。此外,它還在跨語言文件分類 (MLDoc 語料庫) 中取得了極有競爭力的結果。在句子嵌入方面,該工具包在並行語料庫挖掘任務中也展現了強大的功能,並在 BUCC 共享任務中為其四種語言對中的三種建立了當前最佳的基準。值得一提的是,BUCC 是 2018 年建立和使用可比較語料庫的研討會,代表了當前該領域的最新進展。


除了 LASER 工具包,研究者還基於 Tatoeba 語料庫共享一組 100 多種全新語言對齊語句的測試集。通過該資料集,在多語言相似性搜尋任務上,句子嵌入功能取得了非常優秀的結果,即便是對那些稀有語種也是如此。


此外,LASER 工具包還具有如下一些優點:


  • 極快的效能和極高的處理效率:在 GPU 上每秒處理多達 2000 個句子。

  • 通過 PyTorch 中實現句子編碼器具有最小的外部依賴性。

  • 稀有語種可以從多種語言的聯合訓練中收益。

  • 該模型支援在一個句子中使用多種語言。

  • 隨著新語言的新增,模型效能也會有所提高,因為系統能夠自動學習並識別語言族的特徵。



通用的語言無關性句子嵌入



LASER 中的句子向量表徵對於輸入語言和 NLP 任務都是通用的。該工具將任何語種的句子對映到高維空間中的一個點,目的是將各語種的語句最終聚合在同一鄰域附近,而這種句子表徵可被視為是語義向量空間中的通用語言。如下圖所示,可以看到該空間中的距離與句子語義的接近度是非常相關的。


640?wx_fmt=png

左圖展示的是單個語言的嵌入空間,而右圖顯示的是採用 LASER 工具包方法,它能將所有語言嵌入到同一共享空間中。


LASER 的這種方法是基於神經機器翻譯的基礎技術:即編碼器/解碼器方法 (encoder/decoder),也稱為序列到序列處理 (sequence-to-sequence)。它為所有的輸入語言設計一個共享編碼器,並使用共享解碼器生成輸出語言。編碼器由五層雙向連線的 LSTM 網路 (長短期記憶) 組成。


與神經機器翻譯的方法不同的是,LASER 中不引入注意力機制,而是使用 1024 維、固定大小的向量來表示輸入句子。該向量是通過對 BiLSTM 最後狀態進行最大池化操作後得到的,這使我們能夠比較句子表徵的差異,並將它們直接輸入到分類器中。


640?wx_fmt=png

圖中描述了 LASER 的基本架構


這些句子嵌入是通過線性變換的方式初始化解碼器 LSTM,並且還在每個時間步驟與其輸入嵌入相連線。為了通過句子嵌入來捕捉輸入序列的所有相關資訊,在架構中編碼器和解碼器之間沒有設定其他連線。


對於解碼器部分,由於它需要一個語言標識嵌入,因此需要清楚地知道需要生成哪種語言,並在每個時間步驟連線輸入及其句子嵌入。研究者使用具有 50000 個操作的聯合位元組對編碼詞彙表 (BPE),並在所有訓練語料庫的連線上進行訓練。由於編碼器沒有顯式地指示輸入語言訊號,因此該方法鼓勵它學習與語言無關的表徵。


不僅如此,研究者還使用英語或西班牙語對公共並行資料中 2.23 億條句子進行了系統的訓練。對於每個小批量,隨機選擇一種輸入語言並訓練模型,使其將句子翻譯成英語或西班牙語中的一種,而不需要讓大多數語言都與目標語言保持一致。


這項工作的開始只是訓練不到 10 種的歐洲語言,所有語言都使用相同的拉丁文字;隨後逐漸增加到 21 種語言,這些都是在 Europarl 語料庫中出現的。


實驗結果表明,隨著所新增的語言數量的增多,多語言間的遷移效能也得到了提高,而該系統也能夠學習到語言族的通用特徵。正因為如此,部分稀有語言也能夠受益於同一語言族的一些高頻語言的資源。


通過使用在連線所有語言的資料庫上訓練共享的 BPE 詞彙表,這是完全有可能做到的。對每種語言的 BPE 詞彙表分佈之間對稱的 Kullback-Leiber 距離進行分析和聚類結果表明,其與語言家族之間存在幾乎完美的相關性。


640?wx_fmt=png

圖中顯示了 LASER 能夠自動挖掘各種語言之間的關係,這與語言學家手動定義的語言類別是高度吻合的。


研究者意識到,單個共享的 BiLSTM 編碼器能夠處理多個指令碼。他們逐漸擴充套件到那些可用的並行文字中的所有語言,並將 93 種語言併入到 LASER 工具包中,這些語言包括 subject-verb-object (SVO) order (如英語),SOV order (如孟加拉語和突厥語),VSO order (如塔加路語和柏柏爾語),以及 VOS order (如馬達加斯加語)。


該編碼器能夠推廣到一些未使用的語言,甚至是單語言文字。在訓練階段,可以觀察到它在一些地區語言中展現了突出的能力,包括阿斯圖里亞斯語、法羅語、弗里斯蘭語、卡舒比語、北摩鹿加語馬來語、皮埃蒙特語、斯瓦比亞語和索布語等。這些語言與那些主要語言在不同程度上都有一定的相似之處,但不同語言有其特定的語法或特定詞彙。


640?wx_fmt=png

上表展示了 LASER 在 XNLI 語料庫上進行零樣本遷移學習的效能表現。其中,BERT 模型的結果是從其他 github 專案中提取的。值得注意的是,這些結果都是通過 Pytorch1.0 實現的,因此在具體數值方面可能與原論文中的有所不同,論文中使用的是 Pytorch0.4。



零樣本、跨語言的自然語言推理



該模型在跨語言的自然語言推理任務上 (NLI) 取得了優異的成績,表明模型具有極強的句意表徵能力。研究者採用零樣本遷移學習的方法,即先在英語上訓練 NLI 分類器,在沒有任何模型微調或其他目標語言資料的情況下,將訓練好的分類器應用於其他目標語言。對於 14 種語言的 8 種,零樣本學習在諸如英語、俄語、中文和越南語等語言上能夠取得 5%以內的表現。


此外,研究者還在斯瓦希里語和烏爾都語等稀有語言上進行試驗,同樣取得了很好的結果。最後,LASER 方法在 14 種語言中有 13 種語言都取得了優於其他零樣本遷移學習方法的表現。


相較於先前研究中至少需要一個英語句子進行學習的方法,LASER 是一種完全跨語種、並支援不同語言間任何組合的自然語言處理方法。


640?wx_fmt=png

上圖展示了 LASER 是如何確定 XNLI 資料集中不同語言句子間的關係,而先前研究中的方法都只能考慮同一種語言的前提和假設。


此外,LASER 也可用於挖掘大型單語言文字資料集中的並行資料資訊。研究表明,只需要計算所有句子對之間的距離並選擇最接近的句子對,就能夠提取文字資料中的資料資訊。更進一步地說,通過考慮相近句子及其最近鄰居之間的邊界能夠改進該方法的表現,而通過使用 Facebook 的 FAISS 庫就能夠高效完成這一改進。


在共享 BUCC 任務上,LASER 的表現都遠遠超過當前最佳的技術水平。具體來說,該模型將德語/英語的 F1 得分從 85.5 提高到 96.2,將法語/英語的 F1 得分從 81.5 提高到 93.9,俄語/英語的 F1 得分從 81.3 提高到 93.3,中/英語的表現從 77.5 提高到 92.3。正如這些示例所反映的,該模型在各種語言任務上所取得結果都是高度同質的。


更多詳細的內容介紹可以檢視相關的論文:《Massively Multilingual Sentence Embeddings for Zero-Shot Cross-Lingual Transfer and Beyond》(論文連結:https://arxiv.org/abs/1812.10464)。


最後,研究者表明,對於任意語言對,都可以通過相同的方法來挖掘 90 多種語言的並行資料。在未來,這將顯著改善許多依賴於並行資料訓練的 NLP 應用程式,包括那些稀有語言的神經機器翻譯應用。



未來的應用



LASER 可以應用於廣泛的自然語言處理任務。例如,多語言語義空間的屬性可用於解析句意或搜尋具有相似含義的句子,可以通過使用相同語言或通過 LASER 所支援的其他 93 個語句中的任何一個就能實現。未來,研究人員表示將繼續新增其他的語言支援。


原文連結:

https://code.fb.com/ai-research/laser-multilingual-sentence-embeddings/


(本文為 AI科技大本營翻譯文章,轉載請微信聯絡 1092722531。)

徵稿

640?wx_fmt=png


推薦閱讀


640?wx_fmt=png

相關文章