?

一種局部信息增強與對話結構感知的多輪對話模型

2023-11-10 15:11陳澤林陳羽中
小型微型計算機系統 2023年11期
關鍵詞:語義話語局部

廖 彬,陳澤林,陳羽中

1(福州大學 網絡安全與信息化辦公室,福州 350108)

2(福州大學 計算機與大數據學院,福州 350108)

3(福建省網絡計算與智能信息處理重點實驗室,福州 350108)

1 引 言

對話技術能夠在理解用戶問題的前提下為用戶返回合適的回復,直觀的模擬人類的智能,其研究對于人工智能的發展具有重大的意義.目前的對話模型可分為生成式對話模型和檢索式對話模型[1],其中,生成式對話模型在推理階段不依賴任何語料庫就能根據一個問題逐字生成一個答案,其生成的答案具有多樣性的優點,但獲取的答案往往邏輯性不強,有時還會陷入安全回復的陷阱中.而檢索式對話模型是讓算法根據特定的一個問題到語料庫中找到一個最合適的答案進行回復,能夠從問題中提取出與正確回復相關聯的信息,依據這些信息推理出合適的答案.相較于生成式對話模型,檢索式對話模型更加可靠且具有更好的實用性.

檢索式對話模型分為單輪對話模型和多輪對話模型,早期的檢索式對話模型受限于其對文本的理解能力,只能對單條的短文本進行處理,無法處理對話歷史信息.在實踐當中,用戶可能會分多句話來表達其意圖,單輪對話在實際場景下缺乏實用性.檢索式多輪對話模型需要根據對話歷史和問題從知識庫中選擇出合適的回復,對話歷史中的冗余信息以及話題的轉換使得選擇合適的回復十分困難.因此,本文重點針對多輪對話回復選擇任務開展研究.

由于對話是一種具有時序性的數據,因此早期的多輪對話模型主要使用能夠建模時序依賴關系的循環神經網絡或特征提取能力強的注意力機制來學習多輪對話中的上下文語義[2-10].近年來,由于預訓練語言模型在學習語義信息上的巨大優勢,研究人員引入了預訓練語言模型進行上下文語義學習[11-16].一些研究工作[17-19]則進一步將多任務學習引入到多輪對話回復選擇任務中,針對對話數據連貫性、一致性等特點設計了多個子任務.這些子任務與主任務一起共享預訓練語言模型的參數,設計額外的損失函數來有針對性的優化預訓練語言模型.預訓練語言模型與多任務學習相結合的方法在多輪對話回復選擇任務中展現了顯著的效果.一方面進一步挖掘了預訓練語言模型的潛力,減少了模型的參數數量;另一方面能夠更高效地學習對話數據中的潛在特征,大幅提升了預訓練語言模型對于對話數據的理解能力.但是,現有模型還存在以下問題:1)設計的多個子任務需要在訓練的時候對預訓練語言模型做多次微調,訓練代價較高.同時,子任務的優化目標與主任務的優化目標有一定差異,例如插入,刪除話語后預測其位置的子任務,可能會為主任務帶來噪聲;2)現有模型對關鍵語義信息的篩選不夠充分;3)現有模型的預訓練語言模型是在文本較長的百科類數據集上學習得到,應用于短文本多輪對話數據上可能出現語義理解錯誤.針對上述問題,本文提出了一種局部信息增強與對話結構感知的多輪對話模型SAFL,主要貢獻如下:

1)針對現有模型的子任務不夠高效的問題,SAFL提出了一個名為隨機滑動窗口回復預測(RPRSW,Response Prediction in Random Sliding Windows)的輔助任務.該任務在多輪對話上下文中的不同位置、大小的窗口內進行回復預測,充分學習不同對話階段、對話長度的語言特點,顯著增強了預訓練語言模型對不同位置的對話數據的理解能力.

2)針對現有模型對重點信息的篩選不夠充分的問題,SAFL提出了一種重點局部信息蒸餾(Key Local Information Distillation,KLID)機制.該機制借助多門控融合方法從全局和局部信息之中蒸餾出重點信息,進一步提升了模型融合層的效果.

3)SAFL提出了一種階段信息學習(Phase Information Learning,PIL)策略,在微調前加強預訓練語言模型對短對話數據的領域學習,增強模型對短文本多輪對話數據的學習能力.

