在網(wǎng)上看到一篇利用Tensorflow+RNN模型生成古詩詞的練習(xí)帚稠,覺得挺有意思的便自己來試了下,算是熟悉下Tensorflow+NLP的基本操作流程
首先pip 安裝NLTK?
在你的Tensorflow環(huán)境下 運(yùn)行pip install nltk
下載數(shù)據(jù)集:
$?python
>>>import nltk
>>>?nltk.download()
使用的數(shù)據(jù)集:全唐詩(43030首):https://pan.baidu.com/s/1o7QlUhO
RNN介紹:
RNN的目的使用來處理序列數(shù)據(jù)告抄。在傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型中庐船,是從輸入層到隱含層再到輸出層嗅虏,層與層之間是全連接的固歪,每層之間的節(jié)點(diǎn)是無連接的。但是這種普通的神經(jīng)網(wǎng)絡(luò)對于很多問題卻無能無力蜓洪。例如汰聋,你要預(yù)測句子的下一個單詞是什么脆淹,一般需要用到前面的單詞,因為一個句子中前后單詞并不是獨(dú)立的图贸。RNNs之所以稱為循環(huán)神經(jīng)網(wǎng)路酝锅,即一個序列當(dāng)前的輸出與前面的輸出也有關(guān)。具體的表現(xiàn)形式為網(wǎng)絡(luò)會對前面的信息進(jìn)行記憶并應(yīng)用于當(dāng)前輸出的計算中,即隱藏層之間的節(jié)點(diǎn)不再無連接而是有連接的,并且隱藏層的輸入不僅包括輸入層的輸出還包括上一時刻隱藏層的輸出为鳄。
由于原文的代碼版本比較低,所以很多還要自己調(diào)整腕让,想一想還是把總的源碼貼上吧?GIT傳送
當(dāng)然孤钦,由于我的小破筆記本安裝的是CPU版本的Tensorflow,速度實(shí)在太慢纯丸,訓(xùn)練的時間就設(shè)的比較短偏形,當(dāng)然對于古詩詞這種藝術(shù)創(chuàng)作,目前AI還是基本無能為力液南,生成的東西也都是狗屁不通的壳猜,但是至少格式對了: