曾碧卿,裴楓華,徐馬一,丁美榮
(華南師范大學(xué) 軟件學(xué)院,廣東 佛山 528225)
問題生成(Question Generation,QG)是指從給定的數(shù)據(jù)中自動(dòng)生成語法正確、通順流暢的相關(guān)問句[1]。在文本中,根據(jù)輸入文本的句子數(shù)量,問題生成可分為句子級(jí)和段落級(jí)兩個(gè)粒度。其中,段落級(jí)問題生成的輸入文本包含一個(gè)以上的句子。
作為一項(xiàng)重要的自然語言生成任務(wù),問題生成具有挑戰(zhàn)性,其要求對(duì)輸入的上下文進(jìn)行深層的理解和推理,能夠生成語義相關(guān)的問題。問題生成的用途廣闊,可以應(yīng)用在自動(dòng)問診、智能對(duì)話、教育輔導(dǎo)[2]等領(lǐng)域。在機(jī)器閱讀理解上,問題生成能夠快速產(chǎn)生豐富的問答對(duì),有效減少人工標(biāo)記數(shù)據(jù)的工作量,可作為自動(dòng)構(gòu)建知識(shí)庫的重要手段[3]。如表1所示,加粗單詞表示標(biāo)準(zhǔn)答案,問題生成的目標(biāo)是產(chǎn)生與標(biāo)準(zhǔn)問題相似的句子,同時(shí)能夠被給定的標(biāo)準(zhǔn)答案所回答。
表1 問題生成示例
對(duì)于基于文本的問題生成,早期的研究主要是基于問題模板或轉(zhuǎn)換規(guī)則[2,4],通常使用語法和語義分析信息來決定提問的內(nèi)容和問句類型,然后對(duì)原文進(jìn)行語序調(diào)整和單詞替換,因而生成的問題多為事實(shí)性類型,問題難度和多樣性不足。
神經(jīng)網(wǎng)絡(luò)在自然語言處理領(lǐng)域,如機(jī)器翻譯、文本摘要等表現(xiàn)出更優(yōu)的性能,其同樣適用于問題生成任務(wù)。近年對(duì)問題生成的研究主要使用了基于序列到序列的神經(jīng)網(wǎng)絡(luò)模型[5],即編碼-解碼架構(gòu),實(shí)現(xiàn)了自動(dòng)問題生成。Du等[6]指出在SQuAD數(shù)據(jù)集[7]中,約20%的問題需要段落級(jí)的信息才能完成提問過程。例如,表1的標(biāo)準(zhǔn)問題生成過程需要結(jié)合跨句子的信息。從該數(shù)據(jù)特點(diǎn)來看,段落更適合作為輸入文本。然而,由于段落中包含較多與問題相關(guān)度低的內(nèi)容,進(jìn)行問題生成時(shí)容易受到這些冗余信息的干擾,導(dǎo)致與句子級(jí)輸入相比,生成的問題質(zhì)量更低。為了提高問題的相關(guān)性,除了充分利用標(biāo)準(zhǔn)答案的位置、語義信息同段落上下文進(jìn)行融合之外[8-9],現(xiàn)有研究主要使用注意力機(jī)制來動(dòng)態(tài)提取段落內(nèi)部信息[10-11]。但是,這種方法主要是在段落層面上進(jìn)行建模,全局注意力分布過于分散,在長文本上性能表現(xiàn)欠佳。因此,在段落級(jí)問題生成中,為了有效利用段落中的重要內(nèi)容,如何優(yōu)化注意力機(jī)制是一個(gè)亟待解決的問題。
針對(duì)上述問題,本文提出了一種基于雙注意力的問題生成模型,該模型能更好地聚焦重點(diǎn)句子,減少冗余信息的干擾。對(duì)于段落中重點(diǎn)句子的界定,在大部分情況下,答案所在句子仍然占有核心地位,與問題直接相關(guān),可被作為重點(diǎn)句子。在其它情況下,以答案所在句子為線索,更好地確定重點(diǎn)句子的位置,共同構(gòu)成具體完整的語義。而雙注意力機(jī)制能動(dòng)態(tài)改變對(duì)不同層級(jí)信息的關(guān)注度,適應(yīng)性地調(diào)整答案所在句子的重要性,降低注意力分散的影響。具體地,本文在基于序列到序列的基線模型上做出結(jié)構(gòu)化改進(jìn),專門為答案所在句子建模了上下文表示,并充分利用雙注意力機(jī)制來輔助生成問題。首先,模型使用LSTM[12](Long Short-Term Memory)對(duì)整個(gè)段落文本進(jìn)行編碼得到段落級(jí)語義表示,在此基礎(chǔ)上,直接提取答案所在句子對(duì)應(yīng)的隱藏狀態(tài)作為句子級(jí)語義表示,然后利用解碼器隱藏狀態(tài)分別對(duì)段落、句子語義表示做獨(dú)立的注意力計(jì)算,得到不同級(jí)別的上下文表示,并且使用門控機(jī)制進(jìn)行二者的融合處理,最后改進(jìn)指針生成網(wǎng)絡(luò)[13](Pointer-Generator Network)的權(quán)重分配機(jī)制,以結(jié)合段落和句子的注意力分布信息進(jìn)行問題生成。
本文的主要貢獻(xiàn)總結(jié)如下:
(1) 提出了一種基于雙注意力的段落級(jí)問題生成方法,通過構(gòu)建、融合段落和答案所在句子的注意力信息,在保留多句子間聯(lián)系的同時(shí),進(jìn)一步提高了對(duì)答案所在句子的關(guān)注度。
(2) 改進(jìn)了解碼端的指針生成網(wǎng)絡(luò),使得模型能夠具備復(fù)制原文單詞的能力,并在一定程度上增大了答案所在句子的單詞權(quán)重,使重要單詞更易得到關(guān)注。
(3)在SQuAD數(shù)據(jù)集上的實(shí)驗(yàn)表明,本文模型能有效提升段落級(jí)問題生成的性能,問題的相關(guān)性進(jìn)一步提高。
問題生成的研究方法主要分為兩種: 基于規(guī)則的和基于神經(jīng)網(wǎng)絡(luò)的問題生成方法。
基于規(guī)則的問題生成方法建立在手工構(gòu)建的模板規(guī)則基礎(chǔ)上。Heilman等[2]通過一系列轉(zhuǎn)換規(guī)則將陳述句轉(zhuǎn)換成問句,并對(duì)產(chǎn)生的多個(gè)結(jié)果進(jìn)行重排序以選取質(zhì)量較高的問題。Labutov等[14]首先在低維空間中表示原始文本,然后將其與該空間對(duì)齊的候選問題模板進(jìn)行眾包,最后對(duì)新文本區(qū)域的潛在相關(guān)模板進(jìn)行排名,從而生成更深難度的問題。這些傳統(tǒng)方法依賴于人工,需要專業(yè)的語言學(xué)知識(shí)去構(gòu)建合乎語法語義的模板,無法適應(yīng)靈活多變的源文本語境。
基于神經(jīng)網(wǎng)絡(luò)的自動(dòng)問題生成方法在近年受到更多的關(guān)注和研究,其完全由文本數(shù)據(jù)驅(qū)動(dòng),模型能自動(dòng)決定疑問詞、提問內(nèi)容和最終語序,并且生成的問題更為豐富自然,具有較高的推理性。Du等[6]首先嘗試了將編碼-解碼神經(jīng)網(wǎng)絡(luò)模型用于問題生成,使用全局注意力機(jī)制在解碼時(shí)得到緊密相關(guān)的上下文語義,自動(dòng)評(píng)估的結(jié)果要好于之前基于規(guī)則的方法。Zhou等[8]充分利用了輸入文本的詞性特征,同時(shí)使用答案位置標(biāo)記方法,使生成的問題和特定的答案在語義上更相關(guān)。Song等[9]提出將答案和文本進(jìn)行語義匹配的方法,使得編碼的上下文向量充分蘊(yùn)含答案的相關(guān)性。董孝政等[15]在編碼端利用卷積神經(jīng)網(wǎng)絡(luò)將答案位置信息與全句語義信息進(jìn)行融合,提升了在較短句子上的性能。譚紅葉等[16]利用答案及其上下文信息確定疑問詞和問題相關(guān)詞,有助于提高問題與答案的相關(guān)性。不局限于問題生成的單一模型,很多研究工作關(guān)注多任務(wù)訓(xùn)練及具體應(yīng)用。Sachan等[17]將問題生成和問題回答視為對(duì)偶任務(wù)進(jìn)行學(xué)習(xí),以自訓(xùn)練方式使得兩個(gè)任務(wù)的效果同時(shí)獲得提升。Zhang等[18]提出問題釋義、問題回答的概率兩個(gè)指標(biāo)以強(qiáng)化問題生成模型,并利用問題生成模型合成大量的問答對(duì)改善了半監(jiān)督問答任務(wù)。
在段落級(jí)問題生成上,Du等[6]首先在段落文本上嘗試使用編碼-解碼模型,效果比句子級(jí)稍差。Du等[10]利用一個(gè)多層感知機(jī)來編碼段落內(nèi)的共指信息特征,加強(qiáng)了句子間實(shí)體的指代關(guān)聯(lián)。Zhao等[11]利用了門控自注意力機(jī)制建模了段落級(jí)的上下文信息,并提出maxout指針機(jī)制來解決單詞多次重復(fù)的問題。Tuan等[19]以答案獨(dú)立編碼為基礎(chǔ),設(shè)計(jì)了多層注意力機(jī)制,從而獲得距離更遠(yuǎn)的語義相關(guān)內(nèi)容用于問題生成。指針網(wǎng)絡(luò)[13,20]原用于文本摘要領(lǐng)域,能從原文復(fù)制單詞到目標(biāo)句子,有效解決未登錄詞(Out-of-Vocabulary,OOV)問題。在問題生成上,文獻(xiàn)[8-11]等均使用了相似的復(fù)制機(jī)制,作為解碼生成時(shí)的有力輔助,補(bǔ)充形成問題所需要的重要單詞,提高了模型性能。
(1)
本文模型總體結(jié)構(gòu)如圖1所示。該模型主要包括詞嵌入層、編碼層、雙注意力層、解碼層和指針生成網(wǎng)絡(luò)等5個(gè)模塊。2.2節(jié)至2.6節(jié)分別闡述每個(gè)模塊的原理和作用。
模型的嵌入層包含如下四個(gè)部分: 詞向量、答案位置標(biāo)記、詞性標(biāo)注和命名實(shí)體識(shí)別,其中,最后兩部分屬于單詞的特征信息。詞向量eword使用預(yù)訓(xùn)練詞向量GloVe[21]進(jìn)行初始化。對(duì)于固定詞表中無法和GloVe對(duì)應(yīng)的詞,將全部初始化為零向量。答案位置標(biāo)記使用BIO標(biāo)記法,即對(duì)應(yīng)段落中的每個(gè)單詞都有是否為答案的標(biāo)記,B表示單詞在答案
圖1 基于雙注意力的段落級(jí)問題生成模型
的開始位置,I表示單詞在答案內(nèi)部,O表示單詞不屬于答案部分,答案位置標(biāo)記向量隨機(jī)初始化為eans。詞性標(biāo)注和命名實(shí)體識(shí)別則使用Standford CoreNLP語言處理工具進(jìn)行屬性標(biāo)注,以此建立對(duì)應(yīng)的詞表,詞性標(biāo)注向量隨機(jī)初始化為epos,命名實(shí)體識(shí)別向量隨機(jī)初始化為ener。
最終所有嵌入層向量通過拼接融合在一起,作為該單詞對(duì)應(yīng)的嵌入向量輸入到編碼層。
et=[eword;eans;epos;ener]
(2)
其中,et表示段落中第t個(gè)單詞的詞嵌入向量,本文公式的[;]形式均表示變量的拼接操作。
LSTM網(wǎng)絡(luò)能夠解決長短期依賴,編碼序列信息。模型將詞嵌入層向量通過雙向LSTM層進(jìn)行編碼以得到每個(gè)單詞的隱藏狀態(tài),這些狀態(tài)具有明顯的時(shí)序特征并包含上下文語義信息。計(jì)算過程如式(3)~式(5)所示。
對(duì)于答案所在句子的編碼,本文選擇不再進(jìn)行獨(dú)立的編碼操作,而是在段落語義表示中直接提取答案所在句子的相關(guān)信息。
設(shè)在文本預(yù)處理后答案所在句子S的詞序號(hào)為(b,d),1≤b≤d≤m。特別地,由于訓(xùn)練時(shí)采取截?cái)嗖僮?,上述詞序號(hào)將有可能會(huì)越界,所以需要進(jìn)行特殊處理。假設(shè)模型可接受的最大段落長度為L,如b>L,則b=1;如d>L,則d=L。根據(jù)詞序號(hào)從段落語義表示HD中提取后,答案所在句子的語義表示為HS=[hb,hb+1,…,hd]。
注意力機(jī)制可以隨序列的解碼狀態(tài)動(dòng)態(tài)改變權(quán)重參數(shù),能夠捕獲與當(dāng)前解碼時(shí)刻最密切的上下文信息。其基本的思路是計(jì)算當(dāng)前時(shí)刻的解碼器隱藏狀態(tài)和編碼器的全部隱藏狀態(tài)之間的量化關(guān)系,然后給編碼器的每一個(gè)隱藏狀態(tài)進(jìn)行權(quán)重分配并求和,最終輸出一個(gè)上下文向量。本文使用Luong[22]的全局注意力分?jǐn)?shù)計(jì)算方法,將分別在段落和答案所在句子的語義表示上計(jì)算注意力,以形成雙注意力。
首先,段落級(jí)注意力的計(jì)算過程如式(6)~式(8)所示。
類似地,計(jì)算句子級(jí)注意力時(shí)利用解碼器隱藏狀態(tài)st和句子語義表示HS,可得到句子級(jí)上下文向量,計(jì)算過程如式(9)~式(11)所示。
為了得到最終生成階段所需要的上下文向量,需要對(duì)兩個(gè)級(jí)別的上下文向量進(jìn)行了融合處理。本文設(shè)計(jì)了三種融合方式,分別是相加、拼接和門控機(jī)制融合方式,三者相互獨(dú)立。
對(duì)于相加的融合方式,這是相對(duì)簡單的處理方法,本文直接將段落級(jí)和句子級(jí)上下文向量進(jìn)行相加得到融合上下文向量,如式(12)所示。
(12)
對(duì)于拼接的融合方式,本文首先將段落級(jí)和句子級(jí)上下文向量進(jìn)行拼接,并且拼接兩者互乘得到的融合向量。然后,將拼接向量通過一個(gè)多層感知機(jī)進(jìn)行變換以實(shí)現(xiàn)融合處理,如式(13)、式(14)所示。
其中,⊙表示Hadamard積,即兩個(gè)向量中對(duì)應(yīng)元素的乘積。Wc是可訓(xùn)練的模型參數(shù),b是偏置項(xiàng)。
對(duì)于門控機(jī)制的融合方式,其主要特點(diǎn)是再次考慮了解碼器隱藏狀態(tài),圖1中的模型展示了該融合方式。本文首先將解碼器隱藏狀態(tài)st和得到的段落級(jí)、句子級(jí)上下文向量計(jì)算一個(gè)門控分?jǐn)?shù),如式(15)所示。
(15)
其中,Wg是可訓(xùn)練的模型參數(shù),σ表示sigmoid函數(shù)。該分?jǐn)?shù)用于雙注意力之間的權(quán)重分配,使模型能夠動(dòng)態(tài)關(guān)注不同級(jí)別的上下文信息,如式(16)所示。
(16)
通過融合雙注意力后,得到的融合上下文向量ct將輸入到解碼層進(jìn)行問題生成。
(17)
最后,結(jié)合雙注意力層得到的融合上下文向量投影到詞表分布向量中,獲取當(dāng)前解碼時(shí)刻對(duì)應(yīng)的單詞概率,計(jì)算過程如式(18)、式(19)所示。
其中,Wv、Wo是可訓(xùn)練的模型參數(shù),Pvoc表示維度為固定詞表長度|V|的向量。此時(shí)對(duì)于固定詞表之外的新單詞即未登錄詞,模型只能生成通用標(biāo)記
為了解決未登錄詞問題,模型改進(jìn)指針生成網(wǎng)絡(luò)[13],這時(shí)解碼的詞將投影到固定詞表或者投影到由原輸入文本組成的擴(kuò)展詞表中,從而具備直接從原文復(fù)制詞的能力,降低
本文改進(jìn)了指針生成網(wǎng)絡(luò)的權(quán)重分配方式,以充分利用雙注意力層產(chǎn)生的信息。首先,在預(yù)處理階段將該段落里的未登錄詞拼接到固定詞表后面,得到擴(kuò)展詞表,則詞表大小變?yōu)閨V|+|E|。然后,通過計(jì)算3個(gè)不同的權(quán)重值,分別給固定詞表概率分布、段落注意力分布和句子注意力分布賦予不同的權(quán)重值。最后,將加權(quán)的注意力分?jǐn)?shù)逐一分配到對(duì)應(yīng)的詞序號(hào)中。與文獻(xiàn)[13]不同的是,本文不只是計(jì)算1個(gè)生成概率,而是計(jì)算3個(gè)歸一化概率以平衡雙注意力的分布信息,計(jì)算過程如式(20)、式(21)所示。
(20)
(21)
分析求和后的整體概率分布可知,模型在復(fù)制原文的單詞時(shí)相對(duì)偏向于答案所在的句子,從而減少無關(guān)句子的干擾,提高問題相關(guān)度。
最后,利用擴(kuò)展詞表的概率分布獲取單詞索引,計(jì)算過程如式(22)所示。
qt,index=argmax(Pfinal)
(22)
其中,qt,index表示概率最大的位置,通過該索引位置可在擴(kuò)展詞表中獲得問題對(duì)應(yīng)的單詞。
模型進(jìn)行解碼時(shí)將重復(fù)上述處理過程,每一時(shí)刻產(chǎn)生當(dāng)前最大概率的單詞,直到產(chǎn)生句子停止標(biāo)記
另外,在訓(xùn)練過程中,模型采用negative log-likelihood損失,當(dāng)前訓(xùn)練樣本的總體損失計(jì)算如式(23)所示。
(23)
本文使用SQuAD v1.1數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。該數(shù)據(jù)集包含了536篇來自英文維基的文章,由眾包工作者標(biāo)注了超過10萬的問答對(duì),其中問題的答案都是從原文中抽取出來的,只有少數(shù)答案范圍橫跨多個(gè)句子。由于原數(shù)據(jù)集的測試集部分不可用,所以本實(shí)驗(yàn)參照Zhao等[11]的數(shù)據(jù)集劃分方式,保留原開發(fā)集作為驗(yàn)證集,再從訓(xùn)練集中隨機(jī)采樣約10%的問答對(duì)作為測試集,整個(gè)劃分是在篇章級(jí)進(jìn)行的。同樣地,本文保留所有問答對(duì),不設(shè)過濾條件,這使得訓(xùn)練和推斷過程的難度上升。數(shù)據(jù)集劃分情況如表2所示。
表2 數(shù)據(jù)集統(tǒng)計(jì)數(shù)據(jù)
實(shí)驗(yàn)中段落文本的最大長度為400,超出該長度的文本被截?cái)?。固定詞表保留前45 000個(gè)高頻詞,以確保包含常見疑問詞,使模型能自動(dòng)確定疑問詞的類型和生成位置。編解碼共享相同的詞嵌入矩陣,詞嵌入維度為300,使用預(yù)訓(xùn)練詞向量GloVe,并在訓(xùn)練過程中固定詞向量。答案位置標(biāo)記、詞性標(biāo)注和命名實(shí)體識(shí)別的嵌入向量維度均為16。編碼端為兩層雙向LSTM,解碼端為兩層單向LSTM,兩者的隱含層維度均為600,層間dropout概率為0.3。模型的優(yōu)化器使用帶動(dòng)量的隨機(jī)梯度下降SGD,其動(dòng)量值momentum設(shè)為0.9。學(xué)習(xí)率設(shè)為0.1,從第8輪開始每隔兩輪學(xué)習(xí)率減半,總共訓(xùn)練15輪次。輸入批處理大小為32,選取驗(yàn)證集上損失值最低的模型作為目標(biāo)模型。模型的推斷階段使用集束搜索,集束大小beam設(shè)為10,當(dāng)每個(gè)問句解碼生成停止標(biāo)記
對(duì)于實(shí)驗(yàn)結(jié)果,本文采用自動(dòng)評(píng)估指標(biāo)。問題生成常用的相似性指標(biāo): BLEU[23]、METEOR[24]和ROUGEL[25]。BLUE-N是計(jì)算相對(duì)參考句子的共現(xiàn)N元組(N-gram)的精確率。METEOR是基于精準(zhǔn)匹配、詞干、同義詞和意譯等維度計(jì)算句子間的相似性。ROUGEL是基于生成句子和參考句子之間最長公共子序列計(jì)算的F-measure值。當(dāng)模型生成的問題和人給出的標(biāo)準(zhǔn)問題在單詞組合上越接近時(shí),上述指標(biāo)的數(shù)值越高,即認(rèn)為生成的問題質(zhì)量越高。
(1)s2s-attn[6]: 基線模型,該模型是基于全局注意力的序列到序列神經(jīng)問題生成模型,其模型輸入不對(duì)答案信息作處理。
(2)CorefNQG[10]: 該模型在編碼時(shí)融合共同指代的信息特征,加強(qiáng)段落內(nèi)句子之間的聯(lián)系,使段落中的實(shí)體信息更加具體。
(3)ASs2s[26]: 該模型在輸入時(shí)通過特殊標(biāo)記替換答案,提出關(guān)鍵字網(wǎng)絡(luò)對(duì)答案進(jìn)行獨(dú)立編碼,以避免生成的問題中存在答案中的單詞。本文參考其句子級(jí)輸入的實(shí)驗(yàn)結(jié)果。
(4)s2s-a-at-mp-gsa[11]: 該模型使用了門控自注意力機(jī)制和maxout指針網(wǎng)絡(luò),利用文本內(nèi)部的語義聯(lián)系增強(qiáng)上下文編碼質(zhì)量,進(jìn)一步提升了段落級(jí)問題生成的性能。
(5)DAPQG: 本文提出的基于雙注意力的段落級(jí)問題生成模型DAPQG(Dual Attention-Based Paragraph-level Question Generation),其雙注意力融合方式默認(rèn)為門控機(jī)制融合。
本文模型與對(duì)比模型的實(shí)驗(yàn)結(jié)果如表3所示, “—”表示原文中未涉及的數(shù)據(jù),加粗的數(shù)值是對(duì)比模型里的最好性能。
從表3可知,與s2s_attn基線模型對(duì)比,所列的其他模型均有較大的性能提升?;€模型與ASs2s、s2s-a-at-mp-gsa的對(duì)比表明,句子級(jí)輸入配合答案信息的編碼利用能提升模型性能,段落級(jí)輸入在合理設(shè)計(jì)時(shí)則能提供更多有利的信息?;€模型與CorefNQG、s2s-a-at-mp-gsa的對(duì)比表明,通過識(shí)別段落中句子間的內(nèi)在聯(lián)系能進(jìn)一步提高生成問題的相關(guān)性。本文模型DAPQG建模了答案所在句子表示和注意力,同時(shí)也考慮了答案信息和句間聯(lián)系,其實(shí)驗(yàn)結(jié)果相比基線模型有了明顯提高,BLEU-4提升了4.81%,達(dá)到了16.67%,說明融合雙注意力的模型切合了段落級(jí)問題生成的任務(wù)特點(diǎn),有效提升模型性能。
表3 問題生成結(jié)果 單位: (%)
與目前性能表現(xiàn)優(yōu)秀的s2s-a-at-mp-gsa模型相比,本文模型在BLEU和METEOR指標(biāo)上仍然有不同程度的提升,BLEU-4提升了0.29%,METEOR提升了0.72%,說明了融合雙注意力能夠克服門控自注意力機(jī)制的局限性,一定程度上避免了段落內(nèi)弱相關(guān)信息的干擾。因此,相對(duì)于單注意力模型,本文使用的雙注意力機(jī)制表現(xiàn)出更強(qiáng)的抗干擾能力,提高了生成問題的相關(guān)性。
另外,本文模型僅在ROUGEL指標(biāo)上比s2s-a-at-mp-gsa模型差。分析原因,可能與數(shù)據(jù)集的差異以及模型的偏向性有關(guān)。如表2所示,相對(duì)于訓(xùn)練集,測試集的段落平均長度較小,而問題平均長度較大;本文模型在設(shè)計(jì)上一定程度地偏向于答案所在句子,該句子相對(duì)而言較短,因此導(dǎo)致生成的問題和參考問題的最長公共子序列較短,即ROUGEL性能會(huì)有所降低。
為了深入分析各模塊對(duì)實(shí)驗(yàn)結(jié)果的影響,本文設(shè)計(jì)了多組實(shí)驗(yàn)進(jìn)行比較,在DAPQG模型的基礎(chǔ)上進(jìn)行修改,實(shí)驗(yàn)?zāi)P腿缦隆?/p>
(1)DAPQG_add: 將雙注意力融合方式改為相加融合。
(2)DAPQG_concat: 將雙注意力融合方式改為拼接融合。
(3)DAPQG_one: 取消融合操作,模型的雙注意力層只保留段落級(jí)上下文向量,直接作為該層的輸出。
(4)DAPQG_pg: 指針生成網(wǎng)絡(luò)在權(quán)重分配時(shí)只考慮生成概率和段落單詞復(fù)制概率,計(jì)算方式與文獻(xiàn)[13]相同,使用sigmoid函數(shù)計(jì)算一個(gè)生成概率,該概率和段落單詞復(fù)制概率的和為1。
(5)DAPQG_feat: 詞嵌入層去除答案位置標(biāo)記,只拼接詞向量和詞特征。
(6)DAPQG_ans: 詞嵌入層去除詞特征,只拼接詞向量和答案位置標(biāo)記。
實(shí)驗(yàn)結(jié)果如表4所示,加粗的數(shù)值是對(duì)比模型里的最好性能。結(jié)果分析包括以下三方面。
(1)注意力融合方式的影響: 模型DAPQG與DAPQG_add、DAPQG_concat的結(jié)果對(duì)比表明,門控機(jī)制融合方式能獲得最好的模型性能,說明了模型在進(jìn)行注意力融合時(shí)仍然需要解碼器隱藏狀態(tài)的參與,以動(dòng)態(tài)調(diào)整對(duì)不同級(jí)別注意力信息的關(guān)注度,實(shí)現(xiàn)更合理的權(quán)重分配。
(2)答案所在句子注意力的影響: 模型DAPQG比模型DAPQG_one在整體上的性能要好,說明了答案所在句子提供的上下文表示是解碼階段的重要信息來源,從而在必要時(shí)提高對(duì)該重點(diǎn)句子的關(guān)注度,提升問題質(zhì)量。模型DAPQG比模型DAPQG_pg在所有指標(biāo)上均有進(jìn)一步提高,說明了在指針生成網(wǎng)絡(luò)中添加答案所在句子的注意力分布能夠提升單詞復(fù)制的覆蓋率和相關(guān)性。因此,在建模答案所在句子語義表示的基礎(chǔ)上,通過動(dòng)態(tài)調(diào)整其注意力的影響機(jī)制及程度,對(duì)段落級(jí)問題生成有著積極的提升作用。
(3)詞嵌入層信息的影響: 模型在考慮答案位置標(biāo)記后,性能差距明顯,如模型DAPQG比模型DAPQG_feat在BLEU-4指標(biāo)上提升了5.36%。這是因?yàn)榇鸢肝恢脴?biāo)記能夠提供具體的詢問對(duì)象,對(duì)比無答案限制的情況,帶來顯著的性能提升,是目前問題生成模型的重要組成部分。這說明本文模型盡管關(guān)注了答案所在句子,但不能以此替代答案位置標(biāo)記,主要原因是SQuAD數(shù)據(jù)集中一個(gè)段落幾乎總是對(duì)應(yīng)一個(gè)以上的問題,而答案位置標(biāo)記使詞嵌入層形成差異化的參數(shù),進(jìn)而改變輸出的具體問題。模型DAPQG比模型DAPQG_ans的整體性能要更好,說明了詞特征蘊(yùn)含了語法語義的特征,一定程度上改善模型對(duì)不同實(shí)體及其詞性的識(shí)別,提升對(duì)輸入文本的理解,改善問題生成的過程。
表4 消融實(shí)驗(yàn)結(jié)果 單位: (%)
本文從實(shí)驗(yàn)結(jié)果中抽取了部分示例用于定性分析,如表5所示,加粗單詞表示標(biāo)準(zhǔn)答案。
在示例1中,相對(duì)于模型DAPQG_one而言,模型DAPQG與DAPQG_pg都能夠?qū)⑽镏鞔~“her”替換成具體的人名“beyoncé”,說明了本文的雙注意力機(jī)制在提高問題相關(guān)性的同時(shí)能夠有效識(shí)別句子間的聯(lián)系,滿足段落級(jí)問題生成的要求。
表5 結(jié)果示例
在示例2中,模型DAPQG與標(biāo)準(zhǔn)問題最為接近,表達(dá)了準(zhǔn)確的意思,但模型DAPQG_pg在對(duì)原文的復(fù)制上沒有提取到關(guān)鍵單詞“stinson-remick halls”,表達(dá)不夠具體。這說明了本文改進(jìn)的指針生成網(wǎng)絡(luò)對(duì)上下文背景關(guān)鍵詞的提取能力更強(qiáng),在融合答案所在句子注意力信息后,能提升生成網(wǎng)絡(luò)的效果。
綜合上述分析可知,對(duì)段落文本而言,本文以答案所在句子為高相關(guān)度內(nèi)容并輔以動(dòng)態(tài)變化的界定是合理有效的,以此構(gòu)建的雙注意力模型擁有更優(yōu)秀的上下文信息建模和提取能力,提升了生成問題的質(zhì)量。
針對(duì)段落級(jí)問題生成任務(wù),本文提出了一種基于段落和答案所在句子注意力的自動(dòng)問題生成模型。通過實(shí)現(xiàn)雙注意力的動(dòng)態(tài)融合和分配,該模型以答案所在句子為主要線索,聚焦于重點(diǎn)句子,相應(yīng)地減少了冗余信息的干擾。實(shí)驗(yàn)結(jié)果證明,該模型能有效地提高了段落級(jí)問題生成的性能。
但對(duì)于段落文本和人工答案標(biāo)記均相同的情況,該模型目前還無法有效區(qū)分段落文本的多方面信息,導(dǎo)致模型傾向于生成重復(fù)的問題,下一步工作需要利用指代信息重新標(biāo)注或者結(jié)合內(nèi)容選擇任務(wù)進(jìn)行訓(xùn)練,進(jìn)而針對(duì)段落級(jí)文本生成更多樣性的問題。