4)SAFL提出了對話結構感知(DSA,Dialogue Structure-aware Task)輔助任務.該任務根據對話人說話的先后順序構造圖結構,并使用GCN進行編碼,促使預訓練語言模型學習正確的對話結構信息,進一步加強了模型對多輪對話數據的語義理解能力.

2 相關工作

早期的檢索式對話模型主要針對單輪對話,傳統的算法采用統計機器學習的方法,將LDA(Latent Dirichlet Allocation),LSA(Latent Semantic Analysis)等主題分析算法與余弦相似度等短文本匹配算法相結合來解決單輪對話任務.Lowe等人[20]在2015年提出使用RNN(Recurrent Neural Networks)來處理時序依賴,模型拼接對話上下文拼接后輸入RNN編碼時序信息.但是該方法直接使用RNN編碼整段上下文,難以過濾掉上下文中不相關的語義信息.

Zhou等人[3]提出了一個雙視圖的檢索式對話模型,能夠從兩種粒度更加精確的提取上下文信息.第1個視圖在詞粒度上使用門控循環單元GRU(Gated Recurrent Unit)[19]編碼整個上下文和回復,第2個視圖生成每個句子的表示,在句粒度上使用GRU進行編碼,最終使用兩個視圖得到的表示分別進行匹配.但是,該模型分別從上下文和回復中提取特征,難以根據回復有針對性的提取相關信息.Wu等人[4]對不同的話語和回復分別進行編碼,并且基于詞嵌入和GRU構建兩種粒度的語義表示.在匹配階段,該模型對每一個話語和回復在兩種粒度表示上分別進行語義匹配.Zhang等人[5]將多輪對話中的最后一個話語視為對話問題,同時將其與回復拼接起來,作為一個整體與上下文進行匹配,并在RNN編碼后進一步使用自注意力機制提取對話中的語義信息.

2017年,Vaswani等人[22]提出了Transformer模型.Transformer模型具有強大的語義理解能力,模型通過在詞粒度上使用多頭自注意力機制來將所有的單詞聯系在一起,能夠保證遠距離依賴信息的提取.由于Transformer架構的優勢,衍生出了一系列將Transformer應用于多輪對話回復選擇任務的研究工作.Zhou等人[6]提出了一種混合注意力機制模型DAM(Deep Attention Matching Network),對每一個話語和回復都使用基于Transformer編碼器改進的注意力模塊來編碼,并借助多層注意力機制獲得多粒度的信息,能夠更好地提取語義信息.Tao等人[7]在DAM的基礎上,重點研究了在不同時期進行多粒度信息融合對模型的影響.Yuan等人[10]提出MSN(Multi-hop Selector Network)模型,該模型結合DUA(Deep Utterance Aggregation)模型[5]和DAM模型各自的優勢,設計了一個多跳選擇器來過濾與問題不相關的上下文.上述模型借助Transformer強大的語義理解能力,大幅提升了回復選擇模型的性能,但對每個話語和回復分別編碼的方法難以從全局角度理解對話信息,同時這些工作主要使用Word2vec[23]等靜態詞向量,難以解決一詞多義的問題.

近幾年,許多研究工作將BERT[24],RoBERTa[25],ELECTRA[26]等預訓練語言模型應用于多輪對話回復選擇任務.預訓練語言模型的語義表示能力能夠讓模型在訓練過程中學習到更加合理的對話語義特征.Whang等人[11]提出了BERT-VFT模型,率先將BERT運用于回復選擇任務中.Gu等人[12]提出了SA-BERT模型,在預訓練語言模型的輸入中加入對話人信息來學習對話人嵌入表示,加強模型對于不同對話參與者的語言風格的理解能力.Li等人[13]提出了DCM(Deep Context Modeling)模型,在BERT編碼后進一步對上下文和回復進行語義匹配,有針對性地提取上下文和回復中的相關語義特征.上述模型進一步提升了多輪對話回復選擇任務的性能,但仍然無法學習到對話數據中的一些潛在特征,無法充分挖掘預訓練語言模型的潛力.

近來,在預訓練語言模型上添加輔助訓練任務的方法獲得了廣泛關注.Whang等人[18]提出了UMS(Utterance Manipulation Strategies)模型.該模型設計了3個子任務來輔助優化預訓練語言模型,分別是插入話語,刪除話語,搜索話語,通過讓模型恢復擾亂的對話數據,從而學習對話數據的特點.Xu等人[19]提出了BERT-SL模型.該模型設計了4個子任務,分別是下一會話預測,話語恢復,不連貫檢測,一致性鑒別,其根本思想也是通過構建一些不同種類的不合理樣本來讓模型學習到對話數據應該具有的特點.輔助任務的引入,進一步挖掘了預訓練語言模型的潛力,減小了模型的參數數量,但由于在訓練中同時優化多個任務,仍可能導致模型訓練的計算資源與時間成本大幅增加.

