自动写诗APP项目、基于python+Android实现(技术:LSTM+Fasttext分类+word2vec+Flask+mysql)第一节
首先,展示一下项目最终结果:
寒梅 月夜
腊雪初开绿阴雨, 疏疏深处不相侵。 声声不断夜月明,竹影摇摇兮山云。
数点花枝无限意, 寒梅一片雪中吟。 阶下梧桐秋色冷,意长风月不可听。
秋思 思乡
秋风吹雨雨霏霏,念客相思不见人。 夜来风雨风吹月,泊客风霏月满船。
孤水不知无处处,独来春雨不知愁。 异人何处相思梦,念君无是故人归。
泊人风雨无人去,怀客相逢一鬓开。 悲声不分无人事,独尽谁怜一日时。
漂漫江山无不寐,思君何处更相逢。 晚夜不堪春水去,怀人何处醉相思。
整个项目大体分为4部分:
- 30万首诗歌分类(基于Fasttext文本分类实现)
- 用户主题词,相似词计算(基于word2vec实现)
- 诗歌生成(应用tensorflow搭建的LSTM模型实现)
- 前端展示(flask框架做服务器+MySQL数据库保存+Android前端展示)
创新:
- 诗歌中2/4/6/8句最后一个字押韵,按《汉字押韵字表》进行的筛选。
- 诗歌类别针对性强,根据用户给定的主题词,生成以此主题为核心的诗歌。
- 生成诗歌的每个字都经过《诗学含英》,进行了概率权重计算。
《诗学含英》此书是按韵分部,包罗天文地理,花木鸟兽,人物器物等的虚实应对。从单字到双字,三字对,五字对,七字对到十一字对,节奏明快琅琅上口,从中可得语音,修辞的训练。
整个项目的系统框架如下:
流程:
首先,把近30万首诗歌分为5类,分别训练5类诗歌的数据得到5个LSTM网络模型。
根据用户输入的主题词,由word2vec计算主题词与每类诗歌15个关键词的相似度,判断其最可能所属的类别。
再由所属类别的word2vec模型生成与主题词最相似的6个相似词,并结合主题词一同作为后续每句诗歌开头字的候选集合。
通过LSTM模型生成候选字,再通过《诗学含英》的概率权重计算,选择最终概率最高的作为生成字。
在生成2、4、6、8句诗的最后一个字时,按照《汉字押韵字表》进行筛选过滤,来实现押韵特征。
最后服务器将生成的诗歌返回给前端APP进行展示。
一 、诗歌分类:
首先,在古诗文网上爬取五类诗歌(边塞征战,写景咏物,山水田园,思乡羁旅,咏史怀古)各600首作为分类模型的训练数据。训练生成FastText分类模型。然后用此分类模型为近30万首诗歌分类。
二、用户主题词分类:
事先分别为五类诗歌设置15个关键词,然后以维基百科为语料训练得到维基百科的word2vec模型。根据用户输入的主题词,来与各类诗歌的关键词做相似度计算,判断主题词最可能所属的诗歌类别
三、用户主题词的相似词生成:
之后以分好类的五类诗歌为语料,训练得到各自的word2vec模型。判断主题词类别后,以其所属类别的word2vec模型,生成6个与主题词最相似的词,作为后续生成诗歌时,每句开头字的候选集合。
四、建立模型
采用深度学习框架tensorflow为五类诗歌分别建立长短期记忆网络模型(LSTM)。把主题词最相似的6个词作为每句诗的开头字的候选集合,并将LSTM模型生成的每个候选字通过《诗学含英》进行概率权重计算,最终选择概率最大的字作为生成字。在生成2/4/6/8句诗歌时,对最后一个字按照《汉字押韵字表》进行押韵筛选过滤,实现诗歌的押韵机制。
五、前端展示
以APP的形式与用户进行移动端展示。服务器端用的Flask框架,连接的MySQL数据库,用于保存用户注册的基本信息。在APP的主界面下,用户输入主题词,可选择生成此主题下的五言绝句、五言律诗、七言绝句、七言律诗,随后服务器将生成的诗歌返回到APP的主界面进行展示。
整个项目的五个模块,共五小节:
二节:https://blog.csdn.net/turbo_come/article/details/94153192#comments
三节:https://blog.csdn.net/Turbo_Come/article/details/96478565?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
四节:https://blog.csdn.net/Turbo_Come/article/details/99685056?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
五节:https://blog.csdn.net/Turbo_Come/article/details/100033041
自动写诗APP项目、基于python+Android实现(技术:LSTM+Fasttext分类+word2vec+Flask+mysql)第一节相关推荐
- 自动写诗APP项目、基于python+Android实现(技术:LSTM+Fasttext分类+word2vec+Flask+mysql)第三节
二.用户主题词分类,相似词生成 1.word2vec模型原理 在主题词分类.候选词生成.选取时,都使用了word2vec模型.word2vec模型主要包含两部分:跳字模型(skip-gram)和连续词 ...
- 飞桨2.0应用案例教程 — 用BERT实现自动写诗
用BERT实现自动写诗 作者:fiyen 日期:2021.06 摘要:本示例教程将会演示如何使用飞桨2.0以及PaddleNLP快速实现用BERT预训练模型生成高质量诗歌. 摘要 古诗,中华民族最高贵 ...
- Python数据分析初探项目 基于Python数据可视化的网易云音乐歌单分析系统 大学编程作业(TUST 天津科技大学 2022年)
Python 数据分析初探项目 基于 Python 数据可视化的网易云音乐歌单分析系统 大学编程作业(TUST 天津科技大学 2022 年) Python 数据分析初探项目 基于 Python 数据可 ...
- 百度API实现自动写诗
作者介绍 张琪,男,西安工程大学电子信息学院,2022级研究生 研究方向:机器视觉与人工智能 电子邮件:3126743452@qq.com 王泽宇,男,西安工程大学电子信息学院,2022级研究生,张宏 ...
- Pytorch+LSTM+AI自动写诗实战
文章目录 1.数据集和任务定义 2.读取数据集 3.数据预处理 4.数据制作 5.定义网络结构: 6.测试网络 7.可视化 8.总结 1.数据集和任务定义 本次采用的是唐诗数据集,一共有接近60000 ...
- Springboot毕设项目基于WEB的延边旅游网 5jjp2java+VUE+Mybatis+Maven+Mysql+sprnig)
Springboot毕设项目基于WEB的延边旅游网 5jjp2java+VUE+Mybatis+Maven+Mysql+sprnig) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + ...
- Springboot毕设项目基于springboot的模拟面试平台 7tch0java+VUE+Mybatis+Maven+Mysql+sprnig)
Springboot毕设项目基于springboot的模拟面试平台 7tch0java+VUE+Mybatis+Maven+Mysql+sprnig) 项目运行 环境配置: Jdk1.8 + Tomc ...
- springboot毕设项目基于Java酒店管理系统53blc(java+VUE+Mybatis+Maven+Mysql)
springboot毕设项目基于Java酒店管理系统53blc(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql ...
- Springboot毕设项目基于springboot的城市智能出行rota7java+VUE+Mybatis+Maven+Mysql+sprnig)
Springboot毕设项目基于springboot的城市智能出行rota7java+VUE+Mybatis+Maven+Mysql+sprnig) 项目运行 环境配置: Jdk1.8 + Tomca ...
- 微博app是用java写的吗_基于安卓Android第三方微博APP的设计(Eclipse)
基于安卓Android第三方微博APP的设计(Eclipse)(论文11000字,程序代码) 摘要:Android系统是基于LINUX的手机操作系统,其最大的优势在于整个系统的开源性和免费性.本系统以 ...
最新文章
- 书评 | 如何让开发中的各种文档变活?《活文档》阅读总结
- 微信小程序性能优化之一
- mybaits二十三:二级缓存
- 如何实现在一个网页中弹出多个不同的小窗口
- JAVA并发篇_公平锁与非公平锁
- Spring AOP方法分析
- ionic 返回上一页,并刷新父页面
- matlab运行过程中出现找不到指定模块问题解决
- 【BZOJ-18532393】幸运数字Cirno的完美算数教室 容斥原理 + 爆搜 + 剪枝
- [支付宝]手机网站支付快速接入
- python文件读写到list_Python文件读写
- swoole各种服务器初步搭建
- 世界杯座位选择顺序总数
- android随机抽奖代码_随机抽奖生成器app下载|随机抽奖生成器软件下载_v1.0_9ht安卓下载...
- 【C#】Excel操作——两个Excel表格比较,如果相同跳过,如果不同将复制到一个表格
- Can not import avx core while this file exists
- 电大计算机形考试题,电大计算机形考试题1.doc
- 后端开发框架的具体内容是什么?
- k8s源码分析--kube-scheduler源码(一)
- 基于香蕉派平台的Raspberry Pi操作系统安装与配置
热门文章
- 初中信息技术说课稿_语文说课稿模板一等奖
- 小学计算机专业说课稿模板,小学信息技术计算机的小管家说课稿
- [篇五章二]_使用 USB 系统安装盘在真机上安装激活 Windows 10 LTSC 2021 中文企业版系统
- VSIX 安装失败解决方案
- java开发工程师实习日志
- Unity获取安卓手机运营商,电量,wifi信号强度,本地Toast,获取已安装apk,调用第三方应用,强制自动重启本应用...
- 联想台式主机拆机教程_联想r400拆机教程 拆解电脑没那么难
- BoundsChecker
- 音乐播放器——SoundManager API介绍
- C语言入门教程,C语言学习教程(非常详细)