(一) 简介
1、传统的词向量一般用one-hot表示,通常面临两个问题:(1)高维稀疏的向量带来计算成本;(2)不同的词向量彼此正交,无法衡量词之间的相似度。而distributed representation通过训练,可以得到每个词的低维稠密向量,不仅计算成本低,而且可以通过向量的距离计算来表示词与词之间的相似度。word2vector就是一个将词进行低维稠密向量化的工具。
2、word2vector的训练过程可以看成是单隐层的网络结构,如下所示:
其中输入层是一个one-hot向量,隐层是一个N维稠密向量,输出层是一个V维稠密向量,W表示词典的向量化矩阵,也是输入到隐层以及隐层到输出的权重参数;因此输入层到隐层表示对上下文词进行向量化,而隐层到输出层,表示计算上下文词与词典的每个目标词进行点积计算(softmax过程)。word2vec中常见的模型有:CBOW(Continuous Bag Of Words Model),Skip-gram(Continuous Skip-gram Model),两者的模型图如下所示:
由此可见,前者是由上下文推当前词,后者是由当前词推上下文;