Neural Approaches to Conversational AI Question Answering(問答,任務型對話,閒聊)

 

 

摘要

本文概述了最近幾年開發的對話式AI神經方法。 我們將對話系統分爲三類:(1)問答代理,(2)面向任務的對話代理和(3)聊天機器人。 對於每個類別,我們將使用特定的系統和模型作爲案例研究,對當前最先進的神經方法進行回顧,畫出它們與傳統方法之間的聯繫,並討論已取得的進展和仍面臨的挑戰。 

Chapter 1 Introduction

開發一種智能對話系統1,不僅可以模擬人類對話,還可以回答有關電影明星的最新消息到愛因斯坦的相對論等主題的問題,並完成諸如旅行計劃之類的複雜任務,這是該國運行時間最長的目標之一AI。直到最近,這個目標仍然遙不可及。但是,現在,隨着大量的對話數據可用於培訓,並且在深度學習(DL)和強化學習(RL)中的突破被應用到了對話AI中,我們在學術研究界和業界都看到了可喜的成果。
會話式AI是自然用戶界面的基礎。這是一個快速發展的領域,吸引了自然語言處理(NLP),信息檢索(IR)和機器學習(ML)社區的許多研究人員。例如,SIGIR 2018創建了一條人工智能,語義學和對話的新軌道,以橋接AI和IR方面的研究,特別是針對問題解答(QA),深度語義以及與智能代理的對話。
近年來,有關深度學習和對話系統的小型教程和調查論文行業興起。 Yih等。 (2015b,2016);高(2017)回顧了針對IR和NLP任務廣泛的深度學習方法,包括對話。 Chen等。 (2017e)提出了有關對話的教程,重點是面向任務的代理。 Serban等。 (2015年; 2018年)調查了可用於發展對話主體的公共對話數據集。 Chen等。 (2017b)回顧了流行的用於對話的深度神經網絡模型,重點是有監督的學習方法。目前的工作大大擴展了Chen等人的研究範圍。 (2017b); Serban等。 (2015)通過超越數據和監督學習來提供我們認爲是針對對話AI的神經方法的首次調查,針對NLP和IR受衆。2其貢獻是:

•我們對最近幾年開發的對話式AI神經方法進行了全面調查,涵蓋了QA,面向任務和社交機器人,並具有最佳決策的統一視圖。
•我們在現代神經方法和傳統方法之間建立了聯繫,使我們能夠更好地瞭解研究的原因和方式,以及如何繼續前進。
•我們提出了使用監督學習和強化學習來培訓對話代理的最新方法。

•我們勾勒出了由研究團體開發並在行業中發佈的對話系統的概況,並通過案例研究展示了已取得的進展以及我們仍面臨的挑戰。

1.1 Who Should Read this Paper?

本文基於2018年SIGIR和ACL大會(Gao等人,2018a,b)上提供的教程,其中IR和NLP社區是主要目標受衆。 但是,具有其他背景(例如機器學習)的觀衆也將發現它是具有大量指針的對話式AI的無障礙入門,尤其是最近開發的神經方法。
我們希望本文能夠爲學生,研究人員和軟件開發人員提供寶貴的資源。 它提供了一個統一的視圖,並詳細介紹了理解和創建現代對話代理所需的重要思想和見解,這將有助於以看起來自然和直觀的方式使數百萬用戶訪問世界知識和服務。
該調查的結構如下:

•本章的其餘部分介紹了對話任務,並提供了一個統一的視圖,其中將開放域對話表述爲最佳決策過程。
•第2章介紹了基本的數學工具和機器學習概念,並回顧了深度學習和強化學習技術的最新進展,這是開發神經對話代理的基礎。
•第3章介紹了問題解答(QA)代理,重點介紹了基於知識的QA和機器閱讀理解(MRC)的神經模型。
•第4章介紹了面向任務的對話代理,着重於將深度強化學習應用於對話管理。
•第5章介紹社交聊天機器人,重點介紹完全數據驅動的神經方法,以端對端地生成對話響應。
•第6章簡要回顧了行業中的幾種對話系統。
•第7章在本文的結尾部分討論了研究趨勢。

1.2 Dialogue: What Kinds of Problems?

圖1.1顯示了制定業務決策過程中的人與人對話。該示例說明了對話系統希望解決的各種問題:
•問題解答:代理需要根據從各種數據源(包括文本集合(如Web文檔)和預編譯的知識庫,如銷售和營銷數據集)中獲得的豐富知識,爲用戶查詢提供簡潔,直接的答案,如圖所示。在圖1.1中將3變爲5。
•任務完成:座席需要完成用戶任務,從餐館預訂到會議安排(例如,圖1.1中的6到7號彎),以及商務旅行計劃。
•社交聊天:座席需要與用戶無縫且適當地對話(例如通過圖靈測試測得的人),並提供有用的建議(例如,圖1.1中的1至2)。
可以設想,上述對話可以由一組代理(也稱爲機器人)共同完成,每個代理都旨在解決特定類型的任務,例如QA機器人,任務完成機器人,社交聊天機器人。根據是否進行對話以幫助用戶完成特定任務(例如,獲取查詢的答案或安排會議),這些漫遊器可以分爲兩類:面向任務和聊天。
當今市場上大多數流行的個人助理,例如Amazon Alexa,Apple Siri,Google Home和Microsoft Cortana,都是面向任務的機器人。這些只能處理相對簡單的任務,例如報告天氣和請求歌曲。聊天對話機器人的一個示例是Microsoft XiaoIce。建立對話代理程序以完成如圖1.1所示的複雜任務,對於IR和NLP社區以及AI來說,仍然是最根本的挑戰之一。
典型的面向任務的對話代理由四個模塊組成,如圖1.2(上圖)所示:(1)自然語言理解(NLU)模塊,用於識別用戶意圖並提取相關信息; (2)狀態跟蹤器,用於跟蹤對話狀態,以捕獲到目前爲止會話中的所有基本信息; (3)一種對話策略,可根據當前狀態選擇下一步操作; (4)自然語言生成(NLG)模塊,用於將主體動作轉換爲自然語言響應。近年來,趨勢是通過使用深度神經網絡統一這些模塊來開發完全數據驅動的系統,該神經網絡將用戶輸入直接映射到代理輸出,如圖1.2(底部)所示。

大多數面向任務的機器人都是使用模塊化系統實現的,該機器人通常可以訪問外部數據庫,以在該數據庫上查詢完成任務的信息(Young等,2013; Tur and De Mori,2011)。 另一方面,社交聊天機器人通常使用單一(非模塊化)系統來實現。 由於社交聊天機器人的主要目標是通過情感聯繫而不是完成特定任務而成爲人類的AI伴侶,因此通常通過在大量的人與人之間的對話數據上訓練基於DNN的響應生成模型來模仿人類的對話( Ritter等人,2011; Sordoni等人,2015b; Vinyals and Le,2015; Shang等人,2015)。 直到最近,研究人員纔開始探索如何在世界知識(Ghazvininejad等人,2018)和圖像(Mostafazadeh等人,2017)中建立交流的基礎,從而使對話更加有趣和有趣。

1.3 A Unified View: Dialogue as Optimal Decision Making

圖1.1中的示例對話可以表述爲決策過程。它具有自然的層次結構:頂層進程選擇要爲特定子任務激活的代理(例如,回答問題,安排會議,提供推薦或只是隨意聊天),而底層進程則受控制通過選定的代理,選擇原始操作來完成子任務。
這樣的分層決策過程可以在馬爾可夫決策過程(MDP)的選項數學框架中進行鑄造(Sutton等人,1999b),其中選項將原始動作概括爲更高級別的動作。這是對傳統MDP設置的擴展,在傳統MDP設置中,代理只能在每個時間步選擇原始動作,而代理可以選擇“多步”動作,例如可以是一系列完成原始任務的原始動作。
如果我們將每個選項都視爲一項行動,那麼強化學習框架自然可以捕獲高層和低層流程。對話代理在MDP中導航,並通過一系列離散步驟與其環境進行交互。在每個步驟中,代理都會觀察當前狀態,並根據策略選擇一個操作。然後,特工會收到獎勵並觀察到新的狀態,繼續循環直到情節終止。對話學習的目標是找到最佳策略,以最大化預期的回報。表1.1使用統一的RL視圖制定了一個對話主體樣本,其中狀態-動作空間描述了問題的複雜性,而獎勵是要優化的目標函數。
分層MDP的統一視圖已經被用來指導一些大型開放域對話系統的開發。最近的例子包括獲得了2017年Amazon Alexa獎的社交聊天機器人Sounding Board 3,以及自2014年發佈以來可以吸引全球超過6.6億用戶的最受歡迎的社交聊天機器人Microsoft XiaoIce4。這兩種系統都使用分層對話經理:管理整個對話過程的管理員(最高級別),以及處理不同類型的會話段(子任務)的技能(低級)集合。

表1.1中的獎勵功能在CPS中似乎是矛盾的(例如,我們需要最小化CPS纔能有效完成任務,而最大化CPS來提高用戶參與度),建議我們在開發時必須平衡長期和短期收益對話系統。例如,XiaoIce是針對用戶參與度進行了優化的社交聊天機器人,但還配備了230多種技能,其中大部分是質量檢查和任務導向的。 XiaoIce針對預期的CPS進行了優化,該CPS對應於長期而非短期的參與。儘管結合許多面向任務和QA技能可以在短期內降低CPS,因爲這些技能可以通過最小化CPS來幫助用戶更有效地完成任務,但是這些新技能使XiaoIce成爲了有效且值得信賴的個人助手,從而加強了與人類用戶的情感紐帶長期來說。
儘管RL爲構建對話代理提供了統一的ML框架,但應用RL需要通過與真實用戶進行交互來訓練對話代理,這在許多領域中都非常昂貴。因此,在實踐中,我們經常使用結合了不同ML方法優勢的混合方法。例如,我們可能會使用模仿和/或監督學習方法(如果存在大量的人與人之間的會話語料庫)來獲得合理的良好代理,應用RL繼續改進它。 在本文的其餘部分,我們將研究這些機器學習方法及其在訓練對話系統中的用途。

 

1.4 The Transition of NLP to Neural Approaches

現在,神經方法正在改變NLP和IR的領域,其中數十年來,符號方法一直佔據主導地位。
NLP應用程序與其他數據處理系統的不同之處在於,它們使用各種級別的語言知識,包括語音,形態,語法,語義和語篇(Jurafsky和Martin,2009年)。從歷史上看,許多NLP領域都圍繞着圖1.3的體系結構進行組織,研究人員將其工作與一個或另一個組件任務(例如形態分析或解析)保持一致。通過將自然語言語句映射到(或從)一系列人類定義的,明確的符號表示(或從中生成),可以將這些組成任務視爲在不同級別上解決(或實現)自然語言的歧義(或多樣性)。作爲詞性(POS)標籤,上下文無關文法,一階謂詞演算。隨着數據驅動和統計方法的興起,這些組件仍然存在,並已被改編爲豐富的工程特徵來源,可用於各種機器學習模型(Manning等人,2014)。
神經方法不依賴任何人類定義的符號表示,而是學習特定於任務的神經空間,其中使用低維連續向量將特定於任務的知識隱式表示爲語義概念。如圖1.4所示,神經方法通常通過三個步驟來執行NLP任務(例如,機器閱讀理解和對話):(1)將符號用戶輸入和知識編碼爲它們的神經語義表示,其中語義相關或相似的概念是表示爲彼此接近的向量; (2)在神經空間中進行推理以根據輸入和系統狀態生成系統響應; (3)將系統響應解碼爲在符號空間中輸出的自然語言。編碼,推理和解碼是使用(不同體系結構的)神經網絡實現的,可以通過反向傳播和隨機梯度下降以端到端的方式堆疊到深度神經網絡中。
端到端訓練導致最終應用程序與神經網絡體系結構之間更緊密的耦合,從而減少了對傳統NLP組件邊界(如形態分析和解析)的需求。這極大地拉平了圖1.3的技術堆棧,並大大減少了特徵工程的需求。取而代之的是,重點已轉移到針對最終應用精心定製日益複雜的神經網絡架構。

混合方法的研究也結合了神經方法和符號方法的優勢,例如(Mou等,2016; Liang等,2016)。 如圖1.4所示,神經方法可以端到端的方式進行訓練,對釋義替換很健壯,但是在執行效率和可解釋性方面很弱。 另一方面,象徵性方法很難訓練並且對釋義交替很敏感,但是執行起來更容易解釋和有效。

 

Chapter 2
Machine Learning Background

本章在後面的章節中簡要介紹了與對話式AI最相關的深度學習和強化學習技術。

2.1 Machine Learning Basics

Mitchell(1997)廣泛地將機器學習定義爲包括任何計算機程序,該程序可以通過經驗E改善在某些任務T上的性能,該任務由P度量。
如表1.1所示,對話是一個定義明確的學習問題,其中T,P和E指定如下:
•T:與用戶進行對話以實現用戶的目標。
•P:表1.1中定義的累積獎勵。
•E:一組對話,每個對話都是一系列用戶-代理交互。
舉一個簡單的例子,通過人工標註問題-答案對的經驗,單回合QA對話代理可能會提高其性能,這可以通過在QA任務中生成的答案的準確性或相關性來衡量。
使用監督學習(SL)構建ML代理的常用方法包括數據集,模型,成本函數(又稱損失函數)和優化過程。
•數據集由(x,y ∗)對組成,其中每個輸入x都有一個真實的輸出y ∗。在QA中,x由輸入問題和從中生成答案的文檔組成,而y ∗是由知識淵博的外部主管提供的所需答案。
•模型的形式通常爲y = f(x;θ),其中f是由θ參數化的函數(例如神經網絡),該函數將輸入x映射到輸出y。
•成本函數的形式爲L(y ∗,f(x;θ))。 L(。)isoften設計了錯誤的平滑功能,並且可以區分。 θ。滿足這些條件的常用成本函數是均方誤差(MSE),定義爲:

該優化可視爲一種搜索算法,用於確定使L(。)最小的最佳θ。 鑑於L是可微的,深度學習最廣泛使用的優化程序是小批量隨機梯度下降(SGD),每批更新後的θ爲

 

其中N是批次大小,α是學習率。

Common Supervised Learning Metrics.

訓練模型後,可以在保留數據集上對其進行測試,以評估其泛化性能。 假設模型爲f(·;θ),並且保持集包含N個數據點:D = {((x1,y1 ∗),(x2,y2 ∗),。 。 。 ,(xN,yN ∗)}。
第一個指標是上述均方誤差,適用於迴歸問題(即yi ∗被視爲實數值):

對於分類問題,yi ∗從被視爲類別的有限集中獲取值。 爲簡單起見,在此假設yi ∗∈{+1,−1},因此如果yi ∗爲+1,則示例(xi,yi ∗)被稱爲正(或負)。
(或-1)。 •
經常使用以下指標:
準確性:f正確預測的示例分數:

 

 

 

其他度量也被廣泛使用,尤其是對於二進制分類以外的複雜任務,例如BLEU評分(Papineni等,2002)。

Reinforcement Learning.以上SL配方適用於固定數據集上的預測任務。 但是,在諸如對話1的交互問題中,要獲得既要正確又代表代理人必須採取行動的所有狀態的期望行爲的示例,可能是具有挑戰性的。 在未開發的領土上,代理必須學習如何通過自身與未知環境進行交互來採取行動。 這種學習天堂被稱爲強化學習(RL),其中在主體和外部環境之間存在反饋迴路。 換句話說,雖然SL從經驗豐富的外部主管提供的以前的經驗中學習,但RL則通過自己的經驗來學習。 RL在幾個重要方面與SL有所不同(Sutton和Barto,2018; Mitchell,1997)

Exploration-exploitation tradeoff.

在RL中,代理需要從環境中收集獎勵信號。 這就提出了一個問題,即哪種實驗策略可導致更有效的學習。 代理必須利用其已知的知識來獲得高額報酬,同時還必須探索未知的狀態和操作以在將來做出更好的操作選擇。

Delayed reward and temporal credit assignment.

在RL中,不能像SL中那樣以(x,y ∗)形式獲得訓練信息。 相反,當代理執行一系列操作時,環境僅提供延遲的獎勵。 例如,直到會話結束,我們才知道對話是否能夠成功完成任務。 因此,代理人必須確定產生其最終獎勵將被歸功於其序列中的哪些動作,這就是時間信用分配問題。

Partially observed states.

在許多RL問題中,在每個步驟中從環境中感知到的觀察結果(例如,每個對話回合中的用戶輸入)僅提供了有關環境整體狀態的部分信息,代理選擇了下一步行動就基於該信息。 神經方法通過對在當前和過去的步驟中觀察到的所有信息進行編碼來學習一個深層的神經網絡來表示狀態,例如,所有先前的對話轉彎以及從外部數據庫中檢索到的結果。

SL和RL的主要挑戰是泛化-代理商在看不見的輸入上表現良好的能力。 已經提出了許多學習理論和算法來成功地應對挑戰,例如通過在可用的訓練經驗量與模型能力之間尋求良好的權衡來避免欠擬合和過擬合。 與以前的技術相比,神經方法通過利用深度神經網絡的表示學習能力提供了一種可能更有效的解決方案,我們將在下一部分中進行簡要介紹。

2.2 Deep Learning

深度學習(DL)涉及訓練神經網絡,其原始形式由單個層(即感知器)組成(Rosenblatt,1957)。 感知器甚至無法學習諸如邏輯XOR之類的簡單功能,因此後續工作探索了“深度”架構的使用,該架構在輸入和輸出之間增加了隱藏層(Rosenblatt,1962; Minsky和Papert,1969),一種形式。 神經網絡,通常稱爲多層感知器(MLP)或深度神經網絡(DNN)。 本節介紹一些用於NLP和IR的常用DNN。 感興趣的讀者可以參考Goodfellow等。 (2016)進行全面討論。

2.2.1 Foundations

考慮文本分類問題:用諸如“體育”和“政治”之類的域名標記文本字符串(例如,文檔或查詢)。如圖2.1(左)所示,經典的ML算法首先使用一組手工設計的特徵(例如,單詞和字符的n元語法,實體和詞組等)將文本字符串映射到矢量表示x,然後學習具有softmax層的線性分類器,以計算域標籤y = f(x; W)的分佈,其中W是使用SGD從訓練數據中學習的矩陣,以最大程度地減少誤分類錯誤。設計工作主要集中在要素工程上。
DL方法不是使用針對x的手工設計特徵,而是使用DNN共同優化了特徵表示和分類,如圖2.1(右)所示。我們看到DNN由兩半組成。上半部可視爲線性分類器,類似於圖2.1中的經典ML模型(左),不同之處在於其輸入向量h不是基於手工設計的特徵,而是使用下半部學習的DNN,可以看作是與分類器一起以端到端的方式優化的特徵生成器。與經典ML不同,設計DL分類器的工作主要在於優化DNN架構以進行有效的表示學習。
對於NLP任務,根據我們希望在文本中捕獲的語言結構的類型,我們可以應用不同類型的神經網絡(NN)層結構,例如用於局部詞依存關係的卷積層和用於全局詞序列的遞歸層。這些層可以組合和堆疊以形成一個深層的體系結構,以在不同的抽象級別捕獲不同的語義和上下文信息。下面介紹了幾個廣泛使用的NN層:

Word Embedding Layers.在符號空間中,每個單詞都表示爲一個熱向量,其維數n是預定義詞彙表的大小。 詞彙量通常很大; 例如,n> 100K。 我們應用由線性投影矩陣We∈Rn×m參數化的詞嵌入模型,將每個單熱向量映射到m維實值向量(m≪ n)在神經空間中,語義上更相似的詞的嵌入向量彼此更接近。

 

Fully Connected Layers.

它們執行W􏰙x的線性投影。2我們可以堆疊多個完全連接的層,以在每個線性投影之後引入非線性激活函數g來形成深前饋NN(FFNN)。 如果我們將文本視爲袋字(BOW)並讓x爲文本中所有單詞的嵌入向量之和,則深度FFNN可以提取高度非線性的特徵,以表示文本在不同位置的隱藏語義主題 層,例如h(1)= g􏰄W(1)􏰙x􏰅
在第一層,h(2)= g􏰄W(2)􏰙h(1)􏰅,依此類推,其中W是可訓練矩陣。

Convolutional-Pooling Layers.

卷積神經網絡(CNN)的示例如圖2.1(右)所示。 卷積層分兩步形成單詞wi的局部特徵向量,表示爲ui。 它首先通過連接wi的詞嵌入向量及其由固定長度窗口定義的周圍詞來生成上下文向量ci。 然後執行投影以獲得ui = g(WcWci),其中Wc是可訓練矩陣,g是激活函數。 然後,池化層將輸出ui,i = 1 ... L組合到單個全局特徵向量h中。 例如,在圖2.1中,在通過卷積層計算的矢量序列的每個“時間” i上應用最大池化操作以獲得h,其中每個元素的計算公式爲hj =max1≤i≤Lui, 。 另一個流行的合併功能是平均合併。

Recurrent Layers.

遞歸神經網絡(RNN)的示例如圖2.2所示。 RNN通常用於句子嵌入,其中我們將文本視爲單詞序列,而不是
比弓。 他們通過順序將文本映射到密集的低維語義矢量然後循環處理每個單詞,然後將子序列映射到當前單詞到一個
低維向量,例如hi = RNN(xi,hi-1):= g(W􏰙xi +Wr􏰙hi-1),其中xi是詞ih在文本中嵌入第i個單詞時,Whi和Wr是可訓練的矩陣,而hi是直到第i個單詞的單詞序列的語義表示

 

2.2.2 Two Examples

本節簡要介紹了DNN模型的兩個示例,分別針對排名和文本生成任務而設計。 它們由上一節中描述的NN層組成。
DSSM排名。 在排序任務中,給定輸入查詢x,我們希望基於相似性評分函數sim(x,y)對所有候選答案y∈Y進行排序。 該任務是許多IR和NLP應用程序的基礎,例如查詢文檔排名,QA中的答案選擇以及對話響應選擇。
DSSM代表深度結構化語義模型(Huang等,2013; Shen等,2014),或更籠統地說,是深度語義相似模型(Gao等,2014b)。 DSSM是用於測量一對輸入(x,y)3的語義相似性的深度學習模型。如圖2.3所示,DSSM由一對DNN(f1和f2)組成,它們將輸入x和y映射到 共同的低維語義空間中的對應向量。 然後用餘弦測量x和y的相似度

兩個向量的距離。 f1和f2可以具有不同的架構,具體取決於x和y。 例如,爲了計算圖像-文本對的相似度,f1可以是深度卷積NN,f2可以是RNN。
設θ爲f1和f2的參數。 學會了θ來識別x和y的最有效特徵表示,這些特徵表示直接針對最終任務進行了優化。 換句話說,我們學習一個由θ參數化的隱藏語義空間,其中空間中向量之間距離的語義是由任務或更具體地由任務的訓練數據定義的。 例如,在Web文檔排名中,距離用於度量查詢文檔的相關性,並且使用成對的排名損失來優化θ。 考慮一個查詢x和兩個候選文檔y +和y-,其中y +比y-與x更相關。 設simθ(x,y)是θ參數化的語義空間中x和y的相似度,

Seq2Seq for Text Generation.

 

在一個文本生成任務中,給定輸入文本x,我們想生成輸出文本y。這項任務對於諸如機器翻譯和對話響應生成之類的應用程序而言至關重要。
Seq2seq代表序列到序列架構(Sutskever等,2014),也稱爲編碼器-解碼器架構(Cho等,2014b)。 Seq2Seq通常基於序列模型(如RNN或門控RNN)實現。 Gate RNN,例如長期記憶(LSTM)(Hochreiter和Schmidhuber,1997)和基於門控循環單元(GRU)的網絡(Cho等,2014b)是圖2.2中RNN的擴展,並且由於使用門控單元,它們具有隨時間變化的路徑而導數既不消失也不爆炸,因此在捕獲長期依存關係方面通常更有效。我們將詳細說明LSTM如何在Sec中應用於端到端會話模型。 5.1。
Seq2seq將生成以x爲條件的y的概率定義爲P(y | x)4。如圖2.4所示,seq2seq模型由(1)輸入RNN或編碼器f1組成,將輸入序列x編碼爲上下文向量c,通常是其最終隱藏狀態的簡單功能; (2)輸出RNN或解碼器f2,其產生以c爲條件的輸出序列y。 x和y的長度可以不同。聯合訓練由θ參數化的兩個RNN,以最小化訓練數據中所有(x,y)對上的損失函數

 

 

2.3 Reinforcement Learning

本節回顧了強化學習,以促進後續章節中的討論。 爲了對該主題進行全面處理,有興趣的讀者可以參考現有的教科書和評論,例如Sutton和Barto(2018); Kaelbling等。 (1996); Bertsekas和Tsitsiklis(1996); Szepesvári(2010); Wiering和van Otterlo(2012); 李(2018)。

 

2.3.1 Foundations

強化學習(RL)是一種學習範例,其中智能代理通過與最初未知的環境進行交互來學習做出最佳決策(Sutton和Barto,2018)。 與監督學習相比,RL中的一個獨特挑戰是沒有老師(即沒有監督標籤)的學習。 正如我們將看到的,這將導致RL特有的算法考慮。
如圖2.5所示,代理人與環境的相互作用通常被建模爲離散時間馬爾可夫決策過程或MDP(Puterman,1994),由五元組M =〈S,A,P,R,γ 〉:

•S是環境可能處於無限狀態的集合;
•A是代理在狀態下可以採取的一系列可能無限的操作;
•P(s'| s,a)給出在狀態s採取動作a後環境降落到新狀態s'的轉變概率;
•R(s,a)是代理商在狀態s中採取行動a後立即獲得的平均獎勵; 和
•γ∈(0,1]是折現因子。

可以將相交記錄爲軌跡(s1,a1,r1,...),其生成如下:在步驟t =1,2,...,

•代理觀察環境的當前狀態st∈S,並在∈A處採取措施;
•過渡狀態st + 1的環境過渡,根據過渡概率P(·| st,at)分佈;
•與過渡相關的是立即回報rt∈R,其平均值爲R(st,at)。

省略下標,每個步驟都會導致一個元組(s,a,r,s'),稱爲過渡。 RL代理的目標是通過採取最佳行動(即將定義)來最大化長期回報。 用π表示的其動作選擇策略可以是確定性的或隨機的。 無論哪種情況,我們都使用一個π(s)來表示在狀態s中跟隨π的動作選擇。 給定策略π,狀態s的值是該狀態的平均長期長期折扣:

我們對優化策略感興趣,以便使所有狀態的Vπ都最大化。 用π∗表示最優策略,用V ∗表示其相應的值函數(也稱爲最優值函數)。 在許多情況下,使用另一種形式的值函數(稱爲Q函數)更爲方便:

它通過首先選擇狀態s中的a,然後遵循策略π來度量平均折現長期獎勵。 與最優策略相對應的最優Q函數用Q *表示。

2.3.2 Basic Algorithms

現在,我們描述兩種流行的算法類別,分別以Q學習和策略梯度爲例。

Q學習。 第一族基於這樣的觀察結果:如果可以使用最佳Q函數,則可以立即檢索最佳策略。 具體而言,可以通過以下方式確定最佳策略:

因此,大量的RL算法專注於學習Q ∗(s,a),並統稱爲基於值函數的方法。
實際上,當問題很嚴重時,用一張表來表示Q(s,a)是很昂貴的,每個不同的(s,a)都有一個表項。 例如,圍棋遊戲中的狀態數大於2×10170(Tromp和Farnebäck,2006)。 因此,我們經常使用緊湊形式來表示Q。特別是,我們假設Q函數具有預定義的參數形式,並由某些矢量θ∈Rd參數化。 一個例子是線性逼近:

其中φ(s,a)是狀態動作對(s,a)的d維手編碼特徵向量,而θ是要從數據中學習的對應係數向量。 通常,Q(s,a;θ)可以採用不同的參數形式。 例如,在深層Q網絡(DQN)的情況下,Q(s,a;θ)採用深層神經網絡的形式,例如多層感知器和卷積網絡(Tesauro,1995; Mnih等, (2015年),循環網絡(Hausknecht和Stone,2015年; Li等,2015年)等。更多示例將在後面的章節中看到。 此外,可以使用決策樹(Ernst等人,2005)或高斯過程(Engel等人,2005)以非參數的方式表示Q函數,這不在本介紹的範圍之內。 部分。
爲了學習Q函數,我們在觀察到狀態轉換(s,a,r,s')之後使用以下更新規則修改參數θ:

定期將θtarget更新爲θ,然後繼續進行處理。
上面描述的基本Q學習最近有了許多改進,例如決鬥Q網絡(Wang等人,2016),雙重Q學習(van Hasselt等人,2016)和可證明的收斂性 SBEED算法(Dai等人,2018b)。

Policy Gradient.

另一類算法試圖直接優化策略,而不必學習Q函數。 這裏,策略本身直接由θ∈Rd參數化,並且π(s;θ)通常是作用上的分佈。 給定任何θ,該策略自然會根據其在長度爲H的軌跡中獲得的平均長期獎勵進行評估,τ=(s1,a1,r1,...,sH,aH,rH):5

如果有可能從採樣軌跡中估算出梯度∇θJ,則可以進行隨機梯度上升6以最大化J:

其中α還是一個stepsize參數。
一種這樣的算法,稱爲REINFORCE(Williams,1992),其梯度估算如下。 令τ爲由π(·;θ)生成的長度H軌跡; 也就是說,每t約爲π(st;θ)。 然後,基於該單個軌跡的隨機梯度爲

REINFORCE在實踐中可能會出現較大差異,因爲它的梯度估計直接取決於整個軌跡上的獎勵總和。 它的方差可以通過使用當前政策的估計值函數來減少,該函數通常在參與者批評算法中被稱爲批評者(Sutton等,1999a; Konda和Tsitsiklis,1999):

其中Qˆ(s,a,h)是當前策略π(s;θ)的估計值函數,用於
在等式中,􏰂Hh= tγh-trh附近。 2.7。 Qˆ(s,a,h)可以通過標準時差方法(類似於Q學習)來學習,但是存在許多變體。 此外,在比Eqn更有效地計算梯度θθJ的方法方面,還有很多工作要做。 2.8。 有興趣的讀者可以參考一些相關的著作以及其中的參考文獻以獲取更多詳細信息(Kakade,2001; Peters等,2005; Schulman等,2015a,b; Mnih等,2016; Gu等,2017 ; Dai等,2018a; Liu等,2018b)。

2.3.3 Exploration

到目前爲止,我們已經描述了在將轉換作爲輸入時更新值函數或策略的基本算法。 通常,RL代理還必須確定如何選擇操作以收集所需的過渡以進行學習。 始終選擇看似最好的操作(“開發”)是有問題的,因爲不選擇被稱爲“探索”的新穎操作(即,到目前爲止收集的數據代表性不足或什至不存在)可能會導致以下風險: 沒有看到可能更好的結果。 有效平衡探索和開發是強化學習中的獨特挑戰之一。
基本的探索策略被稱爲ε貪心。 這個想法是選擇概率最高的最佳動作(用於開發),選擇概率較小的隨機動作(用於探索)。 對於DQN,假設θ是Q函數的當前參數,則狀態s的動作選擇規則如下:

在許多問題中,這種簡單的方法是有效的(儘管不一定是最佳的)。 在第二節中可以找到進一步的討論。 4.4.2。

 

Chapter 3

Question Answering and Machine Reading Comprehension

 

近年來,對會話式問答(QA)代理的需求不斷增長,該代理允許用戶查詢自然語言的大型知識庫(KB)或文檔集合。前者稱爲KB-QA代理,後者稱爲文本QA代理。 KB-QA代理比傳統的類似SQL的系統更加靈活和用戶友好,因爲用戶可以交互查詢知識庫,而無需編寫複雜的類似SQL的查詢。與傳統的搜索引擎(例如Bing和Google)相比,Text-QA代理在移動設備中的使用要容易得多,因爲它們可以爲用戶查詢提供簡潔,直接的答案,而不是相關文檔的排名列表。
值得一提的是,多回合,對話式質量檢查是一個新興的研究主題,其研究不如單回合的質量檢查。本章回顧的許多論文都集中在後者。但是,單次回合質量檢查是進行各種對話(例如閒聊和麪向任務的對話)必不可少的基石,如果我們要開發現實世界的對話系統,應該引起我們的充分注意。
在本章中,我們首先回顧基於語義解析的KB和KB-QA的符號方法。我們展示了一個符號系統很難擴展,因爲該系統使用的基於關鍵字匹配的,查詢到答案的推理在很大的KB上效率低下,並且對措辭不強健。爲了解決這些問題,開發了神經方法來使用連續的語義向量表示查詢和知識庫,以便可以在緊湊的神經空間中的語義級別上進行推理。我們還以電影點播代理爲例,描述了多回合會話KB-QA代理的典型體系結構,並回顧了最近開發的幾個會話KB-QA數據集。
然後,我們討論神經文本QA代理。這種系統的核心是神經機器閱讀理解(MRC)模型,該模型基於(一組)段落生成對輸入問題的答案。在回顧了流行的MRC數據集和TREC text-QA開放式基準之後,我們從兩個方面描述了爲最新的MRC模型開發的技術:(1)在神經空間中將問題和段落編碼爲矢量的方法(2)在神經空間中進行推理以生成答案的方法。我們還將描述多輪對話式文本QA代理的體系結構,以及將MRC任務和模型擴展到對話式QA設置的方式。

3.1 Knowledge Base

整理世界的事實並將其存儲在結構化的數據庫中,像DBPedia(Auer et al。,2007),Freebase(Bollacker et al。,2008)和Yago(Suchanek et al。,2007)之類的大規模知識庫(KB)具有 成爲支持開放域質量檢查的重要資源。
典型的KB由一組主謂謂三元組(s,r,t)組成,其中s,t∈E是實體,r∈R是謂語或關係。 這種形式的KB由於其圖形表示形式,通常稱爲知識圖(KG),即,實體是節點,並且關係是鏈接節點的有向邊。
圖3.1(左)顯示了Freebase的一小段子圖,它與電視節目Family Guy有關。 節點包括一些名稱,日期和特殊的“複合值類型”(CVT)實體。1有向邊描述了兩個實體之間的關係,並用謂詞標記。

 

 

3.2 Semantic Parsing for KB-QA

KB-QA的大多數最新符號方法都是基於語義解析的,其中將問題映射到其形式含義表示形式(例如邏輯形式),然後翻譯爲KB查詢。然後,可以通過在知識庫中找到與查詢匹配的一組路徑並檢索這些路徑的末端節點來獲得問題的答案(Richardson等,1998; Berant等,2013; Yao和Van Durme, 2014; Bao等,2014; Yih等,2015b)。
我們以Yih等人使用的示例爲例。 (2015a)來說明質量檢查流程。圖3.1(右)顯示了“誰在家常人家上首次向梅格說話?”問題的λ演算形式及其相應的圖形表示形式,即查詢圖。請注意,查詢圖基於Freebase。 MegGriffin和FamilyGuy這兩個實體由兩個圓角矩形節點表示。圓圈節點y表示應該存在一個實體,該實體描述一些角色,演員和角色開始時間等角色關係。 y在這種情況下以CVT實體爲基礎。帶陰影的圓圈節點x也稱爲答案節點,用於映射查詢所檢索的實體。菱形節點arg min約束答案必須是該角色的最早演員。如圖3.1(左)所示,對圖表運行沒有聚合函數的查詢圖將同時匹配LaceyChabert和MilaKunis。但是,只有LaceyChabert纔是更早開始擔任該角色的正確答案(通過檢查接地CVT節點的from屬性)。
將符號KB-QA系統應用於非常大的KB具有挑戰性,這有兩個原因:

自然語言的措辭:這導致了表達相同問題的廣泛多樣的表達方式,在KB-QA設置中,這可能會導致自然語言問題與KB中使用的節點和邊的標籤名稱(例如謂詞)不匹配。 如圖3.1中的示例,我們需要衡量問題中使用的謂詞與Freebase中的謂詞匹配的可能性,例如“誰在家庭蓋伊上首先向梅格說話?”與演員。 Yih等。 (2015a)建議使用第7節中介紹的學習的DSSM。 2.2.2,從概念上講,這是一種基於嵌入的方法,我們將在本節中進行介紹。 3.3。
•搜索複雜度:搜索所有可能與複雜查詢匹配的多步(組合)關係路徑的成本過高,因爲候選路徑的數量隨路徑長度呈指數增長。 我們將在第二節中回顧符號和神經方法進行多步推理。 3.4。

3.3 Embedding-based Methods

爲了解決釋義問題,基於嵌入的方法將KB中的實體和關係映射到神經空間中的連續向量。 參見,例如,Bordes等。 (2013); Socher等。 (2013); 楊等。 (2015); Yih等。 (2015b)。 該空間可以視爲隱藏的語義空間,其中具有相同語義含義的各種表達式映射到相同的連續向量。
大多數知識庫嵌入模型都是爲知識庫完成(KBC)任務開發的:預測存在知識庫中看不到的三元組(s,r,t)。 與KB-QA相比,這是一項更簡單的任務,因爲它只需要預測事實是否爲真,因此不會遭受搜索複雜性問題的困擾。
雙線性模型是基本的KB嵌入模型之一(Yang等,2015; Nguyen,2017)。 它爲每個關係e學習一個向量xe∈Rd和每個關係r的amatrixWr∈Rd×d。該模型使用以下公式對三元組(s,r,t)保持的可能性進行評分

模型參數θ(即嵌入向量和矩陣)在成對訓練樣本上以與本教程中描述的DSSM類似的方式進行訓練。 2.2.2。 對於KB中用x +表示的每個正三元組(s,r,t),我們通過破壞s,t或r來構造一組負三元組x-。 訓練目標是使等式的成對秩損失最小化。 2.2,或更常見的基於保證金的損失定義爲

其中[x] +:= max(0,x),γ是邊緣超參數,D是三元組的訓練集。
這些基本的知識庫模型已擴展爲回答稱爲路徑查詢的多步關係查詢,例如“塔德·林肯父母的住所?”(Toutanova等人,2016; Guu等人,2015; Neelakantan等人) 。,2015)。 路徑查詢由初始錨實體s(例如TadLincoln)組成,然後是要遍歷的關係序列(r1,...,rk)(例如(父母,位置))。我們可以使用向量空間組合來組合單個關係ri的嵌入 嵌入路徑(r1,...,rk)中。 方程雙線性模型的自然組成。 3.1是矩陣乘法。 因此,爲了回答路徑查詢(q,t)成立的可能性,其中q =(s,r1,...,rk),我們將計算

在驗證給定現有KB的情況下驗證看不見的事實(例如三元組和路徑查詢)方面,這些KB嵌入方法顯示出良好的泛化性能。 有興趣的用戶可以參考Nguyen(2017)進行KBC嵌入模型的詳細調查。

3.4 Multi-Step Reasoning on KB

知識庫推理(KBR)是KB-QA的子任務。 如第二節所述。 3.2,KB-QA分兩個步驟執行:(1)語義解析將問題轉換爲KB查詢,然後(2)KBR遍歷KB中與查詢匹配的路徑以找到答案。
爲了推理出一個KB,對於每個關係r∈R,我們有興趣學習以關係路徑π=(r1,...,rk)形式的一組一階邏輯規則。 對於圖3.2中的KBR示例,給定問題“奧巴馬的公民身份是什麼?”,它以主謂謂賓三元組的形式翻譯的知識庫查詢爲(奧巴馬,公民身份,?)。 除非三胞胎(奧巴馬,公民身份,美國)已明確存儲在知識庫中,[2]需要採取多步推理程序,才能從包含相關三元組的路徑(例如,奧巴馬,出生於夏威夷)和(夏威夷,美國部分)中得出答案 ),使用學習的關係路徑,例如(出生,部分)。
下面,我們描述三步多步KBR方法。 它們的區別在於是在離散的符號空間還是在連續的神經空間中進行推理。

 

3.4.1 Symbolic Methods

路徑排序算法(PRA)(Lao and Cohen,2010; Lao et al。,2011)是學習大KB中的關係路徑的主要符號方法之一。 PRA使用隨機遊走並重新啓動以執行多個有界的深度優先搜索,以找到關係路徑。 表3.1顯示了PRA學習的關係路徑的示例。 關係路徑是序列π=(r1,...,rk)。 關係路徑的一個實例是節點e1,...,ek + 1的序列,這樣(ei,ri,ei + 1)是有效的三元組。
在KBR期間,給定查詢q =(s,r,?),PRA選擇r的一組關係路徑,用Br = {π1,π2,...}表示,然後根據查詢遍歷KB和Br ,並使用線性模型對每個候選答案t進行評分

 

 

其中λπ是學習的權重,P(t | s,π)是通過實例化關係路徑π的隨機遊走從s到達t的概率,也稱爲路徑約束隨機遊走。
因爲PRA在完全離散的空間中運行,所以它沒有考慮關係之間的語義相似性。結果,PRA甚至可以以很短的路徑長度輕鬆生成數百萬個類別截然不同的路徑,這不僅不利於泛化,而且使推理變得非常昂貴。爲了減少在KBR中需要考慮的關係路徑的數量,Lao等人(英文)。 (2011年)使用了啓發式方法(例如,僅當在訓練數據中檢索到至少一個目標實體時纔要求將路徑包括在PRA中),並在損失函數中添加了L1正則項以訓練Eqn的線性模型。 3.3。 Gardner等。 (2014年)提出了對PRA的一種修改,該修改利用了KB嵌入方法,如第6節所述。 3.3,根據關係嵌入摺疊和聚類PRA路徑

3.4.2 Neural Methods

提出了隱式ReasoNet(IRN)(Shen等人,2016,2017a)和神經邏輯編程(Neural LP)(Yang等人,2017a)來在神經空間中執行多步KBR並實現現狀 流行基準的藝術效果。 這些方法的總體架構如圖3.3所示,可以視爲圖1.4(右)所示的神經方法的一個實例。 接下來,我們以IRN爲例來說明這些神經方法的工作方式。 IRN由四個模塊組成:編碼器,解碼器,共享存儲器和控制器,如圖3.3所示。

Encoder and Decoder

這兩個模塊是任務相關的。 給定輸入查詢(s,r,?),編碼器分別將s和r映射到它們的嵌入向量3中,然後將這兩個向量連接起來以形成控制器的初始隱藏狀態向量s0。
解碼器輸出預測向量o = tanh(Wost + bo),這是從時間s的狀態s開始的非線性投影,其中Wo和bo分別是權重矩陣和偏置向量。 在KBR中,我們可以基於L1距離將符號向量o映射到符號空間中的符號節點的答案節點(實體)o,其中o = argmine∈E| o − xe | 1,其中xe是實體e的嵌入向量。

共享內存共享內存M是可微的,它由向量{mi}1≤i≤| M |的列表組成。 通過訓練中的反向傳播隨機初始化和更新。 M存儲爲KBR任務優化的壓縮KB版本。 也就是說,每個向量代表一個概念(一組關係或實體),向量之間的距離代表這些概念的語義相關性。 例如,即使系統找到M中的相關事實,例如,(美國夏威夷州的奧巴馬)和(美國部分夏威夷州),系統也可能無法回答問題(奧巴馬,公民身份,?), 因爲它不知道鑽孔和公民身份是在語義上相關的關係。 爲了糾正錯誤,需要使用梯度更新M,以通過在神經空間中將兩個關係向量彼此移近來對新信息進行編碼。

控制器控制器被實現爲RNN。 給定初始狀態s0,它會根據Eqn使用注意力來迭代查找並從M中獲取信息以在時間t更新狀態st。 3.4,直到它決定終止推理過程並調用解碼器以生成輸出。

其中W是學習的投影矩陣,λ是比例因子,而g是非線性激活函數。
IRN的推理過程可以看作是馬爾可夫決策過程(MDP),如第二節所述。 2.3.1。信息查找和方程式獲取序列中的步長。 3.4不是由訓練數據給出的,而是由控制器實時決定的。更復雜的查詢需要更多步驟。因此,IRN學習了一種隨機策略,以通過REINFORCE算法(Williams,1992年)對終止和預測行爲進行分配,該方法在第6節中進行了介紹。 2.3.2和等式2.7。由於IRN的所有模塊都是可微的,因此IRN是一個端到端可微神經模型,其參數(包括嵌入式KB矩陣M)可以使用SGD在從KB導出的訓練樣本上共同優化,如圖2所示。 3.3。
如圖1.4所示,神經方法在連續的神經空間中運行,並且不會遭受與符號方法相關的問題的困擾。它們對於釋義替換是健壯的,因爲知識是通過連續的向量和矩陣由​​語義類隱式表示的。即使是複雜查詢(例如路徑查詢)和很大的KB,它們也不會遭受搜索複雜性問題的困擾,因爲它們基於KB的緊湊表示形式(例如,IRN中共享內存中的矩陣M),而不是KB本身。
這些方法的主要限制之一是缺乏可解釋性。與PRA不同,PRA顯式地遍歷圖中的路徑爲Eqn。 3.3,IRN在推理過程中不會顯式遵循KB中的任何路徑,而是會注意,使用RNN控制器迭代地對共享內存執行查找操作,每次都使用修訂的內部狀態s作爲查找查詢。從神經控制器中恢復查詢和路徑(或一階邏輯規則)的符號表示仍然具有挑戰性。參見(Shen et al。,2017a; Yang et al。,2017a)瞭解神經方法的一些有趣的初步結果

3.4.3 Reinforcement Learning based Methods

DeepPath(Xiong等,2017),MINERVA(Das等,2017b)和M-Walk(Shen等,2018)是使用RL進行多步推理的最新方法之一超過KB。他們使用具有基於KB嵌入的連續狀態的基於策略的代理來遍歷知識圖,從而識別輸入查詢的答案節點(實體)。由於使用連續向量進行狀態表示,因此基於RL的方法與神經方法一樣健壯,並且由於代理明確遍歷圖中的路徑,因此與符號方法一樣可解釋。
我們將KBR公式化爲由元組(S,A,R,P)定義的MDP,其中S是連續狀態空間,A是可用動作集,P是狀態轉換概率矩陣,R是獎勵函數。下面,我們按照M-Walk來詳細描述這些組件。我們將KB表示爲圖形G(E,R),其中包括實體節點E和鏈接節點的關係邊R的集合。我們將KB查詢表示爲q =(e0,r ,?),其中e0和r分別是給定的源節點和關係,以及?要標識的答案節點。

狀態讓st表示時間t處的狀態,該狀態編碼直到t爲止的所有遍歷節點的信息,所有先前選擇的動作以及初始查詢q。 st可以遞歸定義如下:

其中在∈A是代理在時間t處選擇的動作,et是當前訪問的節點,Ret∈R是與et連接的所有邊的集合,Eet∈E是與et連接的所有節點的集合 。 請注意,在基於RL的方法中,st使用例如M-Walk和MINERVA中的RNN或DeepPath中的MLP表示爲連續向量。

動作基於st,代理選擇以下動作之一:(1)在Eet中選擇一條邊並移至下一個節點et + 1∈E,或(2)終止推理過程並將當前節點et輸出爲a答案節點eT的預測。
過渡過渡是確定性的。如圖3.2所示,一旦選擇了at動作,就知道下一個節點et + 1及其關聯的Eet + 1和Ret + 1。
獎勵如果eT是正確答案,我們只能獲得+1的最終獎勵,否則獲得0。
策略網絡策略πθ(a | s)表示在給定狀態s下選擇動作的概率,並實現爲以θ爲參數的神經網絡。優化策略網絡以最大化E [Vθ(s0)],這是從s0開始並隨後遵循策略πθ的長期獎勵。在KBR中,可以使用RL(例如REINFORCE方法)從從KB中提取的三元組(es,r等)的訓練樣本中訓練策略網絡。爲了解決獎勵稀疏性問題(即,獎勵僅在路徑的末尾可用),Shen等人。 (2018)建議利用蒙特卡洛樹搜索(Monte Carlo Tree Search)來生成一組模擬路徑,以利用給定知識圖譜的所有轉換都是確定性的事實。

3.5 Conversational KB-QA Agents

到目前爲止,我們所描述的所有KB-QA方法都是基於單回合代理,它們假定用戶可以一次組成一個複雜的,組成自然的語言查詢,可以唯一地識別KB中的答案。
但是,在許多情況下,假設用戶無需事先了解要查詢的KB結構就可以構造組成查詢是不合理的。因此,會話式KB-QA代理更爲可取,因爲它們允許用戶以交互方式查詢KB,而無需編寫複雜的查詢。
對話式KB-QA代理對於許多交互式KB-QA任務(例如點播電影)很有用,其中用戶嘗試根據該電影的某些屬性來查找電影,如圖3.4中的示例所示,其中電影DB可以看作是由實體屬性值三元組組成的以實體爲中心的KB。
除了通常由語義解析器和KBR引擎組成的核心KB-QA引擎之外,對話式KB-QA代理還配備了一個對話管理器(DM),該對話管理器跟蹤對話狀態並確定要有效詢問的問題幫助用戶瀏覽KB以搜索實體(電影)。電影點播會話代理的高級體系結構如圖3.5所示。在每個回合中,代理都會接收自然語言話語ut作爲輸入,並選擇∈A處的動作作爲輸出。動作空間A包括一組問題,每個問題用於請求一個屬性的值,以及一個通知用戶有關檢索到的實體的有序列表的動作。該代理是圖1.2(上圖)中一個典型的面向任務的對話系統,由(1)信念跟蹤器模塊組成,該信念跟蹤器模塊用於使用會話上下文解決用戶話語中的共指和省略號,識別用戶意圖,提取關聯的屬性並跟蹤對話狀態(2)與KB的接口,用於查詢相關結果(即,Soft-KB Lookup組件,可以使用前面幾節中描述的KB-QA模型來實現,除了我們需要基於信念追蹤器捕獲的對話歷史記錄,而不僅僅是Suhr等人(2018)中所述的當前用戶話語; (3)信念彙總模塊,將狀態彙總爲向量; (4)對話策略,其基於對話狀態選擇下一動作。該政策可以被編程(Wu等,2015)或接受對話培訓(Wen等,2017; Dhingra等,2017)。Wu等。 (2015年)提出了一種熵最小化對話管理(EMDM)策略。代理始終要求對KB中的其餘條目具有最大熵的屬性值。在沒有語言理解錯誤的情況下,EMDM被證明是最佳的。但是,它沒有考慮到一些問題易於用戶回答,而另一些問題則不然。例如,在電影點播任務中,代理可以要求用戶提供每個電影唯一的電影發行ID,但普通用戶通常不知道。
Dhingra等。 (2017年)提出了KB-InfoBot –一種完全神經端到端多回合對話代理,用於點播電影任務。代理完全根據用戶反饋進行培訓。它不會受到EMDM問題的困擾,並且始終會向用戶詢問易於回答的問題以幫助在KB中進行搜索。像所有KB-QA代理一樣,KB-InfoBot需要與外部KB進行交互以檢索實際知識。傳統上,這是通過向KB發出符號查詢以基於條目的屬性來檢索條目來實現的。但是,這樣的符號操作破壞了系統的可區分性,並阻止了對話代理的端到端訓練。 KB-InfoBot通過用指示用戶感興趣的條目的KB上的後驗分佈替換符號查詢來解決此限制,該後驗分佈表明用戶感興趣的條目。可以使用前面各節中描述的神經KB-QA方法來實現歸納。實驗表明,將歸納過程與RL集成在一起可以在模擬和針對真實用戶的情況下提高任務成功率和回報4。
最近,已經開發了一些數據集來構建會話KB-QA代理。艾耶爾等。 (2017年)通過利用WikiTableQuestions(WTQ(Pasupat和Liang,2015年))通過衆包收集了一個順序問題回答(SQA)數據集,其中包含與Wikipedia的HTML表相關的高度組成的問題。如圖3.6中的示例(左)所示,每個衆包任務包含一個最初來自WTQ的長而複雜的問題作爲問題意圖。要求工人撰寫一系列更簡單但相互關聯的問題,以形成最終意圖。簡單問題的答案是表中單元格的子集。
薩哈等。 (2018)提出了一個由200K QA對話組成的數據集,用於複雜序列問題回答(CSQA)任務。 CSQA包含兩個子任務:(1)通過大規模KB上的複雜推理來回答事實性問題,以及(2)學習通過一系列連貫的QA對進行交談。如圖3.6(右)中的示例,CSQA要求使用對話KB-QA代理,該代理結合了本章中介紹的許多技術,包括(1)解析複雜的自然語言查詢,如本節中所述。 3.2,(2)使用對話上下文來解決用戶話語中的共指和省略號,例如圖3.5中的信念跟蹤器,(3)詢問歧義查詢的分類問題,例如圖3.5中的對話管理器,以及(4 )檢索知識庫中的相關路徑,以按照第2節中的說明回答問題。 3.4。

 

 

 

3.6 Machine Reading for Text-QA

機器閱讀理解(MRC)是一項具有挑戰性的任務:目標是讓機器閱讀一組文本段落,然後回答有關該段落的任何問題。 MRC模型是文本QA代理的核心組件。
最近在MRC上取得的重大進展很大程度上歸功於研究社區在各種文本源上創建的大量大規模數據集的可用性,這些數據源來自Wikipedia(WikiReading(Hewlett等人,2016),SQuAD(Rajpurkar等人。 (2016年),WikiHop(Welbl等人,2017年),DRCD(Shao等人,2018年),新聞和其他文章(CNN / Daily Mail(Hermann等人,2015年),NewsQA(Trischler等人, 2016年),RACE(Lai等人,2017年),ReCoRD(Zhang等人,2018d)),虛構故事(MCTest(Richardson等人,2013年),CBT(Hill等人,2015年),NarrativeQA(Kocˇisky)等人(2017)),科學問題(ARC(Clark等人,2018))和一般Web文檔(MS MARCO(Nguyen等人,2016),TriviaQA(Joshi等人,2017),SearchQA( Dunn等人,2017),DuReader(He等人,2017b))。
隊。這是斯坦福NLP小組發佈的MRC數據集。它由人羣工作者在一組維基百科文章上提出的10萬個問題組成。如圖3.7(左)中的示例所示,在SQuAD上定義的MRC任務涉及一個問題和一個段落,並旨在在該段落中找到答案範圍。例如,爲了回答“是什麼導致沉澱物下降?”的問題,人們可能會首先找到“沉澱物...落入重力”這一段落的相關部分,然後說“下”是指原因。 (而不是位置),從而確定正確的答案:“重力”。儘管基於跨度的答案的問題比用戶提交給Google和Bing等網絡搜索引擎的實際問題更受限制,但SQuAD提供了豐富的問題​​和答案類型,併成爲該領域中使用最廣泛的MRC數據集之一研究社區。

馬可女士。這是Microsoft發佈的大規模現實MRC數據集,旨在彌補其他學術數據集的侷限性。例如,MS MARCO與SQuAD的不同之處在於:(1)SQuAD包括人羣工作者提出的問題,而MS MARCO是從真實用戶查詢中採樣的; (2)SQuAD使用少量高質量的Wikipedia文章,而MS MARCO是從大量Web文檔中採樣的;(3)MS MARCO包含一些無法回答的查詢5;(4)SQuAD需要在段落中標識答案範圍,而MS MARCO要求從可能與也可能不與給定問題相關的多個段落中生成答案(如果有)。結果,MS MARCO更具挑戰性,並且需要更復雜的閱讀理解技能。如圖3.7(右)中的示例所示,考慮到“如果我是加拿大新移民,我將有資格獲得OSAP”的問題,因此可能首先找到相關段落,其中包括:“您必須是加拿大人1公民; 2名永久居民;或3個受保護的人...”,而成爲該國的新移民通常與成爲公民,永久居民等相反,因此請確定正確的答案:“不,您沒有資格”。
除了我們上面描述的公共MRC數據集之外,TREC6還提供了一系列文本QA開放式基準測試。

自動質量檢查跟蹤。直到2007年,這是TREC中最受歡迎的曲目之一(Dang等,2007; Agichtein等,2015)。它專注於爲人類問題提供自動答案的任務。該曲目主要處理事實性問題,參與者提供的答案摘自新聞文章集。儘管任務逐漸發展爲對日益現實的信息需求進行建模,解決問題序列,列出問題甚至進行交互式反饋,但仍然存在主要侷限性:問題並非直接來自實時真實用戶。
LiveQA曲目。該課程始於2015年(Agichtein et al。,2015),專注於實時回答用戶問題。真實的用戶問題,即尚未回答的在Yahoo Answers(YA)網站上提交的新問題,被髮送到參與者系統,該系統實時提供答案。返回的答案由TREC編輯以4級Likert量表進行判斷。 LiveQA恢復了已凍結了幾年的流行QA跟蹤,引起了QA研究界的極大關注。

3.7神經MRC模型
本節中的描述基於在SQuAD上開發的最新模型,其中給定問題Q =(q1,...,qI)和段落P =(p1,...,pJ),我們需要在P中找到答案範圍A =(開始,結束)
儘管模型結構和關注類型多種多樣(Chen等,2016a; Xiong等,2016; Seo等,2016; Shen等,2017c; Wang等,2017b),典型神經MRC模型按三個步驟執行閱讀理解,如圖1.4所示:(1)將問題和段落的符號表示編碼爲神經空間中的一組向量; (2)在神經空間中進行推理以識別答案矢量(例如,在SQuAD中,這等效於對P中所有可能的文本跨度的嵌入矢量進行排名和重新排名)。 (3)將答案向量解碼爲在符號空間中輸出的自然語言(例如,這等效於將答案向量映射到P中的文本跨度)。由於解碼模塊對於SQuAD模型非常簡單,因此我們在下面的討論中將重點放在編碼和推理上。
圖3.8顯示了神經MRC模型的兩個示例。 BiDAF(Seo等人,2016)是研究社區中使用最廣泛的最先進的MRC基線模型之一,而SAN(Liu等人,2018d)是截至SQuAD1.1排行榜上記錄最充分的MRC模型7 2017年12月19日。

3.7.1編碼
大多數MRC模型通過三層對問題和段落進行編碼:詞典嵌入層,上下文嵌入層和注意層。
詞典嵌入層。這將從單詞級別的Q和P中提取信息,並規範化詞彙變體。它通常使用預先訓練的單詞嵌入模型(例如word2vec(Mikolov等,2013)或GloVe(Pennington等,2014))將每個單詞映射到向量空間,從而將語義相似的單詞映射到向量它們在神經空間中彼此靠近(另請參閱第2.2.1節)。可以通過將每個單詞嵌入向量與其他語言嵌入(例如從字符,詞性(POS)標籤和命名實體等派生的語言嵌入)進行級聯來增強單詞嵌入。給定Q和P,標記的單詞嵌入Q中的是矩陣Eq∈Rd×I,P中的標記是Ep∈Rd×J,其中d是詞嵌入的維數。這利用了周圍單詞的上下文提示來完善單詞的嵌入。結果,同一單詞可能會根據其上下文映射到神經空間中的不同向量,例如“河岸”與“美國銀行”。這通常是通過使用雙向長短期內存(BiLSTM)網絡來實現的,8這是圖2.2 RNN的擴展。如圖3.8所示,我們分別在兩個方向上放置了兩個LSTM,並連接了這兩個LSTM的輸出。因此,我們獲得矩陣Hq∈R2d×I作爲Q的上下文感知表示,以及矩陣Hp∈R2d×J作爲P的上下文感知表示。
ELMo(Peters等人,2018)是最先進的上下文嵌入模型之一。它基於深層BiLSTM。 ELMo不僅只使用BiLSTM的輸出層表示形式,還結合了BiLSTM中的中間層表示形式,其中結合權重針對特定於任務的訓練數據進行了優化。
BERT(Devlin et al。,2018)與ELMo和BiLSTM的不同之處在於,它旨在通過在所有層的左和右上下文上共同進行條件化來預訓練深度雙向表示。可以僅使用一個附加的輸出層對預訓練的BERT表示進行微調,以創建適用於各種NLP任務(包括MRC)的最新模型。
由於使用並行計算很難有效地訓練RNN / LSTM,Yu等人。 (2018)提出了一種不需要RNN的新的上下文嵌入模型:其編碼器僅包含卷積和自我注意,其中卷積模型局部交互而自我注意模型全局交互。與在GPU羣集上基於RNN的模型相比,可以更快地訓練這種模型一個數量級。

注意層。這耦合了問題和段落向量,併爲段落中的每個單詞生成了一組查詢感知特徵向量,並生成了執行推理的工作存儲器M。這是通過注意過程9彙總來自Hq和Hp的信息來實現的,該過程包括以下步驟:
1.計算注意力分數,該分數表示哪個查詢詞與每個關鍵詞最相關:sij =simθs(hqi,hpj)∈R對於Hq中的每個hqi,其中simθs是相似性函數,例如雙線性模型,由θs。
2.通過softmax計算歸一化注意權重:αij= exp(sij)/􏰂kexp(skj)。
3.通過hˆ pj =􏰂iαijhqi總結每個段落詞的信息。因此,我們獲得矩陣Hˆ p∈R2d×J作爲P的問題感知表示。
接下來,我們在神經空間中形成工作記憶M爲M =fθ(Hˆp,Hp),其中fθ是融合其輸入矩陣(由θ參數化)的函數。 fθ可以是任意可訓練的神經網絡。例如,SAN中的融合功能包括串聯層,自我注意層和BiLSTM層。 BiDAF在兩個方向上計算注意力:從段落到問題Hˆ q以及從問題到段落Hˆ p。 BiDAF中的融合功能包括一個將三個矩陣Hp,Hˆ p和Hˆ q連接起來的層,以及一個兩層的BiLSTM來爲每個單詞編碼其相對於整個段落和查詢的上下文信息。

3.7.2推理
MRC模型可以根據它們執行推理以生成答案的方式分爲不同的類別:單步模型和多步模型。
單步推理。 單步推理模型僅將問題和文檔匹配一次,併產生最終答案。 我們以圖3.8(左)中的單步SAN10版本爲例來描述推理過程。 我們需要找到工作記憶M上的答案範圍(即起點和終點)。首先,總結的問題向量形成爲

βi= exp(w⊤hqi)/􏰂kexp(w⊤hqk),以及可訓練向量。然後,使用雙線性函數通過以下方法獲得整個通道的起始索引的概率分佈:

其中W(start)是權重矩陣。 另一個雙線性函數用於獲得結束索引的概率分佈,其中結合了由等式獲得的跨度開始的信息。 3.7,作爲

分號的地方; 指示向量或矩陣並置運算符,p(start)是j
段落中第j個單詞是答案跨度的開始的概率,W(end)是權重矩陣,mj是M的第j個向量。
單步推理既簡單又有效,並且可以使用經典的反向傳播算法訓練模型參數,因此大多數系統都採用了這種方法(Chen等人,2016b; Seo等人,2016; Wang等人,2016)。 ,2017b; Liu等人,2017; Chen等人,2017a; Weissenborn等人,2017; Hu等人,2017)。 但是,由於人類通常會在到達最終答案之前通過多次閱讀和重新消化文檔來解決提問任務(這可能是基於問題和文檔的複雜性,如圖3.9中的示例所示) ,很自然地想出一種迭代方法來找到答案,作爲多步推理。

多步驟推理。 Hill等人率先提出了多步推理模型。 (2015); Dhingra等。 (2016); Sordoni等。 (2016); Kumar等。 (2016),他們使用了預定數量的推理步驟。沉等。 (2017b,c)表明,在兩個不同的MRC數據集(SQuAD和MS MARCO)上,多步推理優於單步推理,而動態多步推理又優於固定多步推理。但是必須使用RL方法(例如策略梯度)來訓練動態多步推理模型,由於不穩定問題,難以實施。 SAN結合了兩種類型的多步驟推理模型的優勢。如圖3.8(左)所示,SAN(Liu等人,2018d)使用固定數量的推理步驟,並在每個步驟中生成預測。在解碼期間,答案基於所有步驟中預測的平均值。但是,在訓練期間,SAN會通過隨機輟學丟棄預測,並根據剩餘預測的平均值生成最終結果。儘管簡單,但該技術顯着提高了模型的魯棒性和整體準確性。此外,可以使用簡單有效的反向傳播訓練SAN。
以SAN爲例,多步驟推理模塊計算T個存儲步驟,並輸出答案範圍。它基於RNN,類似於圖3.5中的IRN。它維護一個狀態向量,該向量在每個步驟上都會更新。最初,初始狀態s0是由方程式Eqn計算得出的彙總問題向量。 3.6。在{1,2,...,T}範圍內的時間步t處,狀態由st = RNN(sg-1,xt)定義,其中xt包含使用先前狀態向量作爲a從內存中檢索到的信息。通過關注過程進行查詢:M:xt =􏰂jγjmj和γ= softmax(st-1⊤W(att)M),
其中W(att)是可訓練的權重矩陣。最後,類似於方程式,使用雙線性函數在每個推理步驟t處找到答案跨度的起點和終點。 3.7和3.8 其中p(start)是向量p(start)的第j個值,表示第j個通過的概率t,j t單詞是推理步驟t答案範圍的開始。

 

3.7.3培訓
可以將神經MRC模型看作是一個深層神經網絡,其中包括所有本身也是神經網絡的組件模塊(例如,嵌入層和推理引擎)。 因此,可以通過反向傳播和SGD以端到端的方式對訓練數據進行優化,如圖1.4所示。 對於SQuAD模型,我們通過最小化定義爲地面真實答案跨度起點和終點的負對數概率之和的損失函數,並通過預測分佈對所有訓練樣本取平均值,來優化模型參數θ:

3.8會話文本QA代理
而所有的神經MRC模型均在本節中介紹。 3.7假設單回合的質量保證設置,實際上,人們經常在對話環境中提問(Ren等,2018a)。例如,用戶可能會問“加利福尼亞何時成立?”的問題,然後根據收到的答案詢問“加利福尼亞州的州長是誰?”和“人口是多少?”,兩者均指“加利福尼亞州”。 -nia”是第一個問題。這個漸進的方面雖然使人類的對話變得簡潔,但也提出了大多數最新的單輪MRC模型無法直接解決的新挑戰,例如使用共指和務實推理回溯對話歷史(Reddy等,2008)。 。,2018)。
對話型文本QA代理使用與圖3.5相似的體系結構,不同之處在於,Soft-KB Lookup模塊由文本QA模塊代替,該模塊由搜索引擎(例如Google或Bing)組成,該模塊可檢索與給定問題,以及一個MRC模型,該模型從檢索的段落中生成答案。需要擴展MRC模型以解決對話設置中的上述挑戰,此後稱爲對話MRC模型。
最近,已經開發了一些數據集來建立會話MRC模型。如圖3.10所示,其中包括CoQA(會話問答(Reddy等人,2018))和QuAC(上下文問答(Choi等人,2018))。對話式MRC的任務定義如下。給定段落P,問題答案對{Q1,A1,Q2,A2,...,Qi-1,Ai-1}和問題Qi的形式的對話歷史,MRC模型需要預測答案i
對話式MRC模型擴展了第2節中描述的模型。 3.7在兩個方面。首先,擴展了編碼模塊,不僅可以對P和Ai進行編碼,還可以對對話歷史進行編碼。其次,推理模塊擴展爲能夠(可能不通過P)生成答案(通過實用推理)。例如,Reddy等。 (2018)提出了一個推理模塊,將DrQA的跨文本MRC模型(Chen等人,2017a)和PGNet的生成模型(參見等人,2017)相結合。爲了生成自由形式的答案,DrQA首先指向文本中的答案證據(例如,圖3.10中的R5(右)),然後PGNet根據證據生成答案(例如,A5)。

圖3.10:來自兩個對話質量檢查數據集的示例。 (左)QuAC數據集中的QA對話示例。 看不見段落(章節文字)的學生提出問題。 老師以文本跨度和對話行爲的形式提供答案。 這些行爲包括:(1)學生應該should→可以,→̄,還是可以̸􏰃→要求跟進; (2)確認(是/否),以及(3)否定答案。 圖來源:Choi等。 (2018)。 (右)CoQA數據集中的QA對話示例。 每個對話回合都包含一個問題(Qi),一個答案(Ai)和支持該答案的基本原理(Ri)。 圖來源:Reddy等。 (2018)。

Chapter 4
Task-oriented Dialogue Systems

本章重點介紹面向任務的對話系統,該系統可幫助用戶解決任務。與用戶尋求答案或某些信息的應用程序不同(上一章),此處討論的對話通常用於完成任務,例如預訂酒店或預訂電影票。此外,與聊天機器人(下一章)相比,這些對話通常有特定的目標要實現,並且通常取決於域。
儘管面向任務的對話系統已經研究了數十年,但近年來,無論是在研究界還是在工業界,它們都迅速受到越來越多的關注。本章側重於基礎和算法方面,而第6章將討論工業應用。此外,我們將對話僅限於用戶輸入以原始文本(而非口頭語言)的形式進行的對話,而是其中的許多技術和討論。本章可以適應口頭對話系統。
本章組織如下。它從基本概念,術語和麪向任務的對話系統的典型體系結構的概述開始。其次,它回顧了對話系統評估的代表性方法。該部分在很大程度上與用於構建這些系統的具體技術正交。接下來的三個部分重點介紹典型對話系統中的三個主要組成部分,重點介紹了最新的神經方法。最後,我們回顧了端到端對話系統的一些最新工作,這些工作是由深度學習和強化學習的交叉方面的最新進展所推動的,最後一節提供了進一步的討論和建議。

4.1概述
我們從對面向任務的對話系統的簡要概述開始,着重於有助於以後討論的方面。欲瞭解更多信息和歷史發展,請閱讀Jurafsky和Martin的教科書(2018年,第25和26章)。
老虎機對話
在本章中,我們重點討論相對簡單但重要的一類對話,這些對話涉及在任務可以成功完成之前爲一組預定的插槽填充值。這些對話(稱爲空位填充或表單填充)在實踐中有許多用途。表4.1給出了用戶與對話系統之間對話的示例。爲了成功完成預訂機票的交易,系統必須通過與用戶交談來收集必要的信息。


插槽填充對話框可以應用於許多其他域,例如電影(如上例所示),餐廳,機票預訂等。對於每個域,一組插槽由域專家定義並且是特定於應用程序的。例如,在電影域中,諸如電影名稱,劇院名稱,時間,日期,門票價格,數量門票等插槽是必需的。
最後,如果該時隙的值可用於限制通話,例如電話號碼,則該時隙稱爲“信息通知”。如果演講者可以要求提供其值,則該時隙被稱爲可請求的作爲門票價格。請注意,廣告位可以是可告知的也可以是可請求的,例如電影名稱。
對話行爲
如上一示例所示,對話代理與用戶之間的交互反映了RL代理與環境之間的交互(圖2.5),其中用戶的言語是觀察,系統的言語是由用戶選擇的動作對話代理。對話行爲理論爲這種直覺提供了正式的基礎(Core and Allen,1997; Traum,1999)。
在此框架中,用戶或代理的話語被認爲是可以更改用戶和系統的(心理)狀態,從而改變會話狀態的動作。這些動作可以用來建議,告知,請求某些信息等等。迎接一個簡單的示例對話行爲,它對應於自然語言的句子,例如“你好!有什麼我可以幫助的嗎?”。它允許系統問候用戶並開始對話。某些對話行爲可能以插槽或插槽值對作爲參數。例如,上面的電影預訂示例中的以下問題:

對話作爲最佳決策
配備了對話行爲,我們準備將對話代理與用戶之間的多回合對話建模爲RL問題。 在這裏,對話系統是RL代理,而用戶是環境。 對話的每一步,
•座席根據對話中到目前爲止顯示的信息跟蹤對話狀態,然後採取措施; 該動作可以是對話動作形式的對用戶的響應,或者是內部操作,例如數據庫查找或API調用;
•用戶以下一個話語做出響應,代理將在下一個回合中使用它來更新其內部對話狀態;
•計算即時獎勵以衡量此會話的質量和/或成本。
這個過程恰好是本節中討論的主體與環境的相互作用。 2.3。 現在我們討論如何確定獎勵函數。

對話經理
關於建立(口語)對話管理器的文獻很多。全面的調查超出了本章的範圍。感興趣的讀者可以參考一些較早的示例(Cole,1999; Larsson和Traum,2000; Rich等,2001; Allen等,2001; Bos等,2003; Bohus和Rudnicky,2009)。以及McTear(2002),Paek和Pieraccini(2008)和Young等人的優秀調查。 (2013)瞭解更多信息。在這裏,我們從本文采用的決策理論觀點回顧一小部分傳統方法。
Levin等。 (2000)認爲對話是一個決策問題。 Walker(2000)和Singh等。 (2002年)是強化學習管理對話系統的兩個早期應用。儘管這些方法很有希望,但它們假定對話狀態只能採用有限的許多可能值,並且是完全可觀察到的(即DST是完美的)。鑑於用戶話語模棱兩可以及NLU中不可避免的錯誤,這兩個假設在現實世界的應用程序中經常被違反。
爲了處理對話系統中固有的不確定性,Roy等人。 (2000)和Williams and Young(2007)提出使用部分可觀察的馬爾可夫決策過程(POMDP)作爲用於建模和優化對話系統的有原則的數學框架。這個想法是將用戶的話語作爲觀察,以保持未觀察到的對話狀態的後驗分佈。由於POMDP中的精確優化在計算上難以實現,因此作者研究了近似技術(Roy等人,2000; Williams and Young,2007; Young等人,2010; Li等人)。 (2009年; Gasic和Young,2014年)以及諸如信息狀態框架之類的替代表示形式(Larsson和Traum,2000年; Daubigney等人,2012年)。儘管如此,與後面幾節介紹的神經方法相比,這些方法通常需要更多領域知識來設計特徵和設計狀態。
傳統方法的另一個重要限制是,圖4.1中的每個模塊通常都是單獨優化的。因此,當系統運行不正常時,解決“信用分配”問題(即識別系統中的哪個組件會導致不期望的系統響應並需要改進)可能是一項挑戰。確實,正如McTear(2002)所言,“成功對話系統的關鍵是將這些組件集成到工作系統中。”可區分的神經模型和強化學習的最新結合使對話系統得以優化。以端到端的方式,可能會提高對話質量;見第二節4.6,以供進一步討論和有關該主題的最新著作。

4.2 Evaluation and User Simulation

評估一直是對話系統的重要研究課題。已經使用了不同的方法,包括基於語料庫的方法,用戶模擬,實驗室用戶研究,實際用戶研究等。我們將討論這些方法的優缺點,並在實踐中進行權衡以找到最佳選擇或他們的結合。
4.2.1評估指標
對話系統中的各個組件通常可以針對更明確定義的指標(例如準確性,準確性,召回率,F1和BLEU分數)進行優化,而評估整個對話系統則需要更全面的看法,並且更具挑戰性(Walker等人(1997,1998,2000; Paek,2001; Hartikainen等,2004)。在強化學習框架中,這意味着獎勵功能必須考慮對話質量的多個方面。在實踐中,獎勵函數通常是以下指標的子集的加權線性組合。
第一類指標衡量任務完成的成功程度。最常見的選擇可能是任務成功率-成功解決用戶問題(購買正確的電影票,找到合適的餐館等)的對話比例。實際上,該度量對應的獎勵每回合爲0,但最後一次回合除外,在該回閤中,成功對話爲+1,否則爲-1。在文獻中發現了很多例子(Walker等,1997; Williams,2006; Peng等,2017)。還使用了其他變體,例如用於衡量部分成功的變體(Singh等,2002; Young等,2016)。
第二類度量對話中發生的成本,例如經過的時間。一個簡單而有用的例子是轉數,這是從希望的角度出發,在其他所有條件都相同的情況下,更簡潔的對話是可取的。儘管存在更復雜的選擇,但相應的報酬是每轉一圈-1。(Walker等,1997)。
此外,對話質量的其他方面也可以編碼到獎勵函數中,儘管這是一個相對未充分研究的方向。在聊天機器人的背景下(第5章),連貫性,多樣性和個人風格已被用來產生更多類似於人的對話(Li等,2016a,b)。它們對於面向任務的對話也很有用。在秒4.4.6,我們將回顧一些旨在從數據中自動學習獎勵功能的近期著作。

4.2.2基於仿真的評估
通常,RL算法需要與用戶進行交互才能學習(第2.3節)。但是在招募用戶或實際用戶上運行RL可能會很昂貴。解決這一難題的自然方法是建立一個模擬用戶,RL算法實際上可以與該用戶交互,而無需任何成本。本質上,模擬用戶試圖模仿真實用戶在對話中的行爲:它跟蹤對話狀態,並與RL對話系統進行對話。
大量研究已經投入到構建現實的用戶模擬器中(Schatzmann等,2005a; Georgila等,2006; Pietquin和Dutoit,2006; Pietquin和Hastie,2013)。有許多不同的維度可對用戶模擬器進行分類,例如確定性與隨機性,基於內容的基於協作的,對話期間的靜態與非靜態用戶目標等。在這裏,我們重點介紹兩個方面,並向感興趣的用戶推薦Schatzmann等。 (2006)進一步瞭解創建和評估用戶模擬器的細節:
•在粒度維度上,用戶模擬器可以在對話行爲級別(也稱爲意圖級別)或話語級別(Jung等,2009)運行。
•在方法論維度上,可以使用基於規則的方法或基於模型的方法(從真實會話語料庫中學習模型)來實現用戶模擬器。

基於議程的仿真。例如,我們描述了由Schatzmann和Young(2009)開發的一種流行的基於隱藏議程的用戶模擬器,該方法在Li等人的論文中得到了實例化。 (2016d)和Ultes等。 (2017c)。每次對話模擬都從對話管理器未知的隨機生成的用戶目標開始。通常,用戶目標由兩部分組成:通知插槽包含許多插槽值對,這些對值用作用戶要施加在對話上的約束;請求時隙是用戶最初不知道其值的時隙,並且將在對話過程中被填寫。圖4.2顯示了一個電影領域的示例用戶目標,其中用戶試圖爲明天的電影蝙蝠俠對超人購買3張票。
此外,爲了使用戶目標更切合實際,添加了特定於域的約束,因此要求某些位置出現在用戶目標中。例如,要求用戶知道她在電影域中想要的票數是有意義的。
在對話過程中,模擬用戶會維護一個堆棧數據結構,稱爲用戶議程。議程中的每個條目都與用戶要實現的待定意圖相對應,其優先級由議程堆棧中的後進先出操作隱式確定。換句話說,議程提供了一種方便的方式來編碼對話歷史記錄和用戶的“心態”。當顯示更多信息時,用戶的模擬歸結爲每次對話後如何維護議程。機器學習或專家定義的規則可用於在堆棧更新過程中設置參數。

基於模型的仿真。構建用戶模擬器的另一種方法完全基於數據(Eckert等,1997; Levin等,2000; Chandramohan等,2011)。在這裏,由於El Asri等人,我們描述了一個最近的例子。 (2016)。類似於基於議程的方法,模擬器還以隨機生成的用戶目標和約束開始情節。這些在對話過程中已修復。
在每個回合中,用戶模型都將到目前爲止在對話中收集的一系列上下文作爲輸入,並輸出下一個動作。具體來說,對話時的上下文包括:
•最近的機器動作,
•機器信息和用戶目標之間的不一致,
•約束狀態,和•請求狀態。
在這些上下文中,LSTM或其他序列到序列模型用於輸出下一個用戶話語。可以從人與人對話語料庫中學習該模型。實際上,通過結合基於規則和基於模型的技術來創建用戶模擬器,它通常可以很好地工作。

關於用戶模擬的進一步說明。儘管在用戶模擬方面已經進行了大量工作,但是構建類似人類的模擬器仍然具有挑戰性。實際上,即使用戶模擬器評估本身仍然是一個持續的研究主題(Williams,2008; Ai和Litman,2008; Pietquin和Hastie,2013)。在實踐中,經常觀察到在爲另一個用戶模擬器或真實人服務時,過分適合特定用戶模擬器的對話策略可能無法很好地發揮作用(Schatzmann等,2005b; Dhingra等,2017)。用戶模擬器和人類之間的鴻溝是基於用戶模擬的對話策略優化的主要限制。
某些用戶模擬器可公開用於研究目的。 Li等人提到的基於議程的模擬器除外。 (2016d); Ultes等。 (2017c)是一個具有評估環境的大型語料庫,名爲AirDialogue(在航班預訂領域),最近纔可用(Wei等人,2018)。在2018年舉行的IEEE口語技術研討會上,微軟通過提供一個實驗平臺在多個領域提供內置的用戶模擬器,組織了一場對話挑戰,以構建端到端面向任務的對話系統。 2018)。
4.2.3基於人的評估
由於模擬用戶和人類用戶之間的差異,通常需要測試人類用戶的對話系統以可靠地評估其質量。人類用戶大致有兩種類型。
首先是可能通過衆包平臺在實驗室研究中招募的人類受試者。通常,要求參與者測試使用對話系統來解決給定任務(取決於對話的域),以便獲得對話的集合。可以像模擬用戶一樣測量感興趣的指標,例如任務完成率和每次對話的平均轉彎次數。在其他情況下,要求這些受試者中的一小部分使用基準對話系統進行測試,以便可以將它們與各種指標進行比較。
許多涉及人類受試者的已發表研究都是第一類的(Walker,2000; Singh等,2002; Ai等,2007; Rieser and Lemon,2011; Gasˇić等,2013; Wen等,2015) ; Young等人,2016; Peng等人,2017; Lipton等人,2018)。儘管此方法相對於基於模擬的評估具有優勢,但要獲得大量可以長時間參與的主題卻相當昂貴且耗時。因此,它具有以下限制:

•主題數量少,無法檢測到統計上顯着但數值上很小的度量差異,通常會導致不確定的結果。
•只能比較很少的對話系統。
•運行通過與這些用戶進行交互來學習的RL代理通常是不切實際的,除了
在相對簡單的對話應用程序中。
用於對話系統評估的另一類人員是實際用戶(例如Black等人(2011年))。它們與第一類用戶相似,不同之處在於它們附帶了要與系統對話解決的實際任務。因此,對它們進行評估的指標甚至比對具有人工生成任務的新招募人類受試者所計算的指標更加可靠。此外,實際用戶的數量可能會更大,從而導致評估的更大靈活性。在此過程中,可以使用許多在線和離線評估技術,例如A / B測試和反事實估計(Hofmann等,2016)。嘗試使用實際用戶的主要缺點是存在負面用戶體驗和正常服務中斷的風險。

4.2.4其他評估技術
最近,研究人員已開始研究一種不同的評估方法,該方法受RL中的自我扮演技術的啓發(Tesauro,1995; Mnih et al。,2015)。此技術通常用於兩人遊戲(例如圍棋遊戲)中,其中兩個玩家都由同一個RL代理控制,初始化方式可能不同。通過與代理人對抗,可以以相對較低的成本生成大量軌跡,RL代理可以從中學習良好的策略。
自我演奏必須適合用於對話管理,因爲參與對話的兩個方通常扮演不對稱角色(不同於諸如Go之類的遊戲)。 Shah等。 (2018)描述了這種對話自演過程,該過程可以在模擬用戶和系統代理之間生成對話。在談判對話(Lewis等人,2017)和麪向任務的對話(Liu和Lane,2017; Shah等人,2018; Wei等人,2018)中觀察到了有希望的結果。它提供了一種有趣的解決方案,可以避免因涉及人類用戶而導致的評估成本以及對不真實的模擬用戶的過度擬合。
在實踐中,採用混合方法進行評估是合理的。一種可能性是從模擬用戶開始,然後驗證或微調與人類用戶的對話策略(參見Shah等人(2018))。此外,還有更系統的方法來使用兩種用戶來源進行策略學習(請參閱第4.4.5節)。

4.3自然語言理解和對話狀態跟蹤
NLU和DST是對話系統必不可少的兩個緊密相關的組件。它們可能會對整個系統的性能產生重大影響(例如,參見Li等人(2017e))。本節回顧一些經典的和最新的方法。
4.3.1自然語言理解
NLU模塊將用戶話語作爲輸入,並執行三個任務:域檢測,意圖確定和插槽標記。圖4.3給出了這三個任務的示例輸出。通常,採用流水線方法,以便依次解決這三個任務。準確性和F1分數是用於評估模型的預測質量的兩個最常用的指標。 NLU是對話系統中後續模塊的預處理步驟,其質量對系統的整體質量有重大影響(Li等,2017d)。
其中,前兩個任務通常被歸類爲一個分類問題,根據當前用戶的話語推斷出領域或意圖(從一組預定義的候選對象中得出)(Schapire和Singer,2000; Yaman等,2008)。 ; Sarikaya et al。,2014)。在最近的文獻中已經使用了神經分類方法來進行多類分類,其效果優於傳統的統計方法。 Ravuri和Stolcke(2015; 2016)研究了標準循環神經網絡的使用,發現它們更有效。對於必須從上下文中推斷出信息的短句子,Lee and Dernoncourt(2016)提出使用遞歸和卷積神經網絡,該網絡也考慮了當前發聲之前的文本。在多個基準測試中顯示出更好的結果。
槽標籤的更具挑戰性的任務通常被視爲序列分類,其中分類器爲輸入話語的子序列預測語義分類標籤(Wang等,2005; Mesnil等,2013)。圖4.3展示了一個由內而外開始(IOB)格式的ATIS(航空公司旅行信息系統)話語示例(Ramshaw和Marcus,1995),其中,每個單詞的模型都用來預測語義標籤。
姚等。 (2013)和Mesnil等。 (2015年)將遞歸神經網絡應用於時隙標記,其中輸入是話語中單詞的一鍵編碼,並且比諸如條件隨機場和支持向量機之類的統計基線獲得更高的準確性。此外,還表明,可以將先驗單詞信息有效地合併到基本的遞歸模型中,以進一步提高準確性。

例如,本節將按照Hakkani-Tür等人的描述,在NLU任務中使用雙向LSTM(Graves和Schmidhuber,2005)或簡稱bLSTM。 (2016年),他還討論了用於相同任務的其他模型。 如圖4.4所示,該模型使用兩組應用於輸入序列(正向)和反向輸入序列(反向)的LSTM單元。 向前和向後LSTM的串聯隱藏層用作另一個神經網絡的輸入

 

其中ht-1是隱藏層,W⋆是可訓練參數,g(·)是S型函數。 與標準LSTM中一樣,ft和ot分別是輸入,忘記和輸出門。 後面的部分相似,輸入相反。
爲了預測如圖4.3所示的時隙標籤,輸入的wt通常是單詞嵌入向量的一個熱向量。 根據以下分佈pt預測輸入wt時的輸出:

上標(f)和(b)分別表示bLSTM的前向和後向部分。對於領域和意圖分類之類的任務,在輸入序列的末尾預測輸出,並且可以使用更簡單的體系結構(Ravuri和Stolcke,2015,2016)。
在許多情況下,僅當前的話語可能會模棱兩可或缺少所有必要的信息。包含來自先前話語的信息的上下文有望幫助提高模型的準確性。 Hori等。 (2015年)將對話歷史視爲一長串單詞,具有不同的角色(來自用戶的單詞與來自系統的單詞),並提出了一種LSTM的變體,其中具有角色依賴層。 Chen等。 (2016b)建立在記憶網絡上,該記憶網絡在進行廣告位標記預測時瞭解應該關注上下文信息的哪一部分。兩種模型都比無上下文模型獲得更高的準確性。
儘管通常會單獨研究這三個NLU任務,但在多個域中聯合解決它們(類似於多任務學習)還是有好處的,因此可能需要更少的標記爲新域創建NLU模型時的數據(Hakkani-Tür等人,2016; Liu和Lane,2016)。 可以導致新域中的標籤成本大幅降低的另一項有趣的工作是零鏡頭學習,通過嵌入時隙(文本)描述,在共享的潛在語義空間中表示來自不同域的時隙(Bapna 等人,2017; Lee和Jha,2019)。 感興趣的讀者可參考Chen和Gao(2017)和Chen等人的最新教程。 (2017e),瞭解更多詳細信息。

4.3.2對話狀態跟蹤
在空位填充問題中,對話狀態包含有關用戶在當前對話時正在尋找什麼的所有信息。此狀態是對話策略所採用的輸入,用於決定下一步應採取的措施(圖4.1)。
例如,在餐廳域中,用戶嘗試進行預訂,對話狀態可能包含以下組件(Henderson,2015年):
•每個可告知時段的目標約束,其形式爲該時段的值分配。該值可以是“無關”(如果用戶沒有偏好)或“無”(如果用戶尚未指定該值)。
•用戶要求系統通知的請求插槽的子集。
•當前的對話搜索方法,通過約束,替代方式獲取值
並完成。它對用戶嘗試與對話系統進行交互的方式進行編碼。
文獻中也使用了許多替代方法,例如Kotti等人最近提出的緊湊的二進制表示形式。 (2018),以及Ren等人的StateNet跟蹤器。 (2018b),它可以隨着域大小(插槽數和插槽值數)進行擴展。
過去,DST可以由專家創建,也可以通過統計學習算法(例如條件隨機字段)從數據中獲取(Henderson,2015年)。最近,神經方法開始流行起來,其中較早的例子是深度神經網絡(Henderson等,2013)和遞歸網絡(Mrksˇić等,2015)的應用。
最新的DST模型是Mrksˇic等人提出的神經信仰追蹤器。 (2017),如圖4.5所示。該模型將三項作爲輸入。前兩個是最後的系統話語和用戶話語,每個話語都首先映射到內部矢量表示。作者研究了基於多層感知器和卷積神經網絡的兩種表示學習模型,它們都利用了預先訓練的詞向量集合,併爲輸入話語輸出嵌入。第三個輸入是DST跟蹤的任何插槽值對。然後,這三個嵌入可以在它們之間進行交互以進行上下文建模,以從會話流和語義解碼中提供更多的上下文信息,從而確定用戶是否明確表達了與輸入槽值對匹配的意圖。最後,上下文建模和語義解碼向量經過softmax層以產生最終預測。對所有可能的候選時隙值對重複相同的過程。
Lei等人探索了對話狀態的另一種表示形式,稱爲信念跨度。 (2018)在Sequicity框架中。置信範圍由兩個字段組成:一個字段用於通知時隙,另一個字段用於請求時隙。每個字段都會收集到目前爲止在會話中爲各個插槽找到的值。信念範圍和安全性的主要好處之一是,它有助於使用神經序列到序列模型來學習對話系統,該系統將信念範圍作爲輸入和輸出系統的響應。與更傳統的流水線方法相比,這大大簡化了系統設計和優化(參見第4.6節)。

對話狀態跟蹤挑戰(DSTC)是一系列挑戰,爲對話狀態跟蹤提供了通用的測試平臺和評估措施。從威廉姆斯等人開始。 (2013年),它成功吸引了許多研究團隊專注於DST中的各種技術問題(Williams等,2014; Henderson等,2014b,a; Kim等,2016a,b; Hori等)。等人,2017)。 DSTC多年來使用的公司涵蓋了人機對話和人與人之間的對話,以及餐廳和旅遊者等不同領域的跨語言學習。可以在DSTC網站上找到更多信息。2
4.4對話政策學習
在本節中,我們將重點介紹基於強化學習的對話策略優化。
4.4.1用於策略優化的Deep RL
對話策略可以通過許多標準的強化學習算法來優化。有兩種使用RL的方法:在線和批處理。在線方法要求學習者與用戶互動以改進其政策;批處理方法假設有一組固定的過渡,並且僅基於數據優化策略,而無需與用戶進行交互(例如,參見Li等人(2009); Pietquin等人(2011))。在本章中,我們將討論通常將批處理學習作爲內部步驟的在線設置。在批處理設置中,許多涵蓋的主題可能很有用。在這裏,我們以Lipton等人的DQN爲例。 (2018),以說明基本工作流程。
模型:體系結構,培訓和推理。 DQN的輸入是當前對話狀態的編碼。一種選擇是將其編碼爲特徵向量,包括:(1)對話動作和對應於最後一個用戶動作的廣告位的單幅表示; (2)對話動作和對應於最後一個系統動作的時段的相同的一次性表示; (3)一袋與到目前爲止對話中所有先前填充的插槽相對應的插槽; (4)當前轉數; (5)知識庫中與已填充的已知槽位約束匹配的結果數。用s表示此輸入向量。
DQN輸出實值向量,其條目對應於對話系統可以選擇的所有可能的(對話動作,時隙)對。如果某些(對話動作,插槽)對對系統沒有意義,例如request(price),則可以使用現有的先驗知識來減少輸出數量。用q表示該輸出向量。

 

其中g(·)是激活函數,例如ReLU或S型。請注意,最後一層不需要
激活函數,並且輸出q近似於狀態s中的Q值Q(s,·)。
要學習網絡中的參數,可以使用現成的強化學習算法(例如,具有經驗重播的等式2.4或2.5);見第二節2.3獲取確切的更新規則和改進的算法。一旦學習了這些參數,網絡便會誘導出如下所示的貪婪動作選擇策略:對於當前對話狀態s,使用網絡上的前向通過來計算q,即所有動作的Q值。可以選擇一個動作,即(對話動作,槽)對,它對應於q中具有最大值的條目。由於需要探索,可能不需要上面的貪婪選擇。見第二節4.4.2對此主題的討論。
熱啓動政策。從頭開始學習好的政策通常需要很多數據,但是可以通過使用專家生成的對話(Henderson等,2008)或老師的建議(Chen等,2017d)限制政策搜索,從而大大加快這一過程。 ,或在切換到與(模擬)用戶的在線互動之前,將該策略初始化爲合理的策略。
一種方法是使用模仿學習(也稱爲行爲克隆)來模仿專家提供的策略。一種流行的選擇是使用監督學習來直接瞭解某個狀態下專家的行爲;見Su等。 (2016b); Dhingra等。 (2017);威廉姆斯等。 (2017); Liu和Lane(2017)列舉了一些最近的例子。 Li等。 (2014年)將模仿學習轉化爲誘導強化學習問題,然後應用了現成的RL算法來學習專家的政策。
最後,Lipton等。 (2018)提出了一種簡單而有效的替代方法,稱爲重播緩衝區加標(RBS),特別適合DQN。這個想法是通過運行一個幼稚但偶爾會成功的基於規則的代理程序來生成少量對話,從而預填充DQN的體驗重播緩衝區。在模擬研究中,該技術對於DQN必不可少。

其他方法。 在以上示例中,在DQN中使用了標準的多層感知器來近似Q函數。 它可能會被其他模型所取代,例如爲有效探索而在下一個小節中描述的貝葉斯模型以及可以更輕鬆地從對話中捕獲信息的循環網絡(Zhao和Eskénazi,2016; Williams等,2017)。 歷史比專家設計的對話狀態要好。 在另一個最近的例子中,Chen等。 (2018年)使用圖神經網絡建模Q函數,圖中的節點對應於域的插槽。 節點可以跨多個時隙共享一些參數,因此提高了學習速度。
此外,可以用策略梯度(2.3.2節)代替上述基於價值函數的方法,如Fatemi等人所做的。 (2016); Dhingra等。 (2017); Strub等。 (2017); 威廉姆斯等。 (2017); 劉等。 (2018a)。

4.4.2高效探索和領域擴展
在沒有老師幫助的情況下,RL代理可以通過與最初未知的環境進行交互來從收集的數據中學習。通常,代理必須嘗試在新狀態下采取新措施,以發現可能更好的策略。因此,它必須在開發(選擇好的行動以最大化報酬)和勘探(選擇新穎的行動以發現可能更好的替代品)之間取得良好的權衡,從而導致需要有效的勘探(Sutton and Barto,2018)。在對話策略學習的背景下,這意味着策略學習者會積極嘗試與用戶進行對話的新方法,以期從長遠來看發現更好的策略。參見,例如,Daubigney等。 (2011)。
雖然對有限狀態RL的探索相對容易理解(Strehl等,2009; Jaksch等,2010; Osband和Roy,2017; Dann等,2017),但使用神經網絡等參數模型時的探索是活躍的研究主題(Bellemare等,2016; Osband等,2016; Houthooft等,2016; Jiang等,2017)。在此,描述了一種通用的探索策略,該策略特別適合可能隨時間演變的對話系統。
在部署了面向任務的對話系統爲用戶提供服務後,可能需要隨着時間的流逝添加更多的意圖和/或位置以使系統更加通用。這個問題稱爲域擴展(Gasˇic等人,2014),這使探索更具挑戰性:代理商需要明確量化其意圖/廣告位參數的不確定性,以便在避免探索的情況下更積極地探索新事物。那些已經學過的。 Lipton等。 (2018)使用DQN的Bayesian-by-Backprop變體解決了這個問題。
他們的模型稱爲BBQ,與DQN相同,不同之處在於它在網絡權重w =(w1,w2,...,wd)上保持後驗分佈q。爲了便於計算,q是具有對角協方差的多元高斯分佈,其參數爲θ= {((i,ρi)} di = 1,其中權重wi具有高斯後驗分佈,N(μi,σi2)和σi= log(1 + exp(ρi))。後驗信息根據湯普森抽樣(湯普森,1933; Chapelle and Li,2012; Russo et al。,2018)的啓發,提出了自然勘探策略。當選擇動作時,代理簡單地畫出一個隨機權重w ̃ q,然後選擇網絡輸出的最高值的動作。實驗表明,對於對話域擴展,BBQ的探索效率要高於最新基準。
BBQ模型是更新的。GivenobservedtransitionsT = {(s,a,r,s')},使用目標網絡(請參見第2.3節)來計算T中每個(s,a)的目標值,從而得出D = {(x ,y)},其中x =(s,a)和y可以像DQN中那樣計算。然後,更新參數θ以表示權重的後驗分佈。由於確切的後驗不再是高斯,因此不能用BBQ表示,因此可以近似如下:通過最小化變分自由能來選擇θ(Hinton和Van Camp,1993),變分近似q之間的KL散度(w |θ)和後驗p(w | D):

 

4.4.3複合任務對話
在許多實際問題中,一個任務可能包含一組需要共同解決的子任務。同樣,對話通常可以分解爲一系列相關的子對話,每個子對話都集中於一個子主題(Litman和Allen,1987)。例如,考慮一個旅行計劃對話系統,該系統需要以集體的方式預訂機票,酒店和租車,以便滿足某些跨子任務限制(稱爲時段限制)(Peng等人,2017年)。插槽限制是特定於應用程序的。在旅行計劃問題中,一個自然的限制條件是出站航班的到達時間應早於酒店的登機時間。
Peng等人將具有時隙限制的複雜任務稱爲複合任務。 (2017)。針對複合任務優化對話策略具有挑戰性,原因有二。首先,該策略必須處理許多插槽,因爲每個子任務通常對應於具有自己的插槽組的域,並且複合任務的插槽組由所有子任務的插槽組成。此外,由於插槽限制,這些子任務無法獨立解決。因此,複合任務考慮的狀態空間要大得多。第二,複合任務對話通常需要完成更多的轉彎。典型的獎勵功能僅在整個對話結束時纔給出成功或不成功的獎勵。結果,該獎勵信號非常稀疏並且大大延遲,從而使策略優化變得更加困難。
Cuayáhuitl等(2010)建議使用表格強化的MAXQ(Dietterich,2000)和分層抽象機器(Parr and Russell,1998)的方法,使用分層強化學習來優化複合任務的對話策略。儘管它們的解決方案很有希望,但它們假定的狀態是有限的,因此不能直接應用於較大規模的會話問題。
最近,Peng等。 (2017年)在更通用的選擇框架下解決了複合任務對話政策學習問題(Sutton等,1999b),其中任務層次分爲兩個層次。如圖4.6所示,頂層策略πg選擇要解決的子任務g,底層策略πa,g解決πg指定的子任務。假設有預定義的子任務,它們將擴展DQN模型,從而大大加快學習速度並提供更好的策略。 Budzianowski等人採用了類似的方法。 (2017),他使用高斯過程RL而非深度RL進行政策學習

在基於選項/子目標的層次強化學習中的主要假設是對合理選項和子目標的需求。唐等。 (2018)考慮了從對話示威中發現子目標的問題。受成功應用於機器翻譯的序列分割方法的啓發(Wang等人,2017a),作者開發了子目標發現網絡(SDN),該網絡學習了在成功對話中識別“瓶頸”狀態的方法。結果表明,用SDN發現的子目標優化的分層DQN與專家設計的子目標相比具有競爭力。
最後,Casanueva等人進行了另一項有趣的嘗試。 (2018)基於封建強化學習(FRL)(Dayan and Hinton,1993)。與上述將任務分解爲時間上分離的子任務的方法相反,FRL在空間上分解複雜的決策。在對話的每一輪中,封建政策首先在信息收集行動和信息提供行動之間做出決定,然後根據這一高層決定來選擇原始行動。
4.4.4多域對話
多域對話可以與用戶交談,以進行可能涉及多個域的對話(Komatani等,2006; Hakkani-Tür等,2012; Wang等,2014)。表4.2顯示了一個示例,其中對話涵蓋了酒店和飯店域,此外還有一個特殊的子對話元域,其中子對話包含與域無關的系統和用戶響應。
與複合任務不同,對話中與不同域相對應的子對話是單獨的任務,沒有跨任務插槽限制。與複合任務系統相似,多域對話系統需要跟蹤更大的對話狀態空間,該對話空間具有來自所有域的時隙,因此直接應用RL可能效率低下。因此,這就需要學習可重用的策略,只要它們相互關聯,就可以在多個域之間共享其參數。
Gasˇić等。 (2015)提出使用貝葉斯委員會機器(BCM)進行有效的多領域政策學習。在培訓期間,針對不同的,可能很小的數據集對許多策略進行了培訓。作者使用高斯過程RL算法優化了這些策略,儘管可以用深度學習替代方法來代替它們。在測試期間,在每次對話中,這些策略都會建議一項操作,並且所有建議都將彙總爲最終措施,由BCM策略採取。
Cuayáhuitl等(2016年)開發了另一種相關技術,稱爲NDQN-DQN網絡,其中,每個DQN都經過專門技能培訓,可以在特定的子對話中進行交流。元策略控制着如何在這些DQN之間進行切換,也可以使用(深度)強化學習進行優化。
最近,Papangelis等人。 (2018a)研究了另一種方法,其中可以通過描述一個域的一組功能來共享針對不同域優化的策略。它被證明能夠處理看不見的領域,從而減少了領域知識設計本體的需要。

4.4.5規劃與學習的整合
如第二節所述。 4.2,優化針對人類的面向任務的對話的策略是昂貴的,因爲它需要對話系統與人類之間的許多交互(圖4.7的左圖)。模擬用戶爲基於RL的策略優化提供了一種廉價的替代方法(圖4.7的中間面板),但可能不是真實真實的人類用戶近似值。
在這裏,我們關注的是使用用戶模型來生成更多數據,以改善優化對話系統時的樣本複雜性。 Peng等人從Dyna-Q框架(Sutton,1990)中得到啓發。 (4.7)提出了Deep Dyna-Q(DDQ)來處理深度學習模型的大規模問題,如圖4.7右圖所示。直觀地,DDQ允許與人類用戶和模擬用戶進行交互。 DDQ的培訓包括三個部分:
•直接強化學習:對話系統與真實用戶互動,收集真實對話,並通過模仿學習或強化學習來改善政策;
•世界模型學習:使用直接強化學習收集的真實對話來完善世界模型(用戶模擬器);
•計劃:通過強化學習來改善針對模擬用戶的對話策略。
在環實驗表明,DDQ能夠通過與真實用戶進行交互來有效地改善對話策略,這對於在實踐中部署對話系統非常重要。
DDQ的挑戰之一是平衡來自真實用戶(直接強化學習)和模擬用戶(計劃)的樣本。 Peng等。 (2018)使用了一種啓發式方法,當更多實際用戶交互可用時,該方法可減少DDQ後期的計劃步驟。相反,Su等。 (b)(2018b)提出了基於生成對抗網絡的Discriminative Deep Dyna-Q(D3Q)。具體來說,它包含一個鑑別器,該鑑別器經過訓練可以區分模擬用戶的體驗和真實用戶的體驗。在計劃步驟中,僅根據區分項,模擬體驗只有在它看起來是真實用戶體驗時才用於策略培訓。

4.4.6獎勵功能學習
對話策略通常經過優化,以在與用戶互動時最大化長期獎勵。因此,獎勵功能對於創建高質量的對話系統至關重要。一種可能性是讓用戶在對話過程中或對話結束時提供反饋以對質量進行評分,但是這樣的反饋是侵入性的且代價高昂的。通常,易於測量的數量(例如經過時間)用於計算獎勵函數。不幸的是,實際上,設計適當的獎勵功能並不總是很明顯,並且需要大量的領域知識(第4.1節)。這激發了使用機器學習從數據中找到良好的獎勵功能的能力(Walker等,2000; Rieser和Lemon,2008; Rieser等,2010; El Asri等,2012),它可以更好地與用戶相關滿意度(Rieser和Lemon,2011年),或更符合專家的論證(Li等,2014年)。
Su等。 (2015)提出用兩個神經網絡模型,即遞歸網絡和卷積網絡來評價對話的成功率。與使用用戶目標先驗知識的基準相比,發現他們的方法可以產生競爭性的對話政策。但是,這些模型假設以(對話,成功與否)對的形式提供標記數據的可用性,其中獲得用戶提供的成功與否反饋可能是昂貴的。爲了降低標籤成本,Su等人。 (2016a; 2018a)研究了一種基於高斯過程的主動學習方法,旨在在與人類用戶互動的同時學習獎勵功能和政策。
Ultes等。 (2017a)認爲,對話的成功只能衡量對話政策質量的一個方面。針對信息搜索任務,作者提出了一種基於交互質量的新的獎勵估算器,該交互器​​平衡了對話策略的多個方面。後來,Ultes等人。 (2017b)使用多目標RL來自動學習如何在獎勵函數的定義中線性組合多個關注指標。
最後,在深度學習的對抗訓練的啓發下,Liu和Lane(2018)提出將獎勵功能視爲區分人和對話政策所產生的對話的區分器。因此,在他們的方法中有兩個學習過程:獎勵函數作爲鑑別器,以及優化了對話策略以最大化獎勵函數。作者表明,這種對抗性學習的獎勵功能比手工設計的獎勵功能可以帶來更好的對話策略。

4.5自然語言生成
自然語言生成(NLG)負責將對話管理器選擇的交流目標轉換爲自然語言形式。它是影響對話系統的自然性並影響用戶體驗的重要組件。
存在多種語言生成方法。在實踐中,最常見的可能是基於模板或基於規則的模板,其中領域專家設計一組模板或規則,並通過手工啓發法選擇合適的候選詞來生成句子。即使機器學習可以用來訓練這些系統的某些部分(Langkilde和Knight,1998; Stent等,2004; Walker等,2007),但是編寫和維護模板和規則的成本卻導致了適應性挑戰。新域或不同的用戶羣。此外,這些NLG系統的質量受到手工製作的模板和規則的質量的限制。
這些挑戰推動了對更多數據驅動方法的研究,這些方法被稱爲基於語料庫的方法,旨在優化語料庫的生成模塊(Oh和Rudnicky,2002; Angeli等,2010; Kondadadi等,2013)。 ; Mairesse and Young,2014年)。大多數此類方法基於監督學習,而Rieser和Lemon(2010)則採用決策理論觀點,並使用強化學習在句子長度和所顯示的信息之間進行權衡。3
近年來,人們對神經生成語言的方法越來越感興趣。一個優雅的模型,稱爲語義控制的LSTM(SC-LSTM)(Wen等,2015),是LSTM的一種變體(Hochreiter and Schmidhuber,1997),具有一個額外的組件,可以對語言生成結果進行語義控制。 。如圖4.8所示,一個基本的SC-LSTM單元有兩個部分:一個典型的LSTM單元(圖中的上部)和一個用於語義控制的句子計劃單元(下部)。

其中ht-1是隱藏層,W⋆是可訓練參數,g(·)是S型函數。 就像在標準LSTM單元中一樣,ft和ot分別是輸入,忘記和輸出門。 引入SC-LSTM的額外組件是讀取門rt,用於從原始對話動作d0開始計算一系列對話動作{dt}。 該順序是爲了確保所產生的話語表示預期的含義,並且讀取門將控制要保留的信息以供將來使用。 從這個意義上說,rt扮演着句子計劃的角色(Wen等,2015)。 最後,給定隱藏層ht,輸出分佈由softmax函數給出:

Wen等。 (2015年)提出了對基本SC-LSTM體系結構的一些改進。 一種是通過在圖4.8的結構頂部堆疊多個LSTM單元來使模型更深。 另一個是話語重新排序:他們在反向輸入序列上訓練了另一個SC-LSTM實例,類似於雙向遞歸網絡,然後將這兩個實例組合在一起以完成重新排序。
上面概述的基本方法可以幾種方式擴展。 例如,Wen等。 Su等人(2016)研究了使用多域學習來減少訓練神經語言生成器的數據量。 (2018c)提出了一種分層方法,該方法利用語言模式來進一步改善生成結果。 語言生成仍然是活躍的研究領域。 下一章將介紹更多有關聊天交流的最新作品,其中許多技術在面向任務的對話系統中也很有用。

4.6端到端學習
傳統上,大多數對話系統中的組件是單獨優化的。這種模塊化方法提供了靈活性,允許以相對獨立的方式構建和優化每個模塊。但是,這通常會導致系統設計更加複雜,單個模塊的改進並不一定會轉化爲整個對話系統的改進。相反,Lemon(2011)爭論並在強化學習框架內通過經驗證明了共同優化對話管理和自然語言生成的好處。最近,隨着神經模型的日益普及,人們對聯合優化多個組件甚至是對話系統的端到端學習的興趣日益濃厚。
神經模型的好處之一是它們通常是可區分的,可以通過基於梯度的方法(例如反向傳播)進行優化(Goodfellow等人,2016)。除了前面各節介紹的語言理解,狀態跟蹤和策略學習之外,還可以通過神經模型和反向傳播學習語音識別和合成(用於口語對話系統),以實現最新技術性能(Hinton等,2012; van den Oord等,2016; Wen等,2015)。在極端情況下,如果面向任務的對話系統中的所有組件(圖4.1)都是可區分的,則整個系統將成爲一個更大的可區分系統,可以通過反向傳播對量化整個系統總體質量的度量進行優化。與分別優化單個組件的傳統方法相比,這是一個潛在的優勢。建立端對端對話系統的方法一般有兩種:
監督學習。首先是基於監督學習,首先收集所需的系統響應,然後將其用於訓練對話系統的多個組件,以最大程度地提高預測準確性(Bordes等,2017; Wen等,2017; Yang等人,2017b; Eric等人,2017; Madotto等人,2018; Wu等人,2018)。
Wen等。 (2017)引入了模塊化的神經對話系統,其中大多數模塊都由神經網絡表示。但是,他們的方法依賴於不可區分的知識庫查找運算符,因此對組件的培訓是在有監督的方式下進行的。 Dhingra等人解決了這一挑戰。 (2017)提出“軟”知識庫查找;見第二節3.5瞭解更多詳情。
Bordes等。 (2017)將對話系統學習視爲學習從對話歷史到系統響應的映射的問題。它們顯示出在許多模擬對話任務上,內存網絡和有監督的嵌入模型均優於標準基線。 Madotto等人採用了類似的方法。 (2018)在他們的Mem2Seq模型中。該模型使用了指針網絡的機制(Vinyals等人,2015a),以便整合知識庫中的外部信息。
最後,埃裏克等。 (2017)提出了一種端到端可訓練的鍵值檢索網絡,該網絡在知識庫條目上配備了基於注意力的鍵值檢索機制,可以學習從知識庫中提取相關信息。

強化學習。雖然監督學習方法可以產生令人鼓舞的結果,但它們需要獲得可能昂貴的訓練數據。此外,這種方法不允許對話系統探索不同的政策,而這些政策可能比產生針對有監督培訓的響應的專家政策更好。這激發了使用強化學習來優化端到端對話系統的另一項工作(Zhao和Eskénazi,2016; Williams和Zweig,2016; Dhingra等,2017; Li等,2017d; Braunschweiler和Papangelis ,2018; Strub等,2017; Liu和Lane,2017; Liu等,2018a)。
Zhao和Eskénazi(2016)提出了一個以用戶話語爲輸入並輸出語義系統動作的模型。他們的模型是基於LSTM的DQN的遞歸變體,該模型學習壓縮用戶話語序列以推斷對話的內部狀態。與經典方法相比,該方法能夠聯合優化策略,語言理解和狀態跟蹤,超越標準的監督學習。
Williams等人採用的另一種方法。 (2017),是使用LSTM避免狀態跟蹤工程的繁瑣步驟,並共同優化狀態跟蹤器和策略。他們的模型稱爲混合代碼網絡(HCN),也使工程師可以通過軟件和操作模板輕鬆整合業務規則和其他先驗知識。他們表明HCN可以進行端到端的培訓,這表明它比幾種端到端技術要快得多。
Strub等。 (2017)應用了策略梯度,以優化GuessWhat?中基於視覺的任務導向型對話。以端到端的方式進行遊戲。在遊戲中,用戶和對話系統都可以訪問圖像。用戶祕密地選擇圖像中的對象,並且對話系統通過詢問用戶是-否問題來定位該對象。
最後,可以在端到端的可培訓系統中結合監督學習和強化學習。劉等。 (2018a)提出了這種混合方法。首先,他們利用人與人對話的監督學習對政策進行了預訓練。其次,他們使用了一種稱爲DAgger的模仿學習算法(Ross等,2011),以與可以建議正確對話動作的人類老師進行協調。在最後一步中,強化學習用於通過在線用戶反饋繼續進行政策學習。

4.7進一步說明
在本章中,我們對面向任務的對話系統的最新神經方法進行了調查,重點研究了空位填充問題。這是一個具有許多令人興奮的研究機會的新領域。儘管不能涵蓋所有較一般的對話問題和所有研究方向,但仍不在本文討論範圍之內,我們僅簡要介紹其中的一小部分以結束本章。
除了老虎機對話之外。實際上,面向任務的對話比填補空缺的對話更加多樣化和複雜。尋求信息或導航對話是另一個在不同環境中提到的流行示例(例如Dhingra等人(2017),Papangelis等人(2018b)和第3.5節)。另一個方向是豐富對話環境。我們的日常對話通常是多模式的,而不是純文本或僅語音的對話,並且涉及視覺等語言和非語言輸入(Bohus等人,2014; DeVault等人,2014; de Vries等人,2017; Zhang et al。,2018a)。諸如如何組合來自多種方式的信息以做出決策之類的挑戰自然而然地出現了。
到目前爲止,我們已經研究了涉及兩方的對話-用戶和對話代理,後者是爲前者提供幫助。一般而言,任務可能會更加複雜,例如混合發起對話(Horvitz,1999)和談判(Barlier等,2015; Lewis等,2017)。一般而言,對話中可能涉及多個參與者,轉彎變得更具挑戰性(Bohus和Horvitz,2009,2011)。在這種情況下,採取博弈論的觀點比單代理決策中的MDP觀點更爲籠統是有幫助的。
學習信號較弱。在文獻中,可以通過監督學習,模仿學習或強化學習來優化對話系統。有些需要專家標籤/演示,而有些則需要來自(模擬)用戶的獎勵信號。還有其他一些較弱的學習信號形式,可以促進大規模的對話管理。一個有前途的方向是考慮優先輸入:而不是對政策質量有絕對的判斷(以標籤或獎勵的形式),只需要一個優先輸入即可表明兩個對話中哪一個更好。這種可比的反饋通常更容易獲得且更便宜,並且比絕對反饋更可靠。

相關領域。評價仍然是主要的研究挑戰。儘管用戶模擬可能是有用的(第4.2.2節),但更有吸引力且更可靠的解決方案是直接使用真實的人與人對話語料庫進行評估。不幸的是,這個問題在RL文獻中被稱爲非政策評估,在當前的衆多研究工作中都具有挑戰性(Precup等,2000; Jiang和Li,2016; Thomas和Brunskill,2016; Liu等,2018c) 。在評估和優化對話系統中,這種非政策性技術可以找到重要的用途。
另一相關研究領域是應用於文本遊戲的深度強化學習(Narasimhan等人,2015; Coˆté等人,2018),在很多方面與對話類似,只是場景是由遊戲設計師預先定義的。解決文字遊戲的最新進展,例如處理自然語言動作(Narasimhan等人,2015; He等人,2016; Coté等人,2018)和可解釋的政策(Chen等人,2017c)可能會激發靈感類似的算法,對於面向任務的對話很有用。

 

Chapter 5

Fully Data-Driven Conversation Models and Social Bots

研究人員最近開始探索完全數據驅動和端到端(E2E)的方法來生成對話響應,例如在序列到序列(seq2seq)框架內(Hochreiter和Schmidhuber,1997; Sutskever等人) (2014年)。這些模型完全由數據訓練而成,而無需藉助任何專家知識,這意味着它們不依賴於第4章中提到的對話系統的四個傳統組成部分。這種端到端模型在社交機器人(chitchat)上尤其成功在這種情況下,社交機器人很少需要與用戶環境進行交互,並且缺少諸如API調用之類的外部依賴項,從而簡化了端到端培訓。相比之下,任務完成方案通常需要例如知識庫訪問形式的API。該框架在chitchat上取得成功的另一個原因是,它可以輕鬆擴展到大型的自由格式和開放域數據集,這意味着用戶通常可以在自己喜歡的任何話題上聊天。儘管社交機器人在促進人類及其設備之間的流暢交互方面具有至關重要的意義,但最近的工作也集中在超越建議的場景上,例如推薦。

5.1端到端對話模型
大多數最早的端到端(E2E)對話模型均受統計機器翻譯(SMT)的啓發(Koehn等,2003; Och和Ney,2004),包括神經機器翻譯(Kalchbrenner和Blunsom)。 ,2013; Cho等,2014a; Bahdanau等,2015)。轉換會話響應生成任務(即根據先前的對話轉彎Ti-1預測響應Ti)是SMT問題,這是相對自然的問題,因爲可以將轉彎Ti-1視爲“外來句子” ”,然後將Ti設爲其“翻譯”。這意味着可以將任何現成的SMT算法應用於會話數據集,以構建響應生成系統。這是最初在完全數據驅動的對話式AI的第一批作品(Ritter等,2011)中提出的想法,該論文將基於短語的翻譯方法(Koehn等,2003)應用於從Twit中提取的對話數據集。 -ter(Serban et al。,2015)。 (Jafarpour et al。,2010)提出了一種不同的E2E方法,但是它依賴於基於IR的方法,而不是機器翻譯。
儘管與早期的對話工作相比,這兩篇論文構成了範式轉變,但它們有一些侷限性。它們最大的侷限性在於它們將數據表示爲(查詢,響應)對,這阻礙了它們生成適合上下文的響應的能力。這是一個嚴重的侷限性,因爲在座談會上對話的時間通常很短(例如,一些話語,例如“真的嗎?”),在這種情況下,會話模型迫切需要更長的上下文才能產生合理的響應。這種侷限性激發了Sordoni等人的工作。 (2015b),提出了一種基於RNN的會話響應生成方法(類似於圖2.2),該方法利用了更長的上下文。連同同期工作(Shang等人,2015; Vinyals和Le,2015),這些論文提出了首個完全E2E對話建模的神經方法。儘管這三篇論文具有一些不同的屬性,但它們都是基於RNN架構的,如今,它們通常使用長短期記憶(LSTM)模型進行建模(Hochreiter和Schmidhuber,1997; Sutskever等人,2014)。

5.1.1 LSTM模型
我們在這裏概述基於LSTM的響應生成,因爲LSTM可以說是最受歡迎的seq2seq模型,儘管諸如GRU(Cho等人,2014b)之類的替代模型通常同樣有效。 LSTM是圖2.2中表示的RNN模型的擴展,並且在利用長期上下文方面通常更有效。 基於LSTM的響應生成系統通常按以下方式建模(Vinyals和Le,2015; Li等,2016a):給定對話歷史,表示爲一系列單詞S = {s1,s2,...,sNs} (S代表源),LSTM將每個時間步k與輸入,存儲器和輸出門相關聯,分別表示爲ik,fk和ok。 Ns是源S.1中的單詞數。然後,對於每個時間步k,LSTM的隱藏狀態hk如下計算:

 

其中矩陣Wi,Wf,Wo,Wl屬於Rd×2d,◦表示按元素乘積。 由於它是響應生成任務,因此每個會話上下文S與一系列輸出單詞配對以進行預測:T = {t1,t2,...,tNt} .2 LSTM模型定義了預測下一個令牌的概率 使用softmax函數:3

 

5.1.2 HRED模型
儘管已證明LSTM模型可以有效地編碼多達500個單詞的文本上下文(Khandelwal等人,2018),但對話歷史往往很長,有時需要利用長期上下文。分層模型旨在通過捕獲更長的上下文來解決此限制(Yao等,2015; Serban等,2016,2017; Xing等,2018)。一種流行的方法是分層遞歸編碼器-解碼器(HRED)模型,該模型最初在(Sordoni等,2015a)中提出,用於查詢建議,並在(Serban等,2016)中用於響應生成。
HRED體系結構如圖5.1所示,在此處將其與標準RNN體系結構進行了比較。 HRED使用包含兩個RNN的兩級層次結構對對話進行建模:一個在單詞級別,一個在對話回合級別。這種體系結構模擬了對話歷史由一系列轉彎組成的事實,每個轉彎由一系列記號組成。該模型引入了一個時間結構,該結構使當前對話的隱藏狀態直接取決於先前對話的隱藏狀態,有效地使信息在更長的時間跨度內流動,並有助於減少消失的梯度問題(Hochreiter,1991)。 ,這是一個限制RNN(包括LSTM)建模非常長的單詞序列的能力的問題。請注意,在此特定工作中,使用GRU(Cho等人,2014b)而非LSTM實現了RNN隱藏狀態。

5.1.3注意模型
seq2seq框架在文本生成任務(例如機器翻譯)中非常成功,但是將整個源序列編碼爲固定大小的向量具有一定的侷限性,特別是在處理長源序列時。基於注意力的模型(Bahdanau等人,2015; Vaswani等人,2017)通過允許模型在源句中與預測下一個目標單詞相關的部分進行搜索和條件調整來減輕此限制,從而遠離一個僅將單個序列表示爲單個固定大小矢量的框架。雖然注意力模型和變體(Bahdanau等人,2015; Luong等人,2015等)在翻譯的最新技術(Wu等人,2016)中取得了重大進展,並且非常如今,注意力模型在E2E對話建模中的有效性有所降低。注意模型可以有效地嘗試“聯合翻譯和對齊”(Bahdanau等人,2015),這可以解釋這一事實,這是機器翻譯的理想目標,因爲源序列(外來句)中的每個信息片段通常需要在目標(翻譯)中只傳達一次,但這在對話數據中不太正確。的確,在對話中使用印第安語進行對話的軟資源可能無法映射到目標和副詞上,反之亦然。4一些特定的對話注意模型已被證明是有用的(Yao等,2015; Mei等,2017; Shao等,2017),例如,避免單詞重複(在第5.2節中進一步討論)。

5.1.4指針網絡模型
seq2seq框架的多個模型擴展(Gu等,2016; He等,2017a)提高了模型在對話上下文和響應之間“複製和粘貼”單詞的能力。與其他任務(例如翻譯)相比,此功能在對話中尤其重要,因爲響應通常會重複輸入的範圍(例如,“早安”響應“早安”)或使用諸如專有名詞之類的稀有單詞,該模型將難以使用標準RNN生成。這些模型最初是由Pointer Network模型(Vinyals等,2015a)啓發而來的,該模型產生了一個由輸入序列中的元素組成的輸出序列,這些模型假設目標詞是從固定大小的詞彙表(類似於A seq2seq模型)或使用關注機制從源序列(類似於指針網絡)中選擇。該模型的一個實例是CopyNet(Gu et al。,2016),由於其能夠重複輸入的專有名詞和其他單詞的能力,它被證明比RNN有了顯着改進。

5.2挑戰與補救
響應生成任務面臨着對話建模特有的挑戰。最近的許多研究旨在解決以下問題。
5.2.1反應淡淡
神經反應產生系統產生的言語通常是平淡無奇的。雖然在其他任務(例如圖像字幕)中已經注意到了這個問題(Mao等人,2015),但是在端到端響應生成中,這個問題尤爲嚴重,因爲常用的模型(例如seq2seq)往往會產生非信息性的響應,例如“我不要”不知道”或“我很好”。 Li等。 (2016a)認爲這是由於他們的訓練目標,根據p(T | S)優化了訓練數據的可能性,其中S是來源(對話歷史),T是目標反應。目標p(T | S)在T和S中是不對稱的,這導致訓練有素的系統更喜歡無條件享有高概率的響應T,即與上下文S無關。例如,此類系統通常會響應“ I don “不知道” S是否是一個問題,因爲對於幾乎所有問題,“我不知道”的回答都是合理的。 Li等。 (2016a)建議將條件概率p(T | S)替換爲
互信息p(T,S)爲目標,因爲後一個公式在S和T中是對稱的,因此p(T)p(S)
因此,除非學習數據本身出現這種偏差,否則它不會鼓勵學習者將響應T偏向平淡無奇和偏斜。雖然這個論點在總體上可能是正確的,但優化互信息目標(也稱爲最大互信息或MMI(Huang等,2001))可能具有挑戰性,因此Li等。 (2016a)在推斷時使用了該目標。更具體地說,給定對話歷史記錄S,推斷時的目標是根據以下條件找到最佳的T:5

引入超參數λ來控制懲罰通用響應的程度,
   配方:6

因此,該加權的MMI目標函數可以視爲代表給定目標(即p(S | T))的源和給定目標源(即p(T | S))之間的折衷,這也是響應之間的折衷適當和缺乏冷淡。注意,儘管如此,Li等人。 (2016a)並沒有完全解決平淡性問題,因爲該目標僅用於推理,而不用於訓練時間。該方法首先根據p(T | S)生成N個最佳列表,然後使用MMI重新對其進行評分。由於基於p(T | S)推斷標準(波束搜索),這樣的N個最佳列表通常總體上相對平淡,因此MMI評分通常可以緩解而不是完全消除平淡問題。
最近,研究人員(Li等,2017c; Xu等,2017; Zhang等,2018e)使用了廣告訓練和生成對抗網絡(Goodfellow等,2014),這經常是有減少乏味的作用。直觀上,GAN對乏味的影響可以理解爲:對抗訓練將生成器和判別器使用極小極大目標彼此相對(因此稱爲“對抗”術語),並且每個目標的目的都是使它們的對應物成爲最不有效。生成器是要部署的響應生成系統,而鑑別器的目標是能夠識別給定的響應是由人類生成(即從訓練數據中生成)還是生成器的輸出。然後,如果生成器始終響應“我不知道”或其他偏向響應,則在大多數情況下,鑑別器將其與人爲響應區分開來幾乎沒有問題,因爲大多數人不響應“我不知道” “ 每時每刻。因此,爲了欺騙鑑別器,生成器逐漸避開了這種可預測的響應。更正式地說,當假設分佈與預言分佈匹配時,就可以實現GAN的最優性,從而鼓勵生成的響應擴展以反映真實響應的真實多樣性。爲了促進更多的多樣性,Zhang等人。 (2018e)明確優化查詢和響應之間的成對相互信息的變異下界,以鼓勵在訓練期間生成更多的信息性響應。

Serban等。 (2017)提出了一種潛在的可變層次遞歸編碼器/解碼器(VHRED)模型,該模型還旨在產生更少的乏味和更具體的響應。通過向目標添加高維隨機潛在變量,它擴展了本章前面介紹的HRED模型。這個附加的潛在變量旨在解決與淺層生成過程相關的挑戰。如(Serban et al。,2017)所述,從推理的角度來看,此過程存在問題,因爲生成模型被迫在逐個單詞的基礎上產生高級結構(即整個響應)。在VHRED模型中,此生成過程變得更容易,因爲該模型利用了確定響應的高級方面(主題,名稱,動詞等)的高維潛在變量,因此該模型的其他部分可以專注於發電的較低層面,例如確保流利。如(Serban et al。,2017)的樣本輸出所建議的,VHRED模型順便幫助減少了乏味。實際上,由於響應的內容以潛在變量爲條件,因此,如果潛在變量確定響應應如此,則生成的響應僅是乏味的且沒有語義內容。最近,Zhang等。 (2018b)提出了一個模型,該模型還引入了一個額外的變量(使用高斯核層進行建模),該變量被添加以控制響應的特異性水平,從平淡到非常具體。
雖然本章前面調查的大多數響應生成系統都是基於生成的(即逐字生成新句子),但緩解這種乏味的更爲保守的解決方案是將基於生成的模型替換爲基於檢索的模型以生成響應( Jafarpour et al。,2010; Lu and Li,2014; Inaba and Takahashi,2016; Al-Rfou et al。,2016; Yan et al。,2016),其中預先建立了可能的反應池(例如,預先存在的人類反應)。這些方法以降低靈活性爲代價:在生成時,可能的響應集的詞數呈指數增長,但是檢索系統的響應集是固定的,因此此類檢索系統通常沒有任何適當的響應用於許多對話輸入。儘管有此限制,但檢索系統已在流行的商業系統中廣泛使用,我們將在第6章中對其進行調查。

5.2.2揚聲器一致性
研究表明,流行的seq2seq方法通常會產生不連貫的對話(Li等,2016b),例如該系統可能與上一回合(有時甚至是同一回合)所說的相矛盾。 )。雖然這種效果中的一些可以歸因於學習算法的侷限性,但Li等人。 (2016b)表明,這種不一致的主要原因可能是由於訓練數據本身。確實,對話數據集(請參閱第5.5節)具有多個發言人,他們通常具有不同或相沖突的角色和背景。例如,對於問題“您幾歲?”,seq2seq模型可以給出有效的響應,例如“ 23”,“ 27”或“ 40”,所有這些都在訓練數據中表示。這將響應生成任務與更傳統的NLP任務區分開來:雖然針對其他任務(例如機器翻譯)的模型是在語義上大多爲一對一的數據上訓練的,但是對話數據通常是一對多或多對多的7就像任何一種學習算法一樣,要做到一對多訓練,所以需要一種更具表現力的模型,該模型可以利用更豐富的輸入來更好地評估此類多樣化的響應。 Li等。 (2016b)使用基於角色的響應生成系統做到了這一點,該系統是Sec的LSTM模型的擴展。 5.1.1除了單詞嵌入外,還使用說話人嵌入。直觀地講,這兩種類型的嵌入類似地工作:雖然單詞嵌入形成了一個潛在空間,在該潛在空間中,空間接近度(即低歐幾里得距離)意味着兩個單詞在語義上或功能上都接近,而說話者嵌入也構成了一個潛在空間,其中兩個附近的講話者傾向於以相同的方式交談,例如具有相似的說話風格(例如,英式英語)或經常談論相同的話題(例如,運動)。像單詞嵌入一樣,說話者嵌入參數與模型的所有其他參數共同從其一鍵表示中學習。在推論時,只需要指定所需說話者的一鍵編碼即可產生反映她說話風格的響應。圖5.2顯示了模型的整體架構,該圖顯示了每個目標隱藏狀態不僅取決於先前的隱藏狀態和當前單詞嵌入(例如,“ England”),而且還取決於說話者的嵌入(例如, ,“ Rob”)。該模型不僅有助於生成更多的個性化響應,而且還可以減輕前面提到的一對多建模問題。

其他方法也利用個性化信息。例如,Al-Rfou等。 (2016年)提出了基於角色的響應生成模型,但適用於使用包含21億個響應的超大型數據集進行檢索。使用深度神經網絡將其檢索模型實現爲二進制分類器(即響應良好與否)。他們模型的顯着特徵是多損失目標,它增加了響應R,輸入I,說話人(“作者”)A和情境C的單損失模型p(R | I,A,C),通過添加輔助損失,例如,模擬給定作者p(R | A)的響應概率。事實證明,這種多重損失模型非常有幫助(Al-Rfou等人,2016年),因爲多重損失有助於應對以下事實:作者的某些特質經常與情境或投入相關,這使得它很難學習好的演講者嵌入表示。通過增加p(R | A)的損失,該模型能夠爲作者學習更具特色的說話者嵌入表示。
最近,Luan等人。 (2017)提出了Li等人的說話人嵌入模型的擴展。 (2016b),它將在會話數據集上訓練的seq2seq模型與在非會話數據上訓練的自動編碼器結合在一起,其中seq2seq和自動編碼器組合在多任務學習設置中(Caruana,1998)。捆綁seq2seq和自動編碼器的解碼器參數可啓用Luan等。 (2017)訓練一個給定角色的響應生成系統,而實際上並不需要該角色的任何對話數據。這是他們方法的優勢,因爲給定用戶或角色的對話數據可能並不總是可用。在(Bhatia et al。,2017)中,(Li et al。,2016b)的概念被擴展到社交圖嵌入模型。
雖然(Serban等人,2017)本身不是基於角色的響應生成模型,但他們的工作與諸如(Li等人,2016b)的發言人嵌入模型有一些相似之處。確實,Li等人。 (2016b)和Serban等。 (2017)在模型的目標端引入了一個連續的高維變量,以使響應偏向於矢量中編碼的信息。在(Serban et al。,2017)的情況下,該變量是潛在的,並且通過最大化對數似然概率的變化下界來訓練。在(Li et al。,2016b)的情況下,變量(即說話人嵌入)在技術上也是潛在的,儘管它是說話人一鍵式表示的直接函數。 (Li et al。,2016b)可能適用於發話級別信息(例如,說話者ID或主題)。另一方面(Serban et al。,2017)的優勢在於,它學習的潛變量可以最好地``解釋''數據,並且可以根據嚴格的演講者或主題信息來學習比最優的表示形式。 。

5.2.3單詞重複
單詞或內容重複是除機器翻譯以外的神經生成任務的常見問題,正如響應生成,圖像字幕,視覺故事生成和通用語言建模等任務所指出的那樣(Shao等,2017; Huang等) (2018年; Holtzman等人,2018年)。機器翻譯是相對一對一的任務,其中源中的每條信息(例如名稱)通常在目標中只傳遞一次,而其他任務(如對話或故事生成)的約束要少得多,並且源中給定的單詞或短語可以映射到目標中的零個或多個單詞或短語。這有效地使響應生成任務更具挑戰性,因爲生成給定的單詞或短語並不能完全排除再次生成同一單詞或短語的需要。注意模型(Bahdanau等,2015)有助於防止機器翻譯中的重複錯誤,因爲該任務是一對一的8,最初爲機器翻譯設計的注意模型(Bahdanau等,2015; Luong等) (例如,2015年),通常無助於減少對話中的單詞重複。
鑑於上述限制,邵等人。 (2017)提出了一種新模型,該模型增加了解碼器的自注意力,旨在改善更長和連貫響應的生成,同時順便緩解單詞重複問題。目標方的注意力可以幫助模型更輕鬆地跟蹤到目前爲止在輸出中已生成的信息9,從而使模型可以更輕鬆地區分不必要的單詞或短語重複。

 

5.2.4進一步的挑戰
以上問題是重要的問題,僅能部分解決,需要進一步研究。然而,這些端到端系統面臨的更大挑戰是響應的適當性。如第1章所述,與傳統的對話系統相比,早期的E2E系統最鮮明的特徵之一是它們缺乏基礎。當被問及“明天的天氣預報是什麼?”時,E2E系統可能會產生諸如“晴天”和“多雨”的響應,而沒有選擇一個或另一個響應的原則基礎,因爲上下文或輸入可能甚至不會指定地理位置。 Ghazvininejad等。 (2018)認爲seq2seq和類似模型通常非常擅長產生具有合理整體結構的響應,但是由於缺乏基礎,在生成與現實世界相關的名稱和事實時經常會遇到困難。換句話說,響應通常在語用上是正確的(例如,一個問題通常會跟一個答案,而道歉則是輕描淡寫),但是響應的語義內容通常是不合適的。因此,最近的E2E對話研究越來越集中在設計紮根的神經對話模型上,我們將在下面進行調查。
5.3地面會話模型
與面向任務的對話系統不同,大多數E2E對話模型都不是建立在現實世界中的,這會阻止這些系統有效地與用戶環境相關的任何事物進行對話。這種侷限性也源於機器翻譯,機器模型和需求都沒有基礎。產生神經反應的最新方法是通過將說話者或收件人的角色中的接地系統(Li等人,2016b; Al-Rfou等人,2016),文本知識來源(例如Foursquare)(Ghazvininejad等人, (2018),用戶或代理人的視覺環境(Das等,2017a; Mostafazadeh等,2017),以及用戶的情感或情感(Huber等,2018; Winata等,2017; Xu等) 。,2018)。從較高的角度來看,這些作品中的大多數都具有共同的想法,即增強上下文編碼器以不僅代表對話歷史記錄,而且還代表從用戶環境中提取的一些其他輸入,例如圖像(Das等,2017a; Mostafazadeh等人,2017)或文字信息(Ghazvininejad等人,2018)。
作爲這種基礎模型的說明性示例,我們簡要概述了Ghazvininejad等人。 (2018),其基本模型如圖5.3所示。該模型主要由兩個編碼器和一個解碼器組成。解碼器和對話編碼器與標準seq2seq模型的相似。額外的編碼器稱爲事實編碼器,它會輸入模型中

與對話歷史記錄相關的事實信息或所謂的事實,例如與在對話歷史記錄中提及的餐館(例如,“ Kusakabe”)有關的餐館評論(例如,“令人驚奇的壽司品嚐”)。儘管本文的模型是通過Foursquare評論進行訓練和評估的,但這種方法並沒有特別假設接地點包括評論,或者觸發詞是餐館(實際上,某些觸發詞是例如酒店和博物館) 。爲了找到與對話有關的事實,他們的系統使用IR系統,使用從對話上下文中提取的搜索詞,從大量事實或世界事實(例如,幾個大城市的所有Foursquare評論)中檢索文本。雖然該模型的對話編碼器是標準的LSTM,但事實編碼器是Chen等人的內存網絡的一個實例。 (2016b),它使用關聯記憶對與特定問題相關的事實進行建模,在這種情況下,這是對話中提到的一家餐館。
這種方法和其他類似的基於會話對話建模的工作有兩個主要好處。首先,該方法將E2E系統的輸入分爲兩個部分:來自用戶的輸入和來自其環境的輸入。這種分離至關重要,因爲它解決了早期E2E(例如seq2seq)模型的侷限性,該模型始終對同一查詢(例如,“明天的天氣預報是什麼?”)做出確定性的響應。通過將輸入分爲兩個來源(用戶和環境),系統可以根據現實世界中發生的變化有效地對同一用戶輸入生成不同的響應,而無需重新培訓整個系統。其次,與標準seq2seq方法相比,該方法的採樣效率更高。對於一個沒有基礎的系統來產生如圖5.3所示的響應,該系統將要求在對話訓練數據中可以看到任何用戶可能會談論的每個實體(例如,“ Kusakabe”餐廳),這是不現實的,不切實際的假設。雖然語言建模數據(即非對話數據)的數量豐富並且可以用於訓練基礎的對話系統(例如,使用Wikipedia,Foursquare),但可用的對話數據的數量通常受到更多限制。紮實的會話模型沒有這個限制,例如,Ghazvininejad等人的系統。 (2018)可以就會話培訓數據中甚至未提及的場所進行交談。

 

5.4 Beyond Supervised Learning

會話訓練數據(人與人)與設想的在線方案(人機)之間常常存在很大的脫節。這使得難以針對特定目標優化對話模型,例如通過減少乏味來最大化參與度。監督學習設置的另一個侷限性是他們傾向於立即獲得獎勵(即一次響應一次)而不是長期獲得獎勵的優化趨勢。這也部分地解釋了爲什麼他們的回覆通常很平淡,從而無法促進長期的用戶參與。爲了解決這些侷限性,一些研究人員探索了E2E系統的強化學習(RL)(Li等,2016c),可以通過人在環境體系結構進行增強(Li等,2017a,b)。與RL面向任務的對話不同,E2E系統面臨的主要挑戰是缺乏明確的成功指標(即獎勵功能),部分原因是它們必須處理非正式的流派,例如用戶的閒聊沒有明確指定目標。
Li等。 (2016c)構成了在完全E2E方法中使用RL進行會話響應生成的首次嘗試。 Li等人的系統沒有像(Sordoni等人,2015b; Vinyals and Le,2015)的監督設置那樣在人與人之間的對話中訓練系統。 (2016c)是通過與模仿人類用戶行爲的用戶模擬器進行對話來進行訓練的。如圖5.4所示,人類用戶必須替換爲用戶模擬器,因爲使用成千上萬次真實用戶對話來訓練RL系統非常昂貴。在這項工作中,標準的seq2seq模型用作用戶模擬器。該系統使用策略梯度進行了培訓(第2.3節)。目的是在由用戶模擬器和要學習的代理生成的對話中最大化預期的總獎勵。更正式地說,目標是

其中R(。)是獎勵函數,而Ti是對話轉彎。 可以通過使用梯度下降法來優化上述目標,方法是將對話的對數概率和聚集的獎勵考慮在內,這與模型參數無關:

其中p(Ti | Ti-1)的參數化方法與Sec的標準seq2seq模型相同。 5.1.1,不同之處在於此處的模型是使用RL優化的。上面的梯度通常是使用採樣來近似的,Li等人。 (2016c)對每個參數更新都使用了一個採樣的會話。雖然以上策略梯度設置在RL中相對普遍,但是學習對話模型的主要挑戰是如何設計有效的獎勵功能。 Li等。 (2016c)使用了三個獎勵函數的組合,這些函數旨在緩解監督的seq2seq模型的問題,該模型在其工作中用作初始化參數。三種獎勵功能是:
•-p(Dull Response | Ti):Li等。 (2016c)創建了一個簡短的沉悶響應列表,例如從訓練數據中選擇的“我不知道”。該獎勵功能對可能導致任何這些遲鈍響應的那些匝數Ti進行懲罰。這被稱爲“易於回答獎勵”,因爲它促進了不太難於迴應的對話轉折,從而使用戶參與到對話中。例如,獎勵功能對響應爲“我不知道”的轉彎給予非常低的獎勵,因爲這種迴避的響應表明上一轉彎很難響應,最終可能終止對話。
•− log Sigmoid cos(Ti-1,Ti):此信息流獎勵函數可確保Ti-1和Ti的相交匝數彼此之間不太相似(例如,“您好嗎?”後跟“如何?你?”),如李等人。 (2016c)認爲,很少有新信息的對話通常不會參與,因此更有可能被終止。
•log p(Ti-1 | Ti)+ log p(Ti | Ti-1):引入這種有意義的獎勵功能是爲了抵消上述兩個獎勵。例如,另外兩個獎勵功能更喜歡對話類型,這些對話不斷地引入新信息並頻繁地更改主題,以至於用戶難以追隨。爲了避免這種情況,意義獎勵功能鼓勵對話會話中的連續輪流彼此相關。

5.5資料
Serban等。 (2015年)提出了對現有數據集的全面調查,這些數據集除了E2E和社交機器人研究之外還有用。端到端對話建模與其他NLP和對話任務的不同之處在於,數據的可用量非常大,這在一定程度上要歸功於社交媒體(例如Twitter和Reddit)。另一方面,大多數社交媒體數據既不能重新分發,也不能通過語言資源組織(例如語言數據聯盟)獲得,這意味着仍然沒有建立的公共數據集(使用Twitter或Reddit)來訓練和測試響應發電系統。儘管這些社交媒體公司提供了API訪問權限,使研究人員可以下載相對少量的社交媒體帖子,然後從它們重建對話,但是這些公司指定的嚴格的法律服務條款不可避免地會影響研究的可重複性。最值得注意的是,Twitter通過API無法使用某些tweet(例如,撤回的tweet或來自暫停用戶的tweet),並要求刪除任何此類先前下載的tweets。因此,很難建立任何標準的訓練或測試數據集,而將其浪費掉。10因此,在本章中引用的大多數論文中,他們的作者創建了自己的(子集)對話數據進行訓練和測試,然後針對這些系統的基準和競爭系統進行了評估。固定數據集。道奇等。 (2016年)使用現有的數據集定義標準的訓練和測試集,但規模相對較小。一些最著名的端到端和聊天集數據集包括:
•Twitter:Twitter數據自第一個數據驅動的響應生成系統(Ritter等,2011)以來使用,提供了幾乎無限制的大量對話數據,因爲Twitter每天產生的新數據比大多數系統開發人員所能提供的更多handle.11雖然可以通過Twitter API將數據本身作爲單獨的推文進行訪問,但其元數據可以輕鬆地構建對話歷史記錄,例如,兩個用戶之間的對話歷史記錄。該數據集構成了2017年DSTC Task 2競賽的基礎(Hori和Hori,2017)。
•Reddit:Reddit是一種社交媒體資源,實際上也不受限制,截至2018年7月,對話次數約爲32億次。例如,Al-Rfou等人使用過。 (2016年)建立了大規模的響應檢索系統。 Reddit數據是按主題(即“ subreddits”)組織的,其響應與Twitter相比沒有字符限制。
•OpenSubtitles:此數據集由可在opensubtitles.org網站上提供的字幕組成,該網站提供許多不同語言的商業電影的字幕。截至2011年,該數據集包含約80億個單詞,採用多種語言(Tiedemann,2012年)。

•Ubuntu:Ubuntu數據集(Lowe等,2015)也已廣泛用於E2E對話建模。 它與其他數據集(如Twitter)的不同之處在於,它較少關注聊天,而更注重目標,因爲它包含許多特定於Ubuntu操作系統的對話。
•Persona-Chat數據集:開發此衆包數據集(Zhang等人,2018c)是爲了滿足對話顯示不同用戶角色的對話數據的需求。 在收集“角色聊天”時,要求每個工作人員模仿使用五個事實描述的給定角色。 然後,那個工人試圖保持性格,參加了對話。 所得數據集包含約16萬個語音。

5.6評估
評估是諸如計算機翻譯和摘要之類的生成任務的長期研究課題。端到端對話也是如此。雖然通常使用人工評估者來評估響應生成系統(Ritter等,2011; Sordoni等,2015b; Shang等,2015等),但是這種類型的評估通常很昂貴,研究人員經常不得不借助自動指標來量化日常進度並執行自動系統優化。端到端對話研究主要使用機器翻譯和摘要中的那些指標,使用字符串和n元語法匹配指標,例如BLEU(Papineni等人,2002)和ROUGE(Lin,2004)。最近提出的METEOR(Banerjee和Lavie,2005年)旨在通過識別系統輸出和人類參考之間的同義詞和釋義來改善BLEU,並已被用於評估對話。 deltaBLEU(Galley等人,2015)是BLEU的擴展,它利用了與會話響應相關的數字評分。
關於這種自動度量標準是否實際上適合評估會話響應生成系統,已經有很多爭論。例如,劉等。 (2016)指出,這些機器翻譯指標大多數與人類判斷之間的關聯性很差,因此認爲它們不合適。然而,他們的相關性分析是在句子級別上進行的,但是長期以來,即使對於機器翻譯,也很難實現體面的句子級別相關性(Callison-Burch等,2009; Graham等,2015)。 [12]特別是,BLEU(Papineni et al。,2002)從一開始就被設計爲語料庫級別而非句子級別的指標,因爲基於n元語法匹配的評估在單個句子上計算時比較脆弱。確實,Koehn(2004)的經驗研究表明,BLEU在包含少於600個句子的測試集上並不可靠。 Koehn(2004)的研究是關於翻譯的,這項任務可以說比響應生成更簡單,因此在對話中超越句級關聯的需求可能甚至變得更爲關鍵。在語料庫或系統級別進行度量時,相關性通常遠高於句子級別(Przybocki等,2009),例如,對於WMT翻譯任務的最佳指標,Spearmanρ高於0.95(Graham和Baldwin) ,2014).13在對話的情況下,Galley等人。 (2015年)表明,基於字符串的度量標準(BLEU和deltaBLEU)的相關性隨着度量單位大於句子而顯着增加。具體來說,當對每個100個響應的語料庫進行相關性測量時,他們的Spearman的ρ係數從句子級別的0.1(基本上沒有相關性)提高到接近0.5。

