推理是自然語言處理領域非常重要且具有挑戰性的任務,其目的是使用已有的知識和推斷技術對未見過的輸入資訊作出判斷 (generate outputs to unseen inputs by manipulating existing knowledge with inference techniques)[1]。在本文中,我們以自然語言推理(Natural Language Inference,NLI)為應用,介紹跨語言預訓練和機器推理結合的最新方法和進展。
自然語言推理任務的輸入是兩個自然語言句子,分別稱為前提(premise)和假設(hypothesis)。該任務的目標是判斷能否從前提中推出假設。這是一個分類任務,輸出共有三類,分別是“蘊含”、“矛盾”和“無關”。例如圖1中的第四個例子,前提為“一場有多名男性的足球比賽”,假設為“一些男人正在進行一場體育運動”,基於常識“足球比賽是一種體育運動”,我們可以知道該前提蘊含了假設。如果假設為“庫裡三分命中”,則前提和假設矛盾。
目前自然語言推理任務中常見的模型多為文字匹配模型。這類方法首先對前提和假設進行編碼和注意力互動(attention),然後直接進行統計學習,並不顯式建模推理過程。基於預訓練的模型,例如 BERT[2],在出現後迅速成為自然語言推理任務上的最優模型。
跨語言的自然語言推理(Cross-lingual NLI,XNLI)[3]任務進一步把自然語言推理任務定義在了多種語言上。在這些語言中,只有英語有訓練資料集,其他語言只有驗證集和測試集。這一任務主要考驗模型能否將英語訓練資料集上學習到的推理知識遷移到其他語言。圖2是該資料集的測試資料集的樣例。
跨語言預訓練
正如英語一樣,跨語言的自然語言推理的最優模型也是基於預訓練。目前跨語言預訓練的模型包括 Multilingual BERT、XLM 和 Unicoder。
Multilingual BERT 的核心思想是用相同的模型和權值來處理所有的目標語言。首先,因為不同語言有不同的詞彙,Multilingual BERT 建立了一個包含所有目標語言的詞彙表。其次,Multilingual BERT 編碼部分的結構和BERT相同,並且在所有語言之間共享。預訓練的任務仍然是 BERT 的 masked language model。其中每個樣本都是一個單語段落,所有語言以多工的方式交替訓練。圖3是訓練時的示意圖。透過共享引數,Multilingual BERT 可以獲得一定的跨語言遷移能力。
XLM [4]在 Multilingual BERT 的基礎上,增加了一個新的任務,Translation Language Model。該任務將機器翻譯語料中的雙語句對拼接成一個新的句子,然後在這個句子上進行 Masked Language Model 的預訓練。透過這一任務,XLM可以學習到兩個語言之間的對應關係,從而獲得比 Multilingual BERT 更好的跨語言遷移能力。
Unicoder [5]在XLM 的基礎上,進一步提出了三個新的任務,使模型能夠更好的學習語言之間的對應關係。三個任務分別是:跨語言的詞語恢復,跨語言的同義句子分類和跨語言的 Masked Language Model。三個任務分別定義在詞語、句子和段落級別,可以讓模型從不同的層次學習兩個語言的對應關係。
跨語言的詞語恢復(Cross-lingual Word Recovery)的輸入是一個同意的雙語句對。如圖5(a)所示,模型首先用中文詞語的表示向英文所有詞語進行一次attention,得到一個在隱變數空間的表示。這個表示是英文詞語表示的帶權和。然後將得到的表示輸入 Transformer,恢復原來的中文詞。透過這個結構,模型可以在不引入詞對齊工具的情況下,學習到中英詞語之間的對應關係。
跨語言的同義句子分類(Cross-lingual Paraphrase Classification)的輸入是兩個不同語言的句子,目標是判定這兩個句子是否有相同的意思。如圖5(b)所示,模型將兩個句子連線作為輸入,用一個詞對應的表示訓練一個二分類器。這是自然語言在句子級別最基礎的任務之一。透過這個任務,模型可以學習兩個語言在句子層面的對應關係。
跨語言的 Masked Language Model 的輸入是一篇用多種語言寫成的文章。如圖5(c)所示,這個文章中,相鄰的句子的語言不同,但是仍然保持通順的承接關係。該任務在多語言的文章上進行 Masked Language Model,可以模糊語言之間的邊界,更好的將多種語言混合成一種語言。
預訓練好的模型需要在目標任務上進行 Fine-tuning。在跨語言的任務上,目前已有的 Fine-tuning 的方法有三種。在此基礎上,我們提出了一種新的方法:多語言 Fine-tune。這些方法可以根據 Fine-tuning 時使用的訓練資料和測試資料進行分類。
假設我們在只有英語訓練資料的情況下,希望在中文測試資料集上進行測試。這時有兩個基於機器翻譯的 Fine-tuning 方法:
• 測試資料翻譯(Translate Test)將中文的測試資料翻譯成英文的測試資料,將問題轉化成英文訓練、英文測試的問題。
• 訓練資料翻譯(Translate Train)將英文的訓練資料翻譯成中文的訓練資料,將問題轉化成中文訓練、中文測試的問題。
對於能同時編碼多種語言的模型,可以直接進行跨語言測試(Cross-lingual Test),也就是直接將在英語訓練集上訓練得到的模型在中文上進行測試。這種方法需要模型有較強的跨語言遷移能力。
在此基礎上,我們提出了一種新的 Fine-tuning 的方法,多語言 Fine-tuning。在多語言 Fine-tuning 中,英文訓練資料被翻譯成了多種語言,然後以多工的方式共同訓練,最後直接在中文測試集上進行測試。實驗表明,多語言 Fine-tuning 能夠穩定地提高模型在各個語言上的測試結果。對於一個確定的預訓練模型,Fine-tuning 的語言越多,效果也就越好。
詳細的實驗結果見圖7。可以看到,在同樣的 Fine-tuning 的情況下,Unicoder 的預訓練方法取得了比 baseline 方法更好的結果。在同樣預訓練模型的情況下,多語言 Fine-tuning 方法可以穩定提升每個語言的測試結果。透過結合 Unicoder 的預訓練和 Fine-tuning,我們取得了 XNLI 上的最優結果。更多的結果可以參看我們的論文[5]。
本文介紹了跨語言的機器推理任務,以及如何利用預訓練的方法將單語的機器推理擴充套件到其他語言。透過結合 Unicoder 提出的預訓練和 Fine-tuning,我們達到了 XNLI 資料上的最優結果。
敬請期待機器推理方法在更多推理任務上的應用!
參考文獻:
[1] Ming Zhou, Nan Duan, Shujie Liu, Heung-Yeung Shum. Progress in Neural NLP: Modeling, Learning and Reasoning. Accepted by Engineering, 2019.
[2] Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova. "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding." NAACL 2019.
[3] Conneau, Alexis, Ruty Rinott, Guillaume Lample, Adina Williams, Samuel Bowman, Holger Schwenk, and Veselin Stoyanov. "XNLI: Evaluating Cross-lingual Sentence Representations." EMNLP 2018.
[4] Lample, Guillaume, and Alexis Conneau. "Cross-lingual language model pretraining.". NeurlPIS 2019.
[5] Haoyang Huang, Yaobo Liang, Nan Duan, Ming Gong, Linjun Shou, Daxin Jiang, Ming Zhou. “Unicoder: A Universal Language Encoder by Pre-training with Multiple Cross-lingual Tasks”. EMNLP 2019.