任务型对话系统预训练最新研究进展
?PaperWeekly 原創 ·?作者 |?褚維蕪
單位 |?北京郵電大學碩士生
研究方向 |?自然語言處理
引言
近年來,隨著預訓練模型的發展,對話領域的研究也逐漸開始關注基于預訓練的端到端對話系統,2019-2021 這三年的時間涌現出很多關于開放域對話系統預訓練的相關研究,基于英文的包括 google 在 2020 年 1 月發表的 Meena、Facebook 在 4 月發表的 Blender,基于中文的主要以百度 PLATO 系列模型為代表?[1]。這些模型的成功一定程度上表明海量數據和更大的模型能為對話系統帶來很好的性能收益。
然而,這種依靠參數量、數據量來提升系統性能的方式對于任務型對話而言并不完全適用。一方面,任務型對話數據集本身比閑聊型對話更難收集,想要獲取一個非常大的數據集來對任務型對話系統進行預訓練是非常困難的;另一方面,預訓練模型參數過大,訓練和運行需要很高的計算成本,會存在無法快速部署的問題。由于以上問題的存在,任務型對話預訓練的發展速度明顯不如開放域對話,但最近兩年也逐漸有一些針對任務型對話進行預訓練的相關工作,本文將對這些工作做一個梳理總結,供大家參考。
本文主要介紹的工作有:
2020EMNLP:TOD-BERT: Pre-trained Natural Language Understanding for Task-Oriented Dialogue?[2]
2021TACL:Soloist: Building task bots at scale with transfer learning and machine teaching?[3]
2021arXiv:PPTOD:Multi-Task Pre-Training for Plug-and-Play Task-Oriented Dialogue System(PPTOD)[4]
2022AAAI:GALAXY: A Generative Pre-trained Model for Task-Oriented Dialog with Semi-Supervised[5]?Learning and Explicit Policy Injection
TOD-BERT:面向任務型對話理解的預訓練模型
2.1 Background & Motivation
使用現有的預訓練語言模型直接在任務型對話數據上進行 fine-tune 無法取得很好的性能,主要原因包括以下兩點:一是,對話數據和文本數據的語言模式不同,所以兩者的數據分布有很大差異,因此普通文本預訓練的語言模型在對話數據上表現不佳;二是,閑聊型對話數據廣泛且易于獲得,但是它們通常很短,沒有明確的對話目標。而任務型對話通常有明確的目標,多輪對話交互,因此閑聊型對話數據預訓練模型也很難在任務型對話數據上取得很好的表現。
任務型對話數據集通常小而稀疏,標注成本很高,本文通過聯合多個數據集在一定程度上緩解了任務型對話預訓練數據量不足的問題,并針對對話數據的特點對原始 BERT 模型的輸入、預訓練任務進行修改使得模型可以更好地捕捉對話特有的任務信息。
2.2 Method
數據集:本文聯合了九個不同的多輪任務型對話數據集,如下表所示。最終,本文預訓練所采用的數據集包含 60 多個領域的 100,707 段對話,1.3M 句話語。
TOD-BERT模型
TOD-BERT 在 BERT 模型原有的 MLM 損失函數上,添加了一個 Response contrastive loss(RCL)用于模擬回復選擇任務。原始 BERT 中對兩段話語進行拼接并對他們的連續性進行 0-1 預測,而 RCL 損失則是采用了類似 ConveRT 中的雙編碼器結構,同一個 batch 中的其他回復為負樣本,如下圖所示,優化目標為最大化正樣例的概率。RCL 損失一方面可以學習更好的【CLS】位置的表示,另一方面可以捕獲潛在的對話順序、結構信息和回復的相似性。
另外,TOD-BERT 的輸入中加入對說話人角色的編碼。對于對話,TOD-BERT 的輸入在每一個話語前面添加角色信息的 token:。TOD-BERT 在意圖識別、對話狀態追蹤、對話動作預測、回復選擇這四個下游任務上進行了評測,性能均超越了 BERT。
SOLOIST:預訓練對話系統遷移到新的對話任務
3.1 Background & Motivation
構建對話系統需要大量的標注、領域知識以及專家經驗,人工標注數據費時費力。即便已經對某個領域的數據進行了大量標注,現實情況下遇到新的任務時,對話系統依然難以完成。
針對以上問題,本文提出了一種新的大規模構建任務型對話系統的方法,并通過遷移學習和機器教學使其適應新的任務。現有的模型都是通過收集、標記新的數據,并為每個任務構建一個系統,而 SOLOIST 則不需要,這極大簡化了對話系統遇到新的任務時模型的訓練和部署的工作流程。
3.2 Method
數據集:本文使用 Schema、Taskmaster 這兩個任務型對話數據集對模型進行預訓練,數據集統計數據如下表所示。
對于數據集中的每一段對話進行預處理如下:定義? 為對話歷史、 為 belief state、 為 DB state、 為 delexicalize 的對話回復,模型輸入是將以上信息進行拼接,因此,訓練數據集中的每輪對話可以表示為:
SOLOIST模型
結構說明:使用 GPT-2 直接生成對話狀態、對話動作、系統回復
預訓練任務:
Belief Prediction:生成任務
Grounded Response Generation:生成任務
Contrastive Objective:對比學習
SOLOIST 在輸入的 [EOS] 位置,引入了一個對比損失函數,該函數用于預測輸入是正樣例?還是負樣例?,對比損失函數計算如下所示:
模型的損失函數為三個預訓練任務的損失函數相加:
在預訓練階段,本文使用 GPT-2 初始化,利用大型任務型對話標注數據訓練一個面向任務型對話的回復生成模型。該模型學習主要的任務完成技能,如對話狀態追蹤和對話策略學習,并可以根據用戶目標和外部知識生成可以完成對話任務的回復。在微調階段,本文通過機器教學將預訓練的 SOLOIST 模型微調為完成特定(新的)任務的系統,其中訓練樣本是由真人教師與系統交互生成。
實驗表明,SOLOIST 成功地將兩種能力從預訓練模型轉移到一個新的任務型對話系統:一是,預訓練過程中學習到的自然語言理解(NLU)和自然語言生成(NLG)的能力;二是,在域外對話語料庫上根據用戶目標和外部知識生成可以完成對話任務的回復的能力。
PPTOD:基于prompt方法的任務型對話預訓練
4.1 Background & Motivation
現有基于預訓練模型的任務型對話系統(SimpleTOD、SOLOIST 等)存在一定的局限性,一方面它們將各個子任務級聯來進行對話生成,有誤差累積,且系統推理會有延遲;另一方面,這些模型的訓練需要提前標注大量的數據,且標注必須是完整的,因此大量的只有部分標注的數據無法使用(eg.只標注了對話狀態或者對話動作任務的數據)。
因此,針對以上兩個問題,本文以 T5 模型為基礎,通過 prompt 方法使得預訓練模型不僅可以使用標注完整的對話數據,還可以使用部分標注的數據。這在一定程度上緩解了任務型對話預訓練所面臨的數據量不足的問題。
4.2 Method
數據集:本文使用 11 個部分標注的任務型對話數據集對模型進行預訓練,總共 2.3M 句話語,包含 80 個領域。數據集及其標注信息如下表所示。
PPTOD模型
從圖中可以看出每一個訓練樣例之前都添加了一個任務提示,共有四種不同的任務:NLU、DST、POL、NLG,這四種任務是通過多任務學習的方式一起訓練的,任何一個包含上述四種標注之一的數據集都可以用于訓練 PPTOD。預訓練和微調階段的損失函數如下:
本文在端到端對話生成、對話狀態追蹤、用戶意圖識別三個下游任務上對模型進行了實驗,結果表明 PPTOD 在各種評估指標上均優于當前的 SOTA 系統。
GALAXY:基于半監督學習的任務型對話預訓練
5.1 Background & Motivation
現有的任務型對話預訓練的相關研究并沒有在預訓練階段豐富有關對話策略的知識,作者假設在預訓練階段直接學習進行對話策略的學習(DA prediction)可以使模型學習到更好地表示,并進一步提高端到端地性能。因此,本文主要關注于怎樣在預訓練階段來對對話策略進行更好地建模。
一個簡單的方式是將有監督對話動作分類損失和預訓練的無監督 MLM 損失一起進行多任務訓練,但這種方式存在三個問題:
目前各個任務型對話的 DA 標注不一致,收集一個大規模的有 DA 標注的數據集比較困難
大量的對話是沒有 DA 標注的,因為在聯合訓練過程中,模型可能會對這些少量的標注數據過擬合
對于無標注的對話數據,模型只能提取到一般的語言知識,不能有效地挖掘對話策略相關知識
5.2 Method
針對以上問題,本文所設計的解決方案如下:
數據集:本文為任務型對話系統構建了一個統一的 DA 標注方法,并整合八個任務型對話數據集構建了一個新的有 DA 標注的數據集——UniDA;收集并處理了一個大規模無標注閑聊對話數據集——UnDial。
GALAXY模型
結構說明:
UniLM 為 backbone,它包含一個用于理解的雙向編碼器和一個用于生成的單向解碼器,編碼器和解碼器是權重共享的
輸入表示采用 PLATO 中的方式,包括四個部分:位置編碼、輪次編碼、角色編碼、token 編碼
預訓練任務:
回復選擇:構造正負樣例進行 0-1 分類
回復生成:解碼器逐個 token 進行解碼
對話動作預測:多分類任務,僅對有標注數據有用
一致性正則化:將一段對話歷史兩次輸入編碼器,由于 dropout 擾動會得到兩個不同的分布,采用 KL loss 來最小化這兩個分布之間的距離,如下圖所示。
半監督預訓練范式
有標注數據的損失函數
無標注數據的損失函數
總的損失函數(有標和無標數據混合訓練)
微調及推理
數據集:MultiWOZ
對于有語義標注信息的對話數據,將標注信息與系統回復拼接作為新的生成,并保留對話動作預測任務
損失函數
GALAXY 的實驗結果表明大規模任務型對話數據進行預訓練可以帶了很好的收益,且有監督對話動作預測任務對學習對話策略是有效的。
總結
從預訓練數據來看,除了 SOLOIST 外,其他三個模型都是盡量使模型可以使用更多的預訓練數據。TOD-BERT 聯合了九個任務型對話數據集進行預訓練,PPTOD 設計了一種可以利用部分標注數據集的模型,GALAXY 則更近一步,有標注和無標注的數據都可以用于訓練。
從預訓練任務上來看,四個模型都針對對話的特點調整了傳統的預訓練任務。TOD-BERT 采用了可以模擬下游回復選擇任務的 Response contrastive loss,SOLOIST 將 DST、NLG 均建模為生成任務,PPTOD 基于 prompt 將下游任務均建模為生成任務,GALAXY 則采用了對話動作預測、回復生成 、回復選擇、一致性正則化作為預訓練任務。
從以上四個模型可以看出,目前任務型對話系統預訓練領域的研究主要集中在:如何解決任務型對話數據量不足的問題;以及怎樣設計更適用于對話系統的預訓練任務來捕捉對話中的任務相關的信息。本文所介紹的模型雖然一定程度上緩解了上述問題,但是任務型對話預訓練相比于 PLATO-XL 這種通用的對話預訓練模型還有很大的差距。
參考文獻
[1] Ni J, Young T, Pandelea V, et al. Recent advances in deep learning based dialogue systems: A systematic survey[J]. arXiv preprint arXiv:2105.04387, 2021.
[2] Wu C S, Hoi S C H, Socher R, et al. TOD-BERT: Pre-trained Natural Language Understanding for Task-Oriented Dialogue[C]//Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP). 2020: 917-929.
[3] Peng B, Li C, Li J, et al. Soloist: Building task bots at scale with transfer learning and machine teaching[J]. Transactions of the Association for Computational Linguistics, 2021, 9: 807-824.
[4] Su Y, Shu L, Mansimov E, et al. Multi-Task Pre-Training for Plug-and-Play Task-Oriented Dialogue System[J]. arXiv preprint arXiv:2109.14739, 2021.
[5] He W, Dai Y, Zheng Y, et al. GALAXY: A Generative Pre-trained Model for Task-Oriented Dialog with Semi-Supervised Learning and Explicit Policy Injection[J]. arXiv preprint arXiv:2111.14592, 2021.
特別鳴謝
感謝 TCCI 天橋腦科學研究院對于 PaperWeekly 的支持。TCCI 關注大腦探知、大腦功能和大腦健康。
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝?稿件基本要求:
? 文章確系個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題
? PaperWeekly 尊重原作者署名權,并將為每篇被采納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬?投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯系方式(微信),以便我們在稿件選用的第一時間聯系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
·
總結
以上是生活随笔為你收集整理的任务型对话系统预训练最新研究进展的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 花呗1万逾期超过了100天 会有什么影
- 下一篇: 科研实习 | 北京大学计算机学院杨智老师