mirror of
https://github.com/apachecn/ailearning.git
synced 2026-03-25 06:10:43 +08:00
49 lines
2.1 KiB
Markdown
49 lines
2.1 KiB
Markdown
# Word2Vec 讲解
|
||
|
||
## 介绍
|
||
|
||
**需要复习** 手写 Word2Vec 源码:https://blog.csdn.net/u014595019/article/details/51943428
|
||
|
||
* 2013年,Google开源了一款用于词向量计算的工具—— `word2vec`,引起了工业界和学术界的关注。
|
||
* `word2vec` 算法或模型的时候,其实指的是其背后用于计算 **word vector** 的 `CBoW` 模型和 `Skip-gram` 模型
|
||
* 很多人以为 `word2vec` 指的是一个算法或模型,这也是一种谬误。
|
||
* 因此通过 Word2Vec 技术 输出的词向量可以被用来做很多NLP相关的工作,比如聚类、找同义词、词性分析等等.
|
||
|
||
> 适用场景
|
||
|
||
1. cbow适用于小规模,或者主题比较散的语料,毕竟他的向量产生只跟临近的字有关系,更远的语料并没有被采用。
|
||
2. 而相反的skip-gram可以处理基于相同语义,义群的一大批语料。
|
||
|
||
## CBoW 模型(Continuous Bag-of-Words Model)
|
||
|
||
* 连续词袋模型(CBOW)常用于NLP深度学习。
|
||
* 这是一种模式,它试图根据目标词 `之前` 和 `之后` 几个单词的背景来预测单词(CBOW不是顺序)。
|
||
* CBOW 模型: 能够根据输入周围n-1个词来预测出这个词本身.
|
||
* 也就是说,CBOW模型的输入是某个词A周围的n个单词的词向量之和,输出是词A本身的词向量.
|
||
|
||
![CBoW 模型/img/NLP/Word2Vce/CBoW.png)
|
||
|
||
## Skip-gram 模型
|
||
|
||
* skip-gram与CBOW相比,只有细微的不同。skip-gram的输入是当前词的词向量,而输出是周围词的词向量。
|
||
* Skip-gram 模型: 能够根据词本身来预测周围有哪些词.
|
||
* 也就是说,Skip-gram模型的输入是词A本身,输出是词A周围的n个单词的词向量.
|
||
|
||
![Skip-gram 模型/img/NLP/Word2Vce/Skip-gram.png)
|
||
|
||
|
||
明天看看这个案例:https://blog.csdn.net/lyb3b3b/article/details/72897952
|
||
|
||
|
||
## 补充:NPLM - Ngram 模型
|
||
|
||
* n-gram 模型是一种近似策略,作了一个马尔可夫假设:认为目标词的条件概率只与其之前的 n 个词有关
|
||
* NPLM基于 n-gram, 相当于目标词只有上文。
|
||
|
||
|
||
* * *
|
||
|
||
参考资料:
|
||
|
||
1. https://www.cnblogs.com/iloveai/p/word2vec.html
|