iT邦幫忙

2024 iThome 鐵人賽

DAY 15
0

前面的四天依序介紹了NLU、DST、DPL及NLG,你們可能會想:

"蛤~? 鋪梗鋪這麼久是要講什麼? 這跟Chit-chat Chatbot有什麼關聯?"

那是因為我們希望Chatbot不僅要跟我們聊天,還要會幫我們解決問題!
所以~~ 接下來要介紹集四個模型為一體的 Task-Oriented Pipeline System!
https://ithelp.ithome.com.tw/upload/images/20240925/20169030qakEgiYUQM.png

Task-oriented Dialogue(TOD) 任務導向對話系統

Day2時,
我們提到對話系統分為閒聊式(Chit-chat)和任務導向式(Task-oriented),
https://ithelp.ithome.com.tw/upload/images/20240929/20169030bVNjwdiSYj.png

相較於閒聊式對話系統,TOD更專注於解決用戶需求。

在TOD中,我們通常分為使用者(user)及系統(system),系統就是我們常說的Chatbot。
Task-Oriented Dialogue(TOD) System有四個架構:
https://ithelp.ithome.com.tw/upload/images/20240923/20169030GJNl1DjYxg.png

  • NLU: 理解使用者意圖,即知道使用者想做什麼 (輸入:對話;輸出:對話行為)
  • DST: 追蹤對話狀態,紀錄對話現在處於什麼狀態 (輸入:對話行為;輸出:對話狀態)
  • DPL: 將對話狀態丟進資料庫搜尋,並決定該給使用者什麼樣的回應 (輸入:對話狀態、意圖;輸出:對話行為)
  • NLG: 生成自然語言回應,讓回應聽起來更像人話 (輸入:對話行為;輸出:對話)

四個模型都是獨立訓練的,你可能會覺得為什麼不像Chit-chat Dialogue一樣,硬Train一個End-to-End的模型就好?

有以下幾個原因:

  • 任務導向對話比一般閒聊更複雜,需要更精細的模型來處理
  • 獨立訓練每個模組可以讓整個系統更靈活,更容易擴展和優化
  • 訓練一個End-to-End架構的模型需要大量的對話資料,通常成本較高

所以訓練一個End-to-End架構... 貴R... (除非你像OpenAI、Google或Microsoft一樣Rich)

TOD 語料集

在TOD系統中,除了對話、對話行為或狀態,還可能包含:
(粗斜體為TOD系統和語料必須包含之項目)

  • Dialogs: 使用者及系統對話。
  • Goal: 目標,即要達成對話結束所要提到的槽即槽值。
  • DA-U: 使用者對話行為。
  • DA-S: 系統對話行為。
  • State: 對話狀態。
  • API result: 資料庫查詢結果,可是做一個狀態,要給DPL決定回覆用。
  • DataBase: 要給DPL查詢資料用。

而目前的開源TOD資料集如下:

Dataset Dialogs Goal DA-U DA-S State API result DataBase
Camrest 676
WOZ 2.0 1200
KVRET 3030
DailyDialog 13118
Taskmaster-1 13175
Taskmaster-2 17303
MultiWOZ 2.1 10438
Schema-Guided 22825
MetaLWOZ 40203
CrossWOZ (zh) 6012
Taskmaster-3 23757

接下來,我們將詳細介紹北京清大以Pytorch撰寫的任務導向對話工具包-ConvLab

Reference.
GitHub-ConvLab-3


上一篇
Day14: NLG-不用懷疑,GPT IS ALL YOU NEED
下一篇
Day16: 對話系統界的超級英雄家族!
系列文
軟體工程師的脫魯日誌-持續介紹hardcore AI研究直到脫魯🥹30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言