word2vec(一)——skip-gram原理理解

本文详细介绍了word2vec中的skip-gram模型,解释了其通过中心词生成上下文词的任务,以及Fake Task的概念。skip-gram通过最大化条件概率来学习词向量,其输入层使用one-hot编码,隐层负责降维,输出层是softmax分类器。文章还探讨了模型的训练过程和词向量的优化方法。
摘要由CSDN通过智能技术生成

目录

1 什么是word2vec

2 skip-gram模型

2.1 skip-gram模型用来做什么

2.2 什么是Fake Task?

2.3 skip-gram模型细节

2.3.1 输入层

2.3.2  隐层

2.3.3 输出层

2.4 skip-gram公式推导

3 其他补充


1 什么是word2vec

word2vec顾名思义,就是将词(word)映射到(to)实向量(vector),用一一实数向量表示一个词,也被叫做词嵌入(word embedding),也可以认为词向量是词的特征向量。通过这种词嵌入的方式可以将词语映射为可以计算的数学形式,使计算机对自然的语言的计算变得更加可行,同时也赋予了它一定的数学性质,例如可以用向量的相似度来表示两个词的相似度等等。word2vec可以参考这篇文章中有提到https://blog.csdn.net/qq_31267769/article/details/108036005

最简单的一种方式就是利用一个维数为V的onehot向量表示一个长度为V的词库,这种方法用词的index平等的表示了词库中的每个词,但是显然不是一个好的方法。onehot向量是一共稀疏向量,并且维数与词库中词数相同,当词数很大,这种表示的计算效率就很低,并且很多神经网络工具很难计算高维的稀疏向量。此外,用onehot表示词语也会出现一个问题,不同的词向量永远两两正交,没有办法用相似度来计算两个词的关系,也就是onehot的表示形式忽略了两个词之间的关系。

常用的两种基于预测的计算词嵌入的算法就是CBOW和skip-gram,skip-gram是根据一个中心词生成上下文词,CBOW是根据上下文词生成一个中心词,本文主要介绍skip-gram。

2 skip-gram模型

下图是CBOW和skip-gram模型的网络结构图,可以看到CBOW模型是通过上下文词来生成中心词,而skip-gram是通过中心词来生成上下文词,两个模型似乎是完全对称的,这次主要介绍skip-gram。

2.1 skip-gram模型用来做什么

文章开头讲到了word2vec,上面又提到了skip-gram是通过中心词来生成上下文词,所以word2vec和skip-gram生成上下文词有什么关系?

模型的细节很多博客都有细致的讲解,但是这个问题很少有人明确提出。首先skip-gram确实是通过softmax计算输出概率最大的上下文词,也确实是使用skip-gram来计算词向量,所以这个模型到底是输出什么?这里就引入了Fake Task。

2.2 什么是Fake Task?

上面提到了Fake Task,word2vec模型的最终目的并不是建模,而是通过训练数据来学习隐层的参数,而隐层的参数实际就是word ve

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值