向 露 朱軍楠 周 玉 ,3 宗成慶
任務型對話系統旨在通過對話交互的方式在有限的回合內幫助用戶完成特定的任務,比如導航、訂機票等.近年來,對話系統成為學術界和工業界關注的焦點.尤其是端到端任務型對話系統[1-5]引起了研究者廣泛的興趣,此類系統能夠接收用戶的輸入,并直接生成對應的回復.
隨著全球化的快速發展和跨境電子商務的普及,跨語言交流變得愈發頻繁.在此背景下,開發和部署跨語言的任務型對話系統已成為迫切需求.然而,目前的任務型對話系統主要使用特定的單語數據進行訓練.對于一種新的語言,須重新對該語言的對話數據進行收集和標注,這將耗費巨大的成本,同時使得系統的開發周期變長.因此,能否利用已有的單語對話系統構建跨語言系統,成為本文關注的焦點.
近年來,隨著深度學習技術的快速發展,機器翻譯技術取得了長足的進展,包括谷歌、百度和微軟在內的諸多互聯網公司都已經部署了各自的開源機器翻譯系統,這為跨語言對話系統的構建提供了便利.因此,本文借助已有的機器翻譯系統作為不同語言之間的橋梁,提出了 “翻譯-對話-回翻”的跨語言對話框架.如圖1 所示,該框架包括三個系統:“用戶語言(中)-源語言(英)”的機器翻譯系統、“源語言(英)”的對話系統和 “源語言(英)-用戶語言(中)”的機器翻譯系統.其工作流程包括三個步驟:1) 翻譯步驟,即采用 “用戶語言-源語言”機器翻譯系統將用戶的輸入翻譯成對話系統所支持的語言;2) 對話步驟,即對話系統根據步驟 1) 轉換得到的源語言句子生成回復;3) 回翻步驟,即采用 “源語言-用戶語言”機器翻譯系統將系統生成的源語言回復翻譯至用戶語言以反饋給用戶.

圖1 基于機器翻譯的跨語言對話系統Fig.1 Machine translation based cross-lingual dialogue system
本文所提出的跨語言對話框架可以充分利用現有的翻譯系統和單語對話數據,無須重新標注數據即可將單語的對話系統擴展至多種語言,便于實際開發與部署.
然而,當 “用戶語言-源語言”缺乏機器翻譯平行數據或機器翻譯平行數據的領域與任務型對話的領域存在顯著差異時,機器翻譯系統的結果不可避免地會引入各種干擾和錯誤.原始的對話系統通常是在干凈數據上進行訓練的,無法有效地處理機器翻譯系統所引入的噪聲,從而嚴重制約跨語言對話系統的質量.事實上,許多研究表明,大多數神經網絡系統對輸入的變化十分敏感,微小的輸入擾動可能會引起較大的輸出差異[6-9].因此,構建面向由機器翻譯所引入噪聲的魯棒性跨語言對話系統,對于提升跨語言對話服務的性能至關重要.
針對上述問題,本文提出了一種基于多粒度對抗訓練的魯棒跨語言對話系統構建方法,以提升跨語言對話系統對于多粒度翻譯噪聲數據的魯棒性.具體地,該方法首先利用 “翻譯-回翻”的方式,構造了詞匯、短語、句子三種粒度的噪聲對抗樣本.之后,該方法利用對抗訓練的方式學習噪聲無關的隱層向量表示,進而提升對話系統應對翻譯系統所引入噪聲的能力.本文提出的方法在 “中文到英語”和“德語到英語”兩種語言對上開展了實驗,實驗結果表明本文所提方法能夠在保持源語言性能的情況下,顯著提升跨語言場景下對話系統的性能.
任務型對話系統旨在通過對話交互幫助用戶完成特定任務.根據實現方式的不同,現有的任務型對話系統可以分為兩類:基于管道的系統和基于端到端的系統.基于管道的系統[10-11]由自然語言理解模塊(Spoken language understanding,SLU)[12-13]、對話管理模塊[14-16]和語言生成模塊[17]組成,每個模塊單獨設計,成本較高且存在誤差傳遞.為緩解管道式系統的缺點,研究人員提出了多種端到端對話系統[18-21].其中,Lei 等[21]提出了一種簡化的序列到序列的對話模型(Two stage copynet,TSCP),其核心思想是對上下文編碼后分為兩步進行解碼.該模型第一步根據上下文解碼出每個語義槽的對話狀態,第二步根據上下文以及前一步解碼出的對話狀態解碼出系統回復.這種兩階段解碼方式簡化了對話狀態追蹤模塊(Dialogue state tracking,DST),取得了較好的對話生成效果.本文將使用TSCP 作為圖1 所示跨語言對話框架中的單語對話系統.
目前的跨語言對話系統相關研究主要集中于管道式對話系統中某些模塊的跨語言遷移.針對SLU 模塊的遷移,García 等[22]和Calvo 等[23-24]提出通過不同的策略利用機器翻譯系統將源語言的SLU數據轉換成目標語言訓練數據,從而訓練相應的SLU 系統.Bai 等[25]使用強化學習進一步提升了SLU的語言遷移能力.除此之外,Chen 等[26]也對DST 的跨語言遷移問題展開了研究,并提出了一種用于DST跨語言遷移學習的 “教師-學生”框架.Schuster 等[27]則提出了一個多語言意圖識別和語義槽填充數據集,并探索了從資源充足語言遷移到資源稀少語言的不同策略.上述工作只關注對話系統的個別模塊,而本文著眼于整個跨語言對話系統的構建,直接使用機器翻譯系統將用戶話語翻譯成目標語言,然后與對話系統進行交互.
基于對抗學習提升系統魯棒性的方法已經被應用于多個自然語言處理任務,包括文本分類[28-29]、機器翻譯[30-32]、對話生成[33]等.其基本思想是通過構造對抗樣本對已訓練完備的網絡進行攻擊,從而調整網絡參數以提高魯棒性,使網絡能夠抵抗這些攻擊.Belinkov 等[30]通過在訓練數據中引入對抗樣本提升基于字符級別的翻譯模型的魯棒性.在對話領域,Tong 等[34]探討了生成式任務型對話系統的敏感性和穩定性問題.他們通過不同的策略生成對抗樣本,包括隨機交換、去掉停用詞、數據級改寫、生成式改寫、語法錯誤等,實驗結果證明利用對抗樣本進行訓練不僅可以提高原始模型的魯棒性,還可以提升在原始數據上的性能.不同于上述方法,本文所提方法能夠構建面向特定翻譯系統的噪聲,并利用對抗學習提升對話系統的魯棒性.
本文將TSCP[21]作為圖1 中的單語對話系統來評估所提方法的有效性.該系統的框架如圖2 所示.TSCP 提出了信念跨度(Belief span)以記錄對話系統每一輪的對話狀態.在此基礎上,TSCP 將任務型對話系統拆分為信念跨度生成和回復生成兩個任務,并通過一個序列到序列模型(Sequence to sequence,seq2seq)實現.具體而言,TSCP 將解碼劃分為兩階段.在第一個階段,生成一個信念跨度,以便于同知識庫進行交互,這一階段對應著對話狀態追蹤,即根據上下文解碼出每個語義槽的對話狀態.之后在第二個階段生成機器回復,即根據上下文及知識庫檢索結果解碼出系統回復.

圖2 TSCP 框架Fig.2 TSCP framework
一個多輪對話可以表示為{(B0R0U1;B1R1);(B1R1U2;B2R2);···;(Bt-1Rt-1Ut;Bt Rt)},其中Bt表示第t輪對話的狀態追蹤,即當前所涉及的所有語義槽信息,Bt僅由模型使用,對用戶不可見;Ut表示第t輪用戶的輸入;Rt為第t輪系統的回復;B0和R0初始化為空序列.
TSCP 的兩階段解碼可形式化表示如下:
第一階段,使用信念跨度Bt-1、系統回復Rt-1和當前用戶的輸入Ut,解碼生成當前的信念跨度Bt并對知識庫進行搜索,如式(1)所示

第二階段,根據知識庫搜索結果kt與解碼所得的信念跨度Bt對機器回復進行解碼,如式(2)所示

在具體實現的過程中,使用兩階段CopyNet[35]實現,以允許在生成信念跨度和機器回復時可以直接對輸入端的關鍵信息進行復制.
為提升跨語言場景下對話系統對機器翻譯步驟所引入噪聲的魯棒性,本文提出了一種基于多粒度對抗訓練的魯棒跨語言對話系統構建方法.具體而言,該方法包括多粒度對抗樣本的構造和對抗訓練兩步.
在跨語言場景下,對話系統所接收到的用戶輸入Ut是經過機器翻譯系統處理后的結果.然而,翻譯過程難免會引入一些噪聲,使得對話系統的性能受到一定程度的制約.為緩解該問題,本文將干凈的對話訓練數據轉換為包含機器翻譯噪聲的帶噪數據,從而使得對話系統能夠學習如何處理噪聲.
本文使用 “翻譯-回翻”技術生成包含翻譯噪聲的對話數據.假設對話系統所支持的語言定義為源語言S,用戶所使用的語言定義為用戶語言T,對話系統的訓練數據記作XS.首先,我們使用一個S →T的機器翻譯系統將訓練數據XS從語言S翻譯至語言T,之后使用一個T→S的機器翻譯系統進行反向翻譯,所獲得的數據記作.通過這種方法,可以生成一組數據.由于是由翻譯系統生成的,與原始數據XS相比,其中便引入了機器翻譯系統的噪聲和誤差.該數據是直接通過對句子級進行翻譯再回翻構造的,因此本文將這類數據記為句子級對抗樣本.
僅生成句子級對抗樣本在噪聲類型和數據多樣性上是不夠的,在很多情況下,噪聲的粒度是短語或詞匯級別的.因此,本文構造了詞匯級對抗樣本和短語級對抗樣本.具體的構造方法如圖3 所示,其中MT 表示機器翻譯系統,LS表示源語言句子,LT表示利用機器翻譯系統將LS進行翻譯得到的用戶語言句子,表示利用機器翻譯系統對LT進行回翻得到的句子.該框架分為兩步:第一步,借助機器翻譯系統和詞對齊,構造詞匯和短語兩種粒度的噪聲;第二步,利用構造的噪聲及對話系統訓練數據生成詞匯級和短語級兩種粒度的對抗樣本.

圖3 詞匯級和短語級對抗樣本生成框架Fig.3 The framework of word-level and phrase-level adversarial examples generation
詞匯和短語級噪聲構建.給定LS中的一個句子x={w1,w2,···,wn},首先利用機器翻譯將其翻譯至用戶語言,之后再利用機器翻譯將該句子回翻至源語言,從而獲取一批句對{ (x,x′)},其中x′包含了機器翻譯過程可能對原始句子x產生的變化.
本文借助統計機器翻譯的思想,利用{(x,x′)}構造詞匯級、短語級兩種粒度的噪聲.
對抗樣本生成.在得到詞匯噪聲和短語噪聲后,本文利用上述噪聲生成對應的對抗樣本,具體生成方法如下.
1) 詞匯級對抗樣本.本文使用詞匯級噪聲對原始用戶話語中的詞匯進行替換,從而在詞匯層面產生包含翻譯噪聲的用戶話語.為了保證替換之后生成的用戶話語語義不會發生改變,本文只允許對除了限定詞(如the、a、an、some、most、any、every)、人稱代詞(如she、hers、herself、he、him、himself、it)和情態動詞(如can、cannot、could、couldn't、must)之外的詞進行替換.這主要是因為替換限定詞、人稱代詞和情態動詞很容易導致陳述不一致甚至語義發生變化.對于其他詞匯,將從詞匯級噪聲中查找其對應的噪聲詞匯.對于每個用戶話語,隨機抽取一個滿足替換規則的單詞,并隨機從噪聲詞匯中選擇一個單詞對該單詞進行替換,例如將 “thenearestgrocery”替換成 “theclosestgrocery”.這樣可以為訓練數據中的每個原始語句隨機生成多個包含翻譯噪聲的用戶話語.
2) 短語級對抗樣本.類似于詞匯級對抗樣本生成,本文使用短語級噪聲對原始用戶話語中的短語進行替換,從而在短語層面產生包含翻譯噪聲的用戶話語.對于用戶話語,我們在短語級噪聲中查找用戶話語中的N元組(N-gram)及其對應的噪聲短語.對于用戶話語中的每個N元組,隨機抽取一個滿足替換規則的片段,并從候選噪聲短語中隨機選擇一個短語替換它,例如將 “where′s the nearestparking garage”替換成 “whereis the latest car park site”.
總體而言,本文所提多粒度對抗樣本構造方法如算法1 所示.

