第6章 序列数据和文本的深度学习
在上一章中,我们讨论了如何利用卷积神经网络处理带有空间信息的数据,以及如何构建图像分类器。本章将讨论以下主题:
- 用于构建深度学习模型的不同文本数据表示法:
- 理解递归神经网络及其不同实现,例如长短期记忆网络(LSTM)和门控循环单元(Gated Recurrent Unit,GRU),它们为大多数深度学习模型提供文本和序列化数据;
- 为序列化数据使用一维卷积。
可以使用RNN构建的一些应用程序如下所示。
- 文档分类器:识别推文或评论的情感,对新闻文章进行分类。
- 序列到序列的学习:例如语言翻译,将英语转换成法语等任务。
- 时间序列预测:根据前几天商店销售的详细信息,预测商店未来的销售情况。
6.1 使用文本数据
文本是常用的序列化数据类型之一。文本数据可以看作是一个字符序列或词的序列。对大多数问题,我们都将文本看作词序列。深度学习序列模型(如RNN及其变体)能够从文本数据中学习重要的模式。这些模式可以解决类似以下领域中的问题:
- 自然语言理解;
- 文献分类;
- 情感分类。
这些序列模型还可以作为各种系统的重要构建块,例如问答(Question and Answering,QA)系统。
虽然这些模型在构建这些应用时非常有用,但由于语言固有的复杂性,模型并不能真正理解人类的语言。这些序列模型能够成功地找到可执行不同任务的有用模式。将深度学习应用于文本是一个快速发展的领域,每月都会有许多新技术出现。我们将会介绍为大多数现代深度学习应用提供支持的基本组件。
与其他机器学习模型一样,深度学习模型并不能理解文本,因此需要将文本转换为数值的表示形式。将文本转换为数值表示形式的过程称为向量化过程,可以用不同的方式来完成,概括如下:
- 将文本转换为词并将每个词表示为向量; ...
Get PyTorch深度学习 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.