seq2seq-couplet

用深度学习对对联
授权协议 AGPL-3.0
开发语言 Python
所属分类 神经网络/人工智能、 机器学习/深度学习
软件类型 开源软件
地区 国产
投 递 者 傅鸿波
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

这是一个使用 seq2seq 模型对联(对对联)的项目,是用 Tensorflow 写的。要求:

  • Tensorflow
  • Python 3.6
  • Dataset

打开 couplet.py,配置文件位置和超参数。然后运行python couplet.py来训练这个模型。你可以在 Tensorbloard 看到 training loss 和 bleu score。当你发现 loss 停止下降时,你可能需要重新配置learning_rate。下面是一个 loss graph 的示例:

以下是此模型生成的一些示例:

上联 下联
殷勤怕负三春意 潇洒难书一字愁
如此清秋何吝酒 这般明月不须钱
天朗气清风和畅 云蒸霞蔚日光辉
梦里不知身是客 醉时已觉酒为朋
千秋月色君长看 一夜风声我自怜

 

  • 一 前言 本文是文本生成系列的文章的第二篇,主要是seq2seq+attention的paddle实现. 本文完整实现seq2seq+att用于生成对联,包括数据预处理,训练,预测。 同时,本文的代码也很容易迁移到其他任务上,如对话。 第一篇文章为讲了关于seq2seq的相关理论内容。文本生成(一)—Seq2Seq理论笔记 二 项目结构 seq2seq/ couplet_models/ --模型

  • 作为一个自然言语处理的新手,以前都是在做项目是直接下载别人的模型,进行修改之后直接拿来用。前段时间试着自己搭建seq2seq网络踩了很多的坑,终究是勉强的搭建了起来。在此记录一下分享一下,希望能和正在自然语言处理学习和进阶的伙伴共同努力。写的不好也请各位大神恕罪。 废话不多说了进入正题。在搭建的过程参考大神的项目https://github.com/wb14123/seq2seq-couplet

  • seq2seq构建写对联AI 问题背景介绍 对联又称对子,对仗工整,平仄协调,是一字一音的汉文语言独特的艺术形式,是中国传统文化瑰宝。对联的上下联有着非常工整的对应关系,我们可以尝试使用神经网络学习对应关系,进而完成对对联任务,而之前提到的seq2seq模型,是非常典型的序列映射学习模型,可以在本场景下使用。 seq2seq对对联 这里构建的对对联AI应用也是seq2seq模型,使用的是谷歌官方的

 相关资料
  • 主要内容 课程列表 专项课程学习 辅助课程 论文专区 课程列表 课程 机构 参考书 Notes等其他资料 卷积神经网络视觉识别 Stanford 暂无 链接 神经网络 Tweet 暂无 链接 深度学习用于自然语言处理 Stanford 暂无 链接 自然语言处理 Speech and Language Processing 链接 专项课程学习 下述的课程都是公认的最好的在线学习资料,侧重点不同,但推

  • Google Cloud Platform 推出了一个 Learn TensorFlow and deep learning, without a Ph.D. 的教程,介绍了如何基于 Tensorflow 实现 CNN 和 RNN,链接在 这里。 Youtube Slide1 Slide2 Sample Code

  • 本文向大家介绍深入学习JavaScript对象,包括了深入学习JavaScript对象的使用技巧和注意事项,需要的朋友参考一下 JavaScript中,除了五种原始类型(即数字,字符串,布尔值,null,undefined)之外的都是对象了,所以,不把对象学明白怎么继续往下学习呢? 一.概述 对象是一种复合值,它将很多值(原始值或其他对象)聚合在一起,可通过属性名访问这些值。而属性名可以是包含空字

  • 现在开始学深度学习。在这部分讲义中,我们要简单介绍神经网络,讨论一下向量化以及利用反向传播(backpropagation)来训练神经网络。 1 神经网络(Neural Networks) 我们将慢慢的从一个小问题开始一步一步的构建一个神经网络。回忆一下本课程最开始的时就见到的那个房价预测问题:给定房屋的面积,我们要预测其价格。 在之前的章节中,我们学到的方法是在数据图像中拟合一条直线。现在咱们不

  • 深度学习的总体来讲分三层,输入层,隐藏层和输出层。如下图: 但是中间的隐藏层可以是多层,所以叫深度神经网络,中间的隐藏层可以有多种形式,就构成了各种不同的神经网络模型。这部分主要介绍各种常见的神经网络层。在熟悉这些常见的层后,一个神经网络其实就是各种不同层的组合。后边介绍主要基于keras的文档进行组织介绍。

  • Python 是一种通用的高级编程语言,广泛用于数据科学和生成深度学习算法。这个简短的教程介绍了 Python 及其库,如 Numpy,Scipy,Pandas,Matplotlib,像 Theano,TensorFlow,Keras 这样的框架。