引言
對話系統(dialogue system)是 NLP 中的的重點研究方向之一。其可以分為任務型對話系統和開放域對話系統。兩者在現實生活中都有著廣泛的應用。
本次 Fudan DISC 實驗室將分享 ACL 2021 中關于對話系統的 3 篇論文,介紹了任務型對話系統和基于人設的開放域對話系統的相關創新。
文章概覽
HyKnow: End to End Task-Oriented Dialog Modeling with Hybrid
論文地址:https://arxiv.org/pdf/2105.06041v2.pdf
這篇文章提出了一個基于聯合知識的任務導向型對話系統HyKnow,該模型通過延伸信念狀態來管理結構化知識和非結構化知識,它是第一個基于兩類知識進行聯合優化的端到端對話系統。實驗證明,HyKnow 模型展現了優于現有模型的強大的端到端性能。其更加出色的非結構化知識檢索準確率,也證明了模型勝于管道知識管理策略的聯合知識管理能力。
BoB: BERT Over BERT for Training Persona-based Dialogue Models
論文地址:https://arxiv.org/pdf/2106.06169.pdf
當前對話數據的人設稀疏性,阻礙了魯棒且一致的基于人設的對話系統的構建。本文提出了 BoB 模型,通過將基于人設的對話生成任務分離為一致性理解子任務和回應生成子任務,利用非對話關系數據集訓練一致性,解決了上述困難。模型在少量訓練數據和人設稀疏的數據集上均展現了出色的性能。
Modulating Language Models with Emotions
論文地址:https://aclanthology.org/2021.findings-acl.379.pdf
針對情感對話生成任務,本文受 CV 領域相關技術的啟發,在Transformer 模型的層歸一化模塊中融入了情感信息,使得能夠利用大規模的預訓練的語言模型來生成情感回應。
論文細節
論文動機
現有的基于人設的對話模型嚴重依賴和人設相關的對話數據,比如 PersonaChat 數據集。這類眾包數據集包含了大量的人設特征,但是其規模受到兩個因素的制約:其一,標注者根據給定的人設來設計一致的對話會消耗大量精力;其二,日常生活中的對話常常不具備鮮明的人設特征,因此很難獲得現有的涉及豐富人設的對話。所以,在這類人設稀疏的對話數據集上訓練的模型不能充分地學習一致性。
一個合格的基于人設的對話模型應當具備以下功能:一是能夠理解“人設-回應”的一致性,二是能夠根據對話上下文生成人設相關的回應。顯然,當下缺乏合適的數據集支持這些功能的實現。然而,一旦將基于人設的對話生成任務分解為一致性理解子任務和對話生成子任務,就很容易得到大量的訓練資源。對于一致性理解子任務,可以利用大規模的非對話關系數據集,比如 SNLI 和 MNLI 作為訓練數據。至于對話生成子任務,我們已經有了充足的大規模人設稀疏的數據集。
模型
文章提出的模型主要分為三個模塊,包括一個編碼器(),一個用于回應生成的解碼器()和一個一致性理解解碼器()。模型框架如下圖所示
編碼器
編碼器的輸入包括人設 P 和上下文 Q,對于人設,只需將人設句子簡單地拼接即可。模型將一個 special token 放在人設序列和對話上下文之間,得到編碼器的輸入
接著嵌入層將輸入轉化為表示,這種表示是詞嵌入,類型嵌入和位置嵌入的和,其中在類型嵌入中,用 0 和 1 分別表示人設和上下文。用和代表人設和上下文獨立的表示,用代表和的聯合表示,即
其中表示輸入的最大長度。
然后編碼器對做多頭注意力,將其轉化為隱向量的序列,
即其中,MultiHead是帶有的全連接層,是編碼器的最終輸出,即。
回應生成解碼器
一個交叉注意力被植入在和之間,其中來自的最后一層,且和均來自:
包含多個相同的層,每一層的輸出都會作為下一層的輸入,最終輸出被送往。這里的是模型產生的粗糙回應,其不一定和人設保持一致,一致性學習和調整將會在一致性理解解碼器模塊上進行。
一致性理解解碼器
利用進行初始化。在的每一層中,多頭注意力被執行兩次
以上得到的結果融合了人設信息和 粗糙回應。最后一層的輸出連接一個線性層即可得到模型生成的最終回應。
訓練目標
模型針對文本生成子任務采用了負對數損失,針對一致性理解采用了非似然損失。
回應生成
模型在和上分別生成粗糙和精確的回應,兩者的負對數損失可以表示為
非似然訓練
在一致性理解模塊的訓練中,模型主要利用非對話的關系數據集。對于一個樣本,將 premise 和 hypothesis 輸入解碼器中。如果兩者關系是 entailment,則應當促進這種生成,那么訓練目標是最大化這類輸出的概率;如果兩者關系是 contradiction,則應當抑制這種生成,那么訓練目標是最小化這類輸出的概率。經過上述訓練模式,一致性理解模塊可以隱式地判斷人設和粗糙回應的關系,并傾向于產生一種和人設保持一致的回應。具體而言,將關系數據集劃分為兩類,一類是關系為 entailment 的樣本組成的子集,另一類是關系為 contradiction 的樣本組成的子集。在和上的損失可以表示為(記 premise 和 hypothesis 為,)
生成損失和一致性理解損失可以表示為
總損失可以表示為
其中和是超參數。
實驗
本文為了驗證 BoB 在人設稀疏的數據集上依然能夠保持優秀的性能,挑選了兩個數據集 PersonaChat 和 PersonaDialog,前者包含了充足的人設信息,后者人設信息較少。本文在兩個數據集上分別進行實驗。基線模型選擇了包括 GPT-2 在內的預訓練模型和一些非預訓練模型。評價指標包括人工評價和自動評價,人工評價主要評估模型生成的流利度,信息量和相關性;自動評價中,利用困惑度評價回應的內容質量,利用 Dist 評價回應的多樣性,利用 C.Score 和來評價回應和人設的一致性。在人設密集的 PersonaChat 數據集上實驗,得到如下結果
實驗證明,在各項評價指標上,BoB 都超過了基線模型。同時當數據量減少為 1/2,1/4,1/8 時,模型依然展現出比肩基線模型的強大性能,證明了 BoB 模型的優越性。
在人設稀疏的 PersonaDialog數據集上實驗,得到如下結果
我們發現,即使在人設信息不足的情況下,BoB 依然能夠產生和人設高度一致的回應,這得益于一致性理解模塊的訓練脫離了有限的人設對話數據,轉而依賴大量的非對話關系數據。因此,一致性的學習不受人設信息多少的影響。這也是 BoB 最核心的創新點!
2
論文動機
近幾年,任務型對話系統在達成用戶目的方面已經收獲了不錯的效果。大部分這樣的對話系統基于用戶需求查詢結構化知識,比如表格和數據庫等,并利用查詢到的結果引導系統回應的生成。然而,現實生活中的對話常常涉及到非結構化的知識,比如餐廳的廣告,用戶用餐反饋等等。這些出現在非結構化知識中的信息通常無法在結構化知識中查詢得到。但是現有的任務型對話系統缺乏利用非結構化知識的能力,這樣的缺陷可能導致對話進程的終端,造成追蹤用戶需求和生成系統回應的困難。
針對以上問題,本文考慮在任務型對話系統中結合不同形式的領域知識,構建了一個同時基于結構化知識和非結構化知識的對話系統 HyKnow。在基于結構化知識的對話輪中,系統需要用三元組來跟蹤用戶需求,以此查詢數據庫條目,最后利用查詢結果生成回應;在基于非結構化知識的對話輪中,模型管理文檔庫來檢索相關信息來做回應的生成。
模型
下圖給出了模型 HyKnow 的框架。模型總共分為三個部分:第一,模型使用拓展信念追蹤(extended belief tracking)來追蹤用戶需求;第二,模型基于拓展信念狀態(extended belief state)來搜索和用戶需求相關的結構化知識和非結構化知識;最后,模型利用拓展信念狀態和相關知識來生成系統回應。
信念狀態
信念狀態有著特定的格式。信念狀態均由以上形式的三元組構成,每個三元組表示用戶的某個需求,以(restaurant, food, Italian)為例,該三元組表示用戶需要了解餐飲領域關于意式食物的訊息。所謂拓展信念狀態,就是隨著對話輪的進行,用戶需求的更新,信念狀態中添加了一些表示用戶新需求的三元組,我們將這樣的三元組集合記為,其中表示第輪對話。除此之外,信念狀態中也會包含關于用戶需求的話題,記作。注意到,和在解碼時所用到的詞表是不同的!!
拓展信念狀態解碼
遵循 Seq2Seq 框架,首先利用上下文編碼器來編碼對話上下文,其中的最后一維輸出用來初始化解碼器的隱層。基于上下文編碼器的隱狀態和上一輪對話的拓展信念狀態,接著解碼本輪對話的拓展信念狀態,具體可以采用兩種方案。
因為和基于的詞表是不同的,所以用兩種方法實現的解碼:
第一,利用一個信念狀態解碼器來生成整個,優化過程是聯合的,即
第二,對和用各自的解碼器分別解碼,兩個解碼器的參數是不共享的,優化過程是非聯合的,即
知識查詢
基于拓展信念狀態,模型查詢數據庫得到,檢索文檔庫得到相關文檔,兩者用來引導系統生成。在數據庫的查詢中,只需要用三元組匹配條目即可。在文檔庫的檢索中,只需預處理文檔庫,提取每個文檔的話題,和三元組的相關內容匹配即可。
回應生成
基于上下文,拓展信念狀態和查詢結果,生成回應由以下公式給出
其中和表示信念狀態編碼器和文檔編碼器。
實驗
本文選擇了修改的 MultiWOZ 2.1 數據集,并將 HyKnow 模型和以下幾類基線模型相比較:一、現有的端到端任務型對話模型(E2E TOD)和對話狀態跟蹤模型(DST),以證明結合非結構化知識的好處;二、非結構化知識管理模型,以證明 HyKnow 檢索非結構化知識方法的優越性;三、上述兩者的結合,以證明 HyKnow 不僅強大在同時結合了結構化知識和非結構化知識,而且知識的管理,組織和查詢方式以及兩類知識的融合方式都是非常優秀的。實驗結果如下圖所示
實驗表明,HyKnow 在各項性能指標上都超過了基線模型,包括用戶需求的完成度,知識查詢準確率等等。除此之外,實驗證明,當模型采用聯合優化的時候,表現會更高,這說明兩類知識的模塊在共享參數時能夠彼此促進。
3
論文動機
當前對話系統領域的一個重要任務是基于情感產生合適的回應。關于這個任務,研究者提出了一些經典的模型,比如 Seq2Seq 模型的變體,變分自編碼器,對抗網絡等等,不過這些模型生成的回應通常較為枯燥乏味,可能是帶有情感標簽的數據量有限的緣故。最近的研究提出了預訓練模型來解決這類問題,比如 GPT-2 等等。不過,從頭訓練一個預訓練模型成本太高,并且收集用于預訓練的包含豐富情感的對話數據非常困難。
針對上述困難,本文提出了一個簡單且易于部署的技術,使得大規模的預訓練模型能夠產生細粒度的情感回應。首先,利用 emoji 表情作為情感標簽;其次,在 Transformer 塊的每個層歸一化模塊中引入情感 emoji,使得在每次做層歸一化的時候模型都能向著目標情感進行自我調整,這種方法簡單而自然,且易于推廣。
方法
模型的創新主要集中在對 Transformer 模型的層歸一化的改造,我們稱經過改造的層歸一化模塊為 Mod-LN。具體操作如下:對于輸入層歸一化模塊的隱狀態向量 x,,按照如下方式進行歸一化
其中是磨光參數,以避免分母為 0。和是兩個可訓練的模塊,運行機制如下
其中和是屬于層的全連接層,表示情感標簽的表示向量,表示偏置,表示激活函數。模型結構如下圖所示
實驗
本文在 MojiTalk 數據集上進行實驗,其中有 64 個細粒度的情感 emoji。基線模型選取 R-CVAE。本文分別在 BERT-to-BERT,GPT2-to-GPT2 上利用 Mod-LN,和基線模型相比較,以證明添加的 Mod-LN 的優越性。關于情感分析性能,作者對模型生成的回應用情感分類器預測情感,將其和正確情感比較,從而得到模型的情感預測準確率,準確率越高,情感分析質量越高。除此之外,采用人工評價的方式,評估回應的情感性和可讀性。以上兩個評價方面的結果如下表所示
實驗證明,添加了 Mod-LN 的模型不僅在各項性能指標上超過了基線模型,而且在有限數據集上依然表現尚佳。這是因為,將目標情感滲透到每個層歸一化模塊中,每個 Transformer 中,使得模型總是頻繁地向著目標情感的方向進行自我調整。
責任編輯:haq
-
解碼器
+關注
關注
9文章
1157瀏覽量
41202 -
nlp
+關注
關注
1文章
489瀏覽量
22238
原文標題:ACL2021 | 任務型和開放域對話系統
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
專欄 | 深度學習在NLP中的運用?從分詞、詞性到機器翻譯、對話系統

OpenAI介紹可擴展的,與任務無關的的自然語言處理(NLP)系統

NLP中的深度學習技術概述

通過NVIDIA DLI課程學習NLP和對話人工智能
基于知識的對話生成任務
多語言任務在內的多種NLP任務實現
基于主觀知識的任務型對話建模

評論