复旦大学张奇组:对话摘要数据不足?对话数据、文档摘要数据,我全都要!...
?PaperWeekly 原創 ·?作者?|?劉興賢
學校?|?北京郵電大學碩士生
研究方向?|?自然語言處理
這篇文章發表在 EMNLP 2021,是復旦大學張奇老師組的工作。本文嘗試解決的問題是對話摘要預訓練數據不足的問題,通過在未知域多源數據上預訓練以提升低資源對話摘要效果。
論文標題:
Low-Resource Dialogue Summarization with Domain-Agnostic Multi-Source Pretraining
論文來源:
EMNLP 2021
論文鏈接:
https://arxiv.org/abs/2109.04080
Motivation
對話摘要任務,是從一段對話中抽取或生成一段總結。
對話摘要任務面臨的其中一個重要問題是:訓練數據不足, 但同時對話摘要數據很難獲取,人工標注代價很高。
那么我們從哪里獲得訓練數據呢?我們很自然地想到,能不能從其他領域獲得數據來加強訓練呢?既然是對話摘要領域,我們能不能從對話領域、文本摘要領域中的數據集獲益呢?
當然可以,而且之前的一些工作確實有這么做,但隨之也帶來一些問題。這畢竟是對話摘要任務,文檔摘要任務的輸入與對話摘要任務的數據集形式上差異很大;此外,兩個角色進行對話,目的絕不是為了重復對方的話,所以輸出上有很大差異。
直覺上,我們覺得對話和文檔摘要數據確實應該對對話摘要任務很有幫助,但應該怎么使用呢?
Main Idea
本文嘗試解決的核心問題是如果使用了多源的數據集,如拿對話數據集和文檔摘要數據集進行預訓練,會產生預訓練階段和 finetuning 階段的 gap。
這個問題的產生的主要原因之一是因為對話的結構和文檔具有顯著差別:
對話具有特征不同的多個參與者;
對話過程中會出現口語化的非正式表達;
對話摘要的輸出,尤其是長度和結構和其他摘要任務差別很大。
針對這個問題,本文的核心 Idea 就是:既然無法拿多源數據做端到端的訓練,那可以將端到端的訓練拆分成三部分:encoder 的訓練、decoder 的訓練、encoder 和 decoder 的聯合訓練。
拆成三部分之后,我們再看看這些部分的目的是什么?
僅獨立地看 encoder 部分,encoder 的目的是去學習對話的表示;
僅獨立地看 decoder 部分,decoder 的目的是去生成摘要文本;
encoder 和 decoder 的聯合是為了為一個長輸入生成意義接近的短輸出。
既然 encoder 部分是為了學習對話的表示,對話數據適合去訓練 encoder。
既然 decoder 部分是為了生成摘要文本,那么找一些概括性高的短句子訓練 decoder 應該是有益的。
而 encoder 和 decoder 的聯合是為了為一個長輸入生成意義接近的短輸出,因此使用文檔摘要訓練 encoder 和 decoder 的聯合應該是有益的。
Abstract
隨著日常生活中對話數據量的快速增長,對話摘要的需求也越來越大。不幸的是,由于對話數據與注釋摘要難以獲取,訓練一個大的摘要模型通常是不可行的。大多數現有的低資源對話摘要工作直接在其他領域進行預訓練,如新聞領域,但他們通常忽略了對話和傳統文章之間的巨大差異。
為了彌補域外預訓練和域內微調之間的差距,在這項工作中,我們提出了一個多源預訓練范式,以更好地利用外部匯總數據。具體來說,本文利用大規模的域內非摘要數據,分別預訓練對話編碼器和摘要解碼器。然后使用對抗數據成對組合對解碼模型進行域外摘要數據的預訓練,以促進未知域摘要的生成。
在兩個公開數據集上的實驗結果表明,在訓練數據有限的情況下,該方法能夠獲得較好的競爭性能,并且在不同的對話情景下具有較好的概括性。
Method
上圖展示了本文如何利用多源數據進行預訓練。
4.1 encoder 訓練?
可以看到,對話數據用來訓練 encoder 來學習對話的表示。訓練過程使用了一個額外的 dialog decoder,訓練任務是對話數據的自我重構。也即我們在使用對話數據進行對話自重構的訓練過程中,訓練了模型的 encoder。同時,為了讓 encoder 更魯棒,使用了 DAE(denoising auto-encoding)去噪編碼器。?
使用的 loss 如下式:
4.2 decoder 訓練?
可以看到,本文用概括性強的短文本來訓練 decoder 來學習摘要輸出的生成。訓練過程類似 encoder 也是短文本的重構,是典型的自監督訓練。同時使用了一個額外的短文本 encoder,端到端的去訓練,并最終只保留 decoder 部分。?
使用的 loss 如下式,和 encoder 一樣都是概率連乘取對數:
4.3 聯合訓練?
此外,還有 encoder 和 decoder 的聯合訓練,這個部分是使用文檔摘要數據來訓練的,目的是為了學習由長文本輸入到短文本輸出的建模。
4.4 對抗學習模塊
理想的目標是:讓 DAE(去噪編碼器)學習到對話的語言風格和表示。
但由于我們同時饋送到 encoder 中的不止是對話數據(非正式),還有一部分是文本摘要數據(這里是新聞數據)。同樣地,decoder 中饋送的是短文本和文本摘要的 encode 結果。模型會學到這些特定域的歸納偏置。因此如果模型在一個新的領域中進行摘要將變得十分困難。我們如果想讓模型泛化到一個新的域,需要學習這些域中表示的通用特征。
因此本文基于對抗學習的思想,使用了一個對抗鑒別器,努力地使鑒別器不能預測是哪個類,從而確保不同域上的特征分布是相似的,也即讓模型更關注通用內容而不是特定域的屬性。
這里使用的鑒別器是一個簡單的多層感知機,后面加上一個 sigmoid 激活層。訓練一個簡單的二元分類器,使用 logistic loss function。
有兩個這樣的鑒別器,分別在 encoder 端試圖區分對話和新聞數據,在 decoder 端試圖區分短文本和新聞數據。
4.5 總結?
最后的總 loss 如下式:
應當說明的是,前面為了表述清楚,各模塊的訓練是分開講的,但其實仍然是一起訓練的,只不過是多任務的多個 loss 疊加,至此預訓練階段結束。最后在真正的對話摘要數據集上進行 finetuning。
Experiment
本文的實驗設置是在新聞摘要數據、對話數據、短文本數據上進行預訓練,然后在 SAMSum 數據集上進行微調,同時也測試了添加了新聞摘要數據的其他模型效果,從下圖中可以看到,并不是所有的模型在添加了額外的多源數據后獲得了效果的提升。
本文同時也進行了零樣本學習,由于進行了預訓練,可以看到零樣本場景下的表現還是不錯的。
針對各類數據的訓練過程的消融實驗如下圖所示:
可以看到由于加入了預訓練, 所以在低資源情況下,還能保持一定的性能。
下圖展示了對抗學習模塊的效果,可以看到在加入對抗學習模塊前,對話數據和新聞數據這兩個不同的域具有明顯的可區分邊界,這意味著模型學習到了它們的歸納偏置;加入對抗學習模塊后,兩類數據的分布變得相似,不可區分意味著模型減少了對他們域偏置的特征學習。
下圖是對話摘要的一個 case:
Conclusion
本文提出了一種面向低資源對話文摘的領域無關的多源預訓練模型,該模型利用外部大規模語料庫中的多源對話建模、摘要語言建模和抽象摘要。?
訓練時采用對抗性信號學習領域不可知的摘要。實驗結果驗證了該方法在低資源環境下的有效性和通用性。?
未來的研究方向是探索如何在多源預訓練策略中保持 token 級交叉注意力。通過這種方式,我們可以在通用 transformer 架構的模型中采用這種策略,例如? bart,以便從大規模的預訓練語言模型中受益。
特別鳴謝
感謝 TCCI 天橋腦科學研究院對于 PaperWeekly 的支持。TCCI 關注大腦探知、大腦功能和大腦健康。
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝?稿件基本要求:
? 文章確系個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題
? PaperWeekly 尊重原作者署名權,并將為每篇被采納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬?投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯系方式(微信),以便我們在稿件選用的第一時間聯系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
·
總結
以上是生活随笔為你收集整理的复旦大学张奇组:对话摘要数据不足?对话数据、文档摘要数据,我全都要!...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 薪资超大厂,校招天花板!Google大神
- 下一篇: 阿克苏住房公积金装修大修能提几次