秦漢忠,于重重,姜偉杰,趙 霞
(北京工商大學 人工智能學院,北京 100048)
人機對話系統(tǒng)是一個復雜的研究方向,構(gòu)建人機對話系統(tǒng)的方法之一是檢索式方法[1]。檢索式方法首先需提取輸入對話的特征,隨后在候選回復庫匹配多個目標候選回復,按照某種指標進行排序,輸出得分最高的回復。將之前的對話輸出作為歷史對話,即形成多輪對話的形式。
近年來,隨著深度學習的發(fā)展,關于人機對話的研究重點逐漸由基于模板、規(guī)則的傳統(tǒng)方法轉(zhuǎn)變?yōu)榛诙说蕉说纳疃葘W習模型方法。Wu等人[2]提出序列匹配網(wǎng)絡(Sequence Matching Network,SMN)模型,模型可分為“表示—匹配—融合”三個部分,整體上基于CNN和RNN實現(xiàn)以語義融合為中心的多輪對話回復選擇。Zhang等人[3]提出深度表達融合(Deep Utterance Aggregation,DUA)模型,針對SMN模型將歷史對話直接拼接為上下文存在噪聲和冗余的問題,采用注意力機制挖掘關鍵信息并忽略冗余信息,最終獲得對話表達和候選響應的匹配得分。Zhou等人[4]提出深度注意力匹配(Deep Attention Matching,DAM)模型。在SMN模型的基礎上,省去CNN和RNN等結(jié)構(gòu),僅依靠注意力機制完成多輪對話的回復選擇,使模型參數(shù)大量減少,大幅提升了訓練速度。
在基于深度學習的檢索式多輪對話系統(tǒng)研究領域中,DAM模型與SMN模型、DUA模型同屬于以復雜的層級結(jié)構(gòu)提取多粒度特征的模型。除該類模型外,過去的相關研究還包含兩類模型,一類是早期利用句子編碼器提取序列簡單特征的模型,另一類是利用注意力機制提取序列關鍵匹配特征的模型。這三類模型在豆瓣、電商這兩個多輪中文對話數(shù)據(jù)集的實驗表現(xiàn)如表1所示,表中數(shù)據(jù)均來源于相關研究及論文。
表1 三類模型實驗結(jié)果對比情況
由表1可以看出,第三類模型的效果普遍優(yōu)于前兩類,主要原因是此類模型從單詞和句子兩個角度考慮了多輪對話與候選回復的交互關系,從看似簡單的問與答之間提取出了對話模式。而其中DAM模型由于網(wǎng)絡結(jié)構(gòu)層數(shù)多、計算過程交互相對復雜,能提取更細粒度的特征,表現(xiàn)更加出色。但DAM模型的局限性在于候選集中被選定的回復僅適用于本輪對話,與上下文并不能形成良好的匹配,或在匹配模型中沒有學習到真正的語義關系,對多輪對話的內(nèi)容產(chǎn)生了混淆,難以選擇正確的候選回復。
在“表示—匹配—融合”這一框架下,同時優(yōu)化三個部分是現(xiàn)階段的研究難點。在前人研究的基礎上,本文對比DAM模型,通過引入多頭注意力機制,使模型更適合處理含有細微變化的數(shù)據(jù),能讓選定的目標候選回復與上下文形成良好的匹配關系。此外,本文在特征融合過程中采用BiLSTM模型,通過捕獲多輪對話中的序列依賴關系,幫助模型建立每輪對話與前一輪對話、候選回復之間的匹配信息,使匹配模型學習到真正的語義關系,進一步提高選擇目標候選回復的準確率,基于此建立基于多頭注意力和BiLSTM改進的DAM模型Ex-DAM,在豆瓣、電商這兩個多輪中文對話數(shù)據(jù)集上進行研究。
本文的組織結(jié)構(gòu)為: 引言部分介紹“檢索式人機多輪對話”的概念及特點,概述近幾年深度學習模型方法;第1節(jié)介紹深度注意力匹配模型DAM的整體結(jié)構(gòu);第2節(jié)介紹基于多頭注意力和BiLSTM網(wǎng)絡的改進DAM模型Ex-DAM,主要包括多頭注意力模塊、語義表示網(wǎng)絡和雙通道BiLSTM特征融合網(wǎng)絡;第3節(jié)介紹實驗數(shù)據(jù)、實驗內(nèi)容、實驗結(jié)果及分析,驗證Ex-DAM模型的有效性;最后進行總結(jié)。
DAM模型的整體結(jié)構(gòu)[4]如圖1所示,可以分為輸入、表示、匹配、聚合四個部分。模型的輸入是多輪對話和候選回復,輸出是每個候選回復的得分。
圖1 DAM模型的整體結(jié)構(gòu)
DAM模型的注意力模塊含有查詢向量Q、鍵向量K和值向量V三個輸入。模塊首先利用式(1)計算輸入的縮放點積注意力:
Vatt=Attention(Q,K,V)
(1)
之后模塊將Vatt和Q直接相加,產(chǎn)生的和包含二者的聯(lián)合語義信息。為防止梯度消失或梯度爆炸,對Vatt和Q相加的結(jié)果應用層歸一化[10],并將其結(jié)果記為Vln。接著將Vln傳入一個基于ReLU函數(shù)[11]激活的雙層前饋網(wǎng)絡FFN,進一步處理融合信息。將FFN的輸出與輸入進行一次殘差連接[12],產(chǎn)生的結(jié)果再次應用層歸一化,此時的O是整個注意力模塊計算過程的最終輸出,如式(2)所示。
O=AttentionModule(Q,K,V)
(2)
DAM模型的語義表示網(wǎng)絡[13]由多個相同的注意力模塊首尾相連,形成堆疊的網(wǎng)絡結(jié)構(gòu)。網(wǎng)絡中每個注意力模塊的三個輸入相同,自注意力計算如式(3)、式(4)所示。
(7)
在DAM模型中,Pi,l被稱為像素點,由Pi,l組合形成的高維矩陣P被稱為圖像,P中的圖像深度對應于多輪對話的輪次,圖像寬度對應于每輪對話和候選回復在句子層級的匹配信息,圖像高度對應于每輪對話和候選回復在單詞層級的匹配信息。由于P含有三個維度的特征,DAM模型采用3D卷積[14]進行特征提取。經(jīng)過兩次3D卷積和最大池化,P最終變成一維特征f,再經(jīng)過一個線性分類器即可獲得匹配分數(shù)g(c,r)。
為使DAM模型更適合處理含有細微變化的數(shù)據(jù),進一步提高選擇目標候選回復的準確率,本文利用多頭注意力表示網(wǎng)絡和雙通道特征融合網(wǎng)絡,結(jié)合DAM模型中的交互匹配網(wǎng)絡,基于此構(gòu)成一個新的端到端檢索式多輪對話系統(tǒng)模型,將該模型命名為基于多頭注意力和BiLSTM的Ex-DAM模型。模型的整體結(jié)構(gòu)如圖2所示。
圖2 Ex-DAM模型整體結(jié)構(gòu)
模型的輸入是詞向量形式的多輪對話和候選回復,首先經(jīng)過L個多頭注意力層以獲取它們的多粒度表示。在這些表示向量中,每一輪對話都和候選回復進行一次普通的注意力計算,得到多個主匹配矩陣。此外,候選回復再額外地與最后一輪對話計算一次注意力,以獲得次匹配矩陣。隨后,主、次匹配矩陣分別作為兩個通道的輸入進行特征融合。在這個過程中,所有的匹配矩陣經(jīng)過BiLSTM和拼接操作依次進行序列特征提取和維度統(tǒng)一。最后,把兩個通道的輸出向量首尾拼接,經(jīng)過多層感知器就能獲得每個候選回復與多輪對話之間的匹配分數(shù)。
普通的注意力機制在文本序列中可以很好地從詞向量角度提取關鍵信息,但幾乎無法識別對詞向量進行統(tǒng)一修改的操作。多頭注意力機制正好可以解決此類問題。在計算時,首先輸入多次映射,每個映射使用不同參數(shù)進行相同計算,最后將各個輸出合并。這種做法比縮放點積注意力更適合處理含有細微變化的數(shù)據(jù)。本文使用多頭注意力模塊結(jié)構(gòu)如圖3所示。
圖3 多頭注意力模塊
多頭注意力模塊含有查詢向量Q、鍵向量K和值向量V三個輸入,整體計算如式(8)所示。
MHAModule(Q,K,V)=LayerNorm(Q+MultiHead(Q,K,V))
(8)
本文在模塊中應用了殘差連接,將輸入Q與前饋層的輸出恒等疊加,不會引入額外的參數(shù),也不會增加模型的計算復雜度,在疊加過程中可強化輸入中的重點內(nèi)容,提升訓練效果。多頭注意力的頭部能在不同子空間處理同一序列,從而獲得更豐富的語義表示信息。由多頭注意力模塊組成Ex-DAM模型的語義表示網(wǎng)絡,結(jié)構(gòu)如圖2中的Representation模塊所示。
第一個策略是當L數(shù)值較小時,保留所有Ui和R,即使用所有粒度的語義表示作為特征匹配網(wǎng)絡的輸入,記作Ex-DAML;第二個策略是當L數(shù)值較大時,保留Ui和R中的后m個元素,即僅使用深層粒度的語義表示作為特征匹配網(wǎng)絡的輸入,記作Ex-DAML-m;第三個策略是當L數(shù)值較大時,保留Ui和R中的第一個元素和后m個元素,將原始輸入同時作為語義表示網(wǎng)絡和特征匹配網(wǎng)絡的輸入,而后者的輸入還包含原始輸入的多粒度語義表示,記作Ex-DAML-0-m。
本文使用的中文多輪對話數(shù)據(jù)集是Wu等人[2]提供的豆瓣對話數(shù)據(jù)集和Zhang等人[3]提供的電商對話數(shù)據(jù)集。這兩個數(shù)據(jù)集已由提供者進行了中文分詞處理,每個數(shù)據(jù)集含有六個文件,其中,responses.txt用于索引特定候選回復,word2vec.txt用于預訓練詞向量,vocab.txt用于索引特定單詞,test.txt作為測試集,train.txt作為訓練集,valid.txt作為驗證集。本文針對兩個數(shù)據(jù)集中的數(shù)據(jù)組成進行了統(tǒng)計,結(jié)果如表2所示。
表2 數(shù)據(jù)集統(tǒng)計結(jié)果
(11)
則表示ri中的單詞數(shù)符合常規(guī),其中,Wmax是本文自行設置的單詞處理最大值,本文設為100。
t≤Tmax
(12)
(13)
(14)
經(jīng)過上述處理,每個多輪對話都由T輪對話組成,每輪對話和每個候選回復都由W個單詞組成。借助vocab.txt中單詞與詞序之間的對應關系表,本文將數(shù)據(jù)中的所有單詞(包括
得到上述規(guī)范數(shù)據(jù),其中將單詞轉(zhuǎn)化成的數(shù)字同時與word2vec.txt文件中的預訓練詞向量一一對應,根據(jù)這種對應關系可將每個數(shù)字轉(zhuǎn)換成200維的詞向量,其中
本文將200維的意圖嵌入向量直接與相應的詞向量相加,由
3.3.1 評價指標及實驗設置
本文采用檢索式多輪對話系統(tǒng)常用的幾種評價指標來衡量模型的性能。假設多輪對話數(shù)據(jù)集C由N個集合c組成,每個集合c包含正確回復t個、錯誤回復f個。在整個數(shù)據(jù)集上計算各項評價指標的平均值,得到平均精度均值[15](Mean Average Precision,MAP)、倒數(shù)排序均值[16](Mean Reciprocal Rank,MRR)、首位準確率(Precision-at-1,P@1)和計算召回率(Recall-n-at-k,Rn@k),如式(17)~式(20)所示。
其中,AP為平均精度(Average Precision),RR為倒數(shù)排序指數(shù)(Reciprocal Rank)。
本次實驗中使用的數(shù)據(jù)均已經(jīng)過數(shù)據(jù)預處理,訓練過程相關配置使用Adam優(yōu)化器[17]調(diào)節(jié)模型參數(shù),DAM模型和Ex-DAM模型超參數(shù)的取值均如表3所示。
表3 DAM模型和Ex-DAM模型超參數(shù)表
3.3.2 DAM模型實驗結(jié)果
本實驗以DAM模型為基線模型,分別進行數(shù)據(jù)預處理和詞向量增強,在現(xiàn)有實驗環(huán)境下評估模型的表現(xiàn),實驗結(jié)果如表4所示。
表4 DAM模型實驗結(jié)果
由表4可以看出,數(shù)據(jù)預處理有助于模型性能的提升,對原始數(shù)據(jù)集進行數(shù)據(jù)預處理,在豆瓣對話數(shù)據(jù)集上的各項評價指標獲得了0.5%~0.7%的提升,在電商對話數(shù)據(jù)集上的各項評價指標獲得了0.8%~1%的提升。還可以看出,將基于意圖識別的詞向量增強直接應用于DAM模型產(chǎn)生了不理想的效果,在兩個數(shù)據(jù)集上的各項評價指標均下降了1%以上,即使經(jīng)過數(shù)據(jù)預處理,模型效果有了略微提升,但也始終低于基線水平。此結(jié)果的產(chǎn)生原因主要是DAM模型完全由自注意力機制構(gòu)造而成,其中的計算過程依賴于詞向量,本文在詞向量層面進行的任何改動都將逐層干擾注意力機制的計算,從而導致DAM模型性能急劇下降。
3.3.3 Ex-DAM模型實驗結(jié)果
為了驗證本文提出的Ex-DAM模型是否有效,將經(jīng)過數(shù)據(jù)預處理的兩種實驗模型作為基線模型,從是否進行詞向量增強的角度進行了獨立實驗。其中,Ex-DAM5表示堆疊注意力模塊數(shù)設置為5,保留所有Ui和R,即使用所有粒度的語義表示作為特征匹配網(wǎng)絡的輸入;Ex-DAM5-4表示模塊數(shù)設置為5,保留Ui和R中的后4個元素;Ex-DAM5-0-4表示模塊數(shù)設置為5,保留Ui和R中的第1個元素和后4個元素,實驗結(jié)果分別如表5和表6所示。
表5 不含詞向量增強的Ex-DAM模型實驗結(jié)果
表6 含有詞向量增強的Ex-DAM模型實驗結(jié)果
由表5和表6看出,無論是否對數(shù)據(jù)集進行詞向量增強,Ex-DAM模型的實際表現(xiàn)都優(yōu)于基線模型。即使詞向量增強曾在之前的實驗中導致基線模型的性能不升反降,卻幫助Ex-DAM模型達到了最佳性能,說明多頭注意力機制與BiLSTM的共同作用要優(yōu)于普通自注意力機制。
表5中,Ex-DAM5模型性能優(yōu)于其余模型,該模型與其余模型的不同之處在于語義表示網(wǎng)絡的輸出含有5種粒度的語義表示。若將最底層粒度語義表示去除或者以原始輸入替換最底層語義表示,都將損失一部分模型的性能。然而在表6中,以原始輸入替換最底層語義表示的Ex-DAM5-0-4模型卻比Ex-DAM5模型性能更優(yōu)。這是由于對原始輸入進行了詞向量增強,導致原始輸入含有額外的意圖特征,而語義表示網(wǎng)絡中每個粒度的語義表示都源于原始輸入,相當于在計算過程中不斷強化這種意圖特征,促使模型重點對意圖特征建模。
本文進行的實驗均將堆疊注意力模塊數(shù)設置為5,為探究Ex-DAML-0-m模型中L和m的取值對模型性能的影響,本文使用經(jīng)數(shù)據(jù)預處理和詞向量增強的電商對話數(shù)據(jù)集進行了額外的實驗,將評價指標R10@1結(jié)果繪制成折線圖,如圖4所示。
圖4 不同參數(shù)搭配對Ex-DAML-0-m模型的影響
本實驗始終保持語義表示網(wǎng)絡的輸出粒度不超過5,這是由模型占用的顯存所致,若超出此值必須修改超參數(shù),而計算方面的消耗將呈指數(shù)級增長,很難與之前的實驗做對比。圖4標記的模型對比點是上一實驗中的Ex-DAM5-0-4模型,由圖4可知,多粒度語義表示確實能在一定程度上提升模型性能,當模型將4個堆疊多頭注意力模塊的輸出與原始輸入共同作為語義表示網(wǎng)絡的輸出時,通常能取得最高性能。若堆疊多頭注意力模塊數(shù)超過5,無論如何選擇m的值,模型都將逐漸出現(xiàn)過擬合現(xiàn)象,這是由于隨著堆疊多頭注意力模塊數(shù)的增加,被多頭注意力機制重點關注的信息會從前一層不斷累加到下一層,導致這些信息在深層計算過程中基本保持不變,嚴重影響模型訓練。
本文提出了基于多頭注意力和BiLSTM改進的DAM模型Ex-DAM,該模型用于處理中文多輪對話問答匹配問題。本文將DAM模型作為基線模型,利用多頭注意力機制在多個不同子空間內(nèi)計算特征,從而有能力建模較長的多輪對話。Ex-DAM模型的卷積核使用BiLSTM來捕獲序列上的依賴關系。實驗證明,Ex-DAM模型性能在電商和豆瓣的數(shù)據(jù)集上均優(yōu)于基線模型。
在未來的研究中,我們將嘗試加入命名實體識別、情感分析等多種輔助手段,使得Ex-DAM模型可以在文本片段中盡可能提取更多的特征,實現(xiàn)對現(xiàn)有模型進行改進和優(yōu)化。