第11章 表示学习——实现词嵌入

机器学习是一门主要基于统计学和线性代数的科学。在多数机器学习或由于反向传播的深度学习架构中,运用矩阵运算是十分常见的。这是深度学习或者通常的机器学习只接受实数值作为输入的主要原因。这个情况与很多应用都相互矛盾,如机器翻译、情感分析等,它们都以文本作为输入。所以为了在这些应用中用到深度学习,我们需要把输入转换为深度学习接受的格式。

本章将介绍表示学习这一领域,它是从文本中学习一个实数表示同时保留真实文本的语义信息的一种方法。例如,love的表示应该和adore的表示十分接近,因为它们的应用情景十分相似。

本章包含以下主题。

  • 表示学习简介。
  • Word2Vec。
  • skip-gram架构的一个实际例子。
  • 实现skip-gram Word2Vec。

到目前为止,本书讲到的所有机器学习算法或架构都要求输入是实数或者实数矩阵,这是机器学习共有的一个主题。例如,在卷积神经网络里,我们需要以输入图像的原始像素值作为模型输入。在这一部分,我们将要处理文本,因此需要用某种方式编码文本,并产生可以输入机器学习算法里的实数值。为了把输入文本编码为实数值,需要用到一门中间学科,该学科叫作自然语言处理(Natural Language Processing,NLP)。

之前提到过像情感分析这种给机器学习模型提供文本的流程,这可能是有问题且不可行的,因为不能把反向传播或者其他诸如点积的运算应用在输入上,原因在于它是字符串。因此,我们需要NLP机制的帮助,它将帮助构建文本的中间表示。该中间表示携带和文本一样的信息,并且可以输入机器学习模型中。

我们需要把输入文本里的每个单词或标志转换为一个实数向量。这些向量如果不携带原始输入的模型、信息、意义和语义,那么它们将是没有用处的。例如,在真实的文本中,单词love和adore是十分相似的,并具有相同的意思。开发人员需要能够表示它们之间距离很近并且位于同一向量空间中的实值向量。因此,这两个单词以及与它们不相似的另一个单词的向量表示如图11.1所示。 ...

Get 深度学习:核心原理与案例分析 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.