Facebook今天開源了增強(qiáng)版的NLP工具包LASER,支持93種語言,用28種不同的字母表編寫。這成為第一個(gè)成功探索大型多語言句子表示的開源NLP工具。
Facebook今天宣布擴(kuò)展并增強(qiáng)了NLP工具包LASER(Language-Agnostic SEntence Representations),并將其開源。
LASER成為第一個(gè)成功探索大型多語言句子表示的開源NLP工具。該工具包現(xiàn)在支持90多種語言,用28種不同的字母表編寫。LASER通過將所有語言聯(lián)合嵌入到一個(gè)共享空間(而不是為每種語言分別建模)來實(shí)現(xiàn)這些結(jié)果。
Facebook還免費(fèi)提供多語言編碼器和PyTorch代碼,以及包含100多種語言的多語言測試集。
開源地址:
https://github.com/facebookresearch/LASER
LASER打開了從一種語言(如英語)到其他語言(包括訓(xùn)練數(shù)據(jù)極其有限的語言)進(jìn)行NLP模型零樣本遷移(zero-shot transfer)打開了大門。LASER是第一個(gè)使用單一模型處理多種語言的庫,包括低資源語言(如卡拜爾語和維吾爾語)以及方言(如吳語)。
未來,這項(xiàng)工作可以幫助Facebook和其他公司推出一些特定的NLP功能,比如用一種語言將電影評論分類為正面或負(fù)面,然后使用100多種其他語言發(fā)表。
性能和特征亮點(diǎn)
LASER將XNLI語料庫14種語言中13種的零樣本跨語言自然語言推理精度提高到新的最高水平。它還在跨文本文檔分類(MLDoc語料庫)得到強(qiáng)大的結(jié)果。我們的句子嵌入在并行語料庫挖掘方面也很強(qiáng)大,在BUCC共享任務(wù)中為四個(gè)語言對的其中三個(gè)提供了新的最優(yōu)結(jié)果(BUCC是2018年的一個(gè)關(guān)于構(gòu)建和使用可比較語料庫的研討會(huì))。
除了LASER工具包,我們還在Tatoeba語料庫的基礎(chǔ)上共享了包含100多種語言的對齊句子測試集。使用這個(gè)數(shù)據(jù)集,我們的句子嵌入在多語言相似度搜索任務(wù)中獲得了強(qiáng)大的結(jié)果,即使是低資源語言也是如此。
LASER還提供了其他一些優(yōu)勢:
它提供非常快的性能,在GPU上每秒能處理多達(dá)2000個(gè)句子。
句子編碼器使用PyTorch實(shí)現(xiàn),只有最小的外部依賴性。
低資源語言可以從多種語言的聯(lián)合訓(xùn)練中獲益。
模型支持在一個(gè)句子中使用多種語言。
隨著添加更多新語言,系統(tǒng)會(huì)學(xué)習(xí)識別語系的特征,性能也會(huì)提高。
通用的語言無關(guān)(language-agnostic)句子嵌入
LASER的句子向量表示對于輸入語言和NLP任務(wù)都是通用的。該工具將任何語言中的一個(gè)句子映射到高維空間中的一個(gè)點(diǎn),目標(biāo)是使任何語言中的相同語句最終位于同一個(gè)域。該表示可以看作是語義向量空間中的一種通用語言。我們已經(jīng)觀察到,空間中的距離與句子的語義緊密程度密切相關(guān)。
左邊的圖像顯示了單語嵌入空間。右邊是LASER方法的圖示,它將所有語言嵌入到一個(gè)共享空間中。
我們的方法基于與神經(jīng)機(jī)器翻譯相同的基礎(chǔ)技術(shù):編碼器/解碼器方法,也稱為序列到序列處理(sequence-to-sequence processing)。我們?yōu)樗休斎胝Z言使用一個(gè)共享編碼器,并使用一個(gè)共享解碼器生成輸出語言。編碼器是一個(gè)5層的雙向LSTM網(wǎng)絡(luò)。與神經(jīng)機(jī)器翻譯不同的是,我們不使用注意力機(jī)制,而是使用1024維固定大小的向量來表示輸入的句子。它是通過對BiLSTM的最后狀態(tài)進(jìn)行max-pooling得到的。這使我們能夠比較句子的表示形式,并將它們直接輸入分類器。
我們的方法的架構(gòu)
這些句子嵌入用于通過線性轉(zhuǎn)換初始化 decoder LSTM,并在每個(gè)時(shí)間步上將其連接到輸入嵌入。編碼器和解碼器之間沒有其他的連接,因?yàn)槲覀兿M斎胄蛄械乃邢嚓P(guān)信息都被句子嵌入所捕獲。
解碼器必須要知道應(yīng)該生成哪種語言。它采用一種語言標(biāo)識嵌入,該標(biāo)識在每個(gè)時(shí)間步中連接到輸入和句子嵌入。我們使用帶有50000個(gè)操作的聯(lián)合字節(jié)對編碼(byte-pair encoding, BPE)詞匯表,在所有訓(xùn)練語料庫的連接上進(jìn)行訓(xùn)練。由于編碼器沒有指示輸入語言的顯式信號,因此該方法鼓勵(lì)編碼器學(xué)習(xí)與語言無關(guān)的表示。
我們基于公共并行數(shù)據(jù)的2.23億個(gè)句子(這些句子與英語或西班牙語對齊)對系統(tǒng)進(jìn)行訓(xùn)練。對于每一個(gè)mini-batch,我們隨機(jī)選擇一種輸入語言,并訓(xùn)練系統(tǒng)將句子翻譯成英語或西班牙語。大多數(shù)語言都與這兩種目標(biāo)語言對齊,但這不是必需的。
這項(xiàng)工作的開始階段,我們訓(xùn)練了不到10種歐洲語言,這些語言都使用同一個(gè)拉丁字母系統(tǒng)。后來,我們逐漸增加到Europarl語料庫中提供的21種語言,結(jié)果表明,隨著語言的增加,多語言遷移的性能也得到了提高。該系統(tǒng)學(xué)習(xí)了語言系屬(language families)的一般特征。通過這種方式,低資源語言可以從同語系高資源語言的資源中獲益。
這可以通過使用在所有語言的連接上進(jìn)行訓(xùn)練的共享BPE詞匯表來實(shí)現(xiàn)。我們對每種語言的BPE詞匯表分布之間的Kullback-Leiber距離進(jìn)行了對稱聚類分析,結(jié)果表明,Kullback-Leiber距離與語言學(xué)上定義的語系幾乎完全相關(guān)。
上圖顯示了LASER自動(dòng)發(fā)現(xiàn)的各種語言之間的關(guān)系。它們非常符合語言學(xué)家人工定義的語系。
然后,我們意識到,一個(gè)共享的BiLSTM編碼器可以處理多個(gè)腳本,我們逐漸擴(kuò)展到所有可用并行文本的語言。納入LASER的93種語言包括主語-謂語-賓語(SVO)順序的語言(如英語)、主語-賓語-謂語(SOV)順序的語言(如孟加拉語和突厥語)、謂語-主語-賓語(VSO)順序的語言(如他加祿語和柏柏爾語),甚至謂語-主語-賓語(VOS)順序的語言(如馬達(dá)加斯加語)。
我們的編碼器能夠推廣到訓(xùn)練期間沒有使用的語言(甚至是單語文本)。我們發(fā)現(xiàn),它在一些區(qū)域語言上表現(xiàn)很好,如阿斯圖里亞語、法羅語、弗里斯蘭語、卡舒比語、北摩鹿加語、皮埃蒙特語、斯瓦比亞語和索布語。所有這些語言都在不同程度上與其他主要語言有一些相似之處,但它們的語法或特定詞匯有所不同。
這張表顯示了LASER在XNLI語料庫上的zero-shot遷移性能 (Conneau et al., Evaluating Cross-lingual Sentence Representations, EMNLP’18)。BERT的結(jié)果來自它的GitHub README。(注:這些結(jié)果是用PyTorch 1.0實(shí)現(xiàn)得到的,與本文使用PyTorch 0.4得到的結(jié)果略有不同。)
零樣本、跨語言的自然語言推理
我們的模型在跨語言自然語言推理(cross-lingual natural language inference, NLI)中取得了良好的效果。在這個(gè)任務(wù)上的表現(xiàn)是一個(gè)強(qiáng)有力的指標(biāo),它能很好地說明這個(gè)模型是如何表達(dá)一個(gè)句子的意思的。我們考慮了zero-shot設(shè)置,換句話說,是針對英語訓(xùn)練NLI分類器,然后將其應(yīng)用到所有目標(biāo)語言,而不需要進(jìn)行微調(diào)或使用目標(biāo)語言資源。
在14種語言中,有8種語言的zero-shot 性能與英語的性能相比差距不超過5%,包括俄語、漢語和越南語等較遠(yuǎn)的語言。我們在斯瓦希里語和烏爾都語這樣的低資源語言上也取得了不錯(cuò)的成績。最后,LASER在14種語言中的測試中,有13種語言的表現(xiàn)優(yōu)于之前所有的zero-shot transfer方法。
我們的系統(tǒng)是完全多語言的,支持不同語言的任意前提和假設(shè)組合,這與以前的方法不同,以前的方法需要一個(gè)英語句子。
上表顯示了LASER如何在不同語言的XNLI語料庫中確定句子之間的關(guān)系。以前的方法只考慮相同語言的前提和假設(shè)。
同樣的句子編碼器也被用于在大量單語文本中挖掘并行數(shù)據(jù)。我們只需要計(jì)算所有句子對之間的距離并選擇最接近的句子對。通過考慮最近的句子和其他最近句子之間的距離,這種方法得到了進(jìn)一步的改進(jìn)。這個(gè)搜索是使用Facebook的FAISS library高效執(zhí)行的。
我們在共享BUCC任務(wù)上的表現(xiàn)遠(yuǎn)遠(yuǎn)超過了當(dāng)前最高的技術(shù)水平。最優(yōu)的系統(tǒng)是為這項(xiàng)任務(wù)專門開發(fā)的。我們將德語/英語的 F1得分從 85.5 提高到 96.2,法語/英語的得分從 81.5 提高到 93.9,俄語/英語從 81.3 提高到 93.3,漢語/英語從 77.5 提高到 92.3。所有這些示例都表明,我們的結(jié)果在所有語言中都是高度同質(zhì)的。
該方法的詳細(xì)描述可以閱讀與Mikel Artetxe合著的研究論文Massively Multilingual Sentence Embeddings for Zero-Shot Cross-Lingual Transfer and Beyond
地址:https://arxiv.org/abs/1812.10464
使用任意語言對,同樣的方法也可以用來挖掘90多種語言的并行數(shù)據(jù)。這將顯著改善許多依賴于并行訓(xùn)練數(shù)據(jù)的NLP應(yīng)用,包括低資源語言的神經(jīng)機(jī)器翻譯。
未來的應(yīng)用
LASER庫還可以用于其他相關(guān)任務(wù)。例如,多語言語義空間的屬性可以用于解釋句子或搜索具有相似含義的句子——可以使用同一種語言,也可以使用LASER目前支持的93種語言中的任何一種。我們將繼續(xù)改進(jìn)模型,在現(xiàn)有的93種語言基礎(chǔ)上增加更多的語言。
-
Laser
+關(guān)注
關(guān)注
0文章
22瀏覽量
9288 -
機(jī)器翻譯
+關(guān)注
關(guān)注
0文章
139瀏覽量
14880 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1208瀏覽量
24689
原文標(biāo)題:Facebook開源NLP遷移學(xué)習(xí)工具包,支持93種語言,性能最優(yōu)
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論