第08课:RNN 在序列问题中的应用——文本生成
Posted wangongxi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第08课:RNN 在序列问题中的应用——文本生成相关的知识,希望对你有一定的参考价值。
在上一节课的内容中,我们介绍了循环神经网络(Recurrent Neural Network)的相关内容,并根据 Many-to-One 的结构给出了基于 Deeplearning4j 的文本分类实例。本节课核心内容包括:
- 基于 One-to-Many 架构的文本生成应用
在本次的课程中,我们将介绍另外一种结构:One-to-Many,并且我们将基于这种结构给出文本自动生成的例子。下面我就将文本生成的相关背景知识及具体的建模工作做下介绍,和上一次课程类似,我们在第二部分对本次的课程做下小结。
8.1 基于 One-to-Many 架构的文本生成应用
这个部分我们介绍下 One-to-Many 架构。首先我们来看下示意图:
One-to-Many 的架构中输入序列往往只有一个元素,然后根据已经训练好的模型单步预测输出元素并循环往复最后得到一个完整的输出序列。这个应用在文本生成中比较常见。我们下面结合一个简单的例子来说明这种文本生成应用的具体做法。我们先看下应用的任务:
private static final String[] stringArray = new String[]"我","来自","苏宁","易购","。";
第一个数组对象存储的是一个字符序列。一共由 4 个串构成。我们的目标是输入“我”这个字,把后面的三个词包括句号都预测出来。显然,这可以采用 One-to-Many 的架构进行。我们先看下建模的结构:
以上是关于第08课:RNN 在序列问题中的应用——文本生成的主要内容,如果未能解决你的问题,请参考以下文章