王 喆,楊棟梁,況星園,劉 丹,馬 勇
(1.武漢理工大學(xué) 安全科學(xué)與應(yīng)急管理學(xué)院,湖北 武漢 430070;2.武漢理工大學(xué) 中國應(yīng)急管理研究中心,湖北 武漢 430070;3.武漢理工大學(xué) 航運(yùn)學(xué)院,湖北 武漢 430063)
2021年,我國洪澇災(zāi)害共造成5 901萬人次受災(zāi),因災(zāi)死亡失蹤590人,倒塌房屋15.2萬間,直接經(jīng)濟(jì)損失2 458.9億元[1]。洪澇災(zāi)害多為極端天氣引發(fā),形勢復(fù)雜嚴(yán)峻,決策環(huán)境瞬息萬變,經(jīng)常出現(xiàn)應(yīng)急響應(yīng)滯后、應(yīng)對措施不當(dāng)?shù)葐栴},為贏得洪澇災(zāi)害應(yīng)急處置主動權(quán),應(yīng)提高應(yīng)急決策的時效性和科學(xué)性?,F(xiàn)代應(yīng)急決策離不開以情景推演、智能算法為代表的應(yīng)急管理信息平臺及決策支持系統(tǒng)[2-4],自動問答通過自動推理快速、精準(zhǔn)回答用戶所提問題以滿足用戶需求[5],將其引入洪澇災(zāi)害應(yīng)急處置中,有利于縮短研判會商工作流程,提高應(yīng)急指揮團(tuán)隊的決策能力和效率[6]。
目前,自動問答已成功應(yīng)用于安全領(lǐng)域,例如鉆井安全問答系統(tǒng)[7]、食品安全事件問答系統(tǒng)[8]以及應(yīng)急信息處理對話系統(tǒng)[9]。現(xiàn)有安全領(lǐng)域自動問答系統(tǒng)可以提供信息輔助功能,滿足不同應(yīng)急情景下用戶常見問題解答和信息檢索需求,但現(xiàn)有自動回答系統(tǒng)的應(yīng)急態(tài)勢感知能力及直接決策功能不足,實戰(zhàn)性能仍需提高。
通過模擬洪澇災(zāi)害應(yīng)急處置的決策邏輯,選擇摘要式問答對作為自動問答任務(wù)框架,并收集整理摘要式洪澇災(zāi)害應(yīng)急決策問答對數(shù)據(jù)集。針對NarrativeQA[10]等摘要式數(shù)據(jù)集,F(xiàn)rermann[11]設(shè)計檢索式問答模型,先檢索給定問題的相關(guān)段落,再從段落里抽取對應(yīng)答案;錢錦等[12]提出基于多任務(wù)的生成式閱讀理解模型,將答案生成任務(wù)作為主任務(wù),答案抽取和問題分類任務(wù)作為輔助任務(wù)。上述自動問答模型中各問題答案來源于問題背景,可以直接通過檢索或生成方式實現(xiàn),然而洪澇災(zāi)害場景復(fù)雜,所收集的數(shù)據(jù)集中問題背景僅包含雨情、水情等關(guān)鍵場景信息,答案的生成還需要引入防洪應(yīng)急預(yù)案等外部知識。檢索式答案生成機(jī)制不能將決策信息和外部知識有效融合,需要針對洪澇災(zāi)害應(yīng)急決策特征設(shè)計生成式問答模型。
對于給定的生成式問答任務(wù),通過微調(diào)預(yù)訓(xùn)練模型GPT2、T5是常見技術(shù)[13],但所收集的洪澇災(zāi)害應(yīng)急決策問答對數(shù)據(jù)集較小,直接使用預(yù)訓(xùn)練微調(diào)方法將增加過擬合風(fēng)險。提示學(xué)習(xí)通過給下游任務(wù)數(shù)據(jù)添加一段合適的字符,使其與預(yù)訓(xùn)練數(shù)據(jù)形式相似,并在預(yù)訓(xùn)練模型基礎(chǔ)上訓(xùn)練少量參數(shù)以預(yù)測模型輸出,可以避免或減少對大型監(jiān)督數(shù)據(jù)集的需求[14]。其中,Daniel等[15]通過結(jié)合問題和問題背景創(chuàng)建合適的Prompt,將多種格式的問答任務(wù)轉(zhuǎn)化為文本生成問題,建立統(tǒng)一的自動問答模型;Brown等[16]使用手工方式創(chuàng)建前綴Prompt處理問答、翻譯和常識推理等多種任務(wù)。手工創(chuàng)建Prompt是自然且直觀的方式,但創(chuàng)建Prompt需要一定時間和經(jīng)驗,即使是經(jīng)驗豐富的領(lǐng)域?qū)<乙部赡軣o法發(fā)現(xiàn)最佳Prompt,為解決該問題,Li等[17]提出“Prefix Tuning”方法,在輸入前添加1串連續(xù)向量,同時保持預(yù)訓(xùn)練語言模型的參數(shù)不動,僅訓(xùn)練合適的前綴。因此可以將預(yù)訓(xùn)練模型與提示學(xué)習(xí)相結(jié)合,通過自動化生成連續(xù)型Prompt,設(shè)計生成式自動問答模型,在2種方法結(jié)合過程中,為使生成答案不受文本長度限制,選擇自回歸語言模型GPT2作為預(yù)訓(xùn)練模型,進(jìn)一步外部知識的融合也可以通過增量預(yù)訓(xùn)練方式實現(xiàn)。
綜上,本文構(gòu)建基于預(yù)訓(xùn)練語言模型GPT2的洪澇災(zāi)害應(yīng)急決策自動問答模型以提高決策效率,設(shè)計摘要式洪澇災(zāi)害應(yīng)急決策問答對模擬應(yīng)急決策邏輯,收集防洪應(yīng)急預(yù)案,對預(yù)訓(xùn)練模型進(jìn)行增量預(yù)訓(xùn)練從而實現(xiàn)外部知識融合,引入提示學(xué)習(xí)方法緩解數(shù)據(jù)集較小帶來的過擬合風(fēng)險,并通過人工評估指標(biāo)和自動評估指標(biāo)對自動問答模型進(jìn)行評價。
應(yīng)急決策問答是洪澇災(zāi)害應(yīng)急處置過程中的重要環(huán)節(jié),是在應(yīng)急響應(yīng)啟動后,由現(xiàn)場指揮部和防汛專家根據(jù)應(yīng)急態(tài)勢即雨情、水情、險情等災(zāi)害情景,進(jìn)行科學(xué)研判會商,識別應(yīng)急目標(biāo),進(jìn)而做出相應(yīng)工作部署的過程。摘要式問答是這個過程中通常采用的問答格式,以問答對形式出現(xiàn),問題背景和問題答案均為非結(jié)構(gòu)化文本,自動問答模型需要理解用戶所提問題和問題背景以生成問題答案。應(yīng)急決策問答和摘要式問答在要素和操作流程上相似,如表1所示。
表1 應(yīng)急決策問答和摘要式問答對應(yīng)關(guān)系Table 1 Corresponding relationship between emergency decision-making question answering and abstractive question answering
根據(jù)表1顯示對應(yīng)關(guān)系,當(dāng)前應(yīng)急情景分析中,感知應(yīng)急態(tài)勢、識別應(yīng)急目標(biāo)、制定應(yīng)急行動方案的過程,即可被描述為根據(jù)問答對中有關(guān)災(zāi)害的問題背景和所提問題生成相應(yīng)問題答案。因此,應(yīng)急決策問答對可通過整理有關(guān)洪澇災(zāi)害應(yīng)急處置案例得出。
將收集到的武漢市防汛抗旱指揮部發(fā)布的防汛排漬通報與武漢市相關(guān)防洪應(yīng)急預(yù)案結(jié)合,整理成應(yīng)急決策問答對數(shù)據(jù)集。該數(shù)據(jù)集包含160個關(guān)于防汛排漬的應(yīng)急決策問答對,該問答對以“如何巡堤查險”等具體應(yīng)急目標(biāo)作為問題,問題背景則描述具體應(yīng)急情景,主要包括以下4個方面:1)雨情(可選),當(dāng)前或者未來的雨水形勢;2)水情(可選),武漢市各水文站點(diǎn)的水位情形以及水庫狀況;3)漬情(可選),武漢市主次干道易漬水點(diǎn)以及其他道路漬水點(diǎn)漬水情況;4)工情(可選),當(dāng)前已采取的應(yīng)急響應(yīng)級別及措施。問題答案則描述針對問題背景中的應(yīng)急情景所制定的應(yīng)急行動方案。整個問答對數(shù)據(jù)集按問題背景分類,大致可以分為水情處置、漬情處置、雨情處置3類。應(yīng)急決策問答對示例如表2所示。
表2 應(yīng)急決策問答對示例Table 2 Examples of question answering pairs of emergency decision-making
對于上述數(shù)據(jù)集,各問題背景均從官方發(fā)布的防汛排漬通報中獲得,其中刪除通報時間、通報組織以及應(yīng)急情景的具體時間,各問題答案不完全從通報中獲得,部分根據(jù)通報中工情描述結(jié)合防洪應(yīng)急預(yù)案得到。
給定1個洪澇災(zāi)害應(yīng)急決策問答對,其中包含有關(guān)洪澇災(zāi)害的問題、問題背景、問題答案,把該問答對處理成qi,ci,ai。qi是當(dāng)前應(yīng)急情景的目標(biāo),即如何應(yīng)急處置,ci是當(dāng)前應(yīng)急情景的描述,ai是針對當(dāng)前應(yīng)急情景應(yīng)采取的措施。所需要問答生成模型以qi,ci為輸入,以ai為輸出。
GPT2模型是1種語言模型,被定義為1組樣本(x1,x2,x3,…,xn)的無監(jiān)督分布估計,每個樣本由可變長度的符號序列(s1,s2,…,sn)構(gòu)成,如式(1) 所示:
(1)
即可以根據(jù)上文預(yù)測下一個字符,同樣該方法允許語言序列以p(sn-k,…,sn|s1,…,sn-k-1)的形式出現(xiàn)。因此,對于本文所構(gòu)建的摘要式應(yīng)急決策問答對,根據(jù)輸入qi,ci,得到輸出ai的過程可以表示為求解聯(lián)合概率p(ai|qi,ci)的過程,其中qi,ci按順序連接作為輸入。
GPT2通過多層解碼器模塊組合構(gòu)建,其內(nèi)部結(jié)構(gòu)如圖1所示,具體包括以下4個部分:
圖1 GPT2內(nèi)部結(jié)構(gòu)Fig.1 Internal structure of GPT2
1)輸入向量。GPT2的輸入向量由詞嵌入向量和位置編碼向量相加得到,其中詞嵌入向量、位置編碼向量需要分別查詢嵌入矩陣、位置編碼矩陣。
2)掩碼自注意力機(jī)制。自注意力機(jī)制是將輸入向量與1個隨機(jī)初始化的矩陣相乘,得到查詢向量(Q)、鍵向量(K)、值向量(V),然后根據(jù)式(2)計算注意力得分:
(2)
式中:dk表示輸入向量維度,該分?jǐn)?shù)值決定輸入序列中某個位置的字符對其他字符的關(guān)注程度。
對序列中的每個字符進(jìn)行同樣處理,即可通過自注意力機(jī)制實現(xiàn)字符間的相互理解。
在GPT2模型中,如果使用自注意力機(jī)制,將會導(dǎo)致當(dāng)前字符學(xué)習(xí)到未來信息,造成信息泄露,因此需要掩碼自注意力機(jī)制,即在自注意力計算時,屏蔽來自當(dāng)前計算位置右邊所有字符的信息。
3)N次堆疊。經(jīng)過詞嵌入和位置編碼的輸入向量,首先接觸第1個解碼器模塊,其內(nèi)部處理過程如下:輸入向量先通過掩碼自注意力層的處理,得到特征向量;該特征向量被傳遞到前饋神經(jīng)網(wǎng)絡(luò)層,得到結(jié)果向量;將結(jié)果向量傳遞給第2個解碼器模塊進(jìn)行計算,將此過程持續(xù)N次,實現(xiàn)解碼器模塊的N次堆疊。
4)模型輸出。經(jīng)過最后1個解碼器模塊處理后,得到輸出向量,該向量與輸入向量具有相同維度,將此向量和嵌入矩陣相乘,可得到詞匯表中每個字符的得分,選取得分最高的字符即輸出結(jié)果。但訓(xùn)練時通常設(shè)置top-k參數(shù),考慮得分最高的k個字符。
1)Prompt基本操作
通常情況下Prompt基本操作有以下3步[12]:
①Prompt添加。主要通過Prompt函數(shù)將輸入文本x修改為x′=fprompt(x)。首先,建立1個文本字符串模板,該模板有2個空位置[X]和[Z],其中[X]用來填充輸入文本x,[Z]用來填充答案文本z,然后把輸入文本x填入空位置[X]中。
在問答生成任務(wù)中,以表2為例,輸入文本x有2個,即問題和問題背景,分別設(shè)為[X1],[X2]。手工建立文本字符串模板“根據(jù)預(yù)案[X1][X2][Z]”,得到的x′為“根據(jù)預(yù)案如何巡堤查險? 水情:當(dāng)前,我市漢江仍持續(xù)高水位,隨著漢江上游來水快速消退、丹江口水庫逐步調(diào)減下泄量,漢江中下游將進(jìn)入快速退水期。漢江新溝站水位27.89 m,超警戒水位0.39 m。工情:已啟動防汛3級應(yīng)急響應(yīng)。[Z]”。
(3)
式中:θ表示語言模型的參數(shù);ffill(x′,z)表示將字符z插入輸入文本x′中;P(ffill(x′,z);θ)表示在參數(shù)θ下,各字符z插入輸入文本x′中的概率;Search表示搜索概率的搜索函數(shù)。
2)Prompt工程
Prompt工程是創(chuàng)建Prompt函數(shù)fprompt(x)的過程,該函數(shù)可以在提示學(xué)習(xí)過程中產(chǎn)生最有效的性能。
就城市商業(yè)銀行來說,交叉銷售是指借助CRM系統(tǒng),在現(xiàn)有客戶資源的基礎(chǔ)上對于市場進(jìn)行進(jìn)一步細(xì)分,以發(fā)現(xiàn)更多客戶的潛在需求,進(jìn)而有針對性地進(jìn)行產(chǎn)品和服務(wù)的銷售或定制銀行提供的相關(guān)產(chǎn)品和服務(wù)。在這方面,城市商業(yè)銀行先應(yīng)確定產(chǎn)品組介,鎖定目標(biāo)客戶群,從而促進(jìn)交叉銷售。
①考慮Prompt的形式。選擇哪種類型的Prompt取決于所要解決的下游任務(wù),由于前綴Prompt是從左到右實現(xiàn)的,則和生成任務(wù)或使用自回歸語言模型的任務(wù)相匹配,因此在問答生成任務(wù)中非常適合選擇前綴Prompt。
②考慮Prompt的創(chuàng)建方式。P-tuning 重新考慮 “模版由自然語言構(gòu)成”這一常規(guī)要求,將模版的構(gòu)建轉(zhuǎn)化為連續(xù)參數(shù)優(yōu)化問題,其模板構(gòu)建過程如圖2所示。
圖2 P-tuning模板構(gòu)建Fig.2 Construction of P-tuning template
其中,|Pi|表示模板中的第i個Prompt字符,hi是與|Pi|對應(yīng)的可訓(xùn)練的嵌入向量,e(|X|),e(|Z|)是模板中空位置[X],[Z]的嵌入向量。模板中的Prompt數(shù)目是1個超參數(shù),其前后位置也可以進(jìn)行調(diào)整。
針對所收集的應(yīng)急決策問答對,將模板構(gòu)建過程轉(zhuǎn)化為連續(xù)參數(shù)優(yōu)化問題,設(shè)計出擁有不同Prompt長度、不同Prompt位置的模板。以8個Prompt為例,其位置設(shè)計如表3所示,其中[X1],[X2]用于填充問題、問題背景,[Z]用于填充問題答案;T1表示8個Prompt全部在輸入文本之前,T2表示4個Prompt在輸入文本之前,4個Prompt在輸入文本和輸出文本之間,T3表示8個Prompt全部在輸入文本和輸出文本之間。
表3 應(yīng)急決策問答對模板Table 3 Template of emergency decision-making question answering pairs
3)訓(xùn)練策略
在Prompt訓(xùn)練策略中,選擇固定預(yù)訓(xùn)練模型參數(shù)只訓(xùn)練Prompt參數(shù)的策略,以8個Prompt為例,假設(shè)詞向量的維度是768,僅訓(xùn)練Prompt參數(shù)時需要訓(xùn)練的參數(shù)量是8×768=6 144,遠(yuǎn)遠(yuǎn)小于整個預(yù)訓(xùn)練模型參數(shù)量。具體實施時直接利用詞匯表中模型未見過的字符作為Prompt來嵌入輸入向量中,進(jìn)一步簡化訓(xùn)練過程。
本文實驗選擇中文GPT2預(yù)訓(xùn)練模型的基礎(chǔ)版本作為基礎(chǔ)模型,為了使模型學(xué)習(xí)到應(yīng)急預(yù)案等洪澇災(zāi)害相關(guān)外部知識,對該模型進(jìn)行增量預(yù)訓(xùn)練。從武漢市各區(qū)政府門戶網(wǎng)站下載防汛排漬應(yīng)急預(yù)案等數(shù)據(jù),收集數(shù)據(jù)共429條,15萬字符。以此數(shù)據(jù)作為訓(xùn)練語料,訓(xùn)練過程分為2步:第1步將序列長度設(shè)置為128,訓(xùn)練10 000步;第2步將序列長度設(shè)置為1 024,訓(xùn)練10 000步。最后得到本實驗所需的GPT2模型。
為了對模型生成的答案進(jìn)行評估,請5位應(yīng)急管理專家從以下3個方面對其進(jìn)行評分:1)流暢度,生成答案的邏輯和可讀性;2)相關(guān)性,生成答案是否包含與應(yīng)急情景相關(guān)的物體、動作、事件等;3)信息性,生成答案對支持快速應(yīng)急決策有多大幫助,提供多少有效建議及措施。具體實施時,將測試集的模板隱藏,由各位專家獨(dú)立評分,分值從1~5,分值越大表示效果越好,最后對專家評分取平均值,表示生成答案的質(zhì)量。
同時,選取幾個自動評估指標(biāo)進(jìn)行評估,如基于統(tǒng)計的文本評價指標(biāo)BLEU-2、BLEU-4、NIST-4、METEOR以及基于預(yù)訓(xùn)練模型的文本評價指標(biāo)BERTScore。
利用表3中3個模板訓(xùn)練GPT2模型,并利用測試集進(jìn)行模型效果測試,5位應(yīng)急管理專家的評估結(jié)果如表4所示。
表4 測試集專家評估結(jié)果Table 4 Human evaluation results of test sets
由表4可以得到以下3個結(jié)論:
1)GPT2結(jié)合提示學(xué)習(xí)的方法在流暢度、相關(guān)性、信息性3個指標(biāo)上的得分整體上接近實際應(yīng)急行動方案,這表明GPT2語言模型在問答生成任務(wù)中表現(xiàn)良好,且提示學(xué)習(xí)有利于減小過擬合風(fēng)險,并提升答案生成效果。通過在輸入文本前后加入Prompt,使問答任務(wù)跟預(yù)訓(xùn)練任務(wù)保持一致,充分利用預(yù)訓(xùn)練模型,幫助模型快速回憶起外部知識,降低模型過度擬合小樣本問答對數(shù)據(jù)。微調(diào)GPT2模型時,信息性得分相對較低,模型在很大程度上更偏向?qū)W習(xí)小樣本訓(xùn)練集中的知識,從而導(dǎo)致過擬合。
2)前綴式Promp在3個指標(biāo)的得分略高于后綴式Promp。對于GPT2語言模型,前綴式Prompt的引入非常重要,只引入后綴式Prompt時效果變差。直觀上來說,前綴式Prompt更有利于模型回憶增量預(yù)訓(xùn)練時獲得的相關(guān)外部知識,進(jìn)而生成更符合預(yù)案的答案。因此,在實際應(yīng)用時可以考慮增加前綴式Prompt的使用。
3)模型生成的答案有較高的流暢度和相關(guān)性指標(biāo)評分,可以判斷其有較高的語言質(zhì)量,在滿足可讀性、邏輯性等基本需求的同時,符合相應(yīng)洪澇災(zāi)害情景。但在信息性評分上生成的答案與實際應(yīng)急行動方案仍有一定差距,還需要增加更多歷史案例等外部知識,以提高生成答案的信息性。
自動評估結(jié)果如表5所示,從表中可以得到以下2個結(jié)論:
表5 測試集自動評估結(jié)果Table 5 Automatic evaluation results of test sets
1)T1模板在BLEU、NIST、METEOR等基于統(tǒng)計的文本評價指標(biāo)上的表現(xiàn)超過其他模板,與模型準(zhǔn)確率和人工評估結(jié)果保持一致,進(jìn)一步證明前綴式Prompt在提示學(xué)習(xí)中的優(yōu)勢。但微調(diào)GPT2時,模型在上述指標(biāo)上的得分均超過提示學(xué)習(xí)方法。分析發(fā)現(xiàn),若測試集樣本中問題、問題背景不涉及應(yīng)急響應(yīng)級別,則會導(dǎo)致模型在這類樣本上的得分較高,造成總得分較高。因此,可以進(jìn)一步證實使用微調(diào)方法會使模型只學(xué)習(xí)到小樣本訓(xùn)練集中的知識,造成過擬合。
2)不同模板的BERTScore分?jǐn)?shù)與模型準(zhǔn)確率保持一致,且生成答案的平均長度均接近實際應(yīng)急行動方案的平均長度,可以判斷生成答案與實際應(yīng)急行動方案有較高的語義相似性,證明模型可以提供正確且決策信息豐富的答案。
給定1個洪澇災(zāi)害相關(guān)問題背景,利用GPT2模型及不同模板生成的答案見表6,使用提示學(xué)習(xí)方法生成的答案內(nèi)容充實、信息豐富,符合應(yīng)急情景。針對問題背景中雨情、水情、工情,提出如何落實防汛2級應(yīng)急響應(yīng),T1模板給出“全區(qū)防汛工作進(jìn)入全面緊急狀態(tài),全區(qū)主要干部群眾緊急疏散,轉(zhuǎn)移危險區(qū)域人員”;T2,T3模板分別對堤防、水位做出要求;GPT2僅給出“報送防汛信息”的答案。各模板給出的答案雖與實際應(yīng)急行動方案不完全一致,但在流暢度、相關(guān)性、信息性上均基本滿足應(yīng)急決策需求,且符合防洪應(yīng)急預(yù)案應(yīng)急響應(yīng)行動要求,因此可以判斷提示學(xué)習(xí)方法對增量預(yù)訓(xùn)練的外部知識進(jìn)行有效融合,可以幫助模型生成更符合應(yīng)急預(yù)案的答案。
表6 不同模型效果Table 6 Performance of different models
為驗證不同Prompt長度對模型的影響,以T1模板為基礎(chǔ),修改Prompt長度,分別設(shè)置為P4,P8,P12,P16,通過同樣的訓(xùn)練策略和超參數(shù)設(shè)置分別訓(xùn)練模型,其模型準(zhǔn)確率如圖3所示,隨迭代次數(shù)增加,所有模型的準(zhǔn)確率均呈明顯上升趨勢;隨著Prompt長度增加,模型準(zhǔn)確率提高,即Prompt 長度越大,模型效果越好。但受模型序列長度影響,未繼續(xù)增加Prompt長度進(jìn)行訓(xùn)練,因此,Prompt長度對模型的影響仍需進(jìn)一步驗證。
圖3 不同Prompt長度對模型的影響Fig.3 Influence of different Prompt lengths on model
1)建立洪澇災(zāi)害應(yīng)急決策自動問答模型,首先收集洪澇災(zāi)害應(yīng)急決策問答對數(shù)據(jù)集,通過GPT2結(jié)合提示學(xué)習(xí)的方法構(gòu)建出符合洪澇災(zāi)害應(yīng)急決策邏輯的問答生成模型,通過人工評估和自動評估指標(biāo)對模型進(jìn)行評價。
2)根據(jù)測試集評價結(jié)果,GPT2結(jié)合提示學(xué)習(xí)的方法,有效緩解數(shù)據(jù)集較少帶來的過擬合風(fēng)險,且前綴式Prompt效果較好,模型生成的答案有較高的流暢度、相關(guān)性、信息性,能夠支持快速應(yīng)急決策。
3)由于所收集的問答對數(shù)據(jù)集不夠豐富,數(shù)據(jù)量較小,即使通過提示學(xué)習(xí)方法使最終模型效果得到明顯改善,但仍有提升空間。