然而近日,Salesforce發(fā)布了一項(xiàng)新的研究成果:decaNLP——一個可以同時處理機(jī)器翻譯、問答、摘要、文本分類、情感分析等十項(xiàng)自然語言任務(wù)的通用模型。
Salesforce的首席科學(xué)家RichardSocher表示:我們的decaNLP就好比NLP領(lǐng)域的瑞士軍刀!
深度學(xué)習(xí)已經(jīng)顯著地改善了自然語言處理任務(wù)中的最先進(jìn)的性能,如機(jī)器翻譯、摘要、問答和文本分類。每一個任務(wù)都有一個特定的衡量標(biāo)準(zhǔn),它們的性能通常是由一組基準(zhǔn)數(shù)據(jù)集測量的。這也促進(jìn)了專門設(shè)計(jì)這些任務(wù)和衡量標(biāo)準(zhǔn)的體系的發(fā)展,但是它可能不會促使那些能夠在各種自然語言處理(NLP)任務(wù)中表現(xiàn)良好的通用自然語言處理模型的涌現(xiàn)。為了探索這種通用模型的可能性以及在優(yōu)化它們時產(chǎn)生的權(quán)衡關(guān)系,我們引入了自然語言十項(xiàng)全能(decaNLP)。
這個挑戰(zhàn)涵蓋了十個任務(wù):問答、機(jī)器翻譯、摘要、自然語言推理、情感分析、語義角色標(biāo)注、關(guān)系抽取、任務(wù)驅(qū)動多輪對話、數(shù)據(jù)庫查詢生成器和代詞消解。自然語言十項(xiàng)全能(decaNLP)的目標(biāo)是開發(fā)出可以整合所有十個任務(wù)的模型,并研究這種模型與那些為單一任務(wù)訓(xùn)練而準(zhǔn)備的模型有何不同。出于這個原因,十項(xiàng)全能的表現(xiàn)會被一個統(tǒng)一的指標(biāo)所衡量,該指標(biāo)集合了所有十項(xiàng)任務(wù)的度量標(biāo)準(zhǔn)。
圖1.通過將 decaNLP的所有十個任務(wù)整合成問答形式,我們可以訓(xùn)練一個通用的問答模型
我們把所有十個任務(wù)都統(tǒng)一轉(zhuǎn)化為問答的方式,提出了一個新的多任務(wù)問答網(wǎng)絡(luò)(MQAN),它是一個不需要特定任務(wù)的模塊或參數(shù)而進(jìn)行共同學(xué)習(xí)任務(wù)的網(wǎng)絡(luò)。在機(jī)器翻譯和實(shí)體識別命名中,MQAN顯示出了遷移學(xué)習(xí)(Transfer learning)方面的改進(jìn)。在情感分析和自然語言推理中,MQAN顯示出了在領(lǐng)域適應(yīng)方面的改進(jìn),同時對于文本分類方面也顯示出了其zero-shot的能力。
在與基線的比較中,我們證明了MQAN的多指針編解碼器(multi-pointer-generator decoder)是成功的關(guān)鍵,并且使用相反的訓(xùn)練策略(anti-curriculum training strategy)進(jìn)一步改進(jìn)了性能。 盡管該設(shè)計(jì)用于decaNLP和通用的問答,MQAN恰好也能在單任務(wù)設(shè)置中表現(xiàn)良好:它在WikiSQL語義解析任務(wù)上與單項(xiàng)模型最佳成績旗鼓相當(dāng),任務(wù)驅(qū)動型對話任務(wù)中它排名第二,在SQuAD數(shù)據(jù)集不直接使用跨監(jiān)督方法的模型中它得分最高,同時在其他任務(wù)中也表現(xiàn)良好。decaNLP的從獲取和處理數(shù)據(jù)、訓(xùn)練和評估模型到復(fù)現(xiàn)實(shí)驗(yàn)的所有代碼已經(jīng)開源。
任務(wù)
圖2.(問題、上下文、答案)問答、機(jī)器翻譯、摘要、自然語言推理、情感分析、詞性標(biāo)注、關(guān)系抽取、目標(biāo)導(dǎo)向?qū)υ挕⒄Z義解析和代詞解析任務(wù)的例子
讓我們首先開始討論這些任務(wù)及其相關(guān)數(shù)據(jù)集。我們的論文包含更多的細(xì)節(jié),包括對每個任務(wù)的歷史背景和最近的工作進(jìn)行更深入的討論。每個任務(wù)的輸入-輸出對示例如上圖所示。
問答。問答(QA)模型接收一個問題以及它所包含的必要的信息的上下文來輸出理想的答案。我們使用斯坦福問答數(shù)據(jù)集的原始版本(SQuAD)來完成這項(xiàng)任務(wù)。該上下文是從英文維基百科中摘取的段落,答案是從文章中復(fù)制的單詞序列。
機(jī)器翻譯。機(jī)器翻譯模型以源語言文本的形式為輸入,輸出為翻譯好的目標(biāo)語言。我們使用2016年為國際口語翻譯研討會(IWSLT)準(zhǔn)備的英譯德數(shù)據(jù)為訓(xùn)練數(shù)據(jù)集,使用2013年和2014年的測試集作為驗(yàn)證集和測試集。這些例子來自TED演講,涵蓋了會話語言的各種主題。這是一個相對較小的機(jī)器翻譯數(shù)據(jù)集,但是它與其他任務(wù)的數(shù)據(jù)集大致相同。當(dāng)然你還可以使用額外的訓(xùn)練資源,比如機(jī)器翻譯大賽(WMT)中的數(shù)據(jù)集。
摘要。摘要模型接收一個文檔并輸出該文檔的摘要。如今在摘要方面最重要的進(jìn)展是將CNN/DailyMail (美國有線電視新聞網(wǎng)/每日郵報(bào))語料庫轉(zhuǎn)換成一個摘要數(shù)據(jù)集。我們在decaNLP中包含這個數(shù)據(jù)集的非匿名版本。平均來講,這些實(shí)例包含了該挑戰(zhàn)賽中最長的文檔,以及從上下文直接提取答案與語境外生成答案之間平衡的force Model。
自然語言推理。自然語言推理(NLI)模型接受兩個輸入句子:一個前提和一個假設(shè)。模型必須將前提和假設(shè)之間的推理關(guān)系歸類為支持、中立或矛盾。我們使用的是多體裁自然語言推理語料庫(MNLI),它提供來自多個領(lǐng)域的訓(xùn)練示例(轉(zhuǎn)錄語音、通俗小說、政府報(bào)告)和來自各個領(lǐng)域的測試對。
情感分析。情感分析模型被訓(xùn)練用來對輸入文本表達(dá)的情感進(jìn)行分類。斯坦福情感樹庫(SST)由一些帶有相應(yīng)的情緒(積極的,中立的,消極的)的影評所組成。我們使用未解析的二進(jìn)制版本,以便明確對decaNLP模型的解析依賴。
語義角色標(biāo)注。語義角色標(biāo)注(SRL)模型給出一個句子和謂語(通常是一個動詞),并且必須確定“誰對誰做了什么”、“什么時候”、“在哪里”。我們使用一個SRL數(shù)據(jù)集,該數(shù)據(jù)集將任務(wù)視為一種問答:QA-SRL。這個數(shù)據(jù)集涵蓋了新聞和維基百科的領(lǐng)域,但是為了確保decaNLP的所有數(shù)據(jù)都可以自由下載,我們只使用了后者。
關(guān)系抽取。關(guān)系抽取系統(tǒng)包含文本文檔和要從該文本中提取的關(guān)系類型。在這種情況下,模型需要先識別實(shí)體間的語義關(guān)系,再判斷是不是屬于目標(biāo)種類。與SRL一樣,我們使用一個數(shù)據(jù)集,該數(shù)據(jù)集將關(guān)系映射到一組問題,以便關(guān)系抽取可以被視為一種問答形式:QA-ZRE。對數(shù)據(jù)集的評估是為了在新的關(guān)系上測量零樣本性能——數(shù)據(jù)集是分開的使得測試時看到的關(guān)系在訓(xùn)練時是無法看到的。這種零樣本的關(guān)系抽取,以問答為框架,可以推廣到新的關(guān)系之中。
任務(wù)驅(qū)動多輪對話。對話狀態(tài)跟蹤是任務(wù)驅(qū)動多輪對話系統(tǒng)的關(guān)鍵組成部分。根據(jù)用戶的話語和系統(tǒng)動作,對話狀態(tài)跟蹤器會跟蹤用戶為對話系統(tǒng)設(shè)定了哪些事先設(shè)定目標(biāo),以及用戶在系統(tǒng)和用戶交互過程中發(fā)出了哪些請求。我們使用的是英文版的WOZ餐廳預(yù)訂服務(wù),它提供了事先設(shè)定的關(guān)于食物、日期、時間、地址和其他信息的本體,可以幫助代理商為客戶進(jìn)行預(yù)訂。
語義解析。SQL查詢生成與語義解析相關(guān)?;赪ikiSQL數(shù)據(jù)集的模型將自然語言問題轉(zhuǎn)換為結(jié)構(gòu)化SQL查詢,以便用戶可以使用自然語言與數(shù)據(jù)庫交互。
代詞消解。我們的最后一個任務(wù)是基于要求代詞解析的Winograd模式:“Joan一定要感謝Susan的幫助(給予/收到)。誰給予或者收到了幫助?Joan還是Susan?”。我們從Winograd模式挑戰(zhàn)中的示例開始,并對它們進(jìn)行了修改(導(dǎo)致了修訂的Winograd模式挑戰(zhàn),即MWSC),以確保答案是上下文中的單個單詞,并且分?jǐn)?shù)不會因上下文、問題和答案之間的措辭或不一致而增加或者減少。
十項(xiàng)全能得分(decaScore)
在decaNLP上競爭的模型是被特定任務(wù)中度量標(biāo)準(zhǔn)的附加組合來評估的。所有的度量值都在0到100之間,因此十項(xiàng)全能得分在10個任務(wù)中的度量值在0到1000之間。使用附加組合可以避免我們在權(quán)衡不同指標(biāo)時可能產(chǎn)生的隨意性。所有指標(biāo)都不區(qū)分大小寫。我們將標(biāo)準(zhǔn)化的F1(nF1)用于問答、自然語言推理、情感分析、詞性標(biāo)注和MWSC;平均值ROUGE-1、ROUGE-2、ROUGE-L作為摘要的評分等級;語料BLEU水平得分用于對機(jī)器翻譯進(jìn)行評分;聯(lián)合目標(biāo)跟蹤精確匹配分?jǐn)?shù)和基于回合的請求精確匹配得分的平均值用于對目標(biāo)導(dǎo)向進(jìn)行評分;邏輯形式精確匹配得分用于WikiSQL上的語義解析;以及語料庫級F1評分等級,用于QA-ZRE的關(guān)系提取。
為了代替標(biāo)準(zhǔn)的驗(yàn)證數(shù)據(jù),我們選擇了按要求的decaNLP模型提交到原始的小組平臺進(jìn)行測試。類似地,MNLI測試集不是公開的,decaNLP模型必須通過一個Kaggle系統(tǒng)來評估MNLI的測試性能。
多任務(wù)問答網(wǎng)絡(luò)(MQAN)
圖3.多任務(wù)問答網(wǎng)絡(luò)
為了有效地在所有decaNLP中進(jìn)行多任務(wù)處理,我們引入了MQAN,一個多任務(wù)問題回答網(wǎng)絡(luò),它沒有任何針對特定任務(wù)的參數(shù)和模塊。
簡單地說,MQAN采用一個問題和一個上下文背景文檔,用BiLSTM編碼,使用額外的共同關(guān)注對兩個序列的條件進(jìn)行表示,用另兩個BiLSTM壓縮所有這些信息,使其能夠更高層進(jìn)行計(jì)算,用自我關(guān)注的方式來收集這種長距離依賴關(guān)系,然后使用兩個BiLSTM對問題和背景環(huán)境的進(jìn)行最終的表示。多指針生成器解碼器著重于問題、上下文以及先前輸出象征來決定是否從問題中復(fù)制,還是從上下文復(fù)制,或者從有限的詞匯表中生成。關(guān)于我們的模型的其他細(xì)節(jié)可以在我們的文章的第3節(jié)中找到。
基線和結(jié)果
除了MQAN,我們還嘗試了幾種基線方法并計(jì)算了它們的十項(xiàng)全能得分。第一個基線,S2S,是具有注意力和指針生成器的序列到序列的網(wǎng)絡(luò)。我們的第二基線,S2S w/SAtt,是一個S2S網(wǎng)絡(luò),它在編碼器側(cè)的BiLTM層和解碼器側(cè)的LSTM層之間添加了自注意(Transformer)層。我們的第三個基線,+CAtt,將上下文和問題分成兩個序列,并在編碼器側(cè)添加一個額外的共同關(guān)注層。MQAN是一個種帶有附加問題指針的+CAtt模型,在我們的基線/消融研究中,它被稱為+QPtr。針對每一個模型,我們都提出了兩種實(shí)驗(yàn)。第一,我們報(bào)告出十個任務(wù)模型中的單任務(wù)性能。第二,我們提出多任務(wù)性能,即模型在所有任務(wù)中被聯(lián)合訓(xùn)練所體現(xiàn)出的性能。
圖4.單任務(wù)和多任務(wù)實(shí)驗(yàn)對不同模型和訓(xùn)練策略的驗(yàn)證結(jié)果
比較這些實(shí)驗(yàn)的結(jié)果突出了在序列到序列和通用NLP問答方法之間的多任務(wù)和單任務(wù)之間的權(quán)衡關(guān)系。從S2S到S2S w/ SAtt提供了一種模型,該模型在混合上下文和輸入的系列問題中添加了附加關(guān)注層。這大大提高了 SQuAD和WiKISQL的性能,同時也提高了QA-SRL的性能。僅此一點(diǎn)就足以實(shí)現(xiàn)WiKISQL的最新技術(shù)性能。這也表明,如果不隱性地學(xué)習(xí)如何分離它們的表示方法,而顯性地去分離上下文和問題會使模型建立更豐富的表示方法。
下一個基線使用上下文和問題作為單獨(dú)的輸入序列,相當(dāng)于使用一個共同關(guān)注機(jī)制(+CAT)來增強(qiáng)S2S模型,該機(jī)制分別構(gòu)建了兩個序列表示。 使得每個SQuAD和QA-SRL的性能增加了 5 nF1。但遺憾的是,這種分離不能改善其他任務(wù),并且極大地?fù)p害了MNLI和MWSC的性能。對于這兩個任務(wù),可以直接從問題中復(fù)制答案,而不是像大多數(shù)其他任務(wù)那樣從上下文中復(fù)制答案。由于兩個S2S基線都將問題連接到上下文,所以指針生成器機(jī)制能夠直接從問題中復(fù)制。當(dāng)上下文和問題被分成兩個不同的輸入時,模型就失去了這種能力。
為了補(bǔ)救這個問題,我們在前面的基線中添加了一個問題指針(+QPTR),一種在之前添加給MQAN的指針。這提高了MNLI和MWSC的性能,甚至能夠比S2S基線達(dá)到更高的分?jǐn)?shù)。它也改善了在SQuAD,IWSLT和 CNN/DM上的性能,該模型在WiKISQL上實(shí)現(xiàn)了最新的成果,是面向目標(biāo)的對話數(shù)據(jù)集的第二高執(zhí)行模型,并且是非顯式地將問題建模為跨度提取的最高性能模型。因?yàn)楫?dāng)使用直接跨度監(jiān)督時,我們會看到應(yīng)用在通用問答中的一些局限性。
在多任務(wù)設(shè)置中,我們看到了類似的結(jié)果,但我們還注意到一些額外的顯著特性。在QA-ZRE中,零樣本關(guān)系提取,性能比最高的單任務(wù)模型提高11個點(diǎn),這支持了多任務(wù)學(xué)習(xí)即使在零樣本情況下也能得到更好的泛化的假設(shè)。在需要大量使用S2S基線的指針生成器解碼器的生成器部分的任務(wù)上,性能下降了50%以上,直到問題指針再次添加到模型中。我們認(rèn)為這在多任務(wù)設(shè)置中尤為重要。
原因有二:首先,問題指針除了在一個共同參與的上下文語境環(huán)境之外,還有一個共同參與的問題。這種分離允許有關(guān)問題的關(guān)鍵信息直接流入解碼器,而不是通過共同參與的上下文。其次,通過更直接地訪問這個問題,模型能夠更有效地決定何時生成輸出令牌比直接復(fù)制更合適。
使用這種反課程訓(xùn)練策略,最初只針對問答進(jìn)行訓(xùn)練,在decaNLP上的性能也進(jìn)一步有所提高。
零樣本和遷移學(xué)習(xí)能力
圖5.在適應(yīng)新域和學(xué)習(xí)新任務(wù)時,MQAN對decaNLP的預(yù)訓(xùn)練優(yōu)于隨機(jī)初始化。左:一個新的語言對的訓(xùn)練-英文到捷克語,右:訓(xùn)練一個新的任務(wù)-實(shí)體識別命名(NER)
考慮到我們的模型是在豐富和多樣的數(shù)據(jù)上進(jìn)行訓(xùn)練的,它構(gòu)建了強(qiáng)大的中間表示方法,從而實(shí)現(xiàn)了遷移學(xué)習(xí)。相對于一個隨機(jī)初始化的模型,我們的模型在decaNLP上進(jìn)行了預(yù)先訓(xùn)練,使得在幾個新任務(wù)上更快的收斂并且也提高了分?jǐn)?shù)。我們在上圖中給出了兩個這樣的任務(wù):命名實(shí)體識別和英文到捷克語的翻譯。 我們的模型也具有領(lǐng)域適應(yīng)的零樣本能力。
我們的模型在decaNLP上接受過訓(xùn)練,在沒有看過訓(xùn)練數(shù)據(jù)的情況下,我們將SNLI數(shù)據(jù)集調(diào)整到62%的精確匹配分?jǐn)?shù)。因?yàn)閐ecaNLP包含SST,它也可以在其他二進(jìn)制情感分析任務(wù)中執(zhí)行得很好。在亞馬遜和Yelp的評論中,MQAN在decaNLP上進(jìn)行了預(yù)先培訓(xùn),分別獲得了82.1%和80.8%的精確匹配分?jǐn)?shù)。此外,用高興/憤怒或支持/不支持來替換訓(xùn)練標(biāo)簽的符號來重新表示問題,只會導(dǎo)致性能的輕微下降,因?yàn)槟P椭饕蕾囉赟ST的問題指針。這表明,這些多任務(wù)模型對于問題和任務(wù)中的微小變化更加可靠,并且可以推廣到新的和不可見的類。
-
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5493瀏覽量
120998 -
自然語言
+關(guān)注
關(guān)注
1文章
287瀏覽量
13334 -
nlp
+關(guān)注
關(guān)注
1文章
487瀏覽量
22015
原文標(biāo)題:NLP通用模型誕生?一個模型搞定十大自然語言常見任務(wù)
文章出處:【微信號:AItists,微信公眾號:人工智能學(xué)家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論