您的位置智轩软件网 计算机毕业设计 信息管理系统设计>Python>Python>基于LSTM + keras 的古诗生成器>

基于LSTM + keras 的古诗生成器

发布时间:2020-8-29浏览:

核心提示:基于LSTM + keras 的古诗生成器

  • .语料准备:包含 5.5 万首唐诗、26 万首宋诗、2.1 万首宋词和其他古典文集。诗人包括唐宋两朝近 1.4 万古诗人,和两宋时期 1.5 千古词人。数据来源于互联网。每行一首诗,标题在预处理的时候已经去掉了。
  • 2.模型参数配置:预先定义模型参数和加载语料以及模型保存名称,通过类 Config 实现。
  • 3.文本读取预处理:过滤掉低频字,构建词典与词典id的映射。
  • 4.构建模型:

 模型代码

 

第一行: 构造输入向量

  • 第二行,构造了一个LSTM layer, hidden units size = 512
  • 第三行,构造了一个dropout layer,dropout rate = 0.6
  • 第四行,构造了一个LSTM layer,hidden units size = 256
  • 第五行,构造了一个dropout layer,dropout rate = 0.6
  • 第六行,构造了一个全连接层+softmax 作为 output layer
  • 第七行,利用 inputs 和 outputs 构造Model
  • 第八行,使用 Adam 优化器
  • 第九行,compile model,指定了模型的损失函数类型为交叉熵损失,优化器以及评价指标

数据训练花很长时间,训练完成之后,原始的代码一共提供了4个进行predict 的API:

  • predict_first:给定一个汉字,输出一首五言绝句
  • predict_random:随机从全部的训练诗作当中抽出一首诗的首句,然后生成一首诗
  • predict_gen:给定五个汉字作为首句,生成一首五言绝句
  • predict_hide:给定四个汉字,输出以这个四个汉字开头的藏头诗

运行:

随机生成古诗如下

 

古诗生成

给定一个汉字

python predict_poem.py -pf 李

生成

李相时老玉,山终北合徒。游无归吾西,间人老无曙。

给定四个汉字

python predict_poem.py -ph 我爱李月

生成古诗

我鸣朝东秋,爱青无空归。李五亲日光,月鱼不时绿。

https://blog.csdn.net/bysjlwdx/article/details/108152062


前一篇:定做程序设计
后一篇:Android Studio 电子书阅读器 双端程序

分享到: