Facebook 開源工具包 LASER,支持 93 種語言

尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️

加入LINE好友

Facebook 開源工具包 LASER,支持 93 種語言

為了加速自然語言處理(NLP)在更多語言上進行零樣本遷移,Facebook 擴展並增強了 LASER(Language-Agnostic SEntence Representations)工具包,並將其開源。這是第一個成功探索大型多語種句子表示並與廣大 NLP 社區共享的工具。

該工具包現在可以使用 90 多種語言和 28 種不同的字母表。LASER 通過將所有語言聯合嵌入到單個共享空間(而不是為每種語言分別建立單獨的模型)來做到這些結果。我們現在免費提供多語言編碼器和PyTorch 代碼,以及針對 100 多種語言的多語言測試集。

LASER 打開了從一種語言(如英語)到其他幾種語言(包括訓練數據極為有限的語言)進行 NLP 模型零樣本遷移的大門。LASER 是第一個使用單一模型處理各種語言的庫,包括低資源語言(如卡拜爾語和維吾爾語),以及中國的吳語等方言。有朝一日,這項工作可以幫助 Facebook 和其他公司推出一些特定的 NLP 功能,例如,使用一種語言將電影評論分類為正面或負面,然後再使用其他 100 多種語言發布。

性能和功能亮點

LASER 為 XNLI 語料庫 14 種語言中的 13 種帶來了更高的零樣本跨語言自然語言推理準確率。它還在跨語言文檔分類(MLDoc 語料庫)方面獲得了很好的結果。我們的句子嵌入在並行語料庫挖掘方面也有很好的表現,在 BUCC(BUCC 是在 2018 年舉行的一個構建和使用可比較語料庫研討會)共享任務中將四個語言對中的三個提升到了一個新的技術水平。除了 LASER 工具包,我們在 Tatoeba 語料庫的基礎上共享了 100 多種語言對齊句子的測試集。使用這個數據集,我們的句子嵌入在多語言相似性搜尋中獲得了很好的結果,即使是低資源語言也是如此。

LASER 還提供了其他的一些好處:

  • 它提供了極快的性能,在 GPU 上每秒處理多達 2,000 個句子。
  • 句子編碼器使用 PyTorch 做到,只有很少的外部依賴。
  • 低資源語言可以從多種語言的聯合訓練中受益。
  • 該模型支持在一個句子中使用多種語言。
  • 隨著新語言的添加,性能會有所提高,因為系統會學會識別語言族的特徵。

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

LASER 的句子向量表示對於輸入語言和 NLP 任務都是通用的。它將語言的句子映射到高維空間中的一個點,目標是讓語言中的相同語句最終出現在同一鄰域中。該表示可以被視為語義向量空間中的一種通用語言。我們已經觀察到,空間中的距離與句子的語義緊密程度密切相關。

Facebook 開源工具包 LASER,支持 93 種語言

左邊的圖像顯示了單語嵌入空間。右側圖像說明了 LASER 的方法,它將所有語言嵌入到一個共享空間中。

我們的方法建立在與神經機器翻譯相同的基礎技術之上:編碼器 / 解碼器方法,也稱為序列到序列處理。我們為所有輸入語言使用一個共享編碼器,並使用共享解碼器生成輸出語言。編碼器是五層雙向 LSTM(長短期記憶)網路。與神經機器翻譯相比,我們不使用注意機制,而是使用 1,024 維固定大小的向量來表示輸入句子。它是通過對 BiLSTM 的最後狀態進行最大池化得到的。我們因此能夠比較句子的表示形式,並將它們直接輸入分類器中。

Facebook 開源工具包 LASER,支持 93 種語言

方法架構

這些句子嵌入用於初始化解碼器 LSTM,通過線性變換以及在每個時間步驟上將其連接到輸入嵌入。編碼器和解碼器之間沒有其他的連接,因為我們希望通過句子嵌入捕獲到輸入序列的所有相關信息。

我們必須告訴解碼器要生成哪種語言。它需要一個語言標識,也就是在每個時間步驟上連接到輸入和句子嵌入的標識。我們使用具有 50,000 個操作的聯合字節對編碼(BPE)詞匯表,在所有連接的訓練語料庫上進行訓練。由於編碼器沒有指示輸入語言的顯式信號,因此編碼器需要學習與語言無關的表示。我們基於公共並行數據的 2.23 億個句子(它們與英語或西班牙語對齊)訓練我們的系統。對於每個迷你批次,我們隨機選擇一種輸入語言,讓系統將句子翻譯成英語或西班牙語。大多數語言都與目標語言保持一致,雖然這不是必需的。

