跨語言評測數據集之XNLI介紹

目錄

一、前言

二、XNLI介紹

三、評測任務介紹

四、實驗

一、前言

對於跨語言理解及與稀缺語言相關的遷移學習而言,一個評測數據集不可或缺。2018年,Facebook的提出了XNLI(Cross-Lingual Natural Language Inference)這個數據集,旨在提供一個統一的評測數據集以方便相關研究。NLI,也就是文本蘊涵,是自然語言理解(NLU)中的一項重要的基準任務,該任務是爲了判斷兩句話之間的關係是否是蘊含(entailment)、矛盾(contradiction)和中立(neutral)三種中的一種。在論文中,Facebook還提出包括多個機器翻譯任務、詞袋及LSTM編碼器在內的baseline。關於XNLI更多內容可參考Facebook論文:XNLI: Evaluating Cross-lingual Sentence Representations

二、XNLI介紹

  • 源數據集獲取:

XNLI支持15種語言,數據集包含10個領域,分別是:Face-To-Face, Telephone, Government, 9/11, Letters, Oxford University Press (OUP), Slate, Verbatim, Government and fiction. 前九項來自開放美國國家語料庫,fiction來自英文小說《Captain Blood》。每個領域包含750條樣本,10個領域共計7500條人工標註的英文測試樣本,組成了112500對英文--其他語種的標註對。每條數據樣本,由兩個句子組成,分別是前提和假設,前提和假設之間的關係,有entailment(蘊含)、contradiction(矛盾)、neutral(中立)三類,在標註過程中,XNLI的開發者使用了精細的投票規則,最大程度保證標註結果是無偏的。

  • 目標數據集獲取:

目標數據集是通過將英文數據集翻譯成對應語種而得到的。這就產生了一個問題,即在將英文句子翻譯成目標語種的後,句子間的對應關係是否會改變。通過實驗,總體上兩類語種之間的語義關係是一致的。一些XNLI的數據集樣本見圖一:

三、評測任務介紹

1、基於翻譯的方法

Baseline-1:TRANSLATE TRAIN,將英文數據集翻譯成目標語言,在翻譯後的數據集的上訓練模型;

Baseline-2:TRANSLATE TEST,在測試階段,將目標語言翻譯成爲訓練階段所使用的語文,並在訓練後的模型上進行測試;

2、基於跨語言表示的編碼器

第一類評測任務和基於翻譯,第二類方法基於與語言無關的統一Embedding。基於這種思想,作者提出了兩類跨語言的句子編碼器:

Baseline-3:X-CBOW,預訓練的統一多語言句子級別的詞向量,基於CBOW方式訓練的詞向量的平均得到;

Baseline-4: X-BiLSTM,多語言語料上訓練的BiLSTM編碼器;對於該Baseline,作者提出了兩種方法來提取特徵,對每個隱單元,使用初始和最終的隱狀態作爲表示,或者使用最大的隱狀態作爲特徵,不同方法的Baseline分別記作X-BiLSTM-last和X-BiLSTM-max;

在這幾個Baseline中,涉及到其他的一些重要概念,介紹如下:

  • Multilingual Word Embedding

該文的主要是在句子層面做一些跨語言的研究,以往的跨語言工作大多集中在詞級別,詞級別的Embedding對齊方法,基本思想是基於n對多語言映射字典Embedding表示,學習到兩種語言之間的映射關係,如下:

W^{\star}=\underset{W \in O_{d}(\mathbb{R})}{\operatorname{argmin}}\|W X-Y\|_{\mathrm{F}}=U V^{T}

其中,d是Embedding的維度,X,Y分別是維度爲(d,n)的矩陣。這個公式可以理解爲,通過最小化映射字典Embedding之間的距離,使得在新的Embedding空間中,具有相同意義的詞向量之間的距離更近。通過對X和Y作SVD分解,可以得到U和V,進一步可以得到最小化Embedding距離的參數矩陣W。

U \Sigma V^{T}=\operatorname{SVD}\left(Y X^{T}\right)

關於跨語言的Embedding研究,可以去參考Mikel Artetxe(主頁:http://www.mikelartetxe.com/)這位大神的文章。該大神過去幾年,從監督到無監督,研究Cross-Embedding的工作,連續幾年發了多篇頂會,並且開源了相關代碼(https://github.com/artetxem/vecmap),複用簡單。

  • Aligning Sentence Embeddings

句子Embedding對齊。作者在英文上預訓練好一個編碼器,然後最小化以下損失函數,來得到目標語言上的編碼器:

\mathcal{L}_{\text {align }}(x, y)=\operatorname{sim}(x, y)-\lambda\left(\operatorname{sim}\left(x_{c}, y\right)+\operatorname{sim}\left(x, y_{c}\right)\right)

x,y分別代表兩類語言的句子Embedding,第一項使用L2範數計算相似度,第二項我理解的是加入正則,使得相似度計算結果更加魯棒。x_{c}y_{c}分別表示負採樣,\lambda控制正則的係數。具體的對齊細節見下圖:

四、實驗

在各個baseline上,實驗結果爲:

從實驗結果,主要可以得出以下幾點結論:

  • 在基於翻譯的方法中,TRANSLATE TEST的方式優於基於TRANSLATE TRAIN的方式,即將目標測試集翻譯成爲訓練模型所採用的語言的效果,優於將訓練集翻譯成爲目標語言進行訓練再評測;
  • 在各個Baseline上,BiLSTM編碼器使用最大的隱狀態而不是最後的隱狀態作爲特徵,效果更好;
  • 基於翻譯的方法比基於跨語言表示的方法,在效果上要更好,但是在一些跨語言任務中,實時翻譯的成本高,基於跨語言表示的方法,提供了一些替代的解決方案。

XNLI的介紹就先到這裏啦,有什麼疑問歡迎關注公衆號聯繫,一起討論,共同進步~

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章