这篇文章主要介绍了利用Python PaddleNLP实现自动生成虎年藏头诗功能,文中的示例代码讲解详细,感兴趣的同学可以跟随小编一起试一试。Python编程学习资料点击免费领取
目录
1.paddlenlp升级
2.提取诗头
3.生成词表
4.定义dataset
二、定义模型并训练
1.模型定义
2.模型训练
3.模型保存
三、生成藏头诗
总结
一、 数据处理
本项目中利用古诗数据集作为训练集,编码器接收古诗的每个字的开头,解码器利用编码器的信息生成所有的诗句。为了诗句之间的连贯性,编码器同时也在诗头之前加上之前诗句的信息。举例:
“白日依山尽,黄河入海流,欲穷千里目,更上一层楼。” 可以生成两个样本:
样本一:编码器输入,“白”;解码器输入,“白日依山尽,黄河入海流”
样本二:编码器输入,“白日依山尽,黄河入海流。欲”;解码器输入,“欲穷千里目,更上一层楼。”
1.paddlenlp升级
1 |
!pip install - U paddlenlp |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
Looking in indexes: https: / / pypi.tuna.tsinghua.edu.cn / simple Collecting paddlenlp [? 25l Downloading https: / / pypi.tuna.tsinghua.edu.cn / packages / 17 / 9b / 4535ccf0e96c302a3066bd2e4d0f44b6b1a73487c6793024475b48466c32 / paddlenlp - 2.2 . 3 - py3 - none - any .whl ( 1.2MB ) [K |████████████████████████████████| 1.2MB 11.2MB / s eta 0 : 00 : 01 [? 25hRequirement already satisfied, skipping upgrade: h5py in / opt / conda / envs / python35 - paddle120 - env / lib / python3. 7 / site - packages ( from paddlenlp) ( 2.9 . 0 ) Requirement already satisfied, skipping upgrade: colorlog in / opt / conda / envs / python35 - paddle120 - env / lib / python3. 7 / site - packages ( from paddlenlp) ( 4.1 . 0 ) Requirement already satisfied, skipping upgrade: colorama in / opt / conda / envs / python35 - paddle120 - env / lib / python3. 7 / site - packages ( from paddlenlp) ( 0.4 . 4 ) Requirement already satisfied, skipping upgrade: seqeval in / opt / conda / envs / python35 - paddle120 - env / lib / python3. 7 / site - packages ( from paddlenlp) ( 1.2 . 2 ) Requirement already satisfied, skipping upgrade: jieba in / opt / conda / envs / python35 - paddle120 - env / lib / python3. 7 / site - packages ( from paddlenlp) ( 0.42 . 1 ) Requirement already satisfied, skipping upgrade: multiprocess in / opt / conda / envs / python35 - paddle120 - env / lib / python3. 7 / site - packages ( from paddlenlp) ( 0.70 . 11.1 ) Requirement already satisfied, skipping upgrade: six in / opt / conda / envs / python35 - paddle120 - env / lib / python3. 7 / site - packages ( from h5py - >paddlenlp) ( 1.16 . 0 ) Requirement already satisfied, skipping upgrade: numpy> = 1.7 in / opt / conda / envs / python35 - paddle120 - env / lib / python3. 7 / site - packages ( from h5py - >paddlenlp) ( 1.20 . 3 ) Requirement already satisfied, skipping upgrade: scikit - learn> = 0.21 . 3 in / opt / conda / envs / python35 - paddle120 - env / lib / python3. 7 / site - packages ( from seqeval - >paddlenlp) ( 0.24 . 2 ) Requirement already satisfied, skipping upgrade: dill> = 0.3 . 3 in / opt / conda / envs / python35 - paddle120 - env <
|