Dialogue System Survey——Non-task-oriented 翻譯

論文地址
參考文獻請查看論文。

無任務導向對話系統

與旨在爲用戶完成特定任務的任務導向對話系統不同,無任務導向對話系統(也稱爲聊天機器人)集中於在多領域中與人類交談[64]。總體上,聊天機器人有生成方法generative method或者基於檢索的方法retrieval-based method。生成模型可以生成在語料庫corpus中從未出現過的、更爲合理的回覆,而檢索方法更注重流暢、信息豐富的回覆[30],因爲它們可以使用回覆選擇算法response selection algorithm從語料庫中選擇合適於當前對話的回覆。在之後的部分中,我們首先探索近年來的最熱門的話題之一——神經生成模型,討論了他們的缺點和提升可能性。之後,我們介紹了在檢索模型中深度學習取得的成就。

1. 神經生成模型

近年來,諸如推特、reddit等社交媒體網站存在大量的對話式交換,從而發展了數據驅動模型data-driven model。[64]給出了一種生成概率模型,建立在基於短語基礎上的統計機器翻譯statistical machine translation[118],去模擬微博上的對話。它視生成回覆問題爲翻譯問題,將一條微博翻譯成一個回覆。但是,生成回覆比不同語言之間的翻譯更難。很大程度上是由於可行的回覆範圍過廣,以及發佈微博和回覆之間缺乏短語校準phrase alignment。深度學習在機器翻譯中的成功應用,即神經機器翻譯,激發了神經生成對話系統的研究熱情。
在以下小節中,我們首先介紹序列到序列模型,爲神經生成模型的基礎。然後,我們討論一些熱門研究主題,包括合併對話上下文、改善回覆多樣性、對話題和特點進行建模、
利用外部知識庫、互動學習與評估。

1.1 序列到序列模型

