基于Seq2Seq模型的自定義古詩生成
發(fā)布時間:2021-08-11 10:54
當前,古詩句生成任務(wù)大多基于單一的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)結(jié)構(gòu),在生成時需事先給定一個起始字,然后以該起始字為基礎(chǔ)進行古詩句生成,生成過程的可控性較差,往往達不到預(yù)期效果。針對以上問題,將注意力機制引入Seq2Seq模型,通過自建的數(shù)據(jù)集進行訓(xùn)練,實現(xiàn)了基于關(guān)鍵字的自定義古詩句生成。在生成階段,首先輸入一段描述性內(nèi)容,并從中提取出關(guān)鍵字。當關(guān)鍵字不足時,使用word2vec進行有效的關(guān)鍵字補全操作。此外,針對古詩體裁難以控制問題,在Seq2Seq模型中的Encoder端增加格式控制符,有效解決了以往模型在生成古詩時,體裁選擇的隨機性問題。實驗表明,所提出的模型較好地達到了預(yù)期的生成效果。
【文章來源】:計算機科學(xué)與探索. 2020,14(06)北大核心CSCD
【文章頁數(shù)】:8 頁
【部分圖文】:
關(guān)鍵字補全操作
首先計算在t時刻輸入Decoder端的隱藏層狀態(tài)st-1對Encoder每一個隱含層狀態(tài)hi的權(quán)重wt(i),如式(1)所示。其中,score表示st-1和hi的相似度,使用余弦相似度進行度量,如式(2)所示。
此外,在進行關(guān)鍵字補充時,如果在描述內(nèi)容中僅提取出一個關(guān)鍵字,則選取與該關(guān)鍵字相關(guān)度最高的三個作為補充;如果提取出兩個關(guān)鍵字,則隨機從與每個關(guān)鍵字相關(guān)度最高的前三個中分別選取一個作為另外兩個關(guān)鍵字;如果提取三個關(guān)鍵字,則分別計算與每個關(guān)鍵字相似度最高的前三個,取其交集作為第四個關(guān)鍵字,如果交集為空,則隨機選取三個關(guān)鍵字中的一個,再隨機選取與其相似度最高的前三個中的一個作為第四個關(guān)鍵字,具體過程如圖3所示,其中括號里的值表示相似度大小。圖3 關(guān)鍵字補全操作
【參考文獻】:
期刊論文
[1]一種宋詞自動生成的遺傳算法及其機器實現(xiàn)[J]. 周昌樂,游維,丁曉君. 軟件學(xué)報. 2010(03)
本文編號:3336032
【文章來源】:計算機科學(xué)與探索. 2020,14(06)北大核心CSCD
【文章頁數(shù)】:8 頁
【部分圖文】:
關(guān)鍵字補全操作
首先計算在t時刻輸入Decoder端的隱藏層狀態(tài)st-1對Encoder每一個隱含層狀態(tài)hi的權(quán)重wt(i),如式(1)所示。其中,score表示st-1和hi的相似度,使用余弦相似度進行度量,如式(2)所示。
此外,在進行關(guān)鍵字補充時,如果在描述內(nèi)容中僅提取出一個關(guān)鍵字,則選取與該關(guān)鍵字相關(guān)度最高的三個作為補充;如果提取出兩個關(guān)鍵字,則隨機從與每個關(guān)鍵字相關(guān)度最高的前三個中分別選取一個作為另外兩個關(guān)鍵字;如果提取三個關(guān)鍵字,則分別計算與每個關(guān)鍵字相似度最高的前三個,取其交集作為第四個關(guān)鍵字,如果交集為空,則隨機選取三個關(guān)鍵字中的一個,再隨機選取與其相似度最高的前三個中的一個作為第四個關(guān)鍵字,具體過程如圖3所示,其中括號里的值表示相似度大小。圖3 關(guān)鍵字補全操作
【參考文獻】:
期刊論文
[1]一種宋詞自動生成的遺傳算法及其機器實現(xiàn)[J]. 周昌樂,游維,丁曉君. 軟件學(xué)報. 2010(03)
本文編號:3336032
本文鏈接:http://sikaile.net/gudaiwenxuelunwen/3336032.html