一、Word2vec背景
传统的词向量一般使用one-hot表示,但会面临两个问题:
(1)高维稀疏的向量带来计算成本
(2)不同的词向量无法正交,无法衡量词之间的相似度。
word2vec是一个将词进行低维稠密向量化的工具,可以通过词向量的方式来表征词的语义信息,即通过一个嵌入空间使语义上相似的单词在该空间内距离很近。Embedding就是一个映射,将单词从原先所属的空间中映射到新的多维空间中。word2vec的训练过程可以看成是单隐层的网络结构:
该网络结构输入层是一个one-hot向量,隐层是一个N维稠密向量,输出层是一个V维稠密向量,W是词典的向量化矩阵,也是从输入层到隐层、隐层到输出层的权重参数。输入层到隐层是对上下文词进行向量化;隐层到输出层是计算上下文词与词典的每个目标词进行点积计算(softmax过程)。
word2vec中最常见的模型有CBOW和Skip-gram,本文重点介绍skip-gram模型。
二、Skip-Gram模型
skip-gram是给定输入的单词来预测上下文,实际上分为两部分:建立模型和通过模型获取嵌入词向量。建模过程会先基于训练数据构建一个神经网络,当模型训练好后&#x