日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

最新综述:对话系统之用户模拟器

發布時間:2024/10/8 windows 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 最新综述:对话系统之用户模拟器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者丨唐呈光、戴音培、李永彬、孫健單位丨阿里巴巴智能服務事業部小蜜北京團隊

用戶模擬器基礎


用戶模擬器產生背景
近幾年來,強化學習在任務導向型對話系統中得到了廣泛的應用,對話系統通常被統計建模成為一個馬爾科夫決策過程(Markov Decision Process)模型,通過隨機優化的方法來學習對話策略。
任務導向型對話系統用于幫助用戶完成某個任務如查電影、找餐館等,它一般由四個模塊組成:自然語言理解模塊(Natural Language Understanding, NLU)、對話狀態跟蹤模塊(Dialog State Tracking, DST)、對話策略模塊(Dialog Policy, DP)和自然語言生成模塊(Natural language Generation, NLG),其中 DST 和 DP 合稱為對話管理模塊


在和用戶的每輪交互過程中,對話系統利用 NLU 將用戶的語句解析成為機器可理解的語義標簽,并通過 DST 維護一個內部的對話狀態作為整個對話歷史的緊湊表示,根據此狀態使用 DP 選擇合適的對話動作,最后通過 NLG 將對話動作轉成自然語言回復。對話系統通過和用戶進行交互得到的對話數據和使用得分則可用于進行模型的強化學習訓練。


然而在實際中,和真實用戶的交互成本昂貴,數據回流周期慢,不足以支持模型的快速迭代,因此研究者們通常會構建一個用戶模擬器(User Simulator, US)作為對話系統的交互環境來進行閉環訓練。有了用戶模擬器產生任意多的數據,對話系統可以對狀態空間和動作空間進行充分地探索以尋找最優策略。


一個效果良好的用戶模擬器,我們期望它具備以下 3 個特征:


  • 有一個總體的對話目標,能夠生成上下文連貫的用戶動作;
  • 有足夠的泛化能力,在語料中未出現的對話情形里也能生成合理的行為;
  • 可以給出定量的反饋評分用于指導模型學習優化。

為了實現以上目標,學術界做了大量的研究工作,從最基礎的 bi-gram 模型?[4],到經典實用的 Agenda-based的方法?[2],再到最近基于深度學習的用戶模型?[9, 10],用戶模擬器的效果得到了顯著提升,也為對話模型的訓練提供了有效的方法。


用戶模擬器的基本結構
圖 1 是一個比較典型的用戶模擬器?[1],對話開始時用戶模擬器基于 User Goal(用戶目標)發出一個話術:“Are there any action movies to see this weekend?”(這個周末有什么動作片可以看的嗎?),這句話進到對話系統的自然語言理解模塊和對話管理模塊后,生成一句系統動作:“request_location”(詢問地點)。
簡便起見,這里省略掉系統的 NLG 模塊,系統回復直接送到用戶模擬器的用戶模型(User Model),通過用戶狀態更新和行為策略選擇,生成用戶對話行為:“inform(location=San Francisco)”(告知地點為舊金山),接下來經過 Error Model(可選)和 NLG 模塊,生成對應的自然語言,比如:“San Francisco, please.”(幫我訂舊金山的)。以此往復,用戶模擬器和對話系統持續多輪交互,直到對話結束。


?圖1. 用戶模擬器(藍色部分)和對話系統(紅色部分)


