深度前沿:对话管理模型研究最新进展
簡介: 從人工智能研究的初期開始,人們就致力于開發高度智能化的人機對話系統。對話管理模型研究最新進展源于前沿的深度的研究。
作者: 戴音培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],為研究第三代對話系統中的端到端任務導向型對話系統提出了新的方向。總的來說,第三代對話系統效果優于第二代系統,但是需要大量帶標注數據才能進行有效訓練,因此提升模型的跨領域的遷移拓展能力成為熱門的研究方向。
?
常見的對話系統可分為三類:
?自然語言理解(Natural Language Understanding, NLU):對用戶的文本輸入進行識別解析,得到槽值和意圖等計算機可理解的語義標簽。
?
?對話狀態跟蹤(Dialog State Tracking, DST):根據對話歷史,維護當前對話狀態,對話狀態是對整個對話歷史的累積語義表示,一般就是槽值對(slot-value pairs)。
?對話策略(Dialog Policy):根據當前對話狀態輸出下一步系統動作。一般對話狀態跟蹤模塊和對話策略模塊統稱為對話管理模塊(Dialog manager, DM)。
?自然語言生成(Natural Language Generation, NLG):將系統動作轉換成自然語言輸出。
這種模塊化的系統結構的可解釋性強,易于落地,大部分業界的實用性任務型對話系統都采用的此結構。但是其缺點是不夠靈活,各個模塊之間相對獨立,難以聯合調優,適應變化的應用場景。并且由于模塊之間的誤差會層層累積,單一模塊的升級也可能需要整個系統一起調整。
?
?
圖 1. 任務導向型對話系統的模塊化結構[41]
?
任務型對話系統的另一種實現是端到端系統,也是近年來學界比較熱門的方向9[11](如圖 2),這類結構希望訓練一個從用戶端自然語言輸入到機器端自然語言輸出的整體映射關系,具有靈活性強、可拓展性高的特點,減少了設計過程中的人工成本,打破了傳統模塊之間的隔離。然而,端到端模型對數據的數量和質量要求很高,并且對于填槽、API調用等過程的建模不夠明確,現階段業界應用效果有限,仍處在探索中。
?
?
圖 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. 出現新意圖的對話實例[15]
?
一旦出現訓練集未見的新用戶意圖時,傳統模型由于輸出的是表示舊意圖類別的固定one-hot向量,若要包含新的意圖類別,向量就需要進行改變,對應的新模型也需要進行完全的重訓練,這種情況會降低模型的可維護性和可拓展性。論文[15]提出了一種“老師-學生”的學習框架來緩解這一問題,他們將舊模型和針對新用戶意圖的邏輯規則作為“老師”,新模型作為“學生”,構成一個“老師-學生”訓練架構。該架構使用了知識蒸餾技術,具體做法是:對于舊的意圖集合,舊模型的概率輸出直接指導訓練新模型;對于新增的意圖,對應的邏輯規則作為新的標注數據來訓練新模型。這樣就使得在新模型不再需要與環境進行新的交互重新訓練了。論文在DSTC2數據集上進行實驗,首先選擇故意去掉 confirm 這個意圖,然后再將它作為新意圖加入對話本體中,依次驗證新模型是否具有很好的適應能力。圖 4 是實驗結果,論文新模型(即Extended System)、直接在包含所有意圖的數據訓練的模型(即 Contrast System)和舊模型進行比較,實驗證明新模型對新意圖的識別正確率在不同噪聲情況下都不錯的擴展識別新意圖的能力。
?
?
圖 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. 概念標注器結構
?
隨著近幾年序列到序列技術的發展,直接利用端到端神經網絡模型將DST的結果作為一個序列生成出來也是一個很熱門的方向,常見的技巧如注意力機制(attention mechanism)、拷貝機制(copy mechanism)均可以用來提高生成效果。在著名的多領域對話MultiWOZ數據集上,來自港科大的Pascale Fung 教授團隊利用了拷貝網絡,顯著提高了不可枚舉槽的識別精度 [20]。他們提出的TRADE 模型如圖 6所示,每次檢測槽值時,模型會將領域和槽位的不同結合進行語義編碼作為RNN解碼器的初始位置輸入,解碼器通過拷貝網絡,直接將對應的槽值生成出來。通過生成的方式,無論是不可枚舉的槽值,還是變化的槽位的槽值,都能使用同一個模型完成,這可以做到領域間槽值信息的共享,也大大地提高了模型的泛化能力。
?
?
圖 6. TRADE模型框架
?
最近一個明顯的趨勢是將多領域DST看作一個機器閱讀理解的任務,將TRADE這種生成式模型改進成鑒別式模型45。不可枚舉槽的追蹤利用類似SQuAD的機器閱讀理解任務[46],從對話歷史和提問中找到對應的 text span作為槽值,而可枚舉槽的追蹤則轉化成一個多項選擇的機器閱讀理解任務,從候選值中選擇正確的值作為預測出的槽值。通過結合ELMO,BERT等深度上下文詞表示,這些新提出的模型最終在MultiWOZ數據集上取得目前最好結果。
?
變化的系統動作
可拓展性問題的最后一個方面在于系統動作空間難以預定義。如圖 7所示,在設計一個電子產品推薦系統時,也許一開始并不會考慮到用戶會問到如何升級產品操作系統這樣的問題,但現實的情況是你無法限定用戶只問系統能解決的問題。如果系統動作空間事先框定,在用戶提出新問題時就會導致一連串的答非所問,導致極差的用戶體驗。
?
?
圖 7. 對話系統遇到未考慮的系統動作時的對話案例[22]
?
對此,我們需要考慮的是,如何設計更好的對話策略網絡,使得系統能夠快速的擴展新的動作。首先的嘗試來自微軟[21],他們試圖通過改變經典的DQN結構來實現系統在不受限動作空間上的增強學習。論文的對話任務是一個文字游戲闖關任務,每輪的動作是一句話,動作數目不定,選擇不同的動作故事情節就會有不同的發展。作者提出了新的模型Deep Reinforcement Relevance Network (DRRN),通過語義相似性匹配的方式將當前的對話狀態和各個可選的系統動作一一匹配得到Q函數。具體來看:某輪對話時,每個長度不定的動作文本會經過神經網絡編碼得到固定長度的系統動作向量,故事背景文本經過另一個神經網絡也得到固定長度的的對話狀態向量,兩個向量通過交互函數(如點積)生成最后的Q值。圖 8是論文設計模型結構。實驗表明,在“Saving John”和“Machine of Death”兩個文字游戲上DRRN比傳統DQN(使用padding技巧)的表現更加優異。
?
?
圖 8. DRRN模型。t輪有兩個候選動作,t+1輪有三個候選動作。
?
論文[22]則希望從對話系統整體的角度來解決這個問題,作者提出了增量學習對話系統(Incremental Dialogue System, IDS),如圖 9所示。首先系統通過Dialogue Embedding 模塊對對話歷史編碼得到上下文向量,再利用一個基于VAE的Uncertainty Estimation模塊根據上下文向量對當前系統能否給出正確回答進行一個置信度的評估。類似于主動學習的方式,若置信度高于閾值,則由對話管理器對當前所有可選動作一一打分,經過softmax函數預測出概率分布,若置信度低于閾值,則請求標注人員對本輪的回復進行標注(選擇正確回復或創建新的回復),得到了新數據并入數據池里一起在線更新模型。通過這種人類教學(human-teaching)的方式,IDS系統不僅解決了不受限動作空間的學習問題,還可以快速地收集高質量的數據,十分貼近實際生產應用。
?
?
圖 9. IDS的對話系統整體框架圖
?
?
對話管理模型痛點二 --- 標注數據少
隨著對話系統應用領域的多樣化,對數據的需求也更加多樣化,若想訓好一個任務型對話系統,通常都需要盡可能多的該領域的數據,但一般來說,想要獲取高質量的有標注數據的成本很高。為此學者們進行了各種研究嘗試,主要可分為三種思路:1) 用機器自動標注數據,降低數據標注的成本;2) 對話結構挖掘,盡可能高效利用無標注數據;3) 加強數據采集策略,高效獲取優質的數據。
?
機器自動標注
由于人工標注數據的代價大、效率低,學者們希望通過機器輔助人工來標注數據,方法大致可分為兩大類:有監督方法和無監督方法。論文[23]提出一種架構auto-dialabel,用層次聚類的無監督學習方法將對話數據中的意圖和槽位自動分組,從而實現對話數據的自動標注(類別的具體標簽需要人工來定)。該方法是基于一個假設:相同意圖的表達可能會共享相似的背景特征。模型提取的初始特征包括詞向量、POS 標注、名詞詞簇和LDA 四種特征。各個特征經由自編碼器轉成相同維度的向量后進行拼接,再采用RBF(radial bias function)函數計算類間距離進行動態的層次聚類。距離最近的類將會自動合并,直到類間距離大于預設的閾值停止。模型框架如圖 10所示。
?
?
圖 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. Discrete-VRNN(D-VRNN)與Direct-Discrete-VRNN(DD-VRNN)的示意圖
?
論文實驗表明VRNN 要優于傳統的HMM的方法,同時將對話結構的信息加入到獎勵函數中,也有助于增強學習模型更快地收斂。圖 12 是經過D-VRNN 挖掘出的餐館領域的隱變量z_t轉移概率的可視化圖。
?
?
圖 12. D-VRNN 對餐館領域的對話數據挖掘出的對話流結構
?
CMU學者[26]也嘗試利用VAE的方法,將系統動作作為隱變量推斷出來直接用于對話策略的選擇,這樣就能減輕預定義系統動作不夠全面帶來的問題。如圖 13所示,為了簡便起見,論文采用端到端的對話系統框架,基線模型是字級別的增強學習模型(即對話動作是詞表中的詞),通過encoder將對話歷史編碼,再利用decoder解碼生成對話回復,獎勵函數直接通過比對生成的對話回復語句和真實對話回復語句得到。作者提出的隱動作模型和基線模型的區別是encoder到decoder之間多了離散隱變量的后驗推理,對話動作由離散隱變量表示,沒有任何人為的干預定義。最終實驗證明,基于隱動作的端到端增強學習模型在語句生成的多樣性和任務完成率上均超過了基線模型。
?
?
圖 13. 基線模型和隱動作模型
?
?
數據采集策略
最近,谷歌研究者們提出了一種快速收集對話數據的方法[27](見圖 14):首先利用兩個基于規則的模擬器交互生成對話的outline,即用語義標簽表示的對話流骨架;然后利用模板將語義標簽轉寫為自然語言對話;最后利用眾包對自然語句進行改寫,使得對話數據的語言表達更加豐富多樣。這種反向收集數據方法不僅收集效率高,而且數據標注完整、可用性強,避免了收集領域數據的成本花費和大量的人工處理。
?
?
圖 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. 任務型對話系統的分層增強學習框架
?
面對復雜的對話問題,傳統的增強學習的每一步決策都在選擇基本系統動作,比如詢問槽值或者確認約束,而分層增強學習的先通過頂層策略選擇一大類基本動作的集合,再通過底層策略選擇當前集合的基本動作,流程如圖 16所示。這種對動作空間的層次劃分,能夠考慮到不同子任務之間的時序約束關系,有助于完成復合對話任務(composite task)。并且論文通過加入內部獎勵的方式,有效緩解了獎勵稀疏的問題,加快了增強學習的訓練,也在一定程度上避免了對話在不同子任務之間頻繁切換,提高了動作預測準確率。當然動作的分層設計比較依賴專家知識,需要通過專家來確定子任務的種類,近期相應地出現了一些對話子任務自動發現的工作30,通過無監督的方法,對整個對話歷史的對話狀態序列進行自動切分,從而避免人工構建對話子任務結構。
?
?
圖 16. 分層增強學習的策略選擇流程示意圖
?
Model-free 增強學習–封疆增強學習!
封疆增強學習(Feudal Reinforcement Learning, FRL)是另一種適用于大維度問題的增強學習方法。分層增強學習是把對話策略按照時間維度上的不同任務階段劃分成子策略,從而降低策略學習的復雜度;而封疆增強學習(FRL)是在空間維度上把策略進行劃分,限制子策略負責的動作范圍,劃分了“管轄疆域”,從而降低子策略的復雜度。封疆增強學習(FRL)不劃分子任務,而是應用了狀態空間的抽象化函數,從對話狀態中提取有用的特征。這種抽象化有利于封疆增強學習(FRL)在大型問題中的應用以及在不同領域之間的遷移,具有較強的擴展性。
劍橋學者們首次將封疆增強學習[32]運用到任務導向對話系統領域,將動作空間按照是否和槽位相關來進行劃分,這樣只利用了動作空間的自然結構而不需要額外的專家知識。他們提出了如圖 17所示的封疆策略結構,該結構的決策過程分兩步:1)決定下一步動作是否需要槽位作為參數;2)根據第一步的決策,以及對應的不同槽位采用不同的底層策略選擇下一步動作。
?
?
圖 17. 封疆增強學習在任務導向型對話系統上的應用
?
總的來說,分層增強學習(HRL)與封疆增強學習(HRL)都是將高維度的復雜動作空間進行不同方式的拆分,以解決傳統 RL 動作空間維度大導致訓練效率低的問題。分層增強學習(HRL)對任務的分割合理,比較符合人類的理解,但是需要專家知識來拆分子任務。封疆增強學習(FRL)對復雜問題的拆分則直接考慮其動作本身的邏輯結構,不考慮不同子任務之間的相互約束。
?
Model-based 增強學習
以上討論的屬于無模型(model-free)增強學習,它是通過和環境交互試錯得到大量弱監督數據,再去訓練一個價值網絡或者策略網絡,而不關心環境本身。與之相對的是基于模型的(model-based)增強學習,它的學習過程如圖 18。其特點是對環境直接進行建模,利用和環境交互得到的數據學習出一個狀態和獎勵的概率轉移函數,即環境模型,然后系統可以和環境模型交互產生更多的訓練數據,因此model-based增強學習一般比model-free增強學習的訓練效率要高,尤其是在和環境交互代價昂貴的場景。但其效果取決于環境建模的好壞。
?
?
圖 18. model-based的增強學習的流程
?
采用 model-based 增強學習來提高訓練效率是最近研究熱點,微軟首先將經典的 Deep Dyna-Q(DDQ)算法應用到對話中[33],如圖 19c 所示,DDQ 訓練開始之前,先利用少量已有的對話數據對策略模型和環境模型(world model)進行預訓練,之后 DDQ的訓練不斷循環三個步驟:1)直接增強學習 --- 通過和真實用戶在線對話交互,更新策略模型并且儲存對話數據;2)訓練環境模型 --- 利用收集到的真實對話數據更新環境模型;3)規劃(planning)--- 利用和環境模型交互得到的對話數據來訓練策略模型。其中環境模型(如圖 20)是一個神經網絡,對環境的狀態轉換和獎勵進行概率建模,輸入是當前對話狀態以及系統動作,輸出是下一輪用戶動作、環境獎勵和對話終止變量。環境模型使得 DDQ 降低了在線增強學習(如圖 19a)對人機交互數據量的需求,也避免了和用戶模擬器交互(如圖 19b)質量不高的問題。
?
?
圖 19. 三種不同增強學習框架
?
?
?
圖 20. 環境模型的結構
?
環境模型與對話領域中的用戶模擬器比較相似,它們都可以用于模擬真實用戶的動作并和系統的對話管理模塊交互。但兩者不同之處在于用戶模擬器本質是系統的外部環境,用于模擬真實用戶,環境模型是系統的一部分,屬于系統內部模型。
在DDQ的工作基礎上,微軟研究者們做了更多的擴展:為了提高環境模型產生的對話數據的真實性,他們提出[34]采用對抗訓練的思想提高對話數據的生成質量;針對何時使用和真實環境交互的數據,何時使用和環境模型交互的數據,論文[35]探討了可行方案;為了將真人交互也納入進來,論文[36]給出了一個統一的對話框架。這種人類教學(human-teaching)的思想也是目前業界構建對話管理模型的關注熱點,我們在下小節給出更多闡述。
Human-in-the-loop
我們希望能充分引入人的知識經驗來生成高質量數據,提高模型訓練效率。Human-in-the-loop增強學習[37]就是一種將人類引入機器人訓練過程的方法,通過設計好的人機交互方式,人類可以高效地指導訓練增強學習模型。為了進一步提升任務導向對話系統的訓練效率,針對對話問題的特性設計有效的human-in-the-loop方式成為了研究人員新的探索方向。
?
?
圖 21. 監督式預訓練、模仿學習和在線增強學習結合的復合式學習
?
谷歌研究者提出了一種人類教學和增強學習結合的復合學習方法[37](如圖 21),在有監督預訓練和在線增強學習之間增加一個人類教學階段,讓人介入進來打標簽,避免了有監督預訓練導致的covariate shift 問題[42]。亞馬遜研究者也提出一種類似的人類教學框架[37]:每輪對話中,系統都推薦4條回復供客服專家選擇;然后客服專家決定是選擇4條回復中的一條,還是另外編輯新的回復;最后由客服專家把選擇好或者編輯好的回復發給用戶。利用這種方式,開發人員可以快速地更新對話系統能力,適合落地。
以上是系統被動地接受人對數據進行標注,但是好的系統也應該學會主動提問、尋求人的幫助。論文[40]提出了陪伴式學習(companion learning)的架構(如圖 22),在傳統的增強學習框架中加入老師的角色(即人),老師可以糾正對話系統(即學生)的回復(圖左側開關),也能以內部reward的形式對學生的回復進行評價(圖右側開關)。對于主動學習的實現,作者提出了對話決策確信度(decision certainty)的概念,通過dropout技巧對學生策略網絡進行多次采樣,得到可取動作的最大概率近似估計,再通過計算該最大概率的若干對話輪次的滑動平均值作為學生策略網絡的決策確信度。確信度若低于目標值,則根據確信度與目標值的差距,決定老師是否參與進來糾正錯誤和提供獎勵函數,確信度高于目標值,則停止向老師學習,系統自行進行判決。
?
?
圖 22. 老師糾正學生的回復(左側開關)或者對學生的回復做出評價(右側開關)
?
主動學習的關鍵在于估計出對話系統對自身決策的確信度,除了上述對策略網絡進行dropout的方法,還有以隱變量為條件變量,計算策略網絡分布Jensen-Shannon散度的方法[22]、根據當前系統對話成功率做判斷的方法[36]。
?
小蜜Conversational AI團隊的對話管理框架
為了保證穩定性和可解釋性,目前業界對話管理模塊多采用基于規則的方法。阿里巴巴-達摩院-小蜜Conversational AI團隊在去年就開始嘗試對話管理模型化的工作,并進行了深入地探索。在真實的對話系統建設中,我們需要解決兩個問題:1)如何獲得特定場景的大量對話數據,2)怎么利用算法充分發揮數據的價值?
對于整個模型化的框架設計,目前我們規劃成四步走的路線(如圖 23所示):
?
?
圖 23. 對話管理模型化四步走路線
?
第一步,先利用小蜜Conversational AI團隊自主研發的對話工廠(dialog studio)快速構建一個基于規則對話流的對話引擎(稱為TaskFlow),同時用類似的對話流去構建一個用戶模擬器。在構建好用戶模擬器和對話引擎之后,兩者采用M2M方式持續交互沉淀出大量的對話數據。
第二步,有了一定量的對話數據后,我們再利用有監督學習訓練一個神經網絡,構建和規則對話引擎能力基本相當的對話管理模型,實現對話管理的初步模型化。模型的設采用語義相似匹配和端到端生成兩種方法結合來實現可拓展性,對于動作空間較大的對話任務采用HRL進行動作劃分。
第三步,有了初步的對話管理模型,在開發階段,我們讓系統和改進的用戶模擬器或人工智能訓練師進行交互,通過off-policy ACER增強學習算法讓系統的對話能力持續地增強。
第四步,人機對話體驗達到初步實用之后,就可以上線運行,引入人的因素,收集用戶真實交互數據,同時通過一些UI設計方便地引入用戶的反饋,持續不斷地更新強化模型。沉淀出大量人機對話數據也會進一步進行做數據分析和挖掘,用于客戶洞察。
目前,我們打造的基于增強學習的對話管理模型,在訂會議室這種中等復雜規模的對話任務上,和用戶模擬器交互的對話完成率可達80%,如圖24所示。
?
?
圖 24. 小蜜Conversational AI團隊的對話管理模型框架和評價指標
?
總結
本綜述圍繞對話管理(Dialog Management, DM)模型的最新前沿研究做了一個詳細的介紹,針對傳統對話管理的痛點劃分了三個大的方向:1)可拓展性差 2)標注數據少 3)訓練效率低。在可拓展性方面,我們介紹了處理變化的用戶意圖、對話本體、系統動作空間的常用方法,主要有語義相似匹配方法、知識蒸餾方法和序列生成方法;對于標注數據稀缺問題,我們介紹了機器自動標注、對話結構有效挖掘和數據高效收集策略三部分內容;而針對傳統DM中RL模型訓練效率低下的問題,學界有嘗試引入HRL、FRL等方法對動作空間進行層次劃分,也有利用model-based RL對環境進行建模提高訓練效率,將human-in-the-loop引入對話系統訓練框架亦是當下十分活躍的研究方向。最后我們對阿里巴巴-達摩院-小蜜Conversational AI團隊目前在DM模型化的進展做了一個比較詳細的匯報介紹,希望本綜述能為大家的對話管理研究提供一些啟發和思考。
總結
以上是生活随笔為你收集整理的深度前沿:对话管理模型研究最新进展的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用Github Action发布函数到
- 下一篇: 2019 Flink Forward 大