武愷莉,朱朦朦,朱鴻雨,張熠天,洪宇
(1.蘇州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215006;2.國(guó)家工業(yè)信息安全發(fā)展研究中心,北京 100043)
問(wèn)題生成(question generation,QG)是智能問(wèn)答領(lǐng)域一個(gè)重要的任務(wù)。問(wèn)題生成任務(wù)有多種輸入形式,比如自由文本、表格數(shù)據(jù)等。本文研究答案可知的句子級(jí)問(wèn)題生成任務(wù),即輸入為陳述句和目標(biāo)答案,自動(dòng)生成對(duì)應(yīng)的問(wèn)句。如例1所示(選自SQuAD測(cè)試集),通過(guò)理解陳述句和目標(biāo)答案的語(yǔ)義,自動(dòng)生成疑問(wèn)句。問(wèn)題生成任務(wù)可以應(yīng)用于醫(yī)療、教育、對(duì)話等領(lǐng)域。此外,該任務(wù)還可以生成大量問(wèn)答對(duì),用于擴(kuò)充問(wèn)答系統(tǒng)的語(yǔ)料資源,協(xié)助自動(dòng)問(wèn)答系統(tǒng)構(gòu)建[1-2]。
本文對(duì)答案可知的問(wèn)題生成(answer-aware question generation)任務(wù)展開(kāi)研究,對(duì)現(xiàn)有基于神經(jīng)網(wǎng)絡(luò)的問(wèn)題生成模型進(jìn)行改進(jìn),以優(yōu)化該任務(wù)的性能。特別地,本文主要關(guān)注以下兩個(gè)問(wèn)題:其一是提高疑問(wèn)句對(duì)應(yīng)問(wèn)題類型的準(zhǔn)確率;其二是減輕生成問(wèn)題與目標(biāo)答案重復(fù)詞的現(xiàn)象。如例1、例2所示,例1中疑問(wèn)句的問(wèn)題類型為“what”,例2為“when”。問(wèn)題類型標(biāo)識(shí)該疑問(wèn)句提問(wèn)的目標(biāo),對(duì)一個(gè)疑問(wèn)句來(lái)說(shuō)這是很重要的。所以,提高問(wèn)題類型的準(zhǔn)確率有助于生成正確的疑問(wèn)句,保證與目標(biāo)答案匹配。另一方面,從語(yǔ)言學(xué)角度,疑問(wèn)句中包含要回答的答案的現(xiàn)象很少見(jiàn)。據(jù)觀測(cè),在現(xiàn)有研究生成的問(wèn)句中不存在上述現(xiàn)象。因此,本文提出一種融合問(wèn)題類型和懲罰機(jī)制的問(wèn)題生成模型來(lái)改進(jìn)上述問(wèn)題。
例1
源端陳述句:Antibiotics revolutionized medicine in the 20th century,and have together with vaccination led to the near eradication of diseases such as tuberculosis in the developed world.<譯文:抗生素在20世紀(jì)使醫(yī)學(xué)發(fā)生了革命性的變化,并與疫苗一起使發(fā)達(dá)國(guó)家的結(jié)核病等疾病幾乎根除。>
目標(biāo)答案:20th <譯文:20世紀(jì)>
疑問(wèn)句:In what century did antibiotics revolutionized medicine?<譯文:抗生素在哪個(gè)世紀(jì)徹底改變了醫(yī)學(xué)?>
例2
源端陳述句:By 1139,Portugal had established itself as a kingdom independent from León.<譯文:到1139年,葡萄牙已經(jīng)建立了一個(gè)獨(dú)立于里昂的王國(guó)。>
目標(biāo)答案:1139
疑問(wèn)句:By what year had Portugal established itself as an independent kingdom?<譯文:葡萄牙在哪一年建立了自己的獨(dú)立王國(guó)?>
本文在斯坦福閱讀理解數(shù)據(jù)集(Stanford question answering dataset,SQuAD)[3]上進(jìn)行實(shí)驗(yàn),使用Du等[4]的數(shù)據(jù)劃分方式。實(shí)驗(yàn)結(jié)果顯示,本文所提方法能取得較好的性能。
本文的主要貢獻(xiàn)包括:
(1) 通過(guò)BERT[5]模型訓(xùn)練問(wèn)題類型分類器,得到每個(gè)輸入的問(wèn)題類型表示。利用門(mén)控機(jī)制在編碼端融入問(wèn)題類型,得到具有問(wèn)題類型信息的源端陳述句表示。
(2) 提出一種懲罰機(jī)制,即在損失函數(shù)中加入對(duì)生成目標(biāo)答案中詞的懲罰,用于減輕從目標(biāo)答案生成詞的情況。
本文組織形式如下,第1節(jié)簡(jiǎn)要介紹問(wèn)題生成任務(wù)的相關(guān)工作;第2節(jié)給出本文所研究的答案可知的問(wèn)題生成任務(wù)的定義;第3節(jié)詳細(xì)描述本文所提方法的細(xì)節(jié);第4節(jié)介紹本文所用的數(shù)據(jù)集、實(shí)驗(yàn)配置以及評(píng)價(jià)指標(biāo);第5節(jié)展示和分析實(shí)驗(yàn)結(jié)果;第6節(jié)總結(jié)全文并展望未來(lái)工作。
目前,問(wèn)題生成的研究思路主要分為兩種,其一是基于人工編寫(xiě)的問(wèn)題模板轉(zhuǎn)換得到疑問(wèn)句,其二是基于端到端的神經(jīng)網(wǎng)絡(luò)將陳述句編碼后解碼生成疑問(wèn)句。
基于規(guī)則的問(wèn)題生成依賴于深層的語(yǔ)言知識(shí),以及精心設(shè)計(jì)的陳述句到疑問(wèn)句的轉(zhuǎn)換規(guī)則。Lindberg等[6]結(jié)合語(yǔ)義標(biāo)記信息提出一種復(fù)雜的基于模板的方法。將基于語(yǔ)義的方法的好處與基于模板的方法的表面形式靈活性相結(jié)合,最重要的一點(diǎn)是不受語(yǔ)法的嚴(yán)格約束。Heilman等[7]重復(fù)使用人工編寫(xiě)的規(guī)則將陳述句轉(zhuǎn)換為疑問(wèn)句,然后使用邏輯斯蒂回歸模型將重復(fù)生成的疑問(wèn)句進(jìn)行排序,按比例保留排序靠前的疑問(wèn)句。
隨著神經(jīng)網(wǎng)絡(luò)以及大規(guī)模數(shù)據(jù)集的出現(xiàn),基于神經(jīng)網(wǎng)絡(luò)的問(wèn)題生成研究逐漸被關(guān)注。Du等[4]首次將神經(jīng)網(wǎng)絡(luò)模型應(yīng)用在問(wèn)題生成任務(wù)中,使用基于注意力機(jī)制的端到端模型,實(shí)驗(yàn)表明生成的疑問(wèn)句在自動(dòng)評(píng)價(jià)方法上可取得不錯(cuò)的性能,人工評(píng)價(jià)也優(yōu)于基于規(guī)則的問(wèn)題生成方法。由于Du等[4]未使用答案信息,這類研究也稱為答案不可知的問(wèn)題生成(answer-agnostic question generation)。Scialom等[8]將Transformer[9]框架應(yīng)用于答案不可知的問(wèn)題生成任務(wù),并提出三種解決未登錄詞的策略。為了使生成的疑問(wèn)句用于提問(wèn)某個(gè)答案的,出現(xiàn)了答案可知的問(wèn)題生成(answer-aware question generation)任務(wù)。Zhou等[10]加入詞匯特征以及目標(biāo)答案的信息,幫助模型生成更為具體的疑問(wèn)句,并且使用拷貝機(jī)制[11]拷貝一些詞表中沒(méi)有的源端單詞。Dong等[12]利用問(wèn)題類型的語(yǔ)義特征,通過(guò)使用問(wèn)題分類模型對(duì)目標(biāo)答案的類型進(jìn)行預(yù)測(cè),加入到問(wèn)題生成過(guò)程,生成具體的問(wèn)句。Zhou等[13]將語(yǔ)言模型作為輔助任務(wù),通過(guò)多任務(wù)學(xué)習(xí)提升性能。
基于規(guī)則的方法領(lǐng)域性較強(qiáng),普適性較低。而且問(wèn)題模板更注重于句子的結(jié)構(gòu)信息,忽略句子的語(yǔ)義信息。與此相比,基于端到端神經(jīng)網(wǎng)絡(luò)的方法可以使模型自適應(yīng)學(xué)習(xí),省去人工構(gòu)造規(guī)則。此外,大規(guī)模閱讀理解數(shù)據(jù)集的開(kāi)放,也為問(wèn)題生成任務(wù)提供了更多的語(yǔ)料資源,推動(dòng)了基于端到端神經(jīng)網(wǎng)絡(luò)方法的發(fā)展。
(1)
其中,P(y|X,A)表示給定X和A的條件下,預(yù)測(cè)問(wèn)句的對(duì)數(shù)條件概率。
本文基于編碼器-解碼器框架,結(jié)合問(wèn)題類型以及懲罰機(jī)制,對(duì)現(xiàn)有答案可知的問(wèn)題生成架構(gòu)進(jìn)行優(yōu)化。使用預(yù)訓(xùn)練模型BERT[5]微調(diào)問(wèn)題類型分類器,得到問(wèn)題類型的表示。在原有編碼端產(chǎn)生的語(yǔ)義表示上,通過(guò)門(mén)控機(jī)制與問(wèn)題類型表示進(jìn)行融合,用于提高生成的問(wèn)句對(duì)應(yīng)類型的準(zhǔn)確率。此外,在解碼生成疑問(wèn)句時(shí),加入對(duì)復(fù)制目標(biāo)答案詞的懲罰項(xiàng),減輕從目標(biāo)答案生成問(wèn)句的現(xiàn)象。本文的模型總體架構(gòu)如圖1所示。
圖1 模型總體架構(gòu)圖
因此,經(jīng)過(guò)編碼層得到X對(duì)應(yīng)的隱狀態(tài)表示為o={o1,o2,…,om}。
本文定義了常見(jiàn)的7種問(wèn)題類型(“what”“who”“how”“which”“when”“where”“why”)以及其他類“others”。根據(jù)疑問(wèn)句中是否出現(xiàn)上述問(wèn)題類型詞,給出對(duì)應(yīng)的問(wèn)題類型標(biāo)記;若都未出現(xiàn),則標(biāo)記為“others”。
本文使用BERT模型[5]在問(wèn)題類型分類任務(wù)上進(jìn)行微調(diào)??紤]到同一個(gè)源端陳述句可能包含多個(gè)目標(biāo)答案,從而生成不同問(wèn)題類型的疑問(wèn)句。所以,本文輸入為源端陳述句X和目標(biāo)答案A,輸出為對(duì)應(yīng)問(wèn)題類型。
(5)
其中,wo、wq、bgate為模型參數(shù),σ表示sigmoid激活函數(shù)。
3.4.1 初始化解碼狀態(tài)
本文使用單層Bi-LSTM對(duì)目標(biāo)答案A單獨(dú)編碼,得到隱狀態(tài)表示,并用最后一個(gè)時(shí)刻的隱狀態(tài)han初始化解碼狀態(tài)h0,如式(8)所示。
h0=han
(8)
3.4.2 注意力機(jī)制
注意力機(jī)制的作用是在當(dāng)前解碼時(shí)刻生成問(wèn)句中詞的時(shí)候,注意到源端陳述句中有關(guān)的部分,從而生成更好的問(wèn)句。本文用Bahdanau等[15]提出的注意力計(jì)算方式。在解碼的每個(gè)時(shí)刻t,計(jì)算當(dāng)前時(shí)刻對(duì)源端表示s的注意力分布at,加權(quán)求和得到語(yǔ)義向量ct。計(jì)算過(guò)程如式(9)~式(11)所示。
其中,v,Ws,Wh,battn為可訓(xùn)練的模型參數(shù),ht指當(dāng)前時(shí)刻的隱狀態(tài)。
3.4.3 拷貝機(jī)制
拷貝機(jī)制的作用是讓模型能從源端陳述句中生成詞。本文使用的拷貝機(jī)制繼承自See等[16]的工作,通過(guò)計(jì)算從詞表中生成詞的概率pgen來(lái)實(shí)現(xiàn),則從源端拷貝單詞的概率為1-pgen。計(jì)算過(guò)程如式(12)所示。
(12)
其中,wc、wh、wx、bp為可訓(xùn)練的參數(shù)。
3.4.4 生成器
解碼生成詞的概率分布由兩部分組成,其一,從詞表生成詞對(duì)應(yīng)的概率分布Pvocab;其二,使用注意力分布at直接從源端陳述句拷貝生成詞。利用公式(12)中的生成概率pgen計(jì)算最終的概率分布P(W),計(jì)算如式(13)~(14)所示。
Pvocab(wt)=softmax(V(V′[ht,ct]+b)+b′)
(13)
(14)
其中,V、V′、b、b′為可訓(xùn)練的模型參數(shù)。利用最終的概率分布即可得到當(dāng)前時(shí)刻生成的單詞。當(dāng)解碼生成的單詞為“
本文使用交叉熵作為損失函數(shù),計(jì)算模型生成的疑問(wèn)句與目標(biāo)疑問(wèn)句的損失,如式(15)所示。
(15)
其中,T為目標(biāo)疑問(wèn)句的長(zhǎng)度,P(wt)為當(dāng)前時(shí)刻目標(biāo)疑問(wèn)句中的單詞對(duì)應(yīng)的生成概率。
本文在損失函數(shù)中加入懲罰機(jī)制,用于抑制模型從目標(biāo)答案中生成詞,本文在損失函數(shù)中加入罰項(xiàng)Lans,計(jì)算如式(16)所示。
(16)
其中,n為目標(biāo)疑問(wèn)句的長(zhǎng)度,P(wt)為目標(biāo)答案中的詞對(duì)應(yīng)的生成概率。即,當(dāng)前目標(biāo)答案中詞對(duì)應(yīng)的概率P(wt)越大,則對(duì)應(yīng)的損失值越大。
最終的損失函數(shù)為兩部分損失加權(quán)求和,如式(17)所示。
Lall=λL+(1-λ)Lans
(17)
其中,λ為權(quán)重因子。
本文在SQuAD問(wèn)題生成數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),來(lái)驗(yàn)證所提方法的有效性。該數(shù)據(jù)集來(lái)源于閱讀理解數(shù)據(jù)集SQuAD,數(shù)據(jù)劃分方法和Du等[4]相同。
原始SQuAD數(shù)據(jù)集是從維基百科的536篇文檔的段落中構(gòu)建的問(wèn)答對(duì),這些問(wèn)答對(duì)由眾包工作者提供,并且要求答案是段落的一部分,共有超過(guò)100k的問(wèn)答對(duì)。Du等人將包含答案的句子抽取出來(lái)作為問(wèn)題生成語(yǔ)料的源端陳述句,問(wèn)題則為要生成的疑問(wèn)句。因?yàn)樵糞QuAD數(shù)據(jù)集的測(cè)試集不公開(kāi),所以Du等重新劃分訓(xùn)練集、開(kāi)發(fā)集和測(cè)試集,數(shù)量分別為70 484、10 570和11 877條。由于Du等人沒(méi)有使用目標(biāo)答案,本文根據(jù)原始SQuAD 數(shù)據(jù)集從陳述句中抽取目標(biāo)答案。表1列出了該數(shù)據(jù)集源端陳述句、目標(biāo)答案以及目標(biāo)疑問(wèn)句對(duì)應(yīng)的平均長(zhǎng)度。
表1 平均長(zhǎng)度統(tǒng)計(jì)表
本文所使用的問(wèn)題類型分類器數(shù)據(jù)集輸入為陳述句和目標(biāo)答案。輸出為問(wèn)題類型標(biāo)簽,通過(guò)構(gòu)造規(guī)則從目標(biāo)疑問(wèn)句中抽取,規(guī)則如下:
(1) 定義問(wèn)題類型標(biāo)記列表[“what” “who”“how”“which”“when”“where”“why”]。
(2) 查找疑問(wèn)句中是否包含上述某個(gè)標(biāo)記,若有,則對(duì)應(yīng)問(wèn)題類型為此標(biāo)記;若無(wú),則對(duì)應(yīng)問(wèn)題類型標(biāo)記為“others”。
(3) 對(duì)訓(xùn)練集、開(kāi)發(fā)集以及測(cè)試集進(jìn)行問(wèn)題類型標(biāo)記,得到問(wèn)題類型分類數(shù)據(jù)集。
經(jīng)統(tǒng)計(jì),每個(gè)類別對(duì)應(yīng)的數(shù)量如表2所示。
表2 問(wèn)題類型統(tǒng)計(jì)表
續(xù)表
4.2.1問(wèn)題類型分類器超參數(shù)設(shè)置
本文使用BERT-Base模型(12-layer,768-hidden,12-heads)進(jìn)行微調(diào),最大長(zhǎng)度設(shè)置為150,訓(xùn)練階段batch_size為16,學(xué)習(xí)率(learning_rate)為5e-5。
本文使用驗(yàn)證集上性能最好的模型作為分類器,對(duì)所有數(shù)據(jù)抽取問(wèn)題類型進(jìn)行表示。
4.2.2 問(wèn)題生成模型超參數(shù)設(shè)置
本文在源端和目標(biāo)端使用相同的詞表,詞表大小為47 385。預(yù)訓(xùn)練詞向量來(lái)源于GloVe[17],其維度為300。位置向量是隨機(jī)初始化的向量,其維度為16。編碼層和解碼層的LSTM隱含層單元(hidden size)為256維。模型優(yōu)化器為Adam[18],其學(xué)習(xí)率(learning rate)為0.000 5。批量數(shù)據(jù)大小(batch size)為16。測(cè)試階段,使用集束搜索(beam search),其大小(beam width)為4。源端陳述句最大長(zhǎng)度為100,目標(biāo)答案最大長(zhǎng)度為5,解碼生成疑問(wèn)句的長(zhǎng)度為30。損失函數(shù)的權(quán)重因子λ取0.5。
4.3.1問(wèn)題類型分類器評(píng)價(jià)指標(biāo)
本文使用準(zhǔn)確率(accuracy,A)評(píng)價(jià)問(wèn)題類型分類器,即正確預(yù)測(cè)的數(shù)量/樣本總數(shù)。
4.3.2 問(wèn)題生成模型評(píng)價(jià)指標(biāo)
本文使用和Du等[4]相同的評(píng)價(jià)指標(biāo)評(píng)價(jià)生成的疑問(wèn)句,包括BLEU[19]、METEOR[20]以及ROUGEL[21],使用現(xiàn)有開(kāi)源的評(píng)價(jià)方法包[22]計(jì)算上述值。BLEU用來(lái)評(píng)價(jià)候選文檔在一組參考文檔上的平均n-gram精度,并對(duì)過(guò)短的句子進(jìn)行懲罰。BLEU-n表示計(jì)算BLEU值使用n-grams統(tǒng)計(jì)共同出現(xiàn)的次數(shù),常用計(jì)算值有BLEU-1、BLEU-2、BLEU-3以及BLEU-4。METEOR是一種基于召回率的評(píng)價(jià)指標(biāo),通過(guò)考慮同義詞、詞干和釋義來(lái)計(jì)算生成的句子和參考答案的相似度。ROUGE(recall-oriented understudy for gisting evaluation)是一種面向n元詞召回率的評(píng)價(jià)方法。本文使用ROUGEL進(jìn)行評(píng)價(jià),該值基于最長(zhǎng)公共子序列統(tǒng)計(jì)共現(xiàn)詞的次數(shù)。
為了驗(yàn)證所提方法的有效性,本文與現(xiàn)有問(wèn)題生成模型進(jìn)行比較。以下簡(jiǎn)要介紹本文的對(duì)比系統(tǒng)設(shè)置。
Du[4]首次將神經(jīng)網(wǎng)絡(luò)模型應(yīng)用于問(wèn)題生成任務(wù),并從SQuAD數(shù)據(jù)集中抽取陳述句-問(wèn)題對(duì)作為語(yǔ)料。使用基于注意力機(jī)制的端到端模型解決答案不可知的問(wèn)題生成任務(wù),未使用目標(biāo)答案。
M2S+cp[23]通過(guò)多視角上下文匹配算法增強(qiáng)與目標(biāo)答案相關(guān)的部分,匹配策略包括完全匹配、注意力匹配以及最大注意力匹配。此外,在解碼端使用拷貝機(jī)制從源端生成詞。
S2S-a-ct-mp-gsa[24]編碼端通過(guò)門(mén)控自注意力機(jī)制實(shí)現(xiàn),解碼端是最大化指針網(wǎng)絡(luò),用于提升輸入為較長(zhǎng)的陳述句的性能。
Ass2s[25]答案分離的端到端神經(jīng)網(wǎng)絡(luò),將源端陳述句中的目標(biāo)答案用“”代替,用于學(xué)習(xí)缺失目標(biāo)答案的語(yǔ)義。此外,通過(guò)Keyword-Net融合目標(biāo)答案中的關(guān)鍵信息。
Wu[26]基于pointer-generator網(wǎng)絡(luò),融合目標(biāo)答案及其位置信息,用于生成特定目標(biāo)答案對(duì)應(yīng)的問(wèn)句。本文以此作為基線系統(tǒng)。
Qiu[27]為了解決生成過(guò)多一般性及與源端陳述句、目標(biāo)答案相關(guān)性不大的問(wèn)題,提出兩種方式。其一,通過(guò)部分拷貝機(jī)制為詞法上相近的詞設(shè)置較高的優(yōu)先級(jí),從而可以生成語(yǔ)法上正確的形式;其二,通過(guò)基于閱讀理解的重排序策略在候選問(wèn)題列表中選擇好的問(wèn)題。
QPP+QAP+RL[28]通過(guò)兩個(gè)下游任務(wù)增強(qiáng)語(yǔ)義的獎(jiǎng)賞,通過(guò)強(qiáng)化學(xué)習(xí)來(lái)生成語(yǔ)義有效的問(wèn)句。兩個(gè)下游任務(wù)分別為復(fù)述識(shí)別和閱讀理解任務(wù)。
表3列出上述對(duì)比系統(tǒng)與本文所提方法的性能。從表中可以看出,本文所提模型在SQuAD數(shù)據(jù)集上BLEU-4值達(dá)到最高。
表3 性能對(duì)比表
針對(duì)答案可知的問(wèn)題生成任務(wù),如何使用目標(biāo)答案是很重要的。在所列對(duì)比系統(tǒng)中,大多關(guān)注點(diǎn)都在源端陳述句和目標(biāo)答案的交互上,用以突出源端中的目標(biāo)答案片段。與對(duì)比系統(tǒng)不同,本文認(rèn)為不同的目標(biāo)答案會(huì)對(duì)應(yīng)不同的問(wèn)題類型,標(biāo)識(shí)了疑問(wèn)句的提問(wèn)方向。同時(shí),該問(wèn)題類型的表示又不應(yīng)局限于特定的幾種類別,生硬地映射為固定的表示。所以,本文通過(guò)目標(biāo)答案和源端陳述句預(yù)測(cè)對(duì)應(yīng)的問(wèn)題類型,并使用門(mén)控機(jī)制與原有源端表示進(jìn)行交互,從而獲取具有問(wèn)題類型信息的表示。通過(guò)上述方法,每個(gè)輸入端對(duì)應(yīng)的問(wèn)題類型轉(zhuǎn)換為一個(gè)隱式表示,通過(guò)門(mén)控機(jī)制融合到原有表示中,從而提升生成的問(wèn)句對(duì)應(yīng)問(wèn)題類型的準(zhǔn)確率。
現(xiàn)有答案可知的問(wèn)題生成模型都注重目標(biāo)答案的信息融合,導(dǎo)致模型可能會(huì)生成包含目標(biāo)答案中詞的問(wèn)句。為了減輕這種情況,本文提出懲罰機(jī)制,在損失函數(shù)中加入生成與目標(biāo)答案重復(fù)的詞的損失。
由表3可見(jiàn),本文所提模型的BLEU-4和ROUGEL指標(biāo)都超過(guò)對(duì)比系統(tǒng),但是METEOR值略低于QPP+QAP+RL[28]。METEOR是基于準(zhǔn)確率和召回率的評(píng)價(jià)指標(biāo),使用WordNet[29]計(jì)算特定的序列匹配、同義詞、詞根和詞綴、釋義之間的匹配關(guān)系。由于METEOR在計(jì)算時(shí)會(huì)考慮同義詞匹配關(guān)系,本文使用WordNet同義詞詞典分別統(tǒng)計(jì)了源端陳述句(S)、本文所提方法生成的問(wèn)句(Qsys)包含目標(biāo)問(wèn)句(Qgrd)同義詞的分布情況,如圖2、圖3所示。圖2中,淺色部分表示S中Qgrd同義詞的比例。圖3中,淺色表示Qsys中的同義詞屬于S的比例(即圖3中的淺色部分是圖2中淺色部分的子集)。Qsys中94.7%的同義詞來(lái)源于S,但是在S中同義詞占比卻很小,僅1.3%。由此可見(jiàn),本文系統(tǒng)善于拷貝原句中的詞,但不善于生成同義詞。相對(duì)比,人工編輯提供的目標(biāo)問(wèn)句(即待生成的問(wèn)句)中具有很多“同義異構(gòu)”的表述,這類表述中主要以同義詞為主。METEOR能夠校準(zhǔn)同義詞,并將“同義異構(gòu)”的不同表述視作一致的表述,從而使具有復(fù)述學(xué)習(xí)與生成能力的QPP+QAP+RL模型在METEOR上具有較好效果,而未集成復(fù)述學(xué)習(xí)和生成機(jī)制且依賴拷貝機(jī)制的本文模型,則在METEOR這一評(píng)估過(guò)程中,難以得到較高的分值。
圖2 S中同義詞分布圖 圖3 Qsys中同義詞分布圖
在表3的下半部分,本文列出了在基線系統(tǒng)中加入本文所提方法的性能。如表3所示,在基線系統(tǒng)中融合問(wèn)題類型信息,BLEU-4、METEOR和ROUGEL分別提升1.15%、1.26%和3.3%。由此可見(jiàn),源端與問(wèn)題類型交互之后包含了類型信息,從而使得性能提高。在基線系統(tǒng)中加入懲罰機(jī)制,帶來(lái)0.99%、1.03%、3.21%的性能提高。在加入兩者之后,三個(gè)指標(biāo)較基線系統(tǒng)提升1.47%、1.29%以及3.51%。
為了檢驗(yàn)指標(biāo)提升的顯著性,本文選取BLEU_4指標(biāo)進(jìn)行顯著性測(cè)試。表4列出本文所提模型(ours)、融合問(wèn)題類型(+qtype)、加入懲罰機(jī)制(+penalty)分別與基線模型(baseline)計(jì)算的p-value[30]值。該值反映了顯著水平,值越小則顯著水平越高。Johnson[31]建議設(shè)置p-value的閾值為0.05,p-value值小于0.05表示顯著,否則表示不顯著。從表4可以看出,本文所提方法在統(tǒng)計(jì)上有顯著性提升。
表4 顯著性測(cè)試表
本文將在5.2節(jié)和5.3節(jié)分別分析融合問(wèn)題類型的有效性以及懲罰機(jī)制的作用。
為了驗(yàn)證融合問(wèn)題類型的有效性,本文計(jì)算測(cè)試集上BERT問(wèn)題類型分類器(BERT)、基線系統(tǒng)(baseline)、融合問(wèn)題類型(+qtype)和本文所提模型(ours)的類型準(zhǔn)確率,如表5所示。
從表5可以看出,直接使用BERT在問(wèn)題類型分類器上進(jìn)行微調(diào),分類的準(zhǔn)確率為73.50%。在源端中融合問(wèn)題類型的信息,問(wèn)題類型的準(zhǔn)確率達(dá)到93.06%,比基線系統(tǒng)高26.21%。由此可見(jiàn),本文所提融合問(wèn)題類型的方法極大提升了生成的問(wèn)題類型的準(zhǔn)確性。正確的問(wèn)題類型表示該疑問(wèn)句的提問(wèn)方向是對(duì)的,保證目標(biāo)答案是用來(lái)回答該問(wèn)題的。
表5 問(wèn)題類型準(zhǔn)確率對(duì)比表
例3列出了基線系統(tǒng)、融合問(wèn)題類型以及本文所提模型生成的問(wèn)句。
例3
源端陳述句:By 1139,Portugal had established itself as a kingdom independent from León.<譯文:到1139年,葡萄牙已經(jīng)建立了一個(gè)獨(dú)立于里昂的王國(guó)。>
目標(biāo)答案:1139
標(biāo)準(zhǔn)疑問(wèn)句:By what year had Portugal established itself as an independent kingdom?<譯文:葡萄牙在哪一年建立了自己的獨(dú)立王國(guó)?>
baseline:Who established itself as a kingdom independent from León?<譯文:誰(shuí)建立了一個(gè)獨(dú)立于里昂的王國(guó)?>
+qtype:By what year did Portugal become a kingdom independent from León?<譯文:葡萄牙哪一年從里昂獨(dú)立出來(lái)的?>
ours:By what year was Portugal established as a kingdom independent?<譯文:葡萄牙哪一年建立獨(dú)立王國(guó)的?>
例3中,目標(biāo)答案“1139”是一個(gè)年份,對(duì)應(yīng)的問(wèn)題應(yīng)該是“when”,是對(duì)時(shí)間的提問(wèn)。而基線系統(tǒng)生成的問(wèn)句的問(wèn)題類型為“who”,與目標(biāo)答案不符。此外,本文所提方法都生成和目標(biāo)疑問(wèn)句一樣的疑問(wèn)詞“By what year”,比直接將問(wèn)句中的問(wèn)題詞變成“when”更接近期望的表述。
本文統(tǒng)計(jì)了訓(xùn)練集、驗(yàn)證集以及測(cè)試集中疑問(wèn)句與目標(biāo)答案重復(fù)詞數(shù)情況,如表6所示。以上統(tǒng)計(jì)不包含停用詞。
從表6可以看出,減少?gòu)哪繕?biāo)答案中生成問(wèn)句中的詞是有必要的。從懲罰機(jī)制的公式(16)中可以看出,如果當(dāng)前時(shí)刻生成的詞是目標(biāo)答案中的詞概率較大,那么1-P(wt)會(huì)是一個(gè)較小的值,對(duì)應(yīng)的損失會(huì)很大,在模型優(yōu)化時(shí)不從目標(biāo)答案中生成詞。
表6 疑問(wèn)句與目標(biāo)答案重復(fù)詞數(shù)統(tǒng)計(jì)表
為了區(qū)別不同長(zhǎng)度的目標(biāo)答案,本文選取目標(biāo)答案長(zhǎng)度從1到5統(tǒng)計(jì)了基線模型以及加入懲罰機(jī)制的模型生成的疑問(wèn)句與目標(biāo)答案的重復(fù)詞數(shù),如表7所示。由表7可見(jiàn),懲罰機(jī)制對(duì)某些長(zhǎng)度的目標(biāo)答案減少了從目標(biāo)生成詞的情況,對(duì)于一些長(zhǎng)度的目標(biāo)答案則效果不是很明顯。本文分析可能的原因是目標(biāo)答案長(zhǎng)度較短,在源端陳述句中占比較少,所以在損失函數(shù)中比較小。
表7 不同長(zhǎng)度目標(biāo)答案重復(fù)詞數(shù)統(tǒng)計(jì)表
續(xù)表
例4給出加入懲罰機(jī)制的模型生成的疑問(wèn)句的示例對(duì)比。
例4
源端陳述句:Antibiotics revolutionized medicine in the 20th century,and have together with vaccination led to the near eradication of diseases such as tuberculosis in the developed world.<譯文:抗生素在20世紀(jì)使醫(yī)學(xué)發(fā)生了革命性的變化,并與疫苗一起使發(fā)達(dá)國(guó)家的結(jié)核病等疾病幾乎根除。>
目標(biāo)答案:20th <譯文:20世紀(jì)>
標(biāo)準(zhǔn)疑問(wèn)句:In what century did antibiotics revolutionized medicine?<譯文:抗生素在哪個(gè)世紀(jì)徹底改變了醫(yī)學(xué)?>
baseline:In what century did antibiotics develop medicine in the 20th century?<譯文:抗生素在20世紀(jì)是在哪個(gè)世紀(jì)發(fā)展成醫(yī)學(xué)的?>
+penalty:In what century did antibiotics revolutionized medicine?<譯文:抗生素在哪個(gè)世紀(jì)徹底改變了醫(yī)學(xué)?>
從例4可以看出,基線系統(tǒng)生成的問(wèn)句包含了目標(biāo)答案“20th”,而加入懲罰機(jī)制的模型生成的問(wèn)句和目標(biāo)答案沒(méi)有重復(fù),和標(biāo)準(zhǔn)疑問(wèn)句更相似。
本文旨在研究句子級(jí)答案可知的問(wèn)題生成任務(wù),主要在兩個(gè)問(wèn)題上進(jìn)行改進(jìn)。其一,提高問(wèn)題類型的準(zhǔn)確率。其二,根據(jù)觀測(cè)目標(biāo)答案里的詞較少出現(xiàn)在疑問(wèn)句中,本文提出懲罰機(jī)制,使生成的問(wèn)句更接近人的表述。實(shí)驗(yàn)結(jié)果表明,本文所提模型提高了性能和問(wèn)題類型的準(zhǔn)確率,并且從一定程度上抑制模型從目標(biāo)答案中生成詞。但是,目前模型還存在一些問(wèn)題,例如,疑問(wèn)句和目標(biāo)答案還存在一些重復(fù)詞。在未來(lái)工作中,將會(huì)思考如何更好地解決上述問(wèn)題。