從上面的過程我們可以看到,典型的用戶模擬器和對話系統的結構比較相似,包含以下 4 個基本組成部分:
1. 用戶目標(User Goal):用戶模擬的第一步就是生成一個用戶對話的目標,對話系統對此是不可知的,但它需要通過多輪對話交互來幫助用戶完成該目標。一般來說,用戶目標的定義和兩種槽位相關: 可告知槽(informable slots)和可問詢槽(requestable slots),前者形如“槽=值”是用戶用于查詢的約束條件,后者則是用戶希望向系統問詢的屬性。
例如:用戶目標是 “inform(type=movie, genre=action, location=San Francisco, date=this weekend),request(price)”表達的是用戶的目標是想要找一部本周在 San Francisco 上映的動作片,找到電影后再進一步問詢電影票的價格屬性。有了明確的對用戶目標的建模,我們就可以保證用戶的回復具有一定的任務導向,而不是閑聊。
2. 用戶模型(User Model):用戶模型對應著對話系統的對話管理模塊,它的任務是根據對話歷史生成當前的用戶動作。用戶動作是預先定義好的語義標簽,例如“inform, request, greet, bye”等等。用戶動作的選擇應當合理且多樣,能夠模擬出真實用戶的行為。用戶模型是用戶模擬器的核心組成部分,在接下來的章節里我們將會詳細介紹各種具體模型和方法。
3. 誤差模型(Error Model):它接在 User Model 下游,負責模擬噪聲,對用戶行為進行擾動以模擬真實交互環境下不確定性。簡單的方式有:隨機用不正確的意圖替換正確的意圖、隨機替換為不正確的槽位、隨機替換為不正確的槽值等;復雜的方式有模擬基于 ASR 或 NLU 混淆的錯誤。


4. 自然語言生成(NLG):如果用戶模擬器需要輸出自然語言回復,就需要 NLG 模型將用戶動作轉換成自然語言表述。例如用戶動作標簽“inform(type=movie, genre=action, date=this weekend)” 進行 NLG 模塊后生成自然語句“Are there any action movies to see this weekend?”。

用戶模擬器的實現方法


我們將用戶模擬器的實現方法大致分成兩類:基于規則的方法基于模型學習的方法。我們將介紹這些方法中各自具有代表性的論文。

基于規則的方法


基于規則的方法需要專家手動構建,它的優點是可以冷啟動,用戶行為完全可控;缺點是代價大,覆蓋度不夠,在對話行為靈活性和多樣性上比較不足,適用于話術簡單清晰的填槽式對話任務。


基于規則的方法中使用最為廣泛的是基于議程(Agenda-based)的方法?[2, 3],該方法對用戶狀態表示、狀態轉移、Agenda 更新、Goal 更新進行了精細建模,邏輯清晰,可落地性強,業界很多工作?[1, 15]?都基于該方法進行擴展和優化。
基于議程的方法通過一個棧的結構把對話的議程定下來,對話的過程就變成進棧和出棧的動作,上下文關聯性很強,保證了用戶動作生成的一致性,一般不會出現異常用戶行為。但是,該方法在對話行為靈活性和多樣性比較欠缺,在實操層面可以通過引入一些隨機性提升靈活度。
基于議程的方法

代表論文:The Hidden Agenda User Simulation Model


論文鏈接:https://ieeexplore.ieee.org/document/4806280/?arnumber=4806280



首先,作者認為人機對話可以形式化為一系列狀態轉換和對話行為序列。在任意時刻 t ?,用戶在狀態 S,采取動作,過渡到中間狀態 S',收到對話系統回復的動作,然后轉換到下一個狀態 S'',然后以此往復,循環下去。



根據馬爾科夫假設,用戶行為可以分解為三個模型:用于建模用戶動作選擇,用于建模發出用戶動作后用戶狀態轉移到 S' 的概率,用于建模接收到系統動作后用戶狀態轉移到 S'' 的概率。


用戶狀態 S 被分為 2 部分表示:Agenda 的內容 A 和用戶目標 G。



G 由約束條件 C 和問詢內容 R 組成。在對話的過程中,G 能保證用戶行為是一致的且是任務導向的。


用戶 Agenda 是一個類似堆棧的結構,它存儲著待執行的用戶對話行為(user dialogue act)。在對話開始時,使用系統數據庫隨機生成新的用戶目標,然后會將用戶目標中所有目標約束轉換為告知行為(inform acts),所有的目標問詢轉換為問詢行為(request acts)填充到用戶 Agenda。在 Agenda 的底部,會添加一個 bye act 用于結束對話。


隨著對話的進行,Agenda 和 Goal 會動態更新,并從 Agenda 的頂部彈出用戶對話行為以形成本輪用戶動作在接收到系統回復后,根據寫好的規則新的用戶動作會被壓入到 Agenda 的棧頂,不相關的用戶動作會被刪除。當需要考慮動作的優先級時,棧頂的用戶動作也可以臨時被緩存起來先執行優先級高的動作,從而為模擬器提供簡單的用戶記憶模型。圖 2 給出了用戶目標和 Agenda 變化的示例。


?圖2. 表示用戶目標和agenda的狀態變化的示例
用戶動作選擇模型,其中 δ 為狄拉克函數,A[N] 代表棧頂的元素, A[1] 代表棧底的元素, A[N-n+1..N] 代表在 Agenda 棧頂的 top-n 的用戶動作 acts,該模型的直觀理解是如果在 top-n 的 acts 里,那么 P 趨于 1,此時將會被選中并發出。top-n 的 n 的選取體現了用戶模擬器的主動性程度,它可以從對話語料中統計得出,也可以根據經驗指定一個小的數值。
狀態更新模型,其中 A' 代表選擇后的 Agenda,N'=N-n 代表 A' 的大小,為了使 P 概率最大,則要求 A' 等于對 A 進行出棧操作后的結果 A[1..N'],G 保持不變。
已知 S=(A,G),根據概率的鏈式法則和條件獨立性假設,在用戶模擬器接收到后,可以將狀態轉移模型分解成 Agenda 更新模型和 Goal 更新模型。

如果不對 A'' 和 G'' 做限制,模型可能的狀態轉移空間太大,參數太多而不能直接人工指定,甚至通過大量的訓練數據都不能獲得一個可靠的參數估計。但如果假設 A'' 是從 A' 推導出來的,G'' 是從 G' 推導出來的,那么在每種情況下,僅需要有限個數的原子操作就能描述這個狀態轉移過程。


接下來,我們詳細分析 Agenda 更新模型。Agenda 從 A' 轉移 A'' 的過程可以看做一系列入棧操作,將用戶 dialogue acts 添加到棧的頂部。接下來會進行“清理”工作,比如:刪除冗余的 dialogue acts,null() acts 以及 Goal 中那些已經被填充的 request slots 關聯的 request() acts。
為了簡化起見,只考慮入棧操作,棧底部 1 到 N' 的元素是保持不變的,那么 Agenda 更新模型可以改寫為以下公式:

該公式表示 A'' 新增 N''-N' 個元素,而棧底元素不變。作者假設在中的每一個系統 act 只會觸發一個入棧操作,令 N''=N'+M,可得:

上式表示的是每一個系統 act 會觸發一個入棧操作,同時該操作還和 Goal 有關。此時,模型已經足夠簡單,都可以通過編寫人工規則來實現當接收到系統 act 后的邏輯,比如:當?[i] 中的元素 x=y 和 G'' 里的約束條件沖突時,可以將以下任意一個用戶 act 壓入棧 A'':negate(),inform(x=z),deny(x=y, x=z) 等。
Goal 更新模型描述的是當給定的情形下,約束條件 C' 和問詢內容是如何變化的。假定當給定 C'' 的情形下,R'' 是條件獨立于 C'' 的,那么可以得到:



為了控制 R' 轉移到 R'' 的空間大小,可以假設問詢的槽位是相互獨立的,并且每個槽只能利用??的信息來更新,或者保持不變。利用 R[k] 表示第 k 個可問詢槽,M(,C'') 表示??中的槽信息與 Goal 約束條件的匹配情況。


為了簡化 P(C''|,R',C'),作者假設 C'' 是通過添加新約束條件,改變約束條件的槽值或者什么都不改變得到的。轉移過程也不用考慮所有的情形,可以簡化為只考慮??的一些二值標識,比如:“是否在請求約束條件的槽?”,“是否在告知沒有找到滿足約束條件的元素?”等。這樣模型可以簡化到可以通過人工編寫規則實現,落地性很強。
基于模型學習的方法
通過人工編寫規則盡管落地性強,精準率高,但是成本很高,因此尋求數據驅動的模型化方法是一個很好的途徑。利用對話語料進行端到端訓練的效果優于基于議程的規則方法,它的優點是數據驅動,節省人力;但缺點是復雜對話建模困難,對數據數量要求很高,因此對于一些對話語料稀缺的領域效果很差。


論文?[4]?最早提出了 bi-gram 模型,通過給定系統動作預測用戶動作,, 從而對用戶模型進行概率建模。盡管 bi-gram 模型簡單可用,但是由于沒有對整個對話歷史和用戶目標進行有效建模,模擬出來用戶行為通常過于隨機不夠真實。隨后提出的 Levin model?[5],Schefller model?[6], Pietquin Model?[7]?均在 bi-gram 模型上進行了一定改進,使得用戶動作的生成有一定的約束。
在用戶模型的序列建模上,論文?[16]?利用隱馬爾科夫模型來推斷每一輪的用戶動作。論文?[8]?則研究了基于概率圖的用戶模型,如圖 3 所示,g 是用戶目標, 分別是系統動作、用戶隱動作,對話歷史和用戶觀測動作,通過 EM 算法優化模型參數。


?圖3. 用戶模型的概率圖建模


以上都是比較早期的統計建模方法,我們不再贅述。本文主要想從學習范式的角度對近幾年涌現的一些優秀論文進行介紹,包括:端到端有監督學習?[9, 10]聯合策略優化?[13]逆強化學習?[11]?協同過濾方法?[12]


端到端有監督學習

代表論文1:A Sequence-to-Sequence Model for User Simulation in Spoken Dialogue Systems


論文鏈接:https://arxiv.org/abs/1607.00070



之前的基于概率建模的方法往往存在著幾點不足:
  • 無法考慮對話歷史;
  • 需要刻板的結構來保證用戶行為的一致性;
  • 嚴重依賴于特定領域;
  • 在一次對話期間無法輸出多個用戶意圖。

用戶模擬器的一個重要特征是它鼓勵整個對話中的連貫行為,而由于之前的概率模型從易于實現的角度,基本不考慮很長的對話歷史和單句多意圖的情況,導致了整個對話效率比較低下。基于此作者提出了一種?Sequence-to-sequence 的用戶模擬器模型(如圖 4 所示),它將對話上下文序列作為輸入,然后輸出用戶動作序列。


?圖4. 用戶模擬器端到端模型
在每次對話開始之前,統一的構建出一個 Goal G=(C,R),對于餐館查詢任務而言,約束條件通常指的是菜品口味、菜品價格以及餐館所在方位,問詢內容為以下槽位:餐館名稱、餐館地址、餐館電話等。
在第 t 輪對話,一個上下文包含以下 4 部分:1)上一輪的系統動作;2)上一輪系統回復的信息與 User Goal 不一致的部分;3)約束條件的狀態(告知與否);4)問詢內容的狀態(被告知與否)。
在每次對話的過程中,會根據 dialogue acts 的個數以及 Goal 的狀態,對以上 4 部分進行 one-hot 編碼,從而得到對話上下文的向量化表示。如下表所示:



