胡益 劉嘉勇 代金鞘 賈鵬
摘要:?基于大型預(yù)訓(xùn)練語言模型的有監(jiān)督學(xué)習(xí)方法在可控文本生成任務(wù)上取得了優(yōu)秀的成果,但這些研究都著重于控制生成文本的高級(jí)屬性(比如情感與主題),而忽略了泛化性問題.現(xiàn)有的基于自監(jiān)督學(xué)習(xí)的研究方法則通過句子級(jí)別的訓(xùn)練來使模型獲得補(bǔ)全整句的能力,使模型做到單詞和短語級(jí)別的控制生成,但生成與特定屬性強(qiáng)相關(guān)句子的能力依舊待提升.所以本文提出了一種單詞級(jí)別(細(xì)粒度)與句子(粗粒度)級(jí)別相結(jié)合的多粒度訓(xùn)練方式:?jiǎn)卧~級(jí)別的主題模型讓模型學(xué)習(xí)主題層面的語義以獲得主題到文本的生成能力,句子級(jí)別的自監(jiān)督訓(xùn)練讓模型學(xué)習(xí)整句的表征以獲得補(bǔ)全句子的能力.通過主題模型與自監(jiān)督學(xué)習(xí)的結(jié)合,使模型在單詞與短語級(jí)別的可控生成階段取得了更好的效果.實(shí)驗(yàn)表明,本文提出的模型在主題契合度以及常規(guī)文本生成指標(biāo)方面優(yōu)于現(xiàn)有的基線模型.
關(guān)鍵詞:可控文本生成; 主題模型; 預(yù)訓(xùn)練語言模型; 自監(jiān)督學(xué)習(xí)
中圖分類號(hào):??TP391? 文獻(xiàn)標(biāo)識(shí)碼:A? DOI:10.19907/j.0490-6756.2023.053002
收稿日期: ?2022-10-14
基金項(xiàng)目: ?四川省科技廳重點(diǎn)研發(fā)項(xiàng)目(2021YFG0156)
作者簡(jiǎn)介: ??胡益(1997-), 男, 碩士研究生, 研究方向?yàn)榭煽匚谋旧? E-mail: 1160553681@qq.com
通訊作者: ??劉嘉勇.E-mail: ljy@scu.edu.cn
Controllable text generation technology based on ?topic model and self supervised learning
HU Yi, LIU Jia-Yong, DAI Jin-Qiao, JIA Peng
(School of Cyber Science and Engineering, Sichuan University, Chengdu 610065, China)
Supervised learning methods based on large-scale pre-trained language models have achieved excellent results in controllable text generation tasks, but current approaches mainly focus on controlling the high-level attributes of the generated text such as emotion and theme, neglecting the generalization problem. The existing research methods based on self-supervised learning use sentence-level training to enable the model to obtain the ability to complete the entire sentence, so that the model can control the generation of words and phrases, but the generation is strongly related to specific attributes. To address this problem, this paper proposes a multi granularity training method combining word level (fine granularity) and sentence level (coarse granularity): word level topic model lets the model learn the semantics of the topic level to obtain the ability to generate topic to text, and sentence level self-monitoring training lets the model learn the representation of the whole sentence to obtain the ability to complete the sentence.Through the combination of topic model and self supervised learning, the model achieve better results in controlled generation at the word and phrase level.Experiments show that the proposed model is superior to the existing baseline model in terms of topic fit and conventional text generation metrics.
Controllable text generation; Theme model; Pre-training language model; Self supervised ??learning
1 引 言
基于Transformer ?[1] 的大型預(yù)訓(xùn)練語言模型在包括文本生成在內(nèi)的各類自然語言生成(Natural Language Generation,NLG)任務(wù)中都取得了優(yōu)秀的結(jié)果 ?[2] .此類模型使用注意力機(jī)制提取上下文的詞嵌入,并使用大量語料進(jìn)行訓(xùn)練,從而得以生成非常流暢的文本.
由于預(yù)訓(xùn)練模型解決了生成文本的流暢性問題,人們便開始嘗試控制預(yù)訓(xùn)練語言模型輸出的文本包含指定屬性與內(nèi)容 ?[3] ,從而產(chǎn)生了多種可控文本生成任務(wù)(Conditional Text Generation,CTG).可控文本生成廣義上涵蓋了機(jī)器翻譯、文本摘要和文本風(fēng)格遷移等任務(wù).可控文本生成在在線交互娛樂、智慧教學(xué)等方向上有很大的應(yīng)用價(jià)值,此類任務(wù)需要針對(duì)性地生成包含指定主題情感和關(guān)鍵詞的文本.
為達(dá)成上述目標(biāo),研究者們開始使用特定目標(biāo)屬性對(duì)預(yù)訓(xùn)練語言模型進(jìn)行微調(diào) ?[3] ,使該語言模型能夠生成包含指定屬性的文本.但由于需要使用大量標(biāo)注數(shù)據(jù)對(duì)模型進(jìn)行重新訓(xùn)練,且模型只會(huì)接觸標(biāo)注數(shù)據(jù)中的目標(biāo)屬性,使得此方法對(duì)文本可控的范圍存在限制,訓(xùn)練開銷較大且泛化性較差.而在保留預(yù)訓(xùn)練模型的基礎(chǔ)上,通過使用標(biāo)注數(shù)據(jù)和屬性鑒別器 ?[4] 控制生成文本的方法被證實(shí)在高級(jí)文本屬性(比如情感極性)的控制上取得了優(yōu)秀的效果,此類方法即插即用.為規(guī)避標(biāo)注數(shù)據(jù),有研究開始將自監(jiān)督學(xué)習(xí)結(jié)合預(yù)訓(xùn)練模型 ?[5] 來提高模型學(xué)習(xí)補(bǔ)全整句的能力.此研究通過將訓(xùn)練數(shù)據(jù)切分為兩部分,以后半部分為真實(shí)值來訓(xùn)練模型補(bǔ)全整句,從而提升單詞和短語級(jí)別的控制能力,因?yàn)橐胱员O(jiān)督學(xué)習(xí)也避免了使用大量的標(biāo)注數(shù)據(jù)集 ?[6] .
自監(jiān)督訓(xùn)練在一定程度上能解決有監(jiān)督訓(xùn)練的模型泛化性差、控制生成的自由度較低的問題 ?[5] ,但自監(jiān)督學(xué)習(xí)在生成主題強(qiáng)相關(guān)的文本時(shí)表現(xiàn)較差,因?yàn)橹皇褂眠M(jìn)行粗粒度(句子級(jí)別)的訓(xùn)練不足以使模型獲得足夠的細(xì)粒度(單詞級(jí)別)控制能力.對(duì)此本文提出將主題模型(Topic Model)與自監(jiān)督學(xué)習(xí)結(jié)合,在Chan等人 ?[5] 工作的基礎(chǔ)上加入主題模型并改進(jìn)訓(xùn)練數(shù)據(jù)的處理方法,通過主題模型獲得訓(xùn)練文本的關(guān)鍵詞,將關(guān)鍵詞與訓(xùn)練文本一起作為編碼器的輸入并構(gòu)建新的損失函數(shù)來進(jìn)行自監(jiān)督訓(xùn)練. 通過這種粗細(xì)粒度結(jié)合的訓(xùn)練方式讓模型同時(shí)獲得補(bǔ)全句子與根據(jù)關(guān)鍵詞語義拓展句子的能力,以獲取更好的單詞與短語級(jí)別的可控文本生成能力.本文的貢獻(xiàn)如下:(1) 提出了一種結(jié)合主題模型與自監(jiān)督學(xué)習(xí)的可控文本生成模型,使模型能夠在單詞以及短語級(jí)別的控制度上生成流暢的文本,相較自監(jiān)督訓(xùn)練的模型在生成主題強(qiáng)相關(guān)文本時(shí)表現(xiàn)更好.(2) 大規(guī)模的實(shí)驗(yàn)表明,本模型在這些指標(biāo)上優(yōu)于現(xiàn)有的基線模型.將本文模型與多個(gè)基線模型基于指定的生 成規(guī)則生成測(cè)試文本,并使用基于RoBERTa的主題分類器與多個(gè)生成文本評(píng)價(jià)指標(biāo)對(duì)這些生成文本進(jìn)行測(cè)試.
2 相關(guān)工作
目前可控文本生成已有大量的相關(guān)研究,大部分可控文本生成方案可分為:構(gòu)造 提示文本(Prompt) ?[7] 、自動(dòng)編碼器(auto encoders) ?[8] 、生成式對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)、使用控制代碼(Control Codes) ?[3,4] 、加入解碼策略(Decoding Strategy) ?[9] ,以及插入額外的訓(xùn)練模塊 ?[5] 等多種方法.
早期的可控生成模型研究采用強(qiáng)化學(xué)習(xí) ?[10] 或GAN ?[11] ,生成預(yù)定屬性的文本,不過這類方法對(duì)預(yù)定屬性的需求限制了生成文本的種類,并且GAN生成的文本存在模式崩潰和訓(xùn)練不穩(wěn)定的問題.對(duì)此,近期的研究者受多任務(wù)學(xué)習(xí)的啟發(fā),提出了類別感知變分遞歸神經(jīng)網(wǎng)絡(luò) ?[12] ,使用生成和分類任務(wù)同時(shí)訓(xùn)練生成不同類別的文本,當(dāng)分類任務(wù)合適時(shí),多任務(wù)學(xué)習(xí)可以提高生成文本的質(zhì)量.
在早期研究中,CTRL模型 ?[3] 通過在預(yù)訓(xùn)練階段加入了控制代碼作為信號(hào)去影響生成文本的高級(jí)屬性(比如主題、情感與實(shí)體),從而生成受控的流暢文本.雖然能通過改變控制代碼生成多種領(lǐng)域的文本,但這些控制代碼需要在訓(xùn)練階段確定,控制代碼的自由度低,泛化性較差且訓(xùn)練成本高.而Dathathri等人 ?[4] 提出的基于預(yù)訓(xùn)練模型的即插即用語言模型(PPLM)通過額外引入經(jīng)少量文本訓(xùn)練的屬性判別器與獎(jiǎng)勵(lì)懲罰機(jī)制,極大地降低了訓(xùn)練成本,但仍需要高級(jí)屬性作為控制代碼.Yang等人 ?[13] 基于此思路提出了未來鑒別器,在詩(shī)歌生成任務(wù)中提升了效果.而近年的研究開始向更加細(xì)化的方向發(fā)展,Holtzman等人 ?[14] 提出的加權(quán)解碼器通過在解碼器中增加目標(biāo)屬性的權(quán)重來達(dá)到可控文本生成.Krause等人 ?[9] 提出的GeDi解決了PPLM 多次反向傳播導(dǎo)致的解碼效率低下,在解碼階段加入屬性判別器來控制解碼輸出.Chan 等人 ?[5] 提出的自監(jiān)督學(xué)習(xí)模型CoCon通過在GPT-2 中間插入精調(diào)的Transformer層來降低訓(xùn)練成本,并且通過自監(jiān)督損失函數(shù)達(dá)成了單詞和短語級(jí)別的控制能力.
這些方法雖然解決了有監(jiān)督訓(xùn)練模型導(dǎo)致的控制文本的自由度問題以及泛化性問題,但基于句子級(jí)別的訓(xùn)練方式去進(jìn)行單詞級(jí)別的生成任務(wù)導(dǎo)致在生成與主題強(qiáng)相關(guān)的句子時(shí)效果衰減較快.因此,本文模型在CoCon的模型結(jié)構(gòu)的基礎(chǔ)上加入了主題模型以及與之相應(yīng)的主題重構(gòu)損失函數(shù),并改進(jìn)了數(shù)據(jù)的預(yù)處理方式,將訓(xùn)練文本及其主題關(guān)鍵詞一起輸入進(jìn)行自監(jiān)督訓(xùn)練.有效提升了模型主題到文本的可控生成能力,并在生成階段使用超參數(shù)增加控制文本的權(quán)重后表現(xiàn)更加穩(wěn)定.
3 研究方法
早期的可控文本生成研究中通過在訓(xùn)練時(shí)加入控制代碼 ?[3] 或目標(biāo)屬性 ?[4] 作為真實(shí)值進(jìn)行訓(xùn)練,存在需求標(biāo)注文本、泛化性差以及控制能力弱等問題.而Chan等人 ?[5] 提出的自監(jiān)督學(xué)習(xí)方式如式(1)所示,通過將訓(xùn)練文本切分為兩部分并將后半部分句子作為控制代碼來實(shí)現(xiàn)自監(jiān)督學(xué)習(xí),其中切分后的前半句稱作提示文本,作為真實(shí)值的后半句為控制文本 c .
p(x ?l,...,x ?t|x 1,...,x ??t-1 )=
∏ t ?i=l ?p(x ?i|c={x ?t,...,x ?l},{x 1,...,x ??i-1 }) ?(1)
自監(jiān)督訓(xùn)練規(guī)避了標(biāo)注文本的需求以及控制代碼的泛化性問題.雖然該模型實(shí)現(xiàn)了單詞級(jí)別的控制能力,但本質(zhì)上獲得的是句子的補(bǔ)全能力,使用較長(zhǎng)提示文本加關(guān)鍵詞作為輸入時(shí)效果較好,但在只使用少量單詞進(jìn)行生成時(shí)效果下降.粗粒度的句子級(jí)別訓(xùn)練獲取的細(xì)粒度控制能力并不完整.
本文提出的方法結(jié)合了粗細(xì)粒度的訓(xùn)練方式,在使用關(guān)鍵詞、短語或句子作為輸入文本時(shí),都能獲得更好的文本生成效果,如式(2)所示.
p(x ?l,...,x ?t|x 1,...,x ??t-1 )=∏ t ?i=l ?p(x ?i|x ?topic ,
c={x ?t,...,x ?l},{x 1,...,x ??i-1 }) ?(2)
在生成階段則通過輸入自定義的提示文本與控制文本進(jìn)行可控文本生成,示例如表1所示.
3.1 模型結(jié)構(gòu)
本文沿用了CoCon ?[5] 的模型結(jié)構(gòu),該模型基于Transformer的預(yù)訓(xùn)練語言模型GPT-2 ?[7] ,并插入額外的Transformer模塊,且訓(xùn)練階段將只訓(xùn)練該模塊.CoCon分為三個(gè)部分,其中GPT-2部分被拆分為 Model ???α ?和 Model ???β ?,而新插入的Transformer模塊稱為 Model ???γ ?.
如圖1所示,相較于CoCon模型,本文模型新增了主題模型模塊并改進(jìn)了數(shù)據(jù)預(yù)處理方法.處理流程如圖2所示.在圖2所示的數(shù)據(jù)預(yù)處理流程中,每條訓(xùn)練數(shù)據(jù)將在進(jìn)行分詞后,從頭開始截取前20%個(gè)字節(jié)對(duì)編碼(Byte Pair Encoding,BPE) ?[15] 的文本,若長(zhǎng)度未達(dá)到30個(gè)BPE則增加至30個(gè),限制長(zhǎng)度是因?yàn)楫?dāng)輸入文本長(zhǎng)度過長(zhǎng)時(shí)會(huì)極大地增加訓(xùn)練成本.截取后的訓(xùn)練文本在訓(xùn)練階段將會(huì)按照近似于1∶2的比例進(jìn)行切分,前半部分為提示文本,后半部分為控制文本.每條訓(xùn)練數(shù)據(jù)分詞后還會(huì)輸入主題模型中計(jì)算出多個(gè)主題關(guān)鍵詞,將這些主題詞拼接在處理完的訓(xùn)練文本之后一起進(jìn)行詞嵌入,在訓(xùn)練時(shí)將其拆分為提示文本、控制文本和主題文本進(jìn)行自監(jiān)督訓(xùn)練.
3.2 主題模型算法
在對(duì)所有訓(xùn)練文本進(jìn)行分詞和截取之后,使用主題模型算法計(jì)算得出各自的主題詞,算法使用狄利克雷分布(Latent Dirichlet Allocation,LDA)算法與吉布斯采樣狄利克雷多項(xiàng)式混合模型算法 ?[16] (Gibbs Sampling algorithm for the Dirichlet Multinomial Mixture model,GSDMM),此二種算法都是用于文本聚類的主題模型算法,其中 LDA假設(shè)每條文本包含多個(gè)主題,模型會(huì)輸出該文本各主題的權(quán)重.GSDMM更適合短文本的主題聚類,并假定每條文本只有一個(gè)主題.
式(3)展示了數(shù)據(jù)預(yù)處理階段的內(nèi)容, [ x ??1 ,..., x ??L ] 為經(jīng)過分詞和截取長(zhǎng)度后的輸入文本, ?x ???topic 為主題模型輸出的主題詞,將LDA模型輸出的權(quán)重前 n 個(gè)主題詞與GSDMM輸出的主題詞取并集后與輸入文本進(jìn)行拼接輸入到 Model ???α ?中.
x 1 ??topic ?,...,x n ??topic ?=LDA ([x ?1,.. ,x ?L])
x ?n+1 ???topic ?=GSDMM ([x ?1,.. ,x ?L ])
h ?:L ,h ??topic ?= Model ?α[x 1,...,x L;x 1 ??topic ?...x ?n+1 ???topic ?] ?(3)
因?yàn)镚SDMM模型更加適合短文本的聚類任務(wù),所以輸出單個(gè)主題詞.對(duì)于120個(gè)詞左右的短文本來說,其文本屬性包括主題、情感、實(shí)體等多個(gè)方面,單個(gè)主題通常無法準(zhǔn)確描述文本的語義與主題.因此,本文將LDA與GSDMM一起使用,將LDA計(jì)算得到的權(quán)重前 n 的主題詞與GSDMM計(jì)算得到的主題詞一起使用,若有重復(fù)則合并.這樣對(duì)于每條數(shù)據(jù)都會(huì)得到多個(gè)關(guān)鍵詞,將這些關(guān)鍵詞拼接到文本之后再一起輸入到模型中進(jìn)行自監(jiān)督學(xué)習(xí),這些關(guān)鍵詞將會(huì)用在訓(xùn)練階段的主題重構(gòu)損失函數(shù)中.
3.3 主題重構(gòu)損失函數(shù)
自監(jiān)督學(xué)習(xí)方法能有效地解決有監(jiān)督學(xué)習(xí)遇到的標(biāo)注數(shù)據(jù)獲取難及訓(xùn)練成本高等問題,通過將輸入文本 X=[ x ??1 ,..., x ??L ] 拆分為提示文本 ??x ??p =[ x ??1 ,..., x ??t-1 ] 和控制文本 ?x ??q =[ x ??t ,..., x ??L ] 兩部分,構(gòu)造多種損失函數(shù)來達(dá)到訓(xùn)練模型還原句子的能力.
本文在CoCon ?[5] 基礎(chǔ)上加入了主題重構(gòu)損失,使用主題模型算法獲得輸入文本的主題詞,基于主題詞與 ?x ??p ?來還原文本,在訓(xùn)練模型補(bǔ)全句子的同時(shí)兼?zhèn)淞酥黝}到文本的生成能力,這樣能更好地完成細(xì)粒度的可控文本生成任務(wù).
主題重構(gòu)損失函數(shù)使用主題詞 ?x ???topic 與控制文本 ?x ??q ?幫助模型理解語義,這種單詞級(jí)別(細(xì)粒度)的訓(xùn)練可以使模型獲得主題到文本的生成能力.將此損失與自重構(gòu)損失一起使用是優(yōu)化模型細(xì)粒度控制能力的核心方法與本文的創(chuàng)新點(diǎn)之一.首先通過 Model ???α ?獲取提示文本 ?x ??p =[ x ??1 ,..., x ??t-1 ] 的隱層向量 ?h ??:t-1 ?與 ?h ??t:L ?以及主題詞的隱層向量 ?h ???topic .
h ??topic =Model ?α [ x ??topic ]
h′ ?t:L = Model ?γ[h ?:t-1 , h ???topic ]
h′ ?:L = Model ?γ[h ??topic ] (4)
如上式所示,在獲取各隱層向量后,主題重構(gòu)分為兩種;使用 ?x ??p =[ x ??1 ,..., x ??t-1 ] 作為提示文本且主題詞隱層向量 ?h ???topic 作為控制文本來預(yù)測(cè)后半部分,并將 ?x ??q ?作為真實(shí)值進(jìn)行損失計(jì)算;以及只使用主題詞隱層向量 ?h ???topic 作為提示文本,控制文本設(shè)置為空來生成整句 [ x ??1 ,..., x ??L ] .兩種損失共同組成主題重構(gòu)損失函數(shù) ?L ???topic ,如式(5)所示.
L 1 ?topic =-∑ L ?i=t ??log p(x ?i|(c=x ?topic ),{x 1,...,x ??i-1 })
L 2 ?topic =-∑ L ?i=1 ??log p ?λ(x ?i|c=x ?topic )
L ??topic ?=λL 1 ??topic ?+(1-λ)L 2 ??topic ???(5)
其中, λ 為控制兩種損失權(quán)重的參數(shù);設(shè)置 ?L ???2 ??topic 損失目的是為了強(qiáng)化模型的主題到文本的生成能力,但此類能力的強(qiáng)化也會(huì)造成文本質(zhì)量的下降,甚至造成模型退化。所以給此類損失設(shè)置的權(quán)重較低.主題重構(gòu)損失在本質(zhì)上比較接近有監(jiān)督學(xué)習(xí),而有監(jiān)督學(xué)習(xí)的泛用性受制于訓(xùn)練數(shù)據(jù)集的內(nèi)容豐富度,其效果通常會(huì)在在遇到訓(xùn)練數(shù)據(jù)集中沒有的內(nèi)容時(shí)下降.除此之外文本同樣使用了CoCon中使用的多種損失其他函數(shù).
自重構(gòu)損失函數(shù)通過將 ?x ??p 作為提示文本 , ?x ??q ?作為控制文本 c ,訓(xùn)練模型生成與 ?x ??p ?保持流暢,且內(nèi)容包含 ?x ??q ?的文本.幫助模型還原整句,使模型獲得補(bǔ)全句子的能力.自重構(gòu)損失 ?L ???self 如式(6)所示.
L ?self =-∑ L ?i=t ??log p(x ?i|(c=x ?q),{x 1,...,x ??i-1 }) ??(6)
循環(huán)重構(gòu)損失 ?[5] 一定程度上能解決由訓(xùn)練集覆蓋面不全引起的泛化問題.通過在訓(xùn)練時(shí)不直接接觸真實(shí)值,通過間接使用真實(shí)值進(jìn)行訓(xùn)練來使模型在接觸不同文本源的控制文本時(shí)能有更好的泛化能力.該損失函數(shù)可總結(jié)如下.
L ?cycle =-∑ L ?i=t ??log p(h′ 2=x ?q|(c=h′ 1),
{x 1 1,...,x ?1 ?i-1 }) ?(7)
對(duì)抗性損失函數(shù) ?L ???adv 有助于提高生成文本的質(zhì)量在已有研究中被證實(shí) ?[11] 表明,如式(8), X 為訓(xùn)練數(shù)據(jù)中的文本, ?X ??為模型生成的文本,鑒別器Disc用于判斷文本是否是由本文模型生成的文本.
Ρ =1- Disc(Model ?α(x ~ ))
Ρ= Disc(Model ?α(x))
L ??adv ?=E ?x∈X ?log (Ρ)+E ?x ~ ∈X ~ ??log (Ρ ) ?(8)
綜合上述內(nèi)容,本文模型在訓(xùn)練階段的總體損失函數(shù)即為上述4種損失函數(shù)的加權(quán)和,表示如式(9)所示.其中權(quán)值 λ 為人工設(shè)定.
L ??total ?=λ ??self ?L ??self ?+λ ??topic ?L ??topic ?+λ ??cycle ?L ??cycle ?+λ ??adv ?L ??adv ???(9)
3.4 算法流程
算法1與算法2展示了模型訓(xùn)練與生成階段的算法流程,其中訓(xùn)練階段的輸入已經(jīng)經(jīng)過3.1節(jié)中的數(shù)據(jù)處理,算法1中的損失計(jì)算由3.3節(jié)中的多種損失函數(shù)組成.生成階段中若有多個(gè)控制文本需要輸入,則只需要將這些控制文本對(duì)應(yīng)的向量全數(shù)拼接在一起.
4 實(shí) 驗(yàn)
本節(jié)首先將簡(jiǎn)述實(shí)驗(yàn)的基本設(shè)置與評(píng)價(jià)指標(biāo),再檢測(cè)模型生成文本的質(zhì)量與主題契合度,并與近年來較為先進(jìn)的其他模型進(jìn)行對(duì)比.
4.1 實(shí)驗(yàn)設(shè)置
本次實(shí)驗(yàn)中使用GPT-2-medium-345M ?[7] 作為預(yù)訓(xùn)練模型.為了降低訓(xùn)練時(shí)間,分別使用5層與15層GPT-2的Transformer模塊作為 Model ???α ?與 Model ???β ?,并使用單獨(dú)的一層Transformer模塊作為 Model ???γ ?,批次大小設(shè)置為16.訓(xùn)練數(shù)據(jù)集使用24萬條GPT-2-medium-345M的生成文本.由于數(shù)據(jù)集文本的長(zhǎng)度過長(zhǎng)會(huì)導(dǎo)致訓(xùn)練成本增大,所以在數(shù)據(jù)處理階段只從頭開始截取30個(gè)BPE(Byte Pair Encoding)長(zhǎng)度的文本作為訓(xùn)練語料,訓(xùn)練時(shí)計(jì)算總體損失函數(shù)的權(quán)重 ?λ ???topic 、 ?λ ???self 、 ?λ ???cycle 、 ?λ ???adv 沿用Chan等人 ?[5] 的設(shè)定,都設(shè)置為1,而其中計(jì)算主題重構(gòu)損失時(shí),權(quán)重 λ 設(shè)置為0.8.在測(cè)試階段,除了數(shù)個(gè)常規(guī)評(píng)價(jià)指標(biāo)以外,還使用了經(jīng)過新聞數(shù)據(jù)集微調(diào)后的RoBERTa ?[18] 預(yù)訓(xùn)練模型用作分類器進(jìn)行主題契合度的測(cè)試.
為統(tǒng)一各類測(cè)試的標(biāo)準(zhǔn),模型采取相同的格式進(jìn)行測(cè)試文本生成,提示文本使用常用的英文開頭詞,而控制文本使用特定主題或領(lǐng)域內(nèi)的詞語,生成實(shí)例可參考表1.
4.2 對(duì)比實(shí)驗(yàn)設(shè)置
除了未經(jīng)調(diào)整的GPT-2作為基線模型,本文還使用了以下三種先進(jìn)的可控文本生成模型進(jìn)行對(duì)比實(shí)驗(yàn).(1) CTRL ?[3] :通過在預(yù)訓(xùn)練階段使用控制代碼進(jìn)行大規(guī)模有監(jiān)督訓(xùn)練的模型.實(shí)驗(yàn)將使用Huggingface ?[19] 版本.(2) PPLM ?[10] :通過引入屬性判別器對(duì)預(yù)訓(xùn)練模型進(jìn)行精調(diào)地即插即用模型.使用Huggingface ?[19] 版本.(3) CoCon ?[5] :與本文模型結(jié)構(gòu)類似,通過在預(yù)訓(xùn)練模型中插入Transformer層來進(jìn)行自監(jiān)督訓(xùn)練.本次實(shí)驗(yàn)使用表2中的gpt-2-output-dataset作為訓(xùn)練集進(jìn)行訓(xùn)練.同時(shí)引入了偏置參數(shù)τ的概念 ?[5] ,本次實(shí)驗(yàn)會(huì)在本文模型與CoCon的測(cè)試中使用,設(shè)置此參數(shù)會(huì)影響控制文本的重要程度.
4.3 評(píng)價(jià)指標(biāo)
本文實(shí)驗(yàn)將首先使用多種常規(guī)的自然語言處理任務(wù)評(píng)價(jià)指標(biāo)包括:(1) BLEU ?[20] :評(píng)估生成文本與參考值的接近程度,其中高階 n -gram的BLEU比如BLEU-4還可以同時(shí)衡量句子的流暢性.(2) NIST ?[21] :通過引入了每個(gè) n -gram的信息量的概念對(duì)BLEU進(jìn)行改進(jìn).(3) METEOR ?[22] :在BLEU的基礎(chǔ)上擴(kuò)充同義詞集,并在計(jì)算方式上融合了準(zhǔn)確率、召回率.(4) Dist ?[23] :測(cè)試生成文本的多樣性.
這些指標(biāo)主要用于檢測(cè)模型生成文本的質(zhì)量與句子補(bǔ)全能力.除了這些常規(guī)的生成文本指標(biāo)以外,我們還訓(xùn)練了一個(gè)分類器來判斷生成文本的主題是否符合控制文本.分類器采用微調(diào)后的預(yù)訓(xùn)練模型RoBERTa ?[18] 并使用新聞分類數(shù)據(jù)集進(jìn)行調(diào)整,此分類器將會(huì)測(cè)試模型生成文本在控制文本所在主題的相關(guān)度,并輸出相應(yīng)的精確率( Precision )、召回率( Recall )和 F 1分?jǐn)?shù),其中精確率是在被所有分類為主題相關(guān)的樣本中實(shí)際與主題相關(guān)的概率.召回率是覆蓋面的度量,表示被分類為與主題相關(guān)的樣本占所有與此主題相關(guān)的樣本的比例 .F 1分?jǐn)?shù)為精確率與召回率的綜合考量,計(jì)算如下式所示.
F1=2· Precision·Recall Precision+Recall ??(10)
4.4 實(shí)驗(yàn)結(jié)果與分析
為了驗(yàn)證本文提出模型的有效性,我們分別進(jìn)行了以下三個(gè)方面的實(shí)驗(yàn).
4.4.1 補(bǔ)全句子能力測(cè)試 ?實(shí)驗(yàn)將與多個(gè)基線模型進(jìn)行對(duì)比,結(jié)果如表2所示.其中為方便展示,BLEU與Back-BLEU指標(biāo)將在× 10 ??2 后展示.為驗(yàn)證主題損失函數(shù)與數(shù)據(jù)預(yù)處理的效果在表中同時(shí)進(jìn)行消融實(shí)驗(yàn).表中“本章模型-預(yù)處理”指只使用預(yù)處理模塊,“本章模型-主題重構(gòu)損失”指只使用主題重構(gòu)損失模塊.
如表2所示,加粗?jǐn)?shù)據(jù)為最優(yōu)值.可知本文模型無論在內(nèi)容相似度、流暢性與文本多樣性上都具有優(yōu)勢(shì),其中CTRL因?yàn)樾枰獑卧~作為控制代碼進(jìn)行可控文本生成,所以在句子級(jí)別的內(nèi)容相似性檢測(cè)中效果較差.本文模型與CoCon因?yàn)樽员O(jiān)督學(xué)習(xí)帶來的補(bǔ)全句子能力使得在BLEU這種內(nèi)容相似度評(píng)價(jià)指標(biāo)上表現(xiàn)較好.主題重構(gòu)損失使本文模型更好地理解語義,使補(bǔ)全句子地能力進(jìn)一步提升.預(yù)處理部分的改動(dòng)本身沒有帶來明顯提升,但和主題模塊的結(jié)合有著較好的效果.
4.4.2 主題到文本的生成測(cè)試 ?為測(cè)試模型的主題到文本的可控文本生成能力,即單詞短語級(jí)別的控制能力,本文在特定領(lǐng)域內(nèi)選取單個(gè)主題詞作為控制文本進(jìn)行生成,測(cè)試生成文本是否符合控制文本的語義與主題.
實(shí)驗(yàn)將選擇在”政治”相關(guān)的詞語中選取標(biāo)志性的單詞作為控制文本,并使用常見開頭詞作為提示文本進(jìn)行生成.實(shí)驗(yàn)中各個(gè)模型根據(jù)提示文本與單個(gè)控制文本生成測(cè)試文本,將這些測(cè)試文本輸入到提前訓(xùn)練好的分類器中,輸出相應(yīng)的精確率以及 F 1分?jǐn)?shù).同時(shí)對(duì)本文模型的兩個(gè)模塊進(jìn)行消融實(shí)驗(yàn).
實(shí)驗(yàn)結(jié)果如表3所示,本文模型各項(xiàng)指標(biāo)上都略優(yōu)于其他基線模型,這表明本文模型生成的文本具有更好的主題相關(guān)性.其中CTRL與PPLM使用控制代碼進(jìn)行可控文本生成,其生成文本會(huì)與控制代碼單詞本身相關(guān),但并不一定會(huì)與相應(yīng)的主題有較高的相關(guān)性,并沒有理解語義,所以得分較低.而本文模型在訓(xùn)練階段使用了主題詞進(jìn)行訓(xùn)練,所以生成文本更加傾向于既與控制文本本身相關(guān),又在主題與語義層面與控制文本相關(guān),所以在以主題詞為控制文本的生成任務(wù)上表現(xiàn)更好.
從消融實(shí)驗(yàn)可看出,主題重構(gòu)損失的加入對(duì)模型效果的提升起到了關(guān)關(guān)鍵作用.改變數(shù)據(jù)預(yù)處理方式有較小提升,而且和主題模型相結(jié)合時(shí)有著更好的效果.因?yàn)樵?20詞左右的文本中隨機(jī)截取片段時(shí)很可能截取到語義不完整且信息量低的部分,對(duì)于長(zhǎng)度較長(zhǎng)的訓(xùn)練文本截取長(zhǎng)度過短會(huì)妨礙模型對(duì)語義的學(xué)習(xí).改變?yōu)閺念^開始截取以及動(dòng)態(tài)地增加截取長(zhǎng)度對(duì)進(jìn)行主題重構(gòu)損失計(jì)算有一定的幫助.
4.4.3 偏置參數(shù)的影響 ?本文在4.2節(jié)中提到,CoCon引入了偏置參數(shù)τ的概念 ?[5] ,此參數(shù)會(huì)影響控制文本的重要程度,設(shè)置較大的偏置參數(shù) τ 會(huì)在增加控制文本的權(quán)重的同時(shí)降低文本的流暢度,在 τ 設(shè)置過大時(shí)會(huì)生成可讀性低的文本.本次實(shí)驗(yàn)中加入 τ 分別設(shè)置為0與10 的兩種模型,其中設(shè)置為10的模型標(biāo)注為Bias-10.實(shí)驗(yàn)結(jié)果如表4所示.
本文模型在偏置參數(shù) τ 設(shè)為10的情況下效果衰減更少,并在多樣性指標(biāo)DIST上有增長(zhǎng)而降低了流暢性.因?yàn)橥ǔT谄脜?shù)設(shè)置較高時(shí),其他模型會(huì)傾向于生成與控制文本本身相關(guān)單詞,更容易對(duì)控制文本進(jìn)行大量復(fù)制,而脫離了控制文本的語義與主題,而本文模型的表現(xiàn)相對(duì)會(huì)更好一些.
在表5中展示了偏置參數(shù) τ 對(duì)本文模型生成文本的影響,可以看到當(dāng)偏置參數(shù)設(shè)置過高時(shí)也會(huì)發(fā)生單詞復(fù)制的情況.
4.4.4 人工評(píng)估 ?表6展示了人工評(píng)估實(shí)驗(yàn)的結(jié)果,四種評(píng)價(jià)指標(biāo)分別為控制文本相關(guān)性、主題契合度、一致性、流暢性和連貫性.其中相關(guān)性表示生成文本是否契合控制文本,在主題上是否與控制文本相關(guān).流暢性代表文本在語法層面上的通順性與可讀性,而連貫性表示文本在邏輯上是否通暢.此實(shí)驗(yàn)將從每個(gè)模型的生成文本中隨機(jī)挑選50條文本供人工評(píng)估,對(duì)于每條文本的這三個(gè)指標(biāo)都需要在1~5分的區(qū)間內(nèi)打分,最后得到平均得分.
5 結(jié) 論
本文基于預(yù)訓(xùn)練語言模型,將自監(jiān)督學(xué)習(xí)與主題模型相結(jié)合,提出了一種能夠在單詞與主題級(jí)別上進(jìn)行可控文本生成的模型.模型通過使用多種主題模型獲取訓(xùn)練文本的主題詞,并將此主題詞與訓(xùn)練文本的一部分輸入到編碼器中,以訓(xùn)練模型基于主題進(jìn)行可控文本生成的能力.同時(shí)將訓(xùn)練文本切分為兩部分,以后半部分為真實(shí)值,前半部分為輸入來進(jìn)行自監(jiān)督訓(xùn)練,訓(xùn)練模型補(bǔ)全句子的能力.實(shí)驗(yàn)部分使用了常規(guī)機(jī)器翻譯的評(píng)價(jià)指標(biāo)以及用公開新聞分類數(shù)據(jù)集訓(xùn)練的分類器對(duì)模型生成文本進(jìn)行檢測(cè),證明本文模型在大部分指標(biāo)上優(yōu)于現(xiàn)有的先進(jìn)模型,模型擁有了單詞級(jí)別的可控文本生成能力,并且在生成與控制文本強(qiáng)相關(guān)的文本時(shí)表現(xiàn)更好.
本文仍存在兩個(gè)不足之處:(1) 訓(xùn)練成本較高;(2) 在訓(xùn)練階段全部使用真實(shí)值進(jìn)行訓(xùn)練,不利于模型泛化.雖然模型可以在單詞和短語級(jí)別進(jìn)行可控文本生成,但模型并沒有真正理解訓(xùn)練文本的語義,還不能完全做到基于語義進(jìn)行可控文本生成.未來將計(jì)劃加入對(duì)比學(xué)習(xí),通過構(gòu)造高質(zhì)量的正負(fù)樣本對(duì)進(jìn)行自監(jiān)督訓(xùn)練來讓模型深入理解語義.
參考文獻(xiàn):
[1] ??Vaswani ?A, Shazeer N, Parmar N, ?et al . Attention is all you need [C]//Proceedings of the 31 th International Conference on Neural Information Processing Systems. Long Beach: NIPS, 2017: 6000.
[2] ?Covington M A. Building natural language generation systems [J]. Language, 2001, 77: 611.
[3] ?eskar ?N S, McCann B, Varshney L R, ?et al . Ctrl: a conditional transformer language model for controllable generation [EB/OL]. [2019-09-20]. http://arxiv.org/pdf/ 1909.05858.pdf.
[4] ?Dathathri ?S, Madotto A, Lan J, ?et al . Plug and play language models: a simple approach to controlled text generation [C]// Proceedings of the 8th International Conference on Learning Representations. Addis Ababa: ICLR, 2020: 1.
[5] ?Chan A, Ong Y S, Pung B, ?et al . CoCon: a self-supervised approach for controlled text generation[C]// Proceedings of the 9th International Conference on Learning Representations, Vienna: ICLR, 2021: ?1.
[6] ?Jing L, Tian Y. Self-supervised visual feature learning with deep neural networks:A survey [J]. IEEE T Pattern Anal Mach Intell, 2020, 43: 4037.
[7] ?Radford A, Wu J, Child R, ?et al . Language models are unsupervised multitask learners[J]. OpenAI Blog, 2019, 1: 9.
[8] ?Ko H, Lee J, Kim J, ?et al . Diversity regularized autoencoders for text generation[C]//Proceedings of the 35th Annual ACM Symposium on Applied Computing. Brno: SAC, 2020: 883.
[9] ?Krause B, Gotmare A D, McCann B, ?et al . Gedi: generative discriminator guided sequence generation [EB/OL]. [2020-10-22].https://arxiv.org/pdf/2009.06367.pdf.
[10] ?Ziegler D M, Stiennon N, Wu J, ?et al . Fine-tuning language models from human preferences [EB/OL]. ?[2020-01-08]. https://arxiv.org/pdf/1909.08593.pdf.
[11] Yu ?L, Zhang W, Wang J, ?et al . Seqgan: sequence generative adversarial nets with policy gradient[C]// Proceedings of the 31th AAAI Conference on Artificial Intelligence Association for the Advancement of Artificial Intelligence. San Francisco: AAAI, 2017.
[12] Cheng P, Dai J, Liu J. CatVRNN: Generating category texts via multi-task learning [J].Knowl-Based Syst, 2022, 244: 108491.
[13] Yang K, Klein D. FUDGE: controlled text generation with future discriminators [C]//Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Mexico: NAACL-HLT, 2021: 3511.
[14] Holtzman A, Buys J, Forbes M, ?et al . Learning to write with cooperative discriminators [C]//Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics. Melbourne: ACL, 2018: 1638.
[15] Gage P. A new algorithm for data compression [J]. C Us J, 1994, 12: 23.
[16] Yin ?J, Wang J. A dirichlet multinomial mixture model-based approach for short text clustering [C]//Proceedings of the 20th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York: KDD, 2014: 233.
[17] Yang Z, Hu Z, Dyer C, ?et al . Unsupervised text style transfer using language models as discriminators[C]//Proceedings of the 32 th International Conference on Neural Information Processing Systems. Montreal: NIPS, 2018: 7298.
[18] Liu Y, Ott M, Goyal N, ?et al . Roberta: a robustly optimized bert pretraining approach[EB/OL]. [2022-06-01]. https://arxiv.org/pdf/1907.11692. ?pdf.
[19] Wolf ?T, Debut L, Sanh V, ?et al . Huggingface's transformers: state-of-the-art natural language processing [EB/OL]. [2020-07-14]. https://aclanthology.org/2020.emnlp-demos.6.pdf.
[20] Papineni ?K, Roukos S, Ward T, ?et al . Bleu: a method for automatic evaluation of machine translation [C]// Proceedings of the 40th Annual Meeting of the Association for Computational Linguistics. Philadelphia: ACL, 2002: 311.
[21] Doddington ?G. Automatic evaluation of machine translation quality using n-gram co-occurrence statistics [C]//Proceedings of the second international conference on Human Language Technology Research. Athens: LREC, 2002: 138.
[22] Banerjee S, Lavie A. METEOR: an automatic metric for MT evaluation with improved correlation with human judgments [C]//Proceedings of the Acl workshop on Intrinsic and Extrinsic Evaluation Measures for Machine Translation and/or Summarization. Ann Arbor:WS, 2005: 65.
[23] Li J, Galley M, Brockett C, ?et al . A diversity-promoting objective function for neural conversation models [C]//Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. San Diego: NAACL-HLT, 2016: 110.