什么是 Word Embedding ?
在说明 Word2vec 之前,需要先解释一下 Word Embedding。 它就是将“不可计算”“非结构化”的词转化为“可计算”“结构化”的向量。
Word2vec 是 Word Embedding 的方法之一。他是 2013 年由谷歌的 Mikolov 提出了一套新的词嵌入方法。
Word2vec 的 2 种训练模式
CBOW(Continuous Bag-of-Words Model)和Skip-gram (Continuous Skip-gram Model),是Word2vec 的两种训练模式。下面简单做一下解释:
CBOW
通过上下文来预测当前值。相当于一句话中扣掉一个词,让你猜这个词是什么。
Skip-gram
用当前词来预测上下文。相当于给你一个词,让你猜前面和后面可能出现什么词。
优化方法
为了提高速度,Word2vec 经常采用 2 种加速方式:
Negative Sample(负采样)
Hierarchical Softmax
具体加速方法就不详细讲解了,感兴趣的可以自己查找资料。
Word2vec 的优缺点
Word2vec 是上一代的产物(18 年之前), 18 年之后想要得到最好的效果,已经不使用 Word Embedding 的方法了,所以也不会用到 Word2vec。
优点:
1·由于 Word2vec 会考虑上下文,跟之前的 Embedding 方法相比,效果要更好(但不如 18 年之后的方法)
2·比之前的 Embedding方 法维度更少,所以速度更快
3·通用性很强,可以用在各种 NLP 任务中
缺点:
1·由于词和向量是一对一的关系,所以多义词的问题无法解决。
2·Word2vec 是一种静态的方式,虽然通用性强,但是无法针对特定任务做动态优化
百度百科
Word2vec,是一群用来产生词向量的相关模型。这些模型为浅而双层的神经网络,用来训练以重新建构语言学之词文本。网络以词表现,并且需猜测相邻位置的输入词,在word2vec中词袋模型假设下,词的顺序是不重要的。训练完成之后,word2vec模型可用来映射每个词到一个向量,可用来表示词对词之间的关系,该向量为神经网络之隐藏层。