一、AI 智能情诗、藏头诗展示
最近使用PyTorch的LSTM训练一个写情诗(七言)的模型,可以随机生成情诗、也可以生成藏头情诗。
在特殊的日子用AI生成一首这样的诗,是不是很酷😎💘!下面分享下AI 智能写情诗原理。
二、AI 智能写情诗原理
1、AI 智能写情诗思想
通过学习既有的情诗,随机或者依据给出的字,逐个完成下一个字的预测,直到一首诗全部预测完成。
预测过程大致如下:
2、情诗准备
在网上搜索并收集情诗(本文七言),如GitHub - chinese-poetry/chinese-poetry: The most comprehensive database of Chinese poetry 🧶最全中华古诗词数据库, 唐宋两朝近一万四千古诗人, 接近5.5万首唐诗加26万宋诗. 两宋时期1564位词人,21050首词。The most comprehensive database of Chinese poetry 🧶最全中华古诗词数据库, 唐宋两朝近一万四千古诗人, 接近5.5万首唐诗加26万宋诗. 两宋时期1564位词人,21050首词。 - GitHub - chinese-poetry/chinese-poetry: The most comprehensive database of Chinese poetry 🧶最全中华古诗词数据库, 唐宋两朝近一万四千古诗人, 接近5.5万首唐诗加26万宋诗. 两宋时期1564位词人,21050首词。https://github.com/chinese-poetry/chinese-poetry
本文的情诗包含两部分:
第一部分:原始的七言情诗
原始七言情诗,如:
相见时难别亦难,
东风无力百花残。
春蚕到死丝方尽,
蜡炬成灰泪始干。
第二部分:改造的七言情诗
为了把写的比较好的五言、词也纳入到AI的学习中,将其改造生成七言情诗:改造后的为两行一句,通过随机匹配两句组成一首诗,如:
日看镜中问相思,溯游宛在水中央。
雁字多相思几许,恰豆蔻词工梦好。
3、模型训练
3.1、处理情诗数据
第一步需要将准备好的情诗数据转换为PyTorch LSTM模型需要的词向量格式:
- 构建x,y
x=[相,见,时,难,别,亦,难,,,东,风,无,力,百,花,残,。,春,蚕,到,死,丝,方,尽,,,蜡,炬,成,灰,泪,始,干] y=[见,时,难,别,亦,难,,,东,风,无,力,百,花,残,。,春,蚕,到,死,丝,方,尽,,,蜡,炬,成,灰,泪,始,干,。]
- 将x对应的字,对应词库索引,对应向量;将y对应的字,对应词库索引,大致的过程如下:
3.2、构建情诗模型
第二步就是使用LSTM模型训练情诗模型,大致过程如下:
三、「AI智能古诗」体验
🎉🎈相关的AIGC(AI Generate Content)应用「AI智能古诗」小程序上线啦!https://mp.weixin.qq.com/s/XQiJRT8w0_YmmH0fAZ9y2g!🌹💫✨「AI智能古诗」设计体验请查看《「AI智能古诗」体验设计》https://www.yuque.com/jingwhale/blog/wf7mga