• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      結(jié)合多注意力和條件變分自編碼器的宋詞生成模型*

      2022-06-10 03:22:08黃文明溫雅媛鄧珍榮
      廣西科學(xué) 2022年2期
      關(guān)鍵詞:連貫性宋詞詞句

      梁 驍,黃文明,2,姚 俊,溫雅媛,鄧珍榮,2**

      (1.桂林電子科技大學(xué)計(jì)算機(jī)與信息安全學(xué)院,廣西桂林 541004;2.廣西圖形圖像與智能處理重點(diǎn)實(shí)驗(yàn)室,廣西桂林 541004;3.廣西壯族自治區(qū)高級(jí)人民法院,廣西南寧 530000;4.廣西師范大學(xué)電子工程學(xué)院,廣西桂林 541004)

      詞源于民間,興于五代,盛于兩宋。宋詞是人們對(duì)文化生活強(qiáng)烈追求的產(chǎn)物,也是中國(guó)傳統(tǒng)文化最重要的文學(xué)形式之一。宋詞自動(dòng)生成研究能幫助普羅大眾學(xué)習(xí)和自動(dòng)生成宋詞,對(duì)進(jìn)一步弘揚(yáng)中華民族傳統(tǒng)文化具有重要意義。近年來,神經(jīng)生成模型在自然語言處理上得到廣泛應(yīng)用,其中的古詩(shī)詞自動(dòng)生成研究受到眾多學(xué)者的青睞,引起了研究者們濃厚的興趣。

      將現(xiàn)有的古詩(shī)詞自動(dòng)生成研究分為傳統(tǒng)方法和基于深度學(xué)習(xí)的方法。傳統(tǒng)方法通過詩(shī)詞領(lǐng)域的專家人為設(shè)計(jì)規(guī)則和約束來生成古詩(shī)詞。其中基于模板的方法類似于完形填空,從詩(shī)歌中去除一些單詞,再?gòu)膯卧~庫(kù)中選擇合適的單詞放入空白處形成新的詩(shī)歌。周昌樂等[1]提出基于遺傳算法的宋詞生成方法,從語料庫(kù)中隨機(jī)選擇一句詞句,用設(shè)計(jì)好的評(píng)估函數(shù)評(píng)價(jià)詞句,并不斷迭代直到生成整首宋詞,但該方法缺乏語義連貫性。Yan等[2]將古詩(shī)生成看成給定寫作意圖的摘要生成問題,同時(shí)加入一些優(yōu)化約束。He等[3]將詩(shī)歌生成看成統(tǒng)計(jì)機(jī)器翻譯問題,人為加上平仄押韻等約束。Tosa等[4]和Wu等[5]采用短語搜索的方法生成日本詩(shī)。Netzer等[6]采用基于詞聯(lián)想的方法生成俳句。Oliveira等[7,8]提出了一種基于語義和語法模板的西班牙詩(shī)生成方法。

      隨著深度學(xué)習(xí)技術(shù)的發(fā)展,國(guó)內(nèi)外的古詩(shī)詞生成研究進(jìn)入新的階段。國(guó)外基于深度學(xué)習(xí)的機(jī)器翻譯和詩(shī)歌生成方法如下:Cho等[9]提出由兩個(gè)遞歸神經(jīng)網(wǎng)絡(luò)RNN組成的編碼解碼器來實(shí)現(xiàn)機(jī)器翻譯。Gulcehre等[10]采用內(nèi)存尋址方案實(shí)現(xiàn)動(dòng)態(tài)神經(jīng)機(jī)器翻譯。Hopkins等[11]集成了一個(gè)循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和一個(gè)有限狀態(tài)接受者(FSA)。它生成給定任意主題的英文4行詩(shī)。Ghazvininejad等[12]使用一個(gè)經(jīng)過語音編碼訓(xùn)練的神經(jīng)語言模型來學(xué)習(xí)英語詩(shī)歌的形式和隱含表達(dá)的內(nèi)容,生成英文韻律詩(shī)。這種模式可以有效地學(xué)習(xí)常見的詩(shī)歌音律,如押韻、節(jié)奏等。但這些方法使用單向量不能保存上下文的全部信息,并且隨著輸入序列長(zhǎng)度的增加會(huì)導(dǎo)致循環(huán)神經(jīng)網(wǎng)絡(luò)的性能下降。國(guó)內(nèi)基于深度學(xué)習(xí)的方法如下:首先,基于循環(huán)神經(jīng)網(wǎng)絡(luò)[13]的古詩(shī)生成方法將每首古詩(shī)的詩(shī)句通過拼接的方式形成語料庫(kù),用于訓(xùn)練循環(huán)神經(jīng)網(wǎng)絡(luò),最終得到一個(gè)輸出單詞字典大小的概率分布模型;然后,給定初始內(nèi)容,不斷從概率分布模型中采樣出詩(shī)句中的詞語,直到生成完整的古詩(shī)?;谘h(huán)神經(jīng)網(wǎng)絡(luò)模型[14]給定關(guān)鍵詞逐行生成古詩(shī),它由3個(gè)部分組成:用于獲取句子的局部表示的卷積神經(jīng)網(wǎng)絡(luò);獲取已生成詩(shī)句的上下文向量的句子級(jí)別的循環(huán)神經(jīng)網(wǎng)絡(luò);根據(jù)歷史詩(shī)句上下文和該句已經(jīng)生成的字符,輸出下一個(gè)字符概率向量的字符級(jí)別循環(huán)神經(jīng)網(wǎng)絡(luò)。該模型捕獲詩(shī)句的全局信息和局部信息,提高模型的特征提取能力。Wang等[15]基于注意力的編解碼框架宋詞生成模型(ICG),將已生成詩(shī)句拼接起來作為輸入傳遞給編碼器,由解碼器輸出下一個(gè)詞句。該方法基于注意力機(jī)制配合長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò),可以學(xué)習(xí)更長(zhǎng)的詩(shī)歌,在一定程度上提高前后語義的連貫性。Wang等[16]先給每一句詩(shī)歌規(guī)劃關(guān)鍵詞大綱,讓生成的詩(shī)句與關(guān)鍵詞相關(guān),提高了古詩(shī)的主題一致性。Yan17]基于編碼解碼框架,其中編碼器是卷積神經(jīng)網(wǎng)絡(luò),編碼用戶輸入的意圖關(guān)鍵詞,解碼器由句子級(jí)別和詞級(jí)別兩個(gè)循環(huán)神經(jīng)網(wǎng)絡(luò)組成。Ghazvininejad等[18]的主題詩(shī)生成模型(TPG)與規(guī)劃模型相似,不同的是它先生成4個(gè)押韻的關(guān)鍵詞,將其作為詩(shī)句的結(jié)尾,保證古詩(shī)的押韻?;谛蛄械叫蛄械墓旁?shī)生成模型(SPG)[19]在規(guī)劃模型基礎(chǔ)上增加了基于注意力機(jī)制的關(guān)鍵詞擴(kuò)展模型,用于匹配古詩(shī)生成模型,提高了古詩(shī)的主題一致性。Yi等[20]基于顯著信息的古詩(shī)生成模型(SCG),通過注意力權(quán)重提取已生成詩(shī)句的顯著語義特征,用于指導(dǎo)解碼器生成上下文連貫的詩(shī)句。Liu等[21]通過引入條件變分自編碼器(CVAE)生成具有比喻或擬人修辭手法的現(xiàn)代詩(shī),首次在生成的詩(shī)歌中加入修辭元素,讓詩(shī)歌變得更加生動(dòng)形象。

      風(fēng)格作為宋詞的重要元素,對(duì)提高意境起著重要作用。宋詞的風(fēng)格主要有兩類:豪放與婉約。豪放詞直抒胸臆,描述了廣闊的視野,恢宏的氣象;婉約詞詞調(diào)蘊(yùn)藉,婉約含蓄,側(cè)重細(xì)節(jié)描寫。現(xiàn)有的研究主要關(guān)注詩(shī)詞的通順性和主題一致性方面,對(duì)于宋詞風(fēng)格方面的研究較少,在很大程度上忽視了風(fēng)格的重要性。另外,宋詞屬于長(zhǎng)文本的體裁,詞句較多,現(xiàn)有的生成方法在上下文連貫性上仍存在提升空間。

      為此,本文在編碼解碼的文本生成框架基礎(chǔ)上,引入多注意力組件和條件變分自編碼器,提出結(jié)合多注意力和條件變分自編碼器的風(fēng)格宋詞生成方法。在自制的語料庫(kù)上進(jìn)行實(shí)驗(yàn),探討本文方法對(duì)于提高上下文連貫性以及實(shí)現(xiàn)風(fēng)格控制的效果。

      1 概述

      1.1 設(shè)計(jì)思想

      在采用門控循環(huán)單元(GRU)的編碼解碼文本生成框架基礎(chǔ)上,加入基于自注意力機(jī)制的句子表示算法的多注意力組件,用于提取詞句中的顯著信息,提高上下文連貫性。另外,引入條件變分自編碼器,將每條宋詞數(shù)據(jù)轉(zhuǎn)化為隱空間中不同風(fēng)格特征的高維高斯分布,從各自的分布中采樣隱變量來控制宋詞的風(fēng)格。本文將從帶有注意力機(jī)制的基礎(chǔ)框架、多注意力組件和條件變分自編碼器等方面介紹方法的具體實(shí)現(xiàn)。

      1.2 宋詞生成過程

      借鑒規(guī)劃模型的生成過程,用戶輸入n個(gè)關(guān)鍵詞(k1,k2,k3,k4,…,kn)作為宋詞的大綱,其中kn是第n行詞句的關(guān)鍵詞。輸入關(guān)鍵詞kn和第n-1行的詞句,輸出第n行的詞句。

      1.3 關(guān)鍵詞提取

      TextRank算法[22]是評(píng)估句子或段落中詞語重要性的方法??墒褂迷撍惴ㄌ崛〕鲈~句中最重要的詞語作為關(guān)鍵詞。首先將宋詞數(shù)據(jù)集中所有詞句都拼接起來,對(duì)每個(gè)詞句分詞。根據(jù)分詞后的詞句構(gòu)造圖,即句子中的每個(gè)詞語與它自身左右一定范圍內(nèi)的詞語連接構(gòu)成一個(gè)無向圖。將圖中邊的權(quán)重初始化為1,通過公式(1)進(jìn)行迭代計(jì)算得分,直到收斂為止。最終得到所有關(guān)鍵詞的重要性得分表。在訓(xùn)練階段,根據(jù)關(guān)鍵詞重要性得分表從現(xiàn)有的宋詞數(shù)據(jù)集中構(gòu)建出關(guān)鍵詞數(shù)據(jù)集,即從每個(gè)詞句中提取出最重要的關(guān)鍵詞。在預(yù)測(cè)階段,對(duì)用戶輸入文本進(jìn)行分詞,根據(jù)關(guān)鍵詞得分表提取出關(guān)鍵詞。

      S(Vi)=(1-d)+

      (1)

      式中,ωji為詞語Vj連接邊的權(quán)值;E(Vi)為連接到詞語Vj的邊;d為阻尼因子,通常設(shè)置為0.8;S(Vi)為詞語Vi的分?jǐn)?shù),初始分?jǐn)?shù)設(shè)為1.0。

      2 模型整體結(jié)構(gòu)

      模型的整體結(jié)構(gòu)如圖1所示,其中橙色部分包括分別處理關(guān)鍵詞、源序列的兩個(gè)編碼器和先驗(yàn)網(wǎng)絡(luò)(Prior network);綠色部分是處理目標(biāo)序列的編碼器和后驗(yàn)網(wǎng)絡(luò)(Recognition network),它們共同組成條件變分自編碼器;黃色部分是多注意力組件;粉色部分是注意力機(jī)制;紫色部分是解碼器。

      圖1 模型整體結(jié)構(gòu)Fig.1 Overall structure of the model

      2.1 基礎(chǔ)框架

      本文將帶有注意力機(jī)制的編碼解碼框架[14]作為基礎(chǔ)。編碼部分包括3個(gè)編碼器,其中一個(gè)編碼器將關(guān)鍵詞轉(zhuǎn)化成隱藏狀態(tài)K={k1,k2,…,kn}。另一個(gè)編碼器將目標(biāo)序列文本Y={y1,y2,y3,…,yn}轉(zhuǎn)化成隱藏狀態(tài)序列T={t1,t2,t3,…,tn},計(jì)算公式如下:

      tj=GRU(e(yj),tj-1),

      (2)

      式中,e(yj)表示目標(biāo)序列文本Y中第j個(gè)詞的詞嵌入。

      編碼器將源序列文本X={x1,x2,x3,…,xn}轉(zhuǎn)換成隱藏狀態(tài)序列H={h1,h2,h3,…,hn},計(jì)算公式如下:

      hj=GRU(e(xj),hj-1),

      (3)

      式中,e(xj)表示源序列文本X中第j個(gè)詞語的詞嵌入。

      解碼器將目標(biāo)序列文本Yin={ys,y1,y2,y3,…,yn}轉(zhuǎn)化為隱藏狀態(tài)序列S={s1,s2,s3,…,sn},其中ys表示詞牌指示向量[15]。計(jì)算公式如下:

      st=GRU(e(yt-1),vi-1,ct,st-1),

      (4)

      式中,將隱藏狀態(tài)hn、條件變分自編碼器(2.3小節(jié))提取到的隱變量z和風(fēng)格標(biāo)簽r的拼接作為解碼器的初始隱藏狀態(tài)。vi-1是多注意力組件(2.2小節(jié))提取的語義向量;ct是通過注意力機(jī)制計(jì)算的上下文向量,用于提供源序列和關(guān)鍵詞的全局信息,計(jì)算公式如下:

      (5)

      式中,將關(guān)鍵詞編碼器的最后一個(gè)隱藏狀態(tài)kn作為式中h0;hj為H第j個(gè)隱藏狀態(tài);atj為該隱藏狀態(tài)的注意力權(quán)重,計(jì)算公式如下:

      (6)

      式中,etj的計(jì)算公式如下:

      (7)

      式中,Va,Wa,Ua都是需要訓(xùn)練的參數(shù)。

      2.2 多注意力組件

      常見的上下文處理方法是將詞句通過編碼器轉(zhuǎn)換成單個(gè)向量,并通過后續(xù)生成的詞句來更新該向量。單個(gè)向量不能存儲(chǔ)宋詞長(zhǎng)文本的全部特征。無意義的詞也會(huì)混入該向量中,如虛詞、停用詞等。為此,引入多注意力組件提取詞句的多種語義特征,過濾非顯著特征,從而提高上下文的連貫性。

      多注意力組件基于自注意力機(jī)制的句子表示算法[23,24],計(jì)算詞句的多注意力權(quán)重矩陣,提取詞句的3種重要語義特征并保存在指定的語義向量v中。多注意力權(quán)重矩陣的計(jì)算公式如下:

      A=Ws2tanh(Ws1HT),

      (8)

      式中,Ws1是參數(shù)矩陣,維度為[da,2u];da是超參數(shù),2u表示隱藏狀態(tài)的維度;Ws2是參數(shù)矩陣,維度為[r,da];r是超參數(shù),設(shè)置為3;A=[a1,a2,a3],是多注意力權(quán)重矩陣,每行表示詞句某種語義的權(quán)重向量。為避免A的每行權(quán)重向量相似度高,導(dǎo)致每個(gè)注意力權(quán)重向量提取同一語義特征的問題,在損失函數(shù)中引入一個(gè)懲罰項(xiàng)[20],迫使每個(gè)注意力權(quán)重向量都具有明顯的差異。懲罰項(xiàng)公式如下:

      (9)

      將多注意力權(quán)重矩陣A按行加和并歸一化得到向量a:

      (10)

      在得到a后,通過式(11)計(jì)算存儲(chǔ)多種語義的句子表示:

      M=aH,

      (11)

      M是包含多種語義的句子表示,根據(jù)新生成的M更新語義向量vi:

      vi=?(vi-1,M),v0=0。

      (12)

      多注意力權(quán)重矩陣A在詞句“花色烘晴草色浮”上的表現(xiàn)如圖2所示。

      圖2 多注意力權(quán)重Fig.2 Multi-attention weight

      圖2的3個(gè)注意力權(quán)重主要用于提取“晴草花”的語義特征。a在詞句上的表現(xiàn)如圖3所示。

      圖3 加和并歸一化的注意力權(quán)重Fig.3 Attention weight added and normalized

      2.3 條件變分自編碼器

      受Zhao等[25]和Sohn等[26]的多樣性文本生成模型的啟發(fā),為了控制生成的文本風(fēng)格,在基礎(chǔ)框架上引入條件變分自編碼器,將每條宋詞數(shù)據(jù)轉(zhuǎn)化成隱空間的風(fēng)格特征分布。在訓(xùn)練階段,輸入源序列、關(guān)鍵詞、目標(biāo)序列和風(fēng)格標(biāo)簽。通過誤差反向傳播,降低KL散度(KL divergence)損失,讓先驗(yàn)分布接近后驗(yàn)分布,從后驗(yàn)分布中采樣隱變量z。在預(yù)測(cè)階段,輸入源序列、關(guān)鍵詞和風(fēng)格標(biāo)簽,從先驗(yàn)分布中采樣隱變量z。

      2.3.1 先驗(yàn)網(wǎng)絡(luò)和后驗(yàn)網(wǎng)絡(luò)

      構(gòu)建先驗(yàn)網(wǎng)絡(luò)和后驗(yàn)網(wǎng)絡(luò),分別計(jì)算先驗(yàn)分布和后驗(yàn)分布的均值和方差,如式(13)和(14)所示:

      [μ,σ2]=MLP(tn,hn),

      (13)

      [μ′,σ′2]=MLP(hn),

      (14)

      式中,μ,σ2分別是后驗(yàn)分布的均值和方差;μ′,σ′2分別是先驗(yàn)分布的均值和方差。最后通過KL散度估計(jì)兩個(gè)高維高斯分布的信息損失。

      為解決采樣過程不可導(dǎo)的問題,采用了重參數(shù)技巧[27],從均值u和偏差σ2的高緯高斯分布中采樣隱變量z等價(jià)于從標(biāo)準(zhǔn)正態(tài)分布中采樣一個(gè)β,再對(duì)其進(jìn)行線性變換,如式(15)所示:

      z=μ+β*σ,

      (15)

      式中,從β到z只涉及線性變換,β是固定的。

      2.3.2 變分下界

      通過KL散度公式衡量先驗(yàn)分布和后驗(yàn)分布的相似度來判斷生成質(zhì)量。但這兩個(gè)分布的KL散度的計(jì)算涉及數(shù)據(jù)的真實(shí)分布,難以直接計(jì)算。為此,通過最大化變分下界(ELBO),替代直接計(jì)算兩個(gè)分布的KL散度。變分下界如下式所示:

      ELBO=Eqφ(z|y,hn)[logpθ(y|z,hn,r)]-

      KL(qφ(z|y,hn)‖pθ(z|hn))],

      (16)

      式中,φ是后驗(yàn)網(wǎng)絡(luò)的參數(shù),θ是先驗(yàn)網(wǎng)絡(luò)的參數(shù)。z是隱變量,y是目標(biāo)序列,r是風(fēng)格標(biāo)簽的詞嵌入。qφ(z|y,hn)是后驗(yàn)分布,pθ(z|hn)是先驗(yàn)分布。公式右邊的第一項(xiàng)是重構(gòu)的似然估計(jì),目的是讓生成的詞句和真實(shí)的詞句盡可能地接近。第二項(xiàng)是后驗(yàn)分布和先驗(yàn)分布的KL散度,用于衡量后驗(yàn)分布相比先驗(yàn)分布的信息損失。

      2.3.3 弱化解碼器

      GRU解碼器因解碼能力強(qiáng)容易忽略隱變量z,無法控制文本風(fēng)格。為此,在訓(xùn)練階段,用未知詞語(UNK)替換解碼器的部分輸入單詞,迫使解碼器無法僅通過先前生成的單詞來預(yù)測(cè)下一個(gè)單詞,需要更多地依賴隱變量z。

      2.4 目標(biāo)函數(shù)和損失函數(shù)

      2.4.1 目標(biāo)函數(shù)

      解碼器生成目標(biāo)序列Yout={y1,y2,y3,…,yn,ye},其中ye表示結(jié)束字符。目標(biāo)函數(shù)如下式所示:

      yt=argmaxyP(y|st),

      (17)

      式中,st為在t時(shí)刻的隱藏狀態(tài),yt-1為上一時(shí)刻的輸出,最終生成t時(shí)刻最可能的字符yt。

      2.4.2 損失函數(shù)

      損失函數(shù)在重構(gòu)損失的基礎(chǔ)上,加入多注意力的懲罰項(xiàng)和KL散度損失。損失函數(shù)如下式所示:

      loss=ldecoder-lkl+lp,

      (18)

      式中,ldecoder是重構(gòu)損失,采用交叉熵?fù)p失函數(shù),保證了數(shù)據(jù)壓損的質(zhì)量;lkl是KL散度損失正則項(xiàng);lp是多注意力的懲罰項(xiàng)。

      3 驗(yàn)證實(shí)驗(yàn)

      3.1 數(shù)據(jù)處理

      采用Request庫(kù)和BeautifulSoup庫(kù),從古詩(shī)文網(wǎng)和Github上公開的中文詩(shī)歌庫(kù)中爬取20 000首宋詞,對(duì)其進(jìn)行數(shù)據(jù)清洗,剔除存在亂碼的詞句,最終形成包含15 200首宋詞的語料庫(kù)。將其中的1 000首作為驗(yàn)證集,1 000首作為測(cè)試集,剩余的作為訓(xùn)練集。由于語料庫(kù)的宋詞數(shù)量較少,首先使用60 000首古詩(shī)作為預(yù)訓(xùn)練模型。

      語料庫(kù)僅存在少部分具有風(fēng)格標(biāo)簽的宋詞,其中婉約詞452首,豪放詞105首。從中隨機(jī)選擇50首婉約詩(shī)詞和50首豪放詩(shī)詞作為測(cè)試集,剩余的宋詞作為訓(xùn)練集微調(diào)中文BERT模型,在測(cè)試集上的準(zhǔn)確率為0.81。通過微調(diào)后的BERT模型對(duì)所有宋詞數(shù)據(jù)做風(fēng)格標(biāo)注。

      3.2 實(shí)驗(yàn)設(shè)計(jì)

      本實(shí)驗(yàn)的目的是驗(yàn)證本文方法能否生成婉約或豪放的宋詞,以及是否在上下文連貫性上有所提高。實(shí)驗(yàn)環(huán)境如下:硬件環(huán)境采用Intel?Xeon?Bronze 3104 CPU 1.7 GHz處理器;內(nèi)存32 GB;NvidiaQuadro P2000顯卡,顯存8 GB。軟件環(huán)境主要采用python,cuda,tensorlfow深度學(xué)習(xí)框架和jieba分詞。

      鑒于宋詞數(shù)據(jù)較小,模型參數(shù)設(shè)置過大會(huì)導(dǎo)致過擬合,所以模型設(shè)置的詞嵌入、隱藏狀態(tài)、隱變量、語義向量、上下文向量的維度分別為300,256,256,128,128。優(yōu)化器采用小批量(64)隨機(jī)梯度下降算法,并采用Adadelta算法[28]調(diào)整學(xué)習(xí)速率。預(yù)測(cè)階段采用集束搜索算法,集束寬度為10。

      宋詞包含多種格式的詞牌。為此,需要定義指示矩陣,矩陣的每一行向量分別表示不同的詞牌指示向量,作為解碼器的初始輸入,告知解碼器正在生成何種詞牌的宋詞。

      3.3 實(shí)驗(yàn)結(jié)果評(píng)估和對(duì)比

      由于詩(shī)歌生成任務(wù)與機(jī)器翻譯任務(wù)相似,因此使用BLEU算法[29]自動(dòng)評(píng)估生成的宋詞。計(jì)算基準(zhǔn)方法和本文方法的BLEU-1,BLEU-2,BLEU-3,BLEU-4的分?jǐn)?shù),然后取平均值作為最終的BLEU分?jǐn)?shù)。

      借鑒文獻(xiàn)[1-3]的人工評(píng)估方法,從意境、語句流暢性、上下文連貫性和意義等方面判斷古詩(shī)的質(zhì)量。每方面滿分5分,分?jǐn)?shù)越高表示宋詞在該評(píng)估方面的質(zhì)量越高。讓系統(tǒng)生成50首宋詞,邀請(qǐng)10位碩士及以上的學(xué)者為生成的宋詞打分,最后取平均值作為最終得分。

      本文方法(MACVAE)與4個(gè)基準(zhǔn)方法ICG[15],TPG[18],SPG[19],SCG[20]的自動(dòng)評(píng)估和人工評(píng)估結(jié)果見表1。3個(gè)基準(zhǔn)方法TPG,SPG,SCG都在規(guī)劃模型基礎(chǔ)上改進(jìn)。首先規(guī)劃在語義上相互關(guān)聯(lián)的關(guān)鍵詞作為主題大綱,依據(jù)大綱生成宋詞ICG未加入主題大綱,通過一個(gè)詞句生成整首宋詞。從表1可觀察到,這3個(gè)方法比ICG方法的上下文連貫性高,表明加入關(guān)鍵詞主題大綱的生成方法對(duì)一致性具有重要影響。

      表1 BLEU評(píng)估和人工評(píng)估結(jié)果Table 1 BLEU evaluation and artificial evaluation results

      TPG先根據(jù)用戶輸入的關(guān)鍵詞得到每句話的最后一個(gè)詞語,這些詞語都押韻且與用戶輸入相關(guān),旨在提高押韻性。SPG在規(guī)劃模型的基礎(chǔ)上,另外訓(xùn)練了基于注意力機(jī)制的關(guān)鍵詞擴(kuò)展模型來匹配生成模型。SPG在上下文連貫性上較TPG有了進(jìn)一步提高,表明增加的關(guān)鍵詞擴(kuò)展模型對(duì)提高上下文連貫性有一定幫助。

      SCG通過注意力機(jī)制的權(quán)重提取輸入序列的顯著信息,用于指導(dǎo)生成的下文與上文連貫。SCG相比于SPG在連貫性上的評(píng)分有所提升,表明提取上文詞句中的重要詞語用于指導(dǎo)下文的生成,對(duì)提高上下文連貫性具有重要幫助。

      相較于基準(zhǔn)方法,本文方法在序列到序列模型的基礎(chǔ)上,引入多注意力組件提取詞句中的重要語義,在上下文連貫性上有一定的提升;引入CVAE控制文本風(fēng)格,基本實(shí)現(xiàn)了婉約類和豪放類宋詞的生成,提高了宋詞的意境。

      3.4 生成樣例

      生成的婉約詞示例如圖4所示。整首宋詞側(cè)重于細(xì)節(jié)描寫且上下文連貫。但第4句“留我青山作暮眠”和最后一句“海岸江海與蘇煙”描繪廣闊的場(chǎng)景,屬于豪放詞句,原因是風(fēng)格標(biāo)注的不完全準(zhǔn)確性。

      圖4 生成示例1Fig.4 Generated example 1

      生成的豪放詞示例如圖5所示。整首宋詞描繪了廣闊的場(chǎng)景,整體上下文連貫,符合豪放風(fēng)格的宋詞。

      圖5 生成示例2Fig.5 Generated example 2

      4 結(jié)束語

      為提高宋詞的上下文連貫性及實(shí)現(xiàn)風(fēng)格控制,引入多注意力組件提取詞句的多種重要語義,突出詞句中的重要詞語。另外,引入CVAE控制生成宋詞風(fēng)格。在自制的語料庫(kù)上進(jìn)行基準(zhǔn)方法和本文方法的對(duì)比實(shí)驗(yàn),本文的方法在上下文連貫性上有一定提升。實(shí)現(xiàn)了宋詞風(fēng)格的控制,在意境上有所提升。通過分類器標(biāo)注的風(fēng)格分類標(biāo)簽并非完全準(zhǔn)確,后續(xù)期望通過大量的語料庫(kù)和人工標(biāo)注方式,進(jìn)一步提高風(fēng)格宋詞的生成質(zhì)量。

      猜你喜歡
      連貫性宋詞詞句
      宋詞里的中秋月
      慢性宮頸炎患者采用連貫性護(hù)理健康教育的臨床價(jià)值
      半小時(shí)漫畫宋詞
      半小時(shí)漫畫宋詞
      Why do we celebrate the New Year?
      品讀宋詞
      字詞句訓(xùn)練
      字詞句訓(xùn)練
      字詞句訓(xùn)練
      字詞句訓(xùn)練
      萨嘎县| 樟树市| 西城区| 鄂尔多斯市| 山丹县| 阿合奇县| 布尔津县| 莱芜市| 孟连| 凌云县| 商水县| 巴林右旗| 北海市| 益阳市| 梧州市| 乐亭县| 太康县| 南溪县| 威海市| 东乡| 名山县| 张家港市| 宜君县| 石楼县| 南阳市| 彭水| 青河县| 谢通门县| 吉安市| 临西县| 临泽县| 福州市| 丘北县| 闽侯县| 商城县| 河西区| 高安市| 同仁县| 永定县| 澳门| 临沂市|