AI 智能写情诗、藏头诗
一、AI 智能情诗、藏头诗展示
最近使用PyTorch的LSTM训练一个写情诗(七言)的模型,可以随机生成情诗、也可以生成藏头情诗。

在特殊的日子用AI生成一首这样的诗,是不是很酷!下面分享下AI 智能写情诗原理。
二、AI 智能写情诗原理
1、AI 智能写情诗思想
通过学习既有的情诗,随机或者依据给出的字,逐个完成下一个字的预测,直到一首诗全部预测完成。
预测过程大致如下:

2、情诗准备
在网上搜索并收集情诗(本文七言),如https://github.com/chinese-poetry/chinese-poetry。
本文的情诗包含两部分:
第一部分:原始的七言情诗
原始七言情诗,如:
相见时难别亦难,
东风无力百花残。
春蚕到死丝方尽,
蜡炬成灰泪始干。
第二部分:改造的七言情诗
为了把写的比较好的五言、词也纳入到AI的学习中,将其改造生成七言情诗:改造后的为两行一句,通过随机匹配两句组成一首诗,如:
日看镜中问相思,溯游宛在水中央。
雁字多相思几许,恰豆蔻词工梦好。
3、模型训练
3.1、处理情诗数据
第一步需要将准备好的情诗数据转换为PyTorch LSTM模型需要的词向量格式:
- 构建x,y
 
x=[相,见,时,难,别,亦,难,,,东,风,无,力,百,花,残,。,春,蚕,到,死,丝,方,尽,,,蜡,炬,成,灰,泪,始,干]
y=[见,时,难,别,亦,难,,,东,风,无,力,百,花,残,。,春,蚕,到,死,丝,方,尽,,,蜡,炬,成,灰,泪,始,干,。]
- 将x对应的字,对应词库索引,对应向量;将y对应的字,对应词库索引,大致的过程如下:
 

3.2、构建情诗模型
第二步就是使用LSTM模型训练情诗模型,大致过程如下:

相关的应用也在设计与研发中,期待和大家见面!


AI 智能写情诗、藏头诗的更多相关文章
- 用Python优雅的写出送给女儿的藏头诗
		
2016年迎来了我的小土匪,忙活了一年,在17年的4月加班的夜里因思念以小土匪的名字写了一首藏头发了朋友圈,不温不火,最近在看python,那么如何用python优雅的用写出这首诗了? 执行 代码 i ...
 - PTA实验11-1-7 藏头诗 (15分)
		
实验11-1-7 藏头诗 (15分) 本题要求编写一个解密藏头诗的程序. 输入格式: 输入为一首中文藏头诗,一共四句,每句一行.注意:一个汉字占两个字节. 输出格式: 取出每句的第一个汉字并连接在一起 ...
 - NYOJ题目817英文藏头诗
		
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtEAAAKXCAIAAADLqoEhAAAgAElEQVR4nO3dO1LrzNbG8W8S5AyE2D
 - 七夕节来啦!AI一键生成情诗,去发给你的女朋友吧!
		
[摘要] Hello大家好,今天就是七夕节了,为了增进和女朋友之间的情感,我写了一个自动生成情诗的AI: 大家可以在ModelArts尝试复现模型,然后快去发给你们的女朋友吧- 大家好,我是b站up主 ...
 - AI智能外呼机器人网络拓扑结构笔记
		
最近开发了一套AI智能外呼机器人系统,系统主要有3部分组成:web管理平台:呼叫机器人:SIP软交换.具体网络拓扑结构如下图: 三部分主要功能如下: 1.web管理平台:话术管理.任务管理.线路管理. ...
 - 用电销机器人让电销企业迈入AI智能时代
		
2019年是AI智能快速发展的一年,有非常多的企业已经用AI智能代替原有的传统员工做重复性高的工作,就拿销售行业来说,为了让电销员工提升工作效率,拥有更多的成单,大部分有电销岗位的公司都会把重复率较高 ...
 - AI智能皮肤测试仪助力美业数字化营销 实现门店与用户双赢局面
		
当皮肤遇到AI智能,会有怎么样的火花呢?随着生活水平的提升,人们对肌肤保养护理的需求也越来越高,人要美,皮肤养护也要更精准,数字化必将成为美业发展的新契机.新机遇下肌肤管家SkinRun为美业客户提供 ...
 - 人工智能AI智能加速卡技术
		
人工智能AI智能加速卡技术 一. 可编程AI加速卡 1. 概述: 这款可编程AI加速器卡具备 FPGA 加速的强大性能和多功能性,可部署AI加速器IP(WNN/GNN,直接加速卷积神经网络,直接运行常 ...
 - 36氪首发 | 「myShape」完成千万级人民币 Pre-A轮融资,推出 AI 智能健身私教
		
无需任何可穿戴设备. 36氪获悉,myShape(原Shapejoy)已于近期完成千万级人民币的Pre-A轮融资,由天奇阿米巴领投,远洋集团.七熹资本以及老股东跟投.过去 myShape 曾获得元迅资 ...
 
随机推荐
- CS5211设计EDP转LVDSA转接屏|替代LT7211|DP转LVDS屏驱动 转接板
			
LT7211是一种用于虚拟现实/显示应用的高性能C/DP1.2至LVDS芯片. 对于DP1.2输入,LT7211可以配置为1.2.4车道,还支持车道交换功能.自适应均衡使其适用于长电缆应用,最大带宽可 ...
 - Gradle sync failed (3 s 402 ms) - Android Studio问题解决方法
			
问题:Gradle同步失败 解决方法: 删除gradle-wrpper.jar中的 implementation 'com.android.support:design:30.+' 最后在Build中 ...
 - PHP 中的多进程使用,进程通信、进程信号等详解
			
多进程环境要求 Linux 系统 php-cli 模式 pcntl 扩展 或 swoole 扩展 pcntl 扩展 <?php $str = "hello world!" . ...
 - CSS实战 模拟 新闻列表
			
总结:所使用的知识点:1.padding应用以及box-sizing: border-box自动内减撑大的盒子 2.ul>li 的使用,去除黑圆圈 3.a标签的使用,去除默认样式<下划线& ...
 - python 使用demical模块四舍五入
			
前言: 断言部分需要用到四舍五入,首先使用的是python自带的round(),做四舍五入进位处理,但使用过程中,发现round似乎是当保留小数位的最后一位是偶数,和保留小数位后一位为5时,就不进位. ...
 - Selenium_使用Select类对象处理下拉框(15)
			
select标签的下拉框可以使用selenium的 Select模拟下拉框选择操作. Select需要导入才能使用,导入路径如下 from selenium.webdriver.support.ui ...
 - spring boot pom.xml 提示 ignored 具体解决
			
1.出现这个情况 2. 进入设置,找到 去掉勾选即可
 - 第10组 Beta冲刺 总结(组长)
			
1.基本情况 组长博客链接:https://www.cnblogs.com/cpandbb/p/14050808.html 答辩总结: ·因为alpha阶段的产品做得偏离了方向,所以beta冲刺大家非 ...
 - Go语言系列之性能调优
			
在计算机性能调试领域里,profiling 是指对应用程序的画像,画像就是应用程序使用 CPU 和内存的情况. Go语言是一个对性能特别看重的语言,因此语言中自带了 profiling 的库,这篇文章 ...
 - HDU 1106 (1.3.5) 排序 (C语言描述)
			
排序 Problem Description 输入一行数字,如果我们把这行数字中的'5'都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以'0'开头,这些头部的'0'应该被忽略掉,除非 ...