在 t 時刻,將上下文序列輸入到一個 encoder LSTM 網絡,得到一個向量作為對話歷史的內部表示。其中,,⊙ 代表拼接操作。
然后再將向量輸入到 decoder LSTM 網絡,輸出 dialogue acts 序列,比如 (inform, request)。接下來需要通過啟發式規則將 dialogue acts 映射為帶槽的用戶行為,比如 inform(food=Chinese), request(price_range)。
作者也提到可以訓練一個模型,讓它直接輸出最終的行為,比如 request_area,inform_pricerange。這種方式的優點是不需要寫啟發式規則,可以做到更細粒度的建模,這也是作者推薦的方式。最后實驗結果證明效果優于基于議程的方法。



代表論文2:Neural User Simulation for Corpus-based Policy Optimization for Spoken Dialogue Systems
論文鏈接:https://aclweb.org/anthology/papers/W/W18/W18-5007/


上一篇論文中的一些端到端系統雖然對整個對話歷史都進行了跟蹤,并且用戶的行為是從數據中學習得到的,但是依舊存在兩個問題:1)沒有對用戶的目標改變(goal change)進行建模;2)只在語義層面進行用戶模擬,需要耗費人力標注出每輪用戶語句的語義標簽進行模型訓練,而不是直接利用自然語句進行訓練。


因此該論文提出了基于 RNN 的 Neural User Simulator (NUS) 模型。首先 NUS 通過用戶目標生成器,對原對話數據中的對話狀態標簽進行預處理,得到一個完整對話中每一輪的具體用戶目標,這樣就相當于對用戶目標改變進行了某種程度上的建模,如下表所示:


