什麼是人機對話模型?阿里小蜜團隊寫了1.5萬字

簡介: 從人工智能研究的初期開始,人們就致力於開發高度智能化的人機對話系統。對話管理模型研究最新進展源於前沿的深度的研究……

作者: 戴音培1、虞暉華2、蔣溢軒2、唐呈光1、李永彬1、孫健1 單位: 阿里巴巴-達摩院-小蜜Conversational AI團隊1,康奈爾大學2

 

對話管理模型背景

從人工智能研究的初期開始,人們就致力於開發高度智能化的人機對話系統。艾倫·圖靈(Alan Turing)在1950年提出圖靈測試[1],認爲如果人類無法區分和他對話交談的是機器還是人類,那麼就可以說機器通過了圖靈測試,擁有高度的智能。第一代對話系統主要是基於規則的對話系統,例如1966年MIT開發的ELIZA系統[2]是一個利用模版匹配方法的心理醫療聊天機器人,再如1970年代開始流行的基於流程圖的對話系統,採用有限狀態自動機模型建模對話流中的狀態轉移。它們的優點是內部邏輯透明,易於分析調試,但是高度依賴專家的人工干預,靈活性和可拓展性很差。

隨着大數據技術的興起,出現了基於統計學方法的數據驅動的第二代對話系統(以下簡稱統計對話系統)。在這個階段,增強學習也開始被廣泛研究運用,其中最具代表性的是劍橋大學Steve Young教授於2005年提出的基於部分可見馬爾可夫決策過程(Partially Observable Markov Decision Process , POMDP)的統計對話系統[3]。該系統在魯棒性上顯著地優於基於規則的對話系統,它通過對觀測到的語音識別結果進行貝葉斯推斷,維護每輪對話狀態,再根據對話狀態進行對話策略的選擇,從而生成自然語言回覆。POMDP-based 對話系統採用了增強學習的框架,通過不斷和用戶模擬器或者真實用戶進行交互試錯,得到獎勵得分來優化對話策略。統計對話系統是一個模塊化系統,它避免了對專家的高度依賴,但是缺點是模型難以維護,可拓展性也比較受限。

近些年,伴隨着深度學習在圖像、語音及文本領域的重大突破,出現了以運用深度學習爲主要方法的第三代對話系統,該系統依然延續了統計對話系統的框架,但各個模塊都採用了神經網絡模型。由於神經網絡模型表徵能力強,語言分類或生成的能力大幅提高,因此一個重要的變化趨勢是自然語言理解的模型從之前的產生式模型(如貝葉斯網絡)演變成爲深度鑑別式模型(如CNN、DNN、RNN)[5],對話狀態的獲取不再是利用貝葉斯後驗判決得到,而是直接計算最大條件概率。在對話策略的優化上大家也開始採用深度增強學習模型[6]。另一方面,由於端到端序列到序列技術在機器翻譯任務上的成功,使得設計端到端對話系統成爲可能,Facebook研究者提出了基於記憶網絡的任務對話系統[4],爲研究第三代對話系統中的端到端任務導向型對話系統提出了新的方向。總的來說,第三代對話系統效果優於第二代系統,但是需要大量帶標註數據才能進行有效訓練,因此提升模型的跨領域的遷移拓展能力成爲熱門的研究方向。

常見的對話系統可分爲三類: 聊天型,任務導向型和問答型。

聊天型對話 的目標是要產生有趣且富有信息量的自然回覆使得人機對話可以持續進行下去[7]。
問答型對話 多指一問一答,用戶提出一個問題,系統通過對問題進行解析和知識庫查找以返回正確答案[8]。
任務導向型對話 (以下簡稱任務型對話)則是指由任務驅動的多輪對話,機器需要通過理解、主動詢問、澄清等方式來確定用戶的目標,調用相應的API查詢後,返回正確結果,完成用戶需求。通常,任務型對話可以被理解爲一個序列決策過程,機器需要在對話過程中,通過理解用戶語句更新維護內部的對話狀態,再根據當前的對話狀態選擇下一步的最優動作(例如確認需求,詢問限制條件,提供結果等等),從而完成任務。

任務型對話系統從結構上可分成兩類,一類是 pipeline系統,採用模塊化結構[5](如圖 1),一般包括四個關鍵模塊:

自然語言理解(Natural Language Understanding, NLU):對用戶的文本輸入進行識別解析,得到槽值和意圖等計算機可理解的語義標籤。
對話狀態跟蹤(Dialog State Tracking, DST):根據對話歷史,維護當前對話狀態,對話狀態是對整個對話歷史的累積語義表示,一般就是槽值對(slot-value pairs)。
對話策略(Dialog Policy):根據當前對話狀態輸出下一步系統動作。一般對話狀態跟蹤模塊和對話策略模塊統稱爲對話管理模塊(Dialog manager, DM)。
自然語言生成(Natural Language Generation, NLG):將系統動作轉換成自然語言輸出。

這種模塊化的系統結構的可解釋性強,易於落地,大部分業界的實用性任務型對話系統都採用的此結構。但是其缺點是不夠靈活,各個模塊之間相對獨立,難以聯合調優,適應變化的應用場景。並且由於模塊之間的誤差會層層累積,單一模塊的升級也可能需要整個系統一起調整。

1.png

圖 1. 任務導向型對話系統的模塊化結構[41]

任務型對話系統的另一種實現是端到端系統,也是近年來學界比較熱門的方向9[11](如圖 2),這類結構希望訓練一個從用戶端自然語言輸入到機器端自然語言輸出的整體映射關係,具有靈活性強、可拓展性高的特點,減少了設計過程中的人工成本,打破了傳統模塊之間的隔離。然而,端到端模型對數據的數量和質量要求很高,並且對於填槽、API調用等過程的建模不夠明確,現階段業界應用效果有限,仍處在探索中。

2.png

圖 2. 任務導向型對話系統的端到端結構[41]

