第5章 文本生成.pptx

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

文本生成;;文本自动生成是自然语言处理领域的一个重要研究方向,实现文本自动生成也是人工智能走向成熟的一个重要体现。

文本自动生成的目的是让计算机能够像人类一样会写作,并能够撰写出高质量的文本。

文本自动生成技术极具应用前景,例如,文本自动生成技术可以应用于智能问答与对话、机器翻译等系统,实现更加智能和自然的人机交互;也可以通过文本自动生成系统替代编辑实现新闻的自动撰写与发布,给新闻传媒带来新一轮的革命。;按照不同的输入划分,文本自动生成可包括文本到文本的生成(text-to-textgeneration)、意义到文本的生成(meaning-to-textgeneration)、数据到文本的生成(data-to-textgeneration)和图像到文本的生成(image-to-textgeneration)等。

我国在自然语言处理与人工智能领域均有相当多的前沿研究,近几年已产生了若干具有国际影响力的成果与应用。

本章的文本生成属于文本到文本的生成,用于训练网络的数据是book.txt文件,该文件的内容是《老人与海》(TheOldManandtheSea),是全英文的文本文档。;利用book.txt文本文档,实现让网络生成文本。

本案例的总体流程图主要包括以下4个步骤。

文本预处理,对读取的文本数据进行数据处理、字典创建和序列生成。

构建网络,定义文本生成类的构造方法、权重初始化以及构建网络。

训练网络,设置配置项,执行训练并定义文本生成器用于生成文本。

结果分析,观察并分析生成的文本。;本案例的总体流程图如下图所示。

;本案例基于PyTorch1.8.1、CUDA10.2和cuDNN8.2.0环境下运行,其中PyTorch1.8.1亦可以使用CPU版本的PyTorch。

本案例用的数据集是book.txt,整个txt文档有464行,词汇量较为丰富。

项目目录包含3个文件夹,分别是code、data和tmp,如下图所示。;所有的代码文件存放于code文件夹,如下图所示。

所有原始数据存放在data文件夹中,如下图所示。

输出文件存放于tmp文件夹,在本案例中存放的是模型的权重,如下图所示。;;在文本的预处理中,首先要把每个英文字符转换成小写形式,筛选字母和空格并转为字符列表;然后使用字典构建字符列表到数字向量间的映射;最后对字符列表进行序???生成,并输入到网络中。

本案例使用的英文文本中包含大写字符、小写字符、换行符、标点符号等。因此需要将文本的形式进行统一,从而方便后续的处理,同时统一形式的文本也能有效降低训练网络所需的时间。

以“Thetrainrusheddownthehill,”为例,文本在加载和预处理后的效果,如下图所示。;由图和预处理前的句子可知,文本数据处理包括以下3个步骤。

读取原始文件并将其中的大写字母转换为小写字母。

创建了一个代表整个文本的字符串,并生成了一个字符列表。

仅保留字符列表中的小写字母和“空格”符号。;在文本数据的处理中,已经加载了文本并将数据以字符列表的形式存储,但是神经网络并不能直接处理字符列表,还需要将字符列表转为网络可读的向量形式。

因此创建了“char-index”和“index-char”两个字典对字符进行编码和解码。;序列生成的方式完全取决于构建的网络的结构。在本案例中,使用的是LSTM类型的神经网络,该神经网络按顺序(时间步长)接收数据。

因为神经网络输入层的神经元个数在训练时不可变更,所以要求网络的输入必须具有相同的维度。因此,需要使用一个固定大小的“窗口”在字符列表上滑动,从而形成固定长度的序列。

每个序列将由窗口中包含的字符组成,若窗口的大小为4,则每个序列将包含4个字符,需要预测的字符(标签)为窗口后的第一个字符,如下图所示。;通过序列生成,可以以一种简单的方式生成固定长度的字符序列,从而满足网络输入具有相同维度的需求。然后需要将每个字符转换为数字格式,即字符编码,为此将使用5.2.2小节中创建的字典。

序列编码的过程如下图所示。;;长短记忆网络在处理顺序数据时具有巨大的潜力,例如文本类型的数据。因此本案例使用的是双向长短时间记忆网络Bi-LSTM和标准长短时间记忆网络LSTM,网络结构主要由一个嵌入层、一个Bi-LSTM层和一个LSTM层组成,并在LSTM层后连接到一个全连接层作为输出。

在构建的网络中,首先将每个字符编码后的序列传递到嵌入层,使每个元素生成向量形式的表示,将得到一个嵌入字符序列。

然后,嵌入字符序列的每个元素将被传递到Bi-LSTM层,同时将Bi-LSTM(前向LSTM和后向LSTM)的LSTM的每个输出的串联。

紧接着,前向+后向串联的Bi-LSTM层得到向量将被合并,并传递到LSTM层。

最后,一个隐藏状态将从

文档评论(0)

学海无涯而人有崖 + 关注
实名认证
内容提供者

教师资格证、人力资源管理师持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年06月11日上传了教师资格证、人力资源管理师

1亿VIP精品文档

相关文档