自动写诗APP项目、基于python+Android实现(技术:LSTM+Fasttext分类+word2vec+Flask+mysql)第一节

发布时间:2024-10-30 10:01

  首先,展示一下项目最终结果:

\"自动写诗APP项目、基于python+Android实现(技术:LSTM+Fasttext分类+word2vec+Flask+mysql)第一节_第1张图片\"                    \"自动写诗APP项目、基于python+Android实现(技术:LSTM+Fasttext分类+word2vec+Flask+mysql)第一节_第2张图片\"

                    

                    寒梅                                                           月夜         

腊雪初开绿阴雨, 疏疏深处不相侵。            声声不断夜月明,竹影摇摇兮山云。
数点花枝无限意, 寒梅一片雪中吟。            阶下梧桐秋色冷,意长风月不可听。

 

                     秋思                                                              思乡
秋风吹雨雨霏霏,念客相思不见人。           夜来风雨风吹月,泊客风霏月满船。  
孤水不知无处处,独来春雨不知愁。           异人何处相思梦,念君无是故人归。
泊人风雨无人去,怀客相逢一鬓开。           悲声不分无人事,独尽谁怜一日时。  
漂漫江山无不寐,思君何处更相逢。           晚夜不堪春水去,怀人何处醉相思。 

 

整个项目大体分为4部分:

  1. 30万首诗歌分类(基于Fasttext文本分类实现)
  2. 用户主题词,相似词计算(基于word2vec实现)
  3. 诗歌生成(应用tensorflow搭建的LSTM模型实现)
  4. 前端展示(flask框架做服务器+MySQL数据库保存+Android前端展示)

创新:

  • 诗歌中2/4/6/8句最后一个字押韵,按《汉字押韵字表》进行的筛选。
  • 诗歌类别针对性强,根据用户给定的主题词,生成以此主题为核心的诗歌。
  • 生成诗歌的每个字都经过《诗学含英》,进行了概率权重计算。

《诗学含英》此书是按韵分部,包罗天文地理,花木鸟兽,人物器物等的虚实应对。从单字到双字,三字对,五字对,七字对到十一字对,节奏明快琅琅上口,从中可得语音,修辞的训练。

整个项目的系统框架如下:

 

                                                                          \"自动写诗APP项目、基于python+Android实现(技术:LSTM+Fasttext分类+word2vec+Flask+mysql)第一节_第3张图片\"

 

流程:

  1. 首先,把近30万首诗歌分为5类,分别训练5类诗歌的数据得到5个LSTM网络模型。

  2. 根据用户输入的主题词,由word2vec计算主题词与每类诗歌15个关键词的相似度,判断其最可能所属的类别。

  3. 再由所属类别的word2vec模型生成与主题词最相似的6个相似词,并结合主题词一同作为后续每句诗歌开头字的候选集合。

  4. 通过LSTM模型生成候选字,再通过《诗学含英》的概率权重计算,选择最终概率最高的作为生成字。

  5. 在生成2、4、6、8句诗的最后一个字时,按照《汉字押韵字表》进行筛选过滤,来实现押韵特征。

  6. 最后服务器将生成的诗歌返回给前端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

 

 

 

 

 

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号