隨着用戶對產品體驗的要求逐漸提高,實際對話場景更加複雜,對話管理模塊也需要更多的改進和創新。傳統的對話管理模型通常是建立在一個明確的話術體系內(即先查找再問詢最後結束),一般會預定義好系統動作空間、用戶意圖空間和對話本體,但是實際中用戶的行爲變化難測,系統的應答能力十分有限,這就會導致傳統對話系統可拓性差的問題(難以處理預定義之外的情況)。另外,在很多的真實業界場景,存在大量的冷啓動問題,缺少足量的標註對話數據,數據的清洗標註成本代價高昂。而在模型訓練上,基於深度增強學習的對話管理模型一般都需要大量的數據,大部分論文的實驗都表明,訓練好一個對話模型通常需要幾百個完整的對話session,這樣低下的訓練效率阻礙了實際中對話系統的快速開發和迭代。

綜上,針對傳統對話管理模型的諸多侷限,近幾年學界和業界的研究者們都開始將焦點放在如何加強對話管理模型的實用性上,具體來說有三大問題:

可拓展性差
標註數據少
訓練效率低

我們將按照這三個方向,爲大家介紹近期最新的研究成果。

對話管理模型研究前沿介紹

對話管理模型痛點一:可拓展性差

如前文所述,對話管理器由兩部分組成:對話狀態跟蹤器(DST)和對話策略(dialog policy)。傳統的DST研究中,最具代表的是劍橋大學的學者們在2017年提出的神經信度跟蹤模型(neural belief tracker, NBT)[12],利用神經網絡來解決單領域複雜對話的對話狀態跟蹤問題。NBT 通過表徵學習(representation learning)來編碼上輪系統動作、本輪用戶語句和候選槽值對,在高維空間中計算語義的相似性,從而檢測出本輪用戶提到的槽值。因此NBT可以不依賴於人工構建語義詞典,只需藉助槽值對的詞向量表示就能識別出訓練集未見但語義上相似的槽值,實現槽值的可拓展。後續地,劍橋學者們對NBT進一步改進13,將輸入的槽值對改成領域-槽-值三元組,每輪識別的結果採用模型學習而非人工規則的方法進行累積,所有數據採用同一個模型訓練,從而實現不同領域間的知識共享,模型的總參數也不隨領域數目的增加而增加。在傳統的Dialogue Policy研究領域中,最具代表性的是劍橋學者們6提出的基於ACER方法的策略優化。

通過結合 Experience replay 技巧,作者分別嘗試了trust region actor-critic 模型和episodic natural actor-critic 模型,驗證了AC系列的深度增強學習算法在樣本利用效率、算法收斂性和對話成功率上都達到了當時最好的表現。

然而傳統的對話管理模型在可拓展性方面仍需改進,具體在三個方面:

如何處理變化的用戶意圖,
如何變化的槽位和槽值,
如何處理變化的系統動作。

變化的用戶意圖

在實際應用場景中,時常會出現由於用戶意圖未被考慮到,使得對話系統給出不合理回答的情況。如圖 3所示的例子,用戶的“confirm”意圖未被考慮,這時就需要加入新的話術來幫助系統處理這樣的情況。

3.png

圖 3. 出現新意圖的對話實例[15]

一旦出現訓練集未見的新用戶意圖時,傳統模型由於輸出的是表示舊意圖類別的固定one-hot向量,若要包含新的意圖類別,向量就需要進行改變,對應的新模型也需要進行完全的重訓練,這種情況會降低模型的可維護性和可拓展性。論文[15]提出了一種“老師-學生”的學習框架來緩解這一問題,他們將舊模型和針對新用戶意圖的邏輯規則作爲“老師”,新模型作爲“學生”,構成一個“老師-學生”訓練架構。該架構使用了知識蒸餾技術,具體做法是:對於舊的意圖集合,舊模型的概率輸出直接指導訓練新模型;對於新增的意圖,對應的邏輯規則作爲新的標註數據來訓練新模型。這樣就使得在新模型不再需要與環境進行新的交互重新訓練了。論文在DSTC2數據集上進行實驗,首先選擇故意去掉 confirm 這個意圖,然後再將它作爲新意圖加入對話本體中,依次驗證新模型是否具有很好的適應能力。圖 4 是實驗結果,論文新模型(即Extended System)、直接在包含所有意圖的數據訓練的模型(即 Contrast System)和舊模型進行比較,實驗證明新模型對新意圖的識別正確率在不同噪聲情況下都不錯的擴展識別新意圖的能力。

4.png

圖 4. 不同噪聲設置下各種模型的比較

當然這種架構仍然需要對系統進行一定的訓練,[16] 提出一種語義相似性匹配的模型CDSSM能夠在不依賴於標註數據以及模型重新訓練的前提下,解決用戶意圖拓展的問題。CDSSM先利用訓練集數據中用戶意圖的自然描述直接學習出一個意圖向量(intent embedding)的編碼器,將任意意圖的描述嵌入到一個高維語義空間中,這樣在測試時模型可以直接根據新意圖的自然描述生成對應的意圖向量,進而再做意圖識別。在後面的內容我們可以看到,有很多提高可拓展性的模型均採用了類似的思想,將標籤從模型的輸出端移到輸入端,利用神經網絡對標籤 (標籤命名本身或者標籤的自然描述) 進行語義編碼得到某種語義向量再進行語義相似性的匹配。

[43]則給出了另外一種思路,它通過人機協同的方式,將人工客服的角色引入到系統線上運行的階段來解決訓練集未見的用戶意圖的問題。模型利用一個額外的神經判決器根據當前模型提取出來的對話狀態向量來判斷是否請求人工,如果請求則將當前對話分發給線上人工客服來回答,如果不請求則由模型自身進行預測。由於通過數據學習出的判決器有能力對當前對話是否包含新意圖作一定的判斷,同時人工的回覆默認是正確的,這種人機協同的方式十分巧妙地解決了線上測試出現未見用戶行爲的問題,並可以保持比較高對話準確率。

