LSTM写仿造诗经作诗

这段内容展示了如何使用TensorFlow和LSTM神经网络模型训练一个生成古风诗词的系统。通过读取诗经文本,创建词汇表,将文本转化为整数序列,并设置序列长度,构建了一个RNN模型进行训练。训练后的模型能够生成类似诗经风格的诗词,如‘窈窕泥觼湿。方有娈君子,惄焉?其常则?今我不能今。天后之德,胡然国成?有自君子,归哉极哉!’。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

"窈窕泥觼湿。方有娈君子,惄焉?其常则?今我不能今。天后之德,胡然国成?有自君子,归哉极哉!"

    这几句诗词看上去是不是有点诗经的味道,细看却是一窍不通,这个全都是LSTM学习了诗经后自动生成的。

import tensorflow as tf
import numpy as np
import os
import time
import textwrap
# 读取并为 py2 compat 解码
text = open("../poem_lstm_practice/poem.txt", 'rb').read().decode(encoding='utf-8')

# 文本长度是指文本中的字符个数
print ('Length of text: {} characters'.format(len(text)))
# 看一看文本中的前 250 个字符
print(text[:250])
Length of text: 37551 characters

关关雎鸠,在河之洲。窈窕淑女,君子好逑。参差荇菜,左右流之。窈窕淑女,寤寐求之。求之不得,寤寐思服。悠哉悠哉,辗转反侧。参差荇菜,左右采之。窈窕淑女,琴瑟友之。参差荇菜,左右芼之。窈窕淑女,钟鼓乐之。
葛之覃兮,施于中谷,维叶萋萋。黄鸟于飞,集于灌木,其鸣喈喈。葛之覃兮,施于中谷,维叶莫莫。是刈是濩,为絺为绤,服之无斁。言告师氏,言告言归。薄污我私,薄浣我衣。害浣害否,归宁父母。
采采卷耳,不盈顷筐。嗟我怀人,置彼周行。陟彼崔嵬,我马虺隤。我姑酌彼金罍,维以不永怀。陟彼高冈,我马玄黄。我
# 文本中的非重复字符
vocab = sorted(set(text))
print ('{} unique characters'.format(len(vocab)))
2798 unique characters
# 创建从非重复字符到索引的映射
char2idx = {u:i for i, u in enumerate(vocab)}
print(char2idx)
idx2char = np.array(vocab)

text_as_int = np.array([char2idx[c] for c in text])
# 设定每个输入句子长度的最大值
seq_length = 100
examples_per_epoch = len(text)//seq_length
# 创建训练样本 / 目标
char_dataset = tf.data.Dataset.from_tensor_slices(text_as_int)
for i in char_dataset.take(5):
    print(idx2char[i.numpy()])


关 关 雎

sequences = char_dataset.batch(seq_length+1, drop_remainder=True)

for item in sequences.take(5):
  print(repr(''.join(idx2char[item.numpy()])))
'\r\n关关雎鸠,在河之洲。窈窕淑女,君子好逑。参差荇菜,左右流之。窈窕淑女,寤寐求之。求之不得,寤寐思服。悠哉悠哉,辗转反侧。参差荇菜,左右采之。窈窕淑女,琴瑟友之。参差荇菜,左右芼之。窈窕淑女,钟鼓乐之'
'。\r\n葛之覃兮,施于中谷,维叶萋萋。黄鸟于飞,集于灌木,其鸣喈喈。葛之覃兮,施于中谷,维叶莫莫。是刈是濩,为絺为绤,服之无
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值