![](https://csdnimg.cn/release/download_crawler_static/89341492/bg1.jpg)
实验三 自动写诗
1
实验三 自动写诗
一、 实验目的
1. 理解和掌握循环神经网络概念及在深度学习框架中的实现。
2. 掌握使用深度学习框架进行文本生成任务的基本流程:如数据读取、构造网
络、训练和预测等。
二、 实验要求
1. 基于 Python 语言和任意一种深度学习框架(实验指导书中使用 Pytorch 框架
进行介绍),完成数据读取、网络设计、网络构建、模型训练和模型测试等过
程,最终实现一个可以自动写诗的程序。网络结构设计要有自己的方案,不
能与实验指导书完全相同。
2. 随意给出首句,如给定“湖光秋月两相和”,输出模型续写的诗句。也可以根
据自己的兴趣,进一步实现写藏头诗(不做要求)。要求输出的诗句尽可能地
满足汉语语法和表达习惯。实验提供预处理后的唐诗数据集,包含 57580 首
唐诗(在课程网站下载),也可以使用其他唐诗数据集。
3. 按规定时间在课程网站提交实验报告、代码以及 PPT。
三、 实验原理
实验使用到的网络结构主要有 Embedding、LSTM 以及全连接层。在 Pytorch
中分别定义如下:
1. Class torch.nn.Embedding(num_embeddings, embedding_dim,
padding_idx=None, max_norm=None, norm_type=2.0,
scale_grad_by_freq=False, sparse=False, _weight=None)
参数介绍:
◼ num_embeddings: 词汇表的大小。
◼ embedding_dim: 每个嵌入向量的维度。
◼ padding_idx: 如果提供的话,输出遇到此下标时用零填充。
◼ max_norm: 如果提供的话,会对词嵌入进行归一化,使它们的范数小
于提供的值。
◼ norm_type: 对于 max_norm 选项计算 p 范数时的 p。