第3章 word2vec
3.1 基于推理的方法和神经网络
用向量表示单词的研究最近正在如火如荼地展开,其中比较成功的方法大致可以分为两种:一种是基于计数的方法;另一种是基于推理的方法。虽然两者在获得单词含义的方法上差别很大,但是两者的背景都是分布式假设。
3.1.1 基于计数的方法的问题
基于推理的方法使用神经网络,通常在mini-batch数据上进行学习。这意味着神经网络一次只需要看一部分学习数据,并反复更新权重。
3.1.2 基于推理的方法的概要
基于推理的方法的主要操作是“推理”。当给出周围的单词(上下文)时,预测会出现什么单词,这就是推理。
基于推理的方法引入了某种模型,我们将神经网络用于此模型。这个模型接受上下文信息作为输入,并输出(可能出现)各个单词的出现概率。在这样的框架下,使用语料库来学习模型,使之能做出正确的预测。另外,作为模型学习的产物,我们得到了单词的分布式表示。这就是基于推理的方法的全貌。
基于推理的方法和基于计数的方法一样,也基于分布式假设。分布式假设假设“单词含义由其周围的单词构成”。基于推理的方法将这一假设归结为了上面的预测问题。由此可见,不管是哪种方法,如何对基于分布式假设的“单词共现”建模都是最重要的研究主题。
3.2 简单的word2vec
word2vec一词最初用来指程序或者工具,但是随着该词的流行,在某些语境下,也指神经网络的模型。正确地说,CBOW模型和skip-gram模型是word2vec中使用的两个神经网络。
3.2.1 CBOW模型的推理
CBOW模型是根据上下文预测目标词的神经网络(“目标词”是指中间的单词,它周围的单词是“上下文”)。通过训练这个CBOW模型,使其能尽可能地进行正确的预测,我们可以获得单词的分布式表示。
3.3.1 上下文和目标词
word2vec中使用的神经网络的输入是上下文,它的正确解标签是被这些上下文包围在中间的单词,即目标词。也就是说,我们要做的事情是,当向神经网络中输入上下文时,使目标词出现的概率高。
本章所学的内容
1.基于推理的方法以预测为目标,同时获得了作为副产物的单词的分布式表示;
2.word2vec是基于推理的方法,由简单的2层神经网络构成;
3.word2vec有skip-gram模型和CBOW模型;
4.CBOW模型从多个单词(上下文)预测1个单词(目标词);
5.skip-gram模型反过来从1个单词(目标词)预测多个单词(上下文);
6.由于word2vec可以进行权重的增量学习,所以能够高效地更新或添加单词的分布式表示。