什么是Word2Vec
将单词转换成向量,语义上相似的单词在一个多维空间距离很近
可以看看gensim包
Skip-Gram
给定input word来预测上下文
假设我们有一个句子:
The dog barked at the mailman
首先我们选取dog作为我们的输入词,然后设置skip_window为2,那么我们从dog左侧和右侧都取两个词,那么就是The,dog,barked,at
设置num_skips为2,我们会得到(dog,barked)和(The,dog)两组形式的训练数据
我们的模型会从每对单词出现的次数中学习出现的概率,比如我们的训练样本有很多(“Soviet“,”Union“)这样的样本对,那么输入Soviet,输出结果为Union的概率就会很高
但是,神经网络只能接受数值的输入,我们需要用数值来表示单词,比如我们可以从文档中抽取10000个词组成词汇表,使用独热编码,将每个单词都是10000维的向量
模型的输入是10000维的向量,那么输出包含了这10000个单词的概率大小: