孫潤鑫 馬龍軒 張偉男 劉 挺
(哈爾濱工業(yè)大學(xué)社會(huì)計(jì)算與信息檢索研究中心 哈爾濱 150001)
近年來,隨著大數(shù)據(jù)的發(fā)展以及深度學(xué)習(xí)技術(shù)的興起,對(duì)話系統(tǒng)這一研究領(lǐng)域已經(jīng)取得了長足的進(jìn)步.由于Seq2Seq(sequence-to-sequence)模型[1]的出現(xiàn),許多模型采用了端到端的方式并基于大規(guī)模的人類對(duì)話語料進(jìn)行訓(xùn)練,已經(jīng)收到了一定的效果.然而,這些模型的問題在于其總是傾向于生成較為通用的回復(fù)[2],這也是目前該領(lǐng)域面臨的一大挑戰(zhàn).
事實(shí)上,通過引入外部知識(shí)使得模型生成信息更加豐富的回復(fù),正逐漸成為這一問題可能且可行的方法之一.并且到目前為止,已經(jīng)出現(xiàn)了一些富有建設(shè)性的成果.Ghazvininejad等人[3]是對(duì)一組候選事實(shí)進(jìn)行檢索,然后將其結(jié)果與對(duì)話信息相結(jié)合.Zhang等人[4]借助說話人的個(gè)人資料,使得模型可以生成一致性更好且更吸引人的對(duì)話.而Mem2Seq[5]則通過引入外部知識(shí)庫的方式,以提升回復(fù)內(nèi)容的豐富度.但是,這些工作大多是將現(xiàn)有的事實(shí)類知識(shí)整合到對(duì)話系統(tǒng)中,而此類知識(shí)的構(gòu)建過程費(fèi)時(shí)費(fèi)力,且具有較大的局限性,從而在一定程度上制約了大規(guī)模數(shù)據(jù)的使用,以及現(xiàn)有系統(tǒng)的應(yīng)用和落地.
基于文檔的對(duì)話是一項(xiàng)在討論特定文檔的內(nèi)容時(shí),生成較自然對(duì)話回復(fù)的任務(wù).與以往基于知識(shí)的對(duì)話不同,該任務(wù)采用文檔作為知識(shí)源,因此能夠使用較為廣泛的知識(shí),且無需對(duì)其預(yù)先進(jìn)行構(gòu)建.并且其與基于文檔的問答也有所不同,相較于后者此時(shí)不僅需要考慮對(duì)話與文檔之間的關(guān)系,同時(shí)還應(yīng)考慮對(duì)話內(nèi)部的聯(lián)系以對(duì)其充分理解.針對(duì)這一任務(wù),我們應(yīng)主要從3個(gè)方面進(jìn)行考慮:1)理解對(duì)話中各句之間的關(guān)系;2)理解對(duì)話與文檔之間的關(guān)系;3)根據(jù)對(duì)話上下文,從文檔中篩選有關(guān)信息以生成相應(yīng)回復(fù).
在本文中,我們提出了一種新穎的基于Trans-former[6]的模型,用于更好地構(gòu)建對(duì)話上下文,并利用其進(jìn)行信息篩選從而生成更有意義的回復(fù).主要思想是將信息篩選分為利用歷史和忽略歷史2種情況進(jìn)行討論:當(dāng)忽略歷史時(shí),只需以當(dāng)前對(duì)話為依據(jù),對(duì)文檔信息進(jìn)行相應(yīng)篩選;而當(dāng)考慮歷史時(shí),應(yīng)先利用其對(duì)上下文進(jìn)行重新建模,然后以所得結(jié)果為依據(jù),進(jìn)行文檔信息的篩選.注意到對(duì)話歷史事實(shí)上并不總是與語境相關(guān),因此在完成上述過程后我們需要對(duì)其與當(dāng)前對(duì)話的相關(guān)程度進(jìn)行度量,并以此為依據(jù)進(jìn)行語義向量的整合,以避免引入不相關(guān)的信息作為噪聲.實(shí)驗(yàn)結(jié)果表明,與現(xiàn)有的基線模型相比,我們的模型能生成語義更加連貫、知識(shí)更為豐富的回復(fù).
本文的主要貢獻(xiàn)可總結(jié)為3點(diǎn):
1)提出了一種辯證看待對(duì)話歷史的方法,用于文檔信息的篩選以及上下文信息的構(gòu)建.在編碼過程中,以分支的方式同時(shí)進(jìn)行利用歷史和忽略歷史的信息篩選,并根據(jù)當(dāng)前語境判斷各分支的重要程度.
2)提出了一種新的信息匯總的方式,通過判斷當(dāng)前對(duì)話與歷史之間的相關(guān)程度,來對(duì)各分支所得到的信息進(jìn)行整合,以得到在解碼過程中所使用的語義向量.
3)在CMU-DoG數(shù)據(jù)集[7]上進(jìn)行了模型的驗(yàn)證,并取得了當(dāng)前已知的最好效果.同時(shí)借助消融實(shí)驗(yàn),也顯示出模型各個(gè)部分在語義向量建模過程中的有效性.
目前,基于文檔的對(duì)話已被證明在解決通用回復(fù)、改善回復(fù)質(zhì)量方面能夠取得不錯(cuò)的效果[7-9].就現(xiàn)有工作而言,我們可以將其大致分為2類:基于抽取的方法和基于生成的方法.
基于抽取的方法最初在機(jī)器閱讀理解(machine reading comprehension,MRC)中被提出[10],其是在一篇給定的文檔中抽取特定的片段,以回答所給問題的任務(wù).Vinyals等人[11]提出了一種名為指針網(wǎng)絡(luò)(pointer networks,Ptr-Nets)的結(jié)構(gòu),其使用注意力機(jī)制[12]從輸入序列中選取元素作為輸出.Seo等人[13]提出了BiDAF模型,其使用雙向注意力流以獲得問題感知的上下文表征.Wang等人[14]提出了R-Net模型,其使用一種自匹配注意力機(jī)制來對(duì)較長段落的表示進(jìn)行完善.然而,這種方法實(shí)際上并不適合基于文檔的對(duì)話.其原因主要有2點(diǎn):1)在該任務(wù)中,事實(shí)上并沒有一個(gè)明確的問題,這需要在充分理解對(duì)話內(nèi)容的前提下,自行決定回復(fù)句的主題;2)由于方法本身的限制,只從原文中進(jìn)行抽取使得對(duì)話的流利度難以得到保證[15].
至于基于生成的方法,目前絕大多數(shù)模型還是基于經(jīng)典的Seq2Seq結(jié)構(gòu)[1].Lian等人[16]利用后驗(yàn)知識(shí)來進(jìn)一步指導(dǎo)知識(shí)的篩選過程.Liu等人[17]引入知識(shí)圖譜作為又一知識(shí)源,從而與非結(jié)構(gòu)化的文檔相結(jié)合起到互為增強(qiáng)的效果.Li等人[18]提出了一種增量式Transformer編碼器來對(duì)多輪對(duì)話及其相關(guān)文檔進(jìn)行聯(lián)合建模,同時(shí)應(yīng)用2階段的推敲解碼器以進(jìn)一步增強(qiáng)對(duì)話的連貫性和信息的豐富性.
但是,之前的工作并沒有深入研究對(duì)話歷史與當(dāng)前對(duì)話之間的關(guān)系.考慮真實(shí)的對(duì)話場(chǎng)景,由于對(duì)話過程中往往會(huì)出現(xiàn)主題的轉(zhuǎn)換,且由于開放域?qū)υ挼碾S意性,后續(xù)的主題并不一定總是與歷史相關(guān).在這種情況下,歷史便成為了一種噪聲,從而對(duì)知識(shí)的挑選以及后續(xù)對(duì)話的生成起到了負(fù)面作用.但當(dāng)主題較為明晰、對(duì)話內(nèi)容較為集中時(shí),歷史信息可以幫助我們更好地理解當(dāng)前語境.由此便可生成內(nèi)容更加豐富、語義更為連貫的回復(fù).出于以上2點(diǎn)考慮,本文提出了一種辯證看待對(duì)話歷史的方法,通過判斷其與當(dāng)前對(duì)話之間的相關(guān)程度,以更好地利用對(duì)話歷史并避免引入不必要的噪聲.
(1)
模型基于經(jīng)典的Transformer結(jié)構(gòu),各組成模塊如圖1所示.可以看出,其主要由3部分構(gòu)成:
Fig.1 Composition modules of our model圖1 本文模型的各構(gòu)成模塊
1)自注意編碼器(self-attentive encoder,SA).SA是經(jīng)典Transformer模型[6]中所使用的編碼器,其負(fù)責(zé)將對(duì)話信息和文檔信息分別預(yù)先進(jìn)行編碼.
2)篩選式Transformer編碼器(selective transformer encoder,STE).STE是一種用于進(jìn)行信息篩選的Transformer編碼器,它通過注意力機(jī)制[6]對(duì)編碼后的對(duì)話歷史和文檔信息分別進(jìn)行篩選,以得到更為符合當(dāng)前語境的向量表示,用于后續(xù)語義信息的構(gòu)建.
3)推敲解碼器(deliberation decoder,DD).DD是一個(gè)2階段的Transformer解碼器,用于生成語義更為連貫的回復(fù)[18].在第1階段,其將經(jīng)SA編碼后的當(dāng)前對(duì)話u(k)和整合后的語義向量作為輸入,借助對(duì)話上下文來生成回復(fù).而第2階段則是將經(jīng)SA編碼后的前一階段輸出和相關(guān)文檔d(k+1)作為輸入,使用文檔知識(shí)進(jìn)一步完善回復(fù).
接下來我們對(duì)模型中的各個(gè)環(huán)節(jié)進(jìn)行詳細(xì)介紹.
2.2.1 輸入信息的編碼
(2)
(3)
如圖1(a)所示,自注意編碼器由Nx個(gè)相同的層堆疊而成,每層都有2個(gè)子層.第1個(gè)子層是多頭自注意力子層,而第2個(gè)子層則是簡單的、位置完全連接的前饋網(wǎng)絡(luò)(feed-forward network,F(xiàn)FN).同時(shí)每個(gè)子層也都采用了殘差連接和標(biāo)準(zhǔn)化機(jī)制[6],因此子層的輸出實(shí)際為LayerNorm(x+Sublayer(x)),其中Sublayer(x)是由子層本身所實(shí)現(xiàn)的功能,為了表述簡潔這里故將其省略.下面給出該過程的公式表示:
(4)
D(1)=FFN(A(1)),
(5)
FFN(x)=max(0,xW1+b1)W2+b2,
(6)
其中,A(1)是經(jīng)第1個(gè)自注意力子層計(jì)算出的隱層狀態(tài),而D(1)則是第1層最終得到的文檔表示.對(duì)每層而言,重復(fù)這一過程,從而我們有:
(7)
其中,b(k+1)是文檔信息d(k+1)的最終表示,而SAdoc(·)表示上述編碼的完整過程.
2.2.2 文檔信息的篩選
為了借助注意力機(jī)制進(jìn)行高效地信息篩選,我們使用了一種結(jié)構(gòu)簡單的篩選式Transformer編碼器.由圖1(b)可知,其與2.2.1節(jié)中敘述的結(jié)構(gòu)最主要的區(qū)別就是增加了一個(gè)用于進(jìn)行信息篩選的注意力子層.在這一子層,輸入不再滿足Q=K=V這一特征,而是令K=V且Q≠K,通過利用投影后Q與K之間的相似關(guān)系,來從V(也即是K)中進(jìn)行信息的抽取.
出于辯證看待對(duì)話歷史的考慮,在編碼階段,我們分利用歷史和忽略歷史2種情況討論文檔信息的篩選,整體結(jié)構(gòu)如圖2所示.先從忽略歷史開始,容易想到,只需將編碼后的當(dāng)前對(duì)話c(k)作為下層輸入,而將編碼后的文檔表示b(k+1)作為上層輸入即可,公式表述為
tright=STEdoc(c(k),b(k+1),b(k+1)),
(8)
Fig.2 Overall architecture of the encoding part of our model圖2 本文模型編碼部分的整體架構(gòu)
其中STEdoc是用于進(jìn)行文檔信息篩選的編碼器.然后我們將tright,也即忽略歷史進(jìn)行信息篩選的輸出作為右支最終的語義向量.
(9)
從而考慮對(duì)話歷史的篩選過程可以表示為
(10)
tleft=STEdoc(h,b(k+1),b(k+1)),
(11)
其中STEutt是用于進(jìn)行對(duì)話信息篩選的編碼器.同樣地,我們將最終得到的結(jié)果作為左支也即借助歷史的語義向量.
2.2.3 語義向量的整合
在得到了左右支的語義向量之后,一個(gè)關(guān)鍵的步驟便是如何將二者進(jìn)行整合,以得到最終的語義表示.Sankar等人[19]指出,當(dāng)前對(duì)話u(k)在回復(fù)生成的過程中起著決定性的作用.因此這里我們需要保留右支得到的信息,并根據(jù)對(duì)話歷史與當(dāng)前對(duì)話的相關(guān)程度,確定最終表示中是否包含左支信息及其所占的比重.
我們可以通過注意力機(jī)制[12]并結(jié)合最大池化(max pooling)的方式,來計(jì)算當(dāng)前對(duì)話中的各詞與對(duì)話歷史之間的相關(guān)程度[20]:
(12)
α=sigmoid(maxcol(S)).
(13)
基于Zheng等人[21]所給出的形式進(jìn)行左右支信息的整合:
ttotal=α⊙tleft+(1-α)⊙tright+tright,
(14)
此時(shí)ttotal即為最終用于進(jìn)行回復(fù)生成的語義表示.
2.2.4 解碼與回復(fù)生成
受現(xiàn)實(shí)世界中人類認(rèn)知過程的啟發(fā),Li等人[18]設(shè)計(jì)了一種2階段的推敲解碼器,以提高知識(shí)的相關(guān)性和上下文的連貫性,這里我們同樣使用這一結(jié)構(gòu).在第1階段,其將編碼后的當(dāng)前對(duì)話c(k)和整合后的語義向量ttotal作為輸入,以學(xué)習(xí)生成上下文連貫的回復(fù).而第2階段則是將編碼后的前一階段輸出和相關(guān)文檔b(k+1)作為輸入,試圖將文檔知識(shí)進(jìn)一步注入到生成回復(fù)中.
如圖1(c)所示,推敲解碼器由第1和第2階段解碼器構(gòu)成.2個(gè)解碼器具有相同的架構(gòu),但子層的輸入不同.同樣地,其也由Ny個(gè)相同的層堆疊而成,每層都有4個(gè)子層.這里僅以第1階段為例,對(duì)相應(yīng)流程進(jìn)行詳細(xì)說明.首先第1個(gè)子層同樣是多頭自注意力子層:
(15)
(16)
其中ttotal即為式(14)所得的整合后的語義表示.第3個(gè)子層是多頭對(duì)話注意力層:
(17)
其中c(k)即為編碼后的當(dāng)前對(duì)話.值得一提的是,式(16)(17)分別將文檔信息和對(duì)話信息融入到生成回復(fù)中,以求在生成信息更加豐富的回復(fù)時(shí),不失其連貫性.第4個(gè)子層是全連接的前饋網(wǎng)絡(luò):
(18)
在Ny層之后,我們使用softmax函數(shù)獲得第1階段解碼出的單詞的概率分布:
(19)
按照Li等人[18]所給出的方法,這里我們摒棄了原始推敲解碼器所采用的較為復(fù)雜的訓(xùn)練算法,其是一種基于蒙特卡洛思想的聯(lián)合學(xué)習(xí)框架[22].而是出于連貫性的考慮,選擇對(duì)解碼器的2個(gè)階段分別計(jì)算損失,并采用加和的方式同時(shí)進(jìn)行訓(xùn)練[23],其公式為
Lmle=Lmle1+Lmle2,
(20)
(21)
(22)
其中N是參與訓(xùn)練的樣本總數(shù),而I是參考回復(fù)的長度.
我們使用基于文檔的對(duì)話數(shù)據(jù)集(CMU-DoG)[7]來進(jìn)行模型的評(píng)估.該數(shù)據(jù)集共包含基于120篇文檔的4 112段對(duì)話,平均每段對(duì)話的輪數(shù)為21.43.文檔內(nèi)容取自維基百科中有關(guān)熱門電影的文章,而對(duì)話內(nèi)容不僅可以基于文檔,也可以是隨意閑聊的.需要注意的是,這里我們將同一個(gè)人的連續(xù)對(duì)話視為一整句,并忽略每段對(duì)話起始部分的問候語.每個(gè)樣例包含一段與回復(fù)相關(guān)的、平均詞數(shù)為200的文檔,最近3句作為上下文的對(duì)話和1句參考回復(fù).數(shù)據(jù)集的統(tǒng)計(jì)信息詳見表1,更多細(xì)節(jié)請(qǐng)查閱文獻(xiàn)[7],在此不再贅述.
Table 1 Statistics of CMU-DoG Dataset表1 CMU-DoG數(shù)據(jù)集的統(tǒng)計(jì)信息
我們將所提出的模型與以下2類基線模型進(jìn)行比較:基于RNN的模型和基于Transformer的模型.
1)基于RNN的模型
① S2S(Seq2Seq).S2S是一種經(jīng)典的編碼器-解碼器模型[1].根據(jù)Zhou等人[7]給出的方法,這里我們將編碼得到的文檔知識(shí),與上一時(shí)刻生成的詞拼接起來作為解碼器的輸入,以向生成回復(fù)中添加文檔信息.
② S2SIF(S2S with input feeding).S2SIF是一種Seq2Seq模型的變體[24].其是利用注意力機(jī)制來對(duì)編碼結(jié)果進(jìn)行動(dòng)態(tài)匯總,并將其輸入到下一時(shí)刻的解碼過程.這里我們對(duì)編碼得到的文檔表示進(jìn)行這一操作.
2)基于Transformer的模型
① T-MemNet(transformer memory network).T-MemNet是一種將Transformer與Memory Network相結(jié)合的模型[9].首先利用注意力機(jī)制對(duì)知識(shí)進(jìn)行預(yù)篩選,然后將其與對(duì)話信息拼接后送入編碼器中進(jìn)行二次編碼.在這里由于相關(guān)知識(shí)已經(jīng)給定,故省去篩選步驟.
② ITE-DD.ITE-DD是一種使用增量式Trans-former編碼器和2階段推敲解碼器的模型[18].增量式編碼器使用多頭注意力機(jī)制,將文檔信息和對(duì)話上下文合并到每句對(duì)話的編碼過程中.而推敲解碼器采用2階段的方式,分別利用對(duì)話上下文生成回復(fù)主干以及將文檔知識(shí)進(jìn)一步注入回復(fù)之中.
我們使用OpenNMT-py[25]作為代碼框架.對(duì)于所有模型,隱層規(guī)模均設(shè)置為300.對(duì)基于RNN的模型,按照文獻(xiàn)[7]中的描述,我們使用2層的雙向LSTM作為編碼器,并使用1層單向的LSTM作為解碼器.對(duì)基于Transformer的模型,編碼器和解碼器的層數(shù)均設(shè)置為3.多頭注意力層中的注意力頭數(shù)為6,過濾器(filter)的規(guī)模為1 200.我們使用預(yù)訓(xùn)練的詞向量,即在Google News語料庫上借助Word2Vec訓(xùn)練得到的300維詞向量[26]對(duì)嵌入矩陣進(jìn)行初始化.并且這一表示會(huì)被文檔、對(duì)話和回復(fù)所共享.我們使用Adam優(yōu)化器[27]來對(duì)模型進(jìn)行優(yōu)化.在解碼階段,集束規(guī)模(beam size)被設(shè)置為5.
1)自動(dòng)評(píng)價(jià).我們使用BLEU,ROUGE-1,ROUGE-2,ROUGE-L作為生成回復(fù)的自動(dòng)評(píng)價(jià)指標(biāo).Zheng等人[21]指出,由于文檔中真正有意義的詞往往出現(xiàn)頻率較小,較低的困惑度(perplexity,PPL)反而會(huì)使得模型傾向于生成通用回復(fù),因此這里我們沒有使用這一指標(biāo).BLEU主要度量生成回復(fù)和參考回復(fù)之間的n元組(n-gram)重疊,而ROUGE則從召回角度來評(píng)測(cè)回復(fù)的語義完整度.
2)人工評(píng)價(jià).我們隨機(jī)選取了100個(gè)測(cè)試樣例并邀請(qǐng)了4位評(píng)委,在給定之前3句對(duì)話和文檔信息的條件下,從3個(gè)方面對(duì)回復(fù)質(zhì)量進(jìn)行評(píng)判:①連貫性(coherence),回復(fù)是否符合當(dāng)前語境,語義邏輯是否連貫;②信息性(informativeness),回復(fù)是否包含有用信息,是否與所給文檔相關(guān)而非通用回復(fù);③自然性(naturalness),回復(fù)語義是否通順,是否符合語法規(guī)定和人類表述習(xí)慣.所有指標(biāo)均被劃分為3個(gè)等級(jí):0代表較差;1代表中等;2代表較好.
表2列出了所有模型在第3節(jié)設(shè)置下的自動(dòng)評(píng)價(jià)和人工評(píng)價(jià)結(jié)果.
Table 2 Experimental Results of All Models on CMU-DoG Dataset表2 所有模型在CMU-DoG數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果
在自動(dòng)評(píng)價(jià)方面,我們的模型(CITE-DD)在所有的指標(biāo)上都優(yōu)于基線模型.其中在BLEU指標(biāo)上模型取得了約30%(即(1.31-1.01)/1.01?30%)的性能提升,這也在一定程度上體現(xiàn)了其結(jié)果與參考回復(fù)具有更高的重合度,從而表明其能夠生成更有意義的回復(fù).不僅如此,模型在ROUGE指標(biāo)上也有不小的進(jìn)步,由此便可以看出其結(jié)果對(duì)參考回復(fù)具有更高的覆蓋度,也即更為全面地表達(dá)了參考回復(fù)的內(nèi)容.綜合來看,模型相較于基線模型,能夠生成質(zhì)量更高的回復(fù),其結(jié)構(gòu)的有效性也得到了較為顯著的體現(xiàn).
而在人工評(píng)價(jià)方面,我們的模型同樣表現(xiàn)不錯(cuò).值得一提的是,模型在信息性這一指標(biāo)上相較于基線模型有著較為顯著的提升.從而可以反映出其能夠更好地篩選和利用文檔信息,而這也是基于文檔的對(duì)話任務(wù)中的一大關(guān)鍵.另外對(duì)于連貫性和自然性而言,模型也顯現(xiàn)出了一定的效果.不過在連貫性上,模型與ITE-DD相比區(qū)別不大,考慮主要是因?yàn)橥魄媒獯a器已經(jīng)大幅提升了生成回復(fù)的連貫性,若要在此基礎(chǔ)上取得新的進(jìn)展,需要對(duì)其有針對(duì)性的改進(jìn),但本文的重點(diǎn)并不在于此.
為了驗(yàn)證模型各部分的有效性,我們還設(shè)計(jì)并進(jìn)行了消融實(shí)驗(yàn),結(jié)果如表3所示:
Table 3 Experimental Results of Ablation Study表3 消融實(shí)驗(yàn)的結(jié)果
在這里,-left branch表示將編碼部分的左支(式(10)(11)),也即利用歷史的部分去掉,此時(shí)模型便退化為基于文檔的單輪對(duì)話.顯然,完全忽略對(duì)話歷史會(huì)對(duì)回復(fù)的生成有著極大的影響,這也較為明顯地在表3指標(biāo)中得以體現(xiàn).考慮主要有2個(gè)原因:1)其包含了豐富的語義信息,利用其進(jìn)行文檔信息的篩選可以得到更多、更準(zhǔn)確的結(jié)果;2)其亦可對(duì)更好地理解當(dāng)前對(duì)話起到一定的幫助作用.當(dāng)然上面2點(diǎn)都建立在歷史信息與當(dāng)前對(duì)話具有較強(qiáng)相關(guān)性的基礎(chǔ)之上.而-right branch則表示將編碼部分的右支,也即忽略歷史的部分去掉,此時(shí)模型便僅能從利用歷史的角度進(jìn)行文檔信息的篩選以及語義信息的建模.可以看出,回復(fù)生成的質(zhì)量也受到了部分影響,這也在一定程度上說明了當(dāng)歷史信息與當(dāng)前對(duì)話不相關(guān)時(shí),忽略歷史的方法使得模型避免了不必要噪聲的引入,從而可以更為準(zhǔn)確地理解當(dāng)前對(duì)話和構(gòu)建對(duì)話上下文.
另外,-integration表示將語義向量的整合部分去掉,這里采用直接加和的方式進(jìn)行替換,此時(shí)模型便失去了辯證看待對(duì)話歷史的能力.注意在這種情況下,模型的性能反倒比只用左支時(shí)要差,由此便進(jìn)一步印證了本文所提方法的有效性與合理性.
如圖3所示,這里我們將注意力矩陣進(jìn)行可視化處理,并以此說明整合方式的合理性.在該例中,歷史信息為“i did!she really delivered a knockout in mean girls.what was your favorite scene in mean girls?i personally like the scene where cady met the plastics.〈SEP〉 i love the revenge plot the best i think”,而當(dāng)前對(duì)話為“oh yeah!the plan of revenge against regina?that was awesome!did you know that mean girls was partially based on a book?”.
根據(jù)圖3中的結(jié)果,可以看出模型認(rèn)為當(dāng)前對(duì)話標(biāo)出的部分與歷史信息較為相關(guān),而事實(shí)也同樣如此.顯然,2段文字具有高度的重合性,這時(shí)左支得到的信息才可視為右支對(duì)應(yīng)位置的補(bǔ)充而非噪聲.由此便可說明模型最終的效果與我們的預(yù)期相吻合,從而進(jìn)一步印證了本文方法的有效性.
Fig.3 Visualization results of the attention matrix圖3 注意力矩陣的可視化結(jié)果
我們從測(cè)試集中選取了一個(gè)例子,以較為直觀地說明所提模型的有效性,內(nèi)容詳如表4所示.可以看出,對(duì)話是一段典型的基于電影知識(shí)的閑聊:其沒有明確的問題引出下句,當(dāng)前對(duì)話與歷史之間的關(guān)系也并不密切.在這種情況下,歷史信息如果不加篩選反而會(huì)成為一種噪聲,從而在一定程度上分散了回復(fù)句主題的確定.此時(shí),已有的基線方法就不能很好地理解對(duì)話信息并從文檔中提取出相關(guān)知識(shí),從而傾向于生成通用回復(fù).然而,我們的模型卻可以很好地做到這一點(diǎn),并利用文檔信息生成了正確且自然的回復(fù),使得當(dāng)前對(duì)話可以順利地延續(xù)下去.由此便可體現(xiàn)出辨證看待對(duì)話歷史的重要性.
Table 4 A Sample in the Test Set and Responses Generated by Each Model表4 測(cè)試集中的樣例及各模型的生成回復(fù)
本文提出了一種新穎的基于Transformer的模型,以辯證的觀點(diǎn)來看待對(duì)話歷史,同時(shí)充分發(fā)揮當(dāng)前對(duì)話在上下文構(gòu)建和信息篩選中的指導(dǎo)作用,以應(yīng)用到基于文檔的對(duì)話任務(wù).模型分為利用歷史和忽略歷史2種情況進(jìn)行文檔信息的篩選,然后根據(jù)當(dāng)前對(duì)話與歷史之間的相關(guān)程度,來決定最終是否包含利用歷史的信息及其所占的比重.在公開數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,與現(xiàn)有的基線模型相比,其可以更好地理解對(duì)話中的主題轉(zhuǎn)移,從而生成在相關(guān)性和信息性上質(zhì)量更高的回復(fù).
至于后續(xù)的研究方向,考慮到目前并沒有一種較好的方式,能夠在長文檔上對(duì)相關(guān)知識(shí)進(jìn)行更為準(zhǔn)確和精細(xì)的抽取.因此考慮文檔本身的結(jié)構(gòu)信息,同時(shí)引入粒度的概念可能是一個(gè)有效的改進(jìn)思路.