黃鏘嘉,黃沛杰,李楊輝,杜澤峰
(華南農(nóng)業(yè)大學(xué) 數(shù)學(xué)與信息學(xué)院,廣東 廣州 510642)
面向任務(wù)(task-oriented)的限定領(lǐng)域口語對(duì)話系統(tǒng)(spoken dialogue system,SDS)是自然語言理解領(lǐng)域內(nèi)的研究熱點(diǎn)之一。它有著廣泛的應(yīng)用場(chǎng)景,如信息咨詢[1-4]、商品導(dǎo)購[5]、旅游虛擬助理[6]、導(dǎo)航系統(tǒng)[7-8]等自然語言智能助理。近年來,一系列端到端(end-to-end)SDS模型[2-4,9-11]取得了超過傳統(tǒng)的管道式SDS模型的性能,從某種意義上歸功于它們能有效避免傳統(tǒng)的管道式設(shè)計(jì)存在的錯(cuò)誤傳遞和錯(cuò)誤累積問題。然而,經(jīng)典的end-to-end訓(xùn)練方式比較適合面向非任務(wù)(non-task-oriented)SDS[9-11]。通過大量數(shù)據(jù),能夠訓(xùn)練有效的聊天機(jī)器人類型的SDS。對(duì)于面向任務(wù)(task-oriented)的SDS,則需要進(jìn)一步解決如何有效捕捉任務(wù)領(lǐng)域的信息,并融入到動(dòng)作策略的選擇及應(yīng)答[12]中。
最近的研究已經(jīng)開始轉(zhuǎn)向嘗試以end-to-end方式訓(xùn)練面向任務(wù)的SDS[2-4]。通過采用記憶網(wǎng)絡(luò)的推理方法來建模對(duì)話[2],以及將命名實(shí)體識(shí)別、數(shù)據(jù)庫查詢結(jié)果等語義特征結(jié)合到基于神經(jīng)網(wǎng)絡(luò)的end-to-end模型中[3-4],可在一定程度上實(shí)現(xiàn)含有領(lǐng)域語義槽信息的用戶話語的系統(tǒng)應(yīng)答動(dòng)作策略的end-to-end學(xué)習(xí)。然而,面向任務(wù)SDS中表達(dá)多樣的不含槽信息的話語,既不能像面向聊天SDS那樣處理,又缺乏含有槽信息話語中的領(lǐng)域語義信息,其有效對(duì)話控制仍然是一個(gè)挑戰(zhàn)。
本文在應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)對(duì)“顯式”話語序列提取得到的特征表達(dá)的基礎(chǔ)上,通過構(gòu)造和捕獲對(duì)話序列中“隱式”的系統(tǒng)后臺(tái)上下文信息,進(jìn)一步豐富了處理不含槽信息話語的end-to-end系統(tǒng)動(dòng)作分類模型的特征表達(dá)。本文的主要貢獻(xiàn)包括:
(1) 提出一種融合“顯式”話語特征和“隱式”上下文信息的end-to-end混合編碼網(wǎng)絡(luò)處理不含槽信息話語的對(duì)話控制?!帮@式”的話語序列的特征學(xué)習(xí)有助于捕捉不含槽信息話語的對(duì)話行為,“隱式”的系統(tǒng)后臺(tái)上下文信息支持面向任務(wù)的對(duì)話策略學(xué)習(xí)。
(2) 在中文限定領(lǐng)域的面向任務(wù)SDS數(shù)據(jù)集的評(píng)估表明,在不含槽信息話語處理方面,與傳統(tǒng)的管道式SDS模型和經(jīng)典的end-to-end 模型相比,本文的方案能更好地捕捉對(duì)話上下文信息,在單回合處理以及對(duì)話段整體性能上都得到了顯著的提升。
本文組織結(jié)構(gòu)安排如下: 第1節(jié)介紹相關(guān)工作,第2節(jié)介紹本文提出的方法,第3節(jié)為測(cè)試結(jié)果及分析,第4節(jié)總結(jié)本文的工作并做簡(jiǎn)要的展望。
傳統(tǒng)的管道式SDS由一系列有關(guān)聯(lián)的模塊組成,一般包括自動(dòng)語音識(shí)別(automatic speech recognition,ASR)、口語語言理解(spoken language understanding,SLU)、對(duì)話管理(dialogue management,DM)、自然語言生成(natural language generation,NLG)、以及語音合成(text-to-speech,TTS)等五大模塊[13-14]。管道式設(shè)計(jì)的局限性一方面在于其模塊一般是獨(dú)立訓(xùn)練的,本質(zhì)上很難將系統(tǒng)適應(yīng)到新任務(wù)領(lǐng)域。例如,當(dāng)其中一個(gè)模塊采用新數(shù)據(jù)進(jìn)行訓(xùn)練或者在設(shè)計(jì)上進(jìn)行了改動(dòng),與之相關(guān)聯(lián)的模塊也需要重新訓(xùn)練或者設(shè)計(jì),但這樣的做法需要耗費(fèi)大量的精力。此外,模塊間的錯(cuò)誤傳遞會(huì)導(dǎo)致錯(cuò)誤累積,并且前序模塊的錯(cuò)誤會(huì)向后續(xù)模塊傳播,不容易追蹤和確定錯(cuò)誤的來源[15]。
面向非任務(wù)(non-task-oriented)的end-to-end SDS[9-11]主要受到序列到序列(sequence to sequence)學(xué)習(xí)[16]的啟發(fā),將對(duì)話當(dāng)作是從源到目標(biāo)的序列轉(zhuǎn)換問題,采用編碼器(encoder)網(wǎng)絡(luò)[17]將用戶話語編碼為表示其語義的分布式向量,然后通過解碼器(decoder)網(wǎng)絡(luò)生成系統(tǒng)應(yīng)答。這些模型通常需要大量的數(shù)據(jù)來訓(xùn)練。它們適合創(chuàng)建有效的聊天機(jī)器人類型的SDS,但缺乏完成特定領(lǐng)域任務(wù)的能力,例如,與數(shù)據(jù)庫交互[12]并將有用的信息融入到應(yīng)答中。
近年來,研究者們開始研究適合面向任務(wù)SDS的end-to-end可訓(xùn)練模型。Wen等[4]提出了一種模塊化連接的基于神經(jīng)網(wǎng)絡(luò)的end-to-end可訓(xùn)練模型。該模型分離了意圖估計(jì)、狀態(tài)確認(rèn)、策略學(xué)習(xí)和響應(yīng)生成等模塊。Bordes和Weston[2]提出了一種使用end-to-end記憶網(wǎng)絡(luò)的推理方法來建模對(duì)話。他們的模型直接從響應(yīng)列表中選擇系統(tǒng)響應(yīng),而沒有經(jīng)過狀態(tài)追蹤模塊。Williams等[3]將命名實(shí)體識(shí)別、數(shù)據(jù)庫查詢結(jié)果等語義特征結(jié)合到基于神經(jīng)網(wǎng)絡(luò)的end-to-end模型中,優(yōu)化了系統(tǒng)動(dòng)作策略學(xué)習(xí)的性能。
表1是一個(gè)面向手機(jī)導(dǎo)購的SDS示例。在目前研究進(jìn)展中,對(duì)于攜帶任務(wù)領(lǐng)域語義信息(槽信息)的用戶話語(表1對(duì)話話語中的(4)、(6)、(8)、(12)、(16)),采用已有的研究方法,可有效地實(shí)現(xiàn)從用戶話語到系統(tǒng)動(dòng)作的end-to-end學(xué)習(xí),無需通過管道式設(shè)計(jì)的槽信息填充、對(duì)話行為識(shí)別和對(duì)話策略等模塊化的獨(dú)立學(xué)習(xí)過程。具體例如,若是“陳述句”,模型輸出“主動(dòng)引導(dǎo)”的系統(tǒng)動(dòng)作,記錄下用戶提供的信息,并引導(dǎo)用戶進(jìn)一步提供更多必要信息;若是疑問句,模型輸出“查詢并回復(fù)”的系統(tǒng)動(dòng)作,結(jié)合話語相應(yīng)的問句類型(如(8)的“特指問”、(12)的“選擇問”)查詢數(shù)據(jù)庫并回復(fù)。
表 1 面向任務(wù)的SDS示例 (None表示不含槽信息)
然而,對(duì)于不含槽信息的用戶話語(表1對(duì)話話語中的(2)、(10)、(14)、(18)),其表述更像面向聊天的用戶話語,但又不能像面向聊天SDS那樣處理話語。因?yàn)?,?huì)脫離所面向的任務(wù)的流程,不利于任務(wù)的完成。另外,相對(duì)比于含有槽信息的話語,不含槽信息話語,因缺乏領(lǐng)域語義信息,且此類話語表達(dá)多樣,其有效對(duì)話控制仍然是一個(gè)挑戰(zhàn)。
本文在應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)對(duì)“顯式”話語序列提取得到的特征表達(dá)的基礎(chǔ)上,通過構(gòu)造和捕獲對(duì)話序列中“隱式”的系統(tǒng)后臺(tái)上下文信息,進(jìn)一步豐富了end-to-end系統(tǒng)動(dòng)作學(xué)習(xí)模型的特征表達(dá),實(shí)現(xiàn)了不含槽信息話語的end-to-end對(duì)話控制。
圖1是本文提出的處理不含槽信息話語的融合“顯式”話語特征和“隱式”上下文信息的end-to-end混合編碼網(wǎng)絡(luò)模型結(jié)構(gòu)圖。
(1) “顯式”的話語特征??谡Z話語是一種典型的短文本,故本文采用了在短文本理解中廣泛采用的CNN提取話語的特征表達(dá)。用戶句子首先通過句子特征表達(dá)完成從自然語言到低維實(shí)數(shù)向量的映射,完成句子特征的表達(dá)。通過CNN不同的卷積窗口大小對(duì)輸入特征進(jìn)行卷積操作,提取不同粒度的特征組合,池化層實(shí)現(xiàn)對(duì)卷積特征的聚合統(tǒng)計(jì),在保留重要特征的同時(shí)對(duì)特征起到降維作用。在池化層后面是dense層(隱藏層),dense層能夠?qū)矸e層和池化層提取到的多粒度詞語特征進(jìn)行權(quán)衡,并選擇出最有價(jià)值的特征,而dropout機(jī)制能夠有效防止模型過擬合。
(2) “隱式”的后臺(tái)系統(tǒng)上下文特征。后臺(tái)系統(tǒng)上下文信息主要包括兩個(gè)方面的作用。一方面是更準(zhǔn)確地“捕捉”對(duì)話上下文的概要信息。比如用戶“連續(xù)不含槽信息的回合數(shù)”、“上回合討論對(duì)象”(具體商品還只是某一商品屬性,或是商品無關(guān))、“是否已推薦商品”,單純依靠對(duì)話話語序列輸入的end-to-end模型, 很難直接通過對(duì)話序列“獲取”這些信息;另一方面,是提供直接從對(duì)話序列無法獲取的信息。比如“候選商品數(shù)量”是系統(tǒng)內(nèi)部掌握的信息,可由系統(tǒng)根據(jù)當(dāng)前的對(duì)話上下文已確定的商品槽信息查詢數(shù)據(jù)庫得到。值得注意的是,對(duì)于含有槽信息的話語的處理,當(dāng)前的主流模型,不論是管道式SDS還是end-to-end SDS,都帶了商品槽信息獲取。
圖1 融合“顯式”話語特征和“隱式”上下文信息的end-to-end混合編碼網(wǎng)絡(luò)模型結(jié)構(gòu)(以商品導(dǎo)購SDS為例)
最后,將“顯式”的話語特征和“隱式”的后臺(tái)系統(tǒng)上下文特征進(jìn)行拼接,并連接softmax分類層,輸出對(duì)不同系統(tǒng)動(dòng)作預(yù)測(cè)的概率分布。
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)在短文本理解方面取得較好的應(yīng)用效果[18-19]。本文采用了Kim[18]提出的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型,該模型采用了多種核尺寸實(shí)現(xiàn)對(duì)句子進(jìn)行不同粒度特征的提取,不同粒度的特征對(duì)實(shí)驗(yàn)結(jié)果有改善的作用。
在原始的全連接神經(jīng)網(wǎng)絡(luò)中,假設(shè)第l隱藏層有ml個(gè)節(jié)點(diǎn),第(l-1)隱藏層有nl-1個(gè)節(jié)點(diǎn),這時(shí)連接第l層與第(l-1)層的參數(shù)個(gè)數(shù)將達(dá)到nl-1×ml個(gè)。當(dāng)nl-1和ml都很大的時(shí)候,參數(shù)空間會(huì)很大,也意味著計(jì)算量加大,從而導(dǎo)致訓(xùn)練過程也會(huì)特別慢。因此, 采用卷積神經(jīng)網(wǎng)絡(luò)可以很好地解決這
個(gè)問題,卷積神經(jīng)網(wǎng)絡(luò)第l層的神經(jīng)元只與第(l-1)層的局部相連接,這時(shí)連接第l層與第(l-1)層的參數(shù)個(gè)數(shù)為(nl-1-ml+1)。
其中,hl表示第W(l)層的輸出,W(l)表示連接第(l-1)層和l層的濾波器,?代表卷積運(yùn)算,b(l)為偏置,f為激活函數(shù)。
卷積操作的應(yīng)用雖然使得連接層與層之間的權(quán)重參數(shù)空間大大減少,但卷積操作后輸出的神經(jīng)元個(gè)數(shù)與全連接的神經(jīng)網(wǎng)絡(luò)相比并沒有多大改變。若此時(shí)在卷積結(jié)果后接一個(gè)softmax分類層,則其參數(shù)空間仍然相當(dāng)龐大。因此,通常的做法是在卷積操作之后執(zhí)行一個(gè)采樣操作,也稱為池化(pooling)。池化操作不僅能進(jìn)一步減少參數(shù)的個(gè)數(shù),還能降低特征的維度,從而避免了過擬合現(xiàn)象[20],如式(2)所示。
其中,pool表示池化操作,常見的有最大池化和平均池化,本文采用最大池化(max-pooling)作為采樣函數(shù)。
本文提出的方案中,從對(duì)話信息流中持續(xù)采集的“隱式”的后臺(tái)系統(tǒng)上下文信息如表2所示。本文
表2 “隱式”系統(tǒng)上下文特征
期望通過增加這4類后臺(tái)系統(tǒng)上下文信息,可有助于捕捉對(duì)話流程的“隱式”上下文(相比于“理解”用戶話語的文本信息得到的“顯式”特征),有效地實(shí)現(xiàn)不含槽信息話語的end-to-end對(duì)話控制。
(1) 連續(xù)不含槽信息回合數(shù)。該特征記錄了用戶連續(xù)沒有主動(dòng)提供商品相關(guān)信息(槽信息)的回合數(shù)。一般而言,出現(xiàn)這種情況或者是用戶缺乏主動(dòng)主導(dǎo)對(duì)話的習(xí)慣,或者是用戶進(jìn)入了連續(xù)閑聊的狀態(tài)。加入這個(gè)特征有助于增加模型選擇“主動(dòng)引導(dǎo)”動(dòng)作的概率,將對(duì)話“帶回”導(dǎo)購流程。
(2) 是否已推薦商品。該特征用于標(biāo)識(shí)“推薦商品”這個(gè)系統(tǒng)動(dòng)作是否出現(xiàn)過。系統(tǒng)是否已經(jīng)向用戶推薦過商品,潛在有助于對(duì)用戶的一些對(duì)話行為,例如,“表態(tài)肯定”、“表態(tài)否定”等做出正確的系統(tǒng)動(dòng)作選擇。
(3) 上回合討論對(duì)象。該特征不容易直接通過模型從對(duì)話序列上下文直接“理解”得到,但系統(tǒng)卻能做出較為準(zhǔn)確的記錄。上回合討論的對(duì)象的不同,也會(huì)影響系統(tǒng)做出不同的系統(tǒng)動(dòng)作選擇。
(4) 候選商品數(shù)量。該特征結(jié)合系統(tǒng)當(dāng)前的對(duì)話上下文已確定的商品槽信息查詢數(shù)據(jù)庫得到。一般而言,在候選商品依然較多時(shí)宜繼續(xù)引導(dǎo)用戶表達(dá)特定商品屬性的需求,而在候選商品較少時(shí)則可能適時(shí)推薦會(huì)更合適。尤其是候選為空時(shí),需要及時(shí)告知用戶。
實(shí)驗(yàn)數(shù)據(jù)采用中文手機(jī)導(dǎo)購領(lǐng)域的對(duì)話語料庫。訓(xùn)練數(shù)據(jù)從多年的系統(tǒng)日志中整理得到,選取了516段對(duì)話過程沒出現(xiàn)系統(tǒng)錯(cuò)誤,并且包含有不含槽信息話語的對(duì)話段,用于模型訓(xùn)練及模型超參數(shù)調(diào)節(jié)。在訓(xùn)練集中,用戶話語4 938句,不含槽信息的話語為1 180句,占語料庫的23.89%。
測(cè)試數(shù)據(jù)采用13名測(cè)試人員測(cè)試產(chǎn)生的對(duì)話過程沒出現(xiàn)系統(tǒng)錯(cuò)誤,且包含不含槽信息話語的對(duì)話段(共159段),用于本文提出方法與研究進(jìn)展方法的評(píng)估和對(duì)比。訓(xùn)練和測(cè)試數(shù)據(jù)的總體統(tǒng)計(jì)結(jié)果如表3所示。
本文用于訓(xùn)練Word2Vector模型的數(shù)據(jù)是由中國(guó)中文信息學(xué)會(huì)社會(huì)媒體專委會(huì)提供的SMP2015微博數(shù)據(jù)集(SMP 2015 Weibo DataSet)。本文只使用了該數(shù)據(jù)集的一個(gè)子集(1.5G),該子集超過1 000萬條微博數(shù)據(jù),詞匯表的詞語數(shù)為519 734個(gè)。
表3 數(shù)據(jù)集的統(tǒng)計(jì)結(jié)果
系統(tǒng)動(dòng)作是系統(tǒng)根據(jù)當(dāng)前的上下文情況以及與用戶交互過程中可采用的對(duì)話行為,也是本文的end-to-end對(duì)話控制的輸出。系統(tǒng)確定了系統(tǒng)動(dòng)作之后,再結(jié)合一些來自數(shù)據(jù)庫的信息生成完整的系統(tǒng)應(yīng)答。
在當(dāng)前實(shí)驗(yàn)的中文手機(jī)導(dǎo)購SDS中,共有12種系統(tǒng)動(dòng)作(表4)。其中包括社交動(dòng)作的設(shè)計(jì),使得用戶對(duì)系統(tǒng)應(yīng)答的體驗(yàn)更加自然,如“問候語”、“閑聊結(jié)束語”等。而任務(wù)相關(guān)動(dòng)作設(shè)計(jì)的目的在于協(xié)助用戶進(jìn)行導(dǎo)購,如“主動(dòng)引導(dǎo)”、“推薦候選手機(jī)”等動(dòng)作。
表4 系統(tǒng)動(dòng)作(實(shí)驗(yàn)采用的手機(jī)導(dǎo)購SDS)
本文實(shí)驗(yàn)包括了CNN的特征選擇以及研究進(jìn)展方法的對(duì)比,實(shí)驗(yàn)中模型訓(xùn)練的參數(shù)調(diào)節(jié)均采用k-折(本文采用5折)交叉驗(yàn)證。
本文方法,融合“顯式”話語特征和“隱式”上下文信息的end-to-end混合編碼網(wǎng)絡(luò)(explicit and implicit context hybrid code network,EIC-HCN),對(duì)比的三種研究進(jìn)展方法如下:
(1) DA+DM: 該方法作為對(duì)比的傳統(tǒng)的管道式SDS方法,對(duì)話行為(DA)識(shí)別采用了Wang等人提出CNN-RF混合模型[21],對(duì)話管理(DM)采用POMDP進(jìn)行建模[14]。
(2) MemN2N: 采用了Bordes和Weston[2]提出的記憶網(wǎng)絡(luò)對(duì)SDS進(jìn)行建模,實(shí)現(xiàn)了SDS以end-to-end的方式進(jìn)行學(xué)習(xí)。
(3) CNN(BOC(N_utterances)): 采用了Severyn和Moschitti[19]的方法作為經(jīng)典的end-to-end模型的另一個(gè)代表,將原始的序列對(duì)話中的近N個(gè)用戶話語作為輸入,并最終輸出系統(tǒng)動(dòng)作的預(yù)測(cè)。在本文實(shí)驗(yàn)中,經(jīng)過5折的交叉驗(yàn)證,該對(duì)比方法選擇了N=3。
測(cè)試采用了Bordes和Weston[2]實(shí)驗(yàn)中的評(píng)估方法,對(duì)單回合和對(duì)話段兩個(gè)層面進(jìn)行評(píng)估。
目前針對(duì)口語對(duì)話系統(tǒng)性能的評(píng)價(jià)沒有一個(gè)統(tǒng)一標(biāo)準(zhǔn)[22]。有直接以人工標(biāo)準(zhǔn)(Gold-standard)作為評(píng)判[23],較為客觀。但由于特定用戶話語潛在存在不止一個(gè)合適的系統(tǒng)應(yīng)答動(dòng)作,所以偏向“嚴(yán)格”。也有采用主觀的評(píng)價(jià)。例如,人工對(duì)系統(tǒng)的預(yù)測(cè)結(jié)果進(jìn)行滿意度的評(píng)分[24-25],但這樣的做法容易受主觀性影響。也有其他研究工作為每一個(gè)用戶的請(qǐng)求定義了一個(gè)候選集[2, 26],若系統(tǒng)預(yù)測(cè)結(jié)果在候選集合里,則認(rèn)為是正確的,但人工定義這樣的候選集需要耗費(fèi)較多的人力資源。綜合已有的評(píng)價(jià)標(biāo)準(zhǔn),本文基于中文手機(jī)導(dǎo)購系統(tǒng)為背景,采用了以下的評(píng)判方法。
(1) 客觀評(píng)價(jià)
對(duì)測(cè)試集中每一句不含槽信息的用戶話語對(duì)應(yīng)的系統(tǒng)應(yīng)答的系統(tǒng)動(dòng)作進(jìn)行人工檢查確認(rèn),然后以人工標(biāo)準(zhǔn)(Gold-standard)作為評(píng)判,模型輸出和Gold-standard一致時(shí)為正確,不一致時(shí)為錯(cuò)誤。
(2) 主觀評(píng)價(jià)
對(duì)于不同方法預(yù)測(cè)的系統(tǒng)動(dòng)作,人工對(duì)系統(tǒng)的預(yù)測(cè)結(jié)果進(jìn)行滿意度的評(píng)價(jià)。滿意判為正確,不滿意的判為錯(cuò)誤。本文對(duì)以下三種情況判為不滿意(也即是錯(cuò)誤)。
① 答非所問。系統(tǒng)回答與用戶詢問存在邏輯或語義的錯(cuò)誤。如系統(tǒng)選擇“閑聊結(jié)束語”去應(yīng)答用戶的問候等。
② 違反上下文。系統(tǒng)應(yīng)答動(dòng)作與當(dāng)前用戶的歷史上下文相矛盾。如在“未推薦手機(jī)”的情況下,執(zhí)行“成交結(jié)束語”、“購買確認(rèn)”、“選擇其它手機(jī)”等動(dòng)作。
③ 態(tài)度消極。系統(tǒng)在應(yīng)對(duì)導(dǎo)購任務(wù)進(jìn)程采取消極的應(yīng)對(duì)動(dòng)作。具體表現(xiàn)如,在 “已推薦手機(jī)”的情況下沒有積極地向用戶做出“購買確認(rèn)”動(dòng)作;在滿足向用戶推薦手機(jī)的條件下未向用戶做出“推薦候選手機(jī)”動(dòng)作;或在導(dǎo)購任務(wù)未完成的條件下,多次持續(xù)地與用戶進(jìn)行任務(wù)無關(guān)的交談。
3.5.1 客觀評(píng)價(jià)
(1) 原始特征選擇
本文對(duì)比字袋(BOC)、詞袋(BOW)、Word2Vector(W2V)、position encoding(PE)[12]等不同CNN原始特征表達(dá)的效果。結(jié)果如表5所示。w2v特征表達(dá)中對(duì)句子字?jǐn)?shù)的句子編碼進(jìn)行驗(yàn)證。
從表 5 可看出,BOC和BOW的特征表達(dá)均優(yōu)于W2V和 PE 的特征表達(dá)。而字相比詞在 SDS領(lǐng)域中能夠更好地對(duì)句子特征進(jìn)行表達(dá),這也體現(xiàn)了 SDS 中話語口語化的特點(diǎn)。
表 5 不同原始特征識(shí)別效果
(2) 研究進(jìn)展方法對(duì)比(客觀評(píng)價(jià))
本文提出的方法與研究進(jìn)展方法對(duì)比結(jié)果如表6 所示。本文的方法選用了字作為原始特征,采用了字袋的向量表達(dá)方式(BOC)。MemN2N模型和CNN(BOC(N_utterances))模型采用原始的對(duì)話序列作為上下文。
表6 本文提出方法與研究進(jìn)展方法的對(duì)比(采用客觀評(píng)價(jià))
續(xù)表
從表6測(cè)試結(jié)果表明,本文提出的方法比傳統(tǒng)管道式模型(DA+DM)、記憶網(wǎng)絡(luò)模型MemN2N、以及經(jīng)典的end-to-end CNN模型CNN(BOC(N_utterances))在單回合正確率分別提高了27.40%、23.46%和16.78%;在對(duì)話段評(píng)估上,本文提出的方法比三者正確率分別提高了33.33%、34.59%和24.53%。這表明本文的方案能夠較好地解決不含槽信息話語end-to-end對(duì)話控制的挑戰(zhàn)。此外,雖然經(jīng)典的end-to-end模型在非任務(wù)領(lǐng)域有優(yōu)異的表現(xiàn),但在任務(wù)領(lǐng)域的性能并沒有顯著地超過管道式SDS模型。本文融入模型的“隱式”上下文信息有效地彌補(bǔ)了經(jīng)典end-to-end SDS在用戶對(duì)話上下文刻畫方面的不足。
3.5.2 主觀評(píng)價(jià)
(1) 研究進(jìn)展方法對(duì)比(主觀評(píng)價(jià))
我們進(jìn)一步以主觀評(píng)價(jià)為標(biāo)準(zhǔn),對(duì)比了本文提出的方法EIC-HCN與研究進(jìn)展方法,結(jié)果如表7所示。
表7 本文提出方法與研究進(jìn)展方法的對(duì)比(采用主觀評(píng)價(jià))
從表7可以看到,從主觀評(píng)價(jià)角度,所有模型的正確率(人工評(píng)價(jià)的系統(tǒng)動(dòng)作的滿意率)都得到一定程度的提升。尤其是管道式SDS取得了和兩個(gè)經(jīng)典end-to-end模型相當(dāng)?shù)膯位睾险_率。我們的模型取得了優(yōu)于對(duì)比方法的性能,正確率達(dá)到了接近90%。
(2) 細(xì)分錯(cuò)誤類別分析
表8給出了不同方法的單回合動(dòng)作預(yù)測(cè)錯(cuò)誤(也即是人工評(píng)價(jià)中的不滿意)分類,為了方便不同方法之間的橫向比較,統(tǒng)計(jì)數(shù)據(jù)采用了每種錯(cuò)誤類型的回合數(shù)占總回合數(shù)的比例。在具體的分析中,存在著同時(shí)滿足兩個(gè)或兩個(gè)以上錯(cuò)誤分類的例子,所以不同錯(cuò)誤分類的占比總和會(huì)略大于總錯(cuò)誤率。
表8不同方法的單回合錯(cuò)誤分類(比例為全部測(cè)試樣例的百分比)
方法答非所問/%違反上下文/%態(tài)度消極/%總錯(cuò)誤率/%DA+DM18.3211.997.7128.42MemN2N22.7716.614.1131.68CNN(BOC(N_utterances))19.0116.783.0826.20EIC-HCN(BOC)7.020.865.4812.33
從表8可以看出,在不同方法的錯(cuò)誤分類中,“答非所問”和“違反上下文”是錯(cuò)誤分類的主要組成部分。同時(shí),相比研究進(jìn)展方法,本文提出的方法在“答非所問”和“違反上下文”的錯(cuò)誤率得到明顯的減少,而“態(tài)度消極”需在系統(tǒng)任務(wù)和用戶體驗(yàn)感之間做出權(quán)衡,相比研究進(jìn)展方法,本文方法在該錯(cuò)誤分類中并沒有得到明顯的改善。
具體錯(cuò)誤分析如下:
(1) 答非所問。造成“答非所問”錯(cuò)誤的主要原因在于對(duì)用戶話語的語義理解失誤。MemN2N方案采用的記憶網(wǎng)絡(luò)并不能較好的結(jié)合用戶話語中字或詞之間的聯(lián)系,錯(cuò)誤最多。而CNN能夠通過卷積操作實(shí)現(xiàn)對(duì)用戶話語語義的有效提取,實(shí)驗(yàn)結(jié)果得到一定的改善。本文提出方案EIC-HCN(BOC)顯著地將該分類的錯(cuò)誤率降低到7.02%。
(2) 違反上下文。MemN2N和CNN(BOC(N_utterances))方案采用經(jīng)典的end-to-end模型通過原始對(duì)話序列去捕獲對(duì)話的上下文信息。兩個(gè)方案在該錯(cuò)誤分類占比分別為16.61%和17.78%,這說明記憶網(wǎng)絡(luò)和單純依靠“顯示”話語特征的CNN并不適應(yīng)長(zhǎng)距離的對(duì)話任務(wù)。傳統(tǒng)管道式SDS(DA+DM)和本文方法EIC-HCN(BOC)都采用了一些構(gòu)造性的上下文特征,能夠有效的克服上下文信息難以捕獲的問題。本文的方法則還避免了管道式模型的錯(cuò)誤傳遞。在該錯(cuò)誤分類中,本文方案將錯(cuò)誤率降低到0.86%。
(3) 態(tài)度消極。本文著重對(duì)“答非所問”和“違反上下文”錯(cuò)誤分類進(jìn)行研究和分析,這是因?yàn)榇蟛糠皱e(cuò)誤是由這兩類錯(cuò)誤引起的。在“態(tài)度消極”這個(gè)分類上,本文方法與研究進(jìn)展方法的實(shí)驗(yàn)結(jié)果并沒有顯著的差別,未來的工作會(huì)對(duì)該類別進(jìn)行研究。
為了有效地處理面向任務(wù)SDS中不含槽信息話語,本文提出了一種融合“顯式”話語特征和“隱式”上下文信息的end-to-end混合編碼網(wǎng)絡(luò)模型。在應(yīng)用CNN對(duì)“顯式”話語序列提取得到的特征表達(dá)的基礎(chǔ)上,通過構(gòu)造和捕獲對(duì)話序列中“隱式”的系統(tǒng)后臺(tái)上下文信息,進(jìn)一步豐富了系統(tǒng)動(dòng)作分類模型的特征表達(dá)。在中文手機(jī)導(dǎo)購領(lǐng)域SDS的測(cè)試表明,本文的方法取得了優(yōu)于研究進(jìn)展中管道式SDS、經(jīng)典的記憶網(wǎng)絡(luò)和CNN訓(xùn)練的end-to-end模型的應(yīng)用效果。在客觀評(píng)價(jià)和主觀評(píng)價(jià)兩方面,都取得了單回合準(zhǔn)確率和對(duì)話段準(zhǔn)確率的顯著性能提升。未來工作主要是完善“態(tài)度消極”錯(cuò)誤分類的改進(jìn)探索,進(jìn)一步豐富后臺(tái)系統(tǒng)上下文特征的構(gòu)造,以及采用AMT (amazon mechanical turk) 服務(wù)[27]進(jìn)行更大規(guī)模的測(cè)試。