蘇玉蘭,洪 宇,朱鴻雨,武愷莉,張 民
(蘇州大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215006)
問題生成(Question Generation,QG)任務(wù)旨在借助語境的理解,實現(xiàn)問句的自動生成。現(xiàn)有基于SQuAD[1](Stanford Question Answering Dataset,SQuAD)數(shù)據(jù)集的實驗場景中,問題生成系統(tǒng)的輸入是一條蘊(yùn)含目標(biāo)答案的陳述句,輸出則為一條針對目標(biāo)答案的目標(biāo)疑問句。例1給出了該數(shù)據(jù)集中問題生成任務(wù)的數(shù)據(jù)樣例。
問題生成任務(wù)是一種遵循語義編碼和解碼規(guī)律的任務(wù)。其中,語義編碼的目的是對陳述句的語義信息進(jìn)行分布式表示,而語義解碼則是一種依賴編碼表示,自動生成問句形式的文字序列的過程。從而,前人研究主要采用端對端的模型架構(gòu),并通過結(jié)合神經(jīng)網(wǎng)絡(luò)的表示學(xué)習(xí)和分布式計算能力,實現(xiàn)問題生成。同時,基于端對端模型的注意力機(jī)制[2]、拷貝機(jī)制[3]和指針網(wǎng)絡(luò)[4]也被相繼提出,并顯著提高了問題生成的性能。
例1:
陳述句:the game’s media day, which was typically held on the tuesday afternoon prior to the game, was moved to the monday evening and re-branded assuperbowlopeningnight.
<譯文:通常在賽前周二下午舉辦的媒體日改為周一晚上,并被重新命名為超級碗開幕之夜。>
目標(biāo)疑問句:what new name was given to the media day ?
<譯文:媒體日被賦予了什么新的名字?>
近期,預(yù)訓(xùn)練語言模型在自然語言處理領(lǐng)域得到了廣泛的應(yīng)用。其在大規(guī)模通用語言學(xué)資源中獲得的充沛語義信息量,促使其在特定上下文語境中的詞項語義編碼更為確切。同時,編碼解碼架構(gòu)既可復(fù)制于下游任務(wù)的表示學(xué)習(xí)和判別過程,也可應(yīng)用于端對端的生成過程。因此,本文嘗試將預(yù)訓(xùn)練語言模型引入問題生成任務(wù)。初步實驗證明,利用近期提出的UNILM-V2[5](UNIfied Language Model,UNILM)預(yù)訓(xùn)練模型進(jìn)行測試,問題生成的性能取得了約5個百分點的BLEU4值提升(1)對比對象為自注意力編碼和指針解碼模型。。同時,Chan 等[6]利用BERT的問題生成模型,也取得了近似的性能。
然而,直接套用預(yù)訓(xùn)練語言模型的端對端生成架構(gòu),且在訓(xùn)練過程中實現(xiàn)模型微調(diào)(Fine-tuning)的應(yīng)用方法,存在明顯的適應(yīng)性問題。最為明顯的“欠適應(yīng)”現(xiàn)象來自暴露偏差[7]和掩碼異構(gòu)。其中,暴露偏差發(fā)生于問題語句的解碼階段,體現(xiàn)為逐詞解碼過程中“被暴露”的上下文信息的不對等性,即訓(xùn)練過程可暴露Ground-truth的正確上下文,測試階段只能暴露上一時刻預(yù)測的不可靠上下文。相對地,掩碼異構(gòu)現(xiàn)象貫穿整個編碼和解碼過程。表示學(xué)習(xí)的目標(biāo)任務(wù)差異,是導(dǎo)致掩碼異構(gòu)的根本原因。具體地,語言模型的預(yù)訓(xùn)練過程執(zhí)行的是“完形填空”式的詞項解碼任務(wù),且詞項的掩碼可隨機(jī)指定。但是,問題生成任務(wù)則需要解碼整個未知問句,掩碼的對象是當(dāng)前解碼時刻的全部后續(xù)信息。本文第2節(jié)將通過實例詳細(xì)解釋暴露偏差和掩碼異構(gòu)。
本文假設(shè),當(dāng)上述暴露偏差和掩碼異構(gòu)現(xiàn)象得到緩解的時候,預(yù)訓(xùn)練語言模型將在問題生成任務(wù)中發(fā)揮更為積極的作用,即適應(yīng)性得到提升。為了驗證這一假設(shè),本文選擇UNILM-V2作為實驗對象,并將其作為基線模型。在此基礎(chǔ)上,對UNILM-V2的訓(xùn)練過程進(jìn)行了兩項改進(jìn)。其一,利用基于噪聲暴露的強(qiáng)化訓(xùn)練方法緩解暴露偏差問題;其二,借助遷移學(xué)習(xí)在任務(wù)相關(guān)的擴(kuò)展數(shù)據(jù)集上二次訓(xùn)練端對端模型。特別地,本文從其他閱讀理解和問答數(shù)據(jù)中選取候選樣本,利用啟發(fā)式規(guī)則抽取問答對子,并借此構(gòu)建擴(kuò)展數(shù)據(jù)集ARQG(Answer-selection and Reading-comprehension for Question Generation),專門用于支持遷移學(xué)習(xí)過程。
本文繼承前人的實驗設(shè)置場景,使用SQuAD[7]中的{疑問句、答案和語段上下文}三元組進(jìn)行句子級問題生成實驗。若在實驗中利用了數(shù)據(jù)集中的答案信息,即針對原數(shù)據(jù)集中給定的答案生成指定問題,我們將其稱為答案可知的問題生成任務(wù);若不利用答案信息,即對生成問題的答案不做限制,我們將其稱為答案不可知的問題生成任務(wù)。實驗結(jié)果證明,當(dāng)利用噪聲暴露和遷移學(xué)習(xí)方法進(jìn)行適應(yīng)性優(yōu)化之后,UNILM-V2模型在上述兩種任務(wù)場景下和全部評測指標(biāo)上,都獲得了性能提高。本文的主要貢獻(xiàn)包括:
(1)詳細(xì)探討了現(xiàn)有預(yù)訓(xùn)練語言模型對問題生成任務(wù)的適應(yīng)性,并著重說明了暴露偏差和掩碼異構(gòu)是導(dǎo)致“欠適應(yīng)”問題的重要因素;
(2)驗證了基于噪聲暴露的強(qiáng)化訓(xùn)練方法,有助于緩解暴露偏差問題,并有效提高問題生成性能;
(3)構(gòu)建了針對問題生成任務(wù)的外部數(shù)據(jù)集ARQG,并通過在ARQG上的遷移學(xué)習(xí),緩解跨任務(wù)訓(xùn)練中的掩碼異構(gòu)問題,促進(jìn)了預(yù)訓(xùn)練模型的微調(diào)過程對新任務(wù)的適應(yīng)能力。實驗證明,這一方法對問題生成過程產(chǎn)生了積極影響。
本文組織結(jié)構(gòu)如下: 第一節(jié)簡要介紹問題生成任務(wù)的相關(guān)工作;第二節(jié)借助實際樣例具體解釋暴露偏差和掩碼異構(gòu)問題;第三節(jié)描述基于預(yù)訓(xùn)練模型UNILM-V2的問題生成模型;第四節(jié)詳述適應(yīng)性優(yōu)化策略,包括噪聲暴露的具體方法、遷移學(xué)習(xí)策略和擴(kuò)展數(shù)據(jù)集ARQG的構(gòu)造過程;第五節(jié)介紹實驗設(shè)置,包括數(shù)據(jù)集、超參配置及評價指標(biāo);第六節(jié)分析實驗結(jié)果;第七節(jié)總結(jié)全文。
問題生成研究在國際上剛剛起步,但符合生成模式的語義編碼和解碼研究則較為充實。本節(jié)首先圍繞問題生成任務(wù),概述近期出現(xiàn)的前沿技術(shù);其次,本節(jié)簡單介紹預(yù)訓(xùn)練語言模型中的生成技術(shù)。
問題生成傳統(tǒng)的問題生成任務(wù)多數(shù)基于神經(jīng)網(wǎng)絡(luò)模型。Du等[8]首次使用基于注意力機(jī)制的端到端模型解決答案不可知的問題生成任務(wù)(Answer-agnostic QG),實驗證明基于神經(jīng)網(wǎng)絡(luò)的解決方法明顯優(yōu)于基于規(guī)則的解決方法。Scialom等[9]使用Transformer[10]框架解決問題生成任務(wù),并研究了不同策略對停用詞的解決效果。Zhou等[11]在陳述句中加入了詞匯特征和答案信息,同時使用拷貝機(jī)制[3]來解決答案可知的問題生成研究(Answer-aware QG)。Dong等[12]使用問題類型信息,通過問題分類模型對目標(biāo)答案的類型進(jìn)行預(yù)測,并將其加入到問題生成過程,以此生成具體的問句。Chan等修改了預(yù)訓(xùn)練模型BERT的掩碼策略,讓非針對生成任務(wù)訓(xùn)練的預(yù)訓(xùn)練模型適用問題生成任務(wù),并從中取得不錯的性能。
預(yù)訓(xùn)練語言模型近期,預(yù)訓(xùn)練語言模型在自然語言處理領(lǐng)域備受關(guān)注。BERT[13]和XLNet[14]在眾多自然語言理解任務(wù)中取得了顯著的成果。MASS[15]在模型的編碼器中加入部分掩碼,通過編碼器、解碼器及注意力機(jī)制在解碼端生成該部分掩碼。UNILM-V1[16]對生成任務(wù)的目標(biāo)句子做掩碼,并通過BERT的MLM(Masked Language Model)任務(wù)得到被掩碼的部分。UNILM-V2[5]在UNILM-V1的基礎(chǔ)上加入基于部分自回歸的掩碼策略,使模型能對連續(xù)的mask部分進(jìn)行整體預(yù)測,增加了模型對詞塊的理解和生成能力。這些預(yù)訓(xùn)練語言模型在自然語言生成任務(wù)中取得了重大突破。
本節(jié)結(jié)合問題生成案例,解釋由暴露偏差和掩碼異構(gòu)導(dǎo)致的預(yù)訓(xùn)練模型適應(yīng)性問題。
暴露偏差是較為常見的適應(yīng)性問題?!氨┞丁碧刂干舷挛男畔⒌南闰炓阎?,呈現(xiàn)為對特定編碼時刻開放的可靠語境?!氨┞镀睢敝傅氖怯?xùn)練階段和測試階段暴露的信息量相互迥異。其成因可歸結(jié)為如下兩點:
(1)現(xiàn)有基于端對端模型的語言生成方法,往往為了加快訓(xùn)練階段中模型的收斂速度,在解碼的每個時刻,直接暴露標(biāo)準(zhǔn)問句原文的上下文信息(Ground-truth Context)。
(2)測試階段,原文的上下文信息皆是預(yù)測對象,存在于黑箱之中,不可在任何解碼時刻作為已知條件進(jìn)行暴露,由此,每個解碼時刻可用的上下文信息只能是端對端模型預(yù)測的結(jié)果,而這些結(jié)果中不可避免地存在錯誤。
因此,“暴露偏差”實際上是可靠上下文信息量的差異,訓(xùn)練階段可靠信息量大,測試階段可靠信息量少。暴露偏差往往導(dǎo)致測試性能低于預(yù)期,即與訓(xùn)練階段和開發(fā)階段的可觀測性能有著較大的差異。以預(yù)訓(xùn)練語言模型為底層結(jié)構(gòu)的端對端問題生成系統(tǒng),也無法避免暴露偏差現(xiàn)象。表1中給出了一項應(yīng)用實例,其面向例1中陳述句進(jìn)行編碼,并解碼為一條疑問句。由表1可見,如果這一實例用于訓(xùn)練端對端模型,則解碼器在每個時刻可以使用的上下文信息,是正確疑問句中確切的先驗詞項(即表1中訓(xùn)練階段目標(biāo)列的詞項);相對地,如果這一實例是測試樣本,則處于測試階段的解碼器,并不能使用標(biāo)準(zhǔn)的上下文信息作為已知條件進(jìn)行下一時刻的預(yù)測,只能依賴自身前n個時刻(n>1)的詞項預(yù)測結(jié)果,作為“并不標(biāo)準(zhǔn)”的上下文信息(即表1中測試階段實際列的詞項)。對于后者而言(測試階段),任何一個時刻的錯誤預(yù)測,都將直接或間接影響后續(xù)的預(yù)測,導(dǎo)致一定的錯誤累積。例如,表1中的實例,在預(yù)測階段的第二個步驟(2nd Step)即產(chǎn)生預(yù)測錯誤,對后續(xù)的一系列詞項的生成都將產(chǎn)生誤導(dǎo)。
表1 暴露偏差現(xiàn)象的實例
掩碼異構(gòu)出現(xiàn)于預(yù)訓(xùn)練模型應(yīng)用階段,主要由以下兩個原因造成:
(1)模型在預(yù)訓(xùn)練和微調(diào)訓(xùn)練時使用的掩碼方式和學(xué)習(xí)目標(biāo)不同。如BERT,在預(yù)訓(xùn)練時僅需要生成一句話中掩碼的部分,且其在生成時能捕獲的信息更加豐富。即使是為生成任務(wù)訓(xùn)練的預(yù)訓(xùn)練模型UNILM,其在預(yù)訓(xùn)練時,也僅僅在BERT的基礎(chǔ)上減少模型可捕獲信息,進(jìn)而讓其進(jìn)行簡單的類似于完形填空式的生成任務(wù)。
(2)與傳統(tǒng)模型相比,預(yù)訓(xùn)練模型規(guī)模龐大,在訓(xùn)練階段使用的訓(xùn)練語料也更為豐富。以問題生成任務(wù)為例,問題生成任務(wù)是一個端到端的生成式任務(wù),需要模型在理解給定陳述句或陳述句和答案的情況下,逐字地生成目標(biāo)問題中的每個字。因此,問題生成任務(wù)的難度天然大于大部分語言模型的任務(wù),當(dāng)下游任務(wù)訓(xùn)練數(shù)據(jù)不足時,我們很難將龐大的語言模型完美轉(zhuǎn)化為下游任務(wù)需要的模型。
本文將預(yù)訓(xùn)練語言模型UNILM-V2作為基準(zhǔn)模型,并利用該模型構(gòu)建問題生成系統(tǒng)。本節(jié)首先概述UNILM-V2模型的應(yīng)用方法。
給定某一陳述句C={c1,c2,…,cm}和目標(biāo)答案A={a1,a2,…,an},問題生成的目標(biāo)是自動預(yù)測疑問句Y=y1,y2,…,yt中的詞項序列。其中,m、n、t分別為C、A、Y的長度,A為C中連續(xù)的片段。此外,MASK={m1,m2,…,mt}為模型中的掩碼部分,mi為yi(10%)或詞表中隨機(jī)詞匯(10%)或[mask]標(biāo)志(80%)。最終,模型的輸入如式(1)所示。
X=([CLS],C,[SEP],Y,[SEP],MASK,[SEP])
(1)
其中,模型輸入詞向量表示包括三部分,詞嵌入向量、位置向量和分割向量。[CLS]為包含整個輸入部分語義信息的標(biāo)志,[SEP]為區(qū)分輸入中不同句子的分隔標(biāo)志。在答案不可知的問題生成任務(wù)中,C=(C),在答案可知的問題生成任務(wù)中C=(C,[SEP],A)。此外,MASK部分包含詞的個數(shù)與Y相同,且MASK部分每個詞嵌入中的位置向量和分割向量與Y中的對應(yīng)項相同。
X輸入至多層Transformer[10]后,將進(jìn)行多頭自注意力計算以得到最終隱狀態(tài)。其中,C與Y的多輪自注意力計算如式(2)、式(3)所示。
MASK部分為模型擬合真實目標(biāo)疑問句部分,在使用強(qiáng)制學(xué)習(xí)的訓(xùn)練過程中,其捕獲的信息都為正確信息,具體自注意力計算如式(4)所示。
(4)
經(jīng)過多輪多頭自注意力機(jī)制計算后,得到最終MASK部分隱狀態(tài)作為生成的目標(biāo)疑問句隱狀態(tài)。
為了緩解暴露偏差問題,ERNIE-GEN[17]在預(yù)訓(xùn)練與下游任務(wù)訓(xùn)練時,在目標(biāo)生成部分中加入噪聲,使其在各類生成任務(wù)中表現(xiàn)出色。本文借鑒該方法并基于此進(jìn)行研究,在沒有ERNIE-GEN預(yù)訓(xùn)練模型加持情況下,在其余生產(chǎn)任務(wù)場景下使用噪聲處理方法能否獲得相同出色的表現(xiàn)。
給定原始疑問句的詞向量表示Y={y1,y2,…,yt},通過噪聲處理,將Y中詞匯隨機(jī)更換為詞表中詞匯的詞嵌入表示,形成新的蘊(yùn)含噪聲的表示Y′={y′1,y′2,…,y′t}。如表2所示,經(jīng)過噪聲處理之后,每個時刻,MASK部分所捕獲的信息將包含部分錯誤信息,即表2中“noise”部分。
表2 噪聲處理實例
本文使用超參ρ控制噪聲在目標(biāo)疑問句中的占比。模型的輸入表示如式(5)所示。
X′=([CLS],C,[SEP],Y′,[SEP],MASK,[SEP])
(5)
本文將X′輸入多層Transformer,C部分的多輪自注意力計算如式(2)所示,Y′部分的自注意力計算如式(6)所示。
(6)
如表2中噪聲處理實例所示,在訓(xùn)練的第三、四、七和九個步驟,模型都相對上個時刻多捕獲了一個無效信息,即表中噪聲(noise)。MASK部分在模型中的自注意力計算如式(7)所示。
(7)
由此,在與真實目標(biāo)疑問句計算損失進(jìn)行擬合時,將訓(xùn)練模型注意力,把注意力放在捕獲的正確信息上,從而減少噪聲,即錯誤信息對之后時刻的影響。模型訓(xùn)練過程中,MASK部分與真實目標(biāo)疑問句Y進(jìn)行擬合,其損失計算如式(8)所示。
(8)
其中,L(·)表示交叉熵?fù)p失函數(shù)。
通過上述訓(xùn)練方式,模型在生成時讀取到上一時間步的信息,將不再完全的為真實值信息,其中還包含著部分錯誤信息。這樣使得模型能部分程度地發(fā)現(xiàn)這些錯誤,從而在預(yù)測階段,減輕生成的錯誤信息對之后生成步驟的影響。
針對掩碼異構(gòu)問題,本文構(gòu)造了針對問題生成任務(wù)的遷移學(xué)習(xí)數(shù)據(jù)集ARQG,以兩輪微調(diào)的學(xué)習(xí)方式讓語言模型能初步適應(yīng)較為困難的問題生成任務(wù),進(jìn)而在目標(biāo)數(shù)據(jù)上進(jìn)行表示學(xué)習(xí)訓(xùn)練。
首先,本文讓預(yù)訓(xùn)練語言模型在ARQG數(shù)據(jù)集上進(jìn)行第一輪粗略學(xué)習(xí)。ARQG數(shù)據(jù)集中的問答語料來源廣泛且形式多樣,能讓語言模型初步轉(zhuǎn)化為一個較為全面且泛化能力較好的問題生成模型。此時,模型在大規(guī)模的問答語料上執(zhí)行問題生成任務(wù)后,能夠初步匹配問題生成任務(wù)。
接著,讓模型在目標(biāo)數(shù)據(jù)集上進(jìn)行微調(diào)。此時的模型已初步具備一定理解及生成能力,即使目標(biāo)數(shù)據(jù)集在數(shù)量上有所不足或者在樣本分布上不太均勻,也能保證模型能夠在目標(biāo)數(shù)據(jù)集上地適應(yīng)很好。
本文從不同領(lǐng)域的答案選擇和閱讀理解數(shù)據(jù)集中抽取了大量問答對構(gòu)造為ARQG數(shù)據(jù)集,該數(shù)據(jù)集的具體數(shù)據(jù)來源和數(shù)量如表3所示。ARQG數(shù)據(jù)集中包含針對答案可知和答案不可知兩種不同問題生成任務(wù)的數(shù)據(jù)。針對答案不可知任務(wù),本文從當(dāng)前公開的答案選擇數(shù)據(jù)集TREC-QA[18]、WikiQA[19]、ASNQ[20]及WPQA[21]中抽取共計8萬余條數(shù)據(jù)構(gòu)造為(陳述句,目標(biāo)疑問句)二元組。針對答案可知任務(wù),本文從當(dāng)前公開的閱讀理解數(shù)據(jù)集NewsQA[22]、TriviaQA[23]及NQ[24]中抽取共計19萬余條數(shù)據(jù),構(gòu)造為(陳述句,答案,目標(biāo)疑問句)三元組。同時,以上兩種數(shù)據(jù)中還包括句子級與段落級兩種不同長度的構(gòu)造手段,使ARQG數(shù)據(jù)中囊括問題生成任務(wù)中的各種數(shù)據(jù)形式,這些高質(zhì)量的問答數(shù)據(jù)讓模型能在第一輪微調(diào)時學(xué)習(xí)到較為豐富的語義信息和問答語言規(guī)則,提升模型的魯棒性,對模型在之后目標(biāo)數(shù)據(jù)集上的學(xué)習(xí)有很大幫助。
為了使構(gòu)造的ARQG數(shù)據(jù)集能較好地針對問題生成任務(wù),本文對不同長度量級句子的最大長度以及不同類型數(shù)據(jù)之間的比例進(jìn)行了控制,其詳細(xì)數(shù)據(jù)信息如表4所示。
對于閱讀理解數(shù)據(jù)集中的數(shù)據(jù),其給定的答案大多來源于某一段落,由于本文主要針對句子級問題生成任務(wù)構(gòu)造遷移學(xué)習(xí)數(shù)據(jù)集,為了控制數(shù)據(jù)集中的數(shù)據(jù)長度分布能契合遷移學(xué)習(xí)的第二輪任務(wù),使模型遷移學(xué)習(xí)的效果達(dá)到最佳,本文僅抽取包含答案的那一句話作為陳述句(80%)。同時,為了增強(qiáng)模型對長文本信息的處理能力,本文額外補(bǔ)充了部分段落級數(shù)據(jù),在抽取數(shù)據(jù)時將整個段落作為陳述句(20%)。最后,本文將其構(gòu)造為(陳述句,目標(biāo)疑問句,答案)三元組。
本文在SQuAD[1]數(shù)據(jù)集上驗證所提方法的有效性,該數(shù)據(jù)集包含536 篇維基百科文章和100k的問答對,并且要求答案是段落的一部分。本文使用前人基于SQuAD閱讀理解數(shù)據(jù)集劃分的句子級問題生成數(shù)據(jù)集進(jìn)行實驗,具體實驗數(shù)據(jù)如表5所示。
表5 SQuAD數(shù)據(jù)統(tǒng)計
?split1Du等[8]將SQuAD中公開的所有數(shù)據(jù)隨機(jī)劃分為訓(xùn)練集(80%)、開發(fā)集(10%)和測試集(10%)。
?split2Zhou等[11]將SQuAD的訓(xùn)練集作為該任務(wù)的訓(xùn)練集,將SQuAD的開發(fā)集隨機(jī)劃分為開發(fā)集(50%)和驗證集(50%)。
本文基于unilm1.2-base-uncased模型(12-layer,768-hidden,12-heads)進(jìn)行微調(diào)。在ARQG上進(jìn)行第一輪微調(diào)時,batch_size設(shè)置為256,學(xué)習(xí)率設(shè)置為1e-4,陳述句和目標(biāo)疑問句的最大長度分別設(shè)置為412和56。在SQuAD上進(jìn)行第二輪微調(diào)時,batch_size設(shè)置為48,學(xué)習(xí)率設(shè)置為2e-5,陳述句和目標(biāo)疑問句的最大長度分別設(shè)置為192和42。兩輪微調(diào)中,噪聲比例ρ設(shè)置為0.4。
本文使用BLEU[25]、METEOR[26]及ROUGEL[27]來評價生成的疑問句,使用現(xiàn)有開源的評價方法包計算上述值。BLEU用來評價候選文檔在一組參考文檔上的平均N-gram 精度,并對過短的句子進(jìn)行懲罰。BLEU-n表示計算 BLEU值使用N-grams統(tǒng)計共同出現(xiàn)的次數(shù),常用計算值BLEU-1、BLEU-2、BLEU-3和BLEU-4。METEOR是一種基于召回率的評價指標(biāo),通過考慮同義詞、詞干和釋義來計算生成的句子和參考答案的相似度。ROUGE(Recall-Oriented Understudy for Gisting Evaluation)是一種面向n元詞召回率的評價方法。本文使用ROUGEL進(jìn)行評價,該值基于最長公共子序列統(tǒng)計共現(xiàn)詞次數(shù)。
為了驗證本文方法的有效性,我們與以下問題生成模型進(jìn)行比較:
(1)Du等[8]從SQuAD中抽取問答對構(gòu)造為split1數(shù)據(jù)集(未使用目標(biāo)答案),使用基于注意力機(jī)制的端到端模型解決答案不可知問題生成任務(wù)。
(2)PLQG[28]是一個基于端到端架構(gòu)的模型,使用自注意力編碼器和指針解碼器來增強(qiáng)模型對較長文本的處理和信息捕獲能力。
(3)BERT-HLSQG[6]修改了BERT模型,并將語料中的答案信息高亮表示出來,將其應(yīng)用于答案可知的問題生成任務(wù)。BERT-HLSQG是當(dāng)前句子級問題生成任務(wù)的最高性能模型。
表6列出了上述方法和本文方法在答案不可知任務(wù)上的實驗性能,表7列出了上述方法和本文方法在答案可知任務(wù)上的實驗性能。
表6 答案可知任務(wù)實驗性能對比表
表7 消融實驗結(jié)果表
實驗結(jié)果表明,本文方法在各類評價指標(biāo)上均超過基線并達(dá)到最高。Du等[8]和PLQG[28]用傳統(tǒng)RNN模型解決問題生成任務(wù),并且使用強(qiáng)制學(xué)習(xí)方法訓(xùn)練模型,這種訓(xùn)練方式容易出現(xiàn)暴露偏差問題。同時,模型在單一語料上的學(xué)習(xí)能力十分有限,使其無法更好地理解文本中的語義信息并生成高質(zhì)量疑問句。BERT-HLSQG[6]雖然使用了預(yù)訓(xùn)練模型BERT,在一定程度上加強(qiáng)了模型對語義的理解,但在其工作中可以發(fā)現(xiàn),該模型仍然使用強(qiáng)制學(xué)習(xí)方法訓(xùn)練模型,使得模型在預(yù)測時無法生成質(zhì)量較高的問句。
本文在UNILM-V2模型的基礎(chǔ)上進(jìn)行實驗,拋棄一般RNN模型所使用的強(qiáng)制學(xué)習(xí)訓(xùn)練方法,在生成目標(biāo)中使用真實值、噪聲隨機(jī)混合的訓(xùn)練方法,以緩解預(yù)測階段的錯誤信息對其后生成信息的影響。如表6、表7所示,在答案可知的問題生成任務(wù)中加入噪聲時,模型在split1數(shù)據(jù)集上BLEU_4、METEOR和ROUEGL分別達(dá)到了19.98%、23.47%和48.85%,模型在split2數(shù)據(jù)集上BLEU_4、METEOR和ROUEGL分別達(dá)到了21.78%、24.23%和50.33%;在答案不可知任務(wù)中加入噪聲處理后,BLEU_4、METEOR和ROUEGL分別達(dá)到了17.7%、20.99%和44.64%。由此可見,噪聲處理能增強(qiáng)模型發(fā)現(xiàn)錯誤的能力,并減輕該錯誤對實驗結(jié)果的影響。
此外,本文在預(yù)訓(xùn)練模型UNILM-V2的基礎(chǔ)上進(jìn)行訓(xùn)練,并額外補(bǔ)充了大量高質(zhì)量問答數(shù)據(jù)以進(jìn)行遷移學(xué)習(xí),如表6、表7所示,當(dāng)在答案可知的問題生成任務(wù)中加入噪聲處理并使用ARQG數(shù)據(jù)預(yù)先進(jìn)行一輪微調(diào)時,模型在split1數(shù)據(jù)集上BLEU_4、METEOR和ROUEGL分別達(dá)到了20.31%、23.66%和49.30%,模型在split2數(shù)據(jù)集上BLEU_4、METEOR和ROUEGL分別達(dá)到了21.95%、24.37%和50.20%;當(dāng)在答案不可知任務(wù)中加入噪聲處理并使用ARQG數(shù)據(jù)預(yù)先進(jìn)行一輪微調(diào)時,BLEU_4、METEOR和ROUEGL分別達(dá)到了17.90%、21.02%和44.76%。由此可見,ARQG數(shù)據(jù)對答案可知與答案不可知兩個問題生成任務(wù)有明顯的性能提升。
最后,本文在split1上不使用答案信息進(jìn)行消融實驗,本文選取UNILM-V2作為基線模型,具體結(jié)果見表7。在分別使用噪聲暴露的強(qiáng)化訓(xùn)練方法(+noise)和使用ARQG數(shù)據(jù)集進(jìn)行遷移學(xué)習(xí)(+ARQG)的情況下,模型性能較基線模型均有所提升。在將二者結(jié)合的情況下,模型性能達(dá)到最佳。因此,本文方法是有效的。
為了驗證本文所提噪聲處理方法的有效性,并找到模型訓(xùn)練時真實值與噪聲的最佳比例,我們在SQuAD語料上對超參ρ的取值進(jìn)行了實驗,實驗結(jié)果如表8所示。
從實驗結(jié)果中可以看出,加入噪聲機(jī)制之后,模型性能均有部分提升,不同的噪聲比例對模型性能提升的影響不同。實驗發(fā)現(xiàn),在ρ取值為0.4時,實驗性能達(dá)到最高。在對實驗生成的疑問句與目標(biāo)疑問句進(jìn)行對比分析后發(fā)現(xiàn),加入噪聲的模型在生成疑問句時能較好地解決暴露偏差問題。即使在預(yù)測階段出現(xiàn)了一些生成錯誤,在之后的時刻,模型的注意力也不會過多地關(guān)注上一階段生產(chǎn)的詞匯,從而有效地忽略該錯誤以減輕這個錯誤對之后生成階段的影響。
表9中給出了一些加入噪聲之后模型對有效解決暴露偏差問題的樣例。在例1中,基線模型在生成“what”之后錯誤地生成了“was”和“the”,并將該錯誤信息傳遞到了之后生成的每一個階段,使得模型一錯再錯,生成幾乎完全錯誤的疑問句。在加入噪聲處理后,雖然模型仍生成了錯誤信息“was”和“the”,但由于本文在訓(xùn)練過程中就強(qiáng)調(diào)了模型對錯誤信息的判斷能力,使得模型可以發(fā)現(xiàn)上一階段的錯誤,并正確地生成“new name”。并且,在此之后模型也能判斷出生成信息中的錯誤部分,進(jìn)而生成正確信息“the media day”。同樣地,在例2中,模型能很好地忽略錯誤信息“regions are the”,并生成相比于基線模型質(zhì)量更高的疑問句。
表9 噪聲處理對解決暴露偏差有效的樣例
預(yù)訓(xùn)練模型UNILM-V2是在大規(guī)模未標(biāo)注語料上進(jìn)行訓(xùn)練得到,為了使其模型中蘊(yùn)含的通用語義表示能更好地適應(yīng)問題生成任務(wù),本文構(gòu)造了一個針對問題生成任務(wù)的遷移學(xué)習(xí)數(shù)據(jù)集ARQG。該數(shù)據(jù)集中包含來源于答案選擇任務(wù)和閱讀理解任務(wù)的大量高質(zhì)量問答對,對問題生成任務(wù)天然適配。其次,該任務(wù)中存在不同長度量級、不同領(lǐng)域、不同數(shù)據(jù)形式(答案可知和答案不可知)的數(shù)據(jù),將該數(shù)據(jù)集作為源語料進(jìn)行第一輪微調(diào)時,可極大地豐富模型對長短文本的關(guān)鍵信息捕捉能力、對不同領(lǐng)域數(shù)據(jù)的文本的語義理解能力,以及對問題生成中不同任務(wù)的處理及生成能力,從而使模型能在目標(biāo)領(lǐng)域中學(xué)習(xí)得更好。
本文使用兩輪微調(diào)的方式驗證ARQG數(shù)據(jù)集對問題生成任務(wù)的有效性。如表10所示,本文在三種不同數(shù)據(jù)上進(jìn)行實驗,先使用ARQG數(shù)據(jù)進(jìn)行第一輪微調(diào)(不加噪聲處理),之后再在目標(biāo)數(shù)據(jù)集上進(jìn)行第二輪微調(diào)。實驗結(jié)果顯示,在ARQG數(shù)據(jù)集上進(jìn)行微調(diào)后,答案可知和答案不可知的問題生成任務(wù)相較于基線都有部分性能提升。由此可得出結(jié)論,即使模型無任何改動,僅僅使用ARQG數(shù)據(jù)集進(jìn)行遷移學(xué)習(xí),模型的性能仍能有所提高,驗證了遷移學(xué)習(xí)的可行性和ARQG數(shù)據(jù)集在問題生成任務(wù)上的有效性。
表10 ARQG數(shù)據(jù)集有效性對對比
本文在答案可知和答案不可知的問題生成任務(wù)上進(jìn)行實驗,驗證了本文所提噪聲處理方法可相對緩解暴露偏差問題,并證明了模型在本文構(gòu)造的ARQG數(shù)據(jù)集上進(jìn)行遷移學(xué)習(xí),可使得模型在目標(biāo)數(shù)據(jù)集上學(xué)習(xí)得更好。
未來的工作中,我們將針對暴露偏差問題進(jìn)行進(jìn)一步的研究。當(dāng)前模型雖能緩解該問題,但在實際應(yīng)用中,這種處理方法容易出現(xiàn)語義歧義問題。如標(biāo)準(zhǔn)疑問句為“如何使用筷子吃飯?”,在傳統(tǒng)RNN模型中,可能會生成“如何使用剪刀剪發(fā)?”這種錯誤問句;加入噪聲處理后,模型可能會意識到“剪刀”這個錯誤,從而生成“如何使用剪刀吃飯?”這種具有語義歧義的問句。此外,使用外部數(shù)據(jù)進(jìn)行兩輪微調(diào)的方法在實際應(yīng)用中也會出現(xiàn)效率較低的問題。在之后的工作中,我們將著重研究如何解決以上兩點問題,使模型在實際應(yīng)用中能高效地生成高質(zhì)量疑問句。