一、AI 智慧情詩、藏頭詩展示
最近使用PyTorch的LSTM訓練一個寫情詩(七言)的模型,可以隨機生成情詩、也可以生成藏頭情詩。
在特殊的日子用AI生成一首這樣的詩,是不是很酷??!下面分享下AI 智慧寫情詩原理。
二、AI 智慧寫情詩原理
1、AI 智慧寫情詩思想
通過學習既有的情詩,隨機或者依據給出的字,逐個完成下一個字的預測,直到一首詩全部預測完成。
預測過程大致如下:
2、情詩準備
在網上搜尋並收集情詩(本文七言),如https://github.com/chinese-poetry/chinese-poetry。
本文的情詩包含兩部分:
第一部分:原始的七言情詩
原始七言情詩,如:
相見時難別亦難, 東風無力百花殘。 春蠶到死絲方盡, 蠟炬成灰淚始幹。
第二部分:改造的七言情詩
為了把寫的比較好的五言、詞也納入到AI的學習中,將其改造生成七言情詩:改造後的為兩行一句,通過隨機匹配兩句組成一首詩,如:
日看鏡中問相思,溯游宛在水中央。 雁字多相思幾許,恰豆蔻詞工夢好。
3、模型訓練
3.1、處理情詩資料
第一步需要將準備好的情詩資料轉換為PyTorch LSTM模型需要的詞向量格式:
- 構建x,y
x=[相,見,時,難,別,亦,難,,,東,風,無,力,百,花,殘,。,春,蠶,到,死,絲,方,盡,,,蠟,炬,成,灰,淚,始,幹] y=[見,時,難,別,亦,難,,,東,風,無,力,百,花,殘,。,春,蠶,到,死,絲,方,盡,,,蠟,炬,成,灰,淚,始,幹,。]
- 將x對應的字,對應詞庫索引,對應向量;將y對應的字,對應詞庫索引,大致的過程如下:
3.2、構建情詩模型
第二步就是使用LSTM模型訓練情詩模型,大致過程如下:
相關的應用也在設計與研發中,期待和大家見面!