最近,Lowe等人。 (2017)提出了一種用於端到端對話評估的機器學習指標。他們提出了VHRED模型的一種變體(Serban等,2017),該模型以上下文,用戶輸入,黃金和系統響應作爲輸入,並在1到5之間產生定性得分。由於VHRED對於建模對話非常有效,因此Lowe等等(2017)在句子水平上獲得了令人印象深刻的Spearman的ρ相關係數0.42。另一方面,該指標可訓練的事實會導致其他潛在問題,例如過擬合和“衡量指標的博弈”(Albrecht和Hwa,2007年)14,這也許可以解釋爲什麼先前提出了機器學習的評估指標(Corston- Oliver等人,2001; Kulesza和Shieber,2004; Lita等人,2005; Albrecht和Hwa,2007;Giménez和Ma`rquez,2008; Pado等人,2009;Stanojević和Sima'an,2014等)在官方機器翻譯基準中並不常用。 “可衡量指標”的問題可能很嚴重,例如,在經常將自動評估指標直接用作培訓目標的情況下(Och,2003; Ranzato等,2015),因爲系統開發人員可能不瞭解意外的“遊戲”。如果直接根據可訓練的指標對生成系統進行了優化,則該系統和指標將類似於GAN中的對抗對(Goodfellow等,2014),生成系統(Generator)的唯一目標就是愚弄指標(判別器)。可以說,相比於像BLEU這樣的相對無參數的度量標準,這種嘗試通常具有數千或數百萬個參數,而這種可訓練的度量標準通常包含數千或數百萬個參數,而BLEU被認爲對這種利用相當健壯,並且被證明是直接優化的最佳度量標準(Cer等人,2010年)以及其他基於字符串的指標。爲了防止使用機器學習的度量標準,需要像GAN中那樣迭代訓練“生成器”和“鑑別器”,但是文獻中大多數可訓練的度量標準都沒有利用這種迭代過程。建議用於對話和相關任務的對抗設置(Kannan和Vinyals,2016; Li等,2017c; Holtzman等,2018)提供瞭解決此問題的解決方案,但衆所周知,此類設置具有不穩定性(Sal -imans等人,2016年),原因在於GANs minimax公式的性質。這種脆弱性可能會帶來麻煩,因爲自動評估的結果在理想情況下應該是穩定的(Cer等人,2010),並且隨着時間的推移是可重現的,例如,跟蹤多年來E2E對話研究的進展。所有這些都表明,自動評估E2E對話還遠沒有解決問題

例如,在WMT共同任務的正式報告中,Callison-Burch等人。 (2009年,第6.2節)計算了流行指標與句子等級上的人類排名相符的時間百分比,但是對於句子層次研究而言,結果並不理想:“許多指標未能達到[隨機]基線(包括英語以外的大多數指標)。這表明機器翻譯質量的句子級評估非常困難。”
13在迄今爲止規模最大的系統級相關性研究之一中,Graham和Baldwin(2014)發現,BLEU與最近提出的大多數翻譯指標相比具有相對的競爭力,因爲它們表明“目前沒有足夠的證據表明有很大比例的指標需要得出他們的表現勝過BLEU”。進行對話需要進行如此大規模的研究。
14在討論機器學習的評估指標的潛在陷阱時,Albrecht和Hwa(2007)舉例說,“謹慎地防範系統可能會利用其功能的子集。”在深度學習的情況下,這種遊戲讓人想起對輸入進行非隨機擾動,從而極大地改變網絡的預測,例如,通過(Szegedy等人,2013)中的圖像來展示如何輕鬆地欺騙深度學習模型。但是,如果要將機器學習的度量標準變成標準評估,則很難防止此類遊戲,並且這大概需要模型參數可公開獲得。

 

5.7開放基準
開放式基準測試是在許多AI任務(例如語音識別,信息檢索和機器翻譯)中取得進展的關鍵。儘管端到端對話式AI是一個相對新生的研究問題,但已經開發了一些開放基準:
•對話系統技術挑戰(DSTC):2017年,DSTC首次提出了“端對端對話建模”軌道15,該軌道要求系統使用Twitter數據完全由數據驅動。後續挑戰(DSTC7)中的兩項任務集中在紮實的對話場景上。一種側重於視聽場景感知對話,另一種側重於基於外部知識(例如Foursquare和Wikipedia)的響應生成,其對話摘自Reddit.16
•ConvAI競賽:這是NIPS競賽,迄今爲止已在兩個會議上進行過介紹。它以Amazon Mechanical Turk資金的形式提供獎品。競賽旨在“針對非目標對話系統的培訓和評估模型”,並在2018年使用Persona-Chat數據集(Zhang等人,2018c)以及其他數據集。
•NTCIR STC:該基準測試側重於“通過短文本”進行對話。第一個基準測試針對基於檢索的方法,並於2017年擴展到評估基於生成的方法。
•Alexa獎:2017年,亞馬遜組織了一場公開比賽,以構建“社交機器人”,該機器人可以在一系列時事和主題上與人類對話。競賽使參與者能夠與真實用戶(Alexa用戶)一起測試他們的系統,並提供一種間接監督的形式,因爲要求用戶對與每個Alexa獎系統的每次對話進行評分。首屆獎項由15個學術團隊組成(Ram等,2018).17
•JD對話挑戰:18這是公司(JD.com)組織的又一項挑戰。像Alexa獎一樣,JD挑戰賽也爲獲獎者提供了可觀的獎金,並授予參與者訪問真實用戶和客戶數據的權限。

Chapter 6
Conversational AI in Industry

 

本章描述了行業對話系統的概況,包括面向任務的系統(例如,個人助理),質量保證系統和聊天機器人。
6.1問答系統
包括Google,Microsoft和Baidu在內的搜索引擎公司已將多回合質量檢查功能納入其搜索引擎,以使用戶體驗更多的對話性,這對於移動設備尤其有吸引力。 由於公衆對這些系統的內部結構知之甚少(例如Google和百度),因此本節介紹了一些示例性商業QA系統,其體系結構至少已在公共資源中得到了部分描述,包括Bing QA,Satori QA和客戶支持 代理商。

6.1.1 Bing質量檢查
Bing QA是Web級文本QA代理的一個示例。它是Microsoft Bing Web搜索引擎的擴展。如圖6.1所示,Bing QA不會返回十個藍色鏈接,而是通過使用MRC模型讀取Bing Web搜索引擎檢索的段落來生成對用戶查詢的直接答案。
Bing QA處理的Web QA任務比第3章中描述的大多數MRC學術任務更具挑戰性。例如,Web QA和SQuAD的不同之處在於:
•文本集合的規模和質量。 SQuAD假定答案是段落中的文本範圍,該段落是Wikipedia頁面上的純文本部分。 Web質量檢查需要從數十億個Web文檔中找出答案,這些Web文檔由數萬億個嘈雜的段落組成,由於Web內容的動態性質,這些段落通常包含矛盾,錯誤,過時的信息。
•運行時延遲。在學術環境中,MRC模型可能需要幾秒鐘才能讀取和重新讀取文檔以生成答案,而在Web質量檢查設置中,要求MRC部分(例如在Bing質量檢查中)添加的時間不得超過10毫秒。整個服務堆棧。
• 用戶體驗。雖然SQuAD MRC模型提供文本範圍作爲答案,但是Web QA需要根據顯示答案的不同設備提供不同的用戶體驗,例如,移動設備中的語音答案或搜索引擎結果中的豐富答案。頁面(SERP)。圖6.1(右)顯示了“迪斯尼是哪一年購買了lucasfilms?”問題的SERP示例,其中Bing QA不僅以高亮度文本跨度顯示答案,還提供各種支持證據和相關的Web搜索與答案一致的結果(即,檢索到的文檔的標題,段落,音頻和視頻)。
結果,諸如Bing QA之類的商業Web QA代理通常在其Web搜索引擎堆棧頂部將MRC模塊作爲後Web組件合併。 Bing QA代理的概述如圖6.1(左)所示。考慮到“迪士尼在哪一年購買了lucasfilms?”這個問題,通過快速的主排名器從Web Index檢索了一組候選文檔。然後,在“文檔排名”模塊中,使用基於增強樹的複雜文檔排名(Wu等,2010)來爲這些文檔分配相關性得分。排名最高的相關文檔以SERP的形式顯示,其標題由“以查詢爲焦點的”字幕模塊生成,如圖6.1(右)所示。 “通道分塊”模塊將頂級文檔劃分爲一組候選通道,然後由“通道排名”模塊根據另一個通道級別的增強樹分級器對其進行排名(Wu等人,2010)。最後,MRC模塊從排名最高的段落中識別出答案範圍“ 2012”。
儘管將Bing質量檢查變成了Sec的會話質量檢查代理。 3.8要求集成其他組件,例如對話管理器,這是一項艱鉅的持續工程工作,Bing QA已經可以使用對話查詢理解(CQU)模塊來處理對話查詢(例如,跟進問題)(Ren等人。,2018a)。如圖6.2中的示例所示,CQU分兩個步驟將會話查詢重新構造爲對搜索引擎友好的查詢:(1)確定查詢是否依賴於同一搜索會話中的上下文(即先前的查詢和答案),並且( 2)如果是這樣,則重寫該查詢以包括必要的上下文,例如,在圖6.2中用“加利福尼亞”替換“它”,並在圖5中的Q5中添加“斯坦福”。

6.1.2 Satori質量檢查
Satori QA是KB-QA代理的一個示例,如Sec。 3.1–3.5。 Satori是Microsoft的知識圖,由Freebase植入,現在比Freebase大幾個數量級。 Satori QA是同時使用神經方法和符號方法的混合系統。 它爲事實問題提供答案。
與Web QA相似,Satori QA必須處理有關可伸縮性,嘈雜的內容,速度等問題。提高系統的魯棒性和運行時效率的一種常用設計策略是將一個複雜的問題分解爲一系列更簡單的問題,這可以 Web規模的KB-QA系統可以更輕鬆地回答問題,並通過重組答案序列來計算最終答案,如圖6.3所示(Talmor and Berant,2018)。

6.1.3客戶支持代理
包括Microsoft和Salesforce在內的多家IT公司已經開發了各種客戶支持代理。 這些代理是多回合會話KB-QA代理,如3.5中所述。

給定用戶對問題的描述,例如“無法更新我的帳戶的個人信息”,代理商需要推薦預編譯的解決方案或請人工代理商提供幫助。 對話通常由多個回合組成,因爲代理要求用戶在瀏覽知識庫以查找解決方案時闡明問題。 這些代理通常將文本和語音作爲輸入。

6.2面向任務的對話系統(虛擬助手)
如今,面向商業任務的對話系統通常駐留在智能電話,智能揚聲器和個人計算機中。 他們可以爲用戶執行一系列任務或服務,有時也稱爲虛擬助手或智能個人助手。 一些示例服務正在提供天氣信息,設置警報和呼叫中心支持。 在美國,使用最廣泛的系統包括Apple的Siri,Google Assistant,Amazon Alexa和Microsoft Cortana等。 用戶可以通過語音,文本或圖像與他們自然互動。 要使用語音激活虛擬助手,可以使用一個喚醒詞,例如“ OK Google”。

還有許多快速增長的工具可用於促進虛擬助手的開發,包括亞馬遜的Alexa Skills Kit1,IBM的Watson Assistant2以及Microsoft和Google的類似產品。全面的調查不屬於本節的範圍,並且並非所有此類工具的信息都可以公開獲得。在這裏,我們將對其中的示例進行高級描述:
•Microsoft的任務完成平臺(TCP)(Crook等,2016)是用於創建多域對話系統的平臺。如圖6.4所示,TCP遵循與圖4.1相似的結構,其中包含語言理解,狀態跟蹤和策略。 TCP的一項有用功能是任務配置語言TaskForm,它使單個任務的定義與平臺的總體對話策略脫鉤。 TCP用於支持Cortana個人助理支持的許多多回合對話。
•Microsoft的另一種工具是LUIS,這是一種用於瞭解自然語言的基於雲的API服務3。它提供了一套預先構建的領域和意圖,以及方便非專業人員使用機器學習通過提供訓練示例來獲得NLU模型的界面。一旦開發人員創建併發布了LUIS應用程序,該應用程序就可以被客戶端對話系統用作NLU黑盒模塊:客戶端嚮應用程序發送文本語音,該語言將以JSON格式返回語言理解結果,如圖所示。圖6.5。
•雖然LUIS專注於語言理解,但是Azure Bot Service4允許開發人員在一個地方構建,測試,部署和管理對話系統。它可以利用一系列智能服務的優勢,包括LUIS,圖像字幕,語音到文本功能等。
•DialogFlow是Google的開發套件,用於在網站,移動設備和IoT設備上創建對話系統。5與上述工具類似,它提供了促進對話系統各個模塊開發的機制,包括語言理解和多輪交流信息。此外,它可以將對話系統部署爲用戶可以通過Google Assistant調用的動作。

 

6.3聊天機器人
幾十年來,一直存在可公開使用的對話系統(Weizenbaum,1966; Colby,1975)。但是,今天的聊天機器人系統的這些前身在很大程度上依賴於手工制定的規則,與第5章中討論的數據驅動的對話式AI系統的種類幾乎沒有共通之處。相比之下,當今的公共和商業聊天機器人系統通常是統計方法和手工製作的組件,其中統計方法爲會話系統提供了魯棒性(例如,通過意圖分類器),而基於規則的組件仍經常在實踐中使用,例如,處理常見的聊天查詢(例如,“告訴我”笑話”)。此類系統的示例包括諸如亞馬遜的Alexa,Google助手,Facebook M和微軟的Cortana之類的私人助理,這些私人助理除了具有個人助理技能外,還可以處理閒聊的用戶輸入。其他商業系統,例如XiaoIce,6 Replika,(Fedorenko等人,2017)

Zo,7和Ruuh8幾乎完全專注於閒聊。由於公衆對主要商業系統(Alexa,Google Assistant等)內部的瞭解相對較少,因此本節的其餘部分着重於其體系結構在某些公共資源中至少已部分描述的商業系統。
最早的此類系統之一是XiaoIce,該系統於2014年首次發佈。XiaoIce被設計爲具有情感聯繫的AI伴侶,可以滿足人類對溝通,情感和社會歸屬感的需求(Zhou等人,2018)。 XiaoIce的總體架構如圖6.7所示。它由三層組成。
•用戶體驗層:它將XiaoIce連接到流行的聊天平臺(例如,微信,QQ),並以兩種通信模式處理對話。全雙工模塊處理基於語音流的對話,用戶和XiaoIce可以同時進行對話。另一個模塊處理基於消息的對話,用戶和XiaoIce必須輪流交談。
•對話引擎層:在每個對話回合中,首先使用狀態跟蹤器更新對話狀態,然後通過對話策略選擇核心聊天(和主題)或對話技巧以生成響應。 XiaoIce的獨特組件是移情計算模塊,該模塊不僅可以理解用戶輸入的內容(例如主題),還可以理解對話和用戶的移情方面(例如情感,意圖,對主題的看法,以及用戶的背景和總體興趣),並確保生成適合小冰的角色的移情反應。核心聊天是XiaoIce的另一個核心模塊。它結合了神經生成技術(第5.1節)和基於檢索的方法(Zhou等,2018)。如圖6.6所示,XiaoIce能夠產生具有社會吸引力的迴應(例如,具有幽默感,安慰感等),並且可以確定例如在對話中是否推動對話(“推動”)有點停滯不前,或者用戶參與時是否進行主動聆聽9。
•數據層:它由一組數據庫組成,這些數據庫存儲收集的人類對話數據(以文本對或文本-圖像對的形式),用於核心聊天和技能的非對話數據和知識圖,XiaoIce的配置文件以及所有進行經驗計算的註冊用戶。

用於chitchat的Replika系統(Fedorenko等,2017)結合了基於神經生成和基於檢索的方法,並且能夠像(Mostafazadeh等,2017)一樣在圖像上調節響應。 Replika的神經生成組件是基於角色的(Li等,2016b),因爲它經過訓練可以模仿特定角色。雖然Replika是一家公司,但Replika系統已經開源10,因此可以用作未來研究的基準。
Alexa獎賞系統(Ram等,2018)是面向真實用戶的社交聊天機器人,因此擁有Alexa設備的任何人都可以與這些社交機器人進行交互併爲其評分。這種互動是通過“ Alexa,讓我們聊天”命令觸發的,該命令隨後觸發有關用戶或系統選擇的任何主題的自由形式的對話。這些系統不僅具有完全由數據驅動的方法,還具有更多經過工程設計和模塊化的方法。例如,2017年比賽的獲勝系統(Sounding Board11)包含一個會議討論部分以及個人“小技巧”,使該系統能夠處理不同的任務(例如,質量檢查)和主題(例如,新聞,體育)。由於Alexa獎中系統的多樣性,因此在本次調查中概述這些系統是不切實際的,相反,我們將感興趣的讀者推薦給Alexa獎在線活動(Ram等人,2018)。

Chapter 7
Conclusions and Research Trends

 

會話式人工智能是一個快速發展的領域。本文調查了最近開發的神經方法。其中一些已經廣泛用於商業系統。


可以使用最佳決策過程的統一數學框架來概念化用於問答,任務完成,選擇和推薦等的對話系統。過去幾年中開發的用於AI的神經方法,利用了RL和DL的最新突破,可以顯着提高跨各種任務和領域的對話代理的性能。
許多商業對話系統允許用戶通過對話輕鬆訪問各種服務和信息。這些系統大多數使用混合方法,這些方法結合了符號方法和神經模型的優勢。
質量檢查代理有兩種類型。 KB-QA代理使用戶可以通過會話查詢大規模的知識庫,而無需編寫複雜的類似SQL的查詢。配備了神經MRC模型的Text-QA代理比傳統的搜索引擎(例如Bing和Google)更受歡迎,因爲它們要求用戶提供簡潔明瞭的直接答案。
傳統的面向任務的系統使用手工製作的對話管理器模塊或淺層的機器學習模型來分別優化模塊。最近,研究人員開始探索DL和RL,以更全面的方式優化系統,減少領域知識,並在不斷變化的環境中自動優化系統,以使它們可以有效地適應不同的任務,領域和用戶行爲。
聊天機器人對於促進人類與其電子設備之間的順暢自然互動至關重要。較新的工作側重於選擇之外的場景,例如推薦。大多數最新的聊天機器人在神經機器翻譯的框架內使用完全數據驅動的和端到端的會話響應生成。
我們有
代理,面向任務的對話機器人和聊天機器人。
討論了對話式AI的一些主要挑戰,這是Question Answer-

•建立統一的對話建模框架:第1章提供了統一的視圖,其中將開放域對話表述爲最佳決策過程。 儘管該視圖提供了有用的設計原理,但仍有待證明具有用於系統開發的統一建模框架的有效性。 微軟XiaoIce最初設計爲基於檢索引擎的聊天系統,現已使用基於共情計算和RL的統一建模框架逐步整合了許多ML組件和技能,包括QA,任務完成和推薦,旨在最大程度地提高用戶參與度。 長期而言,以每次會話的預期會話輪換衡量。 我們計劃在以後的出版物中介紹XiaoIce的設計和開發。 McCann等。 (2018)介紹了開發統一模型以處理各種任務的平臺工作,這些任務包括QA,對話和聊天。

•建立完整的端到端對話系統:最近的工作將面向任務的對話的好處與更多的端到端功能相結合。在基礎部分中討論的接地模型。 5.3代表了朝着面向目標的對話邁出的一步,因爲與用戶環境進行交互的能力是大多數面向目標的對話系統的關鍵要求。本文討論的基礎對話建模仍是初步的,未來的挑戰包括在完全數據驅動的管道中啓用API調用。
•處理異構數據:會話數據通常是異構的。例如,聊天數據很多,但與面向目標的系統並不直接相關,而面向目標的會話數據集通常很小。未來的研究將需要應對如何利用兩者的挑戰,例如在類似於Luan等人的多任務設置中。 (2017)。另一個研究方向是趙等人的工作。 (2017年),該研究利用“數據增強”技術在選擇題和麪向任務的數據之間產生了協同作用。他們產生的系統不僅能夠處理閒聊,而且對於面向目標的對話也更加強大。另一個挑戰是在對話系統培訓中更好地利用非對話數據(例如Wikipedia)(Ghazvininejad等人,2018)。
•將EQ(或同理心)納入對話:這對於聊天機器人和質量檢查機器人都非常有用。例如,XiaoIce集成了一個EQ模塊,以便提供更易理解的響應或建議(如(Shum等人,2018年的3.1)。馮等。 (2016)將同情模塊嵌入對話代理,以使用多模式識別用戶的情感,並生成情感感知響應。
•針對面向任務的對話的可擴展培訓:快速更新對話代理以處理不斷變化的環境非常重要。例如,Lipton等。 (2018)提出了一種有效的探索方法來應對域擴展設置,其中可以逐步引入新的時隙。 Chen等。 (2016b)提出了針對未見意圖的零鏡頭學習,以便在一個域中訓練的對話代理可以檢測新域中的未見意圖,而無需手動標記數據且無需重新訓練。
•常識知識對於任何對話主體都至關重要。這具有挑戰性,因爲常識知識通常未明確存儲在現有知識庫中。開發了一些新的數據集以促進對常識推理的研究,例如具有常識推理數據集的閱讀理解(ReCoRD)(Zhang等人,2018d),Winograd Schema Challenge(WSC)(Morgenstern and Ortiz,2015)和Choice Of可行替代方案(COPA)(Roemmele等,2011)。

•模型的可解釋性:在某些情況下,不僅需要對話代理提供建議或答案,還需要提供解釋。 例如,在業務場景中,這是非常重要的,因爲在這種情況下,用戶無法在沒有正當理由的情況下做出業務決策。 沉等。 (2018); 熊等。 (2017); Das等。 (2017b)結合了符號方法的可解釋性和神經方法的魯棒性,並在知識庫上開發了一種推理算法,該算法不僅可以提高回答問題的準確性,還可以解釋產生答案的原因,即知識庫中的路徑 導致答案節點。

 

 

 

 

 

 

 

 

發佈了60 篇原創文章 · 獲贊 1 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章