【NLP基础】Word2Vec 中 CBOW 指什么?
重要性:★★
CBOW 模型是根据上下文预测目标词的神经网络(“目标词”是指中间的单词,它周围的单词是“上下文”)。通过训练这个 CBOW 模型,使其能尽可能地进行正确的预测,我们可以获得单词的分布式表示。
CBOW模型:从上下文的单词预测目标词。
CBOW模型的网络结构如下:
CBOW 模型的输入是上下文。这个上下文用 [‘you’, ‘goodbye’] 这样的单词列表表示,输入经过中间层后到达输出层。从输入层到中间层的变换由相同的全连接层(权重为 W i n W_{in} Win)完成, 从中间层到输出层神经元的变换由另一个全连接层(权重为 W o u t W_{out} Wout)完成。
- 这里我们对上下文仅考虑两个单词,所以输入层有两个。 如果对上下文考虑 N 个单词,则输入层会有 N 个。
- 中间层的神经元是各个输 入层经全连接层变换后得到的值的“平均”。
- 输出层的神经元是各个单词的得分,它的值越大,说明对应单词的出现概率就越高。得分是指在被解释为概率之前的值, 对这些得分应用 Softmax 函数,就可以得到概率。
以上下文是 you 和 goodbye,正确解标签(神经网络应该预测出的单词)是 say为例。使用CBOW模型的计算流程如下(节点值的大小用灰度表示) :
如果网络具有“良好的权重”, 那么在表示概率的神经元中,对应正确解的神经元的得分应该更高。CBOW 模型的学习就是调整权重,以使预测准确。如果模型能很好的完成预测推理任务,则权重 W i n W_{in} Win(确切地说是 W i n W_{in} Win 和 W o u t W_{out} Wout 两者)学习到了蕴含单词出现模式的有效向量。
输入侧和输出侧的权重都可以被视为单词的分布式表示:
输入侧和输出侧权重作为单词的分布式表示有三种选择:
- A. 只使用输入侧的权重
- B. 只使用输出侧的权重
- C. 同时使用两个权重
CBOW模型只是学习语料库中单词的出现模式。如果语料库不一样,学习到的单词的分布式表示也不一样。