?表中顯示某個對話一共有四輪,其中 第 2、3 輪之間出現了對 food 這個槽位的 goal change, 因此右邊處理之后得到了用戶目標也出現了變化。這樣的用戶目標不再是一成不變,而是充分根據對話數據給出了動態的用戶目標,更加貼近實際。
有了每輪的用戶目標,NUS 通過 RNN 來生成用戶語句, 如圖 5 所示:
??圖5. 神經用戶模擬器的端到端模型


圖中是每一輪提取出來的特征,它一共包含四個向量:其中是系統動作向量,包含,是一個長度等于所有可能的系統動作的二進制向量,是一個長度為可告知槽(informable slots)總個數 4 倍的二進制向量,用來表示本輪系統動作是否出現了 request、select、inform 和 expl-conf 這四個以可告知槽為參數的動作。
例如出現了 request(area)?則將中對應位置處元素置 1;稱作問詢向量,是一個長度和可問詢槽(requestable slots)總個數相等的二進制向量,用來標記哪些用戶目標中需要問詢的可問詢槽還沒有被用戶向系統提問;稱作不一致向量(inconsistency vector), ?長度等于可告知槽總個數,一旦系統動作中對某個槽出現了和本輪用戶目標不一致的情況,對應的位置處元素置 1。是用戶目標約束向量,長度等于可告知槽總個數,用來表示本輪用戶目標中出現了哪些可告知槽。
NUS 生成的回復是去詞匯化的自然語句,經過后處理則得到了用戶的自然語言回復。論文為了論證 NUS 效果優異 Agenda-based User Simulator (ABUS), 提出了一個交叉模型評估的方法,即在一個 User Simulator 上訓練一個 agent,在其他 User Simulator 上測試該 agent,如果 agent 效果依舊很好,說明用于訓練的 User Simulator 是更加貼近真實用戶。
最終實驗結果證明,在 NUS 上訓練得到了的 agent,在 ABUS 和真實用戶上測試得到的成功率均優于 ABUS,而在 ABUS 上訓練得到的 agent 效果只在 ABUS 上測試好。


聯合優化策略


代表論文:Iterative Policy Learning in End-to-End Trainable Task-Oriented Neural Dialog Models


論文鏈接:https://arxiv.org/abs/1709.06136v1



用戶模型和對話管理模型功能十分接近,因此對用戶模型也采用強化學習的框架,將用戶模擬器和對話系統聯合優化是一個可行的方向。論文在對用戶模擬器和對話系統分別采用了 RNN 進行端到端的建模并使用同一個回報函數優化,兩者交替訓練共同最大化累計回報。


論文使用的對話系統是一個端到端的 LSTM 模型,如圖 6 所示:


?圖6. 對話系統網絡結構


對話系統的狀態由 LSTM 的隱層節點編碼,每一輪都會進行更新。在第 k 輪對話,給定上一輪的系統語句??,用戶語句??,數據庫查詢結果??作為輸入,LSTM 模型更新上一輪的對話狀態??為?。新的對話狀態??通過前饋神經網絡可以直接預測出本輪各個槽的跟蹤分布、系統應采取的對話動作??和一個 one-hot 編碼的數據庫指針 。NLG 部分作者選擇采用模板的方法生成。


對應的用戶模擬器的結構如圖 7 所示。它也是采用了端到端的 LSTM 模型,輸入換作了用戶目標編碼?,上一輪用戶語句??和當前輪系統語句?,模型每輪更新用戶狀態??為?。新的用戶狀態??也通過前饋神經網絡得到本輪用戶應采取的動作和槽值參數。NLG 部分采用模板的方法直接生成。


?圖7. 用戶模擬器網絡結構


作者對用戶模擬器和對話系統進行聯合策略優化,使用了策略梯度(policy gradient)算法,兩者各自的狀態為 ???,動作為?和?。回報函數采用:? ? ? ? ?
?是用戶目標,?是對話系統對用戶目標的估計,D(?· ) 是一個得分函數。根據相鄰輪得分函數之差可以得到單輪回報函數。用戶模擬器和對話系統交替優化,共同最大化累計回報函數

