DM對話管理簡介
任務
狀態維護 dialog state tracking, DST
生成系統決策 dialog policy
作為接口和後端/任務模型連接
提供語意表達 expectations for interpretation
種類(由誰主導):系統主導/用戶主導/混合
基礎概念
通過建立雙方認可的事物(確認行為)的集合來達成協議
確認行為(弱 -> 強)
持續關注(continued attention)
相關連接貢獻(relevant next contribution)
確認(acknowledgement)
表明(demonstration)
展示(display)
回饋: 正向/負向/要求 request feedback/修復 request for repair
DM的方法
Principle-based Approaches
Frame-based(我們使用的方式)
將對話建構成填槽過程
要素:
Frame:槽位的集合,定義用戶須提供何種訊息
對話狀態:紀錄哪些槽位已经被填充
行為選擇:下一步該做什麼或進行什麼操作(槽位填充/槽位加權填充/利用本體選擇)
優點:
用户回答可以包含任何一個片段/全部的槽信息,由系统決定下一個行為
適用混合型系统
輸入輸出沒有順序,相對靈活
缺點:缺少層次、難以用於更複雜的情境
小結:目前我們使用的方式,相關工具有RASA, Wit...
Agenda + Frame(CMU Communicator)
改良frame model使其有層次結構
要素:
product:dynamic tree,可在session中對tree進行操作(增加/移動子樹)
process
agenda: 任務的計畫list,類似stack的結構,當中是有序的handler(有序的話題)
handler: 每個節點對應一個handler,封裝一個information item
小結:雖然可行但必須重頭刻起,需花費時間
Information-State Approaches
識別對話中傳遞訊息的relevant aspects、這些成分怎麼被更新以及更新过程如何被控制的
要素:
Static: informational components, formal representations
Dynamics: dialog moves, update rules, update strategy
Ex:
TrindiKit Systems: GoDiS, MIDAS, EDIS, SRI Autoroute
Successor Toolkits: Dipper (Edinburgh), Midiki (MITRE)
Other IS approaches: Soar(USC virtual humans), AT&T MATCH system
Plan-based Approaches
基於邏輯與推理讓聽者告訴說話人某訊息的方法
功能強大但不適用實際場景(因為實際場景任務小且具體,不需要複雜的推理)
Structure-based Approaches
關鍵字比對(ex: ELIZA, AIML)
Tree and FSM-based
將對話建構成樹或有限狀態機
適用於 系統主導/需要從用戶收集特定訊息/回答在有限集合中 狀況
優點:建模简单,能清晰明了的把交互匹配到模型
缺點:編寫和維護耗費時間、難擴展且容易變得複雜、缺少靈活性
Statstical Approaches
Reinforcement Learning:只用在少量的人機互動語料中訓練,沒有大量數據的需求
DM設計
先用規則方法建立DM,待上線滿足業務需求且收集數據後再換成模型
設計理念:
完整性:具備建立各種類型對話的能力而不僅是slot filling
獨立性:設計或變更場景時不需要考慮場景跳轉問題
Dialog模組化:常用的功能可以模組化重複使用並具備擴充性(允許自定義內部的多種屬性)
Global Dialog
被recognizer配對成功時會被觸發
可以提供conversation support(help/cancel等通用功能)
可對應各種話題切換
Root Dialog
dialog stack中沒有其他dialog了
當前時刻recognizer不能觸發其他dialog
dialog stack會存放已被觸發但尚未完成的dialog,當dialog完成後即pop出去