作者|Aaron Abrahamson
編譯|VK
來源|Towards Data Science
在沙丘魔堡2000上訓練文本生成模型
沙丘魔堡是一個遙遠的封建社會的故事,它關注的是一位公爵和他的家人,他們被迫成為沙漠星球阿拉基斯的管理者,弗蘭克·赫伯特在1965年出版了這部經典作品,幾乎任何現代科幻小說都可以追溯到沙丘的某些元素,
我最近完成了《沙丘》的續集《沙丘的彌賽亞》,并且剛剛開始了《沙丘的孩子》系列的第三部,有六個故事最初是赫伯特寫的,后來又有一大堆是他兒子寫的,我沒讀過那些,
我一直在探索文本生成模型,我覺得用沙丘試試會很有趣,很多的“經典”機器學習模型被用于預測和聚類,生成性建模允許模型創建角度從中學習的訓練資料,最近一個關于生成建模能力的例子是StyleGAN,看看這段視頻(https://www.youtube.com/watch?v=kSLJriaOumA),
這里有一個鏈接到我在這個專案中使用的Colab筆記本(https://drive.google.com/file/d/15Z7SNBnBL12acmUGvvMLQ-OoMspb-B5k/view?usp=sharing),
處理程序
-
獲取文本資料的語料庫
-
資料清洗,我有一些unicode字符,每當有分頁符的時候就會出現“page”這個詞,這個詞是沒有用的,每一章的開頭都有一段摘自世界上的回憶錄或書籍,我決定把它們拿出來,我還洗掉了每章的后半部分,以幫助處理時間,
-
標記化,這是洗掉標點符號,使內容小寫,然后將長字串拆分為每個單獨的單詞,模型將學習這些單詞標記的順序和頻率,另外請注意,對于這種NLP任務,我們不洗掉停用詞
-
建立模型,請確保使用LSTM層,并且輸出層是詞匯表的大小,基本上,它所做的是對下一個單詞可能是什么進行分類,只需輸入少量的文本https://my.openwrite.cn/logout
-
訓練模型,Keras建議至少20個epoch,我運行了33個epoch,
-
生成文本,我將在下面展示模型的一些輸出
第一章:男爵
我想在一段時間后測驗一下,看看會有什么結果,種子詞是“男爵”(Baron),是書中一個卑鄙的對手,
‘Baron The Baron Of The Baron Of The Baron Of The Baron Of The Baron Of The Baron Of The Baron Of The Baron Of The Baron Of The Baron Of The Baron Of The Baron Of The Baron Of The Baron Of The Baron Of The Baron Of The Baron Of The Baron Of The Baron Of The Baron Of The Baron Of The Baron Of The Baron’
一直是這樣,一點也不好,
33個epoch之后的模型做得非常好,但它仍然陷入回圈,只是不停地發出各種名詞,下面是種子單詞Spice的輸出結果:
The Spice Itself Stood Out To The Left Wall The Fremen Seeker Followed The Chains The Troop Was A Likely Shadow And The Natural Place Of The Great Places That Was A Subtle City Of The Room'S Features That The Man Was A Master Of The Cavern The Growing The Bronze The Sliding Hand
以下是“Paul”(主角)的輸出:
Paul Stood Unable To The Duke And The Reverend Mother Ramallo To The Guard Captain And The Man Looked At Him And The Child Was A Relief One Of The Fremen Had Been In The Doorway And The Fedaykin Control Them To Be Like The Spice Diet Out Of The Wind And The Duke Said I Am The Fremen To Get The Banker Said When The Emperor Asked His Fingers Nefud I Know You Can Take The Duchy Of Government The Sist The Duke Said He Turned To The Hand Beside The Table The Baron Asked The Emperor Will Hold
下面是“She looked”的輸出:
'She Looked At The Transparent End Of The Table Saw A Small Board In The Room And The Way Of The Old Woman He Had Been Sent By The Wind Of The Duke And The Worms They Had Seen The Waters Of The Desert And The Sandworms The Troop Had Been Subtly Prepared By The Wind Of The Worm Had Been Subtly Always In The Deep Sinks Of The Women And The Duke Had Been Given Last Of Course But The Others Had Been In The Fremen Had Been Shaped On The Light Of The Light Of The Hall Had Had Seen'
想法和下一步
我認為這絕對是進步和進步的表現,我想把它訓練到至少100個epoch,但進展緩慢,每個epoch大約11分鐘,所以總共超過18個小時,我需要一臺更好的電腦,
最后,我想補充一點,這樣做的諷刺意味并沒有讓我忘記,在《沙丘宇宙》中,在遠古時代的某個時刻,“會思考的電腦”反抗人類,幾乎將人類滅絕,在這本書的時代,計算機已經被“mentats”所取代,反而是人類被培養和訓練來模仿計算機的計算能力,
原文鏈接:https://towardsdatascience.com/the-text-must-flow-3bb4edff7b5b
歡迎關注磐創AI博客站:
http://panchuang.net/
sklearn機器學習中文官方檔案:
http://sklearn123.com/
歡迎關注磐創博客資源匯總站:
http://docs.panchuang.net/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/2250.html
標籤:其他
