中文對話管理

Dialog Management

基於自然語言處理的中文機器閱讀理解及中文文本分類相似度命名實體識別糾錯摘要等各種演算法及深度學習模型,根據提問從事先儲存的文章中找出對應或相關的回應。

Call for Partner or POC (Proof of Concept) Contact: TonTon ( at ) TWMAN.ORG

本文分別由 Gui-Ru Li 跟 Hsiang Hsu 撰寫初稿後再進行編修,且持續更新中

DM對話管理簡介

任務

  • 狀態維護 dialog state tracking, DST

  • 生成系統決策 dialog policy

  • 作為接口和後端/任務模型連接

  • 提供語意表達 expectations for interpretation

  • 種類(由誰主導):系統主導/用戶主導/混合

基礎概念

  • 通過建立雙方認可的事物(確認行為)的集合來達成協議

  • 確認行為(弱 -> 強)

    • 持續關注(continued attention)

    • 相關連接貢獻(relevant next contribution)

    • 確認(acknowledgement)

    • 表明(demonstration)

    • 展示(display)

  • 回饋: 正向/負向/要求 request feedback/修復 request for repair

DM的方法

  1. 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

      • 基於邏輯與推理讓聽者告訴說話人某訊息的方法

      • 功能強大但不適用實際場景(因為實際場景任務小且具體,不需要複雜的推理)

  2. Structure-based Approaches

    • 關鍵字比對(ex: ELIZA, AIML)

    • Tree and FSM-based

      • 將對話建構成樹或有限狀態機

      • 適用於 系統主導/需要從用戶收集特定訊息/回答在有限集合中 狀況

      • 優點:建模简单,能清晰明了的把交互匹配到模型

      • 缺點:編寫和維護耗費時間、難擴展且容易變得複雜、缺少靈活性

  3. 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出去