- 词向量是一个词的低维表示,词向量可以反应语言的一些规律,词意相近的词向量之间近乎于平行。
- 词向量的实现:
(1)首先使用滑动窗口来构造数据,一个滑动窗口是指在一段文本中连续出现的几个单词,这样的单词构成一个窗口。在这个窗口中最中间的词叫做目标词(Target), 其他的词称为上下文词(Context)。
(2)根据上下文词(Context)预测目标词(Target)的神经网络模型叫做CBOW模型。
(3)根据目标词(Target)预测上下文词(Context)的神经网络模型叫做Skip-Gram模型。
- CBOW模型示意:用never和late预测中间词too的过程。
(1)首先将never,late表示成onehot向量.
(2)其次用这两个onehot向量在最终要训练的词向量矩阵中,找到never,late对应的词向量。然后把它们加起来做平均,这样可以得到一个临时的词向量,维度和前面两个相同。
(3)用上面得到的临时词向量对词表中每个词做点乘,得到n个输出,n是词表大小。
(4)对n个输出做softmax,得到每个词分类概率分布。
- Skip-Gram模型示意:例子目标词是Never,要预测出too,late,to, learn。过程是先让模型去预测P(too/Never), 然后再预测P(late/Never)...