曹芳 王海龍 涂術(shù)娟 康建庚 韓錦濤
(北京吉利學(xué)院汽車工程學(xué)院,北京 102202)
詩(shī)歌是一種特殊而重要的文化遺產(chǎn),具有更多的意義。在人類歷史上已有數(shù)千年的歷史他們的受歡迎程度在日常生活的許多方面表現(xiàn)出來,例如表達(dá)個(gè)人情感,政治觀點(diǎn)或在節(jié)日?qǐng)龊蟼鬟_(dá)信息。相對(duì)于自由語言,詩(shī)歌具有獨(dú)特的優(yōu)雅,例如唯美主義和簡(jiǎn)潔等。創(chuàng)作古典詩(shī)歌被認(rèn)為是作為一項(xiàng)具有挑戰(zhàn)性的任務(wù),它具有一系列結(jié)構(gòu)上,語音上,和語義要求,因此只有很少的優(yōu)秀學(xué)者能夠掌握操縱或組織術(shù)語的技能。
隨著人工智能的快速發(fā)展,我們意識(shí)到計(jì)算機(jī)可能在以下方面發(fā)揮重要作用幫助人類創(chuàng)作詩(shī)歌:它很方便計(jì)算機(jī)從大型語料庫(kù),以及計(jì)算機(jī)程序可以發(fā)揮很大的優(yōu)勢(shì)認(rèn)識(shí),學(xué)習(xí)甚至記住模式或給出語料的規(guī)則。以上觀察激發(fā)自動(dòng)使用計(jì)算智能生成詩(shī)歌。為了讓人們更好地繼承這種古典藝術(shù),我們介紹自動(dòng)詩(shī)歌創(chuàng)作的一項(xiàng)有意義的任務(wù)是賦予計(jì)算機(jī)模仿的人工智能人類詩(shī)歌的產(chǎn)生過程一種幫助人們掌握詩(shī)歌創(chuàng)作水平的工具。
在本文中,我們關(guān)注自動(dòng)生成詩(shī)歌。盡管計(jì)算機(jī)不能代替詩(shī)意的創(chuàng)造力,他們可以分析非常大的在線文本存儲(chǔ)庫(kù)詩(shī)。計(jì)算機(jī)可以提取統(tǒng)計(jì)模式,進(jìn)行維護(hù)它們存儲(chǔ)在內(nèi)存中,并使用它們生成許多可能的變體。此外,對(duì)于機(jī)器而言,它相對(duì)簡(jiǎn)單檢查候選詩(shī)是否與那些詩(shī)相符要求。超越建立自主性的長(zhǎng)期目標(biāo)能夠創(chuàng)造有意義的智能系統(tǒng)詩(shī)歌最終將有潛在的短期應(yīng)用對(duì)于AI 增強(qiáng)人類的專業(yè)知識(shí)/經(jīng)驗(yàn),可能使每個(gè)人都可以因娛樂或教育而成為詩(shī)人目的。我們提出基于遞歸神經(jīng)網(wǎng)絡(luò)的詩(shī)詞生成系統(tǒng)鑒于有大量收藏詩(shī)歌,我們學(xué)習(xí)單個(gè)人物的表現(xiàn),及其組合成一個(gè)或多個(gè)行,以及如何他們相互加強(qiáng)和相互制約。鑒于用戶指定的寫作意圖,系統(tǒng)可以生成一個(gè)通過順序語言建模創(chuàng)作詩(shī)歌。不同于傳統(tǒng)以前的神經(jīng)網(wǎng)絡(luò)中的單遍生成,我們的擬議的系統(tǒng)將能夠?yàn)橐粋€(gè)或多個(gè)迭代,以完善措辭,并做到更多詩(shī)意的,這很像一個(gè)真實(shí)的人類寫作過程。
詩(shī)歌是最重要的文學(xué)遺產(chǎn)之一在世界各地的各種文化中,有一些正式的研究計(jì)算機(jī)輔助詩(shī)歌生成領(lǐng)域。來自不同國(guó)家的科學(xué)家研究了自動(dòng)通過不同語言以自己的語言創(chuàng)作詩(shī)歌方式:1.遺傳算法。2.統(tǒng)計(jì)機(jī)器翻譯(SMT)。提出了一種跨語言一代的翻譯模型詩(shī)歌,從意大利語到英語;3.基于規(guī)則的模板?;谡Z義和語法模板的生成平臺(tái)。如果用戶的輸入查詢太短而無法提取足夠的關(guān)鍵字,則我們需要擴(kuò)展一些新關(guān)鍵字直到滿足關(guān)鍵字編號(hào)的要求。我們對(duì)關(guān)鍵字使用兩種不同的方法擴(kuò)張。基于RNNLM 的方法。我們使用遞歸神經(jīng)網(wǎng)絡(luò)語言模型(RNNLM)根據(jù)前面的關(guān)鍵字序列預(yù)測(cè)后續(xù)關(guān)鍵字RNNLM 的訓(xùn)練需要一個(gè)訓(xùn)練集,該訓(xùn)練集包括從詩(shī)歌中提取的關(guān)鍵字序列,其中一個(gè)關(guān)鍵字代表一行的子主題。我們自動(dòng)生成訓(xùn)練語料庫(kù)從收集的詩(shī)歌中具體來說,給定一首包含N 行的詩(shī)歌,我們首先對(duì)單詞進(jìn)行排名根據(jù)詩(shī)歌語料庫(kù)上計(jì)算出的分?jǐn)?shù)在每行中進(jìn)行排列。然后用選擇最高的分?jǐn)?shù)作為該行的關(guān)鍵字。這樣,我們可以提取一個(gè)關(guān)鍵字排列每首詩(shī),并為基于RNNLM 的關(guān)鍵字預(yù)測(cè)生成訓(xùn)練語料庫(kù)模型。在本文中,我們著重于中國(guó)絕句的產(chǎn)生,它有4 行,每行有相同長(zhǎng)度的5 或7 個(gè)字符。我們從互聯(lián)網(wǎng)上收集了7 萬部絕句,并隨機(jī)選擇用于驗(yàn)證的2,000 首詩(shī),用于測(cè)試的2,000 首詩(shī)以及其余用于培訓(xùn)的詩(shī)。從詩(shī)歌訓(xùn)練語料庫(kù)中,我們提取了70000 個(gè)關(guān)鍵字序列,即用于訓(xùn)練RNN 語言模型以進(jìn)行關(guān)鍵字?jǐn)U展。
詩(shī)人創(chuàng)作詩(shī)歌的一個(gè)可行程序是首先概述可以表達(dá)的主要寫作意圖通過一組關(guān)鍵字。自作者以來,這是一個(gè)反復(fù)的過程可以隨時(shí)更改條款的一部分以完善想法,直到整首詩(shī)都寫完了。試圖模仿這樣的過程。問題表述。我們將問題定義如下輸入。給定關(guān)鍵字={k1,k2,...kn}來自作者作為寫作意圖(即主題,主題,場(chǎng)景,或生成詩(shī)歌的主題),其中ki 是關(guān)鍵字學(xué)期。每個(gè)關(guān)鍵字由一個(gè)或多個(gè)字符組成,即ki={c1,c2,...}。我們從關(guān)鍵詞中產(chǎn)生一首詩(shī)。輸出。我們生成一首詩(shī)P={c1,1,...,c1,n;...;cm,1,...,cm,n},ci,j 2 V,其中V 是詞匯量。n 是一行詩(shī)中的字符數(shù); m 是行數(shù)。對(duì)于中國(guó)古典詩(shī)歌,即絕句和受限制的經(jīng)文,n(5 或7)和m(4 或8)是固定數(shù)字。系統(tǒng)框架。我們的系統(tǒng)以編碼解碼方式工作時(shí)尚,代表用戶的意圖單個(gè)向量,然后將向量解碼為整首詩(shī)。意圖表示。系統(tǒng)接受一組用戶指定關(guān)鍵字作為輸入。我們使用神經(jīng)網(wǎng)絡(luò)(CNN)或遞歸神經(jīng)網(wǎng)絡(luò)(RNN)上的字符以捕獲特定含義關(guān)鍵字詞;然后整合不同術(shù)語的信息通過池化層。這樣我們得到一個(gè)向量用戶意圖的表示。
順序生成。以向量表示為條件根據(jù)用戶的意圖,我們使用RNN 編寫一首詩(shī)逐個(gè)字符生成一個(gè)字符。注意那首詩(shī)包含多行,并且每行進(jìn)一步包含多行人物,我們對(duì)詩(shī)歌使用分層架構(gòu)一代。具體來說,我們有一個(gè)RNN 代表全球每行的信息:全局信息向量的影響在該行中的所有角色世代上?;谌騌NN,我們還有另一個(gè)代表本地的RNN 信息,指導(dǎo)單個(gè)字符的生成在行內(nèi)。
LSTM。LSTM 代表長(zhǎng)期短期記憶,它是循環(huán)層的構(gòu)建單元神經(jīng)網(wǎng)絡(luò)。LSTM 單元由一個(gè)單元,一個(gè)輸入,一個(gè)輸出和一個(gè)忘記門組成。這些負(fù)責(zé)記憶一定時(shí)間范圍內(nèi)的門保留了多少數(shù)據(jù)。有兩種主要的訓(xùn)練LSTM 詩(shī)歌模型的方法。首先字符,這意味著模型將字符序列作為輸入?;诘谝粋€(gè)該模型試圖預(yù)測(cè)以下特征,然后根據(jù)前兩個(gè)預(yù)測(cè)預(yù)測(cè)第三個(gè)字符,依此類推。第二種方法是逐個(gè)子詞基本上與每個(gè)字符相同-模型試圖預(yù)測(cè)下一個(gè)子詞基于以前的。此外,使用了兩種方法來分割數(shù)據(jù),很明顯的一種是逐詩(shī)另一種將基于特定的序列長(zhǎng)度。逐詩(shī)逐句詩(shī)歌必須等長(zhǎng),因此模型可以使用批量更新。但是,這將增加訓(xùn)練時(shí)間,因?yàn)檫€有更多數(shù)據(jù)需要處理通過和詩(shī)的長(zhǎng)度變化很大。另一方面,有限的序列長(zhǎng)度可能會(huì)失去這首詩(shī)的上下文,因?yàn)榫W(wǎng)絡(luò)不會(huì)將這首詩(shī)視為整個(gè)。盡管如此,這兩種方法都已實(shí)現(xiàn)并嘗試過。最后但并非最不重要的一點(diǎn)是,使用LSTM 模型生成詩(shī)歌。該模型從一個(gè)開始隨機(jī)或輸入的字符,并據(jù)此預(yù)測(cè),直到結(jié)束符號(hào)或長(zhǎng)度限制為到達(dá)。綜上所述,系統(tǒng)對(duì)寫作意圖進(jìn)行編碼,并生成按照這樣的意圖通過一首詩(shī)解碼過程。
自動(dòng)生成與人類詩(shī)人我們進(jìn)行了一次有趣的評(píng)估,直接比較了我們的自動(dòng)詩(shī)歌生成系統(tǒng)與人類詩(shī)人相似,類似于圖靈測(cè)驗(yàn)。我們隨機(jī)選擇了二十測(cè)試集的詩(shī)歌,由中國(guó)古代詩(shī)人撰寫。我們用這些詩(shī)的標(biāo)題作為通過我們的自動(dòng)生成系統(tǒng)輸入并生成了20 首詩(shī)。因此,機(jī)器生成詩(shī)與人類詩(shī)是同一個(gè)主題。然后我們問了一些人類評(píng)估者區(qū)分人類創(chuàng)作的詩(shī)歌和機(jī)器生成的詩(shī)歌。在盲測(cè)中,我們向評(píng)估者展示了兩首詩(shī)及其標(biāo)題。時(shí)間,并要求評(píng)估者從以下三個(gè)選項(xiàng)中進(jìn)行選擇:1.詩(shī)歌A 是人類寫的;2.詩(shī)B 是人類寫的;3.無法區(qū)分人類寫的是哪一個(gè)。評(píng)估結(jié)果我們可以看到48.9%的機(jī)器生成的詩(shī)歌被錯(cuò)誤地識(shí)別為人類詩(shī)歌或無法被普通評(píng)估者區(qū)分。但對(duì)于專家評(píng)估人員,這一數(shù)字下降到15.3%。我們可以從結(jié)果中得出兩個(gè)結(jié)論:1.在普通用戶的標(biāo)準(zhǔn)下,我們的機(jī)器生成的詩(shī)歌的質(zhì)量非常接近人類詩(shī)人;2.但從專業(yè)專家的角度來看,機(jī)器生成的詩(shī)歌仍然有與人類詩(shī)歌相比,有一些明顯的不足。
在自然領(lǐng)域,詩(shī)歌創(chuàng)作是一項(xiàng)艱巨的任務(wù)語言生成。我們提出了一種新穎的建模方法這個(gè)問題基于遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。給定用戶的寫作意圖,我們對(duì)信息進(jìn)行編碼并通過順序生成將其解碼為一首詩(shī)。我們的人類評(píng)估研究顯示機(jī)器產(chǎn)生的詩(shī)歌落后于人類產(chǎn)生的詩(shī)歌那些。值得牢記的是詩(shī)歌創(chuàng)作對(duì)人類來說是一項(xiàng)艱巨的任務(wù),更不用說機(jī)器了。未來工作的途徑很多。我們想產(chǎn)生不同的詩(shī)語言和流派。