一种基于GRU神经网络的英文诗歌生成系统

本文介绍了一种基于GRU模型的英文散文诗自动生成方法。该方法首先建立了一个包括弗罗斯特和约翰·济慈等人作品在内的英文诗语料库,并使用深度学习技术训练模型。此外,还详细介绍了训练过程及代码实现。

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

        诗歌是一种有着特殊魅力的文学体裁,是一种人类文明发展的象征。在当前时代下,使用计算机对散文诗进行模拟生成成为自然语言生成领域的一个挑战。本文通过建立英文诗语料库,基于深度学习模型进行散文诗创作,实现散文诗的计算机辅助创作。它可以为广大的英文诗歌文学爱好者提供很大便利,同时也有助汉英文诗的传播与宣扬。本文设计了GRU模型进行训练,然后利用GRU模型权重实现自动生成器系统。

数据集:

        诗歌的数据集包含:弗罗斯特(Frost)和约翰·济慈(John Keats)等人的诗歌或者诗词等。

训练模型的代码如下:

def word2index(word):
    return word_model.wv.vocab[word].index


def index_to_word(index):
    return word_model.wv.index2word[index]


xs = np.zeros([len(words), max_len], dtype=np.int32)
ys = np.zeros([len(words)], dtype=np.int32)
for i, sent in enumerate(words):
    if sent:
        for t, word in enumerate(sent[:-1]):
            xs[i, t] = word2index(word)
        ys[i] = word2index(sent[-1])


model = Sequential()
model.add(Embedding(input_dim=vocab_size,
                    output_dim=embedding_size, weights=[pretrained_weights]))
model.add(GRU(units=embedding_size, return_sequences=True))
model.add(GRU(units=embedding_size))
model.add(Dropout(0.4))
model.add(Dense(units=vocab_size, activation="softmax"))
adam = Adam(lr=0.01)
model.compile(loss="sparse_categorical_crossentropy",
              optimizer=adam, metrics=["SparseCategoricalAccuracy"])
history = model.fit(xs, ys, batch_size=128, epochs=100, verbose=1)

if not os.path.exists('../model'):
    os.makedirs('../model')
model.save("../model/poet_gru_model.h5")

        它使用训练在模型语料库上的Word2Vec词嵌入来推断相似的词。如果没有找到这样的单词,它会从词汇表中选择一个与前一句的最后一个单词押韵的单词。如果在词汇表中找不到押韵的单词,生成器将停止执行。

实现的界面如下:

完整代码:点击添加群:正在跳转

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深度学习设计与实现

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值