達摩院基于元學習的對話系統(tǒng)
作者:戴音培, 黎航宇, 李永彬, 孫健
出品:阿里達摩院Conversational AI團隊
導讀:隨著科技的不斷進步發(fā)展,智能對話系統(tǒng)因其巨大的潛力和商業(yè)價值將會成為下一代人機交互的風口,不少公司都紛紛開始研究人機對話系統(tǒng),希望人與機器之間能夠通過自然對話進行交互。筆者所在的達摩院 Conversational AI團隊(即云小蜜團隊),早在三年前就研發(fā)打造了面向開發(fā)者的智能對話開發(fā)平臺 Dialog Studio,并將我們的技術通過阿里云智能客服的產品矩陣,賦能各行各業(yè)和政府機構進行智能服務的全方位升級。目前Dialog Studio平臺已經在阿里云智能客服(政務12345熱線、中移動10086、金融、醫(yī)療等)、釘釘(通過釘釘官方智能工作助理服務幾百萬企業(yè))、集團內(淘寶優(yōu)酷等十幾個BU)、淘寶天貓商家以及Lazada東南亞6國得到了大規(guī)模應用。
01常見的智能對話系統(tǒng)有:問答型、聊天型、任務型等。其中任務型對話在實際應用中,尤其是在我們的ToB 場景最為普遍。因為該系統(tǒng)不僅可以回答用戶問題,同時還能主動發(fā)問,引導會話的有效進行,通過多輪對話完成某個特定的任務。例如在一個浙江省信訪的外呼場景中,一個典型的對話如下:
可以看到,在該對話中,機器人需要先表明自己的來意,根據用戶的不同的回答情況進行多輪的對話,收集好自己需要的滿意度信息并結束對話。
目前常見的任務型對話系統(tǒng)的架構有兩種,一種是模塊化的,另一種是端到端式的(如下圖所示):
盡管模塊化的對話系統(tǒng)由于每個部分獨立優(yōu)化,具有更強的可控性,但是端到端的對話系統(tǒng)可以直接利用對話日志進行訓練,不需要人工設計特定的語義標簽,因此更具備可擴展性,在一些復雜度中低的對話場景中能夠快速訓練部署使用。有關模塊化和端到端對話模型的詳細介紹和前沿進展可參考《小蜜團隊萬字長文:對話管理模型最新研究進展》一文。
2. 端到端對話模型及其挑戰(zhàn)
一般來說,端到端對話模型可分為檢索式和生成式,檢索式模型就是給定對話歷史從預定義回復候選集合中選出最佳回復作為當前系統(tǒng)輸出,生成式模型則是給定對話歷史直接生成回復。兩種方式都可以通過和用戶多輪交互完成最終的對話任務。
由于回復更加可控,目前我們在 Dialog Studio 上實現的是檢索式端到端的對話模型,并且在政務、疫情等業(yè)務中都落地應用。上述的浙江省信訪的例子就是我們實現的對話模型所產生的對話,因為沒有復雜的知識推理、語義解析等,此類場景是端到端對話系統(tǒng)特別適用的場景。
然而,盡管端到端對話模型簡單易用,但是在實際應用中仍然面臨著兩大常見問題:
① 數據量少:端到端模型一般需要大量的訓練數據,且場景越復雜,需求越大。在 Dialog Studio 中的ToB 的業(yè)務,不少新場景一開始是沒有可用的高質量對話日志,比如我們在政務12345 場景 和 114 移車場景上積累了大量的對話,可當我們做省信訪外呼場景時,一開始只有極少的對話可以使用。因此如何利用已有場景的豐富數據訓練好一個端到端模型,使其可以快速遷移到缺少數據的新場景上是一個很大的挑戰(zhàn)。

② 魯棒性差:有限的離線訓練數據和真實的在線測試數據之間存在數據分布的差異性,會導致系統(tǒng)在線表現不佳和離線測試效果不匹配的情況。這種差異性主要來自于未見的用戶行為(例如:新槽值、新意圖、復雜句等),這類問題統(tǒng)稱為 out-of-script 問題,可以用來驗證對話模型的魯棒性。例如下圖中,訓練數據中從未出現過“喂,內容是什么?我忘了反饋什么了” 類似的用戶語句,一旦真實上線,模型很容易預測出錯誤的結果,從而影響用戶體驗。尤其是當數據量少的時候,模型對于在線數據的魯棒預測會進一步下降。因此如何解決線上線下數據不匹配,提高端到端對話模型的魯棒性是另一大挑戰(zhàn)。