3 模 型

3.1 問題定義

多輪對話回復選擇任務定義如下:給定對話數據集,內部的每一條數據形式都為(c,r,y).c={u1,u2,…,um}代表著包含m個話語的對話上下文,對話上下文中的第t個話語表示為ut={wt,1,wt,2,…,wt,lt},其中lt代表第t個話語中詞的個數,回復候選為r={r1,r2,…,rlr},lr代表回復中詞的個數.y∈{0,1}代表著數據的標簽,y=1表示候選回復是當前上下文的合理回復,y=0則表示不合理.任務目標是在數據集D中學習得到能夠準確計算上下文與回復相關度的模型g(c,r).

3.2 模型概述

圖1為SAFL模型的整體架構.針對多輪對話回復選擇設計微調任務.為了與SA-BERT[12]、UMS-BERT[18]、BERT-SL[19]等優秀的檢索式多輪對話模型進行公平對比,SAFL模型選擇BERT作為預訓練語言模型,并采用重點局部信息蒸餾(Key local information distillation,KLID)機制提取融合預訓練語言模型的輸出.總體上說,微調的過程可以分解為四個部分,分別是輸入層、編碼層、特征融合層與預測層.各部分方法如下:

圖2 滑動窗口回復預測RPRSW方法示意圖Fig.2 Schematic diagram of the RPRSW

1)輸入層

預訓練語言模型的輸入是由上下文和回復拼接而成,在輸入的最前面插入[CLS],并在回復前后插入[SEP]來斷開上下文和回復.特別的,SAFL模型在每一個話語的后面插入特殊的標記[EOT]來斷開不同的話語,則輸入為:

x={[CLS],u1,[EOT],u2,[EOT],…,
[EOT],um,[SEP],r,[SEP]}

(1)

其中u代表上下文中的話語,r代表著回復,m代表著話語的個數.

2)編碼層

SAFL模型在編碼層將整段對話數據輸入預訓練語言模型進行編碼,將其在詞粒度上映射為連續高維向量:

E=BERT(x)

(2)

3)特征融合層

預訓練語言模型通過多層Transformer編碼器能夠學習到豐富的語義信息.輸出中首部位置的[CLS]標簽就包含了豐富的全局語義表示,其他位置標簽也包含了每個詞的多粒度上下文語義信息.為了充分利用預訓練語言模型的輸出,SAFL模型提出了重點局部信息蒸餾機制,該機制能夠促進預訓練語言模型生成多粒度的局部語義表征,還能夠在多種粒度上篩選全局信息之中重要的部分,蒸餾出對于分類任務最重要的信息,具體將在3.4節詳細論述.

4)預測層

預測層將局部信息感知模塊得到的融合表征輸入分類層計算得分g(c,r):

g(c,r)=σ(WTEensemble+b)

(3)

其中W是可訓練的參數,σ(·)代表sigmoid激活函數.SAFL使用交叉熵作為主任務的損失函數:

(4)

在微調的同時,SAFL模型采用自監督學習策略,將預訓練語言模型的參數導出,在兩個輔助任務優化的過程中學習不同的語義特點.具體來說,SAFL的自監督學習策略中采用隨機滑動窗口回復預測任務以學習局部的對話表示.該任務將在3.3節詳細論述.此外,SAFL模型提出了能夠學習對話結構信息的對話結構感知任務.該任務采用多層次的GCN編碼預訓練語言模型中的局部語義表征,在加強預訓練語言模型理解對話結構的能力的同時,還賦予局部語義表征根據對話結構感知遠距離話語的能力.該任務將在3.5節詳細論述.SAFL在微調的過程中同時優化兩個輔助任務與一個主任務,因此SAFL模型的完整損失函數如下:

Loss=Lossmain+αLosswindow+βLossDSA

(5)

其中α和β是兩個超參數,分別用于控制RPRSW和DSA任務對于SAFL的影響力.

