word2vec有两种模型,CBOW和Skip-gram;前者是通过context(w)[即词w的上下文]的词向量获得w最可能的词(w为各个词的概率,就能得到最可能的词),后者是相反的,通过w获得上下文context(w)。

简单理解即为如下两幅图[1]:

word2vec怎么得到词向量?

word2vec怎么得到词向量?

对于CBOW模型,输入的即为词向量,但是词向量怎么来的?

实际上,前面还有一层,如下图[2]:

word2vec怎么得到词向量?

前一层输入的是每个单词的one-hot编码,然后训练得到的W,也就是输入层到隐藏层权值是词向量;

one-hot应该是这样[0,0,0,1,0,0,0],只有1对应的权值才会作为hidden layers的输入,这个权值也就作为了词向量。

实质上是一个降维的过程,把one-hot降为较低维的向量表示。

(不过其实这个也是简单版本,真实实现的Word2Vec还有改进,详见[3])

reference:

[1] word2vec 中的数学原理详解, https://www.cnblogs.com/peghoty/p/3857839.html

[2] word2vec是如何得到词向量的? crystalajj回答,https://www.zhihu.com/question/44832436

[3] 白话word2vec,https://www.jianshu.com/p/f58c08ae44a6

 

相关文章:

  • 2021-11-14
  • 2021-07-26
  • 2022-12-23
  • 2022-01-19
  • 2021-08-12
  • 2021-05-10
  • 2021-04-03
  • 2021-07-22
猜你喜欢
  • 2021-07-27
  • 2021-10-24
  • 2021-06-26
  • 2022-01-29
  • 2021-12-30
  • 2022-12-23
相关资源
相似解决方案