圖4 展示了一個多粒度對抗樣本實例,包括詞匯級對抗樣本、短語級對抗樣本和句子級對抗樣本.由該實例可以看出,通過本文所提的多粒度對抗樣本生成方法可以在詞匯、短語、句子級別生成更加豐富多樣的對抗樣本,從而為后續增強模型魯棒性奠定數據基礎.

圖4 多粒度對抗樣本實例Fig.4 An example of multi-granularity adversarial examples
在得到對抗樣本后,本文須利用上述對抗樣本提升跨語言對話系統的魯棒性.圖5 給出了本文所提對抗訓練的示意圖.給定干凈上下文x和包含擾動的上下文x′,對抗訓練旨在使得上下文編碼器輸出的隱層向量Hx和Hx′能夠盡量相似,同時要求解碼器端能夠輸出相同的信念跨度和應答語句.

圖5 對抗訓練結構框圖Fig.5 The structure of adversarial training
具體的對抗訓練優化目標如下:

其中,Lclean是對話系統原始的訓練目標,當輸入干凈上下文x時,解碼器能夠生成正確的信念跨度和應答語句;Lnoise則是包含擾動的上下文x′及其對應的信念跨度和應答語句之間的損失;Ladv則是鼓勵上下文編碼器能夠生成盡量一致的隱層向量.
上下文編碼器作為生成器G,引入一個判別器D來區分Hx和Hx′.上下文編碼器的目標是針對x和x′生成盡量相似的隱層向量,以混淆判別器D,而判別器D則盡量去區分這兩種隱層向量表示.G和D通過極小化極大算法進行訓練,其優化目標為:

本文采用多層感知機作為判別器,判別器根據輸入的隱層向量輸出分類分數,并嘗試將D(G(x))最大化,將D(G(x′)) 最小化.G和D的最終訓練目標是使得編碼器可以針對干凈數據x和噪聲數據x′進行相似編碼表示,從而使得判別器D無法區分干凈數據和噪聲數據的隱層向量表示.
本文在兩種測試場景下(如圖6 所示)對所提方法的有效性進行驗證:1) 跨語言測試 (Crosstest),在這種場景下,對話系統接收通過機器翻譯系統翻譯之后的語句作為輸入,以評估對抗訓練是否能夠讓對話模型更加魯棒;2) 源語言干凈測試(Mono-test),在這種場景下,對話系統接收原始干凈測試數據作為輸入,并評估對抗訓練是否能使得模型在源語言干凈測試數據上具備更好的性能表現.整體而言,本文的目標是提升跨語言對話系統的魯棒性,而該目標是以不損害對話系統在干凈數據上的性能為前提.本文認為不應該以降低在源語言上的系統性能為代價實現跨語言場景下的魯棒性提升.因此,本文旨在構造一個能夠滿足包括源語言及機器翻譯系統所支持的其他語言需求的對話系統.

