NLP实践项目五:基于GRU的古诗生成(pytorch实现)

2023-05-16

直接看代码:github传送门
数据集:古诗数据集

1. 数据预处理:

在这里插入图片描述
将古诗存为上图的格式,每行一首诗,便于使用torchtext读取。

2. 模型定义

    模型就是一个简单的GRU模型,

3. 模型训练和测试

    训练过程中如同翻译模型中的teaching forcing,输入是 [ < s t a r t > , x 1 , x 2 , . . . x n ] [<start>,x_1, x_2, ... x_n] [<start>,x1,x2,...xn],期待的输出是 [ x 1 , x 2 , x 3 , . . . , x n , < e n d > ] [x_1, x_2, x_3, ..., x_n,<end>] [x1,x2,x3,...,xn,<end>]
    训练完成后进行测试时也就是古诗生成时有两种可选模式,一种时将输入的文本作为古诗的开头,一种是将输入的句子的每个字作为每个诗句的开头(也就是生成藏头诗)。将输入作为开头的处理方式就是先将输入的x输入到GRU中,将最后一个time step的隐状态作为解码开始的隐状态,解码过程就是将上一步解码得到的输出作为下一个time step的输入,直到出现 < e n d > <end> <end>或者达到最大长度。如果是生成藏头诗,则在每一个句子的开头输入指定的单词,然后进行解码。
    本实验所用到的数据集较小,生成效果还不是很好,在小样本上进行过拟合实验没问题。
    结果展示:生成一首"花开有情"的藏头诗如下

花边行县柳,河桥晚泊船。
开远树,山鸟助酣歌。
有情何处,箫管凤初来。
情何处所,风吹青珊瑚,可怜王孙立。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NLP实践项目五:基于GRU的古诗生成(pytorch实现) 的相关文章

  • 中兴BA510(中国移动定制机)进工程模式恢复IMEI

    1 拨号盘输入 3646633 再拨号 xff0c 或者 3646633 xff0c 进入工程模式 2 找到RADIO information xff1a phone 1输入 AT 43 EMGR 61 1 7 34 IMEI号码1 34
  • excel 2007的筛选和自定义筛选及复制选中的筛选内容

    筛选 xff1a 选中行 xff0c 按快捷键 xff1a ALT 43 D 43 F 43 F 弹出自定义筛选 xff1a 选中列 xff0c 按快捷键 xff1a ALT 43 43 F 43 F 复制选中的筛选出来的内容 xff1a
  • Java编译环境在新版windows10中的设置

    最近升级了windows10最新版 xff0c 发现系统环境变量变了模样 xff0c 需要单独设置每个路径 xff0c 前版本 xff1a 变量名 xff1a Path 变量值 xff1a JAVA HOME bin JAVA HOME j
  • Windows系统与debian系统双系统安装

    1 资源网址 xff1a https msdn itellyou cn 下载 Windows 8 1 Pro 系统映像 xff1b 使用软碟通 xff08 UltraISO xff09 刻录安装镜像到U盘 xff1b 开机进入BIOS将其设
  • Win10使用Xrdp脚本远程桌面连接Ubuntu主机

    目录 使用场景 环境 安装步骤 远程桌面连接 使用场景 在Ubuntu主机上安装xrdp服务 xff0c windows远程桌面连接ubuntu主机 xff0c 方便快捷 尝试了网上一些方法 xff0c 繁琐且很多卡在远程桌面登录界面 xf
  • cef中js与C++交互

    cefquery方式交互 前端使用 window span class token punctuation span span class token function cefQuery span span class token punc
  • CodeForces 347C Alice and Bob

    在一个有n个不同数的集合里面 xff0c Alice 和Bob分别任选两个数 xff0c x y 要求 x y 不在集合中 xff0c 如果有一个人不能选 xff0c 则输了 xff0c Alice 先选择 求最后的胜利者 分析 xff0c
  • gopls安装失败后,解决问题的后续思路

    gopls安装失败后 xff0c 解决问题的后续思路 文档不严谨 xff0c 问题没有得到根本解决 xff0c 仅作为解决思路和现有线索的一个记录 vim go要求安装一个gopls的依赖包 xff0c 尝试的解决方法 但是直接安装的时候
  • 树莓派3B 环境搭建

    目录 前期准备获取系统格式化SD卡给SD卡烧录系统镜像上电调试查询树莓派IP在路由器中查看连入的设备分配的IP 查看PC的ARP表SSH连接配置树莓派 前期准备 首先 xff0c 需要一块树莓派3B 3B 43 的开发板 xff0c 然后需
  • 不想使用notepad++,快使用notepad--来替换

    相信越来越多的人已经认识到notepad 43 43 作者的可恶了 xff0c 我曾经也是notepad 43 43 的使用者 xff0c 当我看到它的作者一个台湾人 xff0c 明目张胆的利用软件开始宣传他的错误观点后 xff0c 便觉得
  • 替代Notepad++,可以试下notepad--,专门针对Notepad++替代而开发的简洁编辑器

    Nopepad 是一款使用C 43 43 编写的文本编辑器 可以支持Win Linux Mac平台 目标是要替换Notepad 43 43 xff0c 重点在国产Uos系统 Mac 系统上发展 一个支持windows linux mac的文
  • 把国外软件替换出去!Notepad--

    有程序员同行说 xff0c 自己不甘心只打工 xff0c 还想做点什么 对此我深有感触 打工十多年了 xff0c 除了颈椎越来越僵硬 xff0c 年岁越来越大 xff0c 被老板嫌弃以外 xff0c 没有其它可以拿出手的东西 我们都忘记了
  • 广播机制

    1 Android中的广播主要可以分为两种类型 xff0c 标准广播和有序广播 1 标准广播 xff08 Normal broadcasts xff09 是一种完全异步执行的广播 xff0c 在广播发出之后 xff0c 所有的广播接收器几乎
  • 洛谷——P3366 【模板】最小生成树

    题目描述 如题 xff0c 给出一个无向图 xff0c 求出最小生成树 xff0c 如果该图不连通 xff0c 则输出orz 输入格式 xff1a 第一行包含两个整数N M xff0c 表示该图共有N个结点和M条无向边 xff08 N lt
  • 网易云音乐缓存转换至mp3(Python实现)

    网易云音乐越来越多歌曲成VIP了 收获大批固定用户后 xff0c 开始恰饭了 利用python从缓存文件中获取MP3主要包括以下流程 xff1a 1 对缓存文件的数据和0xa3 163 进行异或 运算 2 用歌曲ID用网易云提供的API去获
  • Week4 作业 A - DDL 的恐惧【贪心算法】

    题目大意 给定n个作业ddl xff0c 以及每个作业如果没有按时完成扣掉的分数 ddl和分数都用整数表示 xff0c 一天可以完成一个作业 xff0c 求最少得扣多少分 输入 输入包含T个测试用例 输入的第一行是单个整数T xff0c 为
  • 关于如何快速删除流氓进程AlibabaProtect

    本人由于安装优酷客户端 删除后客户端后发现被莫名其妙安装了AlibabaProtect的文件夹和相关进程 而且打开任务管理器 xff0c 发现该进程还相当的吃资源 据介绍 该进程相当的流氓 但是却无法直接结束该进程 c盘下的 Program
  • Week4 作业 C - TT的神秘礼物【二分答案】

    题目描述 TT 是一位重度爱猫人士 xff0c 每日沉溺于 B 站上的猫咪频道 有一天 xff0c TT 的好友 ZJM 决定交给 TT 一个难题 xff0c 如果 TT 能够解决这个难题 xff0c ZJM 就会买一只可爱猫咪送给 TT
  • Week5 作业D - 滑动窗口[POJ - 2823]

    题目大意 输入 输出 基本思路 这个题的数据规模较大 xff0c k和n最大可以达到1e6 xff0c 因此如果我们暴力判断所有区间 窗口内元素的范围 中的最大值和最小值一定会超时 复杂度 O n 2
  • Week6限时大模拟 A - 掌握魔法の东东 II [Gym - 270437J]

    原题链接 https vjudge net problem Gym 270437J origin 题意 基本思路 本题数据规模不大 xff0c A B 100 A B 100