為了降低 REINFORCE 策略梯度優化的方差,論文采用 Advantage Actor-Critic (A2C) 算法,并使用 ε-softmax 進行策略探索,在 DSTC2 數據集上進行了初步實驗,結果如下:



逆強化學習?


代表論文:User Simulation in Dialogue Systems using Inverse Reinforcement Learning


論文鏈接:https://core.ac.uk/download/pdf/52801075.pdf



在馬爾科夫決策過程? (MDP)? 的框架下, 強化學習在是回報函數(reward function)給定下,找出最優策略以最大化累計反饋,而逆強化學習(Inverse reinforcement learning, IRL)就是通過給出最優策略估計出回報函數。
通常最優策略會通過專家行為近似得到,例如請經驗豐富的專家充當用戶直接給出合理的回復。需要注意的是模仿學習(imitation learning)和 IRL 不同,模仿學習是直接通過專家行為的數據優化策略而不估計回報函數。


目前很多基于強化學習的對話管理模塊中,回報函數多以是否成功和總輪數給出,不夠多樣真實,IRL 方法對于優化回報函數也有很大的潛力,值得研究。


論文給出了 UserMDP,對用戶模擬器也進行 MDP 建模,利用 IRL 估計出回報函數,從而為 User simulator 和 Agent 交替使用強化學習優化提供有效途徑。


首先論文假設回報函數是狀態動作特征基函數的線性擬合:



Q function 則可以表示成:

?被稱作特征期望(feature expectation),實際中通過采樣統計得到,設采樣了 m 個 episode 序列樣本,第 i 個序列的長度記為 Hi。


具體的 IRL 算法如下:

首先通過對話語料收集出真實的用戶對話策略的特征期望 , 并且初始化用戶模擬器的對話策略,通過采樣得到模擬用戶的特征期望,添加到對話策略集合?Π?中; 然后經過多次迭代,每次根據估計出的回報函數進一步求解出新的最優對話策略并添加到策略集合?Π?中。算法最終可以合理估計出回報函數的,該回報函數和專家策略相容。
論文中實驗結果表明,通過對 IRL 找出來的策略集合?Π?進行加權隨機采樣得到的用戶對話策略相比于固定的用戶策略(專家行為)有更短的對話輪數和更高的 reward 值。說明了 IRL 方法在估計出回報函數的同時也能得到更加多樣真實的策略,這在某些場景下將會非常有用。



協同過濾方法


代表論文:Collaboration-based User Simulation for Goal-oriented Dialog Systems


論文鏈接:http://www.alborz-geramifard.com/workshops/nips17-Conversational-AI/Papers/17nipsw-cai-collaboration-based-simulator.pdf


在有高質量語料庫的情況下,我們可以考慮直接根據對話上下文,從語料庫中推薦出最恰當的用戶語句作為用戶模擬器的回復。Amazon ?的論文就是根據這樣的想法設計了基于協同過濾算法的用戶模擬器。首先,論文論證了在客服領域,對話系統的語句表達相比于用戶的表達通常比較規整單一,因此可以對所有的用戶語句進行粗略的標注,如圖 8 所示:


?圖8. (a) 每個對話被轉換成語義標簽序列 (b) 正在進行的對話和語料庫對話的匹配示意圖,紅橙色表示系統標簽,綠色表示用戶語句


系統語句被賦予了 salutation、apology 等等語義標簽,這樣語料庫中的對話都被抽象成了一個個語義標簽序列,每次進行用戶語句推薦時,通過計算正在進行的對話所對應的語義標簽序列和語料庫中每個對話對應的語義標簽序列的編輯距離進行粗篩,得到本輪用戶語句回復的候選集,再對候選集中各個用戶語句所在對話的上一輪系統語句的 tf-idf 特征排序進行 re-rank,從而選擇最佳用戶語句回復。
具體的算法如下:


  • 能夠衡量生成的對話動作的一致性;
  • 評價方式和具體的任務無關;
  • 可以從目標信息中自動化地計算出一個標量值,而無需人工干預。


