廖 彬,陳澤林,陳羽中
1(福州大學(xué) 網(wǎng)絡(luò)安全與信息化辦公室,福州 350108)
2(福州大學(xué) 計(jì)算機(jī)與大數(shù)據(jù)學(xué)院,福州 350108)
3(福建省網(wǎng)絡(luò)計(jì)算與智能信息處理重點(diǎn)實(shí)驗(yàn)室,福州 350108)
對(duì)話技術(shù)能夠在理解用戶問(wèn)題的前提下為用戶返回合適的回復(fù),直觀的模擬人類的智能,其研究對(duì)于人工智能的發(fā)展具有重大的意義.目前的對(duì)話模型可分為生成式對(duì)話模型和檢索式對(duì)話模型[1],其中,生成式對(duì)話模型在推理階段不依賴任何語(yǔ)料庫(kù)就能根據(jù)一個(gè)問(wèn)題逐字生成一個(gè)答案,其生成的答案具有多樣性的優(yōu)點(diǎn),但獲取的答案往往邏輯性不強(qiáng),有時(shí)還會(huì)陷入安全回復(fù)的陷阱中.而檢索式對(duì)話模型是讓算法根據(jù)特定的一個(gè)問(wèn)題到語(yǔ)料庫(kù)中找到一個(gè)最合適的答案進(jìn)行回復(fù),能夠從問(wèn)題中提取出與正確回復(fù)相關(guān)聯(lián)的信息,依據(jù)這些信息推理出合適的答案.相較于生成式對(duì)話模型,檢索式對(duì)話模型更加可靠且具有更好的實(shí)用性.
檢索式對(duì)話模型分為單輪對(duì)話模型和多輪對(duì)話模型,早期的檢索式對(duì)話模型受限于其對(duì)文本的理解能力,只能對(duì)單條的短文本進(jìn)行處理,無(wú)法處理對(duì)話歷史信息.在實(shí)踐當(dāng)中,用戶可能會(huì)分多句話來(lái)表達(dá)其意圖,單輪對(duì)話在實(shí)際場(chǎng)景下缺乏實(shí)用性.檢索式多輪對(duì)話模型需要根據(jù)對(duì)話歷史和問(wèn)題從知識(shí)庫(kù)中選擇出合適的回復(fù),對(duì)話歷史中的冗余信息以及話題的轉(zhuǎn)換使得選擇合適的回復(fù)十分困難.因此,本文重點(diǎn)針對(duì)多輪對(duì)話回復(fù)選擇任務(wù)開(kāi)展研究.
由于對(duì)話是一種具有時(shí)序性的數(shù)據(jù),因此早期的多輪對(duì)話模型主要使用能夠建模時(shí)序依賴關(guān)系的循環(huán)神經(jīng)網(wǎng)絡(luò)或特征提取能力強(qiáng)的注意力機(jī)制來(lái)學(xué)習(xí)多輪對(duì)話中的上下文語(yǔ)義[2-10].近年來(lái),由于預(yù)訓(xùn)練語(yǔ)言模型在學(xué)習(xí)語(yǔ)義信息上的巨大優(yōu)勢(shì),研究人員引入了預(yù)訓(xùn)練語(yǔ)言模型進(jìn)行上下文語(yǔ)義學(xué)習(xí)[11-16].一些研究工作[17-19]則進(jìn)一步將多任務(wù)學(xué)習(xí)引入到多輪對(duì)話回復(fù)選擇任務(wù)中,針對(duì)對(duì)話數(shù)據(jù)連貫性、一致性等特點(diǎn)設(shè)計(jì)了多個(gè)子任務(wù).這些子任務(wù)與主任務(wù)一起共享預(yù)訓(xùn)練語(yǔ)言模型的參數(shù),設(shè)計(jì)額外的損失函數(shù)來(lái)有針對(duì)性的優(yōu)化預(yù)訓(xùn)練語(yǔ)言模型.預(yù)訓(xùn)練語(yǔ)言模型與多任務(wù)學(xué)習(xí)相結(jié)合的方法在多輪對(duì)話回復(fù)選擇任務(wù)中展現(xiàn)了顯著的效果.一方面進(jìn)一步挖掘了預(yù)訓(xùn)練語(yǔ)言模型的潛力,減少了模型的參數(shù)數(shù)量;另一方面能夠更高效地學(xué)習(xí)對(duì)話數(shù)據(jù)中的潛在特征,大幅提升了預(yù)訓(xùn)練語(yǔ)言模型對(duì)于對(duì)話數(shù)據(jù)的理解能力.但是,現(xiàn)有模型還存在以下問(wèn)題:1)設(shè)計(jì)的多個(gè)子任務(wù)需要在訓(xùn)練的時(shí)候?qū)︻A(yù)訓(xùn)練語(yǔ)言模型做多次微調(diào),訓(xùn)練代價(jià)較高.同時(shí),子任務(wù)的優(yōu)化目標(biāo)與主任務(wù)的優(yōu)化目標(biāo)有一定差異,例如插入,刪除話語(yǔ)后預(yù)測(cè)其位置的子任務(wù),可能會(huì)為主任務(wù)帶來(lái)噪聲;2)現(xiàn)有模型對(duì)關(guān)鍵語(yǔ)義信息的篩選不夠充分;3)現(xiàn)有模型的預(yù)訓(xùn)練語(yǔ)言模型是在文本較長(zhǎng)的百科類數(shù)據(jù)集上學(xué)習(xí)得到,應(yīng)用于短文本多輪對(duì)話數(shù)據(jù)上可能出現(xiàn)語(yǔ)義理解錯(cuò)誤.針對(duì)上述問(wèn)題,本文提出了一種局部信息增強(qiáng)與對(duì)話結(jié)構(gòu)感知的多輪對(duì)話模型SAFL,主要貢獻(xiàn)如下:
1)針對(duì)現(xiàn)有模型的子任務(wù)不夠高效的問(wèn)題,SAFL提出了一個(gè)名為隨機(jī)滑動(dòng)窗口回復(fù)預(yù)測(cè)(RPRSW,Response Prediction in Random Sliding Windows)的輔助任務(wù).該任務(wù)在多輪對(duì)話上下文中的不同位置、大小的窗口內(nèi)進(jìn)行回復(fù)預(yù)測(cè),充分學(xué)習(xí)不同對(duì)話階段、對(duì)話長(zhǎng)度的語(yǔ)言特點(diǎn),顯著增強(qiáng)了預(yù)訓(xùn)練語(yǔ)言模型對(duì)不同位置的對(duì)話數(shù)據(jù)的理解能力.
2)針對(duì)現(xiàn)有模型對(duì)重點(diǎn)信息的篩選不夠充分的問(wèn)題,SAFL提出了一種重點(diǎn)局部信息蒸餾(Key Local Information Distillation,KLID)機(jī)制.該機(jī)制借助多門控融合方法從全局和局部信息之中蒸餾出重點(diǎn)信息,進(jìn)一步提升了模型融合層的效果.
3)SAFL提出了一種階段信息學(xué)習(xí)(Phase Information Learning,PIL)策略,在微調(diào)前加強(qiáng)預(yù)訓(xùn)練語(yǔ)言模型對(duì)短對(duì)話數(shù)據(jù)的領(lǐng)域?qū)W習(xí),增強(qiáng)模型對(duì)短文本多輪對(duì)話數(shù)據(jù)的學(xué)習(xí)能力.
4)SAFL提出了對(duì)話結(jié)構(gòu)感知(DSA,Dialogue Structure-aware Task)輔助任務(wù).該任務(wù)根據(jù)對(duì)話人說(shuō)話的先后順序構(gòu)造圖結(jié)構(gòu),并使用GCN進(jìn)行編碼,促使預(yù)訓(xùn)練語(yǔ)言模型學(xué)習(xí)正確的對(duì)話結(jié)構(gòu)信息,進(jìn)一步加強(qiáng)了模型對(duì)多輪對(duì)話數(shù)據(jù)的語(yǔ)義理解能力.
早期的檢索式對(duì)話模型主要針對(duì)單輪對(duì)話,傳統(tǒng)的算法采用統(tǒng)計(jì)機(jī)器學(xué)習(xí)的方法,將LDA(Latent Dirichlet Allocation),LSA(Latent Semantic Analysis)等主題分析算法與余弦相似度等短文本匹配算法相結(jié)合來(lái)解決單輪對(duì)話任務(wù).Lowe等人[20]在2015年提出使用RNN(Recurrent Neural Networks)來(lái)處理時(shí)序依賴,模型拼接對(duì)話上下文拼接后輸入RNN編碼時(shí)序信息.但是該方法直接使用RNN編碼整段上下文,難以過(guò)濾掉上下文中不相關(guān)的語(yǔ)義信息.
Zhou等人[3]提出了一個(gè)雙視圖的檢索式對(duì)話模型,能夠從兩種粒度更加精確的提取上下文信息.第1個(gè)視圖在詞粒度上使用門控循環(huán)單元GRU(Gated Recurrent Unit)[19]編碼整個(gè)上下文和回復(fù),第2個(gè)視圖生成每個(gè)句子的表示,在句粒度上使用GRU進(jìn)行編碼,最終使用兩個(gè)視圖得到的表示分別進(jìn)行匹配.但是,該模型分別從上下文和回復(fù)中提取特征,難以根據(jù)回復(fù)有針對(duì)性的提取相關(guān)信息.Wu等人[4]對(duì)不同的話語(yǔ)和回復(fù)分別進(jìn)行編碼,并且基于詞嵌入和GRU構(gòu)建兩種粒度的語(yǔ)義表示.在匹配階段,該模型對(duì)每一個(gè)話語(yǔ)和回復(fù)在兩種粒度表示上分別進(jìn)行語(yǔ)義匹配.Zhang等人[5]將多輪對(duì)話中的最后一個(gè)話語(yǔ)視為對(duì)話問(wèn)題,同時(shí)將其與回復(fù)拼接起來(lái),作為一個(gè)整體與上下文進(jìn)行匹配,并在RNN編碼后進(jìn)一步使用自注意力機(jī)制提取對(duì)話中的語(yǔ)義信息.
2017年,Vaswani等人[22]提出了Transformer模型.Transformer模型具有強(qiáng)大的語(yǔ)義理解能力,模型通過(guò)在詞粒度上使用多頭自注意力機(jī)制來(lái)將所有的單詞聯(lián)系在一起,能夠保證遠(yuǎn)距離依賴信息的提取.由于Transformer架構(gòu)的優(yōu)勢(shì),衍生出了一系列將Transformer應(yīng)用于多輪對(duì)話回復(fù)選擇任務(wù)的研究工作.Zhou等人[6]提出了一種混合注意力機(jī)制模型DAM(Deep Attention Matching Network),對(duì)每一個(gè)話語(yǔ)和回復(fù)都使用基于Transformer編碼器改進(jìn)的注意力模塊來(lái)編碼,并借助多層注意力機(jī)制獲得多粒度的信息,能夠更好地提取語(yǔ)義信息.Tao等人[7]在DAM的基礎(chǔ)上,重點(diǎn)研究了在不同時(shí)期進(jìn)行多粒度信息融合對(duì)模型的影響.Yuan等人[10]提出MSN(Multi-hop Selector Network)模型,該模型結(jié)合DUA(Deep Utterance Aggregation)模型[5]和DAM模型各自的優(yōu)勢(shì),設(shè)計(jì)了一個(gè)多跳選擇器來(lái)過(guò)濾與問(wèn)題不相關(guān)的上下文.上述模型借助Transformer強(qiáng)大的語(yǔ)義理解能力,大幅提升了回復(fù)選擇模型的性能,但對(duì)每個(gè)話語(yǔ)和回復(fù)分別編碼的方法難以從全局角度理解對(duì)話信息,同時(shí)這些工作主要使用Word2vec[23]等靜態(tài)詞向量,難以解決一詞多義的問(wèn)題.
近幾年,許多研究工作將BERT[24],RoBERTa[25],ELECTRA[26]等預(yù)訓(xùn)練語(yǔ)言模型應(yīng)用于多輪對(duì)話回復(fù)選擇任務(wù).預(yù)訓(xùn)練語(yǔ)言模型的語(yǔ)義表示能力能夠讓模型在訓(xùn)練過(guò)程中學(xué)習(xí)到更加合理的對(duì)話語(yǔ)義特征.Whang等人[11]提出了BERT-VFT模型,率先將BERT運(yùn)用于回復(fù)選擇任務(wù)中.Gu等人[12]提出了SA-BERT模型,在預(yù)訓(xùn)練語(yǔ)言模型的輸入中加入對(duì)話人信息來(lái)學(xué)習(xí)對(duì)話人嵌入表示,加強(qiáng)模型對(duì)于不同對(duì)話參與者的語(yǔ)言風(fēng)格的理解能力.Li等人[13]提出了DCM(Deep Context Modeling)模型,在BERT編碼后進(jìn)一步對(duì)上下文和回復(fù)進(jìn)行語(yǔ)義匹配,有針對(duì)性地提取上下文和回復(fù)中的相關(guān)語(yǔ)義特征.上述模型進(jìn)一步提升了多輪對(duì)話回復(fù)選擇任務(wù)的性能,但仍然無(wú)法學(xué)習(xí)到對(duì)話數(shù)據(jù)中的一些潛在特征,無(wú)法充分挖掘預(yù)訓(xùn)練語(yǔ)言模型的潛力.
近來(lái),在預(yù)訓(xùn)練語(yǔ)言模型上添加輔助訓(xùn)練任務(wù)的方法獲得了廣泛關(guān)注.Whang等人[18]提出了UMS(Utterance Manipulation Strategies)模型.該模型設(shè)計(jì)了3個(gè)子任務(wù)來(lái)輔助優(yōu)化預(yù)訓(xùn)練語(yǔ)言模型,分別是插入話語(yǔ),刪除話語(yǔ),搜索話語(yǔ),通過(guò)讓模型恢復(fù)擾亂的對(duì)話數(shù)據(jù),從而學(xué)習(xí)對(duì)話數(shù)據(jù)的特點(diǎn).Xu等人[19]提出了BERT-SL模型.該模型設(shè)計(jì)了4個(gè)子任務(wù),分別是下一會(huì)話預(yù)測(cè),話語(yǔ)恢復(fù),不連貫檢測(cè),一致性鑒別,其根本思想也是通過(guò)構(gòu)建一些不同種類的不合理樣本來(lái)讓模型學(xué)習(xí)到對(duì)話數(shù)據(jù)應(yīng)該具有的特點(diǎn).輔助任務(wù)的引入,進(jìn)一步挖掘了預(yù)訓(xùn)練語(yǔ)言模型的潛力,減小了模型的參數(shù)數(shù)量,但由于在訓(xùn)練中同時(shí)優(yōu)化多個(gè)任務(wù),仍可能導(dǎo)致模型訓(xùn)練的計(jì)算資源與時(shí)間成本大幅增加.
多輪對(duì)話回復(fù)選擇任務(wù)定義如下:給定對(duì)話數(shù)據(jù)集,內(nèi)部的每一條數(shù)據(jù)形式都為(c,r,y).c={u1,u2,…,um}代表著包含m個(gè)話語(yǔ)的對(duì)話上下文,對(duì)話上下文中的第t個(gè)話語(yǔ)表示為ut={wt,1,wt,2,…,wt,lt},其中l(wèi)t代表第t個(gè)話語(yǔ)中詞的個(gè)數(shù),回復(fù)候選為r={r1,r2,…,rlr},lr代表回復(fù)中詞的個(gè)數(shù).y∈{0,1}代表著數(shù)據(jù)的標(biāo)簽,y=1表示候選回復(fù)是當(dāng)前上下文的合理回復(fù),y=0則表示不合理.任務(wù)目標(biāo)是在數(shù)據(jù)集D中學(xué)習(xí)得到能夠準(zhǔn)確計(jì)算上下文與回復(fù)相關(guān)度的模型g(c,r).
圖1為SAFL模型的整體架構(gòu).針對(duì)多輪對(duì)話回復(fù)選擇設(shè)計(jì)微調(diào)任務(wù).為了與SA-BERT[12]、UMS-BERT[18]、BERT-SL[19]等優(yōu)秀的檢索式多輪對(duì)話模型進(jìn)行公平對(duì)比,SAFL模型選擇BERT作為預(yù)訓(xùn)練語(yǔ)言模型,并采用重點(diǎn)局部信息蒸餾(Key local information distillation,KLID)機(jī)制提取融合預(yù)訓(xùn)練語(yǔ)言模型的輸出.總體上說(shuō),微調(diào)的過(guò)程可以分解為四個(gè)部分,分別是輸入層、編碼層、特征融合層與預(yù)測(cè)層.各部分方法如下:
圖2 滑動(dòng)窗口回復(fù)預(yù)測(cè)RPRSW方法示意圖Fig.2 Schematic diagram of the RPRSW
1)輸入層
預(yù)訓(xùn)練語(yǔ)言模型的輸入是由上下文和回復(fù)拼接而成,在輸入的最前面插入[CLS],并在回復(fù)前后插入[SEP]來(lái)斷開(kāi)上下文和回復(fù).特別的,SAFL模型在每一個(gè)話語(yǔ)的后面插入特殊的標(biāo)記[EOT]來(lái)斷開(kāi)不同的話語(yǔ),則輸入為:
x={[CLS],u1,[EOT],u2,[EOT],…,
[EOT],um,[SEP],r,[SEP]}
(1)
其中u代表上下文中的話語(yǔ),r代表著回復(fù),m代表著話語(yǔ)的個(gè)數(shù).
2)編碼層
SAFL模型在編碼層將整段對(duì)話數(shù)據(jù)輸入預(yù)訓(xùn)練語(yǔ)言模型進(jìn)行編碼,將其在詞粒度上映射為連續(xù)高維向量:
E=BERT(x)
(2)
3)特征融合層
預(yù)訓(xùn)練語(yǔ)言模型通過(guò)多層Transformer編碼器能夠?qū)W習(xí)到豐富的語(yǔ)義信息.輸出中首部位置的[CLS]標(biāo)簽就包含了豐富的全局語(yǔ)義表示,其他位置標(biāo)簽也包含了每個(gè)詞的多粒度上下文語(yǔ)義信息.為了充分利用預(yù)訓(xùn)練語(yǔ)言模型的輸出,SAFL模型提出了重點(diǎn)局部信息蒸餾機(jī)制,該機(jī)制能夠促進(jìn)預(yù)訓(xùn)練語(yǔ)言模型生成多粒度的局部語(yǔ)義表征,還能夠在多種粒度上篩選全局信息之中重要的部分,蒸餾出對(duì)于分類任務(wù)最重要的信息,具體將在3.4節(jié)詳細(xì)論述.
4)預(yù)測(cè)層
預(yù)測(cè)層將局部信息感知模塊得到的融合表征輸入分類層計(jì)算得分g(c,r):
g(c,r)=σ(WTEensemble+b)
(3)
其中W是可訓(xùn)練的參數(shù),σ(·)代表sigmoid激活函數(shù).SAFL使用交叉熵作為主任務(wù)的損失函數(shù):
(4)
在微調(diào)的同時(shí),SAFL模型采用自監(jiān)督學(xué)習(xí)策略,將預(yù)訓(xùn)練語(yǔ)言模型的參數(shù)導(dǎo)出,在兩個(gè)輔助任務(wù)優(yōu)化的過(guò)程中學(xué)習(xí)不同的語(yǔ)義特點(diǎn).具體來(lái)說(shuō),SAFL的自監(jiān)督學(xué)習(xí)策略中采用隨機(jī)滑動(dòng)窗口回復(fù)預(yù)測(cè)任務(wù)以學(xué)習(xí)局部的對(duì)話表示.該任務(wù)將在3.3節(jié)詳細(xì)論述.此外,SAFL模型提出了能夠?qū)W習(xí)對(duì)話結(jié)構(gòu)信息的對(duì)話結(jié)構(gòu)感知任務(wù).該任務(wù)采用多層次的GCN編碼預(yù)訓(xùn)練語(yǔ)言模型中的局部語(yǔ)義表征,在加強(qiáng)預(yù)訓(xùn)練語(yǔ)言模型理解對(duì)話結(jié)構(gòu)的能力的同時(shí),還賦予局部語(yǔ)義表征根據(jù)對(duì)話結(jié)構(gòu)感知遠(yuǎn)距離話語(yǔ)的能力.該任務(wù)將在3.5節(jié)詳細(xì)論述.SAFL在微調(diào)的過(guò)程中同時(shí)優(yōu)化兩個(gè)輔助任務(wù)與一個(gè)主任務(wù),因此SAFL模型的完整損失函數(shù)如下:
Loss=Lossmain+αLosswindow+βLossDSA
(5)
其中α和β是兩個(gè)超參數(shù),分別用于控制RPRSW和DSA任務(wù)對(duì)于SAFL的影響力.
開(kāi)源的預(yù)訓(xùn)練語(yǔ)言模型都是基于維基百科等公開(kāi)數(shù)據(jù)集進(jìn)行訓(xùn)練的,不具備足夠的對(duì)話領(lǐng)域知識(shí),因此本文提出了新的后訓(xùn)練策略PIL,PIL將對(duì)話上下文隨機(jī)截取成長(zhǎng)度不定的對(duì)話數(shù)據(jù),在這些對(duì)話片段中通過(guò)優(yōu)化MLM和NSP任務(wù)學(xué)習(xí)對(duì)話的階段語(yǔ)義信息,為微調(diào)階段提前提供關(guān)于短對(duì)話文本的指導(dǎo)信息,加強(qiáng)模型在短對(duì)話上下文中執(zhí)行回復(fù)選擇任務(wù)的能力.關(guān)于階段信息學(xué)習(xí)PIL的詳細(xì)信息將在3.6中進(jìn)行詳細(xì)說(shuō)明.
為了引導(dǎo)預(yù)訓(xùn)練語(yǔ)言模型學(xué)習(xí)到更多信息,以往多輪對(duì)話模型使用自監(jiān)督學(xué)習(xí)策略,在策略中設(shè)計(jì)多個(gè)輔助任務(wù)來(lái)與主任務(wù)共同優(yōu)化預(yù)訓(xùn)練語(yǔ)言模型.但是多個(gè)輔助任務(wù)帶來(lái)的時(shí)間與計(jì)算資源代價(jià)是巨大的,同時(shí)與主任務(wù)相差過(guò)大的優(yōu)化目標(biāo)也可能會(huì)為回復(fù)選擇任務(wù)引入噪聲.為了解決上述問(wèn)題,SAFL模型提出了效率更高的自監(jiān)督學(xué)習(xí)策略,具體是提出了滑動(dòng)窗口回復(fù)預(yù)測(cè)任務(wù)來(lái)取代以往多輪對(duì)話方法中的多個(gè)輔助任務(wù),幫助模型更好的理解對(duì)話數(shù)據(jù).該任務(wù)在預(yù)訓(xùn)練語(yǔ)言模型的輸入中設(shè)定一個(gè)滑動(dòng)窗口,使用[PAD]標(biāo)記屏蔽掉滑動(dòng)窗口以外的內(nèi)容,然后針對(duì)滑動(dòng)窗口中的最后一句話,提取這句話后面的特殊標(biāo)記[EOT]并在這個(gè)標(biāo)記上添加分類層,建立分類任務(wù),預(yù)測(cè)這句話是否為滑動(dòng)窗口中最合適的回復(fù).RPRSW將滑動(dòng)窗口的大小,長(zhǎng)度,位置設(shè)為隨機(jī),從而讓BERT中的[EOT]標(biāo)簽學(xué)習(xí)到對(duì)話中不同片段、不同時(shí)刻的語(yǔ)義信息,豐富[EOT]的對(duì)局部上下文信息的理解能力.為了RPRSW能夠在對(duì)比學(xué)習(xí)之中準(zhǔn)確的掌握局部區(qū)域信息的合理程度,SAFL模型從訓(xùn)練集的上下文中隨機(jī)抽取話語(yǔ),為每一個(gè)窗口構(gòu)造負(fù)樣本.
相比于以往研究工作中設(shè)計(jì)的插入,刪除,替換等子任務(wù),該子任務(wù)更加貼近主任務(wù),本質(zhì)上來(lái)說(shuō)還是在做多輪對(duì)話中的回復(fù)選擇任務(wù),只是將范圍關(guān)注到上下文中的局部范圍內(nèi),使用不同的特征計(jì)算得分.因此,與主任務(wù)相似,子任務(wù)同樣具有編碼層,特征融合層,預(yù)測(cè)層3個(gè)部分.
1)編碼層
子任務(wù)中共享了主任務(wù)編碼層部分的參數(shù):
E=BERT(x′)
(6)
其中x′是子任務(wù)的輸入,與主任務(wù)不同,x′只保留窗口內(nèi)部的信息,其他的信息由[PAD]替代:
x′={[CLS],[PAD],[PAD],…,ui,[EOT],ui+1,[EOT],…,
ui+w,[EOT],…,[PAD],[PAD]},w∈[κ,m]
(7)
其中w代表當(dāng)前窗口的大小,m代表當(dāng)前上下文的話語(yǔ)個(gè)數(shù),κ是一個(gè)超參數(shù),代表最小窗口的大小.
2)特征融合層
由于在BERT的預(yù)訓(xùn)練中,[CLS]位置是為了學(xué)習(xí)到全局的信息,為了不破壞全局信息,不采用主任務(wù)中使用[CLS]做分類的做法,轉(zhuǎn)而使用窗口中的最后一個(gè)[EOT]的信息作為最后計(jì)算分?jǐn)?shù)的輸入.
3)預(yù)測(cè)層
(8)
其中wc,wr代表著窗口數(shù)據(jù)中的上下文和回復(fù),Ww是預(yù)測(cè)層中可訓(xùn)練的參數(shù),D′代表窗口數(shù)據(jù)集.使用交叉熵作為損失函數(shù):
(9)
預(yù)訓(xùn)練語(yǔ)言模型的輸出中包含著模型在預(yù)訓(xùn)練階段已經(jīng)學(xué)習(xí)到的大量信息,傳統(tǒng)的基于預(yù)訓(xùn)練語(yǔ)言模型的多輪對(duì)話方法只使用能夠代表全局信息的[CLS]表示進(jìn)行微調(diào),忽視了預(yù)訓(xùn)練語(yǔ)言模型中除[CLS]外其他位置的寶貴語(yǔ)義信息,導(dǎo)致了預(yù)訓(xùn)練語(yǔ)言模型的潛力無(wú)法被充分地發(fā)揮.同時(shí),多輪對(duì)話中靠近回復(fù)部分的話語(yǔ)包含了與當(dāng)前對(duì)話主題最相關(guān)的部分,而距離回復(fù)較遠(yuǎn)的話語(yǔ)通常與當(dāng)前對(duì)話主題相關(guān)性較低,只針對(duì)全局信息進(jìn)行學(xué)習(xí)可能會(huì)導(dǎo)致無(wú)關(guān)的信息被引入到模型之中.
因此本文提出了新的特征融合方法,并將其命名為重點(diǎn)局部信息蒸餾KLID機(jī)制,KLID采用了多個(gè)門控分別在不同的粒度上篩選全局信息,從而保證最終用于分類的語(yǔ)義表示一定是與回復(fù)最相關(guān)的.KLID機(jī)制的具體流程如下:
首先在主任務(wù)的特征融合模塊中,KLID先從預(yù)訓(xùn)練語(yǔ)言模型之中提取出n個(gè)靠近回復(fù)的局部語(yǔ)義表示E[EOT]以及全局語(yǔ)義表示E[CLS],其中n是一個(gè)超參數(shù),n個(gè)局部語(yǔ)義表示根據(jù)其與回復(fù)之間不同的距離表達(dá)了n種粒度的局部信息,然后將所有局部語(yǔ)義表示拼接起來(lái)作為整體的局部語(yǔ)義表示:
Eeot-ensemble=E[EOT]l⊕E[EOT]l-1⊕⊕E[EOT]l-2⊕…⊕E[EOT]l-n+1
(10)
其中l(wèi)代表距離回復(fù)最近的條目,n代表取出[EOT]表征的個(gè)數(shù).得到多粒度的局部信息表征后,KLID采用了多路門控機(jī)制來(lái)過(guò)濾全局語(yǔ)義表示中的噪聲.具體的,KLID采用每一種粒度的局部語(yǔ)義表示去和全局語(yǔ)義表示做門控選擇:
pk=gate(Wgate[E[EOT]k;E[CLS]]),k∈[1-n+1,l]
(11)
fusionk=pk×E[CLS]+(1-pk)×E[EOT]k
(12)
全局語(yǔ)義表示在經(jīng)過(guò)多路門控選擇后,能夠根據(jù)不同粒度局部語(yǔ)義表示蒸餾得到不同粒度的混和語(yǔ)義表示fusionk,受門控機(jī)制的影響,每一個(gè)粒度的混和語(yǔ)義表示都包含了全局語(yǔ)義表示與當(dāng)前粒度局部語(yǔ)義表示中最重要的部分.KLID進(jìn)一步將由多路門控選擇得到的多粒度混合語(yǔ)義表示與多粒度的局部語(yǔ)義表示進(jìn)行拼接作為預(yù)測(cè)層的輸入:
Eensemble=fusion1⊕fusion1⊕fusion2⊕…fusionl-n+1⊕E[EOT]l
⊕E[EOT]l-1⊕E[EOT]l-2⊕…E[EOT]l-n+1
(13)
輸入進(jìn)預(yù)測(cè)層,使用sigmoid激活函數(shù)計(jì)算最終的得分:
g(c,r)=σ(WTEensemble+b)
(14)
除RPRSW輔助任務(wù)之外,SAFL模型在自監(jiān)督學(xué)習(xí)策略上做了進(jìn)一步的探索.任務(wù)中用到的預(yù)訓(xùn)練語(yǔ)言模型是使用維基百科等百科類公開(kāi)數(shù)據(jù)集進(jìn)行訓(xùn)練的,但是多輪對(duì)話文本具有特殊的對(duì)話結(jié)構(gòu),每一個(gè)對(duì)話話語(yǔ)與其他話語(yǔ)根據(jù)其相對(duì)位置、對(duì)話人的不同具有不同的語(yǔ)句聯(lián)系.對(duì)話文本是由兩個(gè)到多個(gè)的對(duì)話參與人構(gòu)建而成的,不同對(duì)話人會(huì)擁有著自己特定的對(duì)話風(fēng)格,在講話時(shí)為了承接其他對(duì)話人的話也會(huì)產(chǎn)生與百科類文本不同的依賴關(guān)系,同時(shí)每個(gè)對(duì)話人自己的話語(yǔ)互相之間也會(huì)存在一定的聯(lián)系.因此,SAFL模型進(jìn)一步提出了對(duì)話結(jié)構(gòu)感知(Dialogue Structure-aware Task,DSA)任務(wù)學(xué)習(xí)對(duì)話過(guò)程中不同語(yǔ)句之間的聯(lián)系.DSA任務(wù)根據(jù)對(duì)話人說(shuō)話的先后順序構(gòu)造圖結(jié)構(gòu),并使用GCN進(jìn)行編碼,促使預(yù)訓(xùn)練語(yǔ)言模型學(xué)習(xí)正確的對(duì)話結(jié)構(gòu)特征,增強(qiáng)預(yù)訓(xùn)練語(yǔ)言模型對(duì)對(duì)話數(shù)據(jù)的理解.對(duì)于對(duì)話關(guān)系圖的構(gòu)建,SAFL模型采用了文獻(xiàn)[27]中的方法,將每個(gè)話語(yǔ)作為一個(gè)節(jié)點(diǎn),每個(gè)邊表示著話語(yǔ)之間的關(guān)系.如表1所示,在包含兩個(gè)對(duì)話人的對(duì)話中,根據(jù)話語(yǔ)所屬的對(duì)話人以及先后順序,可以將其分解為表中的8種關(guān)系.
表1 對(duì)話話語(yǔ)之間的關(guān)系類別Table 1 Categories of relationships between utterances
其中p(ui)表示了上下文中的第i個(gè)話語(yǔ)所屬的對(duì)話人,p1、p2分別表示第1個(gè)對(duì)話人與第2個(gè)對(duì)話人,i 在結(jié)構(gòu)上DSA任務(wù)依然具有編碼層、特征融合層以及預(yù)測(cè)層.在編碼層中,對(duì)話結(jié)構(gòu)感知DSA任務(wù)使用主任務(wù)的BERT參數(shù)編碼上下文: E=BERT(x″) (15) x″={[CLS],u1,[EOT],…,ui,[EOT],…,us,[EOT]} (16) 其中輸入數(shù)據(jù)中包含s個(gè)話語(yǔ)以及其對(duì)應(yīng)的局部語(yǔ)義標(biāo)簽,這些話語(yǔ)是從對(duì)話上下文中抽取出的連續(xù)對(duì)話片段,其中s為一個(gè)超參數(shù),用于控制抽取片段的長(zhǎng)度大小.為了讓局部語(yǔ)義表征能夠?qū)W習(xí)到對(duì)話結(jié)構(gòu)信息,讓所有的局部語(yǔ)義表征根據(jù)對(duì)話結(jié)構(gòu)建立起聯(lián)系,SAFL模型將s個(gè)局部語(yǔ)義表征從預(yù)訓(xùn)練語(yǔ)言模型的輸出中提取出來(lái),作為每一個(gè)話語(yǔ)的區(qū)域語(yǔ)義表征.以節(jié)點(diǎn)表示的形式輸入到特征融合層中. 特征融合層采用與文獻(xiàn)[27]相似的雙層GCN學(xué)習(xí)圖結(jié)構(gòu),第層的GCN為關(guān)系圖卷積網(wǎng)絡(luò),能夠?qū)D結(jié)構(gòu)中的邊關(guān)系進(jìn)行學(xué)習(xí).首先使用注意力機(jī)制計(jì)算邊關(guān)系的權(quán)重: (17) (18) 其中σ(·)代表sigmoid激活函數(shù),R表示了表1中的所有的邊關(guān)系集合,N表示圖中所有節(jié)點(diǎn)的集合,ci,r是自動(dòng)學(xué)習(xí)的邊關(guān)系系數(shù),Wr、Wm是模型需要學(xué)習(xí)的參數(shù).得到了第1層的GCN中每一個(gè)節(jié)點(diǎn)的表示之后,SAFL模型使用不考慮邊關(guān)系的普通GCN進(jìn)一步學(xué)習(xí)對(duì)話結(jié)構(gòu)信息: (19) 其中σ(·)代表sigmoid激活函數(shù),Wnr、Wnm是第2層GCN中需要學(xué)習(xí)的參數(shù). 在預(yù)測(cè)層中,SAFL模型將特征融合層中節(jié)點(diǎn)的表示進(jìn)行拼接,獲得整體的對(duì)話結(jié)構(gòu)表示,并使用線性層計(jì)算分?jǐn)?shù): Es-ensemble=h1⊕h2⊕…⊕hs (20) g(ws)=σ(WTEs-ensemble+b) (21) 為了能夠充分優(yōu)化DSA任務(wù),SAFL模型將連續(xù)的對(duì)話段落作為DSA任務(wù)的正樣本,同時(shí)使用亂序的手段破壞對(duì)話語(yǔ)句之間的聯(lián)系,并將其作為DSA任務(wù)的負(fù)樣本.在優(yōu)化的過(guò)程中采用交叉熵作為損失函數(shù): (22) 其中ws代表著當(dāng)前對(duì)話片段數(shù)據(jù),D″表示對(duì)話片段數(shù)據(jù)集. BERT等開(kāi)源預(yù)訓(xùn)練語(yǔ)言模型是在維基百科等大規(guī)模公開(kāi)數(shù)據(jù)集上進(jìn)行訓(xùn)練,上述數(shù)據(jù)集的文本特點(diǎn)與多輪對(duì)話數(shù)據(jù)并不一致,因此需要在對(duì)話數(shù)據(jù)中進(jìn)行領(lǐng)域?qū)W習(xí).對(duì)于領(lǐng)域?qū)W習(xí),現(xiàn)有模型如BERT-VFT、SA-BERT、DCM、UMS-BERT、BERT-SL等主要采用后訓(xùn)練(Post training)策略.具體方法是先將多輪對(duì)話數(shù)據(jù)集中的上下文部分截取出來(lái),輸入到BERT模型中繼續(xù)訓(xùn)練BERT.但由于所采用的預(yù)訓(xùn)練語(yǔ)言模型是在文本較長(zhǎng)的百科類數(shù)據(jù)集上進(jìn)行學(xué)習(xí),用于較短的多輪對(duì)話文本上可能出現(xiàn)語(yǔ)義理解錯(cuò)誤.同時(shí)數(shù)據(jù)集中上下文信息過(guò)少也會(huì)限制RPRSW任務(wù)的效果,導(dǎo)致BERT難以通過(guò)該任務(wù)學(xué)習(xí)到質(zhì)量足夠高的局部語(yǔ)義表示. 針對(duì)上述問(wèn)題,SAFL模型提出了階段信息學(xué)習(xí)PIL策略.PIL讓預(yù)訓(xùn)練語(yǔ)言模型在領(lǐng)域?qū)W習(xí)的過(guò)程中學(xué)習(xí)大量的短句來(lái)提前學(xué)習(xí)對(duì)話的局部語(yǔ)義表示.具體而言,階段信息學(xué)習(xí)策略的優(yōu)化任務(wù)與BERT中的方法一致,使用遮蔽語(yǔ)言模型(Masked Language Model,MLM)以及下一句預(yù)測(cè)(Next Sentence Prediction,NSP)任務(wù)共同優(yōu)化BERT模型.與傳統(tǒng)后訓(xùn)練策略不同的是,PIL從對(duì)話上下文中隨機(jī)的采樣長(zhǎng)度κ以上的連續(xù)對(duì)話段落,其中κ與RPRSW任務(wù)中的最小窗口大小κ是相同的,表示采樣的連續(xù)對(duì)話片段至少要具有κ個(gè)話語(yǔ)的長(zhǎng)度.領(lǐng)域?qū)W習(xí)階段模型的損失函數(shù)如下: LossPLM=LossMLM+LossNSP (23) 本文選擇使用Ubuntu和E-commerce兩個(gè)數(shù)據(jù)集對(duì)SAFL模型進(jìn)行評(píng)估.Ubuntu數(shù)據(jù)集是目前檢索式多輪對(duì)話領(lǐng)域中最大的英文數(shù)據(jù)集,其內(nèi)容收集于Ubuntu的公共交流社區(qū)之中.Ubuntu訓(xùn)練集中包含了100萬(wàn)條的多輪對(duì)話數(shù)據(jù),每個(gè)多輪對(duì)話的正樣本數(shù)據(jù)都有一個(gè)與之對(duì)應(yīng)的負(fù)樣本,因此Ubuntu訓(xùn)練集由50萬(wàn)組的正負(fù)樣本對(duì)構(gòu)成.Ubuntu測(cè)試集與驗(yàn)證集都各自包含了50萬(wàn)條多輪對(duì)話數(shù)據(jù),其中每個(gè)多輪對(duì)話的正樣本數(shù)據(jù)都有9個(gè)與之對(duì)應(yīng)的負(fù)樣本數(shù)據(jù).Zhang等人[5]提出了E-commerce數(shù)據(jù)集,該數(shù)據(jù)集是多輪對(duì)話研究領(lǐng)域中第一個(gè)中文的電商場(chǎng)景數(shù)據(jù)集,收集于淘寶網(wǎng)上的客服平臺(tái).數(shù)據(jù)集中涵蓋了包括商品咨詢、物流快遞、推薦、交涉、閑聊等主題在內(nèi)的多種對(duì)話主題.在訓(xùn)練集和驗(yàn)證集中,正樣本和負(fù)樣本的比例為1∶1,在測(cè)試集中為1∶9.表2顯示了兩個(gè)數(shù)據(jù)集的統(tǒng)計(jì)信息. 本文選擇最新的多輪對(duì)話模型作為對(duì)比模型,包括DUA[5]、DAM[6]、IMN[8]、MSN[10]、BERT-VFT[11]、DCM[13]、UMS-BERT[18]、BERT-SL[19]. 本文基于Pytorch框架實(shí)現(xiàn)了SAFL模型,并在兩張NVIDIA Tesla V00 GPU上進(jìn)行實(shí)驗(yàn).對(duì)于用于微調(diào)的英文預(yù)訓(xùn)練語(yǔ)言模型,使用由huggingface官方提供的BERT-base模型;對(duì)于用于微調(diào)的中文預(yù)訓(xùn)練語(yǔ)言模型,使用由哈工大訊飛聯(lián)合實(shí)驗(yàn)室提供的Chinese-BERT-wwm.模型設(shè)定訓(xùn)練的批大小為8,并使用梯度累積策略,在累積5個(gè)批次后更新梯度.模型使用Adam算法作為梯度下降的優(yōu)化器,學(xué)習(xí)率設(shè)定為8×10-6.模型中所有的分類層dropout比例統(tǒng)一設(shè)定為0.8.領(lǐng)域?qū)W習(xí)采用由SAFL模型中階段信息學(xué)習(xí)策略訓(xùn)練得到的模型,設(shè)定訓(xùn)練的批大小為16,累積24個(gè)批次后更新梯度,其他的訓(xùn)練基本參數(shù)與微調(diào)階段一致. SAFL模型設(shè)定了多個(gè)超參數(shù),包括隨機(jī)滑動(dòng)窗口回復(fù)預(yù)測(cè)任務(wù)中的最小窗口大小、重點(diǎn)局部信息蒸餾機(jī)制中融合的局部信息感知表征個(gè)數(shù)以及對(duì)話結(jié)構(gòu)感知任務(wù)中抽取對(duì)話片段的長(zhǎng)度.模型對(duì)不同數(shù)據(jù)集采用不同的超參數(shù)組合.在Ubuntu數(shù)據(jù)集中,模型將隨機(jī)滑動(dòng)窗口回復(fù)預(yù)測(cè)任務(wù)中的最小窗口大小κ設(shè)定為6,將重點(diǎn)局部信息蒸餾機(jī)制中融合的局部信息感知表征個(gè)數(shù)n設(shè)定為6,將對(duì)話結(jié)構(gòu)感知任務(wù)中抽取對(duì)話片段的長(zhǎng)度s設(shè)定為8.在E-commerce數(shù)據(jù)集中,模型將最小窗口大小κ設(shè)定為2,局部信息感知表征個(gè)數(shù)n設(shè)定為2,抽取對(duì)話片段的長(zhǎng)度s設(shè)定為5.對(duì)于隨機(jī)滑動(dòng)窗口回復(fù)預(yù)測(cè)任務(wù)中不同類型的負(fù)樣本比例,在兩個(gè)數(shù)據(jù)集中都采用 100%隨機(jī)采樣策略.損失函數(shù)中的超參數(shù)α,β設(shè)為1. SAFL模型使用R10@k,k∈{1,2,5}召回率作為評(píng)測(cè)指標(biāo). 表3展示了SAFL與對(duì)比模型在兩個(gè)數(shù)據(jù)集上的性能.表中所有對(duì)比模型的結(jié)果均取自各個(gè)模型對(duì)應(yīng)的文獻(xiàn).從實(shí)驗(yàn)結(jié)果可以發(fā)現(xiàn),SAFL模型在Ubuntu數(shù)據(jù)集上的各項(xiàng)性能指標(biāo)均優(yōu)于所有對(duì)比模型;在E-commerce數(shù)據(jù)集上的性能指標(biāo)同樣優(yōu)于對(duì)比模型,僅在R10@5上略低于BERT-SL. 表3 SAFL與基準(zhǔn)模型的性能對(duì)比Table 3 Overall performance of SAFL and the baseline models 對(duì)于Ubuntu數(shù)據(jù)集,SAFL與基于匹配架構(gòu)的多輪對(duì)話算法中效果最佳的MSN模型相比,R10@1、R10@2、R10@5分別提升8.90%、5.20%、1.31%.SAFL的預(yù)訓(xùn)練語(yǔ)言模型借助自注意力運(yùn)算根據(jù)語(yǔ)境充分學(xué)習(xí)全局的對(duì)話文本語(yǔ)義,而MSN單獨(dú)編碼每個(gè)句子,難以建立準(zhǔn)確的全局語(yǔ)句依賴關(guān)系.與采用預(yù)訓(xùn)練語(yǔ)言模型的效果最佳的DCM模型相比,SAFL模型在R10@1、R10@2、R10@5指標(biāo)上分別提升2.10%、1.50%、0.41%.說(shuō)明多任務(wù)學(xué)習(xí)方法相比增加額外模塊或數(shù)據(jù)能更有效挖掘預(yù)訓(xùn)練語(yǔ)言模型的潛力.與基于多任務(wù)學(xué)習(xí)的最佳模型BERT-SL模型,SAFL在最能夠體現(xiàn)模型關(guān)鍵性能的R10@1、R10@2指標(biāo)上獲得了0.50%、0.50%的性能提升.此外,SAFL相較于BERT-SL少了兩個(gè)輔助任務(wù),大大減少了訓(xùn)練時(shí)間與計(jì)算資源的消耗,說(shuō)明SAFL的輔助任務(wù)具備更有效的多輪對(duì)話學(xué)習(xí)能力. 對(duì)于E-commerce數(shù)據(jù)集,SAFL與基于匹配架構(gòu)的最佳模型IMN相比,R10@1、R10@2、R10@5分別提升了16.70%、12.40%、2.60%.與采用BERT的最佳模型SA-BERT相比,分別提升8.40%、4.20%、0.50%.與基于多任務(wù)學(xué)習(xí)的最佳模型BERT-SL相比,R10@1、R10@2指標(biāo)提升了1.20%、0.20%,表明SAFL的輔助任務(wù)在文本長(zhǎng)度較短的E-commerce數(shù)據(jù)集上依然具備精度與效率的雙重優(yōu)勢(shì).綜上,SAFL在中英文數(shù)據(jù)集上的性能均優(yōu)于對(duì)比模型. 本節(jié)分析SAFL各模塊對(duì)整體性能的影響.消融模型包括SAFL w/o DSA、SAFL w/o KLID、SAFL w/o RPRSW與SAFL w/o PIL.SAFL w/o DSA去除了對(duì)話結(jié)構(gòu)感知任務(wù);SAFL w/o KLID去除重點(diǎn)局部信息蒸餾機(jī)制,同時(shí)將預(yù)測(cè)層的輸入替換為預(yù)訓(xùn)練語(yǔ)言模型中的CLS全局語(yǔ)義表征;SAFL w/o RPRSW去除隨機(jī)滑動(dòng)窗口回復(fù)預(yù)測(cè)輔助任務(wù);SAFL w/o PIL去除用于領(lǐng)域?qū)W習(xí)的階段信息學(xué)習(xí)策略. 表4展示了消融實(shí)驗(yàn)的詳細(xì)結(jié)果.從表中可以看到,SAFL w/o DSA的R10@1、R10@2、R10@5指標(biāo)分別下降了0.10%、0.07%、0.01%,證明對(duì)話結(jié)構(gòu)感知任務(wù)所學(xué)習(xí)的對(duì)話結(jié)構(gòu)信息能夠有效增減預(yù)訓(xùn)練語(yǔ)言模型對(duì)多輪對(duì)話的理解能力.SAFL w/o KLID則分別下降了0.28%、0.28%、0.05%,證明重點(diǎn)局部信息蒸餾機(jī)制所提取的重點(diǎn)局部信息與全局信息能夠有效幫助模型甄別正確的回復(fù);SAFL w/o RPRSW分別下降了0.63%、0.32%、0.05%,相較于DSA任務(wù)來(lái)說(shuō)對(duì)模型帶來(lái)的影響更大,說(shuō)明RPRSW任務(wù)的能夠有效提升局部語(yǔ)義理解能力.SAFL w/o PIL下降了4.82%、3.07%、0.84%,說(shuō)明SAFL模型提出的階段信息學(xué)習(xí)策略能夠?yàn)轭A(yù)訓(xùn)練語(yǔ)言模型帶來(lái)豐富的領(lǐng)域信息. 表4 消融實(shí)驗(yàn)結(jié)果Table 4 Ablation experiment results 本節(jié)通過(guò)多組參數(shù)實(shí)驗(yàn)分析各超參數(shù)對(duì)SAFL模型的影響.參數(shù)實(shí)驗(yàn)包括了SAFL模型中隨機(jī)滑動(dòng)窗口回復(fù)預(yù)測(cè)任務(wù)的最小窗口大小、重點(diǎn)局部信息蒸餾機(jī)制采用的局部語(yǔ)義表征個(gè)數(shù)、對(duì)話結(jié)構(gòu)感知任務(wù)抽取的對(duì)話片段長(zhǎng)度分析. 圖3列出了在Ubuntu數(shù)據(jù)集上RPRSW任務(wù)不同最小窗口大小對(duì)SAFL模型的影響.從圖中可以發(fā)現(xiàn),當(dāng)κ<6時(shí),模型性能顯著低于κ=6時(shí)的模型性能.當(dāng)κ過(guò)小時(shí),RPRSW任務(wù)可能會(huì)接收到輪數(shù)過(guò)少的短對(duì)話文本,無(wú)法學(xué)習(xí)到足夠的信息.同時(shí)當(dāng)κ過(guò)大時(shí)同樣會(huì)限制RPRSW任務(wù)對(duì)SAFL模型的增益,因?yàn)楫?dāng)窗口的下限大小接近了對(duì)話數(shù)據(jù)集的平均長(zhǎng)度時(shí)窗口可滑動(dòng)的空間就越小,導(dǎo)致了RPRSW任務(wù)難以學(xué)習(xí)到更多樣性的信息.因此RPRSW中最小窗口大小κ決定了RPRSW能夠?qū)W習(xí)信息,適中的κ才能夠綜合考慮到局部語(yǔ)義學(xué)習(xí)和信息多樣性. 圖3 RPRSW最小窗口大小分析圖Fig 3 Effect of the minimum length of the sliding window on the performance of SAFL 圖4列出了在Ubuntu數(shù)據(jù)集上重點(diǎn)局部信息蒸餾機(jī)制KLID采用的局部語(yǔ)義表征個(gè)數(shù)n對(duì)SAFL模型的影響,KLID從預(yù)訓(xùn)練語(yǔ)言模型的輸出中采樣了距離回復(fù)最近的n個(gè)局部語(yǔ)義表征用于門控融合篩選以及后續(xù)的預(yù)測(cè),因此超參數(shù)n直接影響著SAFL模型能夠運(yùn)用多少粒度、距離回復(fù)多遠(yuǎn)的局部語(yǔ)義表征.從圖中的實(shí)驗(yàn)結(jié)果可以看到,當(dāng)n≤6時(shí),模型性能隨著n的增長(zhǎng)逐漸提升,說(shuō)明更多的局部語(yǔ)義表征用能夠?yàn)槟P蛶?lái)更豐富的信息,同時(shí)運(yùn)用更多的局部語(yǔ)義表征進(jìn)行門控篩選也能夠提高最終特征的質(zhì)量.但當(dāng)n≥6時(shí),模型性能隨著的增大而下降,說(shuō)明過(guò)多的局部語(yǔ)義表征會(huì)導(dǎo)致許多與回復(fù)關(guān)聯(lián)度較低的信息被融合到預(yù)測(cè)層中. 圖4 KLID采用的局部語(yǔ)義表征個(gè)數(shù)分析圖Fig 4 Effect of the number of local semantic representations adopted by KLID on the performance of SAFL 圖5列出了在Ubuntu數(shù)據(jù)集上DSA任務(wù)抽取的對(duì)話片段長(zhǎng)度s對(duì)SAFL模型的影響.超參數(shù)s直接影響到DSA任務(wù)能夠?qū)W習(xí)多少對(duì)話結(jié)構(gòu)信息.當(dāng)輸入的對(duì)話文本輪數(shù)只有4輪時(shí),每個(gè)對(duì)話人各自只說(shuō)了兩輪的話語(yǔ),整體對(duì)話文本中存在的結(jié)構(gòu)信息太少,DSA任務(wù)難以從中學(xué)習(xí)到足夠完整的對(duì)話結(jié)構(gòu)信息.從圖中可以發(fā)現(xiàn),當(dāng)s≤6時(shí),SAFL性能較差,而當(dāng)s≥8時(shí)DSA任務(wù)接收到足夠長(zhǎng)度的對(duì)話文本,能夠?qū)W習(xí)到完整的對(duì)話結(jié)構(gòu)信息,模型性能也隨之提升. 圖5 DSA任務(wù)中抽取對(duì)話片段的長(zhǎng)度分析圖Fig 5 Length analysis diagram of extracted dialogue fragments in DSA task 本文針對(duì)檢索式對(duì)話方向上的多輪對(duì)話任務(wù),提出了一種局部信息增強(qiáng)與對(duì)話結(jié)構(gòu)感知的多輪對(duì)話模型SAFL.SAFL提出了隨機(jī)滑動(dòng)窗口回復(fù)預(yù)測(cè)任務(wù)RPRSW來(lái)充分學(xué)習(xí)不同對(duì)話階段、對(duì)話長(zhǎng)度的語(yǔ)言特點(diǎn),顯著加強(qiáng)了預(yù)訓(xùn)練語(yǔ)言模型對(duì)不同位置對(duì)話數(shù)據(jù)的理解能力.SAFL模型提出了重點(diǎn)局部信息蒸餾KLID機(jī)制借助多門控融合方法從全局和局部信息之中蒸餾出重點(diǎn)信息,解決了現(xiàn)有方法對(duì)重點(diǎn)信息的篩選不夠充分的問(wèn)題.SAFL提出階段信息學(xué)習(xí)PIL在微調(diào)前加強(qiáng)預(yù)訓(xùn)練語(yǔ)言模型對(duì)短對(duì)話數(shù)據(jù)的理解能力,解決了基于預(yù)訓(xùn)練語(yǔ)言模型的方法學(xué)習(xí)短對(duì)話數(shù)據(jù)困難的問(wèn)題.SAFL采用了對(duì)話結(jié)構(gòu)感知DSA任務(wù)根據(jù)對(duì)話人說(shuō)話的先后順序構(gòu)造圖結(jié)構(gòu),并使用圖卷積網(wǎng)絡(luò)進(jìn)行編碼,在對(duì)話結(jié)構(gòu)的方向上進(jìn)一步加強(qiáng)了模型的效果.在Ubuntu數(shù)據(jù)集和E-commerce數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn)分析,實(shí)驗(yàn)結(jié)果表明SAFL在兩個(gè)數(shù)據(jù)集中均優(yōu)于了所有的對(duì)比模型,并且通過(guò)多組實(shí)驗(yàn)證實(shí)了模型中各個(gè)模塊的有效性.在未來(lái)的工作中,本文工作將會(huì)針對(duì)如何促進(jìn)預(yù)訓(xùn)練語(yǔ)言模型生成像對(duì)話主題、指代關(guān)系等更深層次的語(yǔ)義特征這一問(wèn)題做更進(jìn)一步的研究探索.3.6 階段信息學(xué)習(xí)
4 實(shí)驗(yàn)和結(jié)果
4.1 數(shù)據(jù)集與對(duì)比算法
4.2 實(shí)驗(yàn)設(shè)置和評(píng)估指標(biāo)
4.3 實(shí)驗(yàn)結(jié)果分析
4.4 消融分析
4.5 參數(shù)分析
5 總 結(jié)