蔡麗坤,吳運兵,陳甘霖,劉翀凌,廖祥文*
(1.福州大學(xué) 計算機(jī)與大數(shù)據(jù)學(xué)院,福建 福州 350108;2.福建省網(wǎng)絡(luò)計算與智能信息處理重點實驗室(福州大學(xué)),福建 福州 350108;3.福州大學(xué) 數(shù)字福建金融大數(shù)據(jù)研究所,福建 福州 350108)
隨著自然語言處理在人工智能領(lǐng)域的迅猛發(fā)展,自然語言生成已成為人工智能和自然語言處理的一個重要研究方向。類別文本生成[1]作為文本生成的一個子任務(wù),旨在生成包含特定語義的文本。不同類別、不同情感的文本生成,能夠使得機(jī)器更加人性化。同時,大量具有類別屬性的文本的生成能夠在很大程度上緩解大規(guī)模標(biāo)簽訓(xùn)練數(shù)據(jù)集獲取困難的問題。
傳統(tǒng)的文本生成方法主要基于規(guī)則模板[2],通過內(nèi)容規(guī)劃、句子規(guī)劃以及語言實現(xiàn)進(jìn)行文本的生成。隨后,基于概率統(tǒng)計的方法[3]也被運用到對語言的建模中,該方法將詞與上下文的關(guān)系編碼成條件概率,從概率統(tǒng)計的角度進(jìn)行文本生成。隨著深度學(xué)習(xí)的不斷發(fā)展,當(dāng)前大多數(shù)工作采用端到端的文本生成框架[4],通過數(shù)據(jù)驅(qū)動的方法訓(xùn)練模型,避免了大量手工規(guī)則的構(gòu)造,同時也提高了模型的泛化能力。
生成對抗網(wǎng)絡(luò)(generative adversarial networks, GAN)[5]作為深度學(xué)習(xí)中的一個主流框架,采用博弈的思想,通過生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)的對抗訓(xùn)練實現(xiàn)網(wǎng)絡(luò)的優(yōu)化目標(biāo)。其中,判別網(wǎng)絡(luò)的目標(biāo)是最大化真實樣本與生成樣本的距離,反之即為生成網(wǎng)絡(luò)的目標(biāo)。目前基于生成對抗網(wǎng)絡(luò)的文本生成研究中,大都采用基于LSTM的生成網(wǎng)絡(luò)對文本進(jìn)行解碼。為了獲得更豐富的語義表達(dá),Nie等[6]引入關(guān)系記憶網(wǎng)絡(luò)以獲得更豐富的上下文依賴關(guān)系,并采用注意力機(jī)制[7]來實現(xiàn)文本對自身序列的對齊。但是,當(dāng)注意力查詢與結(jié)果不匹配時,會導(dǎo)致對無關(guān)信息的關(guān)注,從而影響生成文本的多樣性表達(dá)。在判別網(wǎng)絡(luò)方面,現(xiàn)有的工作,如SentiGAN[8]、CatGAN[9]等,均采用卷積神經(jīng)網(wǎng)絡(luò)[10]來進(jìn)行文本特征信息的提取。卷積神經(jīng)網(wǎng)絡(luò)采用局部連接的方式大大減少了網(wǎng)絡(luò)的參數(shù),但同時也造成文本中上下文依賴關(guān)系的丟失,缺乏對文本全局語義特征的學(xué)習(xí),從而影響生成文本的整體流暢度。
針對上述問題,本文在生成網(wǎng)絡(luò)的多頭注意力的基礎(chǔ)上引入雙重注意力,通過額外的注意力進(jìn)一步過濾掉無關(guān)的注意力結(jié)果,僅保留有用的關(guān)注信息,給文本解碼留下更大預(yù)測空間??紤]到文本全局語義信息在文本分析中的重要性,本文在判別網(wǎng)絡(luò)上引入長短時記憶網(wǎng)絡(luò)[11]對輸入文本進(jìn)行編碼,以獲取文本的上下文依賴關(guān)系,然后將其與多窗口卷積神經(jīng)網(wǎng)絡(luò)的輸出進(jìn)行融合,為判別器提供更豐富的語義信息,增強(qiáng)生成器對文本全局語義的關(guān)注,從而提升生成文本的整體流暢度。在2個公開的真實數(shù)據(jù)集上的實驗結(jié)果顯示,和基準(zhǔn)方法相比本文方法在BLEU[12]值、NLLgen[13]指標(biāo)上均取得更好的性能表現(xiàn),表明模型能夠更好地捕獲文本的上下文依賴關(guān)系,有效學(xué)習(xí)文本的局部語義和全局語義,從而幫助生成器生成更為流暢的文本。
文本生成是自然語言處理中一項重要的基礎(chǔ)任務(wù),其發(fā)展經(jīng)歷了模塊化語言模型、統(tǒng)計語言模型,再到如今的基于深度學(xué)習(xí)的語言模型。目前,絕大多數(shù)基于深度神經(jīng)網(wǎng)絡(luò)的文本生成模型都采用基于編碼器-解碼器的結(jié)構(gòu)框架。主要的模型方法可以分為以下3類:基于變分自編碼器(variational auto-encoders,VAE)的語言生成模型、基于GAN的語言生成模型以及預(yù)訓(xùn)練語言模型。其中,基于VAE的語言生成模型將文本編碼成隱空間的概率分布,根據(jù)隱變量重構(gòu)原來的輸入來生成文本?;贕AN的語言模型通過生成網(wǎng)絡(luò)與判別網(wǎng)絡(luò)的對抗訓(xùn)練,實現(xiàn)對兩者的優(yōu)化。Kusner等[14]提出的Gumbel-Softmax分布采用近似采樣的方法來解決GAN中文本數(shù)據(jù)的離散問題,而SeqGAN[15]則采用強(qiáng)化學(xué)習(xí)[16]的方式將GAN成功運用于文本生成中。預(yù)訓(xùn)練語言模型主要通過堆疊Transformer的方式,衍生出GPT[17]、GPT2[18]、GPT3[19]。
類別文本生成作為文本生成的一個子任務(wù),要求生成的文本不僅要滿足文本流暢性、多樣性等需求,還要在文本的整體語義上體現(xiàn)出對應(yīng)的類別屬性。與文本生成類似,現(xiàn)有的研究工作主要基于VAE、GAN及其與預(yù)訓(xùn)練語言模型的結(jié)合。CVAE[20]構(gòu)建了一個先驗網(wǎng)絡(luò)和一個識別網(wǎng)絡(luò),通過識別網(wǎng)絡(luò)實現(xiàn)對文本屬性的約束。PPVAE[21]將VAE與預(yù)訓(xùn)練模型結(jié)合,它將文本生成模塊與條件表示模塊解耦,先預(yù)訓(xùn)練一個文本生成網(wǎng)絡(luò),再根據(jù)條件需要訓(xùn)練對應(yīng)的輕量級網(wǎng)絡(luò)作為模型的插件以指導(dǎo)對應(yīng)文本的生成。CSGAN[1]引入一個分類器來提供文本的類別信息,將類別信息與數(shù)據(jù)分布一同輸入到生成器中,采用強(qiáng)化學(xué)習(xí)進(jìn)行訓(xùn)練,迫使生成的文本能夠擬合真實的數(shù)據(jù)分布并且?guī)в休斎氲念悇e屬性。SentiGAN由多個生成器和一個多類別判別器組成,并使用判別器在生成器中建立一個基于懲罰的目標(biāo),緩解梯度消失現(xiàn)象,使每個生成器能夠生成帶有自己特定情感標(biāo)簽的文本。C-SentiGAN[22]則是在SentiGAN的基礎(chǔ)上引入條件編碼用于條件文本的生成。CatGAN在生成器中引入了層次進(jìn)化學(xué)習(xí)算法[23]對模型進(jìn)行訓(xùn)練,通過分階段訓(xùn)練使得生成文本能夠擬合真實數(shù)據(jù)分布,并且滿足文本多樣性要求。
總體而言,現(xiàn)有的類別文本生成研究中,大都通過將類別屬性進(jìn)行編碼,輸入到原始文本生成中,并通過引入分類器來實現(xiàn)對文本類別屬性的約束,文本生成正逐漸往可控的方向發(fā)展。然而,當(dāng)前模型中除了大型預(yù)訓(xùn)練語言模型能生成具有較好可讀性的文本,其他模型仍存在對文本語義信息、結(jié)構(gòu)信息等關(guān)注度不夠,生成的文本可讀性低的問題。
本文的模型總體結(jié)構(gòu)如圖1所示。該模型主要包括3個模塊:1)生成網(wǎng)絡(luò)Gθ,學(xué)習(xí)真實數(shù)據(jù)分布,結(jié)合類別信息生成包含對應(yīng)類別屬性的文本。2)判別網(wǎng)絡(luò)Dφ,分別對生成網(wǎng)絡(luò)生成的每個類別的文本進(jìn)行分析,區(qū)分生成文本與真實文本,將其作為學(xué)習(xí)的信號反饋給生成器,輔助生成器的優(yōu)化訓(xùn)練;生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)構(gòu)成了生成對抗網(wǎng)絡(luò),為本模型的主體結(jié)構(gòu)。3)模型優(yōu)化。采用基于層次進(jìn)化學(xué)習(xí)算法的優(yōu)化方式,首先將生成網(wǎng)絡(luò)n個溫變策略及m個目標(biāo)函數(shù)策略生成多個子網(wǎng)絡(luò),再利用判別網(wǎng)絡(luò)對這些子網(wǎng)絡(luò)的生成文本進(jìn)行判別,通過目標(biāo)函數(shù)F1和F2進(jìn)行2個階段的評價選擇,選出本輪最好的策略產(chǎn)生的生成子網(wǎng)絡(luò)Gθbest。
圖1 模型的總體架構(gòu)
本文采用基于關(guān)系記憶網(wǎng)絡(luò)RMC(relational memory core)[24]的生成網(wǎng)絡(luò),引入多頭自注意力實現(xiàn)文本對自身上下文的對齊,并引入雙重注意力[25]對注意力結(jié)果進(jìn)行進(jìn)一步過濾,減少噪聲,最后通過Gumbel-Softmax獲得文本的采樣輸出。具體網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 基于雙重注意力的生成網(wǎng)絡(luò)
2.2.1 基于雙重注意力機(jī)制的文本解碼
首先將上一時間步的預(yù)測詞yt-1通過嵌入層生成嵌入表示Eyt-1,然后將其與類別嵌入Ec進(jìn)行拼接,再通過線性轉(zhuǎn)換Wx,生成當(dāng)前時間步的輸入向量表示:
xt=[Eyt-1;Ec]Wx。
(1)
為了增強(qiáng)對生成文本長期依賴關(guān)系的記憶,引入記憶矩陣Mt來對文本的上下文信息進(jìn)行存儲。首先,將上一時間步得到的上下文信息Mt-1和當(dāng)前輸入xt進(jìn)行線性映射,構(gòu)成h組Query、Key和Value,采用多頭自注意力機(jī)制來實現(xiàn)文本序列對自身注意力的對齊。其中Mt-1WQ作為Query,[Mt-1;xt]WK和[Mt-1;xt]WV分別作為Key和Value。
(2)
式中,WQ∈Rn×dq,WK∈Rm×dk,WV∈Rm×dv,最終生成的多頭注意力結(jié)果為fatt。為了進(jìn)一步過濾掉無關(guān)信息,將注意力結(jié)果fatt傳入到雙重注意力模塊(attention on attention,AOA),通過與注意力查詢生成信息向量和一個注意力門,在原始多頭注意力上增加一個注意力以進(jìn)一步過濾掉無關(guān)的注意力結(jié)果,從而保留有用的信息,最終的注意力結(jié)果表示為fAOA。
fAOA=((fatt⊕I)?W1+b1)·σ((fatt⊕I)?W2+b2),
(3)
式中:I由上下文信息Mt-1和當(dāng)前輸入xt拼接后經(jīng)線性轉(zhuǎn)換獲得;W1和W2為線性轉(zhuǎn)換矩陣;b1和b2為偏置;σ為激活函數(shù)Sigmoid。然后,將獲取的經(jīng)過過濾的注意力信息經(jīng)多層感知操作(MLP),再經(jīng)LSTM門控機(jī)制,最終獲得當(dāng)前時間步的記憶矩陣Mt及輸出ot。
(4)
(5)
(6)
式中,ψ1和ψ2表示LSTM的門控機(jī)制操作。
2.2.2 基于RealFormer的文本解碼
為了增強(qiáng)注意力機(jī)制在生成網(wǎng)絡(luò)中的作用,本文對注意力模塊進(jìn)行了層次疊加。但是,網(wǎng)絡(luò)的加深會導(dǎo)致梯度不能很好地回傳,從而無法帶來模型性能的提升。同時,為了避免模型在注意力疊加時的梯度消失風(fēng)險,引入RealFormer(residual attention transformer)[26]結(jié)構(gòu),在原模型的注意力矩陣中加入殘差,使得第一層的注意力能夠傳到最后一層,避免了模型梯度消失的風(fēng)險。具體模型單元如圖3所示。
圖3 基于RealFormer的生成網(wǎng)絡(luò)單元
因此,式(2)的注意力計算改為:
fatt(n)=Softmax(A(n))([Mt-1;xt]WV)(n);
(7)
(8)
2.2.3 基于Gumbel-Softmax的近似采樣
(9)
(10)
本文的判別網(wǎng)絡(luò)將特征提取分為2個模塊:基于LSTM的全局特征提取和基于CNN的局部特征提取,然后將2個模塊的特征提取結(jié)果進(jìn)行融合和過濾,最后將特征結(jié)果用于文本的判別。具體網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
圖4 基于多重特征提取的判別網(wǎng)絡(luò)
2.3.1 特征提取
由于CNN具有強(qiáng)大的局部特征捕獲能力,本文采用不同尺寸的濾波器對每個生成樣本和真實樣本進(jìn)行特征提取。為了保證每個句子長度一致,將所有樣本中最長的句子長度設(shè)為句子長度l,即每個句子由l個詞的詞向量組成的矩陣表示,設(shè)每個詞的詞向量維度為lw,則句子的矩陣表示為S∈Rl×lw。使用窗口大小為W∈Rh×1的濾波器來對句子矩陣進(jìn)行卷積操作,獲得對應(yīng)的特征fi。
fi=ReLU(S?W+b)。
(11)
通過不同大小的濾波器,最終獲得關(guān)于句子的一系列特征。然后,分別對每個特征進(jìn)行最大池化操作,保留該特征下的最顯著特征。最后,將經(jīng)過最大池化后的各個濾波器的特征進(jìn)行拼接,獲得最終的特征表示f。
為了提取更全面的語義信息,本文采用LSTM對句子進(jìn)行編碼,以獲取句子中詞與詞之間的上下文依賴關(guān)系,從而彌補(bǔ)卷積神經(jīng)網(wǎng)絡(luò)無法充分捕獲文本全局語義信息的不足。將文本的嵌入表示輸入LSTM中,取其最后的隱藏狀態(tài)hn作為文本的全局特征表示。
2.3.2 特征融合與過濾
將獲取的局部語義特征f和全局語義特征h進(jìn)行融合,獲得包含文本完整語義特征的特征表示z。
z=ReLU(f+hn)。
(12)
為了充分利用文本高低層次的語義特征,同時避免梯度信息回流受阻,引入高速網(wǎng)絡(luò),通過門控的方法控制每層網(wǎng)絡(luò)中的信息傳輸,使更多梯度信息可以回傳。
本文采用與CatGAN一樣的層次進(jìn)化學(xué)習(xí)算法對生成器進(jìn)行優(yōu)化。在每一次對抗訓(xùn)練過程中,生成模型首先通過不同突變策略產(chǎn)生多個子模型Gθ1,Gθ2,…,Gθnm。接著,對每一目標(biāo)函數(shù)策略下不同方向的溫變策略進(jìn)行評估,選擇出每一目標(biāo)函數(shù)策略中最優(yōu)的一個子模型。然后,再在所選擇出的m個子模型中,通過各個模型生成的文本進(jìn)行模型性能的評估,選擇出最優(yōu)的一個Gθbest替換當(dāng)前的生成模型。
(13)
式中:n為溫變策略的種數(shù);m為目標(biāo)函數(shù)策略的種數(shù);nm為突變策略的總數(shù)。在2個階段的模型評價中,采用F1和F2來進(jìn)行模型性能的評價。第一階段的評價函數(shù)F1主要對文本的生成質(zhì)量進(jìn)行評價。
(14)
(15)
式中:Yθ表示生成網(wǎng)絡(luò)生成的樣本;Yr表示真實樣本;Pθ表示生成樣本的數(shù)據(jù)分布;Pr表示真實樣本的數(shù)據(jù)分布;Dφ(Y)為判別器對樣本Y的判別結(jié)果。第二階段的評價中,考慮到在提高文本質(zhì)量的同時,應(yīng)保持文本的多樣性,防止生成的文本趨于一致。因此,在第二階段的評價函數(shù)F2中加入了多樣性指標(biāo)來平衡兩者之間的關(guān)系,具體公式為
(16)
最后,根據(jù)新的生成模型生成的樣本及真實樣本采用RaGAN[27]的目標(biāo)函數(shù)對判別模型進(jìn)行更新。
為了對模型的有效性進(jìn)行驗證,本文采用2個公開數(shù)據(jù)集:電影評論數(shù)據(jù)集(MR)[28]和Amazon Review數(shù)據(jù)集(AR)[29]進(jìn)行實驗。其中,MR數(shù)據(jù)集是經(jīng)過斯坦福解析器解析電影評論語料庫所獲得的情感文本數(shù)據(jù)集,包含消極和積極2種情感極性的文本;Amazon Review數(shù)據(jù)集由亞馬遜用戶的評論構(gòu)建而成,該數(shù)據(jù)集包含書本、手機(jī)及配件、電子音樂、應(yīng)用等各類商品的評價,文中的AR數(shù)據(jù)集為從原Amazon Review數(shù)據(jù)集獲取的僅包含書本和應(yīng)用2種類型評論的子數(shù)據(jù)集。數(shù)據(jù)集的具體信息如表1所示,其中MR數(shù)據(jù)集的消極評論文本表示為type0,積極評論文本表示為type1;AR數(shù)據(jù)集的書本評論文本表示為type0,應(yīng)用評論文本表示為type1。
表1 數(shù)據(jù)集的統(tǒng)計信息
為了驗證本文提出的類別文本生成模型的有效性,本文選取SentiGAN[8]模型、CSGAN[1]模型以及CatGAN[9]模型作為基準(zhǔn)模型。它們作為基于生成對抗網(wǎng)絡(luò)的文本生成模型,在類別文本生成任務(wù)中取得了優(yōu)秀的性能,模型的具體描述如下:
SentiGAN模型使用多個生成器和一個多類別判別器,每個生成器生成帶有自己特定情感標(biāo)簽的文本。首先,將多個生成器同時進(jìn)行訓(xùn)練, 使其能夠在無監(jiān)督的情況下生成不同情緒標(biāo)簽的文本;然后使用判別器在生成器中建立一個基于懲罰的目標(biāo), 使得每個生成器能夠生成帶有自己特定情感標(biāo)簽的文本。
CSGAN模型由一個生成器、一個判別器和一個分類器構(gòu)成。在GAN的基礎(chǔ)上引入一個分類器來提供文本的類別信息,將類別信息與數(shù)據(jù)分布一同輸入到生成器中,采用強(qiáng)化學(xué)習(xí)進(jìn)行訓(xùn)練,迫使生成的文本能夠擬合真實的數(shù)據(jù)分布并且?guī)в休斎氲念悇e屬性。
CatGAN模型采用Gumbel-Softmax以近似采樣的方法解決離散數(shù)據(jù)不可導(dǎo)問題,并在生成器中引入關(guān)系記憶核心,在擴(kuò)大記憶容量的同時更好地捕獲文本的長程依賴關(guān)系。此外,還引入層次進(jìn)化學(xué)習(xí)算法對模型進(jìn)行訓(xùn)練,通過分階段的訓(xùn)練使得生成文本能夠擬合真實的數(shù)據(jù)分布,并且滿足文本多樣性要求。
遵循現(xiàn)有工作的做法,本文從生成文本的質(zhì)量、多樣性等各個方面對模型進(jìn)行有效性驗證。在生成文本的多樣性評價上,采用了NLLgen和NLLdiv指標(biāo),NLLgen的取值與文本的多樣性成負(fù)相關(guān),而NLLdiv與文本多樣性成正相關(guān);在生成文本的質(zhì)量評價上,采用了機(jī)器翻譯的常用指標(biāo)BLEU。
NLLgen=-Yr~Pr[logPθ(r1,r2,…,rT)],
(17)
NLLdiv=-Yθ~Pθ[logPθ(y1,y2,…,yT)]。
(18)
BLEU值的計算采用基于詞重疊率的方法。
(19)
(20)
(21)
式中:lθ為生成的候選句子的長度;lr為參考句子的長度;Wn為1/N, 本文中的N取值為2、3、4、5;i表示生成的候選句子Yθ中的n-gram;hi(Yθ)表示n-grami在Yθ中出現(xiàn)的次數(shù);hi(Yrj)表示n-grami在第j個參考句子中出現(xiàn)的次數(shù)。
本文的模型主要包含一個生成器和一個判別器模型,具體參數(shù)設(shè)置如表2所示。訓(xùn)練過程主要分為預(yù)訓(xùn)練階段和對抗訓(xùn)練階段。預(yù)訓(xùn)練階段采用MLE將生成器預(yù)訓(xùn)練到一個較好的狀態(tài),采用Adam優(yōu)化算法進(jìn)行學(xué)習(xí),學(xué)習(xí)率設(shè)為0.05,總輪數(shù)設(shè)為150;對抗訓(xùn)練階段,同樣采用Adam優(yōu)化算法對生成器和判別器的網(wǎng)絡(luò)參數(shù)進(jìn)行更新,學(xué)習(xí)率均設(shè)為0.000 1,網(wǎng)絡(luò)迭代的最大輪數(shù)設(shè)為2 000。
表2 實驗中的參數(shù)設(shè)置
為了驗證本文方法的有效性,分別在MR數(shù)據(jù)集和AR數(shù)據(jù)集上展開實驗,表3和表4分別展示了模型在真實數(shù)據(jù)集MR和AR上的實驗結(jié)果。各個評價指標(biāo)的結(jié)果均取所有類別對應(yīng)結(jié)果的調(diào)和平均值,并取多次實驗的平均結(jié)果為最終結(jié)果。其中,CatGAN-AL表示2.2.1節(jié)提出的基于雙重注意力的生成網(wǎng)絡(luò)和基于LSTM和CNN的判別網(wǎng)絡(luò)組成的生成對抗網(wǎng)絡(luò);RealGAN-AL表示2.2.2節(jié)提出的基于RealFormer的生成網(wǎng)絡(luò)和基于LSTM和CNN的判別網(wǎng)絡(luò)組成的生成對抗網(wǎng)絡(luò)。
表3 模型在MR數(shù)據(jù)集上的實驗結(jié)果
表4 模型在AR數(shù)據(jù)集上的實驗結(jié)果
從實驗結(jié)果可以看出,與基準(zhǔn)方法相比,本文的方法能夠較好地捕獲文本的上下文依賴關(guān)系,使生成的文本具有更高的流暢度,并且能夠在一定程度上緩解在文本質(zhì)量提升時存在文本趨于一致性的問題,保持文本的多樣性。具體如下:
在MR數(shù)據(jù)集上,CatGAN-AL模型在4個BLEU指標(biāo)上均取得了0.007以上的提升,在NLLgen指標(biāo)上也取得了0.467的提升,在多樣性NLLdiv指標(biāo)上,也取得了與當(dāng)前最好結(jié)果相近的結(jié)果。RealGAN-AL模型在4個BLEU指標(biāo)上都取得了0.01以上的提升,在多樣性NLLdiv指標(biāo)上取得了0.037的提升。這表明本文方法不僅能夠豐富文本的語義信息,而且可以過濾掉生成過程中的無關(guān)信息,在提升文本質(zhì)量的同時保持文本的多樣性。
在AR數(shù)據(jù)集上,CatGAN-AL模型在4個BLEU指標(biāo)上都取得了0.004以上的提升,在NLLgen指標(biāo)上也取得0.430的提升。RealGAN-AL模型在4個BLEU指標(biāo)上都取得了0.003以上的提升,在NLLgen指標(biāo)上取得0.312的提升。這表明本文方法在長文本上依然具有良好的捕獲文本上下文依賴關(guān)系的能力。對于多樣性NLLdiv指標(biāo)的性能下降,我們認(rèn)為問題在于AR數(shù)據(jù)集中文本的長度較長,最長的文本長度為41,在提升文本整體流暢度的同時會損失較多的多樣性;此外,長文本中包含更多信息量,在文本的生成過程中自注意力機(jī)制會關(guān)注到更多的信息,即使引入雙重注意力機(jī)制對無關(guān)信息進(jìn)行進(jìn)一步過濾也未能起到明顯的作用。但是,RealGAN-AL模型相對于CatGAN-AL模型有0.146的提升,這也表明了注意力的增強(qiáng)能夠幫助消除解碼過程的噪聲,提升生成文本的多樣性。從總體上看,本文方法能夠在提升長文本流暢度上取得更好的性能。
為了驗證模型各個模塊的有效性,本文在MR數(shù)據(jù)集和AR數(shù)據(jù)集上進(jìn)行消融實驗。其中,w/o AOA表示去除CatGAN-AL模型生成器中的雙重注意力模塊;w/o LSTM表示去除CatGAN-AL模型判別器中基于LSTM的全局語義特征提取模塊。各個評價指標(biāo)的結(jié)果均取所有類別對應(yīng)結(jié)果的調(diào)和平均值,并取多次實驗的平均結(jié)果為最終結(jié)果。表5和表6分別展示了CatGAN-AL模型在2個數(shù)據(jù)集上的消融實驗結(jié)果。
表6 模型在AR數(shù)據(jù)集上的消融實驗結(jié)果
通過消融實驗可以看出,雙重注意力模塊和全局特征提取模塊的共同引入,能夠讓模型有更好的表現(xiàn)。雙重注意力模塊能夠在文本質(zhì)量提升的同時保持文本的多樣性,防止生成的文本趨于一致性;基于LSTM的全局特征提取能夠提升生成樣本的BLEU值,特別是BLEU-4和BLEU-5,表明全局特征提取模塊可以使模型關(guān)注到文本的上下文依賴關(guān)系,達(dá)到提升生成文本流暢度的目的。從總體結(jié)果上看,本文的方法能夠在提升生成文本流暢性的同時保持一定的文本多樣性,證明了模型中雙重注意力模塊和全局特征提取模塊的有效性。
評價函數(shù)F2中λ值為平衡生成文本質(zhì)量和多樣性的權(quán)重系數(shù)。為了研究λ取值對模型性能的影響,本文在CatGAN-AL模型上嘗試使用[0.000 1,1]區(qū)間不同λ值在2個數(shù)據(jù)集上分別進(jìn)行實驗,實驗結(jié)果如表7、表8所示。
表7 模型在MR數(shù)據(jù)集上的參數(shù)分析結(jié)果
表8 模型在AR數(shù)據(jù)集上的參數(shù)分析結(jié)果
從上述實驗可以看出,隨著λ值的增大,模型更加關(guān)注生成文本的多樣性,在NLLgen和NLLdiv指標(biāo)上取得較好的結(jié)果;但是,同時也削弱了對文本質(zhì)量的關(guān)注,在BLEU值上有所下降。因此,為了平衡生成文本的多樣性和流暢性,本文實驗中將λ設(shè)為0.01。
本文提出一種融合局部語義特征和全局語義特征的判別方法,該方法通過對文本局部特征和全局特征進(jìn)行提取,使得在獲取文本關(guān)鍵信息的同時能夠關(guān)注文本的上下文依賴關(guān)系,增強(qiáng)判別器對文本上下文依賴的關(guān)注,迫使生成器能夠關(guān)注整體語義,生成流暢度更強(qiáng)的文本。此外,本文在生成器的多頭注意力上疊加了一個雙重注意力,幫助生成器過濾掉無關(guān)信息,保留更大的空間用于預(yù)測文本的生成。同時,引入殘差注意力實現(xiàn)注意力的疊加,增強(qiáng)了注意力的作用效果。通過實驗驗證,本文的方法能夠充分捕獲文本的整體語義,在文本的整體流暢度上有較大的提升。未來工作將繼續(xù)研究如何在提升文本質(zhì)量和保持文本類別正確性的前提下,提高文本的多樣性。