# GPT2 Chinese Poetry
## 致谢
项目参考了 [GPT2-Chinese](https://github.com/Morizeyao/GPT2-Chinese) 这个项目
训练数据为 [Poetry](https://github.com/Werneror/Poetry),我只保留了其中的五言、七言的绝句和律诗,处理后共计 55 万首诗歌数据
向两个仓库的作者的贡献表示感谢。
## 数据
数据集 [Poetry](https://github.com/Werneror/Poetry) 处理过滤后的原始数据统计为:
![img.png](assets/img.png)
训练数据 `train.csv` 格式为 `格式,主题,朝代,作者,藏头字,诗歌`,大小为 115 MB
我训练好的模型 `final_model/` 文件夹大小为 407 MB
我把两个文件放到了这里:
链接:https://pan.baidu.com/s/1s5V3c0bSqvmDQ_C5w8CXrg
提取码:zvlj
下载后把 `train.csv` 放到 `data/` 目录下,把 `final_model.7z` 解压后放到 `model/` 目录下即可
## 介绍
- `train.py` 训练部分代码
- `generate.py` 生成部分代码
- `frontapp.py` 前端部分代码
- `/config` 模型参数配置,其中的 vocab_size 一定要设置成和选用词表大小相同
- `/model` 模型存放位置
- `/data` 训练原始数据及 tokenize 之后的数据存放位置
- `/vocab` 词表存放位置,本项目偷懒直接使用了 [GPT2-Chinese](https://github.com/Morizeyao/GPT2-Chinese) 项目提供的 `vocab_guwen.txt`,也可以自己根据原始数据生成词表,可能需要修改一下 `make_vocab.py` 文件
- `/tensorboard_summary` 存放了训练过程中 loss 的变化图,项目路径下运行 `tensorboard --logdir=tensorboard_summary` 即可查看
使用的关键库为 transformer 的 GPT2LMHeadModel 以及 tokenization_bert,GPT2LMHeadModel 用于创建 GPT-2 模型,tokenization_bert 用于分词。
处理过后的数据放在了 `data/train.csv`,训练时将语料处理成了 `格式[SEP]藏头字[SEP]诗歌内容` 的形式,故生成的时候可以通过指定开头为 `格式[SEP]藏头字` 来实现特定格式和特定藏头字的 trick
## 如何训练
运行 `python train.py` 后面加参数即可,具体参数及说明可通过 `python train.py --help` 查看
## 如何使用命令行生成
运行 `python generate.py` 后面加参数即可,这里给出如何限定题材和藏头字的示例:
`python ./generate.py --length=34 --nsamples=4 --prefix=七言绝句[SEP]风和日丽`
这里给出不同格式对应的长度参数:
- 七言律诗 65
- 五言律诗 50
- 七言绝句 34
- 五言绝句 26
生成的结果为:
```angular2html
======================================== SAMPLE 1 ========================================
七言绝句
风和日丽
风来水面漾清漪,和雨和烟上下迟。日暮归船归去好,丽华三月已开时。
======================================== SAMPLE 2 ========================================
七言绝句
风和日丽
风流人物竞争妍,和气氤氲上九天。日暖风和莺语滑,丽晴时节燕声喧。
======================================== SAMPLE 3 ========================================
七言绝句
风和日丽
风光一样异凡庸,和气氤氲散绮栊。日午笙歌喧百里,丽人队队舞春风。
======================================== SAMPLE 4 ========================================
七言绝句
风和日丽
风清帘幕晚生香,和气氤氲袭彩裳。日暖游丝飞不定,丽人无语自生凉。
================================================================================
```
## 如何使用前端体验
运行 `streamlit run .\frontapp.py` 并进入页面即可。
## todo[也许会鸽]
- 增加 诗歌风格 用于训练,例如“金戈铁马”、“赠友送别”。要获得风格数据训练,需要使用文本聚类等一系列分析方法。这样之后生成的时候也可以指定风格。
- 适配更多格式的诗句,不仅限于绝句(四句)和律诗(八句),这样藏头字就不会被限制只能为四字和八字
对于改进思路有建议的欢迎提 issue 或者 pr 交流
没有合适的资源?快使用搜索试试~ 我知道了~
基于GPT-2的古诗生成,支持指定诗歌格式(五言、七言 绝句、律诗)以及藏头字.zip
![preview](https://csdnimg.cn/release/downloadcmsfe/public/img/white-bg.ca8570fa.png)
共17个文件
txt:6个
py:4个
json:3个
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
需积分: 5 0 下载量 31 浏览量
2024-05-11
20:50:00
上传
评论
收藏 482KB ZIP 举报
温馨提示
GPT, 通常指的是“Generative Pre-trained Transformer”(生成式预训练转换器),是一个在自然语言处理(NLP)领域非常流行的深度学习模型架构。GPT模型由OpenAI公司开发,并在多个NLP任务上取得了显著的性能提升。 GPT模型的核心是一个多层Transformer解码器结构,它通过在海量的文本数据上进行预训练来学习语言的规律。这种预训练方式使得GPT模型能够捕捉到丰富的上下文信息,并生成流畅、自然的文本。 GPT模型的训练过程可以分为两个阶段: 预训练阶段:在这个阶段,模型会接触到大量的文本数据,并通过无监督学习的方式学习语言的结构和规律。具体来说,模型会尝试预测文本序列中的下一个词或短语,从而学习到语言的语法、语义和上下文信息。 微调阶段(也称为下游任务训练):在预训练完成后,模型会被应用到具体的NLP任务中,如文本分类、机器翻译、问答系统等。在这个阶段,模型会使用有标签的数据进行微调,以适应特定任务的需求。通过微调,模型能够学习到与任务相关的特定知识,并进一步提高在该任务上的性能。 GPT模型的优势在于其强大的生成能力和对上下文信息的捕捉能力。这使得GPT模型在自然语言生成、文本摘要、对话系统等领域具有广泛的应用前景。同时,GPT模型也面临一些挑战,如计算资源消耗大、训练时间长等问题。为了解决这些问题,研究人员不断提出新的优化方法和扩展模型架构,如GPT-2、GPT-3等,以进一步提高模型的性能和效率。
资源推荐
资源详情
资源评论
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![exe](https://img-home.csdnimg.cn/images/20210720083343.png)
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
共 17 条
- 1
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/d7864c98224046ec9a7f43fa6207c84e_qq_51320133.jpg!1)
生瓜蛋子
- 粉丝: 3828
- 资源: 5775
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)