?論文實驗結果顯示,由協同過濾的方法所給出的用戶語句在眾包平臺上評估得到的可行率為 84.7%。


用戶模擬器的評價方式


論文?[14]?提出,一個好的用戶模擬器的評價方式需要滿足以下幾點要求:

  • 能夠衡量生成的對話動作的一致性;
  • 評價方式和具體的任務無關;
  • 可以從目標信息中自動化地計算出一個標量值,而無需人工干預。

通常用戶模擬器的評價指標可以分為單輪級別度量?(turn-level metrics)?對話級別度量?(dialog-level metrics)
單輪級別度量主要針對用戶動作的語義標簽,最常見度量是精確率,召回率和 F1 得分,對于每一輪可以計算:

但是以上的度量不能評估用戶模型泛化能力,例如某個用戶動作是合理的但因為在對話數據中并未出現,如果預測了就會導致得分低。因此我們還可以將用戶動作的預測概率分布P和真實概率分布 Q 之間的 KL 距離作為度量,從概率分布上評估用戶預測模型的合理性。



類似地,也可以用過計算對數似然值或者混淆度(perplexity)來評估。


對話級別的度量最常用的是任務完成率平均對話輪數。將用戶模型和對話系統進行真實交互,完成訓練后的對話系統所能達到的任務完成率(通過記錄對話系統是否完成用戶目標得到)和平均每個對話的輪數可以作為評價與用戶模型整體效果的有效指標。

用戶模擬器面臨的挑戰


1. 對話行為一致性(Coherence):對話行為要保證前后連貫,符合語境,避免出現不符合邏輯的對話行為。如何綜合考慮對話上下文和 User Goal 等因素,保證用戶行為序列在多輪交互過程中的一致性是一個有挑戰的課題。


2. 對話行為多樣性(Diversity):模擬用戶群的行為特性,需要建模這個群體的行為分布。例如某用戶群是健談的還是寡言的,是猶豫的還是果斷的,各部分占比多少,這里引入用戶群體畫像特征,使得用戶模擬器的行為更加豐富多樣,貼近目標用戶群體。這個方向學術界有一些研究進展,值得繼續深入研究。


3. 對話行為的泛化性(Generalization):目前來看,無論是基于規則方法還是基于模型學習的用戶模擬器,在遇到語料中未曾出現的對話上下文時,表現出的泛化能力依舊比較有限。對話行為的泛化性直接體現了用戶模擬器是否表現得如同真實用戶一樣處理更多未見的復雜的對話場景。這個方向有待學界更深入的探索。


總結


用戶模擬器是對話系統形成閉環訓練的重要組成部分,它和對話系統結構類似,但最大的區別在于增加了用戶目標的建模。好的用戶模擬器不僅能夠生成連貫的動作,而且還能夠體現多樣性和泛化能力。
本綜述詳細地介紹了目前學界的常用模型和方法由于學界一般關注的對話任務是訂餐館、訂電影票、訂飛機票這類簡單的填槽(slot-filling)任務,對話的狀態和動作空間有限,不需要太復雜的模型和大規模的語料就能獲得比較好的效果,因此在數據充分的情況下,基于模型學習的方法在效果上普遍優于基于規則的方法。
而在工業界真實的場景里,除了上面的簡單任務,占比更多的是“查話費”、“開發票”、“掛失信用卡”這類中等復雜度的場景,它的特點是機器人有外部 API 調用、基于 API 返回結果的分支判斷、異常兜底邏輯、多個子意圖的串聯、多個填槽過程等,對話的狀態和動作空間迅速擴大,需要有足量的訓練語料才能保證用戶模擬器的覆蓋率。
因此在實際生產實踐中,我們需要劃分好場景,重新制定更加貼近業務的用戶動作標簽,統計出真實的用戶目標,再選擇最合適自身場景的模型來構建模擬器。


參考文獻


[1] Li X, Chen Y N, Li L, et al. End-to-end task-completion neural dialogue systems[J]. arXiv preprint arXiv:1703.01008, 2017.

[2] Schatzmann J, Young S. The hidden agenda user simulation model[J]. IEEE transactions on audio, speech, and language processing, 2009, 17(4): 733-747.

[3] Schatzmann J, Thomson B, Weilhammer K, et al. Agenda-based user simulation for bootstrapping a POMDP dialogue system[C]//Human Language Technologies 2007: The Conference of the North American Chapter of the Association for Computational Linguistics; Companion Volume, Short Papers. Association for Computational Linguistics, 2007: 149-152.

[4]W. Eckert, E. Levin, and R. Pieraccini. 1997. User modelling for spoken dialogue system evaluation. In Proc. of ASRU ’97, pages 80–87.

[5]E. Levin, R. Pieraccini, and W. Eckert, “A stochastic model of human machine interaction for learning dialog strategies,” IEEE Trans. Speech Audio Process., vol. 8, no. 1, pp. 11–23, Jan. 2000.

[6]K. Scheffler and S. J. Young. 2001. Corpus-based dialogue simulation for automatic strategy learning and evaluation. In Proc. NAACL Workshop on Adaptation in Dialogue Systems, pages 64–70.

[7]O. Pietquin. 2004. A Framework for Unsupervised Learning of Dialogue Strategies. Ph.D. thesis, Faculte Polytechnique de Mons.

[8] Lee S, Eskenazi M. An unsupervised approach to user simulation: toward self-improving dialog systems[C]//Proceedings of the 13th Annual Meeting of the Special Interest Group on Discourse and Dialogue. Association for Computational Linguistics,?2012: 50-59.

[9] Layla El Asri, Jing He, and Kaheer Suleman. 2016. A sequence-to-sequence model for user simulation in spoken dialogue systems. Proceedings of the 17th Annual Conference of the International Speech Communication Association, pages 1151–1155

[10] Kreyssig F, Casanueva I, Budzianowski P, et al. Neural user simulation for corpus-based policy optimisation for spoken dialogue systems[J]. SIGDIAL, 2018.

[11] Chandramohan S, Geist M, Lefevre F, et al. User simulation in dialogue systems using inverse reinforcement learning[C]//Interspeech 2011. 2011: 1025-1028.

[12] Devin Didericksen,Oleg Rokhlenko, Kevin Small, Li Zhou, Jared Kramer. Collaboration-based User Simulation for Goal-oriented Dialog Systems. NIPS 2017

[13] Liu B, Lane I. Iterative policy learning in end-to-end trainable task-oriented neural dialog models[C]//2017 IEEE Automatic Speech Recognition and Understanding Workshop (ASRU). IEEE, 2017: 482-489.

[14] Pietquin O, Hastie H. A survey on metrics for the evaluation of user simulations[J]. The knowledge engineering review, 2013, 28(1): 59-73.

[15] Shah P, Hakkani-Tür D, Tür G, et al. Building a conversational agent overnight with dialogue self-play[J]. NAACL, 2018.

[16] H. Cuayahuitl, S. Renals, O. Lemon, and H. Shimodaira, “Human computer dialogue simulation using hidden Markov models,” in Proc. ASRU, San Juan, Puerto Rico,?2005




點擊以下標題查看更多往期內容:?


  • 基于DGCNN和概率圖的輕量級信息抽取模型

  • 圖神經網絡綜述:模型與應用

  • 自然語言處理中的語言模型預訓練方法

  • 一大批中文(BERT等)預訓練模型等你認領!

  • 當Bert遇上Keras:這可能是Bert最簡單的打開姿勢

  • 站在BERT肩膀上的NLP新秀們:XLMs、MASS和UNILM

  • 基于小樣本學習的意圖識別冷啟動




#投 稿 通 道#

?讓你的論文被更多人看到?



如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。


總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。


PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得技術干貨。我們的目的只有一個,讓知識真正流動起來。


??來稿標準:

? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?

? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?

? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志


? 投稿郵箱:

? 投稿郵箱:hr@paperweekly.site?

? 所有文章配圖,請單獨在附件中發送?

? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通




?


現在,在「知乎」也能找到我們了

進入知乎首頁搜索「PaperWeekly」

點擊「關注」訂閱我們的專欄吧



關于PaperWeekly


PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。


▽ 點擊 |?閱讀原文?| 獲取最新論文推薦

總結

以上是生活随笔為你收集整理的最新综述:对话系统之用户模拟器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。