【論文摘要】A Pre-training Based Personalized Dialogue Generation Model with Persona-sparse Data

本文僅爲個人對論文的一點理解,如果有不對的地方煩請指正

戳我看論文原文

前置知識

1.大型預訓練模型如GPT2的構造、原理、訓練過程
2.Huggingface做的對大型預訓練模型進行的fine-tune過程 戳我看論文

如果這兩個知識你都有了解的話這篇論文就不難理解了。

論文背景:

\quad 1.爲了讓對話模型生成出更加human-like的回覆,給模型以特定的性格背景等作爲參考信息是必要的。
\quad 2.大型預訓練模型比如GPT2和BERT由於使用了大量的語句做訓練,它們的語言能力非常的強大,生成出的語句非常的流暢。雖然大型預訓練模型並沒有針對某一個領域進行訓練,但是人們通過在預訓練的基礎上再在目標數據集上進行二次訓練,得到的結果大多好過只用目標數據集訓練的結果。
\quad 3.數據集PERSONA-CHAT是一個爲了應對該任務而提出的一個數據集,數據集採用人工收集,在構造數據集時人們被要求按照給定的性格信息來進行模擬對話,由此造成參與者在短短的幾句對話中包含了相當多的個人信息,論文稱這種現象爲"persona-dense"。

論文想要解決的問題:

\quad 1.真實的對話中,只有很少的對話會涉及到個人信息,我們稱現實生活中的對話是“persona-sparse”的,上述persona-dense的數據集並不符合真實情況。
\quad 2.如果直接用大型預訓練模型在PERSONA-CHAT類似的數據集上進行訓練,那麼模型很有可能過分的注重個人信息,從而造成句句都離不開個人信息,這在上述數據集上可能會得到很好的結果,但是卻並不真實。
\quad 3.由於真實的對話中,涉及到個人信息的語句非常的少,所以直接在persona-sparse的數據集上訓練很有可能模型更注重那些不包含個人信息的語句,個人信息在訓練的過程中成了噪音。

論文的貢獻:

\quad 提出了一個可以在persona-sparse的數據集上訓練的預訓練模型,實驗顯示效果不錯。

\quad 提出了一種通過模型自動計算persona比重的方法

方法:

圖1
在這裏插入圖片描述
【HINT】下面有沒看懂的字母可以在上面的圖裏找一下

\quad 訓練數據集來自微博,收集了微博的評論內容以及發佈評論的用戶的性別、位置、喜好的信息,將這些信息的類別擴充到預訓練模型的embedding中,比如性別分爲<男>和<女>,位置信息分爲各大城市,喜好信息分爲不同的標籤,性別位置比較好辦,因爲每個人只會有一個這樣的信息。喜好信息比較特殊,一個人可能有多個喜好,文章的解決方法是將多個喜好信息的embedding加起來做一個平均。

\quad 將多個不同種類的信息的embedding加在一起作爲歷史對話信息中每個單詞最終的embedding(如上面第二個圖片所示),將embedding通過Encoder層就可以得到歷史Dialogue的Encoding,然後將bot的目標性格當成特殊單詞構成句子,也通過同樣的Encoder得到persona的Encoding。

在這裏插入圖片描述
在這裏插入圖片描述
\quad 現在的問題就變成了,擁有歷史對話的信息和目標性格的信息,目標是生成一個回覆,這個回覆可以包含很多個人信息,也可以完全不包含,那麼這個度該如何把握呢?論文設計了一個二元分類器,他會根據之前的對話歷史得到的encoding EcE_c 得到一個0到1之間的persona參數α\alpha,模型將會按照這個參數調整輸出feature的比重,最後得到一個混合的輸出feature,看上面的公式不難發現,α\alpha越大目標persona的輸出OTO_T佔的比重就越大。爲了訓練這個二分分類器,論文對訓練數據用腳本進行的標註,通過回答中是否包含個人信息的關鍵詞來斷定是否是一個persona的回答,有的話α\alpha的ground truth就是1,否則就是0,二分分類器的loss與模型生成回覆的loss一起按照一定比例加和作爲整個模型的loss。

\quad 由此整個論文的方法就介紹完了,至於效果,論文中case study很能說明問題,和其它模型的對比也很能說明問題,對這部分感興趣的話請看原論文。

個人總結

論文切入角度非常棒,選取了一個非常不錯的話題。把歷史對話和性格分開來做,通過調整最後的比例來控制性格佔比個人認爲是一個非常神奇的想法。通過一個分類器來自動學習性格佔比的方法學到了學到了。

發佈了123 篇原創文章 · 獲贊 5 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章