• 《深度学习进阶:自然语言处理》读书笔记:第7章 基于RNN生成文本


    第7章 基于RNN生成文本

    因为语言模型并不是背诵了训练数据,而是学习了训练数据中单词的排列模式。如果语言模型通过语料库正确学习了单词的出现模式,我们就可以期待该语言模型生成的文本对人类而言是自然的、有意义的。

    这个世界充满了时序数据。文本数据、音频数据和视频数据都是时序数据。另外,还存在许多需要将一种时序数据转换为另一种时序数据的任务,比如机器翻译、语音识别等。其他的还有进行对话的聊天机器人应用、将源代码转为机器语言的编译器等。像这样,世界上存在许多输入输出均为时序数据的任务。

    编码就是将任意长度的文本转换为一个固定长度的向量。

    在基于mini-batch学习可变长度的时序数据时,最简单的方法是使用填充。所谓填充,就是用无效(无意义)数据填入原始数据,从而使数据长度对齐。

    数据集原本应分成训练用、验证用和测试用3份。用训练数据进行学习,用验证数据进行调参,最后再用测试数据评价模型的能力。

    本章我们探讨了基于RNN的文本生成。实际上,我们只是稍微改动了基于RNN的语言模型,增加了文本生成的功能。seq2seq模型拼接了编码器和解码器,是组合了两个RNN的简单结构。但是,尽管seq2seq简单,却具有巨大的潜力,可以用于各种各样的应用。

    本章所学的内容

    1.基于RNN的语言模型可以生成新的文本;

    2.在进行文本生成时,重复“输入一个单词(字符),基于模型的输出(概率分布)进行采样”这一过程;

    3.通过组合两个RNN,可以将一个时序数据转换为另一个时序数据(seq2seq);

    4.在seq2seq中,编码器对输入语句进行编码,解码器接收并解码这个编码信息,获得目标输出语句;

    5.反转输入语句和编码信息分配给解码器的多个层(Peeky)可以有效提高seq2seq的精度;

    6.seq2seq可以用在机器翻译、聊天机器人和自动图像描述等各种各种各样的应用中。

  • 相关阅读:
    [ 网络基础篇 ] MAP 迈普交换机常用命令详解
    Vue.js 动画与过渡效果实战
    pm2 开机自启动
    Vue之ElementUI之动态树+数据表格+分页(项目功能)
    抖音矩阵系统,抖音矩阵系统,抖音矩阵系统。
    Docker与Kubernetes介绍
    2023年9月26日LINUX融合改动记录
    竞赛 基于设深度学习的人脸性别年龄识别系统
    第一章《补基础:不怕学不懂微积分》笔记
    QScintilla代码跳转时indicator工作不正确的问题
  • 原文地址:https://blog.csdn.net/weixin_44850744/article/details/126536995