開源的預訓練語言模型都是基于維基百科等公開數據集進行訓練的,不具備足夠的對話領域知識,因此本文提出了新的后訓練策略PIL,PIL將對話上下文隨機截取成長度不定的對話數據,在這些對話片段中通過優化MLM和NSP任務學習對話的階段語義信息,為微調階段提前提供關于短對話文本的指導信息,加強模型在短對話上下文中執行回復選擇任務的能力.關于階段信息學習PIL的詳細信息將在3.6中進行詳細說明.

3.3 隨機滑動窗口回復預測任務

為了引導預訓練語言模型學習到更多信息,以往多輪對話模型使用自監督學習策略,在策略中設計多個輔助任務來與主任務共同優化預訓練語言模型.但是多個輔助任務帶來的時間與計算資源代價是巨大的,同時與主任務相差過大的優化目標也可能會為回復選擇任務引入噪聲.為了解決上述問題,SAFL模型提出了效率更高的自監督學習策略,具體是提出了滑動窗口回復預測任務來取代以往多輪對話方法中的多個輔助任務,幫助模型更好的理解對話數據.該任務在預訓練語言模型的輸入中設定一個滑動窗口,使用[PAD]標記屏蔽掉滑動窗口以外的內容,然后針對滑動窗口中的最后一句話,提取這句話后面的特殊標記[EOT]并在這個標記上添加分類層,建立分類任務,預測這句話是否為滑動窗口中最合適的回復.RPRSW將滑動窗口的大小,長度,位置設為隨機,從而讓BERT中的[EOT]標簽學習到對話中不同片段、不同時刻的語義信息,豐富[EOT]的對局部上下文信息的理解能力.為了RPRSW能夠在對比學習之中準確的掌握局部區域信息的合理程度,SAFL模型從訓練集的上下文中隨機抽取話語,為每一個窗口構造負樣本.

相比于以往研究工作中設計的插入,刪除,替換等子任務,該子任務更加貼近主任務,本質上來說還是在做多輪對話中的回復選擇任務,只是將范圍關注到上下文中的局部范圍內,使用不同的特征計算得分.因此,與主任務相似,子任務同樣具有編碼層,特征融合層,預測層3個部分.

1)編碼層

子任務中共享了主任務編碼層部分的參數:

E=BERT(x′)

(6)

其中x′是子任務的輸入,與主任務不同,x′只保留窗口內部的信息,其他的信息由[PAD]替代:

x′={[CLS],[PAD],[PAD],…,ui,[EOT],ui+1,[EOT],…,
ui+w,[EOT],…,[PAD],[PAD]},w∈[κ,m]

(7)

其中w代表當前窗口的大小,m代表當前上下文的話語個數,κ是一個超參數,代表最小窗口的大小.

2)特征融合層

由于在BERT的預訓練中,[CLS]位置是為了學習到全局的信息,為了不破壞全局信息,不采用主任務中使用[CLS]做分類的做法,轉而使用窗口中的最后一個[EOT]的信息作為最后計算分數的輸入.

3)預測層

(8)

其中wc,wr代表著窗口數據中的上下文和回復,Ww是預測層中可訓練的參數,D′代表窗口數據集.使用交叉熵作為損失函數:

(9)

3.4 重點局部信息蒸餾機制

預訓練語言模型的輸出中包含著模型在預訓練階段已經學習到的大量信息,傳統的基于預訓練語言模型的多輪對話方法只使用能夠代表全局信息的[CLS]表示進行微調,忽視了預訓練語言模型中除[CLS]外其他位置的寶貴語義信息,導致了預訓練語言模型的潛力無法被充分地發揮.同時,多輪對話中靠近回復部分的話語包含了與當前對話主題最相關的部分,而距離回復較遠的話語通常與當前對話主題相關性較低,只針對全局信息進行學習可能會導致無關的信息被引入到模型之中.

因此本文提出了新的特征融合方法,并將其命名為重點局部信息蒸餾KLID機制,KLID采用了多個門控分別在不同的粒度上篩選全局信息,從而保證最終用于分類的語義表示一定是與回復最相關的.KLID機制的具體流程如下:

首先在主任務的特征融合模塊中,KLID先從預訓練語言模型之中提取出n個靠近回復的局部語義表示E[EOT]以及全局語義表示E[CLS],其中n是一個超參數,n個局部語義表示根據其與回復之間不同的距離表達了n種粒度的局部信息,然后將所有局部語義表示拼接起來作為整體的局部語義表示:

Eeot-ensemble=E[EOT]l⊕E[EOT]l-1⊕⊕E[EOT]l-2⊕…⊕E[EOT]l-n+1

(10)

其中l代表距離回復最近的條目,n代表取出[EOT]表征的個數.得到多粒度的局部信息表征后,KLID采用了多路門控機制來過濾全局語義表示中的噪聲.具體的,KLID采用每一種粒度的局部語義表示去和全局語義表示做門控選擇:

pk=gate(Wgate[E[EOT]k;E[CLS]]),k∈[1-n+1,l]

(11)

fusionk=pk×E[CLS]+(1-pk)×E[EOT]k

(12)

全局語義表示在經過多路門控選擇后,能夠根據不同粒度局部語義表示蒸餾得到不同粒度的混和語義表示fusionk,受門控機制的影響,每一個粒度的混和語義表示都包含了全局語義表示與當前粒度局部語義表示中最重要的部分.KLID進一步將由多路門控選擇得到的多粒度混合語義表示與多粒度的局部語義表示進行拼接作為預測層的輸入:

Eensemble=fusion1⊕fusion1⊕fusion2⊕…fusionl-n+1⊕E[EOT]l
⊕E[EOT]l-1⊕E[EOT]l-2⊕…E[EOT]l-n+1

(13)

輸入進預測層,使用sigmoid激活函數計算最終的得分:

g(c,r)=σ(WTEensemble+b)

(14)

3.5 對話結構感知任務

除RPRSW輔助任務之外,SAFL模型在自監督學習策略上做了進一步的探索.任務中用到的預訓練語言模型是使用維基百科等百科類公開數據集進行訓練的,但是多輪對話文本具有特殊的對話結構,每一個對話話語與其他話語根據其相對位置、對話人的不同具有不同的語句聯系.對話文本是由兩個到多個的對話參與人構建而成的,不同對話人會擁有著自己特定的對話風格,在講話時為了承接其他對話人的話也會產生與百科類文本不同的依賴關系,同時每個對話人自己的話語互相之間也會存在一定的聯系.因此,SAFL模型進一步提出了對話結構感知(Dialogue Structure-aware Task,DSA)任務學習對話過程中不同語句之間的聯系.DSA任務根據對話人說話的先后順序構造圖結構,并使用GCN進行編碼,促使預訓練語言模型學習正確的對話結構特征,增強預訓練語言模型對對話數據的理解.對于對話關系圖的構建,SAFL模型采用了文獻[27]中的方法,將每個話語作為一個節點,每個邊表示著話語之間的關系.如表1所示,在包含兩個對話人的對話中,根據話語所屬的對話人以及先后順序,可以將其分解為表中的8種關系.

表1 對話話語之間的關系類別Table 1 Categories of relationships between utterances

其中p(ui)表示了上下文中的第i個話語所屬的對話人,p1、p2分別表示第1個對話人與第2個對話人,i

在結構上DSA任務依然具有編碼層、特征融合層以及預測層.在編碼層中,對話結構感知DSA任務使用主任務的BERT參數編碼上下文:

E=BERT(x″)

(15)

x″={[CLS],u1,[EOT],…,ui,[EOT],…,us,[EOT]}

(16)

其中輸入數據中包含s個話語以及其對應的局部語義標簽,這些話語是從對話上下文中抽取出的連續對話片段,其中s為一個超參數,用于控制抽取片段的長度大小.為了讓局部語義表征能夠學習到對話結構信息,讓所有的局部語義表征根據對話結構建立起聯系,SAFL模型將s個局部語義表征從預訓練語言模型的輸出中提取出來,作為每一個話語的區域語義表征.以節點表示的形式輸入到特征融合層中.

特征融合層采用與文獻[27]相似的雙層GCN學習圖結構,第層的GCN為關系圖卷積網絡,能夠對圖結構中的邊關系進行學習.首先使用注意力機制計算邊關系的權重:

(17)

(18)

其中σ(·)代表sigmoid激活函數,R表示了表1中的所有的邊關系集合,N表示圖中所有節點的集合,ci,r是自動學習的邊關系系數,Wr、Wm是模型需要學習的參數.得到了第1層的GCN中每一個節點的表示之后,SAFL模型使用不考慮邊關系的普通GCN進一步學習對話結構信息:

(19)

其中σ(·)代表sigmoid激活函數,Wnr、Wnm是第2層GCN中需要學習的參數.

在預測層中,SAFL模型將特征融合層中節點的表示進行拼接,獲得整體的對話結構表示,并使用線性層計算分數:

