通俗理解word2vec的训练过程

https://www.leiphone.com/news/201706/eV8j3Nu8SMqGBnQB.html

https://blog.csdn.net/dn_mug/article/details/69852740

word2vec是如何得到词向量的?

skip-gram中,训练样本的形式是(input word, output word),其中output word是input word的上下文。为了减少模型噪音并加速训练速度,我们在构造batch之前要对样本进行采样,剔除停用词等噪音因素。

神经网络像是一个黑盒子,这其中的概念很难理解,此博主对词向量训练的个人理解很到位:

对于每个词s,训练数据对应的标记是另一个词t,训练其实是想找到一种映射关系,让s映射到t。但很显然我们不是希望找到一个线性函数,使得给定s一定能得到t,我们希望的是能够通过s得到一类词T,包含t。对于T中的每个t,由于在s上下文中出现的频次不同,自然能得到一个概率,频次越高说明s与t相关性越高。

对于词向量,或者说参数矩阵W,可以认为是一个将词映射到语义空间的桥梁,s与t相关性越高,则认为其在语义空间中越近,那么对应的桥梁也越靠近。如果用向量来理解的话就是向量之前的夹角越小,我们使用向量来表示这个词的信息,重要的是得到了语义信息。在实际应用中,生成一段文本,我们可以判断词与词的向量之间相似度,如果过低则就需要怀疑是否正确了。

 

posted on 2019-12-01 22:31  TMatrix52  阅读(327)  评论(0编辑  收藏  举报

导航