随机推荐

  • Clion环境下C++调用Python

    前提条件 已经安装好python环境 我使用的是Anaconda3 xff0c Python版本是3 7 安装好Clion 我使用的是CLion 2019 2 5 可能需要配置环境变量 我之前已经将python相关的环境变量配置好了 xff
  • Week13 作业A - TT 的神秘任务1[CodeForces - 1352B]

    题目描述 给定两个正整数n xff0c k xff0c 要求给出 k 个奇偶性相同的正整数 xff0c 使得其和等于 n 输入 第一行一个整数 T xff0c 表示数据组数 xff0c 不超过 1000 之后 T 行 xff0c 每一行给出
  • Week13 作业B - TT 的神秘任务2[CodeForces - 1352C]

    题目描述 给定两个整数n xff0c k xff0c 要求给出无法被n整除的第k个正整数 输入 第一行一个整数 T xff0c 表示数据组数 xff0c 不超过 1000 之后 T 行 xff0c 每一行给出两个正整数 xff0c 分别表示
  • CSP 201809-3 元素选择器(C++)

    题目描述 基本思路 过程及结构 问题解决方法过程及结构如下图所示 其中 xff0c read负责读取层叠样式信息 xff0c read query负责读取查询信息 读取一条处理一条 xff0c query负责处理一条查询信息 xff0c q
  • Week9 作业B - 东东学打牌 [计蒜客 - 41408]

    原题链接 https nanti jisuanke com t 41408 题目描述 基本思路 本题的关键问题在于玩家的排序 xff0c 首先根据手牌情况进行排序 xff0c 若手牌相同 xff0c 则根据name进行排序 为了更加方便的进
  • Week12作业 C -必做题 - 3 [HDU - 1024]

    题目链接 https vjudge net problem HDU 1024 题目描述 n个数的序列a xff0c 从中选取m个互不相交的闭区间 xff0c 使这些区间中的数的和最大 xff0c 输出最大和 1 i n 1e6 32768
  • 实验与分析 —— numpy.vectorize

    函数功能 numpy vectorize函数可以实现任意函数的向量化 xff0c 从而避免在python中使用循环 xff0c 提高效率 还真不一定能提高效率 另外 xff0c 用好函数的signature参数 xff0c 可以让本来就是处
  • nist sp 800-90(A|B|C) series RNG三部曲

    随机数生成器 熵源 随机比特生成器构造 一个公共的随机数信标 randomness beacon NIST Special Publication 800 90A Recommendation for Random Number Gener
  • [LeetCode 1765] 地图中的最高点

    文章目录 题目链接题目描述用例提示思路代码 题目链接 https leetcode cn com problems map of highest peak 题目描述 给你一个大小为m x n的整数矩阵isWater xff0c 它代表了一个
  • [LeetCode 1763] 最长的美好子字符串 [参考]

    文章目录 题目链接题目描述示例1示例2示例3示例4提示题解1题解2题解3 参考自官方题解 这是简单题 xff1f xff1f xff1f 数据规模后边加3个0直接玩完 题目链接 https leetcode cn com problems
  • 直方图均衡化原理推导

    问题描述 对于服从任意分布的连续型随机变量 R 0 R 1
  • 给吃饭嘎嘎香的李峋爱心代码

    span class token keyword import span random span class token keyword from span math span class token keyword import span
  • Linux服务器启动jar包报启动main类ClassNotFoundException

    Linux服务器启动jar包报启动main类启动异常 今天部署文件时遇到了启动异常报错 xff0c 在网上找了好久没发现我要的答案 xff0c 没办法只能自己找一下问题了 事件回顾 和往常一样打了个jar包就往服务器上扔 xff0c 启动时
  • sql中json数据的提取保存

    sql中json数据的提取保存 文章目录 sql中json数据的提取保存1 需求描述2 数据构建3 Json类型数据的提取令存3 1 代码分析3 2 结果呈现 4 jsonselect Onecount4 1 单key值需求4 2 代码编辑
  • pytorch DataLoader处理不定长序列

    本篇博客的目的是 xff1a 将下图这样的输入 xff08 每个tensor表示一个句子 xff0c 01为句子标签 xff09 xff1a 转化为下图所示的输出 xff08 batch size 61 2 xff09 元组的第一个元素为填
  • 《统计学习方法》之最大熵模型代码实现

    原理这里就不赘述了 见参考链接4 说一些自己学习时困惑的地方 xff0c 如果有不对的地方 xff0c 还望各位评论指正 下面从w的求解开始说起 xff0c 下面是模型的对数似然函数 xff1a w
  • NLP实践项目二:基于RNN、CNN的文本多分类(pytorch实现)

    直接看代码 xff1a github传送门 数据集 xff1a Classify the sentiment of sentences from the Rotten Tomatoes dataset 1 数据预处理 本项目实现了两种数据预
  • Vue3 中setup()和<script setup><script>

    setup 方法 在组件创建之前执行 xff0c 是组合式 API 的入口 方法可以接受两个参数 props 和 context setup方法中 xff0c 要将数据暴露给页面模板 xff0c 需要结合ref 和reactive xff0
  • NLP实践项目三:基于BiLSTM-CRF的实体识别(pytorch实现)

    直接看代码 xff1a github传送门 数据集 xff1a Conll2003 1 数据预处理 将txt中的文件读出然后将句子和对应的标签序列存入csv文件中 xff0c 便于使用torchtext完成数据读取 2 模型定义 上图是Bi
  • NLP实践项目五:基于GRU的古诗生成(pytorch实现)

    直接看代码 xff1a github传送门 数据集 xff1a 古诗数据集 1 数据预处理 xff1a 将古诗存为上图的格式 xff0c 每行一首诗 xff0c 便于使用torchtext读取 2 模型定义 模型就是一个简单的GRU模型 x