世俱杯规则-虎牙直播-比利亚vs西班牙人-德国杯|www.cnyhmy.com

自動擴充關鍵詞語義信息的詩歌生成算法

時間:2024-10-15 18:45:02 來源:網友投稿

王勇超,周靈智,趙亞萍,許端清

1.浙江大學 信息技術中心,杭州310027

2.浙江大學 計算機科學與技術學院,杭州310027

中國詩歌是中華傳統文明的瑰寶。它使用簡潔的語言卻能夠表達豐富的蘊意,成為最具代表性的中國傳統文本形式之一。然而,大多數人由于缺少專業訓練,缺乏在長度有限且格式受限的文本中表達豐富情感的能力。因此,研究如何利用計算機自動生成詩歌吸引了越來越多研究人員的注意。

近年來,神經網絡因其強大的歸納推理能力得到了越來越廣泛的應用。2014 年,Zhang 等人[1]首次使用了循環神經網絡生成中國詩歌,獲得了優于傳統方法[2]的效果。后續不少研究人員針對格式控制、語句通順、主題一致性等問題,在Zhang等人[1]的模型基礎上做相應的改進。為了更嚴格地控制詩歌的生成格式,Wang等人[3]提出使用注意力機制[4]規范生成詩歌的樣式。Yan 等人[5]針對語句不通順問題,提出了迭代生成模型逐步提高生成詩歌的質量。為了解決生成詩歌無法在整首詩保持主題一致性這一問題,Wang等人[6]設計了計劃框架,能夠為詩歌的每一行設計一個與主題相關的子關鍵詞,從而保證整首詩行與行之間緊密的聯系。Zhang等人[7]提出用神經記憶機制有效增加模型的創造性,一定程度克服了循環神經網絡傾向于學習一般范式的缺陷。受到認知心理學相關理論的啟發,Yi等人[8]提出工作記憶機制,維持了有限的歷史信息并選擇部分信息用于當前行的生成,平衡了主題一致和創造性之間的矛盾。

2013 年,Kingma 等人[9]提出了一種全新的生成模型——變分自編碼器。隨著Bowman 等人[10]證實變分自編碼器的隱變量能夠學習文本的全局語義信息,變分自編碼器的變種——條件變分自編碼器(conditional variational autoencoder,CVAE)[11]開始在文本生成任務得到應用。條件變分自編碼器不僅能夠將文本的全局語義信息表達為隱變量,而且能夠在特定條件下生成對應文本。2018 年,Yang 等人[12]提出使用條件變分自編碼器的隱變量控制詩歌每一行表達的主題,在主題一致性方面獲得了優于循環神經網絡的結果。與Yi等人[8]類似,Li等人[13]將對抗學習和條件變分自編碼器相結合,提高了生成詩歌的新奇性和主題一致性。Yang等人[14]關注到特定情感在詩歌創作的重要地位,他們提出了半監督的條件變分自編碼器用于詩歌的情感控制。Yi 等人[15]將歷史背景和生活經歷等視為隱變量的影響因素,通過控制影響因素的設置生成不同的詩歌,有效增加了生成詩歌的多樣性。

然而以上列舉的所有詩歌生成模型都遵循了Zhang 等人[1]對詩歌生成問題的定義:模型根據用戶提供的關鍵詞生成詩歌。關鍵詞由有限數量的字符或詞組成,一般為2~6個字符。這導致生成詩歌的字符數是關鍵詞字符數的兩倍以上。Yang等人[16]認為字符數量的巨大差距導致模型輸入和模型輸出的語義信息差距過大,進而給詩歌生成模型帶來了過翻譯問題:某些字或詞會無意義地連續出現,一般為兩次。然而,詩歌創作手法之一疊詞的表現形式和過翻譯問題的表現形式一致,無法簡單地根據語法規則進行分辨。疊詞可以增加詩歌的韻律性和節奏感,因此單純在模型生成過程中加以限制字符或詞的重復次數,雖然能夠緩解過翻譯問題,但也會導致疊詞的消失,降低詩歌的美感。

