來自:哈工大訊飛聯(lián)合實驗室
本期導(dǎo)讀:本文是對受控文本生成任務(wù)的一個簡單的介紹。首先,本文介紹了受控文本生成模型的一般架構(gòu),點明了受控文本生成模型的特點。然后,本文介紹了受控文本生成技術(shù)在故事生成任務(wù)和常識生成任務(wù)上的具體應(yīng)用,指出了受控文本生成技術(shù)在具體應(yīng)用場景下的改進方向。
0. 什么是受控文本生成
文本生成任務(wù)是自然語言處理領(lǐng)域十分重要的一類任務(wù)。文本摘要、語法糾錯、人機對話等很多自然語言處理任務(wù)都可以被視為文本生成任務(wù)。GPT-2、BART、T5等文本生成相關(guān)的技術(shù)也在這些任務(wù)上取得了較好的效果。
受控文本生成任務(wù)與常規(guī)的文本生成任務(wù)有一些不同。常規(guī)的文本生成任務(wù)對生成文本的內(nèi)容(Content)通常沒有強制性的約束,而受控文本生成任務(wù)會要求生成文本的內(nèi)容必須滿足一些既定的約束條件,如風(fēng)格(Style)、主題(Topic)等。
例如,文本風(fēng)格轉(zhuǎn)換(Text Style Transfer)就是一類十分經(jīng)典的受控文本生成任務(wù),該任務(wù)要求生成文本的內(nèi)容在語義上需要與轉(zhuǎn)換前保持一致,在風(fēng)格上需要轉(zhuǎn)換為預(yù)定義好的目標(biāo)風(fēng)格。從應(yīng)用的角度來看,受控文本生成技術(shù)更有希望構(gòu)建出場景適配的、用戶可接受的文本生成系統(tǒng)。因此,受控文本生成技術(shù)已經(jīng)被越來越多的研究者關(guān)注。
1. 受控文本生成模型的一般架構(gòu)
CMU的一些研究者們發(fā)表在COLING 2020的一篇論文對受控文本生成模型的一般架構(gòu)(見圖1)進行了比較細致的描述。受控文本生成模型在生成受控文本時可以通過5個子模塊對生成文本進行控制。
第一個模塊稱為額外輸入模塊(External Input module),該模塊負責(zé)提供生成受控文本時的初始信號。
第二個模塊稱為序列輸入模塊(Sequential Input module),該模塊負責(zé)提供生成受控文本時每個時間步上的輸入。
第三個模塊稱為生成操作模塊(Generator Operations module),該模塊決定每個時間步向量表示的計算方式,即是使用RNN計算,還是使用Transformer計算,亦或是使用其他計算方式。
第四個模塊稱為輸出模塊(Output module),該模塊負責(zé)將每個時間步的向量表示映射為輸出結(jié)果。
第五個模塊稱為訓(xùn)練目標(biāo)模塊(Training Objective module),該模塊負責(zé)損失函數(shù)的計算。
其中額外輸入模塊,是受控文本生成模型中比較特殊且重要的一個模塊,該模塊通常會提供一個與控制目標(biāo)相關(guān)的向量表示作為受控文本生成的初始信號,從而保證生成的文本滿足預(yù)定義的控制目標(biāo)。另外,輸出模塊也是受控文本生成模型致力于改進的一個模塊。常規(guī)的文本生成任務(wù)只需要將每個時間步的向量表示映射為詞表分布作為輸出空間即可,而在受控文本生成模型中就需要通過某種方式改變輸出空間的分布去獲得期望的輸出結(jié)果。
2. 受控文本生成技術(shù)在故事生成任務(wù)上的應(yīng)用
本節(jié)介紹一個發(fā)表在EMNLP 2020上的利用受控文本生成技術(shù)改進故事生成的工作。該工作使用的數(shù)據(jù)集為ROCStories dataset(該數(shù)據(jù)集中的每個故事都由5個句子組成),其任務(wù)設(shè)定為給定故事的第一個句子,機器自動生成后面的句子。
如果不使用受控文本生成技術(shù),該任務(wù)就是一個簡單的語言模型式的文本生成任務(wù),直接使用GPT-2就可以完成。但是,直接使用GPT-2生成的故事很難保證生成的結(jié)果是語義連貫且邏輯自洽的。因此,將受控文本生成技術(shù)引入到故事生成任務(wù)中就有可能控制故事生成的內(nèi)容,從而改進故事生成的效果。
該工作首先使用一個基于GPT-2的關(guān)鍵詞預(yù)測模型預(yù)測出與下一句相關(guān)的關(guān)鍵詞,然后使用這些關(guān)鍵詞去大規(guī)模的知識庫中檢索出與這些關(guān)鍵詞相關(guān)的三元組,這些三元組會通過一些模板被轉(zhuǎn)化為句子。
由于這些由三元組轉(zhuǎn)化的句子數(shù)量較多且可能存在大量的噪音,因此,還需要一個與下一句信息相關(guān)聯(lián)的基于BERT的排序模型對這些句子進行排序,從而選擇出與下一句信息最相關(guān)的TopN個句子。在獲得這些來源于知識庫的句子后,我們就可以將這些句子作為控制信息并與當(dāng)前句進行拼接一起作為GPT-2的輸入去生成下一句。上述流程需要循環(huán)進行直到生成故事中所有的句子。圖2是該工作整體的流程圖。
圖2 基于知識庫信息控制的故事生成流程圖
這個工作雖然沒有對受控文本生成模型進行改進,但是從大規(guī)模知識庫中獲取控制信息進行文本生成的思路還是有一定借鑒意義的。
3. 受控文本生成技術(shù)在常識生成任務(wù)上的應(yīng)用
本節(jié)介紹一個發(fā)表在ACL 2021上將受控文本生成技術(shù)應(yīng)用在常識生成任務(wù)上的工作。常識生成任務(wù)是一項比較新穎的文本生成任務(wù)。該任務(wù)的設(shè)定為給定一個概念集合,機器需要自動生成一個能夠描述這個概念集合的句子,并且生成的句子不能違背常識。例如,給定一個概念集合{apple, bag, put},理想情況下機器應(yīng)該生成“A girl puts an apple in her bag”這樣的句子。如果機器生成了“A girl eats an apple”或者“A girl puts a bag in her apple”,都不能算是一個合格的生成結(jié)果。因此,要想獲得一個較好的生成結(jié)果,我們首先需要保證的就是概念集合里的概念都要出現(xiàn)在輸出結(jié)果中。
本節(jié)介紹的工作提出了一種名為“Mention Flags”的方法,通過在解碼端引入一個提及標(biāo)記矩陣(Mention Flag Matrix)來標(biāo)記輸入項與輸出項的提及關(guān)系,從而控制每個時間步解碼時的輸出。提及標(biāo)記矩陣中的元素共有3種不同的取值,取0時表示該輸入項不是控制項,取1時表示該輸入項是控制項,但在輸出項中未出現(xiàn)。取2時表示該輸入項是控制項,并已經(jīng)在輸出項中出現(xiàn)。以輸入為{apple, bag, put},輸出為“A girl puts an apple in her bag”為例。
在訓(xùn)練時,提及標(biāo)記矩陣可以通過輸入與輸出的對齊數(shù)據(jù)直接轉(zhuǎn)換得到。在推理時,我們只需要在每個時間步遞增式地擴充提及標(biāo)記矩陣的每一列即可。
最后是如何將提及標(biāo)記矩陣融入到模型中的問題。由于該工作使用的是基于Transformer的文本生成模型,其作者將提及標(biāo)記矩陣視為輸入項與輸出項的相對位置(Relative Position),在計算輸出項與輸入項的交叉注意力(Cross Attention)時將相對位置信息融入到模型計算中。
4. 小結(jié)
本文簡單介紹了受控文本生成與常規(guī)文本生成任務(wù)的區(qū)別,并對受控文本生成模型的一般架構(gòu)進行了闡述。受控文本生成的特殊點主要在于受控信息的獲取以及對輸出結(jié)果的控制。因此,要想獲得一個較好的受控文本生成系統(tǒng),就可以從這兩點上對文本生成的模型或方案進行改進。另外,文本還介紹了受控文本生成技術(shù)在故事生成任務(wù)和常識生成任務(wù)上的應(yīng)用,這些方法和思想同樣可以借鑒到其他受控文本生成任務(wù)中。
編輯:jq
-
CMU
+關(guān)注
關(guān)注
0文章
21瀏覽量
15399 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1222瀏覽量
25268 -
GPT
+關(guān)注
關(guān)注
0文章
368瀏覽量
15922 -
nlp
+關(guān)注
關(guān)注
1文章
490瀏覽量
22471
原文標(biāo)題:受控文本生成任務(wù)簡述
文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
了解DeepSeek-V3 和 DeepSeek-R1兩個大模型的不同定位和應(yīng)用選擇
生成式人工智能模型的安全可信評測

評論