Es-ensemble=h1⊕h2⊕…⊕hs

(20)

g(ws)=σ(WTEs-ensemble+b)

(21)

為了能夠充分優化DSA任務,SAFL模型將連續的對話段落作為DSA任務的正樣本,同時使用亂序的手段破壞對話語句之間的聯系,并將其作為DSA任務的負樣本.在優化的過程中采用交叉熵作為損失函數:

(22)

其中ws代表著當前對話片段數據,D″表示對話片段數據集.

3.6 階段信息學習

BERT等開源預訓練語言模型是在維基百科等大規模公開數據集上進行訓練,上述數據集的文本特點與多輪對話數據并不一致,因此需要在對話數據中進行領域學習.對于領域學習,現有模型如BERT-VFT、SA-BERT、DCM、UMS-BERT、BERT-SL等主要采用后訓練(Post training)策略.具體方法是先將多輪對話數據集中的上下文部分截取出來,輸入到BERT模型中繼續訓練BERT.但由于所采用的預訓練語言模型是在文本較長的百科類數據集上進行學習,用于較短的多輪對話文本上可能出現語義理解錯誤.同時數據集中上下文信息過少也會限制RPRSW任務的效果,導致BERT難以通過該任務學習到質量足夠高的局部語義表示.

針對上述問題,SAFL模型提出了階段信息學習PIL策略.PIL讓預訓練語言模型在領域學習的過程中學習大量的短句來提前學習對話的局部語義表示.具體而言,階段信息學習策略的優化任務與BERT中的方法一致,使用遮蔽語言模型(Masked Language Model,MLM)以及下一句預測(Next Sentence Prediction,NSP)任務共同優化BERT模型.與傳統后訓練策略不同的是,PIL從對話上下文中隨機的采樣長度κ以上的連續對話段落,其中κ與RPRSW任務中的最小窗口大小κ是相同的,表示采樣的連續對話片段至少要具有κ個話語的長度.領域學習階段模型的損失函數如下:

LossPLM=LossMLM+LossNSP

(23)

4 實驗和結果

4.1 數據集與對比算法

本文選擇使用Ubuntu和E-commerce兩個數據集對SAFL模型進行評估.Ubuntu數據集是目前檢索式多輪對話領域中最大的英文數據集,其內容收集于Ubuntu的公共交流社區之中.Ubuntu訓練集中包含了100萬條的多輪對話數據,每個多輪對話的正樣本數據都有一個與之對應的負樣本,因此Ubuntu訓練集由50萬組的正負樣本對構成.Ubuntu測試集與驗證集都各自包含了50萬條多輪對話數據,其中每個多輪對話的正樣本數據都有9個與之對應的負樣本數據.Zhang等人[5]提出了E-commerce數據集,該數據集是多輪對話研究領域中第一個中文的電商場景數據集,收集于淘寶網上的客服平臺.數據集中涵蓋了包括商品咨詢、物流快遞、推薦、交涉、閑聊等主題在內的多種對話主題.在訓練集和驗證集中,正樣本和負樣本的比例為1∶1,在測試集中為1∶9.表2顯示了兩個數據集的統計信息.

本文選擇最新的多輪對話模型作為對比模型,包括DUA[5]、DAM[6]、IMN[8]、MSN[10]、BERT-VFT[11]、DCM[13]、UMS-BERT[18]、BERT-SL[19].

4.2 實驗設置和評估指標

本文基于Pytorch框架實現了SAFL模型,并在兩張NVIDIA Tesla V00 GPU上進行實驗.對于用于微調的英文預訓練語言模型,使用由huggingface官方提供的BERT-base模型;對于用于微調的中文預訓練語言模型,使用由哈工大訊飛聯合實驗室提供的Chinese-BERT-wwm.模型設定訓練的批大小為8,并使用梯度累積策略,在累積5個批次后更新梯度.模型使用Adam算法作為梯度下降的優化器,學習率設定為8×10-6.模型中所有的分類層dropout比例統一設定為0.8.領域學習采用由SAFL模型中階段信息學習策略訓練得到的模型,設定訓練的批大小為16,累積24個批次后更新梯度,其他的訓練基本參數與微調階段一致.

