本文7087字25圖,建議閱讀18分鐘。
本文對微軟亞洲研究院在EMNLP2019提交的7篇精選論文進行解讀。
編者按:EMNLP 2019於11月3日至11月7日在中國香港舉辦。本屆 EMNLP 大會中,微軟亞洲研究院共21篇論文入選,涵蓋預訓練、語義分析、機器翻譯等研究熱點。本文為大家介紹其中的7篇精選論文。
預訓練
視覺化和理解 BERT 的有效性
Visualizing and Understanding the Effectiveness of BERT
論文連結:https://arxiv.org/abs/1908.05620
預訓練語言模型 BERT 等在很多 NLP 任務上取得了顯著提升,但大家對其有效性的原因尚未充分理解。本文通過視覺化模型微調過程的損失表面和優化軌跡來嘗試理解 BERT 的有效性,發現預訓練過程可以使模型在下游任務上達到一個較好的初始點,並且微調 BERT 所得到的模型有更強的泛化能力。
圖1:微調 BERT 相對於從隨機初始化有著更廣闊且更平坦的優化區域
首先我們在不同任務上對比了微調 BERT 和從隨機初始化這兩種訓練方式,通過視覺化它們的一維和二維訓練損失表面,可以看出微調 BERT 相對於從隨機初始化有著更廣闊且更平坦的優化區域。
圖2:微調 BERT 可以更直接地找到優化方向,並對過擬合更加魯棒
之後通過視覺化微調 BERT 和從隨機初始化的優化軌跡,可以看出微調 BERT 可以更直接地找到優化方向,並且優化路徑更加平緩,這使其可以更快收斂。另外,我們發現即使在小資料(如 MRPC)上對模型微調更多的輪數,優化軌跡顯示其並未發生明顯的過擬合現象。
圖3:微調 BERT 在泛化誤差表面上有較大的區域性最優區域,表明預訓練帶來更強的模型泛化能力
以往工作表明更廣闊、平坦的區域性最優區域往往有更強的泛化能力。我們比較了微調 BERT 和隨機初始化,可以看出微調 BERT 在泛化誤差表面上依然有較大的區域性最優區域,這與訓練損失表面一致,表明預訓練可以帶來更強的模型泛化能力。
圖4:BERT 網路底層可遷移性更強,而高層則更多學習了和下游任務相關的知識
此外,本文還可視化了針對不同層的訓練損失表面,可以發現 BERT 較低層的損失表面有更廣闊的區域性最優區域。說明了 BERT 網路底層可遷移性更強,而高層則更多學習了和下游任務相關的知識。
文字生成
利用規則和預訓練網路進行文字正式性風格遷移
Harnessing Pre-Trained Neural Networks with Rules for Formality Style Transfer
論文連結:https://aka.ms/AA6h0mm
文字正式性(Formality)的研究對於廣泛的自然語言處理應用都有著重要的作用,例如輔助非母語者的寫作助手和兒童教育等。隨著深度學習技術在自然語言領域的不斷髮展,研究人員已經可以進行初步的非正式到正式文字的改寫。
本文從監督學習的角度對文字正式性改寫進行研究,主要關注由非正式文字到正式文字的改寫。傳統的基於監督學習的方法多從機器翻譯領域借鑑模型,例如直接使用 Seq2Seq 模型或 Transformer 模型基於平行語料進行訓練。研究人員的進一步研究表明使用經過規則處理的非正式文字與原始正式文字進行訓練可以得到更好的結果。我們發現引入規則的流水線式方法雖然有效降低了資料的複雜性,使模型能夠更容易地學習到一些複雜的模式,但由於規則自身的侷限性,難免引入一些噪聲。如圖5所示,R & B 作為一個實體,應該保持大寫。
圖5:原始非正式文字與基於規則的方法的結果
圖6:將規則融入生成模型的三種方式
本文采用了先進的預訓練語言模型——GPT2 來分別構建編碼器和解碼器。本文的編碼器-解碼器模型和 Transformer 的結構略有不同,如圖7所示,編碼器和解碼器都使用 GPT2 的 block 結構且不共享引數。
圖7:基於 GPT2 構建的編碼器-解碼器生成模型
本文在 GYAFC 資料集上進行了實驗,在 F&R 和 E&M 兩個 domain 上的結果如表1和表2所示:
表1:在 Family & Relationship 上的實驗結果
表2:在 Entertainment & Music 上的實驗結果
可以看到本文提出的 GPT-CAT(Concatenate Fine-tuning)方法在不同的場景下(domain 是否合併)都表現出了一致的最優結果,我們認為很可能是因為使用同一個編碼器進行編碼,使得兩個輸入文字在編碼階段得到了更多的互動,因此得到了更好的編碼表示。
開放域對話的無監督上下文改寫
Unsupervised Context Rewriting for Open Domain Conversation
論文連結:https://arxiv.org/abs/1910.08282
在聊天機器人中,多輪對話理解一直是一個非常困難的問題。目前,如果輸入是單輪對話,模型往往可以生成較好的回覆,然而如果輸入是多輪對話,機器所給出的回覆往往不盡如人意。為了解決這個問題,我們提出利用改寫的方法來幫助對上下文進行建模,將多輪對話輸入改寫為單輪對話輸入,如圖8所示。
圖8:將多輪對話輸入改寫為單輪輸入的示意圖
在這裡,我們使用多輪對話中的上下文資訊來改寫最後一輪的句子(query),在壓縮了上下文資訊的同時,也保留了對 query 最有用的資訊。利用改寫機制的好處在於:(1)改寫後的句子具有很好的可解釋性;(2)改寫後的 query 不依賴於下游任務,因此可以分別提升檢索式對話模型和生成式對話模型的效果;(3)改寫後的 query 可以使用單輪對話的模型,該類模型的效果相對於傳統的多輪對話模型較好,且計算量較小,適合線上系統。
利用改寫機制需要解決以下問題:(1)如何從上下文中抽取出有用的資訊;(2)如何將該部分資訊注入 query 中。為解決以上問題,我們採用無監督的方法來構造被改寫的語料,首先使用 Pointwise-Mutually-Information(PMI)演算法根據 query 和 response(回覆的句子),抽取上下文中與其共現概率最大的若干詞作為關鍵資訊。再使用語言模型將這些資訊插入 query 中,計算不同插入位置的得分,進而得到被改寫的 query。但是在實際的應用場景中,我們無法得到 response 的資訊,所以我們採用一個基於複製網路(copy-net)的深度模型來學習這部分先驗知識,並使用這些構造好的資料作為訓練集,利用該訓練集進行多輪對話上下文改寫模型訓練(Context Rewriting Network)。
圖9:多輪對話上下文改寫模型
然而,基於無監督的改寫方式存在一定的噪音,我們無法保證抽取出來的關鍵詞是否有助於下游任務,尤其是存在檢索式和生成式對話模型這兩種不同任務。我們針對這兩種不同任務,分別採用不同的獎勵函式(Reward),採用強化學習方式對模型進行微調(fine-tune),最終使得我們的模型在生成式和檢索式任務上均超越 baseline。而且由於使用了不同的獎勵函式,我們經過強化學習後的微調模型也成功超越了原始模型。
表3:得到檢索候選後,將多輪對話改寫並進行匹配度計算結果
表4:端到端檢索結果人工評價
表5:端到端生成結果人工評價(其中3為最佳)
語義分析
利用多工學習解決基於大規模知識圖譜的對話問答
Multi-Task Learning for Conversational Question Answering over a Large-Scale Knowledge Base
論文連結: https://arxiv.org/abs/1910.05069
基於大規模知識圖譜的對話問答在智慧私人助理系統(例如Cortana、Google Now、Siri、Alexa等)中起重要作用。近年來基於神經網路的語義解析(Semantic Parsing)方法在這個領域中取得了很大的進展。這種方法通過神經網路將自然語言轉化為機器可執行的邏輯表示式(Logical Form),然後通過在知識圖譜上執行邏輯表示式來獲得最終答案。
然而,大部分已有的工作主要採用一種分步的方法來解決這個問題。一種典型的方法是,首先進行實體識別並連結到知識圖譜中(Entity detection and linking),然後對謂詞進行分類(Predicate classification), 最後生成機器可執行的邏輯表示式(Logical form generation)。這種方法的缺陷是受 error propagation 影響較大,並且由於各個模組獨立進行訓練,不能充分利用監督資訊。
為了解決這些問題,本文提出一種基於多工學習的方法。具體來說,我們將語義解析問題分解為兩個子問題:(1)實體識別;(2)帶實體位置的邏輯表示式生成。前者對帶有上下文的自然語言問句進行序列標註,每個 word 都被分類為{O, {B, I} X NT}, 其中 O 表示非 entity,B、I分別表示 entity 的開始和中間,NT 代表 entity 型別個數,通過這種帶有 entity 型別的實體識別,我們可以很好地解決實體連結(entity linking)過程中的歧義問題。後者通過 sequence to sequence with pointer network 來實現,將自然語言問句翻譯為帶實體位置的邏輯表示式,其中的實體由其在輸入中的位置來表示。最後通過多工學習同時對兩個子問題進行學習。
圖10:多工語義解析模型(MaSP)
這種方法具有以下優勢:(1)多工學習有效地利用了所有的監督資訊;(2)由於上下文也同時輸入到模型中,可以有效地解決 coreference 和 ellipsis 問題;(3)在邏輯表示式生成過程中,通過預測實體位置而不是實體本身,可以有效地處理大規模知識圖譜中的大量實體;(4)實體識別中,通過預測實體的型別,可以有效地緩解實體連結過程中的歧義問題。在 CSQA 資料集上的實驗驗證了這個方法(MaSP)的有效性。
表6:基於 CSQA 資料集的實驗結果
機器翻譯
大規模利用單語資料進行神經機器翻譯
Exploiting Monolingual Data at Scale for Neural Machine Translation
論文連結:https://aka.ms/AA6i2nr
在機器翻譯中,目標語言端的無標資料被廣泛的利用,例如反向翻譯技術(back-translation)。相比之下,源語言端的無標資料並沒有被廣泛利用。本文系統地研究了如何同時利用源語言和目標語言端的無標資料,並提出了一種有效的資料使用流程。我們在 WMT 英德互譯和 WMT 德法互譯上驗證了演算法的有效性,並取得了非常優越的效能。
假設我們關注的是 X 和 Y 語言之間的互譯。我們要在給定的有標雙語資料集 B 上訓練 X->Y 和 Y->X 兩個翻譯模型,分別記做 f 和 g。同時,我們需要準備兩份無標資料 Mx 和 My,分別對應 X 和 Y 兩種語言。我們提出的演算法包括三步:
(1)無標註資料翻譯:我們將 Mx 中的每一個句子用 f 翻譯到 Y 語言,對 My 中的句子用 g 翻譯到 X 語言,得到兩個新的資料集合 Bs={(x, f(x))|x∈Mx}, Bt={(g(y),y)|y∈My}
(2)有噪聲訓練:我們給資料集 B、Bs 和 Bt 的源語言端都加上噪聲,包括隨機將單詞替換為
(3)微調:得到 f1 和 g1 之後,我們用在不同雙語資料上訓練得到的新的雙語模型f' 和 g' 來重新翻譯 Mx 和 My 無標資料得到 Bs' 和 Bt',在這份資料上再將 f1 和 g1 微調成最終的模型。
我們的實驗結果如表7所示。在第二階段,我們選用了120M(兩邊分別60M)無標資料。第三階段,使用40M(兩邊分別20M)無標資料。具體結果如下:
表7:實驗結果
可以看出每一個階段的結果都會有一定的提高,並且我們的方案取得了目前最好的結果。我們在德法互譯任務上也取得了類似的結果。
在文章中,我們對不同的資料使用方案也進行了詳細的討論和對比。簡單來說,我們驗證了:(1)源端和目標端的無標資料都是有用的;(2)有噪聲訓練這一階段對提升最終效能有幫助;(3)只使用源端或者目標端無標資料,效果不會隨著資料的增加而增加。如果同時使用上述兩種資料,在我們的實驗中,實驗效果會隨著資料的增多而得到提升。
利用訓練好的自迴歸模型來優化非自迴歸模型
Hint-Based Training for Non-Autoregressive Machine Translation
論文連結:https://arxiv.org/pdf/1909.06708.pdf
目前最先進的神經機器翻譯模型都採用自迴歸概率分解,即在解碼過程中逐個生成目標詞語。這種計算模式在現有的並行硬體(如GPU)上受到限制,使得其具有較高的推理延遲。最近提出的非自迴歸機器翻譯模型減少了模型所需要的時間,但只能達到較低的翻譯精度。為了提高非自迴歸模型的翻譯精度,我們提出一種新的方法,利用訓練好的自迴歸模型來幫助非自迴歸模型的優化。
圖11:利用訓練好的自迴歸模型來幫助非自迴歸模型的優化流程
具體地,我們定義了兩種來源於自迴歸模型的“提示”:來自隱狀態的提示與來自詞對齊與注意力機制的提示,並利用這些提示來正則化非自迴歸模型的訓練。實驗結果顯示我們的新模型比之前的模型顯著提高了翻譯品質。具體地,針對 WMT14 英語-德語和德語-英語任務,我們分別得到了25.20和29.52 BLEU 值的結果,大幅超越之前的非自迴歸翻譯基線模型。
基於語言聚類的多語言機器翻譯
Multilingual Neural Machine Translation with Language Clustering
論文連結:https://arxiv.org/pdf/1908.09324.pdf
多語言機器翻譯通常使用一個模型支援多種語言的翻譯,對於簡化模型訓練過程、降低線上維護成本、提升低資源以及零資源翻譯有著極其重要的作用。然而,無論是用一個翻譯模型支援世界上數千種語言,還是每種語言都用各自的翻譯模型,代價都非常高。所以,比較實用的做法是用少數幾個模型支援所有的語言。在資源(比如模型的數量)給定的情況下,如何決定哪些語言可以同時被一個模型支援,對於多語言機器翻譯非常重要。在這個工作中,我們提出的方法將語言聚類到不同的類別中,每個類別分別用一個多語言翻譯模型來支援。我們研究了兩種聚類方法:(1)利用先驗知識來聚類;(2)利用語言向量來聚類。
在第一種基於先驗知識的聚類中,我們使用了語系(Language Family)的知識。一個語系代表一組有著共同祖先的相似語言組成的語言類別。我們選用了比較權威並且廣泛使用的 Ethnologue 語系分類法。在這個分類體系中,全球7472種語言被分類成152個語系。圖12展示了我們實驗中使用的23種語言所屬的語系分類。
圖12:語系分類
在第二種基於語言向量的聚類中,我們對所有語言訓練了一個多語言翻譯模型,並在模型中用語言向量來區分不同的語言,語言向量在多語言翻譯模型中一起被訓練,可以用來表示不同語言的特徵,如圖13所示。我們使用層次聚類法對得到的語言向量進行聚類。
圖13:在多語言機器翻譯模型中學習語言向量來進行聚類
下面是實驗評估,我們選用了 IWSLT 2011~2018年,英語和23種其它語言之間的翻譯對進行實驗。
首先看語言的聚類結果。基於先驗知識的聚類結果如上圖12所示。基於語言向量的聚類結果如圖14所示。我們有幾點發現:(1)語言向量能很好的捕獲語言的語系關係;(2)語言向量也能反映語言的形態學資訊;(3)語言向量還能捕獲語言的一些由於區域、文化以及歷史因素的影響形成的關係。具體分析可見論文。
圖14:基於語言向量的聚類結果
然後看語言聚類的翻譯精度,表8列出了英語到其它語言的實驗結果,最後一列為23個翻譯的 BLEU 平均值。可以看到基於語言向量(Embedding)的聚類方法得到的模型要好於基於語系(Family)的聚類,同時比一個模型支援所有語言(Universal)以及每個語言分別用各自的模型(Individual)要好。Universal 模型的翻譯精度較差,而 Individual 模型增加了離線訓練和線上維護成本,這也是本文工作要解決的問題。我們基於語言向量(Embedding)的聚類在只用5個模型的成本上,相比 Individual(成本為23個模型)在23個語言的平均 BLEU 高0.7,相比 Universal(成本為1個模型)的平均 BLEU 高2.08,顯示了我們的聚類方法對於降低模型訓練維護成本以及提升翻譯精度的有效性。更多實驗結果和分析參見論文。
表8:實驗結果
— 完 —