机器不学习:word2vec是如何得到词向量的?
机器不学习 jqbxx.com -机器学习、深度学习好网站 word2vec是如何得到词向量的?这个问题比较大。从头开始讲的话,首先有了文本语料库,你需要对语料库进行预处理,这个处理流程与你的语料库种类以及个人目的有关,比如,如果是英文语料库你可能需要大小写转换检查拼写错误等操作,如果是中文日语语料库你需要增加分词处理。这个过程其他的答案已经梳理过了不再赘述。得到你想要的processed corpus之后,将他们的one-hot向量作为word2vec的输入,通过word2vec训练低维词向量(word embedding)就ok了。不得不说word2vec是个很棒的工具,目前有两种训练模型(CBOW和Skip-gram),两种加速算法(Negative Sample与Hierarchical Softmax)。本答旨在阐述word2vec如何将corpus的one-hot向量(模型的输入)转换成低维词向量(模型的中间产物,更具体来说是输入权重矩阵),真真切切感受到向量的变化,不涉及加速算法。如果读者有要求有空再补上。 1 Word2Vec两种模型的大致印象 刚才也提到了,Word2Vec包含了两种词训练模型:CBOW模型和Skip-gram模型。 CBOW模型根据中心词W(t)周围的词来预测中心词 Skip-gram模型则根据中心词W(t)来预测周围词 抛开两个模型的优缺点不说