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