美文网首页
Word2Vector

Word2Vector

作者: 冯凯onmyway | 来源:发表于2017-12-07 09:25 被阅读0次

    Word2Vec模型中,主要有Skip-Gram和CBOW两种模型,从直观上理解,Skip-Gram是给定input word来预测上下文。而CBOW是给定上下文,来预测input word。

    Skip-Gram的实现逻辑类似于自编码器,模型的输出不是最终结果,隐层构成的向量才是所要的vector。

    以句子The quick brown fox jumps over the lazy dog为例,实现过程为

    1 选定词语fox作为input-word

    2 定义skip-window作为input-word的上下文范围,如skip-window=2,fox的上下文为quick,brown, jumps, over,组成的样本对(fox,quick),(fox,brown), (fox,jumps), (fox,over)。定义窗口中选取的样本对个数num-skips,如果num-skips=2,skip-window=2,则从四组样本中随机选取两组作为样本。

    Skip-Gram样本选取过程

    3 对样本word进行编码,如one-hot编码。

    4 定义网络。假设总词汇量是5000,则输入维度设为5000维,输出维度同样是5000维,表示每一个单词的概率。隐层可以设置为100(在Python的gensim包中封装的Word2Vec接口默认的词向量大小为100, window_size为5)。

    6 训练得到网络参数,把输出层去掉,隐层作为输出层,输入单词,即可得到对应向量。 

    直观上理解,如果两个不同的单词有着非常相似的“上下文”(也就是窗口单词很相似,比如“Kitty climbed the tree”和“Cat climbed the tree”),那么通过我们的模型训练,这两个单词的嵌入向量将非常相似。

    相关文章

      网友评论

          本文标题:Word2Vector

          本文链接:https://www.haomeiwen.com/subject/unorixtx.html