變化的槽位和槽值

在多領域或複雜領域的對話狀態跟蹤問題中,如何處理槽位與槽值的變化一直是一個難題。對於有的槽位而言,槽值可能是不可枚舉 的,例如,時間、地點和人名,甚至槽值集合是動態變化的,例如航班、電影院上映的電影。在傳統的對話狀態跟蹤問題中,通常默認槽位和槽值的集合固定不變,這樣就大大降低了系統的可拓展性。

針對槽值不可枚舉的問題,谷歌研究者[17]提出了一個候選集(candidate set)的思路。對每個槽位,都維護一個有總量上限的候選集,它包含了對話截止目前最多k個可能的槽值,並賦於每個槽值一個分數以表示用戶在當前對話中對該槽值的偏好程度。系統先利用雙向RNN模型找出本輪用戶語句包含的中某個槽位的槽值,再將它和候選集中已有的槽值進行重新打分排序,這樣每輪的DST就只需在一個有限的槽值集合上進行判決,從而解決不可枚舉槽值的跟蹤問題。針對未見槽值的跟蹤問題,一般可以採用序列標註的模型[18],或者選擇神經信度跟蹤器[12]這樣的語義相似匹配模型。

以上是槽值不固定的情況,如果對話本體中槽位也變化呢?論文[19]採用了槽位描述編碼器(slot description encoder),對任何槽(已見的、未見的)的自然語言描述進行編碼,得到表示該槽的語義向量,和用戶語句一起作爲輸入送入Bi-LSTM模型中,採用序列標註的方式輸出識別到的槽值,見圖 5。該論文做了一個可接受的假設,即任何槽的自然語言描述是很容易得到的,因此設計了一個在多個領域具有普適性的概念標註器(Concept Tagger)結構,槽描述編碼器的實現是簡單的詞向量之和。實驗表明,該模型能迅速適應新的槽位,相較於傳統方法,該方法的可拓展性有很大的提升。

5.png

圖 5. 概念標註器結構

隨着近幾年序列到序列技術的發展,直接利用端到端神經網絡模型將DST的結果作爲一個序列生成出來也是一個很熱門的方向,常見的技巧如注意力機制(attention mechanism)、拷貝機制(copy mechanism)均可以用來提高生成效果。在著名的多領域對話MultiWOZ數據集上,來自港科大的Pascale Fung 教授團隊利用了拷貝網絡,顯著提高了不可枚舉槽的識別精度 [20]。他們提出的TRADE 模型如圖 6所示,每次檢測槽值時,模型會將領域和槽位的不同結合進行語義編碼作爲RNN解碼器的初始位置輸入,解碼器通過拷貝網絡,直接將對應的槽值生成出來。通過生成的方式,無論是不可枚舉的槽值,還是變化的槽位的槽值,都能使用同一個模型完成,這可以做到領域間槽值信息的共享,也大大地提高了模型的泛化能力。

6.png

圖 6. TRADE模型框架

最近一個明顯的趨勢是將多領域DST看作一個機器閱讀理解的任務,將TRADE這種生成式模型改進成鑑別式模型45。不可枚舉槽的追蹤利用類似SQuAD的機器閱讀理解任務[46],從對話歷史和提問中找到對應的 text span作爲槽值,而可枚舉槽的追蹤則轉化成一個多項選擇的機器閱讀理解任務,從候選值中選擇正確的值作爲預測出的槽值。通過結合ELMO,BERT等深度上下文詞表示,這些新提出的模型最終在MultiWOZ數據集上取得目前最好結果。

變化的系統動作

可拓展性問題的最後一個方面在於系統動作空間難以預定義。如圖 7所示,在設計一個電子產品推薦系統時,也許一開始並不會考慮到用戶會問到如何升級產品操作系統這樣的問題,但現實的情況是你無法限定用戶只問系統能解決的問題。如果系統動作空間事先框定,在用戶提出新問題時就會導致一連串的答非所問,導致極差的用戶體驗。

7.png

圖 7. 對話系統遇到未考慮的系統動作時的對話案例[22]

對此,我們需要考慮的是,如何設計更好的對話策略網絡,使得系統能夠快速的擴展新的動作。首先的嘗試來自微軟[21],他們試圖通過改變經典的DQN結構來實現系統在不受限動作空間上的增強學習。論文的對話任務是一個文字遊戲闖關任務,每輪的動作是一句話,動作數目不定,選擇不同的動作故事情節就會有不同的發展。作者提出了新的模型Deep Reinforcement Relevance Network (DRRN),通過語義相似性匹配的方式將當前的對話狀態和各個可選的系統動作一一匹配得到Q函數。具體來看:某輪對話時,每個長度不定的動作文本會經過神經網絡編碼得到固定長度的系統動作向量,故事背景文本經過另一個神經網絡也得到固定長度的的對話狀態向量,兩個向量通過交互函數(如點積)生成最後的Q值。圖 8是論文設計模型結構。實驗表明,在“Saving John”和“Machine of Death”兩個文字遊戲上DRRN比傳統DQN(使用padding技巧)的表現更加優異。

8.png

圖 8. DRRN模型。t輪有兩個候選動作,t+1輪有三個候選動作。

論文[22]則希望從對話系統整體的角度來解決這個問題,作者提出了增量學習對話系統(Incremental Dialogue System, IDS),如圖 9所示。首先系統通過Dialogue Embedding 模塊對對話歷史編碼得到上下文向量,再利用一個基於VAE的Uncertainty Estimation模塊根據上下文向量對當前系統能否給出正確回答進行一個置信度的評估。類似於主動學習的方式,若置信度高於閾值,則由對話管理器對當前所有可選動作一一打分,經過softmax函數預測出概率分佈,若置信度低於閾值,則請求標註人員對本輪的回覆進行標註(選擇正確回覆或創建新的回覆),得到了新數據併入數據池裏一起在線更新模型。通過這種人類教學(human-teaching)的方式,IDS系統不僅解決了不受限動作空間的學習問題,還可以快速地收集高質量的數據,十分貼近實際生產應用。

9.png

圖 9. IDS的對話系統整體框架圖

對話管理模型痛點二:標註數據少

隨着對話系統應用領域的多樣化,對數據的需求也更加多樣化,若想訓好一個任務型對話系統,通常都需要儘可能多的該領域的數據,但一般來說,想要獲取高質量的有標註數據的成本很高。爲此學者們進行了各種研究嘗試,主要可分爲三種思路:

用機器自動標註數據,降低數據標註的成本;
對話結構挖掘,儘可能高效利用無標註數據;
加強數據採集策略,高效獲取優質的數據。

機器自動標註

由於人工標註數據的代價大、效率低,學者們希望通過機器輔助人工來標註數據,方法大致可分爲兩大類:有監督方法和無監督方法。論文[23]提出一種架構auto-dialabel,用層次聚類的無監督學習方法將對話數據中的意圖和槽位自動分組,從而實現對話數據的自動標註(類別的具體標籤需要人工來定)。該方法是基於一個假設:相同意圖的表達可能會共享相似的背景特徵。模型提取的初始特徵包括詞向量、POS 標註、名詞詞簇和LDA 四種特徵。各個特徵經由自編碼器轉成相同維度的向量後進行拼接,再採用RBF(radial bias function)函數計算類間距離進行動態的層次聚類。距離最近的類將會自動合併,直到類間距離大於預設的閾值停止。模型框架如圖 10所示。

10.png

圖 10. Auto-dialabel 模型

論文[24]則採用有監督聚類的方法來實現機器標註。作者將每條對話數據看作是一個個圖節點,將聚類的過程看作是找出最小生成森林的過程。模型首先採用SVM在問答數據集上有監督訓練出節點和節點之間的距離得分模型,再結合結構化模型和最小子樹生成算法來將對話數據對應的類別信息作爲隱變量推斷出來,從而輸出最佳的聚類結構表示用戶意圖類別。

對話結構挖掘

由於訓練對話系統的高質量帶標註數據稀缺,如何充分地挖掘無標註對話數據中隱含的對話結構或信息也成爲了當今的研究熱點之一,隱含的對話結構或信息在一定程度上有助於對話策略的設計和對話模型的訓練。

論文[25]提出了一種用變分循環神經網絡(variational RNN, VRNN)的無監督方法自動學習對話數據中的隱藏結構。作者給出兩種模型來獲取對話中的動態信息:Discrete-VRNN和Direct-Discrete-VRNN。如圖 11所示,x_t是第t輪對話,h_t表示對話歷史隱變量,z_t表示對話結構隱變量(一維one-hot離散變量)。兩種模型的差別在於:對於D-VRNN,隱變量z_t取決於h_(t-1);而對於DD-VRNN,隱變量z_t取決於z_(t-1)。VRNN通過最大整個對話的似然值,利用VAE的一些常用技巧,估計出隱變量z_t的後驗概率分佈。

11.png

圖 11. Discrete-VRNN(D-VRNN)與Direct-Discrete-VRNN(DD-VRNN)的示意圖

論文實驗表明VRNN 要優於傳統的HMM的方法,同時將對話結構的信息加入到獎勵函數中,也有助於增強學習模型更快地收斂。圖 12 是經過D-VRNN 挖掘出的餐館領域的隱變量z_t轉移概率的可視化圖。

12.png

圖 12. D-VRNN 對餐館領域的對話數據挖掘出的對話流結構

CMU學者[26]也嘗試利用VAE的方法,將系統動作作爲隱變量推斷出來直接用於對話策略的選擇,這樣就能減輕預定義系統動作不夠全面帶來的問題。如圖 13所示,爲了簡便起見,論文采用端到端的對話系統框架,基線模型是字級別的增強學習模型(即對話動作是詞表中的詞),通過encoder將對話歷史編碼,再利用decoder解碼生成對話回覆,獎勵函數直接通過比對生成的對話回覆語句和真實對話回覆語句得到。作者提出的隱動作模型和基線模型的區別是encoder到decoder之間多了離散隱變量的後驗推理,對話動作由離散隱變量表示,沒有任何人爲的干預定義。最終實驗證明,基於隱動作的端到端增強學習模型在語句生成的多樣性和任務完成率上均超過了基線模型。

13.png

圖 13. 基線模型和隱動作模型

數據採集策略

最近,谷歌研究者們提出了一種快速收集對話數據的方法[27](見圖 14):首先利用兩個基於規則的模擬器交互生成對話的outline,即用語義標籤表示的對話流骨架;然後利用模板將語義標籤轉寫爲自然語言對話;最後利用衆包對自然語句進行改寫,使得對話數據的語言表達更加豐富多樣。這種反向收集數據方法不僅收集效率高,而且數據標註完整、可用性強,避免了收集領域數據的成本花費和大量的人工處理。

14.jpg

圖 14. 對話outline,模板生成對話以及衆包重寫對話的示例

上述方法屬於機器-機器(machine-to-machine, M2M)的數據收集策略:先生成覆蓋面廣的對話數據語義標籤,再衆包生成大量對話語料。其缺點在於,生成的對話相對侷限,不能涵蓋真實場景的所有可能性,並且效果依賴於模擬器的好壞。
學界還有另外兩種常用於對話系統數據收集的方法:人-機對話(human-to-machine,H2M)和人-人對話(human-to-human, H2H)。H2H 方法要求用戶(由衆包人員扮演)和客服(由另一衆包人員扮演)進行多輪對話,用戶負責基於某些指定的對話目標(例如買機票)提需求,客服負責標註對話標籤和創建對話回覆。這種模式被稱爲 Wizard-of-Oz 框架,對話研究的諸多數據集如 WOZ[5], MultiWOZ[28]均採用此方式收集。H2H 方法可以得到最貼近實際業務場景的對話數據,但是需要爲了不同的任務需要設計不一樣的互動界面,而且需要耗費大量人力清理錯誤的標註,成本相當昂貴。H2M 的數據收集策略則是讓用戶和訓練到一定程度的機器直接進行對話在線收集數據,並且利用增強學習不斷改進對話管理模型,著名的 DSTC2&3 數據集就是通過這種方法收集得到。H2M 方法的效果總體比較依賴於對話管理模型的初始效果,並且在線收集的數據噪聲較大,清理成本也會較高,影響模型優化的效率。

對話管理模型痛點三:訓練效率低

隨着深度增強學習在遊戲圍棋領域的大獲成功,該方法在任務導向型對話領域也有廣泛應用。例如論文[6]的ACER對話管理方法,使用了model-free 深度增強學習,通過結合Experience Replay、信度域約束、預訓練等技巧,大大提高了增強學習算法在任務型對話領域的訓練效率和穩定性。

然而,簡單地套用增強學習算法並不能滿足對話系統的實際應用。這主要是因爲對話領域不像遊戲圍棋那樣有清晰的規則、獎勵函數,動作空間簡單明確,還有完美的環境模擬器可以生成數以億計的高質量交互數據。對話任務中,一般包括了多樣變化的槽位槽值和動作意圖,這使得對話系統的動作空間急劇增大且難以預定義。傳統扁平的增強學習(flat reinforcement learning)方法由於對所有的系統動作進行one-hot編碼,會存在維度災難,因此不再適用於處理動作空間非常大的複雜對話問題,爲此學者們進行了諸多研究嘗試,包括model-free RL、model-based RL和human-in-the-loop三個方向。

Model-free 增強學習–分層增強學習

分層增強學習(Hierarchical Reinforcement Learning, HRL)基於“分而治之”的理念,將複雜任務分解成多個子任務(sub-task),解決了傳統扁平的增強學習的維度災難。論文[29]首次將分層增強學習(HRL)應用到任務導向型對話領域,作者利用專家知識把複雜的對話任務在時序維度上拆分成多個子任務,例如一個複雜的旅行問題可以分解爲訂機票、訂酒店、租車等子問題。根據這個拆分,他們設計了兩個層次的對話策略網絡,一個層次負責選擇和安排所有的子任務,另一個層次負責具體子任務的執行。

他們提出的對話管理模型(如圖 15 所示)包括:

頂層策略(top-level policy),用於根據對話狀態選擇子任務;
底層策略(low-level policy),用於完成子任務的具體的某個對話動作;
全局對話狀態追蹤,記錄整體對話狀態。整個對話任務完成之後,頂層策略會收到外部獎勵(external reward)。

除此以外,模型還新增了內部評定模塊(internal critic),用於根據對話狀態估計子任務完成的可能性(子任務的填槽程度),底層策略會根據子任務完成程度收到內部評定模塊的一個內部獎勵(intrinsic reward)。

15.png

圖 15. 任務型對話系統的分層增強學習框架

面對複雜的對話問題,傳統的增強學習的每一步決策都在選擇基本系統動作,比如詢問槽值或者確認約束,而分層增強學習的先通過頂層策略選擇一大類基本動作的集合,再通過底層策略選擇當前集合的基本動作,流程如圖 16所示。這種對動作空間的層次劃分,能夠考慮到不同子任務之間的時序約束關係,有助於完成複合對話任務(composite task)。並且論文通過加入內部獎勵的方式,有效緩解了獎勵稀疏的問題,加快了增強學習的訓練,也在一定程度上避免了對話在不同子任務之間頻繁切換,提高了動作預測準確率。當然動作的分層設計比較依賴專家知識,需要通過專家來確定子任務的種類,近期相應地出現了一些對話子任務自動發現的工作30,通過無監督的方法,對整個對話歷史的對話狀態序列進行自動切分,從而避免人工構建對話子任務結構。

16.png

圖 16. 分層增強學習的策略選擇流程示意圖

Model-free 增強學習–封疆增強學習!

封疆增強學習(Feudal Reinforcement Learning, FRL)是另一種適用於大維度問題的增強學習方法。分層增強學習是把對話策略按照時間維度上的不同任務階段劃分成子策略,從而降低策略學習的複雜度;而封疆增強學習(FRL)是在空間維度上把策略進行劃分,限制子策略負責的動作範圍,劃分了“管轄疆域”,從而降低子策略的複雜度。封疆增強學習(FRL)不劃分子任務,而是應用了狀態空間的抽象化函數,從對話狀態中提取有用的特徵。這種抽象化有利於封疆增強學習(FRL)在大型問題中的應用以及在不同領域之間的遷移,具有較強的擴展性。

劍橋學者們首次將封疆增強學習[32]運用到任務導向對話系統領域,將動作空間按照是否和槽位相關來進行劃分,這樣只利用了動作空間的自然結構而不需要額外的專家知識。他們提出瞭如圖 17所示的封疆策略結構,該結構的決策過程分兩步:

決定下一步動作是否需要槽位作爲參數;
根據第一步的決策,以及對應的不同槽位採用不同的底層策略選擇下一步動作。

17.png

圖 17. 封疆增強學習在任務導向型對話系統上的應用

總的來說,分層增強學習(HRL)與封疆增強學習(HRL)都是將高維度的複雜動作空間進行不同方式的拆分,以解決傳統 RL 動作空間維度大導致訓練效率低的問題。分層增強學習(HRL)對任務的分割合理,比較符合人類的理解,但是需要專家知識來拆分子任務。封疆增強學習(FRL)對複雜問題的拆分則直接考慮其動作本身的邏輯結構,不考慮不同子任務之間的相互約束。