圖6 兩種測試Fig.6 Two kinds of test
對話數據集.本文在CamRest676[3]和KVRET[18]兩個公開的任務型對話數據集上對本文所提方法進行評估.其中,CamRest676 包含了餐館預定單一領域的676 個對話;而KVRET 則是一個多領域的多輪對話數據集,包括日程規劃、天氣信息查詢和導航三個領域.本文遵循原始論文中的數據劃分方式,數據的詳細信息見表1.

表1 數據集統計信息Table 1 Statistics of datasets
為進行跨語言實驗,本文通過人工的方式將CamRest676 和KVRET 的測試集翻譯成中文.此外,為驗證在其他語言對上的有效性,本文還將KVRET 的測試集翻譯至德語.為進一步開展實驗,本文需要與上述兩種語言對相對應的機器翻譯系統,包括中英和德英雙向翻譯系統.
對話模型.本文使用Lei 等[21]提出的TSCP 作為單語基線對話系統.隱層向量和詞向量的維度d均設置為50 維.CamRest676 和KVRET 的詞表規模|V|分別為800 和1 400,min-batch 設置為32.本文使用Adam[38]優化器進行模型的參數更新,其學習率為0.003,衰減參數為0.5.在解碼過程中,CamRest676 和KVRET 均采用貪婪搜索策略(Greedy search).在訓練過程中采用提前終止法(Early stopping)提高訓練效率,在每一輪迭代過程中對上下文編碼器和判別器的參數進行同步更新.對抗性訓練過程中,CamRest676 和KVRET使用的詞表規模分別設置為1 800 和2 500.經過在驗證集上調參,CamRest676 和KVRET 上對抗訓練的超參數λ分別設置為0.2 和0.1.
機器翻譯系統.本文需要機器翻譯系統將用戶輸入從用戶語言翻譯至源語言,從而與對話系統進行交互.此外還需要利用機器翻譯系統構造三種粒度的噪聲對抗樣本.本文使用大約包含210 萬句對的LDC (Linguistic data consortium)雙語訓練數據對中英翻譯系統(ZH→EN) 和英中翻譯系統(EN→ZH)進行訓練;使用大約包含200 萬句對的德英雙語訓練數據對德英翻譯系統(DE→EN)和英德翻譯系統(EN→DE)進行訓練.上述翻譯系統均使用字節對編碼 (Byte pair encoding,BPE) 技術對訓練數據進行切分,學習30000 個融合操作,然后分別限制詞表為頻次最高的前30000 個亞詞.所有系統均采用transformer_base 設置.
評價指標.本文使用實體匹配率(Entity match rate,mat.)、成功率F1(SuccessF1) 和BLEU作為對話系統的三種自動評價指標.同時,與Mehri 等[39]類似,本文使用一個組合分數(combined score) 作為總體評價指標.該指標計算公式為:

中到英的跨語言實驗.為生成對抗樣本,首先需要構造對應粒度的噪聲.本文使用大約包含80萬句英語口語的數據集構造詞匯級和短語級噪聲.在詞對齊之后,保留雙向詞匯翻譯概率均大于0.01的詞對作為詞匯級噪聲,保留滿足條件的短語對及雙向短語翻譯概率均大于0.01 的短語對作為短語級噪聲.對于句子級噪聲,則直接將對話訓練數據中的用戶話語通過翻譯系統翻譯再回翻生成.本文使用以下幾種方法進行實驗對比.
1)隨機交換:通過隨機交換句子中兩個相鄰詞的位置生成對抗樣本,如 “Where is the nearest gas station?”和 “Where is the gas nearest station?”;
2)停用詞:通過刪除句子中的停用詞生成對抗樣本;
3)同義詞:通過同義詞典中的同義詞替換句子中的詞生成對抗樣本,本文使用WordNet 查找同義詞.
表2 和表3 分別給出了使用不同方法生成的對抗樣本在CamRest676 和KVRET 上的Cross-test和Mono-test 的實驗結果.通過該實驗結果,可以得出以下結論.

表2 CamRest676 數據集上的實驗結果Table 2 Experimental results on CamRest676

