Git Product home page Git Product logo

chinese_poem_generator's Introduction

Chinese_poem_generator

Build Status codecov license

唐诗宋词生成器,MC胖虎,使用LSTM完成,先看几个demo:

一首藏头诗刀山火海送给大家!

demo2 demo1

胖虎学诗,会对偶,用典故,能作出边塞、田园、离别等多种风格的诗!

demo2

依赖

  • Python3
  • tensorflow1.2+

用法

  • "python3 main.py -m {train, test, head}" train训练, test随机写诗, head藏头诗.
  • 在对深度学习有一定了解的基础上,可尝试使用evalute.py评估自己训练的模型。

最近一次更新(2018-06-11)

  • add coverage

常见问题

Q: 默认写唐诗,如何使胖虎写宋词,歌曲等其他东西?

A: 因为仓库不宜过大,所以只放了词的训练数据而没有放训练好的模型。config.py中默认的type是poetrySong,因而训练数据用的是“./dataset/poetrySong/poetrySong.txt",加载的checkpoint是”./checkpoints/poetrySong/checkpoint“,如想使用其他训练数据,修改config.py,比如:type = songci,然后训练至少10个epoch。

Q: 如何训练自己的数据?

A: 目前的训练数据来源于https://github.com/chinese-poetry/chinese-poetry,我已经将json转换成txt,训练数据格式如下,可以将自己的数据做成这种形式训练模型。将数据按照同样的形式放入dataset下自己新建的目录,修改config.py中的type即可训练。

标题::作者::内容
静夜思::李白::床前看月光,疑是地上霜。举头望山月,低头思故乡。

接下来要做

  • 尝试采用双向lstm模型
  • 数据预处理步骤需要加强,比如:特殊符号。
  • 看图写诗,苦于没有数据集。
  • 引入平仄等信息,使网络更容易拟合宋不规整的数据。
  • tensorboard
  • 写一篇关于整个项目的博文

有时候效果不好,多生成几次一定有比较好的结果。现在看起来有点像人工智障,但是相信胖虎会越来越厉害!

方法比较粗暴,欢迎各位大佬提出建设性意见! 详细的项目实现和代码说明请看这里

demo2

chinese_poem_generator's People

Contributors

hjptriplebee avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.