Model-based 增強學習

以上討論的屬於無模型(model-free)增強學習,它是通過和環境交互試錯得到大量弱監督數據,再去訓練一個價值網絡或者策略網絡,而不關心環境本身。與之相對的是基於模型的(model-based)增強學習,它的學習過程如圖 18。其特點是對環境直接進行建模,利用和環境交互得到的數據學習出一個狀態和獎勵的概率轉移函數,即環境模型,然後系統可以和環境模型交互產生更多的訓練數據,因此model-based增強學習一般比model-free增強學習的訓練效率要高,尤其是在和環境交互代價昂貴的場景。但其效果取決於環境建模的好壞。

18.png

圖 18. model-based的增強學習的流程

採用 model-based 增強學習來提高訓練效率是最近研究熱點,微軟首先將經典的 Deep Dyna-Q(DDQ)算法應用到對話中[33],如圖 19c 所示,DDQ 訓練開始之前,先利用少量已有的對話數據對策略模型和環境模型(world model)進行預訓練,之後 DDQ的訓練不斷循環三個步驟:

直接增強學習 - 通過和真實用戶在線對話交互,更新策略模型並且儲存對話數據;
訓練環境模型 - 利用收集到的真實對話數據更新環境模型;
規劃(planning)- 利用和環境模型交互得到的對話數據來訓練策略模型。

其中環境模型(如圖 20)是一個神經網絡,對環境的狀態轉換和獎勵進行概率建模,輸入是當前對話狀態以及系統動作,輸出是下一輪用戶動作、環境獎勵和對話終止變量。環境模型使得 DDQ 降低了在線增強學習(如圖 19a)對人機交互數據量的需求,也避免了和用戶模擬器交互(如圖 19b)質量不高的問題。

19.png

圖 19. 三種不同增強學習框架

20.png

圖 20. 環境模型的結構

環境模型與對話領域中的用戶模擬器比較相似,它們都可以用於模擬真實用戶的動作並和系統的對話管理模塊交互。但兩者不同之處在於用戶模擬器本質是系統的外部環境,用於模擬真實用戶,環境模型是系統的一部分,屬於系統內部模型。

在DDQ的工作基礎上,微軟研究者們做了更多的擴展:爲了提高環境模型產生的對話數據的真實性,他們提出[34]採用對抗訓練的思想提高對話數據的生成質量;針對何時使用和真實環境交互的數據,何時使用和環境模型交互的數據,論文[35]探討了可行方案;爲了將真人交互也納入進來,論文[36]給出了一個統一的對話框架。這種人類教學(human-teaching)的思想也是目前業界構建對話管理模型的關注熱點,我們在下小節給出更多闡述。

Human-in-the-loop

我們希望能充分引入人的知識經驗來生成高質量數據,提高模型訓練效率。Human-in-the-loop增強學習[37]就是一種將人類引入機器人訓練過程的方法,通過設計好的人機交互方式,人類可以高效地指導訓練增強學習模型。爲了進一步提升任務導向對話系統的訓練效率,針對對話問題的特性設計有效的human-in-the-loop方式成爲了研究人員新的探索方向。

21.jpg

圖 21. 監督式預訓練、模仿學習和在線增強學習結合的複合式學習

谷歌研究者提出了一種人類教學和增強學習結合的複合學習方法[37](如圖 21),在有監督預訓練和在線增強學習之間增加一個人類教學階段,讓人介入進來打標籤,避免了有監督預訓練導致的covariate shift 問題[42]。亞馬遜研究者也提出一種類似的人類教學框架[37]:每輪對話中,系統都推薦4條回覆供客服專家選擇;然後客服專家決定是選擇4條回覆中的一條,還是另外編輯新的回覆;最後由客服專家把選擇好或者編輯好的回覆發給用戶。利用這種方式,開發人員可以快速地更新對話系統能力,適合落地。

以上是系統被動地接受人對數據進行標註,但是好的系統也應該學會主動提問、尋求人的幫助。論文[40]提出了陪伴式學習(companion learning)的架構(如圖 22),在傳統的增強學習框架中加入老師的角色(即人),老師可以糾正對話系統(即學生)的回覆(圖左側開關),也能以內部reward的形式對學生的回覆進行評價(圖右側開關)。對於主動學習的實現,作者提出了對話決策確信度(decision certainty)的概念,通過dropout技巧對學生策略網絡進行多次採樣,得到可取動作的最大概率近似估計,再通過計算該最大概率的若干對話輪次的滑動平均值作爲學生策略網絡的決策確信度。確信度若低於目標值,則根據確信度與目標值的差距,決定老師是否參與進來糾正錯誤和提供獎勵函數,確信度高於目標值,則停止向老師學習,系統自行進行判決。

22.png

圖 22. 老師糾正學生的回覆(左側開關)或者對學生的回覆做出評價(右側開關)
主動學習的關鍵在於估計出對話系統對自身決策的確信度,除了上述對策略網絡進行dropout的方法,還有以隱變量爲條件變量,計算策略網絡分佈Jensen-Shannon散度的方法[22]、根據當前系統對話成功率做判斷的方法[36]。

小蜜Conversational AI團隊的對話管理框架

爲了保證穩定性和可解釋性,目前業界對話管理模塊多采用基於規則的方法。阿里巴巴-達摩院-小蜜Conversational AI團隊在去年就開始嘗試對話管理模型化的工作,並進行了深入地探索。在真實的對話系統建設中,我們需要解決兩個問題:

如何獲得特定場景的大量對話數據?
怎麼利用算法充分發揮數據的價值?

對於整個模型化的框架設計,目前我們規劃成四步走的路線(如圖 23所示):

23.png

圖 23. 對話管理模型化四步走路線

