这是一个使用 seq2seq 模型对联(对对联)的项目,是用 Tensorflow 写的。要求:
打开 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 这样的框架。