第 8 章 使用 ML 创建文本 使用 ML 创建文本
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
随着 2022 年 ChatGPT 的发布, ,生成式人工智能一词进入了人们的词典。这个简单的应用程序可以让你与基于 Cloud 的人工智能聊天,它几乎可以用人类经验中的所有知识来回答你的问题,这似乎是个奇迹。它的工作原理是使用了一种非常先进的进化技术,超越了你在上一章中看到的递归神经网络,使用了一种叫做变换器的技术。
转换器可以学习将一段文本转换成另一段文本的模式。有了足够大的转换器架构和足够大的文本集,,GPT 模型(GPT 是生成式预训练转换器的缩写)就能预测一段文本之后的下一个标记。当 GPT 被包装进一个更方便用户使用的应用程序时,一个全新的行业诞生了。
虽然使用转换器创建模型超出了本书的范围,但我们将在第 15 章详细介绍转换器的架构。
使用变换器训练模型所涉及的原理可以用更小、更简单的架构(如 RNN 或 LSTM)来复制。在本章中,我们将使用更小的文本语料库--爱尔兰传统歌曲--来探讨这一问题。
举例来说,请看这行著名电视节目中的文字:
你什么都不知道,琼恩-斯诺
使用 RNN 创建的下一个标记预测模型给出了这些歌词:
你什么都不知道,琼恩-斯诺
他驻扎的地方
无论是科克还是蓝鸟之子
驶向夏日
"老甜蜜长,快乐响叮当
所以我要等待野性的科琳死去
这段文字是由一个非常简单的模型生成的,该模型在一个小型语料库上进行了训练。我通过添加换行符和标点符号对其进行了一些改进,但除了第一行之外,所有歌词都是由本章将学习如何构建的模型生成的。如果你看过琼恩-雪诺的剧集,你就会明白为什么!
在前几章中,你看到了如何使用 PyTorch 处理基于文本的数据--首先将其标记为神经网络可以处理的数字和序列,然后使用嵌入来模拟使用向量的情感,最后使用深度和递归神经网络对文本进行分类。我们使用了一个小而简单的讽刺数据集来说明这一切是如何工作的。
在本章中,我们将转变思路:不再对现有文本进行分类,而是创建一个可以预测文本从而生成文本的神经网络。
给定一个文本语料库,Network+ 将尝试学习并理解文本中的单词模式,这样,当 给定一个称为种子的新文本时,它就能预测下一个单词是什么。一旦网络掌握了这一点,种子和预测的单词就会成为新的种子,它就可以预测下一个单词了。因此,当在文本语料库上进行训练后,神经网络就可以尝试写出风格相似的新文本。为了创作前面这首诗,我收集了一些爱尔兰传统歌曲的歌词,用它们训练了一个神经网络,并用它来预测单词。
我们将从简单开始,使用少量文本来说明如何建立预测模型,最后我们将使用更多文本来创建一个完整的模型。之后,你可以试试看它能创作出什么样的诗歌!
开始时,你对文本的处理方式将与迄今为止的处理方式略有不同。在前几章中,你将句子转化为序列,然后根据其中的标记嵌入进行分类。但是,在创建可用于训练像这样的预测模型的数据时,还有一个额外的步骤,需要将序列转换为输入序列和标签,其中输入序列是一组单词,标签是句子中的下一个单词。然后,你就可以训练一个模型,将输入序列与其标签相匹配,这样未来的预测就可以选择一个与输入序列接近的标签。
将序列转化为输入序列
在预测文本时,您需要使用具有相关标签的输入序列(特征)来训练神经网络。将序列与标签相匹配是预测文本的关键。在这种情况下,你不会像分类时那样有明确的标签,而是将句子分割开来,对于n 个单词,句子中的下一个单词就是标签。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access