給定一個源序列(信息)X=(x1,x2,...,xT)X=(x_1,x_2,...,x_T),包括TT個單詞和一個長度爲TT'的目標序列(回覆)Y=(y1,y2,...,yT)Y=(y_1,y_2,...,y_{T'}),該模型使YYXX爲條件的生成條件概率p(y1,...,yTx1,...,xT)p(y_1,...,y_{T'}|x_1,...,x_T)最大化。具體來說,一個序列到序列模型(或稱Seq2Seq)使用了編碼-解碼encoder-decoder結構。圖1爲這種結構的總體闡述。編碼器一個單詞一個單詞地讀XX,通過一個遞歸神經網絡RNN將其表徵爲一個上下文向量cc,解碼器以cc爲輸入,估算YY的生成概率。編碼器RNN通過下式計算上下文向量ccht=f(xt,ht1)\bold{h_t}=f(x_t,\bold{h}_{t-1})其中,ht\bold{h}_t爲時間步長tt時的隱藏狀態,ff是一個非線性函數,比如長短時間記憶單元(LSTM)[27]或者門控循環單元(GRU)[12],cc是與最後一個單詞hT\bold{h}_T對應的隱藏狀態。解碼器是標準的RNN語言模型,帶有附加的條件上下文向量c\bold{c}。計算每個時間tt候選單詞的概率分佈pt\bold{p}_t爲:st=f(yt1,st1,c)\bold{s}_t=f(y_{t-1},\bold{s}_{t-1},\bold{c})pt=softmax(st,yt1)\bold{p}_t=softmax(\bold{s}_t,y_{t-1})其中st\bold{s}_t是解碼器RNN在時間tt的隱藏狀態,yt1y_{t1}是響應序列中時間t1t1處的單詞。Seq2Seq的目標函數定義爲[5]:p((y1,...yTx1,...xT)=p(y1c)t=2Tp(ytc,y1,...,yt1))p((y_1,...y_{T'}|x_1,...x_T)=p(y_1|c)\prod_{t=2}^{T'}p(y_t|\bold{c},y_1,...,y_{t-1}))然後通過注意力機制提高了性能,即YY中的每個單詞都以不同的上下文向量c\bold{c}爲條件,觀察到YY中的每個單詞可能與xx中的不同部分相關。yiy_i對應於上下文向量ci\bold{c}_ici\bold{c}_i是編碼器隱藏狀態h1,...,hT\bold{h}_1,...,\bold{h}_T的加權平均:ci=j=1Tαijhj\bold{c}_i=\sum_{j=1}^{T}\alpha_{ij}\bold{h}_j其中,αi,j\alpha_{i,j}由下式計算:α=exp(eij)k=1Texp(eik)\alpha=\frac{exp(e_{ij})}{\sum_{k=1}^{T}exp(e_{ik})}
eij=g(st1,hj)e_{ij}=g(\bold{s}_{t-1},\bold{h}_j)其中,gg是一個多層感知器。
圖1
[71]應用遞歸神經網絡編解碼器框架[12]在Twitter式微博客網站上生成響應,而[87]使用了[50]中描述的類似模型。通常,這些模型利用神經網絡來表示對話歷史併產生適當的迴應。這樣的模型能夠利用大量數據來學習有意義的自然語言表示形式和生成策略,同時需要最少的領域知識和人力工作。

1.2 對話上下文

結合上文信息的能力是構建對話系統的關鍵,該對話系統可以使對話保持活躍和更高的參與度。[77]通過連續表達或嵌入單詞和短語來應對整個對話歷史,從而解決了上下文敏感響應生成的挑戰。響應作爲RNN語言模型[52]生成,與[12]中的解碼器相同。[68]使用了層次模型,首先捕獲了單個話語的含義,然後將它們整合爲語篇。[109]擴展了具有注意機制[5]的層次結構,以分別單詞級別和表達級別中,強調錶達內部和表達之間的重要部分。[82]在現有方法(包括非分層模型和分層模型)之間進行了系統性的比較,並提出了一種變體,該變體根據上下文查詢的相關性對上下文進行加權。它發現(1)分層RNN通常要勝過非分層RNN,並且(2)利用上下文信息,神經網絡往往會生成更長,更有意義和多樣化的回覆。

1.3 回覆多樣性

當前序列到序列的對話系統中的一個挑戰性問題是,它們往往會產生瑣碎的或非置信的、普遍相關而無意義的響應,這些響應通常涉及一些高頻短語,諸如“我不知道”或者“我很好”[77;87;68]。這種行爲可以歸因於對話數據集中的通用響應的相對較高頻率,諸如“我不知道”這樣的短語,而信息量更大的替代響應則相對稀疏。應對此類挑戰的一種合適的方法是找到更好的目標函數。[38]指出,當輸入給定、優化輸出可能性時,神經模型會給“安全回覆”分配更高的可能性。他們使用了最大交互信息maximum mutual information(MMI)作爲優化目標,這是最早在語音識別中引入的[6;9]。它測量了輸入和輸出之間的相互依賴性,其中考慮了響應對消息的反相關性。[114]將逆文本頻率指數inverse document frequency(IDF)[65]納入訓練過程中,以測量響應多樣性。
一些研究意識到解碼過程是冗餘候選響應的另一個來源。[86;72;42]認識到波束搜索——一種近似推理算法,用於解碼神經序列模型的輸出序列——在光束中生成候選時缺乏多樣性。[86]使用一個不相似項dissimilarity term測量了候選序列之間的不相似性,從而增強了波束搜索目標。[72]引入了隨機波束搜索過程,而[42]爲波束搜索評分添加了一個附加項,以懲罰搜索中同一父節點的同級擴展。[38;77;72]進一步執行了具有全局功能的重新排名,以避免產生冗餘dull或通用generic的響應。[57]推測,問題不僅出現在解碼和響應頻率的過程中,而消息本身可能缺乏足夠的信息以進行重放。它提議使用逐點交互信息pointwise mutual information(PMI)將名詞作爲關鍵字預測,反映出回覆的要點,然後生成包含給定關鍵字的回覆。
另一系列工作着重於通過引入隨機潛在變量來產生更多不同的輸出。他們證明自然對話不是確定性的——對同一條信息的回覆可能因人而異。但是,現有回覆是從確定性編碼器-解碼器模型中採樣的。通過引入潛在變量,這些模型具有以下優點,在生成回覆時,他們可以通過先採樣潛在變量的分佈來採樣來自分佈的響應,然後確定地解碼。[11]提出了一個一次性對話回覆的潛在變量模型。該模型在解碼器P(Yz,X)P(Y|z,X)中包含隨機成分zz,其中zz是按照變分自動編碼器框架[34;33;75]計算的。[69]將潛在變量引入了分層對話建模框架[68],其中潛在變量旨在做出諸如主題或情感之類的高級決策。[73]將潛在變量的條件設爲顯式屬性,以使潛在變量更具可解釋性。這些屬性可以手動分配或自動檢測,例如主題和個性。

1.4 主題和個性

學習對話的內在屬性是提高對話多樣性並確保一致性的另一種方法。在不同的屬性中,主題和個性得到了廣泛的探索。
[108]注意到人們經常將對話與主題相關的概念聯繫起來,並根據這些概念做出迴應。他們使用Twitter LDA模型獲取輸入的主題,將主題信息和輸入表徵喂進一個聯合注意模塊中,並生成與主題相關的響應。在[107]中,解碼器的少量改進已取得了較好的結果。[13]對該問題進行了更徹底的概括,他們將對話中的每個表述歸爲一個域,並相應地生成下一個表述的域和內容。[67]對高級粗略令牌序列high-level coarse token sequence和對話生成進行了顯式建模,其中粗略令牌序列旨在利用高級語義。他們利用名詞和活動實體來表示粗略序列。
[122]將情感嵌入到生成模型中,並在困惑perplexity中取得了良好的表現。[3]從三個方面增強了產生豐富情感反應的模型:結合認知工程情感詞嵌入,通過影響受限的目標函數來增加損失目標,在不同的波束搜索推理過程中注入情感不相似性[86]。[61]爲系統提供了一個具有配置文件的身份,以便系統可以始終如一地回答個性化問題。[39]進一步考慮了收件人的信息,以創建一個更真實的聊天機器人。由於訓練數據來自不同說話者的不一致性,[119]提出了一種兩階段訓練方法,該方法使用大規模數據初始化模型,然後微調模型以生成個性化響應。[55]使用轉移強化學習來消除不一致之處。

1.5 外部知識庫

人類對話和對話系統之間的重要區別在於它是否與現實相結合。合併外部知識庫knowledge base(KB)是彌合對話系統與人之間背景知識差距的一種有可能的方法。
記憶網絡是一種處理知識庫中常見問題的經典方法。因此,將其應用於生成對話變得非常直截了當。[22]在此基礎上進行了嘗試,並在開放域對話中取得了良好的表現。[88]還通過將CNN嵌入和RNN嵌入耦合到多模態空間中來研究具有背景知識的開放域對話,並在困惑度中取得了進展。一種類似的任務是根據外部知識爲問題生成答案。與知識庫中元組檢索的一般方法不同,[116]在生成過程中將知識庫中的單詞與常見單詞一起使用。實證研究表明,所提出的模型能夠通過參考知識庫中的事實,爲問題提供自然而正確的答案。

1.6 互動對話學習

通過互動來學習是對話系統的最終目標之一。[43]模擬兩個虛擬代理之間的對話。他們定義了簡單的啓發式近似法來對錶現良好對話進行獎勵:良好的對話具有前瞻性[1]或互動性(轉彎表示將來的一次轉彎),內容豐富且連貫。編解碼器RNN的參數定義了一個無限動作空間上的策略,該動作空間包含所有可能的表達。該代理通過使用策略梯度方法從正在進行的對話模擬中優化長期開發人員定義的獎勵來學習策略[104],而不使用標準SEQ2SEQ模型中定義的MLE目標。[40]嘗試進一步提高機器人從交互中學習的能力。通過在文本和數字反饋上使用策略學習和前向預測,該模型可以通過(半)在線方式與人互動來改善自身。與其使用手寫獎勵函數進行在線強化學習,[4]通過反覆讓人類選擇KK個回覆之一來進行在線的循環式主動學習,由離線的受過監督的預訓練對話代理生成,作爲“最佳”回覆,然後響應選定的回覆。該網絡還通過聯合交叉熵損失函數進行訓練。
由於大多數人類受訪者在不確定答案時可能會要求澄清或提示,因此讓機器人擁有這種能力是很自然的。[41]定義了三種機器人在回答時遇到問題的情況。通過比較“不使用提問方式”的實驗結果,該方法在某些情況下有了很大的改進。[37]探索了有關談判對話的任務。由於傳統的序列到序列模型模擬了人類對話,但未能優化特定目標,因此這項工作採取了目標導向的訓練和解碼方法,並展示了有價值的前景。

1.7 評估

評估所生成回覆的質量是對話回覆生成系統的重要方面[46]。可以基於人工生成的監督信號(例如任務完成測試或用戶滿意度分數)評估任務導向的對話系統[89;56;31],但是,由於回覆多樣性高,因此自動評估非任務導向的對話系統的回覆質量仍然是一個懸而未決的問題[2]。儘管事實上單詞重疊度量指標(例如BLEU,METEOR和ROUGE)已被廣泛用於評估生成的回覆,而且詞嵌入度量標準能夠顯著地區分多個數據集的基線和最新模型,[46]發現這些度量標準以及從詞嵌入模型(如Word2Vec[53])衍生的詞嵌入度量標準與人類判斷力之間的關聯性很弱或根本沒有關聯。[80]提出使用兩個神經網絡模型來評估一系列輪次特徵(turn-level feature),以評估對話的成功率。[47]使用RNN將上下文、真實回覆和候選回覆編碼爲矢量表示,然後使用線性變換空間中矢量之間的點積計算得分。[81]結合了參考和未參考指標,前者通過單詞嵌入來測量回復和真實答案之間的相似性,而後者則通過訓練最大邊距目標函數對回覆和語句之間的相關性進行評分,其中否定回答是隨機抽樣。
一種來自圖靈測試[85]的非常有前途的想法是,使用評估程序將機器生成的文本與人工生成的文本區分開。[32]和[10]探索了對抗性評估模型[8],該模型基於區分自動生成的回覆與人類回覆的難易程度來打分,而[44]直接在生成對話中應用對抗學習[24;16]。

2. 基於檢索的方法

基於檢索的方法從候選回覆中選擇一個回覆。基於檢索的方法的關鍵是信息和回覆之間的匹配。匹配算法必須克服信息和回覆之間的語義鴻溝[28]。

2.1 單輪對話回覆匹配

基於檢索的聊天機器人的早期研究主要集中在單回合會話的回覆選擇[91],其中僅使用給定信息來選擇適當的回覆。通常,將上下文和候選回覆分別編碼爲一個向量,然後基於這兩個向量計算匹配分數。假設x\bold{x}是信息的向量表示,而y\bold{y}對應於回覆的向量表示,x\bold{x}y\bold{y}之間的匹配函數可以像雙線性匹配一樣簡單:match(x,y)=xTAymatch(\bold{x},\bold{y})=\bold{x}^T\bold{A}\bold{y}其中A\bold{A}是預先決定的矩陣,或更復雜的矩陣。[49]提出了一種基於DNN的短文本響應選擇匹配模型,並結合了結構中的局部性和內在層次性。[28]通過使用深度卷積神經網絡結構來學習信息和回覆的表示,或直接學習兩個句子的交互表示,然後使用多層感知器來計算匹配分數,從而改進了模型。[92]提取依賴樹匹配模式,並將其用作深度前饋神經網絡的稀疏獨熱輸入sparse one-hot input,以進行上下文和回覆之間的匹配。[105]將Twitter LDA模型[121]生成的主題向量合併到基於CNN的結構中,以增強具有豐富內容的回覆。

2.2 多輪對話回覆匹配

近年來,基於多回合檢索的對話越來越受到關注。在多輪迴複選擇中,將當前消息和先前信息作爲輸入。該模型選擇自然且與整個上下文相關的回覆。重要的是要識別以前的話語中的重要信息並對話語關係正確建模以確保對話的一致性。[48]通過基於RNN、LSTM的結構分別將上下文(所有先前話語和當前消息的連接)和候選回覆編碼爲上下文向量和回覆向量,然後基於這兩個向量計算匹配度得分。[110]以不同的策略選擇了先前的信息,並將其與當前的信息結合起來,形成了一個重新形成的語境。[124]不僅對一般單詞級別的上下文向量,而且還對錶述級別的上下文向量進行了上下文回覆匹配。[106]通過使用卷積神經網絡在多個粒度級別上將上下文中的每個信息與回覆進行匹配,進一步利用了表述關係utterance relationship和上下文信息contextual information,然後通過遞歸神經網絡按時間順序累積向量,對錶述之間的關係進行建模。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章