第一步,先利用小蜜Conversational AI團隊自主研發的對話工廠(dialog studio)快速構建一個基於規則對話流的對話引擎(稱爲TaskFlow),同時用類似的對話流去構建一個用戶模擬器。在構建好用戶模擬器和對話引擎之後,兩者採用M2M方式持續交互沉澱出大量的對話數據。

第二步,有了一定量的對話數據後,我們再利用有監督學習訓練一個神經網絡,構建和規則對話引擎能力基本相當的對話管理模型,實現對話管理的初步模型化。模型的設採用語義相似匹配和端到端生成兩種方法結合來實現可拓展性,對於動作空間較大的對話任務採用HRL進行動作劃分。

第三步,有了初步的對話管理模型,在開發階段,我們讓系統和改進的用戶模擬器或人工智能訓練師進行交互,通過off-policy ACER增強學習算法讓系統的對話能力持續地增強。

第四步,人機對話體驗達到初步實用之後,就可以上線運行,引入人的因素,收集用戶真實交互數據,同時通過一些UI設計方便地引入用戶的反饋,持續不斷地更新強化模型。沉澱出大量人機對話數據也會進一步進行做數據分析和挖掘,用於客戶洞察。

目前,我們打造的基於增強學習的對話管理模型,在訂會議室這種中等複雜規模的對話任務上,和用戶模擬器交互的對話完成率可達80%,如圖24所示。

24.png

圖 24. 小蜜Conversational AI團隊的對話管理模型框架和評價指標

總結

本綜述圍繞對話管理(Dialog Management, DM)模型的最新前沿研究做了一個詳細的介紹,針對傳統對話管理的痛點劃分了三個大的方向:

可拓展性差;
標註數據少;
訓練效率低。

在可拓展性方面,我們介紹了處理變化的用戶意圖、對話本體、系統動作空間的常用方法,主要有語義相似匹配方法、知識蒸餾方法和序列生成方法;對於標註數據稀缺問題,我們介紹了機器自動標註、對話結構有效挖掘和數據高效收集策略三部分內容;而針對傳統DM中RL模型訓練效率低下的問題,學界有嘗試引入HRL、FRL等方法對動作空間進行層次劃分,也有利用model-based RL對環境進行建模提高訓練效率,將human-in-the-loop引入對話系統訓練框架亦是當下十分活躍的研究方向。最後我們對阿里巴巴-達摩院-小蜜Conversational AI團隊目前在DM模型化的進展做了一個比較詳細的彙報介紹,希望本綜述能爲大家的對話管理研究提供一些啓發和思考。

參考資料:

[1].TURING A M. I.—COMPUTING MACHINERY AND INTELLIGENCE[J]. Mind, 1950, 59(236): 433-460.
[2].Weizenbaum J. ELIZA---a computer program for the study of natural language communication between man and machine[J]. Communications of the ACM, 1966, 9(1): 36-45.
[3].Young S, Gašić M, Thomson B, et al. Pomdp-based statistical spoken dialog systems: A review[J]. Proceedings of the IEEE, 2013, 101(5): 1160-1179.
[4].Bordes A, Boureau Y L, Weston J. Learning end-to-end goal-oriented dialog[J]. arXiv preprint arXiv:1605.07683, 2016.
[5].Wen T H, Vandyke D, Mrksic N, et al. A network-based end-to-end trainable task-oriented dialogue system[J]. arXiv preprint arXiv:1604.04562, 2016.
[6].Su P H, Budzianowski P, Ultes S, et al. Sample-efficient actor-critic reinforcement learning with supervised data for dialogue management[J]. arXiv preprint arXiv:1707.00130, 2017.
[7]. Serban I V, Sordoni A, Lowe R, et al. A hierarchical latent variable encoder-decoder model for generating dialogues[C]//Thirty-First AAAI Conference on Artificial Intelligence. 2017.
[8]. Berant J, Chou A, Frostig R, et al. Semantic parsing on freebase from question-answer pairs[C]//Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing. 2013: 1533-1544.
[9]. Dhingra B, Li L, Li X, et al. Towards end-to-end reinforcement learning of dialogue agents for information access[J]. arXiv preprint arXiv:1609.00777, 2016.
[10]. Lei W, Jin X, Kan M Y, et al. Sequicity: Simplifying task-oriented dialogue systems with single sequence-to-sequence architectures[C]//Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2018: 1437-1447.
[11]. Madotto A, Wu C S, Fung P. Mem2seq: Effectively incorporating knowledge bases into end-to-end task-oriented dialog systems[J]. arXiv preprint arXiv:1804.08217, 2018.
[12]. Mrkšić N, Séaghdha D O, Wen T H, et al. Neural belief tracker: Data-driven dialogue state tracking[J]. arXiv preprint arXiv:1606.03777, 2016.
[13]. ¬Ramadan O, Budzianowski P, Gašić M. Large-scale multi-domain belief tracking with knowledge sharing[J]. arXiv preprint arXiv:1807.06517, 2018.
[14]. Weisz G, Budzianowski P, Su P H, et al. Sample efficient deep reinforcement learning for dialogue systems with large action spaces[J]. IEEE/ACM Transactions on Audio, Speech and Language Processing (TASLP), 2018, 26(11): 2083-2097.
[15]. Wang W, Zhang J, Zhang H, et al. A Teacher-Student Framework for Maintainable Dialog Manager[C]//Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing. 2018: 3803-3812.
[16]. Yun-Nung Chen, Dilek Hakkani-Tur, and Xiaodong He, "Zero-Shot Learning of Intent Embeddings for Expansion by Convolutional Deep Structured Semantic Models," in Proceedings of The 41st IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP 2016), Shanghai, China, March 20-25, 2016. IEEE.
[17]. Rastogi A, Hakkani-Tür D, Heck L. Scalable multi-domain dialogue state tracking[C]//2017 IEEE Automatic Speech Recognition and Understanding Workshop (ASRU). IEEE, 2017: 561-568.
[18]. Mesnil G, He X, Deng L, et al. Investigation of recurrent-neural-network architectures and learning methods for spoken language understanding[C]//Interspeech. 2013: 3771-3775.
[19]. Bapna A, Tur G, Hakkani-Tur D, et al. Towards zero-shot frame semantic parsing for domain scaling[J]. arXiv preprint arXiv:1707.02363, 2017.
[20]. Wu C S, Madotto A, Hosseini-Asl E, et al. Transferable Multi-Domain State Generator for Task-Oriented Dialogue Systems[J]. arXiv preprint arXiv:1905.08743, 2019.
[21]. He J, Chen J, He X, et al. Deep reinforcement learning with a natural language action space[J]. arXiv preprint arXiv:1511.04636, 2015.
[22]. Wang W, Zhang J, Li Q, et al. Incremental Learning from Scratch for Task-Oriented Dialogue Systems[J].
arXiv preprint arXiv:1906.04991, 2019.
[23]. Shi C, Chen Q, Sha L, et al.
Auto-Dialabel: Labeling Dialogue Data with Unsupervised Learning[C]//Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing. 2018: 684-689.
[24]. Haponchyk I, Uva A, Yu S, et al. Supervised clustering of questions into intents for dialog system applications[C]//Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing. 2018: 2310-2321.
[25]. Shi W, Zhao T, Yu Z. Unsupervised Dialog Structure Learning[J]. arXiv preprint arXiv:1904.03736, 2019.
[26]. Zhao T, Xie K, Eskenazi M. Rethinking action spaces for reinforcement learning in end-to-end dialog agents with latent variable models[J]. arXiv preprint arXiv:1902.08858, 2019.
[27]. Shah P, Hakkani-Tur D, Liu B, et al. Bootstrapping a neural conversational agent with dialogue self-play, crowdsourcing and on-line reinforcement learning[C]//Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 3 (Industry Papers). 2018: 41-51.
[28]. Budzianowski P, Wen T H, Tseng B H, et al. Multiwoz-a large-scale multi-domain wizard-of-oz dataset for task-oriented dialogue modelling[J]. arXiv preprint arXiv:1810.00278, 2018.
[29]. Peng B, Li X, Li L, et al. Composite task-completion dialogue policy learning via hierarchical deep reinforcement learning[J]. arXiv preprint arXiv:1704.03084, 2017.
[30]. Kristianto G Y, Zhang H, Tong B, et al. Autonomous Sub-domain Modeling for Dialogue Policy with Hierarchical Deep Reinforcement Learning[C]//Proceedings of the 2018 EMNLP Workshop SCAI: The 2nd International Workshop on Search-Oriented Conversational AI. 2018: 9-16.
[31]. Tang D, Li X, Gao J, et al. Subgoal discovery for hierarchical dialogue policy learning[J]. arXiv preprint arXiv:1804.07855, 2018.
[32]. Casanueva I, Budzianowski P, Su P H, et al. Feudal reinforcement learning for dialogue management in large domains[J]. arXiv preprint arXiv:1803.03232, 2018.
[33]. Peng B, Li X, Gao J, et al. Deep dyna-q: Integrating planning for task-completion dialogue policy learning[J]. ACL 2018.
[34]. Su S Y, Li X, Gao J, et al. Discriminative deep dyna-q: Robust planning for dialogue policy learning.EMNLP, 2018.
[35]. Wu Y, Li X, Liu J, et al. Switch-based active deep dyna-q: Efficient adaptive planning for task-completion dialogue policy learning.AAAI, 2019.
[36]. Zhang Z, Li X, Gao J, et al. Budgeted Policy Learning for Task-Oriented Dialogue Systems. ACL, 2019.
[37]. Abel D, Salvatier J, Stuhlmüller A, et al. Agent-agnostic human-in-the-loop reinforcement learning[J]. arXiv preprint arXiv:1701.04079, 2017.
[38]. Liu B, Tur G, Hakkani-Tur D, et al. Dialogue learning with human teaching and feedback in end-to-end trainable task-oriented dialogue systems[J]. arXiv preprint arXiv:1804.06512, 2018.
[39]. Lu Y, Srivastava M, Kramer J, et al. Goal-Oriented End-to-End Conversational Models with Profile Features in a Real-World Setting[C]//Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 2 (Industry Papers). 2019: 48-55.
[40]. Chen L, Zhou X, Chang C, et al. Agent-aware dropout dqn for safe and efficient on-line dialogue policy learning[C]//Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing. 2017: 2454-2464.
[41]. Gao J, Galley M, Li L. Neural approaches to conversational AI[J]. Foundations and Trends® in Information Retrieval, 2019, 13(2-3): 127-298.
[42]. Ross S, Gordon G, Bagnell D. A reduction of imitation learning and structured prediction to no-regret online learning[C]//Proceedings of the fourteenth international conference on artificial intelligence and statistics. 2011: 627-635.
[43]. Rajendran J, Ganhotra J, Polymenakos L C. Learning End-to-End Goal-Oriented Dialog with Maximal User Task Success and Minimal Human Agent Use[J]. Transactions of the Association for Computational Linguistics, 2019, 7: 375-386.
[44]. Mrkšić N, Vulić I. Fully Statistical Neural Belief Tracking[C]//Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers). 2018: 108-113.
[45]. Zhou L, Small K. Multi-domain Dialogue State Tracking as Dynamic Knowledge Graph Enhanced Question Answering[J]. arXiv preprint arXiv:1911.06192, 2019.
[46]. Rajpurkar P, Jia R, Liang P. Know What You Don't Know: Unanswerable Questions for SQuAD[J]. arXiv preprint arXiv:1806.03822, 2018.
[47]. Zhang J G, Hashimoto K, Wu C S, et al. Find or Classify? Dual Strategy for Slot-Value Predictions on Multi-Domain Dialog State Tracking[J]. arXiv preprint arXiv:1910.03544, 2019.

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