SAFL模型設定了多個超參數,包括隨機滑動窗口回復預測任務中的最小窗口大小、重點局部信息蒸餾機制中融合的局部信息感知表征個數以及對話結構感知任務中抽取對話片段的長度.模型對不同數據集采用不同的超參數組合.在Ubuntu數據集中,模型將隨機滑動窗口回復預測任務中的最小窗口大小κ設定為6,將重點局部信息蒸餾機制中融合的局部信息感知表征個數n設定為6,將對話結構感知任務中抽取對話片段的長度s設定為8.在E-commerce數據集中,模型將最小窗口大小κ設定為2,局部信息感知表征個數n設定為2,抽取對話片段的長度s設定為5.對于隨機滑動窗口回復預測任務中不同類型的負樣本比例,在兩個數據集中都采用 100%隨機采樣策略.損失函數中的超參數α,β設為1.

SAFL模型使用R10@k,k∈{1,2,5}召回率作為評測指標.

4.3 實驗結果分析

表3展示了SAFL與對比模型在兩個數據集上的性能.表中所有對比模型的結果均取自各個模型對應的文獻.從實驗結果可以發現,SAFL模型在Ubuntu數據集上的各項性能指標均優于所有對比模型;在E-commerce數據集上的性能指標同樣優于對比模型,僅在R10@5上略低于BERT-SL.

表3 SAFL與基準模型的性能對比Table 3 Overall performance of SAFL and the baseline models

對于Ubuntu數據集,SAFL與基于匹配架構的多輪對話算法中效果最佳的MSN模型相比,R10@1、R10@2、R10@5分別提升8.90%、5.20%、1.31%.SAFL的預訓練語言模型借助自注意力運算根據語境充分學習全局的對話文本語義,而MSN單獨編碼每個句子,難以建立準確的全局語句依賴關系.與采用預訓練語言模型的效果最佳的DCM模型相比,SAFL模型在R10@1、R10@2、R10@5指標上分別提升2.10%、1.50%、0.41%.說明多任務學習方法相比增加額外模塊或數據能更有效挖掘預訓練語言模型的潛力.與基于多任務學習的最佳模型BERT-SL模型,SAFL在最能夠體現模型關鍵性能的R10@1、R10@2指標上獲得了0.50%、0.50%的性能提升.此外,SAFL相較于BERT-SL少了兩個輔助任務,大大減少了訓練時間與計算資源的消耗,說明SAFL的輔助任務具備更有效的多輪對話學習能力.

對于E-commerce數據集,SAFL與基于匹配架構的最佳模型IMN相比,R10@1、R10@2、R10@5分別提升了16.70%、12.40%、2.60%.與采用BERT的最佳模型SA-BERT相比,分別提升8.40%、4.20%、0.50%.與基于多任務學習的最佳模型BERT-SL相比,R10@1、R10@2指標提升了1.20%、0.20%,表明SAFL的輔助任務在文本長度較短的E-commerce數據集上依然具備精度與效率的雙重優勢.綜上,SAFL在中英文數據集上的性能均優于對比模型.

4.4 消融分析

本節分析SAFL各模塊對整體性能的影響.消融模型包括SAFL w/o DSA、SAFL w/o KLID、SAFL w/o RPRSW與SAFL w/o PIL.SAFL w/o DSA去除了對話結構感知任務;SAFL w/o KLID去除重點局部信息蒸餾機制,同時將預測層的輸入替換為預訓練語言模型中的CLS全局語義表征;SAFL w/o RPRSW去除隨機滑動窗口回復預測輔助任務;SAFL w/o PIL去除用于領域學習的階段信息學習策略.

表4展示了消融實驗的詳細結果.從表中可以看到,SAFL w/o DSA的R10@1、R10@2、R10@5指標分別下降了0.10%、0.07%、0.01%,證明對話結構感知任務所學習的對話結構信息能夠有效增減預訓練語言模型對多輪對話的理解能力.SAFL w/o KLID則分別下降了0.28%、0.28%、0.05%,證明重點局部信息蒸餾機制所提取的重點局部信息與全局信息能夠有效幫助模型甄別正確的回復;SAFL w/o RPRSW分別下降了0.63%、0.32%、0.05%,相較于DSA任務來說對模型帶來的影響更大,說明RPRSW任務的能夠有效提升局部語義理解能力.SAFL w/o PIL下降了4.82%、3.07%、0.84%,說明SAFL模型提出的階段信息學習策略能夠為預訓練語言模型帶來豐富的領域信息.

表4 消融實驗結果Table 4 Ablation experiment results

4.5 參數分析