我們剛開始訓練了不到 10 種歐洲語言,所有語言都使用了相同的拉丁文字。後來,我們逐漸增加到 Europarl 語料庫中提供的 21 種語言,結果表明,隨著我們添加的語言越來越多,多語言遷移性能也得到了提升。系統學習了語言家族的通用特徵。通過這種方式,低資源語言可以從同一族高資源語言的資源中獲益。

這可能可以通過使用在所有語言的連接上訓練的共享 BPE 詞匯表來做到。我們對每種語言 BPE 詞匯表分布之間的對稱 Kullback-Leiber 距離進行了分析和聚類,結果顯示,Kullback-Leiber 距離與語言家族具有幾乎完美的相關性。

Facebook 開源工具包 LASER,支持 93 種語言

LASER 自動發現各種語言之間的關係,與語言學家手動定義的語言家族非常吻合。

我們意識到,單個共享的 BiLSTM 編碼器可以處理多個腳本。我們逐漸擴展到所有可以識別免費並行文本的語言。被納入 LASER 的 93 種語言包括 SVO 順序(例如英語)、SOV 順序(例如孟加拉語和突厥語)、VSO 順序(例如塔加路語和柏柏爾語),甚至是 VOS 順序(例如馬達加斯加語)的語言。

我們的編碼器可以推廣到未使用的語言(甚至是單語文本)。我們發現了它在一些區域語言上表現良好,例如阿斯圖里亞斯語、法羅語、弗里斯蘭語、卡舒比語、北摩鹿加語馬來語、皮埃蒙特語、斯瓦比亞語和索布語。所有這些語言都在不同程度上與其他主要語言有一些相似之處,但它們的語法或特定詞匯有所不同。

Facebook 開源工具包 LASER,支持 93 種語言

LASER 在 XNLI 語料庫上的零樣本遷移性能

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

我們的模型在跨語言自然語言推理(NLI)中獲得了良好的效果。在這項任務上的表現是一個強有力的指標,它能夠很好地說明這個模型是如何表達一個句子的意思的。我們針對英語訓練 NLI 分類器,然後將其應用於所有目標語言,不需要進行微調或使用目標語言資源。在 14 種語言中,有 8 種語言的零樣本性能表現在英語的 5%以內,包括俄語、中文和越南語等。我們在斯瓦希里語和烏爾都語等低資源語言上也取得了很好的成績。最後,LASER 在 14 種語言中的 13 種語言上的表現優於所有以前的零樣本遷移方法。

與之前的方法不同,之前的方法需要一個英語句子,而我們的系統是完全多語言的,並且支持不同語言的任意前提和假設組合。

Facebook 開源工具包 LASER,支持 93 種語言

LASER 如何在不同語言的 XNLI 語料庫中確定句子之間的關係。以前的方法只考慮相同語言的前提和假設。

同樣的句子編碼器也被用於挖掘大量單語文本中的並行數據。我們只需要計算所有句子對之間的距離,並選擇最接近的句子對。我們考慮了最近句子和其他最近句子之間的距離,以此來進一步改進該方法。我們使用了 Facebook 的FAISS 庫來高效執行這個搜尋。

我們在共享 BUCC 任務上的表現遠遠超過了現有水平。我們的系統明顯是為完成這個任務而開發的。我們將德語 / 英語的 F1 得分從 85.5 提高到 96.2,法語 / 英語從 81.5 提高到 93.9,俄語 / 英語從 81.3 提高到 93.3,漢語 / 英語從 77.5 提高到 92.3。正如這些示例所示,我們的結果在所有語言中都是高度同質的。

該方法的詳細信息可以在這篇研究論文中找到:https://arxiv.org/abs/1812.10464。

同樣的方法也適用於使用任意語言對在 90 多種語言中挖掘並行數據。預計這將顯著改善許多依賴於並行訓練數據的 NLP 應用程序,包括低資源語言的神經機器翻譯。

未來的應用

LASER 還可以用於其他相關任務。例如,多語言語義空間特性可用於解釋一個句子或搜尋具有類似含義的句子——可以使用相同的語言,也可以使用 LASER 目前支持的 93 種其他語言中的任意一種。我們將繼續改進我們的模型,在現有的 93 種語言基礎上增加更多的語言。

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

About 尋夢園
尋夢園是台灣最大的聊天室及交友社群網站。 致力於發展能夠讓會員們彼此互動、盡情分享自我的平台。 擁有數百間不同的聊天室 ,讓您隨時隨地都能找到志同道合的好友!