表3 KVRET 數據集上的實驗結果Table 3 Experimental results on KVRET
1) 機器翻譯的噪聲對于對話系統性能的影響很大.通過表2 和表3 中基線系統在跨語言測試集和源語言測試集上的性能表現(表2 第0 行和表3第0 行),可以發現當使用機器翻譯作為橋梁翻譯用戶語句,再輸入到對話系統后,對話系統的性能下降明顯.在CamRest676 上,對話系統的性能從1.0767下降至0.7361;在KVRET 上,對話系統性能從1.0034下降至0.7382.
2) 本文方法能夠生成與翻譯噪聲更相關的對抗樣本,對于對話系統性能的提升更加明顯.在CamRest676 上,相比于隨機交換、停用詞、同義詞,本文方法在跨語言測試集上的效果提升更加顯著(表2 第1~3 行和第4~6 行),最高可提升至0.8231.在KVRET 上也有相同的效果(表3 第1~3行和第4~6 行).當將詞匯-短語-句子三種級別的對抗樣本集成訓練后,對話系統在跨語言測試集上取得了最佳效果(表2 第7 行和表3 第7 行).
3) 本文方法不僅可以提升對話系統處理跨語言輸入的性能,在源語言上還能取得與原始系統相當的水平.在某些情況下,還能超過原始系統處理源語言的性能.在CamRest676 上,使用三種級別對抗樣本集成訓練后,對話系統的性能可從1.0767提升至1.0918 (表2 第0 行和第7 行).在KVRET上,使用三種級別對抗樣本集成訓練后,相較于原始系統,對話系統性能均有一定提升,最高可從1.0034 提升至1.0431.
德到英的跨語言實驗.本文在KVRET 數據集上還進行了德語至英語的跨語言實驗,實驗結果如表4 所示.實驗設置與中文到英語的設置相同.通過實驗結果可以看出,德語到英語的跨語言性能與中文到英語的性能具有相同的趨勢.使用本文提出的三種粒度的對抗樣本,可以顯著提升對話系統在跨語言場景下的性能,同時還能保證對話系統在源語言上的性能.

表4 KVRET 數據集上德到英的跨語言實驗結果Table 4 Cross-lingual experimental results from German to English on KVRET
跨語言對話實驗結果實例分析.表5 展示了三個中文到英語的跨語言對話實驗結果實例,其中實例1 來自CamRest676 數據集,實例2 和實例3 來自KVRET 數據集.表5 分別展示了這三個實例在基線系統和本文所提多粒度方法上的跨語言實驗結果(Cross-test)和源語言實驗結果(Mono-test).在跨語言實驗中,用戶輸入中文話語,經過翻譯系統翻譯成英語話語后,輸入到英語單語對話系統中與對話系統進行交互,生成回復.從這三個實例可以看出,機器翻譯的過程會引入一些噪聲,使得對話系統無法正常工作.比如實例1 中,機器翻譯系統將用戶話語中的 “價位適中”翻譯成 “appropriate price”,而基線對話系統能夠處理的是 “moderately priced”,當輸入翻譯系統生成的用戶話語后,對話系統不能正常回復.使用本文所提多粒度對抗訓練方法更新對話系統后,由于從詞匯-短語-句子三個粒度構造了面向機器翻譯噪聲的對抗樣本,使得對話系統能夠更好地處理由機器翻譯引入的噪聲.除此之外,我們可以發現,本文所提方法還能一定程度上提升對話系統生成回復的質量(實例1 和實例3).

表5 跨語言對話實驗結果實例Table 5 Examples of cross-lingual experimental results
翻譯系統累計錯誤分析.對話系統接受翻譯系統的翻譯結果作為輸入并生成回復.為對比翻譯噪聲對于對話系統性能的影響,本文利用CamRest676測試集對翻譯系統引入的噪聲進行了詳細分析.從CamRest676 測試集中隨機選取60 個對話數據,人工分析了英語測試集和經過中英翻譯系統翻譯生成的英語測試集之間的區別,以及這些區別對于對話系統性能的影響.這60 個對話總共包含241 輪用戶輸入,去掉用戶表示感謝的輪數之后,本文總共分析了177 輪.通過對數據集進行分析,將翻譯現象歸類為以下4 種類別.表6 分別給出了類別1、類別2 和類別3 的實例.

表6 翻譯現象類別實例Table 6 Categories of translation phenomena
類別1:關鍵詞語義錯誤.這里關鍵詞指的是與對話系統信念跨度相關的詞匯.
類別2:關鍵詞表達不一致.
類別3:未登錄非關鍵詞.這里的未登錄非關鍵詞指的是當關鍵詞翻譯正確時,不在基線系統詞表中的詞.
類別4:其他.
本文對177 輪經過機器翻譯系統翻譯之后的用戶話語進行分析,該數據在以上4 種類別上的分布情況如表7 所示.

表7 翻譯系統噪聲類型分析Table 7 Noise type analysis of machine translation
基線系統和本文所提多粒度方法在這4 個類別上的性能如表8 所示.從基線系統在跨語言測試和源語言測試上的表現可以發現,這4 個類別的翻譯現象對于單語對話系統的性能都是有影響的.根據性能下降的程度可以發現,類別1 的影響 > 類別2的影響 > 類別3 的影響 > 類別4 的影響.這主要是由于關鍵詞對于信念跨度和回復生成都非常重要,關鍵詞翻譯錯誤會導致對話系統難以正常工作.而類別3 性能下降的主要原因是這些非關鍵詞是未登錄詞,也會對單語對話系統的性能造成一定的影響.

表8 4 種翻譯現象上的實驗結果Table 8 Experimental results on four translation phenomena
從本文所提方法的實驗結果可以看出,本文所提方法主要提升了類別1 和類別2 的性能,而這兩種類別也是對對話系統性能影響最大的.后續可以通過有針對性地生成更多的多粒度對抗樣本來提升對話系統處理類別3 和類別4 的能力.因此,本文所提多粒度對抗訓練方法主要通過在詞、短語、句子三個粒度生成針對機器翻譯噪聲的對抗樣本,并利用對抗樣本更新對話系統,使得對話系統能夠更好地處理由翻譯系統翻譯生成的話語.
在之前的實驗中,本文利用TSCP 作為單語基線對話系統進行實驗,驗證了本文所提出的多粒度對抗樣本及對抗訓練的有效性.為進一步驗證本文所提方法的有效性,本文還使用了以下兩個端到端任務型對話系統作為單語基線對話系統進行實驗.
1) SEDST[40]:該模型與TSCP 具有相同的模型結構.所不同的是,該模型對信念跨度的訓練引入了后驗正則化,使得狀態追蹤的訓練更加穩定.
2) LABES-S2S[41]:該模型是一個概率對話模型,其中信念狀態(Belief states)使用離散隱變量進行表示,并與系統響應進行聯合建模.具體實現過程中,使用了兩階段序列到序列方法.
本文在CamRest676 數據集上進行了中文到英語的跨語言實驗,實驗結果如表9 所示.其中,第0行和第1 行顯示的是使用SEDST 作為單語基線對話系統的實驗結果,第2 行和第3 行顯示的是使用LABES-S2S 作為單語基線對話系統的實驗結果.實驗結果表明,使用本文提出的三種粒度的對抗樣本,可以顯著提升對話系統在跨語言場景下的性能,同時還能保證對話系統在源語言上的性能.

表9 CamRest676 數據集上使用其他單語基線對話系統的跨語言實驗結果Table 9 Cross-lingual experimental results using other monolingual baseline dialogue systems on CamRest676
本文提出了面向跨語言對話系統的多粒度對抗訓練的方法,通過機器翻譯系統和源語言對話數據構造詞匯-短語-句子三種粒度的噪聲數據,并利用對抗訓練提升對話系統在跨語言場景下的魯棒性.在CamRest676 和KVRET 數據集上的實驗結果驗證了本文所提方法的有效性,本文方法不僅可以提升對話系統在跨語言場景下的魯棒性,還能提升對話系統在干凈數據下的性能.