本節通過多組參數實驗分析各超參數對SAFL模型的影響.參數實驗包括了SAFL模型中隨機滑動窗口回復預測任務的最小窗口大小、重點局部信息蒸餾機制采用的局部語義表征個數、對話結構感知任務抽取的對話片段長度分析.

圖3列出了在Ubuntu數據集上RPRSW任務不同最小窗口大小對SAFL模型的影響.從圖中可以發現,當κ<6時,模型性能顯著低于κ=6時的模型性能.當κ過小時,RPRSW任務可能會接收到輪數過少的短對話文本,無法學習到足夠的信息.同時當κ過大時同樣會限制RPRSW任務對SAFL模型的增益,因為當窗口的下限大小接近了對話數據集的平均長度時窗口可滑動的空間就越小,導致了RPRSW任務難以學習到更多樣性的信息.因此RPRSW中最小窗口大小κ決定了RPRSW能夠學習信息,適中的κ才能夠綜合考慮到局部語義學習和信息多樣性.

圖3 RPRSW最小窗口大小分析圖Fig 3 Effect of the minimum length of the sliding window on the performance of SAFL

圖4列出了在Ubuntu數據集上重點局部信息蒸餾機制KLID采用的局部語義表征個數n對SAFL模型的影響,KLID從預訓練語言模型的輸出中采樣了距離回復最近的n個局部語義表征用于門控融合篩選以及后續的預測,因此超參數n直接影響著SAFL模型能夠運用多少粒度、距離回復多遠的局部語義表征.從圖中的實驗結果可以看到,當n≤6時,模型性能隨著n的增長逐漸提升,說明更多的局部語義表征用能夠為模型帶來更豐富的信息,同時運用更多的局部語義表征進行門控篩選也能夠提高最終特征的質量.但當n≥6時,模型性能隨著的增大而下降,說明過多的局部語義表征會導致許多與回復關聯度較低的信息被融合到預測層中.

圖4 KLID采用的局部語義表征個數分析圖Fig 4 Effect of the number of local semantic representations adopted by KLID on the performance of SAFL

圖5列出了在Ubuntu數據集上DSA任務抽取的對話片段長度s對SAFL模型的影響.超參數s直接影響到DSA任務能夠學習多少對話結構信息.當輸入的對話文本輪數只有4輪時,每個對話人各自只說了兩輪的話語,整體對話文本中存在的結構信息太少,DSA任務難以從中學習到足夠完整的對話結構信息.從圖中可以發現,當s≤6時,SAFL性能較差,而當s≥8時DSA任務接收到足夠長度的對話文本,能夠學習到完整的對話結構信息,模型性能也隨之提升.

圖5 DSA任務中抽取對話片段的長度分析圖Fig 5 Length analysis diagram of extracted dialogue fragments in DSA task

5 總 結

本文針對檢索式對話方向上的多輪對話任務,提出了一種局部信息增強與對話結構感知的多輪對話模型SAFL.SAFL提出了隨機滑動窗口回復預測任務RPRSW來充分學習不同對話階段、對話長度的語言特點,顯著加強了預訓練語言模型對不同位置對話數據的理解能力.SAFL模型提出了重點局部信息蒸餾KLID機制借助多門控融合方法從全局和局部信息之中蒸餾出重點信息,解決了現有方法對重點信息的篩選不夠充分的問題.SAFL提出階段信息學習PIL在微調前加強預訓練語言模型對短對話數據的理解能力,解決了基于預訓練語言模型的方法學習短對話數據困難的問題.SAFL采用了對話結構感知DSA任務根據對話人說話的先后順序構造圖結構,并使用圖卷積網絡進行編碼,在對話結構的方向上進一步加強了模型的效果.在Ubuntu數據集和E-commerce數據集上進行了實驗分析,實驗結果表明SAFL在兩個數據集中均優于了所有的對比模型,并且通過多組實驗證實了模型中各個模塊的有效性.在未來的工作中,本文工作將會針對如何促進預訓練語言模型生成像對話主題、指代關系等更深層次的語義特征這一問題做更進一步的研究探索.

猜你喜歡
語義話語局部
局部分解 巧妙求值
非局部AB-NLS方程的雙線性B?cklund和Darboux變換與非線性波
現代美術批評及其話語表達
語言與語義
局部遮光器
吳觀真漆畫作品選
“上”與“下”語義的不對稱性及其認知闡釋
認知范疇模糊與語義模糊
話語新聞
話語新聞
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合