1.前言
基于one-hot对于词汇进行编码的方式着实让人头疼,又无奈。头疼的是占用空间很大,计算量大,无奈的是这么简单粗暴的方式居然一直流传到了现在。今天给大家介绍一款基于神经网络语言模型来生成词向量的神器。在上一篇神经网络语言模型中我们介绍过语言模型的工作方式,将输入通过嵌入层转换为向量,然后使用投影层把各向量拼接在一起,通过隐层,再进入输出层。所以输入层中就得到了词向量矩阵。语言模型的核心是去表达文本,生成文本。词向量只是其中的一个环节,数据预处理的一部分。今天我们要讲解的词向量模型恰恰相反,其核心是借助于语言模型来生成词向量。
2.Word2Vec总述
如下图,其核心的思想是将词汇映射到向量空间中,使用向量之间的余弦距离来表示词汇之间点的相似度。如下图所示。
Word2Vec包含两种生成向量的模型CBOW和Skip-Gram。如下所示,CBOW使用周围的词来预测中心的词,而Skip-Gram是用中心的词预测周围的词,其思想类似于Gram。下面我们来详细介绍一下。