2015-05-23 24 views
1

你們當中有些人可能已經閱讀this - 機器學習算法地雷Rap Lyrics,然後寫自己的文章。這給了我一個創作童話故事的靈感,因爲它主要是爲兒童寫的(可能很簡單而有趣)。我認爲這個生成過程可以看出優化問題。通過GA生成童話故事

Genetic algorithm似乎是解決優化問題的好方法。在互聯網上有很多資源(項目古騰堡,冷酷的童話集合等),可以用作算法的輸入(人口(童話故事集)&個人(每個童話故事)和它的元素(句子,情節,人物,事件等))。輸出將是一個至少可以理解的童話故事(不管它是無聊還是不重要)

所以我想知道是否有任何方法在python中創建程序?有沒有任何的Python庫?

而且我也不確定進化(變異,交換,育種)部分。它是如何完成的?

回答

1

首先,那個說唱歌詞生成器對我來說看起來並不是很讓人印象深刻,它只是從不同的歌曲中選擇線條,然後將它們混合在一起,使它們成爲韻律。文章甚至說,由此產​​生的詩沒有任何意義。我不知道爲什麼他們甚至不得不使用機器學習...

在我看來,那裏有更多令人印象深刻的類似工作,特別是this approach for generating Shakespearean sonnets。它更令人印象深刻,因爲該算法僅作爲合作者,讓人類做出決定。基本上,該算法學習了莎士比亞使用什麼樣的單詞,以及在哪些背景下,然後用它來爲人類開始的某些東西建議新單詞。有點像你的智能手機的鍵盤提示新單詞。

對於這兩種問題,我認爲遺傳算法是錯誤的路要走。它們很慢,雖然它們可以用作學習算法,但使用專門的算法可以獲得更好的結果。對於第二種方法(其中算法充當共同作者),你需要一些可以建議詞的東西(可以是從樸素貝葉斯到神經網絡和SVM的任何東西)。對於第一種方法(其中算法完全生成作品),您可以嘗試由說唱歌曲生成器的作者提供的方法,雖然看到他們的結果我真的不明白爲什麼簡單的韻律詞典也做伎倆。

據我所知,童話故事沒有像饒舌歌曲這樣簡單的結構,所以我相信你會有更多的成功,幫助你合着童話故事。如果您嘗試使用算法自行生成它們,結果將不會很好。