為了解決這一問題,本文提出了一種新的生成模型,該模型在人類創作的詩歌中采樣與關鍵詞相關的詩歌,并利用全概率公式將采樣詩歌引入到對條件變分自編碼器先驗概率分布的計算中。通過將采樣詩歌引入到模型生成過程,該模型自動擴充了關鍵詞的語義信息,克服了輸入和輸出語義信息規模嚴重不匹配的問題,能在一定程度上消除過翻譯問題的出現。同時,模型通過借鑒采樣詩歌能夠學會疊詞在詩歌創作的正確使用,從而在有效避免無意義重復詞出現的同時,保證了詩歌的節奏感和韻律性。Bandura[17]認為寫作需要學會觀察其他學習者,本文的模型以該思想為基礎,通過觀察人類創作詩歌的方法,能夠創作出更符合人類用詞習慣和美學觀念的詩歌。

本文的主要工作可以概括為以下三方面:(1)提出了新穎的詩歌生成方法,通過借鑒詩人所作的詩歌,既緩解了過翻譯問題,也保留了疊詞在生成詩歌中的使用。(2)利用全概率公式和蒙特卡洛方法將模仿人類詩人寫詩這一抽象行為轉化為對條件變分自編碼器先驗概率分布的求解。(3)實驗證明了本文提出的方法無論在自動評估標準還是人類評估標準方面都優于其他的基礎模型。

1.1 模型概述

本文將一首詩記作x,把xi視為詩歌的第i行,從而xi,j代表了一首詩的第i行第j個字符。本文使用c、s分別表示關鍵詞和采樣詩歌。

本文模型目標是最大化lnpθ(x|c),其中θ代表pθ(x|c)的參數。通過引入隱變量z試圖學習全局語義表達,因此lnpθ(x|c)可表示為:

遵循Kingma 等人[9]提出的方法,本文采用變分估計方法擬合真實分布lnpθ(x|c)。變分估計方法通過訓練變分下限L(c,x)間接優化lnpθ(x|c),具體表現形式如下:

其中,qγ(z|c)表示隱變量z的先驗概率分布,pφ(z|c,x)表示隱變量z的后驗概率分布,pη(x|c,z)可看作詩歌生成器,KL(·)表示KL 散度,被用來衡量兩個概率分布之間的相似度。隨著模型不斷的迭代訓練,KL(·)項變小,qγ(z|c)和pφ(z|c,x)兩者之間的差異性也越來越小。

然而,qγ(z|c)只利用了關鍵詞信息,模型所能使用的語義信息過少,生成詩歌容易出現過翻譯問題,即字符無意義地重復多次。擴充關鍵詞語義信息能夠緩解過翻譯問題,因此需要引入更多和關鍵詞相關的信息。

區別于一般的條件變分自編碼器,本文使用全概率公式和蒙特卡洛方法進一步展開qγ(z|c),從而引入和關鍵詞相關的詩歌信息,可得:

其中,s表示根據概率分布p(x|c)從詩歌庫中采樣的詩歌。通過式(3),計算隱變量z的先驗概率分布需要經歷兩個步驟:(1)采樣k首詩歌;
(2)根據采樣詩歌計算qγ(z|c)。

為了模型的訓練方便,傳統的CVAE 模型將qγ(z|c)和pφ(z|c,x)都假設協方差矩陣為對角矩陣的高斯概率密度函數。由于本文對CVAE 模型的優化函數作了改動,假定p(z|c,s)是協方差矩陣為對角矩陣的高斯概率密度函數,將qγ(z|c)看作高斯混合模型。本文希望找尋一個各維度獨立的高斯密度函數q(z|c),它和qγ(z|c)之間的差異能夠充分小,即它們之間的KL 散度能夠足夠小。由于q(z|c)和qγ(z|c)之間的KL散度難以計算,需要進行額外的轉換從而減小計算的復雜度:

根據式(4)和式(5),本文能夠通過設置合適的參數讓K(c,s)足夠小,從而間接地減小q(z|c)和qγ(z|c)之間的KL 散度。

為了進行下一步有效推導,需要先定義一些參數。假定q(z|c,x) 的期望和方差分別為μ和σ,p(z|c,s)的期望和方差分別為μs和σs,隱變量z的維度表示為J,從而式(5)可以進一步推導為:

根據式(6)分別對μ和σ求偏導得到以下結果:

將式(7)置零,從而求得K(c,s)極點對應的μ和σ:

假定μs,j的定義域為(a,b),的定義域為(c,d),將式(8)和式(9)代入K(c,s)可求得如下不等式:

因此,如果本文設置適當的超參數J、a、b、c、d,可以獲得一個高斯分布q(z|c),它和目標高斯分布qγ(z|c)的KL 散度小于一個較小的常數上限。

模型的主要框架如圖1 所示。本文把模型分為三部分:先驗部分、后驗部分和生成器。模型在先驗部分通過關鍵詞采樣更接近用戶需求的詩歌(采樣過程如圖2 所示),并通過兩者計算隱向量的先驗概率分布。后驗部分使用關鍵詞和相應詩歌計算隱變量的后驗概率分布。先驗概率分布和后驗概率分布在訓練過程中差異變小。生成器通過隱變量(訓練時為后驗部分隱變量,測試時為先驗部分隱變量)、關鍵詞生成目標詩歌。

圖2 基于關鍵詞的采樣過程Fig. 2 Keyword-based sampling process

1.2 先驗概率計算

詩歌生成任務的CVAE 模型通常使用循環神經網絡學習關鍵詞的語義表達,并將語義表達作為單層的全連接神經網絡的輸入,進而計算先驗概率分布。本文提出的模型根據采樣詩歌計算先驗概率分布,與傳統的先驗概率分布計算方式存在較大差異。為了采樣人類創作的詩歌,本文需要預訓練去噪自編碼器模型。本文采用了兩個雙向遞歸神經網絡(分別記作Gp和Gc),將Gp和Gc的前向隱向量和后向隱向量連接,從而得到hp和hc,hp和hc各自對應詩歌和關鍵詞的語義表達。然后連接hp和hc并加入隨機噪聲,作為生成器的輸入。當去噪自編碼器模型訓練完成后,本文使用關鍵詞語義向量hc幫助采樣詩歌。

任意一首人類創作詩歌都對應著一個關鍵詞。存儲了詩歌庫中所有詩歌對應的關鍵詞語義向量hc,并將其記作Hc。模型通過關鍵詞c對應的語義向量hc,計算概率分布p(x|c):

另外,本研究中僅采用免疫組化SP法檢測PDCD4陽性表達情況,未能進行定量分析,后續研究宜采用逆轉錄-聚合酶鏈反應(RT-PCT)法對PDCD4在EOC組織中的表達情況進行定量分析。

模型根據式(8)和式(9)計算先驗分布q(z|c,x)的μprior和σprior,然后使用重參數技巧采樣隱向量z。

1.3 后驗概率計算

與計算先驗分布類似,本文使用同樣的方法采樣符合后驗分布的隱向量z。

1.4 生成器

本文的生成器結構參考了Yan 等人[5]的工作,并在其基礎上做了部分的改動。本文使用GRU作為基礎的生成器,相比Recurrent Neural Network能更好地傳輸語義。具體計算過程如下:

其中,xi,j表示詩歌第i行第j個字符,e(·)表示嵌入向量,[;]表示向量的連接運算,oi是控制當前生成行長度的獨熱向量,[1,0]表示行長度為5,[0,1]表示行長度為7,gi表示上下文語義向量。

本文進一步說明如何計算gi。對gi的計算類似于卷積神經網絡,定義窗口大小為d,因此gi的計算可表示為:

2.1 數據集

本文的實驗主要在THU-CCPC(THU Chinese classical poetry corpus)[18]上進行。THU-CCPC 被分成訓練、驗證和測試三個數據集,且每首詩都有作者、朝代及相應關鍵詞信息。THU-CCPC 數據集情況如表1所示。

表1 數據集概況Table 1 Dataset overview

2.2 基線模型

為了更好地探索模型的性能,需要選擇一些基礎模型和本文所提出的模型進行對比。這些模型需要有一定程度的代表性且和本文模型有一定的關聯性。因此,本文選擇了以下幾種模型開展對比:

(2)Seq2seq+mem 模型。Zhang 等人[7]提出的一種模型,該模型使用神經記憶機制試圖克服Seq2seq模型缺乏創造力的缺點。他們將一些詩歌存儲起來幫助模型生成詩歌,該模型的思想和本文提出的模型具有一定的相似性,和該模型的對比是必要的。

(3)CVAE模型。CVAE模型近幾年來被廣泛應用于文本生成任務,九歌系統大量使用了該類模型[14-15,18]。本文的模型可看作CVAE的變種,需要通過對比實驗研究本文在CVAE模型上做的改變所帶來的優缺點。

(4)CVAE+mem 模型。本文將mem 機制運用于CVAE模型,從而更好地比較mem機制和基于采樣的CVAE模型的優劣。

2.3 評價標準

為了公正地評價生成的詩歌,本文需要使用一些評價標準:

首先使用了機器翻譯指標BLEU(bilingual evaluation understudy)[19]。BLEU 評價指標被廣泛應用于機器翻譯領域,用來衡量真實結果和機器翻譯結果的差異。由于詩歌生成和機器翻譯存在一定的相似性,之前的很多工作也大量使用BLEU 來評價生成詩歌的質量。

其次采用了疊詞相似度(repetition similarity)來進行評價。本文模型的目的是為了解決疊詞和無意義重復之間的矛盾,因此需要定義相關的評價標準。本文分別統計測試集和模型生成詩歌從每個位置開始出現連續兩個字符的頻率,并把每個位置當作一個維度,從而得到兩個向量表達。計算兩個向量的余弦相似度,衡量真實結果和生成詩歌之間的差異。假定真實結果不存在無意義的重復,因此余弦相似度越大越符合本文的目標。

最后采用了人類評估的方式來予以評價。詩歌創作是人類創造力的體現,完全采用自動評估標準評價詩歌質量存在缺陷。為了更好地衡量模型之間的差異,邀請詩歌領域的10 名專家來評估生成詩歌的質量。出于公平的考慮,他們并不知道評價的詩歌由哪個模型生成。遵循之前相關工作的定義,要求專家從四方面評價詩歌:一致性、流利度、意義和詩意(具體細節可見表2)。每方面的打分范圍都為0~5,分數越高表示效果越好(打分值可取小數點后一位)。將10 名專家在每個標準的打分分別求均值得到最終的人工評估結果。

表2 人類評估標準Table 2 Human evaluation standard

2.4 自動評估結果分析

表3 記錄了不同模型生成詩歌的自動評估結果。值得一提的是,將本文所提出的模型命名為S-CVAE(條件變分編碼器的采樣版本)。

由于CVAE 在語義表征方面優于Seq2seq 模型,相較于Seq2seq 和Seq2seq+mem 在BLEU 指標上表現得更好。本文不再討論S-CVAE和Seq2seq模型以及Seq2seq+mem在BLEU分數的對比,因為S-CVAE從某種意義上來說從屬于CVAE模型。S-CVAE相較于CVAE 在BLEU 指標略有優勢,這是因為S-CVAE能夠減少無意義重復詞的產生,從而提高詩歌的生成質量。S-CVAE 在BLEU 指標分數最高,在疊詞相似度指標上卻比CVAE+mem 和Seq2seq+mem 表現得要差。因此本文重點討論S-CVAE 和mem 機制的對比。

mem 機制在部分思路上和本文的模型相似,試圖探索mem 機制和S-CVAE 對生成詩歌的不同影響。通過觀察實驗結果作出以下推論:

(1)mem機制能夠緩解過翻譯問題。根據表3的實驗結果,發現無論是將mem機制與Seq2seq模型或CVAE 模型結合,都能夠顯著提升疊詞相似度指標。mem機制根據人類創作詩歌在每個位置的詞頻調整詩歌的生成,從而讓生成詩歌符合一般的用詞規律。因此,mem機制既能緩解過翻譯問題,也能維持疊詞的使用。

(2)mem機制會破壞詩歌的生成質量。從表3中發現Seq2seq+mem 在BLEU 分數上比Seq2seq 模型還要低,是BLEU分數最低的基準模型。mem機制通過詩歌每個位置的字頻調整生成字符的概率分布,從而減少了無意義重復字符的產生。然而mem機制無法保證所參考的詩歌和用戶提供關鍵詞有關,甚至存在參考詩歌和用戶提供關鍵詞完全相背的情況。當mem機制根據完全無關的詩歌調整目標詩歌的生成,不可避免地會讓生成詩歌和關鍵詞匹配度下降,從而降低了BLEU分數。

(3)S-CVAE在緩解過翻譯問題方面略遜于mem機制。表3 顯示S-CVAE 在疊詞相似度指標高于CVAE 模型,符合對該模型的預期。與CVAE 相比,本文模型在輸入信息中增加了采樣詩歌,大大增加了輸入的語義信息規模,從而緩解了過度翻譯問題,減少了無意義重復字符的產生。然而,S-CVAE先將采樣詩歌和用戶提供關鍵詞壓縮成隱向量,再借由LSTM(long short-term memory)神經網絡解壓成生成詩歌,在壓縮和解壓的過程中不可避免地帶來了信息丟失的問題。而mem 機制直接將softmax 層計算的生成詞概率分布通過詩歌庫對應位置的詞頻進行調整,保留了更多的信息,能夠更好地抑制無意義重復詞的產生。

(4)S-CVAE 能夠在緩解過翻譯問題的同時,保證詩歌的流暢性。可以把S-CVAE 看作mem 機制的泛化形式。mem 機制直接通過詞頻調整詩歌的生成,可能帶來了完全與當前關鍵詞無關的信息,干擾了詩歌的生成質量。本文的模型先通過語義相似程度對詩歌庫中的詩歌做了初步過濾,并利用上述所推導的公式進一步調整了采樣詩歌對生成過程的影響程度,從而讓生成詩歌與關鍵詞語義一致。mem機制強行讓生成詞的概率函數接近詩歌庫中的詞頻,破壞了生成字符和關鍵詞語義的匹配程度。而S-CVAE對生成字符的調整較為平滑,能夠在一定程度上糾正CVAE模型的過翻譯問題,并能夠保證生成詩歌的流暢性。

2.5 人工評估結果分析

表4 記錄了不同模型生成詩歌的人工評估結果。人工評估的結果和自動評估的結果高度一致,SCVAE在一致性、流利度兩個指標明顯高于其他的基線模型,這是因為S-CVAE會事先通過關鍵詞采樣最相關的詩歌,通過采樣詩歌指導詩歌生成過程,和之前的模型相比能夠提取更多的語義,更好地在詩歌生成過程中保持語義的一致性。并且,S-CVAE克服了輸入信息和輸出信息語義規模的巨大差距并從采樣詩歌中學習到了更豐富的語義信息,從而緩解了過翻譯問題。雖然mem機制能夠用粗暴的方法減少無意義重復詞的產生,然而它也在緩解過翻譯問題的同時,引入了大量無關的信息甚至有害的信息,破壞了生成詩歌的流利度以及一致性。人工評估的結果再一次佐證了對mem 機制和S-CVAE 之間的分析。圖3 和圖4 展示了S-CVAE 模型的生成結果,從直觀上展現了模型在一致性和流利度取得的進展。

表4 人工評估標準模型對比Table 4 Human evaluation comparison of standard models

圖3 S-CVAE七言古詩生成示例Fig. 3 Seven-character ancient poem generation example of S-CVAE

圖4 S-CVAE五言古詩生成示例Fig. 4 Five-character ancient poem generation example of S-CVAE

2.6 風格化分析

為了進一步探索采樣對生成詩歌的影響,本文對不同詩人創作的詩歌采樣,比較生成詩歌風格之間的差異性。以李白和杜甫為例,模型使用相同關鍵詞分別采樣李白和杜甫的詩歌。統計李白和杜甫詩作中TF-IDF 最高的20 個字符,分別記作集合A李白和A杜甫。對生成詩歌執行同樣的操作,記作B李白和B杜甫。使用Jaccard系數(|A∩B|/|A∪B|)衡量生成詩歌與真實詩歌風格之間的相似性,實驗結果如表5所示。表5證實了采樣范圍的不同會影響生成詩歌的風格。

表5 Jaccard系數Table 5 Jaccard coefficient

使用圖5 和圖6 兩個具體示例進一步佐證采樣策略的不同對生成詩歌風格的影響。

圖5 帶有李白風格的生成古詩Fig. 5 Generative ancient poems with Li Bai style

圖6 帶有杜甫風格的生成古詩Fig. 6 Generative ancient poems with Du Fu style

圖5和圖6所示古詩都以明月作為關鍵詞,卻表現出不同的意境。圖5的詩歌采樣李白詩作,表現出灑脫浪漫的情懷,而圖6 的詩歌采樣杜甫詩作,表達了哀愁憂傷的情感。

本文提出了一種基于采樣的條件變分自編碼器算法。它能夠緩解過翻譯問題,減少無意義重復詞的產生,從而生成質量更高的詩歌,自動評估結果證明了方法的有效性。同時,本文根據自動評估結果進一步分析了S-CVAE 模型和mem 機制對生成詩歌過程的不同影響,人工評價標準也佐證了分析的準確性。風格化分析進一步顯示了采樣對于詩歌生成的巨大影響,通過采樣不同詩人的作品,能夠在相同關鍵詞的條件下表現出不同的風格。然而,S-CVAE在意義和詩意這兩方面仍有進步空間。這是因為SCVAE雖然采樣了和關鍵詞匹配的詩歌,保證了生成詩歌和關鍵詞的高度一致性,卻在一定程度上忽略了詩歌和詩歌之間表達語義方式不匹配的問題。部分詩歌表達情感的方式較為含蓄,部分詩歌表達情感的方式比較直白,導致生成詩歌的表達方式出現割裂。表達方式的割裂讓生成詩歌的理解難度有了一定的提高,且無法充分體現詩歌中心思想的層層遞進,造成意義表達不夠明確,同樣的問題也出現在mem 機制中。未來,可以結合半監督的條件變分自編碼器用于詩歌的情感表達控制,從而保證采樣詩歌表達方式的一致性,進一步完善S-CVAE在意義和詩意存在的不足,生成蘊意更為豐富的詩歌。

猜你喜歡 疊詞編碼器語義 語言與語義開放教育研究(2020年2期)2020-03-31基于FPGA的同步機軸角編碼器成都信息工程大學學報(2018年3期)2018-08-29細讀文本,品疊詞之美湖南教育·B版(2018年4期)2018-05-15用疊詞寫景小獼猴學習畫刊(2018年4期)2018-04-28“的”字疊詞招聘會小學生必讀(低年級版)(2017年10期)2017-02-25基于PRBS檢測的8B/IOB編碼器設計電子設計工程(2017年20期)2017-02-10“上”與“下”語義的不對稱性及其認知闡釋現代語文(2016年21期)2016-05-25JESD204B接口協議中的8B10B編碼器設計電子器件(2015年5期)2015-12-29讓疊詞走進句子讀寫算·小學低年級(2015年7期)2015-08-19認知范疇模糊與語義模糊大連民族大學學報(2015年2期)2015-02-27

推薦訪問:語義 擴充 算法

最新推薦
猜你喜歡