在阿里云智能客服的諸多業(yè)務中,不少場景都存在訓練數據稀少的問題,而客戶又需要我們的對話系統(tǒng)能夠達到可直接上線的標準。因此綜合來看,我們希望提出一種新的端到端對話系統(tǒng)以及對應的優(yōu)化方法,能夠兼具備面對新場景的快速適應性(fast adaptability)和穩(wěn)健的在線表現 (reliable performance),能夠在低訓練資源下依舊能夠保證較好的線上效果。
02
技術方案
通過前期調研我們發(fā)現,應對數據少的問題的常用方法有元學習、數據增強等,而應對訓練和測試對話數據不一致的問題的常用方法有人機協同[1]、在線學習[2]等。最終我們選擇將元學習(meta-learning)方法和人機協同(human-machine collaboration)方法結合,提出了元對話系統(tǒng)(Meta-Dialog System, MDS):利用元學習,系統(tǒng)能夠在少量訓練數據上進行快速學習,解決數據少的難題;利用人機協作,模型可以在對話中請求人工客服幫助,以保證系統(tǒng)達到可接受的線上水平,提高系統(tǒng)的魯棒性。相關成果已經發(fā)表至 ACL2020 [3]。
1. 模型結構
我們采用檢索式端到端對話模型[4],該對話任務是一個分類任務,即給定預定義的回復候選集,基于對話歷史選擇正確回復。如下圖所示,一般該模型一共包含三個部分:
-
歷史編碼器(History encoder),對整個對話歷史進行編碼提取對話狀態(tài)向量,常見模型可以使用 MemN2N,Hierarical RNN,BERT 等 ;
-
回復編碼器 (Response encoder),對每個回復進行編碼提取句向量;
-
預測器,根據對話狀態(tài)向量和回復句向量判斷出正確的回復,通常就是計算余弦相似度給出。
而在人機協同的框架下[1],為了能夠做到智能高效地轉人工,端到端對話模型還會多出一個判決器模塊,專門用于判定當前對話是否轉人工,如果轉人工則交給人工客服解答,否則模型自己給出答案。如下圖所示:
2. 優(yōu)化方案

在ACL2020論文中,為了和文獻 [1, 4] 一致,對于歷史編碼器我們仍然采用經典的 MemN2N 模型,對于回復編碼器我們使用了一個簡單的詞向量相加的句向量。模型預測器的部分,我們選擇了能夠學習出更有鑒別性的特征的large margin cosine loss [7] 作為損失函數 Llmc 。針對請求人工的判決器,我們提出通過計算判決器預測的正負樣本的 F1 score作為 reward 函數,使用增強學習來進行優(yōu)化 Lrl 。最終,我們利用MAML對 Llmc+Lrl 進行聯合優(yōu)化。
MAML 是元學習中的一類方法,它具備模型普適性,通過在meta tasks上進行預訓練,能夠幫助模型找到一組最合適的參數,使其快速適應新任務。例如下圖[9]給出了一個 MAML 和MLE 訓練對比示意圖,每個圓圈都是看做一個場景,實心的是訓練用的源場景,空心的是測試用的目標場景,使用 MLE 預訓練會導致模型的參數過擬合到源場景上,而MAML預訓練則能夠找到更好的參數初始化,使得快速遷移到新場景上去:
正是因為這樣的特性,我們選擇 MAML 來進行聯合優(yōu)化,幫助預測器和判決器一起快速適應新場景。
在 MAML 訓練中,首先需要構造元任務 (meta-task),步驟如下:
-
采樣 K 個對話場景 (每個場景對應一個對話任務)
-
每個對話任務,采樣 N 個對話數據作為支撐集(support set),N 個數據作為問詢集(query set)
然后根據以下算法流程進行優(yōu)化:
03
模型結果
為了驗證模型在新場景的遷移能力,我們需要多場景的端到端對話數據集,在評價時,依次選取一個場景作為目標場景,剩余的作為訓練場景。利用 MAML 預訓練模型完畢之后,再在目標場景上進行小樣本的遷移實驗。最終結果是每個場景取平均得到。我們既需要在學術數據集上實驗,也需要在實際業(yè)務中落地,以此驗證算法的可行性。
1. Extended-bAbI數據集結果
學術數據集我們選擇了extended-bAbI,它是 bAbI 數據集的擴展版,包含了場景有餐館、機票、酒店、電影、音樂、旅游、天氣等 7 個場景,每個場景的訓練集/開發(fā)集/測試集為 1500/500/1000 個完整對話,評價指標是回復選擇的準確率。我們將 MDS、MDSmle(將MAML優(yōu)化改成 MLE 優(yōu)化)、Mem+C [1] 這三個模型進行對比如下:
平均在新場景中,使用 0, 1, 5, 10 組完整對話 session 數據上,MDS 模型的表現都是最好的。證明了我們小樣本下端到端模型的效果。同時我們也做了一下 ablation study,發(fā)現去掉判決器 (MDS-switch) 和隨機轉人工 (MDSrand) 的模型都很差,證明了我們的轉人工判決器真的能夠在聯合優(yōu)化中學出識別 out-of-script 的對話數據的能力,提升模型的魯棒性。
2. 業(yè)務落地
我們的端到端對話模型 MDS 目前已經在Dialog Studio平臺上政務12345的多個場景中落地,對話的完成率平均能有5-10% 的提升。通常我們遇到的實際業(yè)務的流程schema是一個較為復雜的圖狀結構,下圖是一個簡化的示意圖:
這種圖結構流程(我們稱為 TaskFLow)在 Dialog Studio 里能夠通過圖形化拖拽的方式非常方便地進行配置使用。詳見《一個中心+三大原則 -- 小蜜這樣做智能對話開發(fā)平臺》。
實際場景往往一開始時是零對話數據,盡管 MDS 模型能夠進行冷啟動,有比一般模型更好的效果,但是并不一定能夠百分百達到上線準入要求。為了更好地利用我們模型的遷移能力,我們通過以下兩步來預訓練對話模型:
-
我們設計了一個基于TaskFLow 的對話模擬器,能夠低成本快速地模擬出大量模擬對話數據。該對話模擬器利用生成模型生成對話數據,并能夠通過線上回流的無標日志進行模擬器的自增強優(yōu)化。
-
當一個新場景的模擬數據模擬完畢后,我們把新場景的模擬數據和各個已有相似場景的真實數據一起作為源場景進行 MAML 優(yōu)化,然后遷移到新場景的真實數據中去。
下圖是我們模型在某地市12345熱線場景的一個實驗結果:
橫軸是adaptation時使用的標注對話數據量,縱軸是回復準確率??梢钥吹剑绻苯邮褂?TaskFlow,整個對話系統(tǒng)的準確率僅在 79% 左右。但是用上MDS 模型進行數據遷移和MAML 優(yōu)化之后,我們可以得到最上面那條曲線,冷啟動效果從 79% 提升至88% 左右,并在不同 adaptation對話數據下都能有著持續(xù)最好的表現。
04
總結展望
本文主要介紹了如何結合元學習方法提高對話模型在新場景上的快速適應能力和預測效果,解決小樣本下的端到端對話模型訓練問題。我們的元學習對話系統(tǒng)(Meta-Dialog system,MDS),不僅在學術數據集上進行了實驗,還在阿里云智能客服的多個真實場景中落地。結果表明,利用 MAML 可以很好地幫助模型的判決器和預測器一起找到合適的初始化參數,以更快地遷移到新場景中。
最后感謝所有耐心看完這篇文章的讀者。智能對話系統(tǒng)是個極具前景和挑戰(zhàn)性的方法。達摩院 Conversational AI團隊將不斷地探索推進在這個領域的技術進步和落地,敬請期待我們后續(xù)的工作!
05
參考文獻
[1] Rajendran J, Ganhotra J, Polymenakos L C. Learning End-to-End Goal-Oriented Dialog with Maximal User Task Success and Minimal Human Agent Use. ACL, 2019.
[2] 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. NAACL, 2018.
[3] Dai Y, Li H, et al. Learning Low-Resource End-To-End Goal-Oriented Dialog for Fast and Reliable System Deployment. ACL, 2020. (to be appeared)
[4] Bordes A, Boureau Y L, Weston J. Learning end-to-end goal-oriented dialog. ICLR, 2016.
[5] Finn C, Abbeel P, Levine S. Model-agnostic meta-learning for fast adaptation of deep networks. ICML, 2017.
[6] Eric M, Goel R, Paul S, et al. Multiwoz 2.1: Multi-domain dialogue state corrections and state tracking baselines[J]. arXiv preprint arXiv:1907.01669, 2019.
[7] Lin T E, Xu H. Deep unknown intent detection with margin loss[J]. ACL, 2019.
[8] Wang W, Zhang J, Li Q, et al. Incremental learning from scratch for task-oriented dialogue systems. ACL, 2019.
[9] Lin Z, Madotto A, Wu C S, et al. Personalizing dialogue agents via meta-learning[J]. ACL 2019.
[10] Wang W, Bi B, Yan M, et al. Structbert: Incorporating language structures into pre-training for deep language understanding[J]. ICLR 2020.
免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯系我們,謝謝!